'' ]); } echo ''; if(isset($_GET['fiche'])) { $ficheEvaluation = getFicheEvaluation($_GET['fiche']); $lignesFicheEvaluation = getLignesFicheEvaluation($_GET['fiche']); $blocks = []; foreach ($lignesFicheEvaluation as $row) { if($row['id_parent'] == 0) { $lignesblocks = []; foreach ($lignesFicheEvaluation as $row2) { if($row['id_ligne_fiche_evaluation'] == $row2['id_parent']) $lignesblocks[] = $row2; } $blocks[] = [$row, $lignesblocks]; } } } function addFicheEvaluation($pannuel, $pfiche_id, $pemployeeId) { if($pannuel) { for ($k = 0; $k < sizeof($_POST['InsertFormulaire']); $k++) { $pinc = $_POST['InsertFormulaire'][$k]; $block = $_POST["block".$pinc]; if($pemployeeId != "0") { if(isResultatFicheExist($pfiche_id, $block, $pemployeeId)) { echo "Une Evaluation exist deja"; return; } } } } $idResultatFiche = getIdResultatFicheEvaluationCount(); for ($y = 0; $y < sizeof($_POST['InsertFormulaire']); $y++) { $dinc = $_POST['InsertFormulaire'][$y]; $idLigneFiche = $_POST['idLigneFiche'][$y]; $reponse = $_POST["reponse".$dinc]; $block = $_POST["block".$dinc]; $tablereponses = $_POST["tablereponse".$dinc]; $comment = $_POST["comment".$dinc]; $dateannuel = $_POST["dateannuel".$dinc]; //$employeeId = $_POST["employee".$dinc]; $aoption = $_POST["aoption".$dinc]; $multireponses = $_POST["multireponse".$inc]; $roptions = $_POST["roption".$inc]; if($roptions != '') { $obs = "["; $icount = 0; foreach ($roptions as $roption) { $icount++; if($icount == count($roptions)) $obs = $obs.$roption; else $obs = $obs.$roption.","; } $comment = $obs."]"; } $finalreponse = $reponse; if($block != '') $finalreponse = $block; if($tablereponses != '') { $finalreponse = "["; $icount = 0; foreach ($tablereponses as $tablereponse) { $icount++; if($icount == count($tablereponses)) $finalreponse = $finalreponse.$tablereponse; else $finalreponse = $finalreponse.$tablereponse.","; } $finalreponse = $finalreponse."]"; } if($multireponses != '') { $mr = "["; $icount = 0; foreach ($multireponses as $multireponse) { $icount++; if($icount == count($multireponses)) $mr = $mr.$multireponse; else $mr = $mr.$multireponse.";"; } $finalreponse = $mr."]"; } insertResultatLigneFicheEvaluation($idLigneFiche, $idResultatFiche, $pemployeeId, $finalreponse, $comment); if($pannuel && $aoption != "") insertResultatLigneFicheEvaluationAnnuel($idLigneFiche, $idResultatFiche, $dateannuel, $aoption); } increaseIdResultatFicheEvaluationCount(); } if(isset($_POST['save'])) { if(isset($_GET['fiche'])) { $fiche_id = $_GET['fiche']; $ficheEvaluation = getFicheEvaluation($fiche_id); $annuel = $ficheEvaluation["annuel"]; if(sizeof($lignesFicheEvaluation) > 0) { $groupId = $_POST["groupe"]; if($groupId != "" && $groupId != "0") { $gusers = getGroupUsers($groupId); //print_r($gusers); foreach ($gusers as $guser) { addFicheEvaluation($annuel, $fiche_id, $guser); } } else { echo 'users'; $semployees = $_POST["semployees"]; foreach ($semployees as $semployee) { addFicheEvaluation($annuel, $fiche_id, $semployee); evaluationTrack($fiche_id, $_SESSION["glpiname"]); } } if($annuel){ $root = $_SERVER['DOCUMENT_ROOT'].$CFG_GLPI["root_doc"]."/temp_sophal/"; cache_all_clear($root); } } } Html::redirect("fiche.evaluation.list.php"); } $users = getSubUsersfe($_SESSION["glpiID"]); $groupes = getGroups(); $objectifs = []; foreach($users as $user){ $objectif = getPreviousObjectifs($user["id"]); array_push($objectifs ,[$user["id"],$objectif]); } $annuel = $ficheEvaluation["annuel"]; function visibleMenus($rowP) { return $rowP['ordre'] == 1 || $rowP['ordre'] == 3 || $rowP['ordre'] == 10 || $rowP['ordre'] == 11; } echo '
'; if($annuel) { echo '
'; echo''; } $blockssize = 0; $inc=1; echo "

".translate(str_replace('\'','"',$ficheEvaluation["nom_fiche_evaluation"]))."

"; if($annuel) { echo ""; echo "
    "; echo "
    "; echo ""; } echo "
    "; if(isset($blocks)){ if(sizeof($blocks) > 0) { $blockssize = count($blocks); $blocks_count = 0; foreach ($blocks as $row) { $isTable = isTable($row[1][0]['reponses']); if(($annuel && ($blocks_count == 3 || $blocks_count == $blockssize-2)) || $isTable) echo "
    "; if($annuel && $blocks_count == $blockssize-1) echo "
    "; result($row, $blocks_count); $blocks_count = $blocks_count+1; if($isTable) echo "
    "; } } } echo'
    '; echo'


    '.translate('Annuler').'
    '; echo'
    '; Html::footer(); function buildEnteteReponse($ebrequired, $ebreponses) { if($ebreponses == "") return ""; global $inc; $mainreponseString = ""; $choices = explode(';', $ebreponses); if(count($choices) > 1) { $mainreponseString = ""; } return $mainreponseString; } function buildEnteteQuestion($ebquestion) { $questionString = "".translate($ebquestion).""; $astrings = explode(':', $ebquestion, 2); if(count($astrings) > 1 && count(explode(':', $ebquestion)) < 4) $questionString = "
    ".translate($astrings[0]).":".translate($astrings[1])."
    "; return $questionString; } function buildEnteteComment($ebrequired, $iscomment) { if($iscomment != 1) return ""; global $inc; return ""; } function buildroption() { global $inc; global $annueloptions; $optionString = $optionString.""; } function isSpecialAnnuelBlock($blockscountp) { global $annuel; global $blockssize; return $annuel && ($blockscountp == 1 || $blockscountp == $blockssize-1); } function buildLigneReponse($lbcount, $lbrequired, $lbreponses, $lbquestion) { global $inc; global $annuel; global $annueloptions; $reponseWidth = 200; if(isSpecialAnnuelBlock($lbcount)) $reponseWidth = 400; $reponseString = ""; if($lbreponses == 'hidden') $reponseString = ""; if($lbreponses == 'date') $reponseString = ""; $choices = explode(';', $lbreponses); if(count($choices) > 1) { $selectDisabled = ""; if($annuel && (strpos($lbquestion, '3.') !== false)) $selectDisabled = "disabled"; if($annuel && (strpos($lbquestion, '4.') !== false)) $selectDisabled = "disabled"; $reponseString = ""; } if( isMultiligne($lbreponses) ) { $reponseString = "
    ".buildroption()."
    "; $nbrlignes = substr($lbreponses, 1, strlen($lbreponses)-2); for($h=1; $h < $nbrlignes; $h++) { $reponseString = $reponseString."
    ".buildroption()."
    "; } $reponseString = $reponseString.""; } if( isTable($lbreponses) ) { $treponse = substr($lbreponses, 1, strlen($lbreponses)-2); $astrings = explode(',', $treponse); if(count($astrings) > 1) { $percent = 100/count($astrings); $reponseString = ""; $aleft = 0; for($i=1; $i < count($astrings); $i++) { $aleft = $aleft+$percent-7; $reponseString = $reponseString.""; } } else { $percent = (100/$treponse)-7; $reponseString = ""; $aleft = 0; for($i=1; $i < $treponse; $i++) { $aleft = $aleft+60; $reponseString = $reponseString.""; } } } return $reponseString; } function buildLigneQuestion($question, $img_url) { global $inc; $questionString = ""; $astrings = explode(':', $question, 2); if(count($astrings) > 1 && count(explode(':', $question)) < 4) $questionString = ""; if($img_url != '') $questionString = $questionString.""; return $questionString; } function buildLigneComment($lbcount, $lbrequired, $iscomment) { if($iscomment != 1) return ""; global $inc; global $annuel; global $annueloptions; global $blockssize; $commentHeight = 50; if($annuel) $commentHeight = 25; $lbdisabled = ""; /*if($annuel && $lbcount == 1) $lbdisabled = "disabled";*/ $commentWidth = 300; if(isSpecialAnnuelBlock($lbcount)) $commentWidth = 200; if($annuel && $lbcount != $blockssize-1) $commentString = "
    "; if($annuel) { if(isSpecialAnnuelBlock($lbcount)) $commentString = $commentString."
    "; if($lbcount != $blockssize-1) { $commentString = $commentString."
    "; } } return "
    ".$commentString."
    "; } // Affichage d'un block entier (entete + lignes) = plusieurs tr function result($row_data, $blockscount){ global $inc; global $annuel; global $blockssize; $required = ''; if(!$annuel && $blockscount < 7) $required = 'required'; /* Affichage entete block */ $responses = $row_data[0]['reponses']; $mainreponseHTML = buildEnteteReponse($required, $responses); $mainquestionHTML = buildEnteteQuestion($row_data[0]['question']); $maincommentHTML = buildEnteteComment($required, $row_data[0]['comment']); $mainclospan = 3; if($responses != '' && count(explode(';', $responses)) > 1) $mainclospan = $mainclospan-1; if(isSpecialAnnuelBlock($blockscount)) $mainclospan = 5; $widthMax = ""; if($annuel) $widthMax = "style='width:60px;'"; echo " ".$mainquestionHTML." ".$mainreponseHTML; if(!($annuel && $blockscount == 1)) echo "".$maincommentHTML.""; echo ""; $inc=$inc+1; /* End Affichage entete block */ if(isSpecialAnnuelBlock($blockscount)) { if($blockscount == 1) echo "
    ".translate("J’étais censé réaliser ce qui suit  comme objectif")."
    ".translate("J’ai réalisé ce qui suit")."
    ".translate("Date de réalisation")."
    "; if($blockscount == $blockssize-1) echo "
    ".translate("Je serai censé de réaliser ce qui suit  comme objectif")."
    ".translate("Date de réalisation")."
    "; } /* Affichage lignes block */ $savedInc = -1; $linges_blocks = $row_data[1]; foreach ($linges_blocks as $row) { $isTable = isTable($row['reponses']); $reponseRequired = $required; if(isSpecialAnnuelBlock($blockscount) || $isTable) { if($savedInc == -1) $savedInc = $inc+2; if($inc < $savedInc) { if(!(isSpecialAnnuelBlock($blockscount) && $blockscount > 3)) $reponseRequired = "required"; } } $reponseHTML = buildLigneReponse($blockscount, $reponseRequired, $row['reponses'], $row_data[0]['question']); $questionHTML = buildLigneQuestion($row['question'], $row['img_url']); if(isSpecialAnnuelBlock($blockscount) || $isTable) $questionHTML = ""; $commentHTML = buildLigneComment($blockscount, $required, $row['comment']); $qwidth = 420; $hidetr=""; if(isSpecialAnnuelBlock($blockscount) || $isTable) { $qwidth = 40; if($inc > $savedInc) $hidetr="hidden"; } echo " ".$questionHTML.""; if($reponseHTML != "") echo "".$reponseHTML.""; echo "".$commentHTML." "; $inc=$inc+1; } /* End Affichage lignes block */ if($annuel && $blockscount == 1) echo " "; if($annuel && $blockscount == $blockssize-1) echo " "; if($isTable) echo " "; } ?>