diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 11439af..13ffcb1 100755
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -21,8 +21,9 @@
-
-
+
+
+
@@ -33,7 +34,7 @@
-
+
@@ -79,7 +80,7 @@
1601618466935
-
+
1601618764031
@@ -326,7 +327,14 @@
1601915871071
-
+
+ 1601919457161
+
+
+
+ 1601919457161
+
+
@@ -345,7 +353,6 @@
-
@@ -370,7 +377,8 @@
-
+
+
@@ -409,10 +417,10 @@
-
+
-
+
diff --git a/controller/FaqController.class.inc.php b/controller/FaqController.class.inc.php
index 12ba607..3d59cf6 100644
--- a/controller/FaqController.class.inc.php
+++ b/controller/FaqController.class.inc.php
@@ -26,6 +26,7 @@ class FaqController extends DefaultController
$questions = $FAQModel->getQuestions( $room['id'] );
$view->setResponse( array( 'questions' => $questions ) );
+ $view->setSuccess( true );
return $view->getResponse();
}
@@ -71,6 +72,13 @@ class FaqController extends DefaultController
return $view->getResponse();
}
+ if( $FAQModel->checkRoomLock( $room ) )
+ {
+ $view->setSuccess( false );
+ $view->setHeaderCode( 910 );
+ return $view->getResponse();
+ }
+
try {
$FAQModel->addQuestion( $room['id'], $question, $nickname );
} catch( Exception $e )
@@ -101,6 +109,13 @@ class FaqController extends DefaultController
return $view->getResponse();
}
+ if( $FAQModel->checkRoomLock( $room ) )
+ {
+ $view->setSuccess( false );
+ $view->setHeaderCode( 910 );
+ return $view->getResponse();
+ }
+
try {
$FAQModel->addAnswer( $question_id, $answer );
} catch( Exception $e )
diff --git a/model/FaqModel.class.inc.php b/model/FaqModel.class.inc.php
index 5fbd7b4..1dba881 100644
--- a/model/FaqModel.class.inc.php
+++ b/model/FaqModel.class.inc.php
@@ -94,6 +94,25 @@ class FaqModel
}
+ public function checkRoomLock( array $a_room )
+ {
+ $stmnt = Database::getConnection()->prepare( 'SELECT locked FROM rooms WHERE id = :id' );
+ $stmnt->execute( array( 'id' => $a_room['id'] ) );
+ $result = $stmnt->fetch( PDO::FETCH_ASSOC );
+
+ if( $result === false || empty( $result ) )
+ {
+ return false;
+ }
+ if( (bool)$result['locked'] === true ) {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
public function checkUserIsRoomOwner( array $a_room )
{
$stmnt = Database::getConnection()->prepare( 'SELECT id, owner_sid FROM rooms WHERE id = :id' );
diff --git a/views/Apitemplate.class.inc.php b/views/Apitemplate.class.inc.php
index c48b5b9..84cf3a8 100644
--- a/views/Apitemplate.class.inc.php
+++ b/views/Apitemplate.class.inc.php
@@ -37,6 +37,7 @@ class Apitemplate
903 => 'wrong-parameters-given',
905 => 'User-is-not-owner',
906 => 'Question-does-not-exist',
+ 910 => 'room-is-locked'
);
$text = isset( $codes[$a_code] ) ? $codes[$a_code] : "Error";
header("HTTP/1.1 $a_code $text" );