Пример #1
0
/**
 * 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;
}
Пример #2
0
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;
}