function referentiel_edit_activite_detail($bareme, $context, $cmid, $courseid, $mode, $record, $actif = true) { //($data_filtre,$mode, $cm, $course, $referentiel_instance, $record, $context, $actif=true){ // Saisie et validation globale // le formulaire est global // $actif = true : le menu est active, sinon il ne l'est pas // $data_filtre : parametres de filtrage // $mode : mode d'affichage // $cm : course_module // $course : enregistrement cours // referentiel_instance : enregistrement instance // record : enregistrement activite // $context : contexte roles et capacites // $actif : affichage menu global $USER; global $CFG; global $OUTPUT; global $t_item_code; global $t_item_description_competence; /* echo "<br/>T_ITEM_CODE : "; print_object($t_item_code); echo "<br/>T_ITEM_DESCRITION : "; print_object($t_item_description_competence); echo "<br/>USER : "******"<br/>CFG : "; print_object($CFG); */ $s = ''; $s_menu = ''; $s_document = ''; $s_out = ''; // Charger les activites // filtres $isteacher = has_capability('mod/referentiel:approve', $context); $iseditor = has_capability('mod/referentiel:writereferentiel', $context); if ($record) { $activite_id = $record->id; $type_activite = stripslashes($record->type_activite); $description_activite = stripslashes(strip_tags($record->description_activite)); $competences_activite = stripslashes(strip_tags($record->competences_activite)); $commentaire_activite = stripslashes(strip_tags($record->commentaire_activite)); $ref_instance = $record->ref_instance; $ref_referentiel = $record->ref_referentiel; // liste des codes pur ce référentiel $liste_codes_competence = referentiel_get_liste_codes_competence($ref_referentiel); $ref_course = $record->ref_course; $userid = $record->userid; $teacherid = $record->teacherid; if ($teacherid == 0) { if ($isteacher || $iseditor) { $teacherid = $USER->id; } } $date_creation = $record->date_creation; $date_modif = $record->date_modif; $approved = $record->approved; $ref_task = $record->ref_task; if ($ref_task > 0) { // remplacer par la liste definie dans la tache $liste_codes_competences_tache = referentiel_get_liste_codes_competence_tache($ref_task); // DEBUG // $s.="<br/>DEBUG ::<br />\n"; // $s.=$liste_codes_competences_tache; } else { $liste_codes_competences_tache = $liste_codes_competence; } // DEBUG // $s.="<br/>DEBUG ::<br />\n"; // print_object($record); $user_info = referentiel_get_user_info($userid); $teacher_info = referentiel_get_user_info($teacherid); // dates $date_creation_info = userdate($date_creation); if ($date_modif != 0) { $date_modif_info = userdate($date_modif); } else { $date_modif_info = ''; } // MODIF JF 2009/10/27 $date_modif_student = $record->date_modif_student; if ($date_modif_student == 0) { $date_modif_student = $date_creation; } if ($date_modif_student != 0) { $date_modif_student_info = userdate($date_modif_student); } else { $date_modif_student_info = ''; } $prioritaire = referentiel_activite_prioritaire($record); // MODIF JF 2009/10/21 $old_liste_competences = stripslashes($record->competences_activite); // MODIF JF 2009/10/23 $url_course = referentiel_get_course_link($ref_course); // MODIF JF 2013/01/26 $url_instance = referentiel_get_instance_link($ref_instance); // MODIF JF 2009/11/08 // afficher le menu si l'activité est affiche dans son propre cours de création $menu_actif = $actif || $ref_course == $courseid; if ($menu_actif) { $has_capability = has_capability('mod/referentiel:approve', $context); $is_owner = referentiel_activite_isowner($activite_id); if ($has_capability or $is_owner) { if ($has_capability || $is_owner && !$approved) { $s_menu .= ' <a href="' . $CFG->wwwroot . '/mod/referentiel/activite.php?id=' . $cmid . '&activite_id=' . $activite_id . '&userid=' . $userid . '&mode=modifactivity&old_mode=' . $mode . '&sesskey=' . sesskey() . '"><img src="' . $OUTPUT->pix_url('edit', 'referentiel') . '" alt="' . get_string('edit') . '" title="' . get_string('edit') . '" /></a>' . "\n"; } if ($has_capability || $is_owner && !$approved) { $s_menu .= ' <a href="' . $CFG->wwwroot . '/mod/referentiel/activite.php?id=' . $cmid . '&activite_id=' . $activite_id . '&userid=' . $userid . '&mode=deleteactivity&old_mode=' . $mode . '&sesskey=' . sesskey() . '"><img src="' . $OUTPUT->pix_url('delete', 'referentiel') . '" alt="' . get_string('delete') . '" title="' . get_string('delete') . '" /></a>' . "\n"; } } } else { $s_menu .= ' ' . get_string('activite_exterieure', 'referentiel'); } // DOCUMENTS // charger les documents associes à l'activite courante $compteur_document = 0; $s_document = ''; if (isset($activite_id) && $activite_id > 0) { $ref_activite = $activite_id; // plus pratique // AFFICHER LA LISTE DES DOCUMENTS $records_document = referentiel_get_documents($ref_activite); if ($records_document) { // afficher // DEBUG // $s.="<br/>DEBUG <br />\n"; // print_r($records_document); foreach ($records_document as $record_d) { $compteur_document++; $document_id = $record_d->id; $type_document = stripslashes($record_d->type_document); $description_document = stripslashes($record_d->description_document); $url_document = $record_d->url_document; $ref_activite = $record_d->ref_activite; if (isset($record_d->cible_document) && $record_d->cible_document == 1) { $cible_document = '_blank'; // fenêtre cible } else { $cible_document = ''; } if (isset($record_d->etiquette_document)) { $etiquette_document = $record_d->etiquette_document; // fenêtre cible } else { $etiquette_document = ''; } // Modif JF 2013/02/02 if ($record_d->timestamp == 0) { $date_creation_document_info = ''; } else { $date_creation_document_info = userdate($record_d->timestamp); } if ($date_modif < $record_d->timestamp) { if (!empty($date_creation_document_info)) { $s_document .= '<span class="prioritaire">' . get_string('document', 'referentiel') . ' <i>' . $document_id . '</i> :: <i>' . $date_creation_document_info . '</i> :: ' . $type_document . ' :: '; } else { $s_document .= '<span class="prioritaire">' . get_string('document', 'referentiel') . ' <i>' . $document_id . '</i> :: ' . $type_document . ' :: '; } $s_document .= nl2br($description_document) . ' '; $s_document .= referentiel_affiche_url($url_document, $etiquette_document, $cible_document) . "'</span><br /> \n"; } else { if (!empty($date_creation_document_info)) { $s_document .= get_string('document', 'referentiel') . ' <i>' . $document_id . '</i> :: <i>' . $date_creation_document_info . '</i> :: ' . $type_document . ' :: '; } else { $s_document .= get_string('document', 'referentiel') . ' <i>' . $document_id . '</i> :: ' . $type_document . ' :: '; } $s_document .= nl2br($description_document) . ' '; $s_document .= referentiel_affiche_url($url_document, $etiquette_document, $cible_document) . "<br /> \n"; } } } } // AFFICHAGE $s .= '<tr valign="top">'; if (!empty($prioritaire)) { $s .= '<td class="prioritaire" rowspan="3">'; } else { if (isset($approved) && $approved) { $s .= '<td class="valide" rowspan="3">'; } else { $s .= '<td class="invalide" rowspan="3">'; } } // selection de l'activite if ($ref_course == $courseid) { $s .= '<input type="checkbox" name="tactivite_id[]" id="tactivite_id_' . $activite_id . '" value="' . $activite_id . '" />'; } $s .= $activite_id; // menu $s .= '<br>' . "\n"; $s .= $s_menu; $s .= '</td>' . "\n" . '<td align="center">'; $s .= $user_info; // MODIF JF 2012/05/06 $s .= "\n<br />\n" . referentiel_liste_groupes_user($ref_course, $userid); $s .= '</td>' . "\n" . '<td align="center">'; $s .= $url_course . '<br />' . $url_instance; $s .= '</td>' . "\n" . '<td align="center">'; if ($ref_course == $courseid) { $s .= '<input type="text" name="type_activite_' . $activite_id . '" size="40" maxlength="80" value="' . $type_activite . '" onchange="return validerCheckBox(\'tactivite_id_' . $activite_id . '\')" />' . "\n"; } else { $s .= $type_activite; } $s .= '</td>' . "\n" . '<td align="center">'; $s .= $teacher_info; $s .= '</td>' . "\n" . '<td align="center">'; if ($ref_course == $courseid && has_capability('mod/referentiel:approve', $context)) { $s .= '<b>' . get_string('validation', 'referentiel') . '</b> : '; if (isset($approved) && $approved) { $s .= '<input type="radio" name="approved_' . $activite_id . '" id="approved" value="1" checked="checked" onchange="return validerCheckBox(\'tactivite_id_' . $activite_id . '\')" />' . get_string('yes') . ' <input type="radio" name="approved_' . $activite_id . '" id="approved" value="0" onchange="return validerCheckBox(\'tactivite_id_' . $activite_id . '\')" />' . get_string('no') . ' ' . "\n"; } else { $s .= '<input type="radio" name="approved_' . $activite_id . '" id="approved" value="1" onchange="return validerCheckBox(\'tactivite_id_' . $activite_id . '\')" />' . get_string('yes') . ' <input type="radio" name="approved_' . $activite_id . '" id="approved" value="0" checked="checked" onchange="return validerCheckBox(\'tactivite_id_' . $activite_id . '\')" />' . get_string('no') . ' ' . "\n"; } } else { if (isset($approved) && $approved) { $s .= get_string('approved', 'referentiel'); } else { $s .= get_string('not_approved', 'referentiel'); } if ($ref_course == $courseid) { $s .= '<input type="hidden" name="approved_' . $activite_id . '" value="' . $approved . '" />' . "\n"; } } $s .= '</td>'; if (!empty($prioritaire)) { $s .= '<td class="prioritaire" align="center">'; } else { $s .= '<td align="center">'; } $s .= '<span class="small">' . $date_modif_student_info . '</span>'; $s .= '</td>'; $s .= '<td align="center">'; $s .= '<span class="small">' . $date_modif_info . '</span>'; $s .= '</td>' . "\n"; // menu // $s.='<td align="center" rowspan="3">'."\n"; // $s.=$s_menu; // $s.='</td>'; $s .= '</tr>' . "\n"; $s .= '<tr valign="top">'; if (isset($approved) && $approved) { $s .= '<td colspan="4" class="valide">'; } else { $s .= '<td colspan="4" class="invalide">'; } if ($ref_course == $courseid) { $str_choix_competences = ''; // liste des compétences if ($ref_task != 0 && $USER->id == $userid) { // activite issue d'une tâche $str_choix_competences .= referentiel_modifier_selection_liste_codes_item_competence('/', $liste_codes_competences_tache, $competences_activite, $activite_id, 'onchange="return validerCheckBox(\'tactivite_id_' . $activite_id . '\')" '); $str_choix_competences .= '<input type="hidden" name="competences_activite" value="' . $competences_activite . '" />' . "\n"; } else { // activite modifiable entierement $str_choix_competences .= referentiel_modifier_selection_liste_codes_item_competence('/', $liste_codes_competence, $competences_activite, $activite_id, 'onchange="return validerCheckBox(\'tactivite_id_' . $activite_id . '\')" '); } if ($bareme) { $divbareme = 'bareme_' . $activite_id; $s .= '<div id="' . $divbareme . '">' . "\n"; $s .= $str_choix_competences; $s .= '</div>' . "\n"; // Evaluation des items avec le bareme $str_a_evaluer = ''; $s_bareme = ''; $competences_bareme = referentiel_get_competences_activite($activite_id, $bareme->id); $str_a_evaluer = referentiel_affiche_liste_codes_competence('/', $competences_activite, $ref_referentiel) . "\n"; if (!empty($str_a_evaluer)) { $s_bareme .= '<br /><span class="bold">' . get_string('liste_competence_cochees', 'referentiel') . '</span> ' . "\n" . " " . $str_a_evaluer; } $s_bareme .= '<br />' . "\n"; // modification $s_bareme .= referentiel_modifier_evaluation_codes_item($bareme, $ref_referentiel, $competences_activite, $competences_bareme, false, $activite_id, '', true); $s_bareme = encode2Javascript($s_bareme); $s_bouton = '<input type="button" value="' . get_string('eval_bareme', 'referentiel') . '" onclick="javascript:activerBareme(\'' . $s_bareme . '\', \'' . $divbareme . '\'); validerCheckBox(\'tactivite_id_' . $activite_id . '\')">' . "\n"; $str_choix_competences = encode2Javascript($str_choix_competences); $s_bouton2 = '<input type="button" value="' . get_string('eval_sans_bareme', 'referentiel') . '" onclick="javascript:activerBareme(\'' . $str_choix_competences . '\', \'' . $divbareme . '\'); validerCheckBox(\'tactivite_id_' . $activite_id . '\')">' . "\n"; $divbutton = 'button_' . $activite_id; $s .= '<div id="' . $divbutton . '">' . "\n"; $s .= $s_bouton; $s .= $s_bouton2; $s .= '</div>' . "\n"; } else { $s .= $str_choix_competences; } } else { $s .= referentiel_affiche_liste_codes_competence('/', $competences_activite, $ref_referentiel); } if ($ref_course == $courseid && has_capability('mod/referentiel:comment', $context)) { $s .= '<br /><textarea cols="100" rows="6" name="description_activite_' . $activite_id . '" onchange="return validerCheckBox(\'tactivite_id_' . $activite_id . '\') ">' . $description_activite . '</textarea>' . "\n"; } else { $s .= '<br /><i>' . nl2br($description_activite) . '</i>' . "\n"; } $s .= '</td>'; /* if (isset($approved) && ($approved)){ $s.='<td class="valide" colspan="3">'; } else{ $s.='<td class="invalide" colspan="3">'; } */ $s .= '<td class="ardoise" colspan="3">'; if ($ref_course == $courseid) { $s .= '<b>' . get_string('commentaire', 'referentiel') . '</b><br />' . "\n"; $s .= '<textarea cols="40" rows="7" name="commentaire_activite_' . $activite_id . '" onchange="return validerCheckBox(\'tactivite_id_' . $activite_id . '\')" >' . $commentaire_activite . '</textarea>' . "\n"; } else { $s .= '<b>' . get_string('commentaire', 'referentiel') . '</b><br /><i>' . nl2br($commentaire_activite) . '</i>' . "\n"; if ($ref_course == $courseid) { $s .= '<input type="hidden" name="commentaire_activite_' . $activite_id . '" value="' . $commentaire_activite . '" />' . "\n"; } } // MODIF 10/2/2010 if ($ref_course == $courseid) { $s .= '<br />' . get_string('notification_activite', 'referentiel') . '<input type="radio" name="mailnow_' . $activite_id . '" value="1" onchange="return validerCheckBox(\'tactivite_id_' . $activite_id . '\')" />' . get_string('yes') . ' <input type="radio" name="mailnow_' . $activite_id . '" value="0" checked="checked" onchange="return validerCheckBox(\'tactivite_id_' . $activite_id . '\')" />' . get_string('no') . ' ' . "\n"; } $s .= '</td>'; $s .= '</tr>' . "\n"; $s .= '<tr valign="top">' . "\n"; $s .= '<td class="yellow" colspan="7" align="center">' . "\n"; if ($s_document != '') { $s .= $s_document; } else { $s .= ' '; } $s .= '</td></tr>' . "\n"; if ($ref_course == $courseid) { $s .= ' <input type="hidden" name="date_creation_' . $activite_id . '" value="' . $date_creation . '" /> <input type="hidden" name="date_modif_' . $activite_id . '" value="' . $date_modif . '" /> <input type="hidden" name="date_modif_student_' . $activite_id . '" value="' . $date_modif_student . '" /> <input type="hidden" name="old_liste_competences_' . $activite_id . '" value="' . $old_liste_competences . '" /> <input type="hidden" name="userid_' . $activite_id . '" value="' . $userid . '" /> <input type="hidden" name="teacherid_' . $activite_id . '" value="' . $teacherid . '" /> <input type="hidden" name="activite_id_' . $activite_id . '" value="' . $activite_id . '" /> <input type="hidden" name="ref_referentiel_' . $activite_id . '" value="' . $ref_referentiel . '" /> <input type="hidden" name="ref_course_' . $activite_id . '" value="' . $ref_course . '" /> <input type="hidden" name="ref_instance_' . $activite_id . '" value="' . $ref_instance . '" />' . "\n\n"; } } return $s; }
/** * Turns activite into an xml segment * @param activite object * @return string xml segment */ function write_instance($instance_record) { global $CFG; // initial string; $expout = ""; // add comment //$expout .= "\n\n<!-- instance : ".$instance_record->id." -->\n"; // if ($instance_record) { // DEBUG //echo "<br />DEBUG :: ./formta/xml/archive_format.php :: LIGNE 455<br />\n"; //print_r($instance_record); // exit; $id = $instance_record->id; $name = trim($instance_record->name); $description_instance = trim($instance_record->description_instance); $label_domaine = trim($instance_record->label_domaine); $label_competence = trim($instance_record->label_competence); $label_item = trim($instance_record->label_item); $date_instance = $instance_record->date_instance; $course = $instance_record->course; $ref_referentiel = $instance_record->ref_referentiel; $visible = $instance_record->visible; // INSTANCE $expout .= "<table class=\"domaine\">\n"; $expout .= "<tr valign=\"top\">\n"; $expout .= " <th class=\"domaine\">" . get_string('id', 'referentiel') . "</th>\n"; $expout .= " <th class=\"domaine\">" . get_string('name', 'referentiel') . "</th>\n"; $expout .= " <th class=\"domaine\">" . get_string('description_instance', 'referentiel') . "</th>\n"; $expout .= " <th class=\"domaine\">" . get_string('label_domaine', 'referentiel') . "</th>\n"; $expout .= " <th class=\"domaine\">" . get_string('label_competence', 'referentiel') . "</th>\n"; $expout .= " <th class=\"domaine\">" . get_string('label_item', 'referentiel') . "</th>\n"; $expout .= " <th class=\"domaine\">" . get_string('date_instance', 'referentiel') . "</th>\n"; $expout .= " <th class=\"domaine\">" . get_string('course') . "</th>\n"; $expout .= " <th class=\"domaine\">" . get_string('ref_referentiel', 'referentiel') . "</th>\n"; $expout .= "</tr><tr valign=\"top\">\n"; $expout .= " <td class=\"domaine\"> {$id}</td>\n"; $expout .= " <td class=\"domaine\"> {$name}</td>\n"; $expout .= " <td class=\"domaine\"> {$description_instance}</td>\n"; $expout .= " <td class=\"domaine\"> {$label_domaine}</td>\n"; $expout .= " <td class=\"domaine\"> {$label_competence}</td>\n"; $expout .= " <td class=\"domaine\"> {$label_item}</td>\n"; $expout .= " <td class=\"domaine\">" . date("Y-m-d H:i:s", $date_instance) . "</td>\n"; $expout .= " <td class=\"domaine\">" . referentiel_get_course_link($course, true) . "</td>\n"; $expout .= " <td class=\"domaine\"> {$ref_referentiel}</td>\n"; $expout .= "</table>\n"; $expout .= "<br />\n"; } return $expout; }
/** * Turns task into an xml segment * @param task object * @return string xml segment */ function write_task($task) { global $CFG; // initial string; $expout = ""; // add comment if ($task) { // DEBUG // echo "<br />\n"; // print_r($task); $id = $task->id; $type_task = trim($task->type_task); $description_task = trim($task->description_task); $competences_task = trim($task->competences_task); $criteres_evaluation = trim($task->criteres_evaluation); $ref_instance = $task->ref_instance; $ref_referentiel = $task->ref_referentiel; $ref_course = $task->ref_course; $auteurid = trim($task->auteurid); $date_creation = $task->date_creation; $date_modif = $task->date_modif; $date_debut = $task->date_debut; $date_fin = $task->date_fin; $expout .= "\n\n<!-- task: {$task->id} -->\n"; $expout .= "<table class='competence'>\n"; $expout .= "<tr>\n"; $expout .= " <th class=\"competence\"><b>" . get_string('id', 'referentiel') . "</b></th>\n"; $expout .= " <th class=\"competence\"><b>" . get_string('type_task', 'referentiel') . "</b></th>\n"; $expout .= " <th class=\"competence\"><b>" . get_string('description', 'referentiel') . "</b></th>\n"; $expout .= " <th class=\"competence\"><b>" . get_string('competences', 'referentiel') . "</b></th>\n"; $expout .= " <th class=\"competence\"><b>" . get_string('criteres_evaluation', 'referentiel') . "</b></th>\n"; // $expout .= " <th class=\"competence\"><b>".get_string('instance','referentiel')."</b></th>\n"; // $expout .= " <th class=\"competence\"><b>".get_string('referentiel','referentiel')."</b></th>\n"; $expout .= " <th class=\"competence\"><b>" . get_string('course') . "</b></th>\n"; $expout .= " <th class=\"competence\"><b>" . get_string('auteur', 'referentiel') . "</b></th>\n"; $expout .= " <th class=\"competence\"><b>" . get_string('date_creation', 'referentiel') . "</b></th>\n"; $expout .= " <th class=\"competence\"><b>" . get_string('date_modif', 'referentiel') . "</b></th>\n"; $expout .= " <th class=\"competence\"><b>" . get_string('date_debut', 'referentiel') . "</b></th>\n"; $expout .= " <th class=\"competence\"><b>" . get_string('date_fin', 'referentiel') . "</b></th>\n"; $expout .= "</tr>\n"; $expout .= "<tr>\n"; $expout .= "<td class=\"competence\"> {$id}</td>\n"; $expout .= "<td class=\"competence\"> {$type_task}</td>\n"; $expout .= "<td class=\"competence\"> {$description_task}</td>\n"; $expout .= "<td class=\"competence\"> {$competences_task}</td>\n"; $expout .= "<td class=\"competence\"> {$criteres_evaluation}</td>\n"; /* $expout .= "<td class=\"competence\"> $ref_instance</td>\n"; $expout .= "<td class=\"competence\"> $ref_referentiel</td>\n"; */ $expout .= "<td class=\"competence\">" . referentiel_get_course_link($ref_course, true) . "</td>\n"; $expout .= "<td class=\"competence\">" . referentiel_get_user_info($auteurid) . "</td>\n"; $expout .= "<td class=\"competence\">" . date("Y-m-d H:i:s", $date_creation) . "</td>\n"; $expout .= "<td class=\"competence\">" . date("Y-m-d H:i:s", $date_modif) . "</td>\n"; $expout .= "<td class=\"competence\">" . date("Y-m-d H:i:s", $date_debut) . "</td>\n"; $expout .= "<td class=\"competence\">" . date("Y-m-d H:i:s", $date_fin) . "</td>\n"; $expout .= "</tr>\n"; $expout .= "</table>\n"; // consigneS $records_consignes = referentiel_get_consignes($task->id); if ($records_consignes) { // DEBUG // echo "<br/>DEBUG :: ITEMS <br />\n"; // print_r($records_consignes); $expout .= "<table class='item'>\n"; $expout .= " <tr>\n"; $expout .= " <th class=\"item\"><b>" . get_string('type_consigne', 'referentiel') . "</b></th>\n"; $expout .= " <th class=\"item\"><b>" . get_string('description', 'referentiel') . "</b></th>\n"; $expout .= " <th class=\"item\"><b>" . get_string('url', 'referentiel') . "</b></th>\n"; $expout .= " <th class=\"item\"><b>" . get_string('task', 'referentiel') . "</b></th>\n"; $expout .= " </tr>\n"; foreach ($records_consignes as $record_d) { $expout .= $this->write_consigne($record_d); } $expout .= "</table>\n"; } } return $expout; }