user; $m=new mysql(); $theSession=date("Y"); //détermination du référentiel if(!empty($id_audit)) {} else if(!empty($_REQUEST['id_audit'])) $id_audit=$_REQUEST['id_audit']; else die( "pas de questionnaire sélectionné"); //récupération des données de l'audit $a=$m->select_uniq("audits", "*", "id=".$id_audit); $id_referentiel=$a['id_referentiels']; $id_utilisateur=$a['id_utilisateurs']; //récupération des données du participant $p=$m->select_uniq("utilisateurs", "*", "id=".$id_utilisateur); //récupération des données du questionnaire $l=$m->select_uniq("referentiels", "*", "id=".$id_referentiel); $id_referentiel_parent=$l['id_referentiels:parent']; print "

Référentiel ".$l['nom'].", participant : ".$p['nom']."

"; //récupération des données de la liste des questions $l=$m->select("engagements", "id,nom,aide,id_referentiels,id_categories,importances,numero", "id_referentiels=".$id_referentiel." OR id_referentiels=".$l['id_referentiels:parent'] ." order by id_categories,classement,importances"); if (count($l)) { //conversion des numéros de referentiels en nom $l=replace_ids($l, "id_referentiels", "referentiels"); //conversion des numéros de catégories en nom //$l=replace_ids($l, "id_categories", "categories"); //conversion des dates $l=convert_date($l); //réponses de l'utilisateur $l=get_reponses($l, $p['id']); ###A TESTER !!! //$l=replace_to_edit($l, "description_action", "reponses","quest_form"); $table=new audittable("tab_listengagements"); $table->titles=array("Engagements", "Choix du participant", "Votre choix"); $table->user=$p['id']; $table->datas=$l; $table->session=$theSession; $table->id_referentiel=$id_referentiel; if (!empty($id_referentiel_parent))$table->id_referentiel_parent=$id_referentiel_parent; else $table->id_referentiel_parent=0; print $table->html(); } else print "Pas d'engagement dans ce référentiel
"; ######################################## ######################################## ### # Créer un tableau de formulaire d'audit ### class audittable { /* Crée le tableau de réponses pour chaque question : - couleur de la ligne en fonction de l'importance (n° importance dans le css) - gras de la ligne si non répondu */ var $titles; var $datas; var $user; var $quest; var $id; var $session; var $id_referentiel; var $id_referentiel_parent; function responsetable($id) { $this->id=$id; } function html() { global $id_referentiel; #####préparation des catégories $m=new mysql(); $c=$m->select("categories", "id,nom,classement","id_referentiels=".$this->id_referentiel." or id_referentiels=".$this->id_referentiel_parent." order by classement"); for($i=0;$iid."\" class=\"reptable\">\n"; #####entête $tmp.=""; $arrow=0; $col=0; //$tmp.=" "; foreach($this->titles as $t) { $tmp.=""; $tmp.=$t; $tmp.=""; } $tmp.="\n"; #####données $oldcateg=""; foreach($this->datas as $row) { //test de la nouvelle catégorie if($oldcateg!=$row['id_categories']) { //foreach($c as $cat) for($i=0;$i ".$nomcategorie."\n"; if ($c[$i]['id']==$row['id_categories'])break; //stopper la boucle pour ne pas cocher les catégories suivantes } else continue; } $oldcateg=$row['id_categories']; } //conversion date if (!empty($row['delais_ac']) && $row['delais_ac'] != '0000-00-00 00:00:00')$delais_ac=date ("d/m/Y", strtotime($row['delais_ac'])); else $delais_ac=""; if (!empty($row['delais_aa']) && $row['delais_aa'] != '0000-00-00 00:00:00')$delais_aa=date ("d/m/Y", strtotime($row['delais_aa'])); else $delais_aa=""; if (!empty($row['audit_delais']) && $row['audit_delais'] != '0000-00-00 00:00:00')$audit_delais=date ("d/m/Y", strtotime($row['audit_delais'])); else $audit_delais=""; //ligne régulière $tmp.=""; $tmp.="".$row['numero']." ".$row['nom']; if (!empty($row['aide']))$tmp.="".$row['aide'].""; $tmp.="";//id de la réponse if($row['choix']=='n') $tmp.="
Action corrective :
".$row['action_corrective']."
Délais de réalisation : ".$delais_ac."
Responsable : ".$row['resp_ac']."
Remarques : ".$row['remarque_ac']."
\n"; if($row['choix']=='o' && !empty($row['action_ameliorative'])) $tmp.="
Action améliorative :
".$row['action_ameliorative']."
Délais de réalisation : ".$delais_aa."
Responsable : ".$row['resp_aa']."
Remarques : ".$row['remarque_aa']."
\n"; if($row['choix']=='np') $tmp.="
Remarque :
".$row['remarques_reponses']."
\n"; $tmp.="\n"; # $tmp.=""; switch($row['choix']) { case 'o':$tmp.="\n";break; case 'n':$tmp.="\n";break; case 'np':$tmp.="\n";break; default:$tmp.="\n";break; } switch($row['choix']) { case 'o':$tmp.="Oui";break; case 'n':$tmp.="Non";break; case 'np':$tmp.="N.A.";break; default:$tmp.="Non répondu";break; } $tmp.=""; switch($row['audit']) { case 'o':$chko='repok';$chkn="norep";$chknp="norep";$chknull="norep";break; case 'n':$chkn='repok';$chko="norep";$chknp="norep";$chknull="norep";break; case 'np':$chknp='repok';$chko="norep";$chkn="norep";$chknull="norep";break; default:$chknull='nodisplay';$chknp="norep";$chko="norep";$chkn="norep";break; } $tmp.=" user.",'rep".$row['id']."o');\" id=\"rep".$row['id']."o\" class=\"$chko\" title=\"Répondre Oui\">Oui user.",'rep".$row['id']."n');\" id=\"rep".$row['id']."n\" class=\"$chkn\" title=\"Répondre Non\">Non user.",'rep".$row['id']."np');\" id=\"rep".$row['id']."np\" class=\"$chknp\" title=\"Répondre Inapplicable\">N.A. user.",'rep".$row['id']."');\" id=\"rep".$row['id']."\" class=\"$chknull\" title=\"RAZ de la question\">x"; # $tmp.="";//id de la réponse $v=ereg_replace("'","’",$row['audit_titre']);//workaround de l'apostrophe $v=ereg_replace(""","“",$v);//workaround du guillemet $v=ereg_replace("\"","“",$v);//workaround du guillemet $v=ereg_replace("\n","\\n",$v);//workaround du passage à la ligne $tmp.="
Titre : ".$v ."  \"éditer\"
\n"; $v=ereg_replace("'","’",$row['remarque_audit']);//workaround de l'apostrophe $v=ereg_replace(""","“",$v);//workaround du guillemet $v=ereg_replace("\"","“",$v);//workaround du guillemet $v=ereg_replace("\n","\\n",$v);//workaround du passage à la ligne $tmp.="
Action : ".$row['remarque_audit']."  \"éditer\"

Délais : ".$audit_delais."  \"éditer\"
Responsable : ".$row['audit_responsable']."  \"éditer\"
\n"; $tmp.=""; $tmp.="\n"; } #####fin du tableau $tmp.="\n"; return $tmp; } } ?>