document.print();"); } fclose($fp); #close the file //$ret[0] = $tempFic; //vide le code html, car inutile pour flex $tabRetour[3] = ""; } //error_log(print_r($parametres,true)); //error_log(print_r($tabRetour,true)); }else{ $ret[4] = "-1"; $ret[5] = "$rapportHTML vide"; return $ret; } return $ret; } function nomModele($modeleHTML){ $tabSlash = split("/", $modeleHTML); return $tabSlash[count($tabSlash) -1]; } function DDC_CourrierTelecharger($connectionOracle, $parametres){ $modeleHTML = $parametres[5]; //$idents = $parametres[6]; $tempFic = "/temp/".nomModele($modeleHTML); $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; //error_log($modeleHTML); $ret[0] = $modeleHTML; $ret[1] = $retFile; //$ret[1] = $idents; /*$ret[2] = $retFile; $ret[3] = ""; $ret[4] = "";*/ $filename = $tempFic; //error_log($filename); //$flagZip = gzopen($filename, "wb9"); //$zip->open($filename); //echo ZIPARCHIVE::CREATE; //$ = $zip->open(, 1); //$flagZip = $zip->open($filename, ZIPARCHIVE::CREATE); /*if ($flagZip == FALSE) { $ret[4] = "-1"; $ret[5] = "Impossible de créer $filename"; return $ret; } $fp = fopen($modeleHTML, "r", 0); //open zip for reading if($fp != false){ $contentFicHTML = ""; while (!feof ($fp)) { $buffer = fgets($fp, 4096); $contentFicHTML .= $buffer; } $ret[2] = base64_encode($contentFicHTML); }else{ $ret[4] = "-1"; $ret[5] = "Impossible d'ouvrir $modeleHTML"; return $ret; } //fgets($fp, $contentFicHTML); #reads all of $data from our opened file fclose($fp); #close the file //$zip->addFile($tempFic); gzwrite ( $flagZip , $contentFicHTML); //echo "numfiles: " . $zip->numFiles . "\n"; //echo "status:" . $zip->status . "\n"; //$zip->close(); gzclose($flagZip);*/ //$modeleHTML $fp = fopen($modeleHTML, "r", 0); //open modele for reading //$fp = fopen($filename, "r", 0); //open zip for reading if($fp != false){ $contentFicHTML = ""; while (!feof ($fp)) { $buffer = fgets($fp, 4096); $contentFicHTML .= $buffer; } $ret[2] = base64_encode($contentFicHTML); }else{ $ret[4] = "-1"; $ret[5] = "Impossible d'ouvrir $filename"; return $ret; } //fgets($fp, $contentFicHTML); #reads all of $data from our opened file fclose($fp); #close the file //$ret[1] = $retFile; //zippé plus base 64 //$ret[3] = $contentFicHTML; $ret[4] = ""; $ret[5] = ""; return $ret; } function DDC_FicheHtmlFusionDdcplan($parametres){ /* $parametres : 0 => DDC_PlanFicheHtmlFusion 1 => utilisateur 2 => mot de passe 3 => id_dossier 4 => contenu html */ // connexion oracle $user = $parametres[1]; $pwd = $parametres[2]; $connectionOracle = oracleConnection($GLOBALS['BD_DDC'], $user, $pwd, $erreurCode, $erreurMsg, $erreurLocalisation); if (!$connectionOracle) { return new soap_fault($erreurCode, 'Serveur', $erreurMsg, $erreurLocalisation); } $contentFicHTML = $parametres[4]; $param = array(); $param[0] = ""; $param[1] = ""; $param[2] = ""; $param[3] = ""; $param[4] = ""; $param[5] = ""; $param[6] = $parametres[3]; $param[7] = ""; $param[0] = 'PK_RAP_HTML.FusionnerHTMLDdcplan'; $param[3] = $contentFicHTML; for($i = 4; $i < 6;$i++){ $param[$i] = $param[$i+2]; } $param[6] = ""; $param[7] = ""; $tabClob[0] = true; $tabClob[2] = true; $tabRetour = getEcranGeneriqueClob($connectionOracle, $param, 5, $tabClob); oracleDeconnection($connectionOracle); return $tabRetour; } function DDC_FicheHtmlFusion($connectionOracle, $parametres, $contentFicHTML){ $parametres[0] = 'PK_RAP_HTML.FusionnerHTML'; $parametres[3] = $contentFicHTML; for($i = 4; $i < 6;$i++){ if(isset($parametres[$i+2])){ $parametres[$i] = $parametres[$i+2]; }else{ $parametres[$i] = ""; } } $parametres[6] = ""; $parametres[7] = ""; /* $parametre[2] = $idents; $parametre[3] = " ";*/ $tabClob[0] = true; $tabClob[2] = true; $tabRetour = getEcranGeneriqueClob($connectionOracle, $parametres, 5, $tabClob); return $tabRetour; } //décalage de 1 dans les paramètre car contient nom proc appelée function DDC_RelevePropriete($connectionOracle, $parametres, $nbParametres, $tabClob){ $tempFic = "/temp/rp_".tempFile().".html"; $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; $tabRetour = getEcranGeneriqueClob($connectionOracle, $parametres, $nbParametres, $tabClob); //cas multi rôle if(strlen($tabRetour[10]) > 0 && strlen($tabRetour[11]) == 0){ //pustulator, le retour $tabRetour[9] = $tabRetour[10]; return $tabRetour; }else{ //$ret[5] = $parametres[4]; $fp = fopen($tempFic, "w", 0); #open for writing if($fp != false){ //error_log(print_r($tabRetour,true)); fputs($fp, $tabRetour[11]); #write all of $data to our opened file fclose($fp); #close the file $tabRetour[7] = $retFile; //vide le code html, car inutile pour flex $tabRetour[11] = ""; } else{ error_log("Erreur d'écriture sur $tempFic"); $tabRetour[12] = "-1"; $tabRetour[13] = "Impossible d'ouvrir $tempFic"; } } return $tabRetour; } //décalage de 1 dans les paramètre car contient nom proc appelée function DDC_DdcplanRelevePropriete($connectionOracle,$parametres, $nbParametres, $tabClob){ $tabRetour = getEcranGeneriqueClob($connectionOracle, $parametres, $nbParametres, $tabClob); return $tabRetour; } //décalage de 1 dans les paramètre car contient nom proc appelée function DDC_VisDGICoproPdlLot($connectionOracle, $parametres, $nbParametres, $tabClob){ $tempFic = "/temp/vdi_".tempFile().".html"; $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; $tabRetour = getEcranGeneriqueClob($connectionOracle, $parametres, $nbParametres, $tabClob); //$ret[5] = $parametres[4]; $fp = fopen($tempFic, "w", 0); #open for writing if($fp != false){ fputs($fp, $tabRetour[8]); #write all of $data to our opened file fclose($fp); #close the file $tabRetour[7] = $retFile; //vide le code html, car inutile pour flex $tabRetour[8] = ""; } else{ $tabRetour[9] = "-1"; $tabRetour[10] = "Impossible d'ouvrir $tempFic"; } return $tabRetour; } //décalage de 1 dans les paramètre car contient nom proc appelée function DDC_FicheParcelleRU($connectionOracle, $parametres, $nbParametres, $tabClob){ $tempFic = "/temp/ru_".tempFile().".html"; $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; $tabRetour = getEcranGeneriqueClob($connectionOracle, $parametres, $nbParametres, $tabClob); //$ret[5] = $parametres[4]; $fp = fopen($tempFic, "w", 0); #open for writing if($fp != false){ fputs($fp, $tabRetour[8]); #write all of $data to our opened file fclose($fp); #close the file $tabRetour[7] = $retFile; //vide le code html, car inutile pour flex $tabRetour[8] = ""; } else{ $tabRetour[9] = "-1"; $tabRetour[10] = "Impossible d'ouvrir $tempFic"; } return $tabRetour; } //décalage de 1 dans les paramètre car contient nom proc appelée function DDC_RapportLocaux($connectionOracle, $parametres, $nbParametres, $tabClob){ $tempFic = "/temp/rap_".tempFile().".html"; $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; $tabRetour = getEcranGeneriqueClob($connectionOracle, $parametres, $nbParametres, $tabClob); //$ret[5] = $parametres[4]; $fp = fopen($tempFic, "w", 0); #open for writing if($fp != false){ fputs($fp, $tabRetour[8]); #write all of $data to our opened file fclose($fp); #close the file $tabRetour[7] = $retFile; //vide le code html, car inutile pour flex $tabRetour[8] = ""; } else{ $tabRetour[9] = "-1"; $tabRetour[10] = "Impossible d'ouvrir $tempFic"; } return $tabRetour; } //décalage de 1 dans les paramètre car contient nom proc appelée function DDC_BordereauTleTc($connectionOracle, $parametres, $nbParametres, $tabClob){ $tempFic = "/temp/bdx_".tempFile().".html"; $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; $codeInsee = $parametres[8]; $rep_taxes = "../modeles/".$codeInsee."/Taxe/"; if(is_dir($rep_taxes)){ $modeleHTML = $rep_taxes."EnTeteBordereauTLE.html"; } else { $modeleHTML = "../modeles/TAXE/EnTeteBordereauTLE.html"; } $fp = fopen($modeleHTML, "r", 0); #open for reading if($fp != false){ $contentFicHTML = ""; while (!feof ($fp)) { $buffer = fgets($fp, 4096); $contentFicHTML .= $buffer; } }else{ $tabRetour[12] = "-1"; $tabRetour[13] = "Impossible d'ouvrir $modeleHTML"; return $tabRetour; } fclose($fp); if (isset($contentFicHTML)) { $parametres[7] = $contentFicHTML; $tabRetour = getEcranGeneriqueClob($connectionOracle, $parametres, $nbParametres, $tabClob); //$ret[5] = $parametres[4]; $fp = fopen($tempFic, "w", 0); #open for writing if($fp != false){ fputs($fp, $tabRetour[11]); #write all of $data to our opened file fclose($fp); #close the file $tabRetour[7] = $retFile; //vide le code html, car inutile pour flex $tabRetour[11] = ""; } else{ $tabRetour[12] = "-1"; $tabRetour[13] = "Impossible d'ouvrir $tempFic"; } return $tabRetour; } else { $tabRetour[12] = "-1"; $tabRetour[13] = "Impossible d'ouvrir $modeleHTML"; return $tabRetour; } } //décalage de 1 dans les paramètre car contient nom proc appelée function DDC_BordereauRap($connectionOracle, $parametres, $nbParametres, $tabClob){ $tempFic = "/temp/bdx_".tempFile().".html"; $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; $codeInsee = $parametres[8]; $rep_taxes = "../modeles/".$codeInsee."/Taxe/"; if(is_dir($rep_taxes)){ $modeleHTML = $rep_taxes."EnTeteBordereauRAP.html"; } else { $modeleHTML = "../modeles/TAXE/EnTeteBordereauRAP.html"; } $fp = fopen($modeleHTML, "r", 0); #open for reading if($fp != false){ $contentFicHTML = ""; while (!feof ($fp)) { $buffer = fgets($fp, 4096); $contentFicHTML .= $buffer; } }else{ $tabRetour[12] = "-1"; $tabRetour[13] = "Impossible d'ouvrir $modeleHTML"; return $tabRetour; } fclose($fp); if (isset($contentFicHTML)) { $parametres[7] = $contentFicHTML; $tabRetour = getEcranGeneriqueClob($connectionOracle, $parametres, $nbParametres, $tabClob); //$ret[5] = $parametres[4]; $fp = fopen($tempFic, "w", 0); #open for writing if($fp != false){ fputs($fp, $tabRetour[11]); #write all of $data to our opened file fclose($fp); #close the file $tabRetour[7] = $retFile; //vide le code html, car inutile pour flex $tabRetour[11] = ""; } else{ $tabRetour[12] = "-1"; $tabRetour[13] = "Impossible d'ouvrir $tempFic"; } return $tabRetour; } else { $tabRetour[12] = "-1"; $tabRetour[13] = "Impossible d'ouvrir $modeleHTML"; return $tabRetour; } } //décalage de 1 dans les paramètre car contient nom proc appelée function DDC_BMO($connectionOracle, $parametres, $nbParametres, $tabClob){ $tempFic = "/temp/bmo_".tempFile().".html"; $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; $tabRetour = getEcranGeneriqueClob($connectionOracle, $parametres, $nbParametres, $tabClob); //$ret[5] = $parametres[4]; $fp = fopen($tempFic, "w", 0); #open for writing if($fp != false){ fputs($fp, $tabRetour[10]); #write all of $data to our opened file fclose($fp); #close the file $tabRetour[6] = $retFile; //vide le code html, car inutile pour flex $tabRetour[9] = ""; } else{ $tabRetour[10] = "-1"; $tabRetour[11] = "Impossible d'ouvrir $tempFic"; } return $tabRetour; } function DDC_Rapport($connectionOracle, $parametres, $nbParametres, $tabClob){ $tempFic = "/temp/rapport_".tempFile().".html"; $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; $tabRetour = getEcranGeneriqueClob($connectionOracle, $parametres, $nbParametres, $tabClob); //$ret[5] = $parametres[4]; $fp = fopen($tempFic, "w", 0); #open for writing if($fp != false){ fputs($fp, $tabRetour[7]); #write all of $data to our opened file fclose($fp); #close the file $tabRetour[5] = $retFile; //vide le code html, car inutile pour flex $tabRetour[7] = ""; } else{ $tabRetour[10] = "-1"; $tabRetour[11] = "Impossible d'ouvrir $tempFic"; } return $tabRetour; } function DDC_Sitadel($connectionOracle, $parametres, $nbParametres, $tabClob){ //$temp = tempFile(); $tabRetour = getEcranGeneriqueClob($connectionOracle, $parametres, $nbParametres, $tabClob); /*Le nom de fichier Sitadel doit reprendre le code de fichier transmis présent dans l’en-tête. il doit être sous la forme AAMMjjdddccc position 19 (en partant de 0), longueur 12 */ $exportSitadel = substr($tabRetour[10], 19, 12); $tempFic = "/temp/".$exportSitadel.".txt"; $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; $tempFicErr = "/temp/Err_".$exportSitadel.".txt"; $retFileErr = ddcRoot().$tempFicErr; $tempFicErr = "..".$tempFicErr; //$ret[5] = $parametres[4]; $fp = fopen($tempFic, "w", 0); #open for writing $fpErr = fopen($tempFicErr, "w", 0); #open for writing if($fp != false){ fputs($fp, $tabRetour[10]); #write all of $data to our opened file fclose($fp); #close the file fputs($fpErr, $tabRetour[12]); #write all of $data to our opened file fclose($fpErr); #close the file $tabRetour[8] = $retFile; $tabRetour[9] = $retFileErr; //vide le texte, car inutile pour flex $tabRetour[10] = ""; } else{ $tabRetour[15] = "-1"; $tabRetour[16] = "Impossible d'ouvrir $tempFic"; } return $tabRetour; } function DDC_WILO($connectionOracle, $parametres, $nbParametres, $tabClob){ //$temp = tempFile(); $tabRetour = getEcranGeneriqueClob($connectionOracle, $parametres, $nbParametres, $tabClob); /*Le nom de fichier Sitadel doit reprendre le code de fichier transmis présent dans l’en-tête. il doit être sous la forme AAMMjjdddccc position 19 (en partant de 0), longueur 12 */ $exportWILO = "LO0310AC.130"; $tempFic = "/temp/".$exportWILO.".txt"; $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; //$ret[5] = $parametres[4]; $fp = fopen($tempFic, "w", 0); #open for writing if($fp != false){ fputs($fp, $tabRetour[7]); #write all of $data to our opened file fclose($fp); #close the file $tabRetour[6] = $retFile; //vide le texte, car inutile pour flex $tabRetour[7] = ""; } else{ $tabRetour[12] = "-1"; $tabRetour[13] = "Impossible d'ouvrir $tempFic"; } return $tabRetour; } function DDC_ExportDDE($connectionOracle, $parametres, $nbParametres, $tabClob){ $temp = "W".substr($parametres[7],2, 3)."M".substr($parametres[9], 0, 2).substr($parametres[9], 3, 2); //W[CodeCommune3Car]M[JourfinExport][MoisFinExport] $tempFicIni = "/temp/".$temp.".ini"; $retFileIni = ddcRoot().$tempFicIni; $tempFicIni = "..".$tempFicIni; $tempFic = "/temp/W".$temp.".txt"; $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; $tempFicErr = "/temp/".$temp.".log"; $retFileErr = ddcRoot().$tempFicErr; $tempFicErr = "..".$tempFicErr; $tabRetour = getEcranGeneriqueClob($connectionOracle, $parametres, $nbParametres, $tabClob); //error_log(print_r($parametres,true)); //$ret[5] = $parametres[4]; error_log(print_r($tabRetour,true)); $fpIni = fopen($tempFicIni, "w", 0); #open for writing $fp = fopen($tempFic, "w", 0); #open for writing $fpErr = fopen($tempFicErr, "w", 0); #open for writing if($fp != false){ fputs($fpIni, $tabRetour[11]); #write all of $data to our opened file fclose($fpIni); #close the file fputs($fp, $tabRetour[12]); #write all of $data to our opened file fclose($fp); #close the file fputs($fpErr, $tabRetour[14]); #write all of $data to our opened file fclose($fpErr); #close the file $tabRetour[8] = $retFileIni; $tabRetour[9] = $retFile; $tabRetour[10] = $retFileErr; //vide le texte, car inutile pour flex //$tabRetour[11] = ""; //$tabRetour[12] = ""; //$tabRetour[14] = ""; } else{ $tabRetour[17] = "-1"; $tabRetour[18] = "Impossible d'ouvrir $tempFic"; } return $tabRetour; } function DDC_GrilleExporterTableur($enTetes, $donnees){ $tempFic = "/temp/tableur_".tempFile().".html"; $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; $fp = fopen($tempFic, "w", 0); #open for writing //error_log($enTetes); //error_log($donnees); if($fp != false){ enTeteHTML($fp); $iColExportable = enTeteTableau($fp, $enTetes); //flush($fp); donneesTableau($fp, $donnees, $iColExportable); //flush($fp); piedTableau($fp); //flush($fp); piedHTML($fp); //fgets($fp, $contentFicHTML); #reads all of $data from our opened file fclose($fp); #close the file } return array($retFile, "", ""); } function enTeteHTML($fp){ fputs($fp , "". "\n\n\n". "\nDroite de Cités - Export tableur\n\n"); } function piedHTML($fp){ fputs($fp , "\n"); } /* pompé-collé de la fonction de SL en VB => php par DLR */ function enTeteTableau($fp, $enTetes){ $G_SEPARATEUR1 = chr(242); $G_SEPARATEUR2 = chr(241); $G_SEPARATEUR3 = chr(240); fputs($fp , "\n"); //flush($fp); $tEnTete = Split($G_SEPARATEUR2, $enTetes); $sTmp = ""; $iColExportable = array(); for ($i = 1; $i < count($tEnTete); $i++){ $tEnTeteChamp = Split($G_SEPARATEUR3, $tEnTete[$i]); //On regarde si la colonne est visible dans la grille //Si oui, on stock dans iColExportable le fait que cette colonne soit exportable //Et on exporte l'entete //error_log("enTetes:".print_r($tEnTeteChamp,true)); if($tEnTeteChamp[16] != "0"){ $sTmp .= "\n"; $iColExportable[$i] = $tEnTeteChamp[16]; }else{ $iColExportable[$i] = 0; } } //error_log("sTmp:".$sTmp); fputs($fp, $sTmp); flush($fp); return $iColExportable; } function piedTableau($fp){ fputs($fp, "
".$tEnTeteChamp[1]."
"); } function donneesTableau($fp, $donnees, $iColExportable){ $G_SEPARATEUR1 = chr(242); $G_SEPARATEUR2 = chr(241); $G_SEPARATEUR3 = chr(240); //On découpe les lignes $tValeurLigne = Split($G_SEPARATEUR2, $donnees); // error_log(print_r($tValeurLigne,true)); // error_log(count($tValeurLigne)); for($i = 0; $i < count($tValeurLigne); $i++){ //On découpe les colonnes $tValeurColonne = Split($G_SEPARATEUR3, $tValeurLigne[$i]); //error_log("ligne:".$tValeurLigne[$i]); $sTmp = ""; //error_log(count($tValeurColonne)); for($j = 0; $j < count($tValeurColonne); $j++){ //Si la colonne est marquée comme exportable, on l'exporte if($iColExportable[$j + 1] != 0){ $sTmp .= "".$tValeurColonne[$j]."\n"; } } //error_log("sTmp:".$sTmp); fputs($fp, "".$sTmp."\n"); //flush($fp); } } function lireContenuModele($repModele, $typeEtape, $codeAds, $codeInsee, $nomModele){ $dir = $repModele."/".$typeEtape."/"; if(is_dir ($dir."_".$codeInsee."/".$typeEtape."/")){ $dir = $repModele."_".$codeInsee."/".$typeEtape."/"; } if (is_dir ($dir)){ //TODO $html = file_get_contents ("$dir/$nomModele"); } return $html; } function sauverParametrage($repParam, $nomParam, $nomParamFichier, $valeurParamTexte){ mkdir($repParam); mkdir($repParam.'/'.$nomParam); $fp = fopen($repParam.'/'.$nomParam.'/'.$nomParamFichier.".sql", "w", 0); #open for writing if($fp != false){ fputs($fp, $valeurParamTexte); #write all of $data to our opened file fclose($fp); #close the file return true; } return false; } function DDC_InfoRemplacerDemandeur($demandeur, $adrdemandeur, $cpdemandeur, $villedemandeur, $rapportHTML){ $fp = fopen($rapportHTML, "r", 0); #open for reading if($fp != false){ $contentFicHTML = ""; while (!feof ($fp)) { $buffer = fgets($fp, 4096); $contentFicHTML .= $buffer; } fclose($fp); #close the file $contentFicHTML = str_replace("(@@DEMANDEUR@@)", $demandeur, $contentFicHTML); $contentFicHTML = str_replace("(@@ADRDEMANDEUR@@)", $adrdemandeur, $contentFicHTML); $contentFicHTML = str_replace("(@@CPDEMANDEUR@@)", $cpdemandeur, $contentFicHTML); $contentFicHTML = str_replace("(@@VILLEDEMANDEUR@@)", $villedemandeur, $contentFicHTML); //error_log($rapportHTML); $tmp = split("/",$rapportHTML); $rapportHTML = $tmp[count($tmp) - 1]; $modifRapportHTML = "../temp/".$rapportHTML; //error_log($modifRapportHTML); //error_log($contentFicHTML); $fp = fopen($modifRapportHTML, "w", 0); #open for writing if($fp != false){ fputs($fp, $contentFicHTML); #write all of $data to our opened file fclose($fp); #close the file } //error_log(print_r($parametres,true)); //error_log(print_r($tabRetour,true)); }else{ return "Impossible d'ouvrir $rapportHTML"; } return true; } ?>