''
]);
}
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 '
';
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 " ";
$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 " | | |
";
}
?>