/** * 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; }
function referentiel_get_liste_poids_competence($id) { // retourne la liste des poids de competences pour la table referentiel // MODIF JF 2009/10/16 global $DB; if (!empty($id)) { $params = array("id" => "{$id}"); $sql = "SELECT * FROM {referentiel_referentiel} WHERE id=:id"; $record_r = $DB->get_record_sql($sql, $params); if ($record_r) { // afficher // DEBUG // echo "<br/>DEBUG ::<br />\n"; // print_r($record_r); if ($record_r->liste_poids_competence == '') { $record_r->liste_poids_competence = referentiel_new_liste_poids_competence($id); referentiel_set_liste_poids_competence($id, $record_r->liste_poids_competence); } return $record_r->liste_poids_competence; } } return 0; }