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"); } if ($return) { // Mise a jour de la liste de competences dans le referentiel $liste_codes_competence = referentiel_new_liste_codes_competence($referentiel_referentiel->id); // echo "<br />LISTE_CODES_COMPETENCE : $form->liste_codes_competence\n"; referentiel_set_liste_codes_competence($referentiel_referentiel->id, $liste_codes_competence); } if ($CFG->version > 2014051200) { // Moodle 2.7+ $params = array('contextid' => $context->id, 'objectid' => $referentiel->id, 'other' => array('component' => $component, 'componentid' => $deleteid, 'occurrenceid' => $referentiel_referentiel->id, 'msg' => $msg)); $event = \mod_referentiel\event\occurrence_component_deleted::create($params); $event->trigger(); } else { // Before Moodle 2.7 add_to_log($course->id, 'referentiel', 'delete', "edit.php?id=" . $cm->id, $msg, $cm->module); } } redirect("{$CFG->wwwroot}/mod/referentiel/edit.php?id={$cm->id}&pass=1&sesskey=" . sesskey()); }
/** * Given an item id, * this function will delete of this item. * * @param int id * @return boolean **/ function referentiel_supprime_item($item_id) { // suppression avec mise a jour de la liste des item dans la competence associee // Modif JF 2012/02/17 global $DB; $ok = false; if ($item_id) { $reference_item = $DB->get_record_sql("SELECT code_item, num_item, ref_competence, ref_referentiel FROM {referentiel_item_competence} WHERE id=:id", array("id" => $item_id)); if ($reference_item) { // maj items suivants $r_items = $DB->get_records_sql("SELECT id, num_item FROM {referentiel_item_competence} WHERE ref_competence=:ref_competence AND ref_referentiel=:ref_referentiel AND num_item > :num_item ORDER BY num_item", array("ref_competence" => $reference_item->ref_competence, "ref_referentiel" => $reference_item->ref_referentiel, "num_item" => $reference_item->num_item)); if ($r_items) { foreach ($r_items as $item) { // renommer les numeros $DB->set_field("referentiel_item_competence", "num_item", $item->num_item - 1, array("id" => $item->id)); } } // maj competence $competence = $DB->get_record("referentiel_competence", array("id" => $reference_item->ref_competence)); if ($competence) { $DB->set_field("referentiel_competence", "nb_item_competences", $competence->nb_item_competences - 1, array("id" => $reference_item->ref_competence)); } // mettre a jour le protocole // Modif JF 2012/02/17 referentiel_delete_item_protocole($reference_item->code_item, $reference_item->ref_referentiel); if ($ok = referentiel_delete_item($item_id)) { // Mise a jour de la liste des codes de competences $liste_codes_competence = referentiel_new_liste_codes_competence($reference_item->ref_referentiel); // echo "<br />LISTE_CODES_COMPETENCE : $liste_codes_competence\n"; referentiel_set_liste_codes_competence($reference_item->ref_referentiel, $liste_codes_competence); $liste_empreintes_competence = referentiel_new_liste_empreintes_competence($reference_item->ref_referentiel); // echo "<br />LISTE_empreintes_COMPETENCE : $liste_empreintes_competence\n"; referentiel_set_liste_empreintes_competence($reference_item->ref_referentiel, $liste_empreintes_competence); // Modif JF 2009/10/16 $liste_poids_competence = referentiel_new_liste_poids_competence($reference_item->ref_referentiel); // echo "<br />LISTE_poids_COMPETENCE : $liste_poids_competence\n"; referentiel_set_liste_poids_competence($reference_item->ref_referentiel, $liste_poids_competence); // Modif JF 20110511 referentiel_sup_activites_codes_competence($reference_item->ref_referentiel, $liste_codes_competence); } } } return $ok; }
if (!empty($deleteid) && ($action == "modifierdomaine" || $action == "modifiercompetence" || $action == "modifieritem")) { if ($action == "modifierdomaine") { // enregistre les modifications $ok = referentiel_supprime_domaine($deleteid); } else { if ($action == "modifiercompetence") { $ok = referentiel_supprime_competence($deleteid); } else { if ($action == "modifieritem") { $ok = referentiel_supprime_item($deleteid); } } } if ($ok) { // Mise a jour de la liste de competences dans le referentiel $liste_codes_competence = referentiel_new_liste_codes_competence($occurrenceid); // echo "<br />LISTE_CODES_COMPETENCE : $form->liste_codes_competence\n"; referentiel_set_liste_codes_competence($occurrenceid, $liste_codes_competence); } } $editurl = new moodle_url('/blocks/referentiel/edit.php', array('blockid' => $blockid, 'courseid' => $courseid, 'occurrenceid' => $occurrenceid, 'pass' => $pass)); redirect($editurl); } } // affichage $pagetitle = get_string('occurrence', 'block_referentiel', $occurrence_object->referentiel->code_referentiel); $PAGE->set_url('/blocks/referentiel/edit.php', array('blockid' => $blockid, 'courseid' => $courseid, 'occurrenceid' => $occurrenceid)); $PAGE->requires->css('/mod/referentiel/referentiel.css'); $PAGE->requires->js('/mod/referentiel/functions.js'); $PAGE->set_pagelayout('standard'); $PAGE->set_heading($course->fullname);