include_once('parametrage/config.php'); function rtfToHtml($rtf){ //TODO si nécessaire return $rtf; } function DDC_CourrierListeModele($repModele, $typeEtape, $codeAds, $codeInsee){ return listerModeles($repModele, $typeEtape, $codeAds, $codeInsee); } function DDC_ArreteListeModele($repModele, $typeEtape, $codeAds, $codeInsee){ return listerModeles($repModele, $typeEtape, $codeAds, $codeInsee); } function DDC_RapportHTMLLister($repModele, $typeEtape, $codeAds, $codeInsee){ return listerModeles($repModele, $typeEtape, $codeAds, $codeInsee); } function DDC_FicheHTMLLister($repModele, $typeEtape, $codeAds, $codeInsee){ return listerModeles($repModele, $typeEtape, $codeAds, $codeInsee); } function listerModeles($repModele, $typeEtape, $codeAds, $codeInsee){ //error_log("listerModeles($repModele, $typeEtape, $codeAds, $codeInsee)"); //pour mode web classiquet et pas mode doc/odt en cache http $repModele = str_replace(strtolower(ddcRoot()), "../", $repModele); if(!is_dir($repModele)){ $repModele = strtoupper($repModele); if(!is_dir($repModele)){ $repModele = strtolower($repModele); } } //error_log(ddcRoot()); $dir = $repModele."/".$typeEtape."/"; if(!is_dir($dir)){ $typeEtape = strtoupper($typeEtape); $dir = $repModele."/".$typeEtape."/"; if(!is_dir($dir)){ $typeEtape = strtolower($typeEtape); $dir = $repModele."/".$typeEtape."/"; } } //error_log("$dir"); if(is_dir ($dir."/".$codeInsee."/".$typeEtape."/")){ $dir = $repModele."/".$codeInsee."/".$typeEtape."/"; } $cnt = 0; $modeles = ""; $dir = str_replace("//", "/", $dir); if (is_dir ($dir)){ // si c'est un repertoire $dh = opendir ($dir); // on l'ouvre if($dh){ while (($file = readdir ($dh)) ) { //boucle pour parcourir le repertoire if ($file != '.' && $file != '..') { // no comment if ((substr($file,(strlen($file)-4)) == ".htm" || substr($file,(strlen($file)-4)) == "html" || substr($file,(strlen($file)-4)) == ".dot" || substr($file,(strlen($file)-4)) == ".xlt" || substr($file,(strlen($file)-4)) == ".ott") && (substr($file,0,2) == "AA" || ($codeAds == "" ||substr($file,0,2) == $codeAds))) { //si le fichier est un fichier modèle $modeles.= $dir.$GLOBALS['SEP_NIV_2'] .$file .$GLOBALS['SEP_NIV_2'] .filesize($dir.$file) .$GLOBALS['SEP_NIV_2'] .date("d/m/Y H:i:s",filemtime($dir.$file)) .$GLOBALS['SEP_NIV_1']; }else{ //$modeles= $modeles.$dir.$GLOBALS['SEP_NIV_2'].$file.$GLOBALS['SEP_NIV_1']; $modeles.= $GLOBALS['SEP_NIV_1']; //error_log("Modèles : $dir$file"); } } //$modeles.= $dir.$GLOBALS['SEP_NIV_2'].$file.$GLOBALS['SEP_NIV_1']; $cnt++; } closedir ($dh); // on ferme le repertoire courant if($modeles == ""){ $modeles = "";//1-Pas de modèles pour $dir|$codeAds $cnt"; } }else{ $modeles = "";//2-Pas de répertoire de modèles pour $dir|$codeAds"; } }else{ $modeles = "";//3-Pas de répertoire de modèles pour $dir|$codeAds"; } //error_log("Modèles : $modeles"); return $modeles; } function curPageURL() { // Indice 8 car on recherche après les // (sinon on peut aussi rechercher le 3ème /) // https://... // 012345678 $iServeur = strpos($GLOBALS['ENDPOINT'], "/", 8); $sServeur = substr($GLOBALS['ENDPOINT'], 0, $iServeur); return $sServeur.$_SERVER["REQUEST_URI"]; } function ddcRoot(){ $idxService = strpos($GLOBALS['ENDPOINT']/*curPageURL()*/, "/services/ddc_service.php"); return substr($GLOBALS['ENDPOINT']/*curPageURL()*/, 0, $idxService); } function tempFile(){ return rand(1000,9999); } function DDC_RapportHTMLNettoyer($tempFic){ $idx = strrpos($tempFic, "/"); $tempFic = substr($tempFic, $idx + 1); $tempFicFull = "../temp/".$tempFic; unlink("../temp/_nettoyer".$tempFic); rename($tempFicFull, "../temp/_nettoyer".$tempFic); } function DDC_RapportHtmlEditer($connectionOracle, $parametres){ $rapportHTML = $parametres[5]; $communes = $parametres[6]; $dateMin = $parametres[7]; $dateMax = $parametres[8]; $tempFic = "/temp/rapport_".tempFile().".html"; $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; $ret[0] = $rapportHTML; $ret[1] = $communes; $ret[2] = $dateMin; $ret[3] = $dateMax; $ret[4] = $retFile; $ret[5] = ""; $ret[6] = ""; $fp = fopen($rapportHTML, "r", 0); #open for reading if($fp != false){ $contentFicHTML = ""; while (!feof ($fp)) { $buffer = fgets($fp, 4096); $contentFicHTML .= $buffer; } //fgets($fp, $contentFicHTML); #reads all of $data from our opened file fclose($fp); #close the file $parametres[0] = 'PK_RAPPORT.CreerRapportHTML'; $parametres[3] = $contentFicHTML; for($i = 4; $i < 9;$i++){ $parametres[$i] = $parametres[$i+2]; } $parametres[8] = ""; $parametres[9] = ""; /*$parametre[2] = $communes; $parametre[3] = $dateMin; $parametre[4] = $dateMax; $parametre[5] = " ";*/ $tabClob[0] = true; $tabClob[4] = true; $tabRetour = getEcranGeneriqueClob($connectionOracle, $parametres, 7, $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 //$ret[0] = $tempFic; //vide le code html, car inutile pour flex $tabRetour[7] = ""; } //error_log(print_r($parametres,true)); //error_log(print_r($tabRetour,true)); }else{ $ret[10] = "-1"; $ret[11] = "Impossible d'ouvrir $rapportHTML"; } return $ret; } function DDC_CourrierOuvrir($connectionOracle, $parametres, $aImprimer,$contentFicHTML){ $modeleHTML = $parametres[5]; $idents = $parametres[6]; $tempFic = "/temp/courrier_".tempFile().".html"; $retFile = ddcRoot().$tempFic; $tempFic = "..".$tempFic; //error_log($modeleHTML); $ret[0] = $modeleHTML; $ret[1] = $idents; $ret[2] = $retFile; $ret[3] = ""; $ret[4] = ""; if(!isset($contentFicHTML)){ //tentative d'accès à la racine if(strpos(strtolower($modeleHTML),"/") == 0){ $ret[4] = "-666"; $ret[5] = "$modeleHTML interdit1"; error_log($ret[5]); return $ret; } //tentative d'accès à un lecteur sous Windows if(strpos(strtolower($modeleHTML),":")){ $ret[4] = "-666"; $ret[5] = "$modeleHTML interdit2"; error_log($ret[5]); return $ret; } //tentative d'accès à un fichier qui n'est ni html, ni dot, ni ott if(!strpos(strtolower($modeleHTML),".htm") && !strpos(strtolower($modeleHTML),".dot") && !strpos(strtolower($modeleHTML),".ott") && !strpos(strtolower($modeleHTML),".xlt") && !strpos(strtolower($modeleHTML),".ots")){ $ret[4] = "-666"; $ret[5] = "$modeleHTML interdit3"; error_log($ret[5]); return $ret; } $fp = fopen($modeleHTML, "r", 0); #open for reading if($fp != false){ $contentFicHTML = ""; while (!feof ($fp)) { $buffer = fgets($fp, 4096); $contentFicHTML .= $buffer; } }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 } if(isset($contentFicHTML)){ $tabRetour = DDC_FicheHtmlFusion($connectionOracle, $parametres, $contentFicHTML); //$ret[5] = $parametres[4]; $fp = fopen($tempFic, "w", 0); #open for writing if($fp != false){ fputs($fp, $tabRetour[3]); #write all of $data to our opened file if($aImprimer){ fputs($fp, ""); } 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". "\n| ".$tEnTeteChamp[1]." | \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, "
|---|