127 lines
3.4 KiB
PHP
Executable File
127 lines
3.4 KiB
PHP
Executable File
<?php
|
|
|
|
/**
|
|
* Class DefaultController
|
|
*/
|
|
class DefaultController
|
|
{
|
|
/**
|
|
* The default index test controller
|
|
*
|
|
* @return string HTML Code
|
|
* @throws Exception
|
|
*/
|
|
public function indexAction()
|
|
{
|
|
$view = new Template( 'start' );
|
|
$Request = new Request();
|
|
|
|
$room_code = mb_strtoupper( $Request->getVar( 'code', null, 'GET' ) );
|
|
$secret = $Request->getVar( 'secret', null, 'GET' );
|
|
if( !empty( $room_code ) )
|
|
{
|
|
if( !empty( $secret ) )
|
|
{
|
|
header( 'Location: ?a=joinFAQ&code=' . $room_code . '&secret=' . $secret );
|
|
exit();
|
|
}
|
|
// Redirect to Join
|
|
header( 'Location: ?a=joinFAQ&code=' . $room_code );
|
|
exit();
|
|
}
|
|
|
|
$view->set_placeholder( 'max_len', CODE_LENGTH );
|
|
$view->set_placeholder( 'wasted_time', WASTED_TIME );
|
|
$reason = $Request->getVar( 'rsn', false, 'GET' );
|
|
if( $reason !== false )
|
|
{
|
|
$view->set_placeholder( 'error', $reason );
|
|
}
|
|
|
|
// Return the HTML Code to the index.php
|
|
return $view->getHtml();
|
|
|
|
} # function indexAction()
|
|
|
|
/**
|
|
* @return string
|
|
* @throws Exception
|
|
*/
|
|
public function joinFAQAction()
|
|
{
|
|
$view = new Template( 'start' );
|
|
$DefaultModel = new DefaultModel();
|
|
|
|
$Request = new Request();
|
|
|
|
$view->set_placeholder( 'max_len', CODE_LENGTH );
|
|
$view->set_placeholder( 'wasted_time', WASTED_TIME );
|
|
$room_code = mb_strtoupper( $Request->getVar( 'code', null, 'POST' ) );
|
|
$secret = $Request->getVar( 'secret', null, 'GET' );
|
|
if( empty( $room_code ) )
|
|
{
|
|
$room_code = mb_strtoupper( $Request->getVar( 'code', null, 'GET' ) );
|
|
}
|
|
|
|
|
|
if( empty( $room_code ) && !isset( $room_code ) )
|
|
{
|
|
$view->set_placeholder( 'error', 'Room-Code is invalid!' );
|
|
return $view->getHtml();
|
|
}
|
|
|
|
if( ( $room_id = $DefaultModel->checkCode( $room_code ) ) === false )
|
|
{
|
|
$view->set_placeholder( 'error', 'Room-Code is invalid!' );
|
|
return $view->getHtml();
|
|
}
|
|
|
|
$DefaultModel->setSecret( $room_id, $secret );
|
|
|
|
if( !$DefaultModel->joinRoom( $room_id ) )
|
|
{
|
|
$view->set_placeholder( 'error', 'An error occurred, please try again later!' );
|
|
return $view->getHtml();
|
|
}
|
|
|
|
|
|
|
|
|
|
return $view->getHtml();
|
|
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
* @throws Exception
|
|
*/
|
|
public function createFAQAction()
|
|
{
|
|
$view = new Template( 'start' );
|
|
$DefaultModel = new DefaultModel();
|
|
|
|
$Request = new Request();
|
|
$view->set_placeholder( 'max_len', CODE_LENGTH );
|
|
$view->set_placeholder( 'wasted_time', WASTED_TIME );
|
|
$room_name = $Request->getVar( 'room-name', '', 'POST' );
|
|
|
|
if( empty( $room_name ) || strlen( $room_name) > 15 || strlen( $room_name ) < 3 )
|
|
{
|
|
$view->set_placeholder( 'error', 'The Room-Name must contain 3-15 characters!' );
|
|
return $view->getHtml();
|
|
}
|
|
|
|
if( ( $id = $DefaultModel->createRoom( $room_name ) ) === false )
|
|
{
|
|
$view->set_placeholder( 'error', 'An error occurred, please try again later!' );
|
|
return $view->getHtml();
|
|
}
|
|
|
|
$DefaultModel->joinRoom( $id );
|
|
|
|
return $view->getHtml();
|
|
}
|
|
|
|
|
|
} # class
|