/**
  * Returns request parameter value
  * @param string $paramName The parameter name
  * @param string $type The parameter type (RequestTool::PARAM_TYPE_INT, RequestTool::PARAM_TYPE_STRING, etc)
  * @param boolean $isMandatory Specifies if the parameter is mandatory (raises an exception if not set)
  * @param string $defaultValue The default value returned if parameter is not set and not mandatory
  * @param string $method The method used to pass parameters in the request (GET or POST)
  * @return string The parameter value
  */
 public static function &getParameter($paramName, $type, $isMandatory = true, $defaultValue = NULL, $method = RequestTool::METHOD_GET)
 {
     // If method is not specified, try both
     if ($method === RequestTool::METHOD_POST_OR_GET) {
         try {
             // Tries POST method, considers param as mandatory.
             return RequestTool::getParameter($paramName, $type, TRUE, $defaultValue, RequestTool::METHOD_POST);
         } catch (Exception $e) {
             // If nothing is found with POST method, as it is mandatory, an exception as raised. Try to find it with GET method.
             return RequestTool::getParameter($paramName, $type, $isMandatory, $defaultValue, RequestTool::METHOD_GET);
         }
     }
     // Get parameter list
     $paramList = RequestTool::getParameterList($method);
     // Checks if parameter is set
     if (ArrayTool::array_key_exists($paramName, $paramList)) {
         if ($type == RequestTool::PARAM_TYPE_ARRAY) {
             $paramValue = $paramList[$paramName];
         } else {
             if (StringTool::strlen($paramList[$paramName]) > 0) {
                 $paramValue = $paramList[$paramName];
             }
         }
     }
     // Parameter is not set
     if (!isset($paramValue)) {
         // Parameter is mandatory, raising exception
         if ($isMandatory) {
             throw new ParameterException('"' . $paramName . '" request ' . $method . ' parameter is mandatory and not set');
         }
         // else returns default value
         return $defaultValue;
     }
     // if magic quotes activated by server configuration, stripslashes
     if (get_magic_quotes_gpc()) {
         $paramValue = stripslashes($paramValue);
     }
     // Checks if parameter value format is correct
     RequestTool::checkParameterValue($paramValue, $type);
     return $paramValue;
 }
示例#2
0
         }
         break;
     case 3:
         $isAnswerCorrect = true;
         $answerNumber = 1;
         foreach ($answerList as $answer) {
             $answerValue = RequestTool::getParameter('answer' . $answerNumber++, RequestTool::PARAM_TYPE_FREE, false, false, RequestTool::METHOD_POST);
             if ($answer->text != $answerValue) {
                 $isAnswerCorrect = false;
                 break;
             }
         }
         break;
     case 4:
         $isAnswerCorrect = false;
         $answerValue = RequestTool::getParameter('answer', RequestTool::PARAM_TYPE_FREE, false, false, RequestTool::METHOD_POST);
         $answerData = explode('/', $answerValue);
         if (count($answerData) === 2) {
             foreach ($answerList as $answer) {
                 $distance = sqrt(($answer->x - $answerData[0]) * ($answer->x - $answerData[0]) + ($answer->y - $answerData[1]) * ($answer->y - $answerData[1]));
                 if ($distance <= $answer->text + 5) {
                     $isAnswerCorrect = true;
                     break;
                 }
             }
         }
         break;
 }
 $quizz['questionList'][$currentQuestionIndex]['answer'] = $isAnswerCorrect;
 $player->current_quizz = json_encode($quizz);
 $player->update();
示例#3
0
<?php

// Starts session before header is sent
session_start();
require_once '../../../init/initLog.inc.php';
$currentDay = DateTool::getTimeString(DateTool::FORMAT_MYSQL_DATE);
define('TAIL_LOG_FILE', LOG_DIR . '/' . $currentDay . '-web.log');
$grep = RequestTool::getParameter('grep', RequestTool::PARAM_TYPE_FREE, false);
$logFile = file_exists(TAIL_LOG_FILE) ? file(TAIL_LOG_FILE) : array();
$starterLine = SessionTool::getInstance()->getParameter('startLine', false, 0);
$lineCount = count($logFile);
for ($index = $starterLine; $index < $lineCount; ++$index) {
    // Filter lines per grep
    if ($grep && !StringTool::strpos($logFile[$index], $grep)) {
        continue;
    }
    $truncate = true;
    switch (StringTool::substr($logFile[$index], 0, 7)) {
        case "":
            $color = '#5F5';
            // Green
            break;
        case "":
            $color = '#FF5';
            // Yellow
            break;
        case "":
            $color = '#F55';
            // Red
            break;
        case "":
示例#4
0
<?php

require_once '../init/init.inc.php';
$errorList = array();
$login = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    try {
        $login = RequestTool::getParameter('login', RequestTool::PARAM_TYPE_ALPHANUM, true, null, RequestTool::METHOD_POST);
    } catch (ParameterException $e) {
        $errorList['login'] = AuthenticationTool::getLoginErrorMessage();
    }
    try {
        $password = RequestTool::getParameter('password', RequestTool::PARAM_TYPE_PASSWORD, true, null, RequestTool::METHOD_POST);
    } catch (ParameterException $e) {
        $errorList['login'] = AuthenticationTool::getLoginErrorMessage();
    }
    if (empty($errorList)) {
        try {
            $player = OsteoFactory::getElement('Player', null, 'player_login=\'' . $login . '\'');
            if ($player->password !== $player->encryptPassword($password)) {
                throw new ElementNoResultException();
            }
            AuthenticationTool::getInstance()->setConnectedPlayer($player->id);
            RequestTool::redirect('/');
        } catch (ElementNoResultException $e) {
            $errorList['login'] = AuthenticationTool::getLoginErrorMessage();
        }
    }
}
//$smarty->assign('javascript', array('manageQuestion'));
//$smarty->assign('css', array('manageElement'));
         $answer = new Answer();
         if ($question->question_category_id === 3) {
             $answerData = explode('/', RequestTool::getParameter('answerData' . $answerIndex, RequestTool::PARAM_TYPE_FREE, false, null, RequestTool::METHOD_POST));
             $answer->x = $answerData[0];
             $answer->y = $answerData[1];
             $answer->is_correct = $answerData[2];
             $answer->text = $answerText;
         } else {
             if ($question->question_category_id === 4) {
                 $imagePosition = explode('/', $answerText);
                 $answer->x = $imagePosition[0];
                 $answer->y = $imagePosition[1];
                 $answer->text = RequestTool::getParameter('answerRadius' . $answerIndex, RequestTool::PARAM_TYPE_UNSIGNED_INT, false, 0, RequestTool::METHOD_POST);
             } else {
                 $answer->text = $answerText;
                 $answer->is_correct = RequestTool::getParameter('answer' . $answerIndex . 'Correct', RequestTool::PARAM_TYPE_BOOLEAN, false, 0, RequestTool::METHOD_POST);
                 $answer->x = $answerIndex;
             }
         }
         $answer->question_id = $question->id;
         $answer->add();
     } else {
         break;
     }
 }
 if (isset($_FILES['image'])) {
     $imageFile = $_FILES['image'];
     $availableExtensionList = array('jpg', 'jpeg', 'gif', 'png');
     $uploadedFileExtension = strtolower(substr(strrchr($imageFile['name'], '.'), 1));
     if (in_array($uploadedFileExtension, $availableExtensionList)) {
         $destinationFile = 'questions/question_' . $question->id . '.' . $uploadedFileExtension;
<?php

require_once '../../init/initAdmin.inc.php';
OsteoFactory::getElementList('QuestionCategory');
$structureList = OsteoFactory::getElementList('Structure');
$structureId = RequestTool::getParameter('structureId', RequestTool::PARAM_TYPE_UNSIGNED_INT, false, null);
$questionList = OsteoFactory::getElementList('Question', $structureId !== null ? 'structure_id=' . $structureId : null);
//$smarty->assign('javascript', array('manageQuestion'));
//$smarty->assign('css', array('manageElement'));
$smarty->assign('structureList', Osteo::elementListToArray($structureList, Osteo::FORMAT_ADMIN));
$smarty->assign('questionList', Osteo::elementListToArray($questionList, Osteo::FORMAT_ADMIN));
$smarty->assign('currentUrl', RequestTool::getCurrentURL(false));
$smarty->assign('page', 'admin/questionList');
$smarty->display('admin/layout.tpl');
require_once 'init/end.inc.php';
 } catch (ParameterException $e) {
     $errorList[] = 'Nom incorrect';
 }
 try {
     $structureCategoryId = RequestTool::getParameter('structureCategory', RequestTool::PARAM_TYPE_UNSIGNED_INT, true, null, RequestTool::METHOD_POST);
 } catch (ParameterException $e) {
     $errorList[] = 'Type de structure incorrecte';
 }
 try {
     $componentQuantity = RequestTool::getParameter('componentQuantity', RequestTool::PARAM_TYPE_UNSIGNED_INT, true, null, RequestTool::METHOD_POST);
 } catch (ParameterException $e) {
     $errorList[] = 'Nombre de composants incorrect';
 }
 $questionNumber = RequestTool::getParameter('questionNumber', RequestTool::PARAM_TYPE_UNSIGNED_INT, false, 1, RequestTool::METHOD_POST);
 $structureOrder = RequestTool::getParameter('order', RequestTool::PARAM_TYPE_UNSIGNED_INT, false, 1, RequestTool::METHOD_POST);
 $requiredStructureList = RequestTool::getParameter('requiredStructure', RequestTool::PARAM_TYPE_ARRAY, false, array(), RequestTool::METHOD_POST);
 if (empty($errorList)) {
     $structure = $structureId !== null ? OsteoFactory::getElement('Structure', $structureId) : new Structure();
     $structure->name = $structureName;
     $structure->order = $structureOrder;
     $structure->question_number = $questionNumber;
     $structure->component_quantity = $componentQuantity;
     $structure->structure_category_id = $structureCategoryId;
     if ($structureId === null) {
         $structure->add();
     } else {
         $structure->update();
         OsteoFactory::deleteElementList('StructureRequiredStructure', 'structure_id=' . $structureId);
     }
     $requiredStructureList = array_unique($requiredStructureList);
     foreach ($requiredStructureList as $requiredStructureId) {
示例#8
0
    }
    try {
        $password = RequestTool::getParameter('password', RequestTool::PARAM_TYPE_PASSWORD, true, null, RequestTool::METHOD_POST);
        $passwordConfirmation = RequestTool::getParameter('passwordConfirmation', RequestTool::PARAM_TYPE_PASSWORD, true, null, RequestTool::METHOD_POST);
        if ($password !== $passwordConfirmation) {
            $errorList['password'] = '******';
        }
    } catch (ParameterException $e) {
        $errorList['password'] = '******';
    }
    try {
        $name = RequestTool::getParameter('name', RequestTool::PARAM_TYPE_MESSAGE, true, null, RequestTool::METHOD_POST);
    } catch (ParameterException $e) {
        $errorList['name'] = 'Nom incorrect';
    }
    $isStudent = RequestTool::getParameter('isStudent', RequestTool::PARAM_TYPE_BOOLEAN, false, 0, RequestTool::METHOD_POST);
    if (empty($errorList)) {
        $player = new Player();
        $player->login = $login;
        $player->email = $email;
        $player->name = $name;
        $player->password = $password;
        $player->is_student = $isStudent;
        $player->add();
        AuthenticationTool::getInstance()->setConnectedPlayer($player->id);
        RequestTool::redirect('/');
    }
}
//$smarty->assign('javascript', array('manageQuestion'));
//$smarty->assign('css', array('manageElement'));
$smarty->assign('name', $name);