Beispiel #1
0
 /**
  * Fonction de rendu html par défaut
  * @param type $params
  */
 public static function render($params = [])
 {
     AppController::getHeader();
     $class = substr(\get_called_class(), 0, -10) . 'View/';
     $class = ucfirst(substr($class, 5));
     $class = str_replace("\\Controller\\", '\\View\\', $class);
     $class = str_replace('\\', '/', $class);
     $class = $class . 'Render.php';
     if (file_exists($class)) {
         require $class;
     } else {
         debug('Le fichier ' . $class . ' n\'existe pas');
     }
     AppController::getFooter();
 }
Beispiel #2
0
 public static function render($params = [])
 {
     $user = AppController::getUser();
     if (!$user) {
         AppController::setMsg('warning', "La zone demandée n'est pas autorisé pour les personnes non inscrites.");
         AppController::redirect('index');
     }
     $algorithms = \Root\Src\Model\AlgorithmModel::loadFunctionByUser($user->getId());
     $structures = \Root\Src\Model\StructureModel::loadStructureByUser($user->getId());
     $translationOfC = \Root\Src\Model\TranslationModel::loadTranslationByLanguage('c');
     $translationOfJava = \Root\Src\Model\TranslationModel::loadTranslationByLanguage('java');
     $translationOfJavascript = \Root\Src\Model\TranslationModel::loadTranslationByLanguage('javascript');
     $translationOfPhp = \Root\Src\Model\TranslationModel::loadTranslationByLanguage('php');
     $translationOfPython = \Root\Src\Model\TranslationModel::loadTranslationByLanguage('python');
     parent::getHeader();
     self::call('Render', ['algorithms' => $algorithms, 'structures' => $structures, 'translations' => ['c' => $translationOfC, 'java' => $translationOfJava, 'javascript' => $translationOfJavascript, 'php' => $translationOfPhp, 'python' => $translationOfPython]]);
     parent::getFooter();
 }
Beispiel #3
0
 /**
  * Méthode de création d'un utilisateur
  */
 public static function createAccount()
 {
     if (isset($_POST['action'])) {
         $name = $_POST['name'];
         $email = $_POST['email'];
         $password = $_POST['password'];
         $passwordConfirmation = $_POST['passwordConfirmation'];
         $avatar = ' ';
         if ($_POST['avatar'] != '') {
             $avatar = $_POST['avatar'];
         }
         $user = new \Root\Src\Model\UserModel($name, $password);
         $user->setEmail($email);
         $user->setAvatar($avatar);
         if (AppController::getUser()) {
             AppController::setMsg('warning', 'Vous êtes déjà connecté. Veuillez vous déconnecter avant de créer un nouveau compte.');
         }
         if (!$user->canUse('name') || !$user->canUse('email')) {
             AppController::setMsg("warning", "Le nom d'utilisateur ou l'adresse mail est déjà utilisé.");
         }
         if ($password != $passwordConfirmation) {
             AppController::setMsg("warning", "Les deux mots de passe ne sont pas les mêmes.");
         } else {
             $user->setPassword($password);
         }
         if (!AppController::hasError()) {
             if ($user->record()) {
                 $user = $user->exist(true);
                 if ($user) {
                     //self::sendMail($user);
                     AppController::setMsg("success", "Le compte a bien été crée.");
                     AppController::redirect("connection");
                 }
             } else {
                 AppController::setMsg("error", "Une erreur s'est produite avec la connexion serveur. Veuillez recommencer plus tard.");
             }
         }
     }
     parent::getHeader();
     self::call('createAccount');
     parent::getFooter();
 }
Beispiel #4
0
 /**
  * Rendu de la page de traduction
  */
 public static function translate()
 {
     $language = $_POST['language'];
     $pseudoCode = "";
     $privateFunctionIds = [];
     $selectedUserStructures = [];
     if (isset($_POST['selectedUserStructures'])) {
         $structureIds = $_POST['selectedUserStructures'];
         foreach ($structureIds as $id) {
             array_push($selectedUserStructures, \Root\Src\Model\StructureModel::loadStructureById($id));
         }
     }
     if (isset($_POST['privateFunctions'])) {
         $privateFunctionIds = $_POST['privateFunctions'];
     }
     $privateFunctions = [];
     foreach ($privateFunctionIds as $id) {
         $currentFunction = \Root\Src\Model\AlgorithmModel::loadFunctionById($id);
         if ($currentFunction) {
             array_push($privateFunctions, $currentFunction);
         }
     }
     $publicFunctionIds = [];
     if (isset($_POST['publicFunctions'])) {
         $publicFunctionIds = $_POST['publicFunctions'];
     }
     $publicFunctions = [];
     foreach ($publicFunctionIds as $id) {
         $currentFunction = \Root\Src\Model\AlgorithmModel::loadFunctionById($id);
         array_push($publicFunctions, $currentFunction);
     }
     if (isset($_POST['pseudoCode'])) {
         $pseudoCode = $_POST['pseudoCode'];
     }
     $id = $_POST['id'];
     parent::getHeader();
     self::call('translate', ['id' => $id, 'selectedLanguage' => $language, 'pseudoCode' => htmlentities($pseudoCode), 'privateFunctions' => $privateFunctions, 'publicFunctions' => $publicFunctions, 'selectedStructures' => $selectedUserStructures]);
     parent::getFooter();
 }