From 2a489a5ff498cf93ab1d659269a6fd3a5388c257 Mon Sep 17 00:00:00 2001 From: oversu <95a7002b-481b-4ef3-b578-f9c421550aa4@localhost> Date: Tue, 11 Aug 2026 21:38:53 +0200 Subject: [PATCH] =?UTF-8?q?T=C3=A9l=C3=A9verser=20les=20fichiers=20vers=20?= =?UTF-8?q?"lib"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/aeos.lib.php | 259 ++++++++++++++++++++++++++++++++++++++++++++ lib/config.lib.php | 20 ++++ lib/var.lib.php | 14 +++ lib/wysiwyg.lib.php | 26 +++++ 4 files changed, 319 insertions(+) create mode 100644 lib/aeos.lib.php create mode 100644 lib/config.lib.php create mode 100644 lib/var.lib.php create mode 100644 lib/wysiwyg.lib.php diff --git a/lib/aeos.lib.php b/lib/aeos.lib.php new file mode 100644 index 0000000..d20f5c7 --- /dev/null +++ b/lib/aeos.lib.php @@ -0,0 +1,259 @@ +xml = $xml;} + + public function setXml($xml) + { + if(!empty($xml)) + { + $this->xml = $xml; + } + } + + public function get_array() + { + if($this->get_dom() === false){return false;} + $this->xml_array = array(); + $root_element = $this->xml_dom->firstChild; + $this->xml_array[$root_element->tagName] = $this->node_2_array($root_element); + return $this->xml_array; + } + + private function node_2_array($dom_element) + { + if($dom_element->nodeType != XML_ELEMENT_NODE){return false;} + $children = $dom_element->childNodes; + + foreach($children as $child) + { + if($child->nodeType != XML_ELEMENT_NODE){continue;} + $prefix = ($child->prefix) ? $child->prefix.':' : ''; + + if(!is_array(@$result[$prefix.$child->nodeName])) + { + $subnode = false; + + foreach($children as $test_node) + { + if($child->nodeName == $test_node->nodeName && !$child->isSameNode($test_node)) + { + $subnode = true; + break; + } + } + } + else + { + $subnode = true; + } + + if ($subnode) + { + $result[$prefix.$child->nodeName][] = $this->node_2_array($child); + } + else + { + $result[$prefix.$child->nodeName] = $this->node_2_array($child); + } + } + + if (!is_array(@$result)) + { + $result['#text'] = html_entity_decode(htmlentities($dom_element->nodeValue, ENT_COMPAT, 'UTF-8'), ENT_COMPAT,'ISO-8859-1'); + } + + if ($dom_element->hasAttributes()) + { + foreach ($dom_element->attributes as $attrib) + { + $prefix = ($attrib->prefix) ? $attrib->prefix.':' : ''; + $result["@".$prefix.$attrib->nodeName] = $attrib->nodeValue; + } + } + + return $result; + } + + private function get_dom() + { + if(empty($this->xml)) + { + echo 'Aucun fichier XML trouvé.'; + return false; + } + + $this->xml_dom = @DOMDocument::load($this->xml); + + if($this->xml_dom) + { + return $this->xml_dom; + } + + echo 'Données XML invalide'; exit; + } + } + +// Renvoi le XML en ARRAY +function lecture_xml($config) +{ + $converter = new Xml2Array(); + $converter->setXml($config); + $xml_array = $converter->get_array(); + return $xml_array; +} + +// Renvoi le listing d'un dossier dans un ARRAY +function listing_dossier($folder) +{ + $dossier = opendir($folder); + $i=0; + while ($Fichier = readdir($dossier)) { + if ($Fichier != "." && $Fichier != "..") { + $array[$i]=$Fichier; + $i++; + } + } + @natsort($array); +return $array; +closedir($dossier); +} + +// Enregistre une donnée dans un XML - Chemin, OldElement, NewElement +function ecriture_xml($a, $b, $c) +{ + $dom = new DomDocument; + $dom->load($a); + $xml = $dom->getElementsByTagName($b); + //echo $xml->item(0)->nodeValue; + $titre = $xml->item(0); + $titre->nodeValue = utf8_encode($c); + //echo $dom->saveXML(); + $dom->save($a); +} + +// Renvoi une donnée en STRING +function donnee_xml($a, $b) +{ + $dom = new DomDocument; + $dom->load($a); + $xml = $dom->getElementsByTagName($b); + return $xml->item(0)->nodeValue; +} + +// Upload $fichier, le dézippe dans $dossier et affiche le message $page +function upload_unzip($fichier, $dossier, $page) +{ + $filename = $fichier["name"]; + $source = $fichier["tmp_name"]; + $type = $fichier["type"]; + + if ($type=="application/zip" || $type=="application/x-zip-compressed" || $type=="multipart/x-zip" || $type=="application/x-compressed") + { + $target_path = $dossier.$filename; + if(move_uploaded_file($source, $target_path)) + { + $nom = basename($filename, ".zip"); + if (is_dir($dossier.$nom)==TRUE) + { + echo "Ce ".$page." est déjà installé."; + unlink($target_path); + } + else + { + $zip = new ZipArchive(); + $x = $zip->open($target_path); + if ($x === true) + { + $zip->extractTo($dossier.$nom); + $zip->close(); + unlink($target_path); + } + echo "Votre ".$page." a bien été installé."; + } + } + else {echo "Une erreur est survenue. Veuillez recommencer.";} + } + else {echo "Votre fichier n'est pas un zip.";} +} + +// Inverse de nl2br by OverSu +function br2nl($replace) { + return preg_replace("//i", "", $replace); +} + +//Merci à holger1 de php.net +// Supprime un dossier +function removeFolder($dir) { + if (is_dir($dir)) + { + $objects = scandir($dir); + foreach ($objects as $object) + { + if ($object != "." && $object != "..") + { + if (filetype($dir."/".$object) == "dir") removeFolder($dir."/".$object); else unlink($dir."/".$object); + } + } + reset($objects); + rmdir($dir); + } +} + +// Vide un dossier +function clearFolder($folder) +{ + $dossier=opendir($folder); + while ($fichier = readdir($dossier)) + { + if ($fichier != "." && $fichier != "..") + { + $Vidage= $folder.$fichier; + unlink($Vidage); + } + } + closedir($dossier); +} + +// Génère un mot de passe de $nbr caractères +function generer_mdp($nbr) +{ + $str = ""; + $chaine = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; + srand((double)microtime()*1000); + + for($i=0; $i<$nbr; $i++) { + $str .= $chaine[rand()%strlen($chaine)]; + } + + return $str; +} + +// Envoi un mail +function sendMail($expediteur, $destinataire, $titre, $messageHTML){ + date("D, j M Y H:i:s"); + $entete = "From: ".$expediteur."\n"; + $entete .= "Cc: \n"; + $entete .= "Reply-To: ".$expediteur." \n"; + $entete .= "X-Mailer: PHP/" . phpversion() . "\n" ; + $entete .= "Date: ". date("D, j M Y H:i:s"); + mail($destinataire, $titre, $messageHTML, $entete); +} + +// Retourne un boolean +// Vérifie si une adresse est belle et bien au format mail. +function checkMail($adresse) +{ + $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#'; + if(preg_match($Syntaxe,$adresse)) return true; + else return false; +} +?> diff --git a/lib/config.lib.php b/lib/config.lib.php new file mode 100644 index 0000000..aab50dd --- /dev/null +++ b/lib/config.lib.php @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/lib/var.lib.php b/lib/var.lib.php new file mode 100644 index 0000000..6d3239f --- /dev/null +++ b/lib/var.lib.php @@ -0,0 +1,14 @@ + \ No newline at end of file diff --git a/lib/wysiwyg.lib.php b/lib/wysiwyg.lib.php new file mode 100644 index 0000000..dd5e86d --- /dev/null +++ b/lib/wysiwyg.lib.php @@ -0,0 +1,26 @@ + + \ No newline at end of file