Skip to content

Commit

Permalink
Améliorations diverses
Browse files Browse the repository at this point in the history
* Meilleure gestion des extensions/types d'images dans le cadre de l'utilisation de la base64 (image_type_to_extension).
* Meilleure gestion des fichiers XML d'import s'ils sont vides ou si le format est invalide (problème extraction SQL par exemple).
  • Loading branch information
pacomte-Paris1 committed Jan 9, 2025
1 parent 82e016e commit 815c447
Show file tree
Hide file tree
Showing 18 changed files with 645 additions and 451 deletions.
7 changes: 3 additions & 4 deletions CRON/php/import_absence_xml.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@

// On charge la table des absences avec le fichier
$filename = $fonctions->inputfilepath() . "/siham_absence_$date.xml";
if (! file_exists($filename)) {
echo "Le fichier $filename n'existe pas !!! \n";
if (! file_exists($filename) or ($xml = @simplexml_load_file("$filename"))===false) {
echo "Le fichier " . basename($filename) . " n'existe pas ou n'est pas un fichier XML valide. \n";
exit();
}
else
{
echo "Le fichier $filename est présent. \n";
echo "Le fichier " . basename($filename) . " est présent. \n";
// On vide la table des absences pour la recharger complètement
$sql = "DELETE FROM ABSENCERH";
mysqli_query($dbcon, $sql);
Expand All @@ -26,7 +26,6 @@
echo "DELETE ABSENCERH => $erreur_requete \n";
}

$xml = simplexml_load_file("$filename");
$agentnode = $xml->xpath('ABSENCE');
echo "Import en masse de toutes les absences RH dans G2T " . date("d/m/Y H:i:s") . "\n";
foreach ($agentnode as $node)
Expand Down
90 changes: 42 additions & 48 deletions CRON/php/import_affectation_siham_xml.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,39 +38,39 @@
echo "Vérification existance des fichiers....\n";
if (! file_exists($modalitefile))
{
echo "Le fichier $modalitefile n'existe pas !!! \n";
echo "Le fichier " . basename($modalitefile) . " n'existe pas !!! \n";
$exit = true;
}
else
{
echo "Le fichier $modalitefile est présent. \n";
echo "Le fichier " . basename($modalitefile) . " est présent. \n";
}
if (! file_exists($statutfile))
{
echo "Le fichier $statutfile n'existe pas !!! \n";
echo "Le fichier " . basename($statutfile) . " n'existe pas !!! \n";
$exit = true;
}
else
{
echo "Le fichier $statutfile est présent. \n";
echo "Le fichier " . basename($statutfile) . " est présent. \n";
}
if (! file_exists($structurefile))
{
echo "Le fichier $structurefile n'existe pas !!! \n";
echo "Le fichier " . basename($structurefile) . " n'existe pas !!! \n";
$exit = true;
}
else
{
echo "Le fichier $structurefile est présent. \n";
echo "Le fichier " . basename($structurefile) . " est présent. \n";
}
if (! file_exists($situationfile))
{
echo "Le fichier $situationfile n'existe pas !!! \n";
echo "Le fichier " . basename($situationfile) . " n'existe pas !!! \n";
$exit = true;
}
else
{
echo "Le fichier $situationfile est présent. \n";
echo "Le fichier " . basename($situationfile) . " est présent. \n";
}

if ($exit == true)
Expand All @@ -82,23 +82,21 @@
$listeagentactif = array();

echo "Import des SITUATIONS ADMINISTRATIVES - " . date("d/m/Y H:i:s") . "\n";
// Import des affectations-statut.txt
$sql = "DELETE FROM SITUATIONADMIN";
mysqli_query($dbcon, $sql);
$erreur_requete = mysqli_error($dbcon);
if ($erreur_requete != "")
{
echo "Error : DELETE SITUATIONADMIN => $erreur_requete \n";
}

// On charge la table des statut avec le fichier
if (! file_exists($situationfile))
// On charge la table SITUATIONADMIN avec le fichier
if (! file_exists($situationfile) or ($xml = @simplexml_load_file("$situationfile"))===false)
{
echo "Le fichier $situationfile n'existe pas !!! \n";
echo "Le fichier " . basename($situationfile) . " n'existe pas ou n'est pas un fichier XML valide. \n";
}
else
{
$xml = simplexml_load_file("$situationfile");
$sql = "DELETE FROM SITUATIONADMIN";
mysqli_query($dbcon, $sql);
$erreur_requete = mysqli_error($dbcon);
if ($erreur_requete != "")
{
echo "Error : DELETE SITUATIONADMIN => $erreur_requete \n";
}
$agentnode = $xml->xpath('SITUATION');
foreach ($agentnode as $node)
{
Expand Down Expand Up @@ -152,12 +150,11 @@
}

echo "Import des STRUCTURES D'AFFECTATION - " . date("d/m/Y H:i:s") . "\n";
// Import des affectations-structure.txt

// On charge la table des structures avec le fichier
if (! file_exists($structurefile))
// On charge la table HISTORIQUEAFFECTATION avec le fichier
if (! file_exists($structurefile) or ($xml = @simplexml_load_file("$structurefile"))===false)
{
echo "Le fichier $structurefile n'existe pas !!! \n";
echo "Le fichier " . basename($structurefile) . " n'existe pas ou n'est pas un fichier XML valide. \n";
}
else
{
Expand All @@ -168,7 +165,6 @@
{
echo "Error : DELETE HISTORIQUEAFFECTATION => $erreur_requete \n";
}
$xml = simplexml_load_file("$structurefile");
$agentnode = $xml->xpath('AFF_STRUCTURE');
$agent = null;
foreach ($agentnode as $node)
Expand Down Expand Up @@ -241,23 +237,21 @@
}

echo "Import des STATUTS D'AFFECTATION (NUMERO DE CONTRAT/TITULAIRE) - " . date("d/m/Y H:i:s") . "\n";
// Import des affectations-statut.txt
$sql = "DELETE FROM STATUT";
mysqli_query($dbcon, $sql);
$erreur_requete = mysqli_error($dbcon);
if ($erreur_requete != "")
{
echo "Error : DELETE STATUT => $erreur_requete \n";
}

// On charge la table des statut avec le fichier
if (! file_exists($statutfile))
// On charge la table STATUT avec le fichier
if (! file_exists($statutfile) or ($xml = @simplexml_load_file("$statutfile"))===false)
{
echo "Le fichier $statutfile n'existe pas !!! \n";
echo "Le fichier " . basename($statutfile) . " n'existe pas ou n'est pas un fichier XML valide. \n";
}
else
{
$xml = simplexml_load_file("$statutfile");
$sql = "DELETE FROM STATUT";
mysqli_query($dbcon, $sql);
$erreur_requete = mysqli_error($dbcon);
if ($erreur_requete != "")
{
echo "Error : DELETE STATUT => $erreur_requete \n";
}
$agentnode = $xml->xpath('STATUT');
foreach ($agentnode as $node)
{
Expand Down Expand Up @@ -301,23 +295,23 @@
}

echo "Import des MODALITES D'AFFECTATION (QUOTITE) - " . date("d/m/Y H:i:s") . "\n";
// Import des affectations-modalite.txt
$sql = "DELETE FROM QUOTITE";
mysqli_query($dbcon, $sql);
$erreur_requete = mysqli_error($dbcon);
if ($erreur_requete != "")
{
echo "Error : DELETE QUOTITE => $erreur_requete \n";
}
if (! file_exists($modalitefile))

// On charge la table QUOTITE avec le fichier
if (! file_exists($modalitefile) or ($xml = @simplexml_load_file("$modalitefile"))===false)
{
echo "Le fichier $modalitefile n'existe pas !!! \n";
echo "Le fichier " . basename($modalitefile) . " n'existe pas ou n'est pas un fichier XML valide. \n";
}
else
{
$sql = "DELETE FROM QUOTITE";
mysqli_query($dbcon, $sql);
$erreur_requete = mysqli_error($dbcon);
if ($erreur_requete != "")
{
echo "Error : DELETE QUOTITE => $erreur_requete \n";
}
$agent = new agent($dbcon);
$currentagent = null;
$xml = simplexml_load_file("$modalitefile");
$agentnode = $xml->xpath('MODALITE');
foreach ($agentnode as $node)
{
Expand Down
15 changes: 8 additions & 7 deletions CRON/php/import_agent_xml.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,14 @@
echo "\nDébut de l'import des agents " . date("d/m/Y H:i:s") . "\n";

$filename = $fonctions->inputfilepath() . "/siham_agents_$date.xml";
if (! file_exists($filename)) {
echo "Le fichier $filename n'existe pas !!! \n";
if (! file_exists($filename) or ($xml = @simplexml_load_file("$filename"))===false)
{
echo "Le fichier " . basename($filename) . " n'existe pas ou n'est pas un fichier XML valide. \n";
exit();
}
else
{
echo "Le fichier $filename est présent. \n";
echo "Le fichier " . basename($filename) . " est présent. \n";
/*
// On vide la table des agents pour la recharger complètement
$sql = "DELETE FROM AGENT";
Expand All @@ -24,10 +25,10 @@
if ($erreur_requete != "")
echo "DELETE AGENT => $erreur_requete \n";
*/
$xml = simplexml_load_file("$filename");
$agentnode = $xml->xpath('AGENT');
foreach ($agentnode as $node)
{

$agentnode = $xml->xpath('AGENT');
foreach ($agentnode as $node)
{
$agentid = trim($node->xpath('AGENTID')[0]);
$civilite = trim($node->xpath('CIVIL')[0]);
$nom = trim($node->xpath('NOM')[0]);
Expand Down
27 changes: 12 additions & 15 deletions CRON/php/import_structure_xml.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,13 @@ class XMLstructure
$tab_fonctions_RA = array();
// On regarde si le fichier des priorites de fonctions est present
$filename = $fonctions->inputfilepath() . "/infos_fonctions_$date.xml";
if (!file_exists($filename))
if (!file_exists($filename) or ($xml = @simplexml_load_file("$filename"))===false)
{
echo "Le fichier des priorites de fonctions $filename n'existe pas ....\n";
echo "Le fichier " . basename($filename) . " n'existe pas ou n'est pas un fichier XML valide. \n";
}
else
{
echo "Le fichier $filename est présent. \n";
$xml = simplexml_load_file("$filename");
echo "Le fichier " . basename($filename) . " est présent. \n";
$fctpriorite = $xml->xpath('FCT_PRIORITE');
foreach ($fctpriorite as $node)
{
Expand Down Expand Up @@ -102,19 +101,18 @@ class XMLstructure

// On regarde si le fichier des fonctions est present
$filename = $fonctions->inputfilepath() . "/siham_fonctions_$date.xml";
if (!file_exists($filename))
if (!file_exists($filename) or ($xml = @simplexml_load_file("$filename"))===false)
{
echo "Le fichier des fonctions $filename n'existe pas ....\n";
echo "Le fichier " . basename($filename) . " n'existe pas ou n'est pas un fichier XML valide. \n";
$tab_struct_fonctions = array();
}
else
{
echo "Le fichier $filename est présent. \n";
echo "Le fichier " . basename($filename) . " est présent. \n";

$xml = simplexml_load_file("$filename");
$agentnode = $xml->xpath('FONCTION');
foreach ($agentnode as $node)
{
$agentnode = $xml->xpath('FONCTION');
foreach ($agentnode as $node)
{
$agentid = trim($node->xpath('AGENTID')[0]);
if (isset($node->xpath('CONDEFONCT')[0]))
{
Expand Down Expand Up @@ -155,18 +153,17 @@ class XMLstructure
// on update les infos

$filename = $fonctions->inputfilepath() . "/siham_structures_$date.xml";
if (! file_exists($filename))
if (! file_exists($filename) or ($xml = @simplexml_load_file("$filename"))===false)
{
echo "Le fichier $filename n'existe pas !!! \n";
echo "Le fichier " . basename($filename) . " n'existe pas ou n'est pas un fichier XML valide. \n";
exit();
}
else
{
echo "Le fichier $filename est présent. \n";
echo "Le fichier " . basename($filename) . " est présent. \n";

$listestructcrees = array();

$xml = simplexml_load_file("$filename");
$agentnode = $xml->xpath('STRUCTURE');
foreach ($agentnode as $node)
{
Expand Down
10 changes: 8 additions & 2 deletions html/affiche_demandeCET.php
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,14 @@

require ("includes/menu.php");
$path = $fonctions->imagepath() . "/chargement.gif";
list($width, $height) = getimagesize("$path");
$typeimage = pathinfo($path, PATHINFO_EXTENSION);
list($width, $height, $imagetype) = getimagesize("$path");
$typeimage = image_type_to_extension($imagetype,false);
if ($typeimage===false) // Si on n'a pas pu déterminé le type d'image => On récupère l'extension du fichier
{
error_log(basename(__FILE__) . " " . $fonctions->stripAccents("imagetype = $imagetype => extension non définie"));
$typeimage = pathinfo($path, PATHINFO_EXTENSION);
}

$data = file_get_contents($path);
$base64 = 'data:image/' . $typeimage . ';base64,' . base64_encode($data);
echo "<div id='waiting_div' class='waiting_div' ><img id='waiting_img' class='waiting_img' src='" . $base64 . "' height='$height' width='$width' ></div>";
Expand Down
9 changes: 7 additions & 2 deletions html/affiche_info_teletravail.php
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,13 @@
// var_dump($_POST);

$path = $fonctions->imagepath() . "/chargement.gif";
list($width, $height) = getimagesize("$path");
$typeimage = pathinfo($path, PATHINFO_EXTENSION);
list($width, $height, $imagetype) = getimagesize("$path");
$typeimage = image_type_to_extension($imagetype,false);
if ($typeimage===false) // Si on n'a pas pu déterminé le type d'image => On récupère l'extension du fichier
{
error_log(basename(__FILE__) . " " . $fonctions->stripAccents("imagetype = $imagetype => extension non définie"));
$typeimage = pathinfo($path, PATHINFO_EXTENSION);
}
$data = file_get_contents($path);
$base64 = 'data:image/' . $typeimage . ';base64,' . base64_encode($data);
echo "<div id='waiting_div' class='waiting_div' ><img id='waiting_img' class='waiting_img' src='" . $base64 . "' height='$height' width='$width' ></div>";
Expand Down
Loading

0 comments on commit 815c447

Please sign in to comment.