Esempio n. 1
0
function referentiel_update_task($form)
{
    // MAJ task + consigne;
    // 19/01/2010 : la reference de l'auteur n'est pas actualisée.
    global $DB;
    global $USER;
    $ok = true;
    // DEBUG
    // echo "<br />UPDATE task<br />\n";
    // print_object($form);
    // echo "<br />";
    if (isset($form->action) && $form->action == "modifier_task") {
        // task
        $task = new stdClass();
        $task->id = $form->taskid;
        $task->type_task = $form->type_task;
        $task->description_task = $form->description_task;
        $task->competences_task = reference_conversion_code_2_liste_competence('/', $form->code_item);
        $task->criteres_evaluation = $form->criteres_evaluation;
        $task->ref_instance = $form->instance;
        $task->ref_referentiel = $form->ref_referentiel;
        $task->ref_course = $form->courseid;
        if (empty($form->auteurid)) {
            $task->auteurid = $USER->id;
        } else {
            // MODIF JF 2012/10/26
            $task->auteurid = $form->auteurid;
        }
        $task->date_creation = $form->date_creation;
        $task->date_modif = time();
        $task->cle_souscription = $form->cle_souscription;
        $task->souscription_libre = $form->souscription_libre;
        if (isset($form->tache_masquee)) {
            $task->tache_masquee = $form->tache_masquee;
        } else {
            $task->tache_masquee = 0;
        }
        // MODIF JF 2010/02/11
        if (isset($form->mailnow)) {
            $task->mailnow = $form->mailnow;
            if ($form->mailnow == '1') {
                // renvoyer
                $task->mailed = 0;
                // annuler envoi precedent
            }
        } else {
            $task->mailnow = 0;
        }
        /*
        $task->date_debut=mktime($form->debut_heure, $form->debut_mois, $form->debut_jour, $form->debut_annee);
        $task->date_fin=mktime($form->fin_heure, $form->fin_mois, $form->fin_jour, $form->fin_annee);
        */
        // DEBUG
        // echo "<br />DEBUG :: lib_task.php :: 252 :: DATE DEBUT: ".$form->date_debut."\n";
        // echo "<br />DEBUG :: lib_task.php :: 252 :: DATE FIN: ".$form->date_fin."\n";
        list($date, $heure) = explode(' ', $form->date_debut);
        list($h, $i) = explode(':', $heure);
        if (!$h) {
            $h = 0;
        }
        if (!$i) {
            $i = 0;
        }
        list($d, $m, $y) = explode('/', $date);
        $task->date_debut = mktime($h, $i, 0, $m, $d, $y);
        // echo "<br />DEBUG :: lib_task.php :: 27 :: $d,$m,$y $h,$i--- ".$task->date_debut."\n";
        list($date, $heure) = explode(' ', $form->date_fin);
        list($h, $i) = explode(':', $heure);
        if (!$h) {
            $h = 0;
        }
        if (!$i) {
            $i = 0;
        }
        list($d, $m, $y) = explode('/', $date);
        $task->date_fin = mktime($h, $i, 0, $m, $d, $y);
        //echo "<br />DEBUG :: lib_task.php :: 342 :: $d,$m,$y $h,$i--- ".$task->date_fin."\n";
        // DEBUG
        // print_object($task);
        // echo "<br />";
        $ok = $ok && $DB->update_record("referentiel_task", $task);
        // exit;
        // echo "DEBUG :: lib_task.php :: 350 :: task ID : $task->id<br />";
    } else {
        if (isset($form->action) && $form->action == "modifier_consigne") {
            $consigne = new stdClass();
            $consigne->id = $form->consigne_id;
            $consigne->url_consigne = $form->url_consigne;
            $consigne->type_consigne = substr($form->type_consigne, 0, 20);
            $consigne->description_consigne = $form->description_consigne;
            $consigne->ref_task = $form->ref_task;
            if (isset($form->cible_consigne)) {
                $consigne->cible_consigne = $form->cible_consigne;
            } else {
                $consigne->cible_consigne = 1;
            }
            if (isset($form->etiquette_consigne)) {
                $consigne->etiquette_consigne = $form->etiquette_consigne;
            } else {
                $consigne->etiquette_consigne = '';
            }
            // Modif JF 2013/02/02
            $consigne->timestamp = time();
            // DEBUG
            // print_object($consigne);
            // echo "<br />";
            $ok = $ok && $DB->update_record("referentiel_consigne", $consigne);
            // exit;
        } else {
            if (isset($form->action) && $form->action == "creer_consigne") {
                $consigne = new stdClass();
                $consigne->url_consigne = $form->url_consigne;
                $consigne->type_consigne = substr($form->type_consigne, 0, 20);
                $consigne->description_consigne = $form->description_consigne;
                $consigne->ref_task = $form->ref_task;
                if (isset($form->cible_consigne)) {
                    $consigne->cible_consigne = $form->cible_consigne;
                } else {
                    $consigne->cible_consigne = 1;
                }
                if (isset($form->etiquette_consigne)) {
                    $consigne->etiquette_consigne = $form->etiquette_consigne;
                } else {
                    $consigne->etiquette_consigne = '';
                }
                // Modif JF 2013/02/02
                $consigne->timestamp = time();
                // DEBUG
                // print_object($consigne);
                // echo "<br />";
                $ok = $DB->insert_record("referentiel_consigne", $consigne);
                if ($ok) {
                    $task = $DB->get_record('referentiel_task', array('id' => $consigne->ref_task));
                    if ($task) {
                        $ok = $DB->set_field('referentiel_task', 'date_modif', time(), array('id' => $task->id));
                    }
                }
                // echo "consigne ID / $ok<br />";
                // exit;
            }
        }
    }
    return $ok;
}
Esempio n. 2
0
function referentiel_update_activity($form)
{
    // MAJ activite + document;
    global $USER;
    global $DB;
    $ok = true;
    // DEBUG
    //echo "<br />locallib 492 :: UPDATE ACTIVITY<br />\n";
    //print_object($form);
    //echo "<br />";
    if (isset($form->action) && $form->action == "modifier_activite") {
        //echo "<br />OK1";
        // recuperer l'ancien enregistrement pour les mises à jour du certificat
        $old_liste_competences = '';
        if ($form->activite_id) {
            $record_activite = referentiel_get_activite($form->activite_id);
            if ($record_activite) {
                $old_liste_competences = $record_activite->competences_activite;
            }
        }
        if ($old_liste_competences == '' && isset($form->old_liste_competences)) {
            $old_liste_competences = $form->old_liste_competences;
        }
        // activite
        $activite = new stdClass();
        $activite->id = $form->activite_id;
        $activite->type_activite = $form->type_activite;
        // Modif jf 2013/12/11
        $cf = 'code_item_' . $form->activite_id;
        //echo '<br/>'.$cf;
        if (isset($form->{$cf}) && is_array($form->{$cf})) {
            //print_r ($form->$cf);
            //exit;
            $activite->competences_activite = reference_conversion_code_2_liste_competence('/', $form->{$cf});
        } else {
            if (isset($form->code_item) && is_array($form->code_item)) {
                $activite->competences_activite = reference_conversion_code_2_liste_competence('/', $form->code_item);
            } else {
                if (isset($form->competences_activite)) {
                    $activite->competences_activite = $form->competences_activite;
                } else {
                    $activite->competences_activite = '';
                }
            }
        }
        $activite->description_activite = $form->description_activite;
        $activite->commentaire_activite = $form->commentaire_activite;
        $activite->ref_instance = $form->instance;
        $activite->ref_referentiel = $form->ref_referentiel;
        $activite->ref_course = $form->courseid;
        $activite->date_creation = $form->date_creation;
        $activite->approved = $form->approved;
        $activite->userid = $form->userid;
        $activite->teacherid = $form->teacherid;
        $ladate = time();
        // MODIF JF 2009/10/27
        if ($USER->id == $activite->userid) {
            $activite->date_modif_student = $ladate;
            $activite->date_modif = $form->date_modif;
            $activite->teacherid = $form->teacherid;
        } else {
            $activite->date_modif = $ladate;
            $activite->date_modif_student = $form->date_modif_student;
            $activite->teacherid = $USER->id;
        }
        // MODIF JF 2010/02/11
        if (isset($form->mailnow)) {
            $activite->mailnow = $form->mailnow;
            if ($form->mailnow == '1') {
                // renvoyer
                $activite->mailed = 0;
                // annuler envoi precedent
            }
        } else {
            $activite->mailnow = 0;
        }
        // DEBUG
        //print_object($activite);
        //echo "<br />";
        //exit;
        $ok = $ok && $DB->update_record("referentiel_activite", $activite);
        //echo "DEBUG :: locallib.php :: 572 :: ACTIVITE ID / $activite->id<br />";
        // MODIF JF 2009/09/21
        // mise a zero du certificat associe a cette personne pour ce referentiel
        // referentiel_certificat_user_invalider($activite->userid, $activite->ref_referentiel);
        // referentiel_regenere_certificat_user($activite->userid, $activite->ref_referentiel);
        if ($ok && $activite->userid > 0) {
            // mise a jour du certificat
            referentiel_mise_a_jour_competences_certificat_user($old_liste_competences, $activite->competences_activite, $activite->userid, $activite->ref_referentiel, $activite->approved, true, $activite->approved);
        }
    } else {
        if (isset($form->action) && $form->action == "modifier_document") {
            $document = new stdClass();
            $document->id = $form->document_id;
            $document->url_document = $form->url_document;
            $document->type_document = substr($form->type_document, 0, 20);
            $document->description_document = $form->description_document;
            $document->ref_activite = $form->ref_activite;
            if (isset($form->cible_document)) {
                $document->cible_document = $form->cible_document;
            } else {
                $document->cible_document = 1;
            }
            if (isset($form->etiquette_document)) {
                $document->etiquette_document = $form->etiquette_document;
            } else {
                $document->etiquette_document = '';
            }
            // Modif JF 2013/02/02
            $document->timestamp = time();
            // DEBUG
            // print_object($document);
            // echo "<br />";
            $ok = $ok && $DB->update_record("referentiel_document", $document);
            if ($ok) {
                $activite = $DB->get_record('referentiel_activite', array('id' => $document->ref_activite));
                if ($activite) {
                    if ($USER->id == $activite->userid) {
                        $ok = $DB->set_field('referentiel_activite', 'date_modif_student', time(), array('id' => $activite->id));
                    } else {
                        $ok = $DB->set_field('referentiel_activite', 'date_modif', time(), array('id' => $activite->id));
                    }
                }
            }
            // exit;
        } else {
            if (isset($form->action) && $form->action == "creer_document") {
                $document = new stdClass();
                $document->url_document = $form->url_document;
                $document->type_document = substr($form->type_document, 0, 20);
                $document->description_document = $form->description_document;
                $document->ref_activite = $form->ref_activite;
                if (isset($form->cible_document)) {
                    $document->cible_document = $form->cible_document;
                } else {
                    $document->cible_document = 1;
                }
                if (isset($form->etiquette_document)) {
                    $document->etiquette_document = $form->etiquette_document;
                } else {
                    $document->etiquette_document = '';
                }
                // Modif JF 2013/02/02
                $document->timestamp = time();
                // DEBUG
                // print_object($document);
                // echo "<br />";
                $ok = $DB->insert_record("referentiel_document", $document);
                // echo "DOCUMENT ID / $ok<br />";
                if ($ok) {
                    $activite = $DB->get_record('referentiel_activite', array('id' => $document->ref_activite));
                    if ($activite) {
                        if ($USER->id == $activite->userid) {
                            $ok = $DB->set_field('referentiel_activite', 'date_modif_student', time(), array('id' => $activite->id));
                        } else {
                            $ok = $DB->set_field('referentiel_activite', 'date_modif', time(), array('id' => $activite->id));
                        }
                    }
                }
            }
        }
    }
    return $ok;
}
Esempio n. 3
0
         $liste_evaluations = '';
         for ($k = 0; $k < $form['nbitems']; $k++) {
             if (isset($form['code_item_' . $id_activite . '_' . $k])) {
                 if ($form['code_item_' . $id_activite . '_' . $k] >= $form['seuil']) {
                     $form['code_item_' . $id_activite][] = $form['code_code'][$k];
                     // astuce pour propager les competences validees
                 }
                 $liste_evaluations .= $form['code_code'][$k] . ':' . $form['code_item_' . $id_activite . '_' . $k] . '/';
             }
         }
     }
     require_once 'lib_bareme.php';
     referentiel_enregistrer_evaluation_activite($liste_evaluations, $id_activite, $form['baremeid']);
 }
 if (isset($form['code_item_' . $id_activite]) && is_array($form['code_item_' . $id_activite])) {
     $form2->competences_activite = reference_conversion_code_2_liste_competence('/', $form['code_item_' . $id_activite]);
 } else {
     if (isset($form['competences_activite_' . $id_activite])) {
         $form2->competences_activite = $form['competences_activite_' . $id_activite];
     } else {
         $form2->competences_activite = '';
     }
 }
 //echo "<br />DEBUG : activite.php :: 431 FORMULAIRE OUTPUT<br />\n";
 //print_object($form2);
 //echo "<br />\n";
 //exit;
 $return = referentiel_update_activity($form2);
 if (!$return) {
     print_error("Could not update activity {$form->activite_id} of the referentiel", "activite.php?d={$referentiel->id}");
 }