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; }
function referentiel_delete_task_record($id) { // suppression task + consignes associes global $DB; $ok_task = false; if (isset($id) && $id > 0) { if ($task = $DB->get_record("referentiel_task", array("id" => "{$id}"))) { // Delete any dependent records here $ok_association = true; if ($r_a_users_tasks = $DB->get_records("referentiel_a_user_task", array("ref_task" => $id))) { // DEBUG // print_object($r_a_users_tasks); // echo "<br />"; // suppression des associations foreach ($r_a_users_tasks as $r_a_user_task) { // suppression $ok_association = $ok_association && referentiel_delete_a_user_task_record($r_a_user_task->id); } } $ok_consigne = true; if ($consignes = $DB->get_records("referentiel_consigne", array("ref_task" => "{$id}"))) { // DEBUG // print_object($consignes); // echo "<br />"; // suppression des consignes associes dans la table referentiel_consigne foreach ($consignes as $consigne) { // suppression $ok_consigne = $ok_consigne && referentiel_delete_consigne_record($consigne->id); } } // suppression task if ($ok_consigne && $ok_association) { $ok_task = $DB->delete_records("referentiel_task", array("id" => "{$id}")); } } } return $ok_task; }