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); } } }
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 ""; }
/** * 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; }
/** * set the referentiel * @param object referentiel the referentiel object */ function setPoids($referentiel_referentiel) { $this->liste_poids_competence = referentiel_purge_dernier_separateur(referentiel_get_liste_poids($referentiel_referentiel->id), '|'); }