/** * 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(); }
/** * 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(); }