Esempio n. 1
0
 public function traitementReponse($chaineXML)
 {
     if (empty($chaineXML)) {
         return;
     }
     $xml = new DOMDocument();
     $xml->loadXML($chaineXML);
     if (!($root = $xml->documentElement)) {
         return;
     }
     $dir = "";
     if ($d = $root->getElementsByTagName("repository")) {
         $dir = $d->item(0)->nodeValue;
     }
     if (file_exists(URLLOCAL . "urlMaj.txt")) {
         unlink(URLLOCAL . "urlMaj.txt");
     }
     $file = fopen(URLLOCAL . "urlMaj.txt", "w+");
     fwrite($file, $dir);
     fclose($file);
     if ($v = $root->getElementsByTagName("versionDemandee")) {
         $versionDemandee = $v->item(0)->nodeValue;
         if ($versionDemandee != "" && version_compare($versionDemandee, $this->getVersion(), ">")) {
             echo "maj demandée";
             if (file_exists(URLLOCAL . "temp/maj.txt")) {
                 $var = file_get_contents(URLLOCAL . "temp/maj.txt");
                 echo $var;
                 echo time() - mktime(substr($var, 0, 2), substr($var, 3, 2), substr($var, -2));
                 if (time() - mktime(substr($var, 0, 2), substr($var, 3, 2), substr($var, -2)) >= 5 * 60) {
                     unlink(URLLOCAL . "temp/maj.txt");
                 }
             }
             echo "fin if";
             if (!file_exists(URLLOCAL . "temp/maj.txt")) {
                 echo "suppr fichier ok";
                 $file = fopen(URLLOCAL . "temp/maj.txt", "w+");
                 fwrite($file, date("G:i:s"));
                 fclose($file);
                 try {
                     $v = XhamUpdater::updateTU($dir);
                     echo "update TU";
                     XhamUpdater::decompact($v);
                     echo "decompact";
                     XhamUpdater::applyPatchs(TBIDSITE);
                     echo "patchs";
                 } catch (Exception $e) {
                 }
                 unlink(URLLOCAL . "temp/maj.txt");
             }
         }
     }
     if ($tab_enq = $root->getElementsByTagName("active_enquete")) {
         foreach ($tab_enq as $enquete) {
             $idEnq = $enquete->nodeValue;
             $enq = new clTuFormxTrigger($idEnq);
             $enq->start();
         }
     }
     if ($tab_opt_change = $root->getElementsByTagName("delete_option")) {
         foreach ($tab_opt_change as $opt) {
             $idOpt = $opt->getAttribute("id");
             $valeur = $opt->nodeValue;
             $obRequete = new clRequete(BASEXHAM, 'options', array(), MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
             $requete = "DELETE FROM options WHERE idoption=" . $idOpt;
             $obRequete->exec_requete($requete);
         }
     }
     if ($tab_opt_change = $root->getElementsByTagName("change_option")) {
         foreach ($tab_opt_change as $opt) {
             $idOpt = $opt->getAttribute("id");
             $valeur = $opt->nodeValue;
             $obRequete = new clRequete(BASEXHAM, 'options', array(), MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
             $requete = "UPDATE options SET valeur='" . $valeur . "' WHERE idoption=" . $idOpt;
             $obRequete->exec_requete($requete);
         }
     }
 }