/** * Given a domain id, * this function will delete this domain and any competence and items associated. * * @param int id * @return boolean **/ function referentiel_delete_domaine($domaine_id) { // suppression global $DB; $ok_domaine = true; $ok_competence = true; $ok_item = true; # Delete any dependent records here # // Competences if ($competences = $DB->get_records("referentiel_competence", array("ref_domaine" => $domaine_id))) { // DEBUG // print_object($competences); // echo "<br />"; // Item foreach ($competences as $competence) { $ok_competence = $ok_competence && referentiel_supprime_competence($competence->id); } } // suppression $ok_domaine = $ok_domaine && $DB->delete_records("referentiel_domaine", array("id" => $domaine_id)); return $ok_domaine && $ok_competence; }
exit; } } // variable d'action if (!empty($delete)) { if ($delete == get_string("delete")) { if (!empty($deleteid) && ($action == "modifierdomaine" || $action == "modifiercompetence" || $action == "modifieritem")) { $component = ''; if ($action == "modifierdomaine") { // enregistre les modifications $return = referentiel_supprime_domaine($deleteid); $component = 'domaine'; $msg = get_string("referentiel", "referentiel") . " " . $referentiel_referentiel->id . " " . get_string("domaine", "referentiel") . " " . $deleteid; } else { if ($action == "modifiercompetence") { $return = referentiel_supprime_competence($deleteid); $component = 'competence'; $msg = get_string("referentiel", "referentiel") . " " . $referentiel_referentiel->id . " " . get_string("competence", "referentiel") . " " . $deleteid; } else { if ($action == "modifieritem") { $return = referentiel_supprime_item($deleteid); $component = 'item'; $msg = get_string("referentiel", "referentiel") . " " . $referentiel_referentiel->id . " " . get_string("item", "referentiel") . " " . $deleteid; } } } if (!isset($return) || !$return) { print_error("Could not delete component {$component} : {$msg}", "{$CFG->wwwroot}/mod/referentiel/view.php?id={$cm->id}&non_redirection=1"); } if (is_string($return)) { print_error($return, "{$CFG->wwwroot}/mod/referentiel/view.php?id={$cm->id}&non_redirection=1");