예제 #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();
 }
 private function handleCodeOperations($request)
 {
     include_once __DIR__ . '/../dataController/CodeController.php';
     if (isset($request[1])) {
         $codeController = new CodeController($request[1]);
         if (isset($request[2])) {
             $this->setResponseCodesAndData($codeController->getById($request[2]), 1);
         } else {
             $this->setResponseCodesAndData($codeController->getAll(), 1);
         }
     } else {
         $this->setResponseCodesAndData('specify code type (e.g. serverName/api/item_category)', 5);
     }
 }