echo '<span class="bold">' . get_string('type_activite', 'referentiel') . '</span>' . s($type_activite) . '
<br /><span class="bold">' . get_string('auteur', 'referentiel') . '</span>' . s($user_info);
                        echo ' <span class="bold">' . get_string('date_creation', 'referentiel') . '</span>' . s($date_creation_info);
                        echo '<br />' . "\n";
                        if (isset($approved) && $approved) {
                            echo ' <span class="valide">' . "\n";
                        } else {
                            echo ' <span class="invalide">' . "\n";
                        }
                        echo '<span class="bold">' . get_string('liste_codes_competence', 'referentiel') . '</span>' . "\n";
                        echo referentiel_affiche_liste_codes_competence('/', $competences_activite, $ref_referentiel) . "\n";
                        echo '</span>' . "\n";
                        if ($CFG->referentiel_use_scale) {
                            require_once 'lib_bareme.php';
                            if ($rec_assoc = referentiel_get_assoc_bareme_occurrence($ref_referentiel)) {
                                if ($bareme = referentiel_get_bareme($rec_assoc->refscaleid)) {
                                    $competences_bareme = referentiel_get_competences_activite($activite_id, $bareme->id);
                                    if (empty($competences_bareme)) {
                                        // creer le bareme
                                        $competences_bareme = referentiel_creer_competences_activite($record_a, $bareme);
                                    }
                                    if ($competences_bareme) {
                                        echo '</span><br /><span class="bold">' . get_string('evaluation', 'referentiel') . '</span><br />' . referentiel_affiche_bareme_activite($competences_bareme, $bareme, true);
                                    }
                                }
                            }
                        }
                        echo '<br /><span class="bold">' . get_string('description', 'referentiel') . '</span><br /><span class="white">' . nl2br($description_activite) . '</span>
<br />
';
                        echo '<br /><span class="bold">' . get_string('commentaire', 'referentiel') . '</span>';
Ejemplo n.º 2
0
function referentiel_association_user_task($ref_user, $ref_task, $referent_id = 0, $mailnow = 0, $force = false)
{
    // associe une tache à un utilisateur
    //  cree l'activite a partir de l'association
    global $DB;
    global $CFG;
    global $USER;
    $activite_id = 0;
    if ($ref_task && $ref_user) {
        // verifier si association existe
        $params1 = array("ref_task" => "{$ref_task}", "ref_user" => "{$ref_user}");
        $sql1 = "SELECT * FROM {referentiel_a_user_task} WHERE ref_user=:ref_user AND ref_task=:ref_task ";
        $record_association = $DB->get_record_sql($sql1, $params1);
        if (!$record_association) {
            // Recuperer les info de la tache
            $t_record = $DB->get_record("referentiel_task", array("id" => "{$ref_task}"));
            if ($t_record) {
                // Creer l'activite
                $activite = new stdClass();
                $activite->type_activite = '[' . get_string('task', 'referentiel') . ' ' . $ref_task . '] ' . $t_record->type_task;
                $activite->competences_activite = $t_record->competences_task;
                $activite->description_activite = '[' . get_string('consigne_task', 'referentiel') . ' (<i>' . referentiel_get_user_info($t_record->auteurid) . '</i>) : ' . $t_record->description_task . ']';
                $activite->commentaire_activite = $t_record->criteres_evaluation;
                $activite->ref_instance = $t_record->ref_instance;
                $activite->ref_referentiel = $t_record->ref_referentiel;
                $activite->ref_course = $t_record->ref_course;
                $ladate = time();
                $activite->date_creation = $ladate;
                if ($force) {
                    // souscription realisee par le referent
                    $activite->date_creation = $ladate;
                    $activite->date_modif_student = 0;
                    // notification envoyee à l'etudiant
                    $activite->date_modif = $ladate;
                    // prioritaire pour l'etudiant
                } else {
                    $activite->date_creation = $ladate;
                    $activite->date_modif_student = $ladate;
                    $activite->date_modif = $ladate + 100;
                    // notification envoyee à l'enseignant mais pas d'affichage prioritaire
                }
                $activite->approved = 0;
                $activite->userid = $ref_user;
                if (empty($referent_id)) {
                    $activite->teacherid = $t_record->auteurid;
                } else {
                    $activite->teacherid = $referent_id;
                }
                $activite->ref_task = $ref_task;
                $activite->mailed = 1;
                //pour empêcher une notification intempestive
                if (isset($mailnow)) {
                    $activite->mailnow = $mailnow;
                    if ($mailnow == 1) {
                        $activite->mailed = 0;
                        // forcer l'envoi
                    }
                } else {
                    $activite->mailnow = 0;
                }
                $activite_id = $DB->insert_record("referentiel_activite", $activite);
                //echo "<br />DEBUG :: lib_atsk.php :: 769 :: ACTIVITE $activite_id\n";
                if ($activite_id) {
                    referentiel_regenere_certificat_user($activite->userid, $activite->ref_referentiel);
                    $record_association = new stdClass();
                    $record_association->ref_user = $ref_user;
                    $record_association->ref_task = $ref_task;
                    $record_association->ref_activite = $activite_id;
                    $record_association->date_selection = time();
                    $id_a = $DB->insert_record("referentiel_a_user_task", $record_association);
                    //echo "<br />DEBUG :: lib_task.php :: 777 :: AVANT de BAREME\n";
                    // Traiter le bareme
                    if ($CFG->referentiel_use_scale) {
                        require_once 'lib_bareme.php';
                        if ($rec_assoc = referentiel_get_assoc_bareme_occurrence($activite->ref_referentiel)) {
                            // DEBUG
                            //echo "<br />ASSOC BAREME<br />\n";
                            //print_object($rec_assoc);
                            //echo "<br />\n";
                            // DEBUG
                            if ($bareme = referentiel_get_bareme($rec_assoc->refscaleid)) {
                                $liste_evaluations = '';
                                //echo "<br />BAREME<br />\n";
                                //print_object($bareme);
                                //echo "<br />\n";
                                $tcompetences = explode("/", $activite->competences_activite);
                                if ($bareme->threshold > 0) {
                                    $value = $bareme->threshold - 1;
                                } else {
                                    $value = 0;
                                }
                                foreach ($tcompetences as $comp) {
                                    if ($comp) {
                                        $liste_evaluations .= $comp . ':' . $value . '/';
                                    }
                                }
                                //echo "<br />DEBUG :: lib_task.php :: 804 :: LISTE $liste_evaluations<br />\n";
                                $id_eval = referentiel_enregistrer_evaluation_activite($liste_evaluations, $activite_id, $bareme->id);
                                //echo "<br />INSERTION $id_eval<br />\n";
                            }
                        }
                    }
                }
            }
        }
    }
    return $activite_id;
}