online-faq/controller/FaqController.class.inc.php
2020-10-02 10:41:09 +02:00

81 lines
1.9 KiB
PHP

<?php
class FaqController extends DefaultController
{
public function indexAction()
{
$view = new Template( 'faq' );
$FAQModel = new FaqModel();
$room = $FAQModel->getRoom();
$view->set_placeholder( 'room_name', $room['name'] );
return $view->getHtml();
}
public function getQuestionsAction()
{
$view = new Apitemplate();
$FAQModel = new FaqModel();
$room = $FAQModel->getRoom();
$questions = $FAQModel->getQuestions( $room['id'] );
$view->setResponse( array( 'questions' => $questions ) );
return $view->getResponse();
}
public function addQuestionAction()
{
$view = new Apitemplate();
$FAQModel = new FaqModel();
$room = $FAQModel->getRoom();
$question = Api::getVar( 'question' );
try {
$FAQModel->addQuestion( $room, $question );
} catch( Exception $e )
{
$view->setSuccess( false );
$view->setHeaderCode( 901 );
return $view->getResponse();
}
$view->setSuccess( true );
return $view->getResponse();
}
public function addAnswerAction()
{
$view = new Apitemplate();
$FAQModel = new FaqModel();
$room = $FAQModel->getRoom();
$question_id = Api::getVar( 'question_id' );
$answer = Api::getVar( 'answer' );
if( !$FAQModel->checkUserIsRoomOwner( $room ) )
{
$view->setSuccess( false );
$view->setHeaderCode( 905 );
return $view->getResponse();
}
try {
$FAQModel->addAnswer( $question_id, $answer );
} catch( Exception $e )
{
$view->setSuccess( false );
$view->setHeaderCode( 902 );
return $view->getResponse();
}
$view->setSuccess( true );
return $view->getResponse();
}
}