예제 #1
0
 /**
  * Méthode de suppression d'une fonction/traduction
  * @param type $params
  */
 public static function delete($params = [])
 {
     $id = false;
     if (isset($params[0]) && isset($params[1])) {
         $type = $params[0];
         $id = $params[1];
     }
     $user = CodeController::getUser();
     if ($type == 'structure') {
         if ($id && $user) {
             $structure = \Root\Src\Model\StructureModel::loadStructureById($id);
             if ($structure->getId() != Null) {
                 if ($structure->getOwnerId() != $user->getId()) {
                     AppController::setMsg('error', "La structure n'appartient pas à votre compte. Vous ne pouvez pas la modifier.");
                 } else {
                     $translation = new \Root\Src\Model\TranslationModel();
                     $translation->setLayoutId($structure->getId());
                     if (!$translation->delete()) {
                         AppController::setMsg("error", "Une erreur est survenue lors de la suppression d'une des traductions.");
                     }
                     if (!$structure->delete()) {
                         AppController::setMsg("error", "Une erreur est survenue lors de la suppression de la structure de traduction.");
                     } else {
                         AppController::setMsg('success', "La structure de traduction a bien été supprimée");
                     }
                 }
             } else {
                 AppController::setMsg("warning", "La structure n'existe pas ou a déjà été supprimée");
             }
         }
     } else {
         if ($type == 'function') {
             if ($id && $user) {
                 $function = \Root\Src\Model\AlgorithmModel::loadFunctionById($id);
                 if ($function) {
                     if ($function->getOwnerId() == $user->getId()) {
                         if ($function->delete()) {
                             AppController::setMsg("success", "La fonction a bien été supprimée.");
                         } else {
                             AppController::setMsg("error", "Un problème est survenu lors de la suppression. Veuillez reessayer plus tard.");
                         }
                     } else {
                         AppController::setMsg("error", "La fonction n'appartient pas à votre compte, vous ne pouvez pas la supprimer");
                     }
                 } else {
                     AppController::setMsg("warning", "La fonction n'existe pas ou a déjà été supprimée.");
                 }
             } else {
                 AppController::setMsg("warning", "Vous ne pouvez pas supprimer la ressource demandée.");
             }
         }
     }
     self::render();
 }
예제 #2
0
 /**
  * Méthode de sauvegarde
  * @param type $params
  */
 public static function save($params = [])
 {
     isset($params['idStructure']) ? $idStructure = $params['idStructure'] : ($idStructure = '');
     $user = AppController::getUser();
     if ($user) {
         if (!(isset($_POST['structure']) && $_POST['structure'] != '')) {
             AppController::setMsg("warning", "La champs structure doit être rempli.");
         }
         if ($idStructure != '') {
             $test = \Root\Src\Model\StructureModel::loadStructureById($idStructure);
             if ($test->getOwnerId() != $user->getId()) {
                 AppController::setMsg("error", "Vous n'êtes pas propriétaire de cette structure vous ne pouvez pas la modifier");
             }
         }
         if (!AppController::hasError()) {
             $structure = new \Root\Src\Model\StructureModel($user->getId(), $_POST['structure']);
             $structure->setId($idStructure);
             $structure->record();
             if ($idStructure == '') {
                 $idStructure = \Root\Src\Model\ConnectionModel::getConnection()->lastInsertId();
             }
             $translation = new \Root\Src\Model\TranslationModel();
             $translation->setLayoutId($idStructure);
             $translation->setLanguage('c');
             $translation->setCode($_POST['translationToC']);
             $translation->record();
             $translation->setLanguage('java');
             $translation->setCode($_POST['translationToJava']);
             $translation->record();
             $translation->setLanguage('javascript');
             $translation->setCode($_POST['translationToJavascript']);
             $translation->record();
             $translation->setLanguage('python');
             $translation->setCode($_POST['translationToPython']);
             $translation->record();
             $translation->setLanguage('php');
             $translation->setCode($_POST['translationToPhp']);
             $translation->record();
             self::load([$idStructure]);
             die;
         }
     }
     self::render();
 }
예제 #3
0
 /**
  * 
  */
 public static function giveHelp()
 {
     debug($_POST);
     if (isset($_POST['msgHelpedId']) && isset($_POST['helpMsg']) && AppController::getUser()) {
         $msg = new \Root\Src\Model\MailModel();
         $msg->setContent($_POST['helpMsg']);
         $msg->setSubjectId($_POST['msgHelpedId']);
         $msg->setOwnerId(AppController::getUser()->getId());
         debug($msg);
         $msg->send();
         AppController::setMsg("success", "Votre aide a bien été publiée.");
     } else {
         if (!AppController::getUser()) {
             AppController::setMsg("warning", "Vous devez être connecté pour poster des messages d'aide");
         } else {
             AppController::setMsg("warning", "Aucun message n'a été saisi, vous devez en saisir un pour obtenir de l'aide");
         }
     }
     self::render();
 }
예제 #4
0
 /**
  * Fonction de mise à jour d'un compte
  */
 public static function update()
 {
     if (isset($_POST['oldPassword'])) {
         $validPassword = AppController::getUser();
         $validPassword->setPassword($_POST['oldPassword']);
         $validPassword = $validPassword->exist();
         if (!$validPassword) {
             AppController::setMsg("warning", "Le mot de passe saisit n'est pas correct.");
         }
         if ($_POST['newPassword'] != $_POST['passwordConfirmation']) {
             AppController::setMsg("warning", "Les deux mots de passes ne sont pas les mêmes");
         }
         if (!AppController::hasError()) {
             $user = AppController::getUser();
             $user->setPassword($_POST['newPassword']);
             $user->updatePassword();
         }
     }
     $user = AppController::getUser();
     $user->setName($_POST['name']);
     $user->setEmail($_POST['email']);
     $user->setAvatar('');
     $user->update();
 }
예제 #5
0
 /**
  * Méthode de confirmation d'un compte utilisateur
  * @param type $params
  */
 public static function confirmAccount($params = [])
 {
     $id = null;
     $confirmToken = null;
     if (isset($params[0]) && isset($params[1])) {
         $id = $params[0];
         $confirmToken = $params[1];
     }
     $user = new \Root\Src\Model\UserModel('', '');
     $user->setId($id);
     $user->setConfirmToken($confirmToken);
     $validAccount = $user->activate();
     if ($validAccount) {
         AppController::setMsg("success", "Votre compte a bien été validé.");
         AppController::setMsg("success", "Votre êtes maintenant connecté.");
         AppController::setUser($validAccount);
     } else {
         AppController::setMsg("warning", "Information du compte non valide.");
     }
     AppController::render();
 }
예제 #6
0
 /**
  * 
  */
 public static function askForHelp()
 {
     debug($_POST);
     if (isset($_POST['id']) && isset($_POST['helpMsg']) && AppController::getUser()) {
         $msg = new \Root\Src\Model\MailModel();
         $msg->setContent($_POST['helpMsg']);
         $msg->setSubjectId($_POST['id']);
         $msg->setOwnerId(AppController::getUser()->getId());
         debug($msg);
         $msg->send();
         AppController::setMsg("success", "Votre demande d'aide a bien été publiée.");
     } else {
         AppController::setMsg("warning", "Aucun message n'a été saisi, vous devez en saisir un pour obtenir de l'aide");
     }
     unset($_POST['askForHelp']);
     self::render();
 }