function referentiel_print_un_certificat_detail($certificat_id, $referentiel_instance, $userid = 0, $select_acc = 0)
{
    global $DB;
    global $CFG;
    global $USER;
    // contexte
    $cm = get_coursemodule_from_instance('referentiel', $referentiel_instance->id);
    $course = $DB->get_record('course', array('id' => $cm->course));
    if (empty($cm) or empty($course)) {
        print_error('REFERENTIEL_ERROR 5 :: print_lib_certificat.php :: 1648 :: You cannot call this script in that way');
    }
    $context = context_module::instance($cm->id);
    $roles = referentiel_roles_in_instance($referentiel_instance->id);
    $iseditor = $roles->is_editor;
    $isadmin = $roles->is_admin;
    $isteacher = $roles->is_teacher;
    $istutor = $roles->is_tutor;
    $isstudent = $roles->is_student;
    $isguest = $roles->is_guest;
    if (!empty($referentiel_instance->ref_referentiel)) {
        $referentiel_referentiel = referentiel_get_referentiel_referentiel($referentiel_instance->ref_referentiel);
        if (!$referentiel_referentiel) {
            if ($isadmin || $isteacher) {
                print_error(get_string('creer_referentiel', 'referentiel'), "edit.php?d={$referentiel_instance->id}&mode=editreferentiel&sesskey=" . sesskey());
            } else {
                print_error(get_string('creer_referentiel', 'referentiel'), "../../course/view.php?id={$course->id}&sesskey=" . sesskey());
            }
        }
        $isreferentielauteur = referentiel_is_author($USER->id, $referentiel_referentiel, !$isstudent);
        // MODIF JF 2012/02/18
        $seuil_certification = $referentiel_referentiel->seuil_certificat;
        $nb_items = referentiel_get_nb_items($referentiel_referentiel->id);
        // empreintes
        $liste_empreintes = referentiel_purge_dernier_separateur(referentiel_get_liste_empreintes_competence($referentiel_referentiel->id), '/');
        $liste_poids = referentiel_purge_dernier_separateur(referentiel_get_liste_poids($referentiel_referentiel->id), '|');
        if ($isadmin || $isreferentielauteur) {
            $protocole_link = "{$CFG->wwwroot}/mod/referentiel/edit_protocole.php?d={$referentiel_instance->id}&mode=protocole&sesskey=" . sesskey();
        } else {
            $protocole_link = "{$CFG->wwwroot}/mod/referentiel/protocole.php?d={$referentiel_instance->id}&mode=protocole&sesskey=" . sesskey();
        }
        // REGENERER LES CERTIFICATS
        // referentiel_regenere_certificats($referentiel_instance);
        // inutile
        $record = referentiel_get_certificat($certificat_id);
        if (!$record) {
            print_error(get_string('nocertificat', 'referentiel'), "activite.php?d=" . $referentiel_instance->id . "&mode=addactivity&sesskey=" . sesskey());
        }
        // Afficher
        $isauthor = referentiel_certificat_isowner($record->id);
        if ($isauthor || $isteacher || $isadmin) {
            referentiel_print_certificat_detail_une_page($record, $nb_items, $liste_empreintes, $liste_poids, $seuil_certification, $protocole_link);
            referentiel_menu_certificat_detail($context, $record->id, $referentiel_instance->id, $record->verrou && $isstudent, $userid, $select_acc, $record->valide);
        }
    }
}
Пример #2
0
 /**
  * this is a very cut down version of what is in referentiel_certificat print_lib
  *
  * @global object
  * @return string
  */
 private function prepare_certificat()
 {
     global $DB;
     $output = '';
     if (!empty($this->certificat)) {
         $fullname = '';
         $fullnameteacher = get_string('l_inconnu', 'referentiel');
         if (!empty($this->certificat->userid)) {
             $user = $DB->get_record('user', array('id' => $this->certificat->userid));
             if ($user) {
                 $fullname = fullname($user, true);
                 $login = $user->username;
             }
         }
         if (!empty($this->certificat->teacherid)) {
             $teacher = $DB->get_record('user', array('id' => $this->certificat->teacherid));
             if ($teacher) {
                 $fullnameteacher = fullname($teacher, true);
             }
         }
         $by = new stdClass();
         $by->name = $fullnameteacher;
         $by->date = date("Y-m-d H:i:s");
         $liste_empreintes = referentiel_purge_dernier_separateur(referentiel_get_liste_empreintes_competence($this->certificat->ref_referentiel), '/');
         $liste_description_competences_poids = referentiel_purge_dernier_separateur(referentiel_get_liste_poids($this->certificat->ref_referentiel), '|');
         // $liste_competences=referentiel_affiche_competences_certificat('/',':',$this->certificat->competences_certificat, $liste_empreintes);
         $liste_competences = $this->affiche_competences_validees('/', ':', $this->certificat->competences_certificat, $liste_empreintes, $liste_description_competences_poids);
         // format the body
         $s = '<h3>' . get_string('certification', 'referentiel') . ' ';
         if (!empty($this->occurrence->url_referentiel)) {
             $s .= get_string('referentiel', 'referentiel') . ' <a href="' . $this->occurrence->url_referentiel . '" target="_blank">' . $this->occurrence->code_referentiel . '</a></h3>' . "\n";
         } else {
             $s .= get_string('referentiel', 'referentiel') . ' ' . $this->occurrence->code_referentiel . '</h3>' . "\n";
         }
         $s .= '<p><b>' . get_string('name', 'referentiel') . ':</b> ' . $fullname . ' (<i>' . $login . '</i>)<br />' . '<b>' . get_string('userid', 'referentiel') . '</b>: #' . $this->certificat->userid . '<br />' . '<b>' . get_string('id', 'referentiel') . get_string('certificat', 'referentiel') . '</b>: #' . $this->certificat->id . '<br />' . '<b>' . get_string('competences_certificat', 'referentiel') . ':</b><br />' . $liste_competences . '<br />' . "\n";
         //                    .'<b>'.get_string('competences_declarees', 'referentiel', $fullname).':</b><br />'.$this->certificat->competences_activite.'<br />'
         if (!empty($this->certificat->verrou)) {
             $s .= '<i>' . get_string('certificat', 'referentiel') . ' ' . get_string('verrou', 'referentiel') . '</i><br />' . "\n";
         }
         if (!empty($this->certificat->synthese_certificat)) {
             $s .= '<b>' . get_string('synthese_certificat', 'referentiel') . ':</b> ' . $this->certificat->synthese_certificat . '<br />' . "\n";
         }
         if (empty($this->certificat->decision_jury)) {
             $s .= '<b>' . get_string('decisionnotfound', 'referentiel', date("Y-m-d")) . '</b><br />';
         } else {
             $s .= '<b>' . get_string('decision_jury', 'referentiel') . ':</b> ' . $this->certificat->decision_jury . '<br />';
         }
         if (!empty($this->certificat->teacherid)) {
             $s .= '<b>' . get_string('referent', 'referentiel') . ':</b> ' . referentiel_get_user_info($this->certificat->teacherid) . '<br />';
         }
         if (!empty($this->certificat->date_decision)) {
             $s .= '<b>' . get_string('date_decision', 'referentiel') . ':</b> ' . userdate($this->certificat->date_decision) . '<br />';
         }
         if (!empty($this->certificat->commentaire_certificat)) {
             $s .= '<b>' . get_string('commentaire_certificat', 'referentiel') . ': </b>' . $this->certificat->commentaire_certificat . '</p>' . "\n";
         }
         $s .= '</p>' . "\n";
         // echo $s;
         // exit;
         $options = portfolio_format_text_options();
         $format = $this->get('exporter')->get('format');
         $formattedtext = format_text($s, FORMAT_HTML, $options);
         // $formattedtext = portfolio_rewrite_pluginfile_urls($formattedtext, $this->context->id, 'mod_referentiel', 'certificat', $certificat->id, $format);
         $output = '<table border="0" cellpadding="3" cellspacing="1" bgcolor="#333300">';
         $output .= '<tr valign="top" bgcolor="#ffffff"><td>';
         $output .= '<div><b>' . get_string('certificat', 'referentiel') . ' ' . format_string($this->occurrence->code_referentiel) . '</b></div>';
         if (!empty($this->certificat->decision_jury)) {
             $output .= '<div>' . get_string('proposedbynameondate', 'referentiel', $by) . '</div>';
         } else {
             $output .= '<div>' . get_string('evaluatedbynameondate', 'referentiel', $by) . '</div>';
         }
         $output .= '</td></tr>';
         $output .= '<tr valign="top" bgcolor="#ffffff"><td align="left">';
         $output .= $formattedtext;
         $output .= '</td></tr></table>' . "\n\n";
     }
     return $output;
 }
Пример #3
0
function ooffice_write_certification($referentiel_instance, $referentiel_referentiel, $userid = 0, $param, $records_certificats)
{
    global $CFG;
    global $odt;
    if ($referentiel_instance && $referentiel_referentiel) {
        // CERTIFICATS
        if (isset($referentiel_instance->ref_referentiel) && $referentiel_instance->ref_referentiel > 0) {
            // les empreintes
            $liste_empreintes = referentiel_purge_dernier_separateur(referentiel_get_liste_empreintes_competence($referentiel_instance->ref_referentiel), '/');
            $liste_poids = referentiel_purge_dernier_separateur(referentiel_get_liste_poids($referentiel_instance->ref_referentiel), '|');
            if ($userid > 0) {
                $record = referentiel_get_certificat_user($userid, $referentiel_instance->ref_referentiel);
                ooffice_write_certificat($record, $referentiel_instance, $referentiel_referentiel, $liste_empreintes, $liste_poids, $param);
            } else {
                if (!$records_certificats) {
                    $records_certificats = referentiel_get_certificats($referentiel_instance->ref_referentiel);
                }
                if ($records_certificats) {
                    foreach ($records_certificats as $record) {
                        ooffice_write_certificat($record, $referentiel_instance, $referentiel_referentiel, $liste_empreintes, $liste_poids, $param);
                    }
                }
            }
            // print_r($records_certificats);
            // exit;
        }
    }
    return "";
}
function referentiel_print_jauge_activite($userid, $referentiel_referentiel_id)
{
    // MODIF JF 2009/11/28
    // affiche la liste des competences declarees dans les activites par userid pour le referentiel $referentiel_referentiel_id
    $s = "";
    if ($userid && $referentiel_referentiel_id) {
        if (!referentiel_certificat_user_exists($userid, $referentiel_referentiel_id)) {
            // CREER ce certificat
            referentiel_genere_certificat($userid, $referentiel_referentiel_id);
        }
        $record_certificat = referentiel_get_certificat_user($userid, $referentiel_referentiel_id);
        if ($record_certificat) {
            // empreintes
            $liste_empreintes = referentiel_purge_dernier_separateur(referentiel_get_liste_empreintes_competence($referentiel_referentiel_id), '/');
            $s .= referentiel_affiche_competences_declarees('/', ':', $record_certificat->competences_certificat, $record_certificat->competences_activite, $liste_empreintes);
            // MODIF JF 2012/10/10
            if ($record_certificat->verrou && $record_certificat->valide) {
                $s .= '<span class="rouge">' . get_string('dossier_verrouille_ferme', 'referentiel') . '</span>' . "\n";
            } elseif ($record_certificat->verrou) {
                $s .= '<span class="rouge">' . get_string('dossier_verrouille', 'referentiel') . '</span>' . "\n";
            } elseif ($record_certificat->valide) {
                $s .= '<span class="rouge">' . get_string('dossier_non_verrouille_ferme', 'referentiel') . '</span>' . "\n";
            }
        }
    }
    return $s;
}
Пример #5
0
function referentiel_digest_competences_certificat($liste, $referentiel_referentiel_id, $invalide = true)
{
    // affiche les compétences en mode texte
    $separateur1 = '/';
    $separateur2 = ':';
    $liste_empreintes = referentiel_get_liste_empreintes_competence($referentiel_referentiel_id);
    // Affiche les codes competences en tenant compte de l'empreinte
    // si detail = true les compétences non validees sont aussi affichees
    $t_empreinte = explode($separateur1, $liste_empreintes);
    $yes = get_string('yes');
    $no = get_string('no');
    $s = get_string('competences', 'referentiel') . "<br />\n";
    $tc = array();
    $liste = referentiel_purge_dernier_separateur($liste, $separateur1);
    if (!empty($liste) && $separateur1 != "" && $separateur2 != "") {
        $tc = explode($separateur1, $liste);
        // DEBUG : cron_lib.php :
        // echo "<br />CODE <br />\n";
        // print_r($tc);
        $i = 0;
        while ($i < count($tc)) {
            // CODE1:N1
            // DEBUG : cron_lib.php :
            // echo "<br />".$tc[$i]." <br />\n";
            // exit;
            if ($tc[$i] != '') {
                $tcc = explode($separateur2, $tc[$i]);
                // echo "<br />".$tc[$i]." <br />\n";
                // print_r($tcc);
                // exit;
                if (isset($tcc[1]) && $tcc[1] >= $t_empreinte[$i]) {
                    $s .= $tcc[0] . ' ';
                    if ($invalide == true) {
                        $s .= ' ' . $tcc[1] . ' [/' . $t_empreinte[$i] . '] : ';
                        $s .= $yes . ' ; ';
                    }
                } elseif ($invalide == true) {
                    $s .= $tcc[0] . ' ';
                    $s .= ' ' . $tcc[1] . ' [/' . $t_empreinte[$i] . '] : ';
                    $s .= $no . ' ; ';
                }
                $s .= "<br /> \n";
            }
            $i++;
        }
    }
    return $s;
}