$addfunction = "referentiel_add_task"; $updatefunction = "referentiel_update_task"; $deletefunction = "referentiel_delete_task"; switch ($form->mode) { case "deletetaskall": if (isset($form->name)) { if (trim($form->name) == '') { unset($form->name); } } if (isset($form) && !empty($form->taskid) && !empty($form->t_activite)) { $select_sql = ''; foreach ($form->t_activite as $activite_id) { referentiel_delete_activity_record($activite_id); } referentiel_delete_task_record($form->taskid); } break; case "approve": if (isset($form->name)) { if (trim($form->name) == '') { unset($form->name); } } if (isset($form) && !empty($form->taskid) && !empty($form->t_activite)) { $select_sql = ''; foreach ($form->t_activite as $activite_id) { if (empty($select_sql)) { $select_sql .= ' AND ((ref_activite=' . $activite_id . ') '; } else { $select_sql .= ' OR (ref_activite=' . $activite_id . ') ';
function referentiel_delete_task($form) { // suppression task + consigne $ok_task = false; $ok_consigne = false; // DEBUG // echo "<br />"; // print_object($form); // echo "<br />"; if (isset($form->action) && $form->action == "modifier_task") { // suppression d'une task et des consignes associes if (isset($form->taskid) && $form->taskid > 0) { $ok_task = referentiel_delete_task_record($form->taskid); } } else { if (isset($form->action) && $form->action == "modifier_consigne") { // suppression d'un consigne if (isset($form->consigne_id) && $form->consigne_id > 0) { $ok_consigne = referentiel_delete_consigne_record($form->consigne_id); } } } return $ok_task or $ok_consigne; }
/** * Deletes a referentiel instance activity * * Deletes all database records, files and calendar events for this referentiel instance. * * @global object $CFG * @global object $DB * @param object $referentiel The referentiel to be purged * @param boolean purge : if true referentiel instance is deleted too * @return boolean False indicates error */ function delete_instance($referentiel, $purge = true) { global $CFG, $DB; $result = true; // now get rid of all files $fs = get_file_storage(); if ($cm = get_coursemodule_from_instance('referentiel', $referentiel->id)) { $context = context_module::instance($cm->id); $fs->delete_area_files($context->id); } // suppression des activites associees $activites = referentiel_get_activites_instance($referentiel->id); if ($activites) { foreach ($activites as $activite) { referentiel_delete_activity_record($activite->id); } } // suppression des taches associees $taches = referentiel_get_tasks_instance($referentiel->id); if ($taches) { foreach ($taches as $tache) { referentiel_delete_task_record($tache->id); } } // suppression des accompagnements $accompagnements = referentiel_get_accompagnements($referentiel->id); if ($accompagnements) { foreach ($accompagnements as $accompagnement) { referentiel_delete_accompagnement_record($accompagnement->id); } } // recalcul des certificats associes $certificats = referentiel_get_certificats($referentiel->ref_referentiel); if ($certificats) { foreach ($certificats as $certificat) { referentiel_recalcule_certificat($certificat); } } // suppression des evenements du calendrier if (!$DB->delete_records('event', array('modulename' => 'referentiel', 'instance' => $referentiel->id))) { $result = false; } if ($purge) { // on supprime aussi l'instance if (!$DB->delete_records('referentiel', array('id' => $referentiel->id))) { $result = false; } } else { // l'instance est conservee après avoir ete videe ; utile pour la reinitialisation du cours $result = true; } // $mod = $DB->get_field('modules','id',array('name'=>'referentiel')); // referentiel_grade_item_delete($referentiel); // existe pas return $result; }