* */ $_ENV['log'] = ""; $_ENV['error'] = 0; // Functions function restore_pow($value) { //echo $value; $current_pow = 1; $stfl = true; while ($stfl == true) { $current_value = pow(2,$current_pow); if ($current_value == $value) { $stfl = false; return $current_pow; } else { $current_pow = $current_pow +1; //echo $current_pow; } } } function bitmask_decompose($bitmask) { //echo $bitmask; //var_dump($bitmask); $modes = array(); $a = 1; while ($bitmask > 0) { if (($a & $bitmask) != 0) { $modes[] = $a & $bitmask; } $bitmask &= ~$a; $a <<= 1; } return $modes; } function ftp_dir($where, $what, $conn_id) { $contents = ftp_nlist($conn_id, $where); for ($p=0; $pread())!=false) { if (($init_files == 0) && ($pass==true)) { //$foldername = mkdir($docserver.str_pad($init_file,4,"0",STR_PAD_LEFT).$_ENV['slh'],0777); echo $ftp_path.str_pad($init_file,4,"0",STR_PAD_LEFT).$_ENV['slh']."\n"; ftp_mkdir($conn_id, $ftp_path.str_pad($init_file,4,"0",STR_PAD_LEFT).$_ENV['slh']) ; $pass = false; $nb_files = 0; } if (strstr($nb_files, "000")==true) { $init_file++; //$foldername = mkdir($docserver.str_pad($init_file,4,"0",STR_PAD_LEFT).$_ENV['slh'],0777 ); ftp_mkdir($conn_id, $ftp_path.str_pad($init_file,4,"0",STR_PAD_LEFT).$_ENV['slh']) ; $nb_files = 0; } $current_init_folder = str_pad($init_file,4,"0",STR_PAD_LEFT).$_ENV['slh']; if($filescan=='.'||$filescan=='..' ||$filescan=='backup' ||$filescan=='failed') { continue; } else { $file_extension = ExtractFileExt($folder.$filescan); if (strtoupper($file_extension) == "XML") { if (SearchImageOfXml(strtr(strtoupper($File.path) , ".XML", ".PDF") == false) && SearchImageOfXml(strtr(strtoupper($File.path) , ".XML", ".TIF") == false) && SearchImageOfXml(strtr(strtoupper($File.path) , ".XML", ".TIFF") == false) && Searc.hImageOfXml(strtr(strtoupper($File.path) , ".XML", ".ZIP") == false) && SearchImageOfXml(strtr(strtoupper($File.path) , ".XML", ".DAT") == false)) { $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s").">****Error**** Image not found!! : ".$File.Path."\r\n"; $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> ERRNO : 5.\r\n"; } } else { $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> Scan in progress on : ".$folder.$filescan."\r\n"; $temp_filesize = (filesize($folder.$filescan)); $_ENV['current_transfert_size'] = $_ENV['$current_transfert_size'] + $temp_filesize; Checking_available_space($available_space, $current_transfert_size); $file_path = buildDirectory($docserver.$current_init_folder,$filescan, $folder, $nb_files,$ftp_path, $conn_id,$current_init_folder); $sql_query_builded .= BuildSqlQuery ($folder.$filescan,$docserver_name,$file_path,$tab_maarch_value,$subdocserver.str_pad($init_file,4,"0",STR_PAD_LEFT)."\\", $docserver_mini_path, $wbai); $nb_files++; $total_nbfile = $total_nbfile + 1 ; } } } $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> Number of imported files : ".$total_nbfile."\r\n"; return $sql_query_builded; } function ScanIT($folder, $available_space, $docserver,$docserver_name,$tab_maarch_value,$subdocserver, $docserver_mini_path,$wbai,$init_file, $tab_maarch_it_value) { //Browse each file and folder in the import folder. //$current_transfert_size = 0; $ClassScan= dir($folder); $pass=true; while(($filescan=$ClassScan->read())!=false) { if($filescan=='.'||$filescan=='..' ||$filescan=='backup' ||$filescan=='failed') { continue; } else { $file_extension = ExtractFileExt($folder.$filescan); if (strtoupper($file_extension) == "XML") { if (SearchImageOfXml(strtr(strtoupper($File.path) , ".XML", ".PDF") == false) && SearchImageOfXml(strtr(strtoupper($File.path) , ".XML", ".TIF") == false) && SearchImageOfXml(strtr(strtoupper($File.path) , ".XML", ".TIFF") == false) && SearchImageOfXml(strtr(strtoupper($File.path) , ".XML", ".ZIP") == false) && SearchImageOfXml(strtr(strtoupper($File.path) , ".XML", ".DAT") == false)) { $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s").">****Error**** Image not found!! : ".$File.Path."\r\n"; $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> ERRNO : 5.\r\n"; } } else { $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> Iteratif in progress on : ".$folder.$filescan."\r\n"; $sql_query_occur_builded .=BuildSqlItQuery($folder.$filescan,$docserver_name,$file_path,$tab_maarch_value,$subdocserver.str_pad($init_file,4,"0",STR_PAD_LEFT)."\\", $docserver_mini_path, $wbai,$tab_maarch_it_value); } } } return $sql_query_occur_builded; } function GetWorkBatchAutoImport() { $req_cwbai = "select param_value_int from parameters where id = 'work_batch_autoimport_id'"; //echo $req_cwbai; $req = mysql_query($req_cwbai); while($req_result=mysql_fetch_array($req)) { $work_batch_autoimport = $req_result[0] +1; } return $work_batch_autoimport; } function CreateLockFile($directory, $errorInfo,$wbai) { //Create a log file in the application folder $lock_file = $_ENV['aid']."autoimport.lck"; //echo "DIRECTORY".$directory; if (file_exists($lock_file)) { unlink ($lock_file); } $lock_file_opened = fopen($lock_file, "a"); fwrite($lock_file_opened, $errorInfo); fclose($lock_file_opened); echo "\r\nMoving imported files in subfoler : ".$directory."failed".$_ENV['slh'].$wbai."\r\n"; if (!is_dir($directory.$_ENV['slh']."failed".$_ENV['slh'])) { mkdir ($directory.$_ENV['slh']."failed".$_ENV['slh'], 0777); } if (!is_dir($directory.$_ENV['slh']."failed".$_ENV['slh'].$wbai.$_ENV['slh'])) { mkdir ($directory.$_ENV['slh']."failed".$_ENV['slh'].$wbai.$_ENV['slh'], 0777); } $ClassScan= dir($directory); echo "mail to ".$_ENV['mail']; //mail($_ENV['mail'], 'Maarch AutoImport stopped', "Maarch Auto Import has been stopped, you have to delete autoimport.lck to reboot the script","From: dev@maarch.org \r\nReply-To: dev@maarch.org \r\nContent-Type: text/html; charset=\"iso-8859-1\"\r\n"); while(($filescan=$ClassScan->read())!=false) { if($filescan=='.'||$filescan=='..' ||$filescan=='backup' ||$filescan=='failed') { continue; } else { if (!copy($directory.$filescan, $directory."failed".$_ENV['slh'].$wbai.$_ENV['slh'].$filescan)) { echo "Unable to move file. AutoImport has been stopped!\r\n"; $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> ERRNO : 6.\r\n"; $log=$_ENV['log']; exit(); } else { unlink ($directory.$filescan); } } } } function MoveImportedFiles($directory,$wbai) { $ClassScan= dir($directory); if (!is_dir($directory.$_ENV['slh']."backup".$_ENV['slh'])) { mkdir ($directory.$_ENV['slh']."backup".$_ENV['slh'], 0777); } if (!is_dir($directory.$_ENV['slh']."backup".$_ENV['slh'].$wbai.$_ENV['slh'])) { mkdir ($directory.$_ENV['slh']."backup".$_ENV['slh'].$wbai.$_ENV['slh'], 0777); } $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> Moving imported files in subfoler : ".$directory."backup".$_ENV['slh'].$wbai."\r\n"; while(($filescan=$ClassScan->read())!=false) { if($filescan=='.'||$filescan=='..' ||$filescan=='backup' ||$filescan=='failed') { continue; } else { if (!copy($directory.$filescan, $directory."backup".$_ENV['slh'].$wbai.$_ENV['slh'].$filescan)) { $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> ****Error**** Move failed.\r\n"; $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> ERRNO : 7.\r\n"; $log=$_ENV['log']; $auto_import_directory = $_ENV['aid']; Function_log($log, $auto_import_directory); CreateLockFile($_ENV['sid'], "1",$wbai); exit(); } unlink ($directory.$filescan); } } } function GetDocSeverLocation($docserver_name) //Return physical location of the docserver { $req_gdsl = "SELECT PATH_TEMPLATE from docservers where DOCSERVER_ID='".$docserver_name."'"; $req = mysql_query($req_gdsl); while($req_result=mysql_fetch_array($req)) { $docserver_location = $req_result[0]; } return $docserver_location; } function UpdateWorkingBatchAutoImport($work_batch_autoimport) { //echo "TETS".$work_batch_autoimport; $req_uwbai = "update parameters set param_value_int = '".$work_batch_autoimport."' where id = 'work_batch_autoimport_id'"; $req = mysql_query($req_uwbai); } function SearchImageOfXml($directory) //Allows to know if there is an image associate with the current xml { if (dir($directory) <> "") { return true; } else { return false; } } function ExtractFileExt($sFullPath) { //Return the file's extention $sName = $sFullPath; if (strpos($sName, ".")==0) { $ExtractFileExt = ""; } else { $ExtractFileExt = explode (".", $sName); } return $ExtractFileExt[1]; } function ExtractFileName($sFullPath) { //Return only name of the file if ((strpos($sFullPath, $_ENV['slh'] == 0 ) || (substr($sFullPath, -1) == $_ENV['slh']))) { $ExtractFileName = ""; exit(); } $test = substr($sFullPath, strpos($sFullPath, $_ENV['slh']) +1); } function DocServerSize_init($docserver_id) { //Return the actual size of the DocServer $req = "SELECT SIZE_LIMIT, ACTUAL_SIZE FROM docservers WHERE DOCSERVER_ID = '".$docserver_id."'"; $docserversize_req = mysql_query($req); while ($result = mysql_fetch_array($docserversize_req)) { $actual_docserver_size = $result[1]; $available_space = $result[0] - $result[1]; } return $available_space; } function DocServerSize_update ($docserver_id, $the_size) { //Uptdate the actual size of the DocServer $req1 = "Select ACTUAL_SIZE FROM docservers WHERE DOCSERVER_ID='".$docserver_id."'"; $docserverupdate_value = mysql_query($req1); while ($result= mysql_fetch_array($docserverupdate_value)) { $actual_size = $result[0]; $size = ($actual_size + $the_size); $req2 = "update docservers SET ACTUAL_SIZE = '".$size."' WHERE DOCSERVER_ID = '".$docserver_id."'"; $docserverupdate_req = mysql_query($req2); } } function Checking_available_space($available_space, $Actual_transfert_size) { //echo $available_space." - ".$Actual_transfert_size; if (($available_space - $Actual_transfert_size) > 0) { //echo "\nThe free space available in the docserver is sufficient to continue..."; } else { //echo "\nThe free space available in the docserver is not sufficient to continue..."; //$_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> *****ERROR***** The free space available in the docserver is not sufficient to continue. End of application.\r\n"; //$_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> ERRNO : 2.\r\n"; //$log=$_ENV['log']; //$auto_import_directory = $_ENV['aid']; //Function_log($log, $auto_import_directory); //CreateLockFile($_ENV['sid'], "1",$wbai); //exit(); } } function buildDirectory($docserver, $Filename, $FilePath,$nbfiles, $ftp_path, $conn_id,$lot) { //Copy the file in the DocServer if (ftp_dir($ftp_path,str_replace($_ENV['slh'], "",$lot),$conn_id) == true) { $docname = str_pad($nbfiles, 4, "0", STR_PAD_LEFT); //echo $FilePath."&".$Filename; if ($FilePath <> "" && $Filename <> "") { $extTab = explode(".",$Filename); if (!ftp_put($conn_id, $ftp_path.$lot.$docname.".".strtoupper($extTab[1]), $FilePath.$Filename, FTP_BINARY)) //if (!copy($FilePath.$Filename, $docserver.$docname.".".strtoupper($extTab[1]))) { $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> *****ERROR***** Copy failed. Application stopped.\r\n"; $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> ERRNO : 3.\r\n"; $log=$_ENV['log']; $auto_import_directory = $_ENV['aid']; CreateLockFile($_ENV['sid'], "1",$wbai); Function_log($log, $auto_import_directory); exit(); } $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> New file created : ".$docserver.$fodername.$docname.".".strtoupper($extTab[1])."\r\n"; return $docserver.$fodername.$docname.".".strtoupper($extTab[1]); } } } function Function_log($eventInfo, $auto_import_directory) { //Create a log file in the application folder $log_file = $auto_import_directory."log.txt"; //if (file_exists($log_file)) //{ // unlink ($log_file); //} $log_file_opened = fopen($log_file, "a"); fwrite($log_file_opened, $eventInfo); fclose($log_file_opened); } function Error($Filename, $FilePath) { // If the application found an error, it stop process. echo "Error level 1."; $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> Error level 1\r\n"; } function WriteInSqlFile($sql_import_file,$query, $auto_import_directory) { //Write the SQL query in a csv file $sql_import_file_opened = fopen($auto_import_directory.$sql_import_file, "a"); fwrite($sql_import_file_opened, $query); fclose($sql_import_file_opened); } function BuildSqlQuery($file_path,$docserver_name,$file_destination,$tab_maarch_value,$subdocserver,$docserver, $wbai) { //Create the CSV //$tab_insert_line_value = array(); $only_file_path = explode(".",$file_path); $ext = strtr(ExtractFileExt($file_path), ExtractFileExt($file_path), "XML"); $xml_file = ($only_file_path[0].".".$ext); //echo $xml_file; $xml_file_loaded = simplexml_load_file($xml_file); //Calculate Bimask Value --- Integration CSF //$bitmask_value = $xml_file_loaded->HEADER->BITMASK; //$ret=(bitmask_decompose((double)$bitmask_value)); //for ($o = 0; $o < count($ret) ; $o++) //{ //Recuperation du TYPEID en fonciton de la valeur BITMASK //$this_bitmask = restore_pow($ret[$o]); //$this_type = mysql_query("SELECT TYPE_ID FROM doctypes WHERE BITMASK = '".$this_bitmask."' "); //while ($req_result_type = mysql_fetch_array($this_type)) //{ // $this_type_id = $req_result_type[0]; //} $tab_maarch_value_bis = $tab_maarch_value; $j=0; $insert_line_value .= "'AUTOIMPORT'"; $insert_line_value .= ",now() "; $insert_line_value .= ",'".$docserver_name."'"; $temp = str_replace($_ENV['slh'], "#", $subdocserver); $insert_line_value .= ",'".str_replace("\\", "#", $temp)."'"; // $insert_line_value .= ",'".str_replace($_ENV['slh'], "#", $subdocserver)."'"; $insert_line_value .= ",'".str_replace($docserver.str_replace("\\","\\",$subdocserver), "",$file_destination)."'"; //$insert_line_value .= ",'".ExtractFileName($file_path)."'"; $insert_line_value .= ",'".md5_file($file_path)."'"; $insert_line_value .= ",'".filesize($file_path)."'"; $insert_line_value .= ",'".ExtractFileExt($file_path)."'"; $insert_line_value .= ",'".$wbai."'"; //$insert_line_value .= ",'".$this_type_id."'"; $insert_line_value .= ",'NEW'"; //write the xml value in the good sql file to import foreach($xml_file_loaded->HEADER as $HEADER) { for ($j = 1; $j <= count($tab_maarch_value); $j++) { $var = 0; $xml_value_content[$j] = utf8_encode($HEADER -> $tab_maarch_value[$j]); $insert_line_value .= ",'".utf8_decode($xml_value_content[$j])."'"; } } $insert_line_value .= "\r\n"; //array_push($tab_insert_line_value, $insert_line_value); //} return $insert_line_value; } if($argc != 2 ) { echo "You must specify the configuration file."; exit; } else { $conf = $argv[1]; if(!file_exists($conf)) { echo "The read of the configuration file has been stopped by Maarch Auto Import (Xml Error)."; exit; } // Loading oh the xml config file. $_ENV['log'] .= "<".date("d-m-Y")." - ".date("H:i:s")."> Loading xml config file : ".$conf."\r\n"; $xmlconfig = simplexml_load_file($conf); foreach($xmlconfig->CONFIG as $CONFIG) { $mapping_file = $CONFIG->MAPPING_FILE; $mapping_file_iteratif = $CONFIG->MAPPING_FILE_ITERATIF; $scan_import_directory = $CONFIG->SCAN_IMPORT_DIRECTORY; $_ENV['sid']= $scan_import_directory; $location_server = $CONFIG->LOCATION; $data_base = $CONFIG -> DATABASE; $user_name = $CONFIG -> USER_NAME; $password = $CONFIG->PASSWORD; $docserver_name = $CONFIG->DOCSERVER_NAME; $date_format = $CONFIG->DATE_FORMAT; $date_time_format = $CONFIG -> DATE_TIME_FORMAT; $sql_import_file_name = $CONFIG -> SQL_IMPORT_FILE_NAME; $auto_import_directory = $CONFIG -> AUTO_IMPORT_DIRECTORY; $slh = $CONFIG -> UNIX_SYSTEM; $_ENV['aid'] = $auto_import_directory; $tab_table_maarch[1] = $CONFIG -> TABLE_NAME; $ftp_loc = $CONFIG->FTP_LOC; $ftp_usr = $CONFIG->FTP_USR; $ftp_pwd = $CONFIG->FTP_PWD; $ftp_port = $CONFIG->FTP_PORT; $_ENV['mail'] = $CONFIG->MAIL; $_SESSION['data_base_type'] = $data_base_type; $data_base_type = $CONFIG->DATABASETYPE; } if ($slh == '') { echo "You need to specify your Os system in the configuration file. AutoImport has been locked!"; CreateLockFile($_ENV['sid'], "1", $wbai); } if ($slh == "true") { $_ENV['slh'] = "/"; $_ENV['osname'] = "UNIX"; } else { $_ENV['slh'] = "\\"; $_ENV['osname'] = "WINDOWS"; } if(file_exists($auto_import_directory."autoimport.lck")) { echo "An error has been found while the last batch. AutoImport stopped!\r\n Please check you configuration file\r\n You have to delete the lock file in AutoImport folder to restart this application"; exit; } $lock_file = $_ENV['aid']."autoimport.lck"; $lock_file_opened = fopen($lock_file, "a"); fwrite($lock_file_opened, $errorInfo); fclose($lock_file_opened); //definition of the connection $UID = $user_name; $PWD =$password; $SERVER = $location_server; $DATABASE = $data_base; //Open the connection for my sql // $connect=mysql_connect($SERVER, $UID, $PWD); // $selectdb=mysql_select_db($DATABASE); //Open the connexion for Postgre SQL $conn_string = "host='".$SERVER."' port=5432 dbname=".$DATABASE." user=".$UID." password=".$PWD; $connect = mysql_connect($SERVER, $UID, $PWD); $connect = mysql_select_db($DATABASE); if (!$connect) { echo "Connexion a la base de donnees impossible - Probleme de communication"; CreateLockFile($_ENV['sid'], "1",$wbai); exit(); } //Return location of docserver $docserver = GetDocSeverLocation($docserver_name); //Caculing the work batch autoimport number $wbai = GetWorkBatchAutoImport(); $wbai = str_pad($wbai,8,"0", STR_PAD_LEFT); $_ENV['log'] .= "<".date("d-m-Y")." - ".date("H:i:s")."> AutoImport WorkBatch is : ".$wbai. "\r\n"; //Updating the work batch autoimport number UpdateWorkingBatchAutoImport($wbai); //Calcul of the init size avaible on docserver $available_space = DocServerSize_init($docserver_name); $_ENV['log'] .= "<".date("d-m-Y")." - ".date("H:i:s")."> Target OS : ".$_ENV['osname']."\r\n"; //Loading the mapping xml file $_ENV['log'] .= "<".date("d-m-Y")." - ".date("H:i:s")."> Loading mapping xml file\r\n"; $xmlmapping = simplexml_load_file($mapping_file); $i_map = 1; foreach($xmlmapping->MAPPING_FILE as $MAPPING_FILE) { foreach($MAPPING_FILE->ELEMENT as $ELEMENT) { $tab_maarch_field[$i_map] = $ELEMENT->COLUMN; $tab_maarch_value[$i_map] = $ELEMENT->VALUE; $i_map++; } } //Scan the import directory $init_path = $_ENV['slh']; $folder = ($scan_import_directory); $folder2 = ($docserver); $_ENV['log'] .= "<".date("d-m-Y")." - ".date("H:i:s")."> Find current directory and file of the docserver\r\n"; //creation of the current directory of the docserver to use $nbfile = 0; $nbfolder = 0; $init_file = 0; $subdocserver = date("Y").$_ENV['slh'].date("m").$_ENV['slh'].$wbai.$_ENV['slh']; //echo $subdocserver; $init_directory = $docserver.$subdocserver; //if (!is_dir($docserver)) //{ //mkdir ($docserver, 0777); //} //Connexion FTP Owliance $conn_id = ftp_connect($ftp_loc); $login_result = ftp_login($conn_id, $ftp_usr, $ftp_pwd) or die("You do not have access to this ftp server"); if (ftp_dir(".", date("Y"), $conn_id)<>true) { ftp_mkdir($conn_id, date("Y").$_ENV['slh']); } if (ftp_dir(date("Y"), date("m"), $conn_id)<>true) { ftp_mkdir($conn_id, date("Y").$_ENV['slh'].date("m").$_ENV['slh']); } $ClassScan= dir($folder); $test_read = 0; while(($filescan=$ClassScan->read())!=false) { if($filescan=='.'||$filescan=='..' ||$filescan=='backup' ||$filescan=='failed') { continue; } else { $test_read++; } } if($test_read == 0) { if (file_exists($lock_file)) { unlink ($lock_file); } exit(); } if (ftp_dir(date("m"), $wbai, $conn_id)<>true) { ftp_mkdir($conn_id, date("Y").$_ENV['slh'].date("m").$_ENV['slh'].$wbai.$_ENV['slh']) ; } $ftp_path = date("Y").$_ENV['slh'].date("m").$_ENV['slh'].$wbai.$_ENV['slh']; //echo $docserver.date("Y").$_ENV['slh'].date("m").$_ENV['slh'].$wbai.$_ENV['slh']; $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> Scanning import folder\r\n"; $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> Current target docserver location for import : " .$init_directory."\r\n"; $request = Scan($folder, $available_space, $init_directory,$docserver_name,$tab_maarch_value,$subdocserver,$docserver,$wbai,$init_file,$ftp_path,$conn_id); $the_size = $_ENV['current_transfert_size']; DocserverSize_update($docserver_name, $the_size); //Create the file with the SQL query for ($z=1; $z==1; $z++) { $tab_sql_file[$z] = "sql_import_file_".$tab_table_maarch[$z].".sql"; //delete existant import sql file if (file_exists($auto_import_directory.$tab_sql_file[$z])) { unlink ($auto_import_directory.$tab_sql_file[$z]); } $_ENV['log'] .= "<".date("d-m-Y")." - ".date("H:i:s")."> Creation of SQL command file in : ".$tab_sql_file[$z]."\r\n"; WriteInSqlFile($tab_sql_file[$z], $request, $auto_import_directory); } $maarch_field = 'typist,creation_date, docserver_id, path, filename, fingerprint, filesize, format ,work_batch, status, '; if (sizeof($tab_maarch_field) <> 0) { //$maarch_field .= ","; } for ( $j=1 ; $j<=sizeof($tab_maarch_field) ; $j++) { $maarch_field .= ' '.$tab_maarch_field[$j].','; } $maarch_field = substr($maarch_field, 0, -1); for ($z=1; $z==1; $z++) { $tab_sql_file[$z] = str_replace($_ENV['slh'],$_ENV['slh'].$_ENV['slh'],$tab_sql_file[$z]); //$req = "LOAD DATA LOCAL INFILE '".str_replace($_ENV['slh'],$_ENV['slh'].$_ENV['slh'],$auto_import_directory).$tab_sql_file[$z]."' INTO TABLE ".$tab_table_maarch[$z]." FIELDS TERMINATED BY ';' LINES TERMINATED BY '\\n' (".$maarch_field.");"; //echo $req; $contenu_array = file(str_replace($_ENV['slh'],$_ENV['slh'].$_ENV['slh'],$auto_import_directory).$tab_sql_file[$z]); for ($in=0; $in *****ERROR***** Maarch Auto Import cannot execute query on database.\r\n"; $_ENV['log'] .="<".date("d-m-Y")." - ".date("H:i:s")."> ERRNO : 4.\r\n"; $log=$_ENV['log']; $auto_import_directory = $_ENV['aid']; Function_log($log, $auto_import_directory); CreateLockFile($scan_import_directory, "1",$wbai); exit(); } } $_ENV['log'] .= "<".date("d-m-Y")." - ".date("H:i:s")."> ".$req."\r\n"; //Execute the SQL query. } $_ENV['log'] .= "<".date("d-m-Y")." - ".date("H:i:s")."> Import files moved to :\r\n"; MoveImportedFiles($folder,$wbai); $_ENV['log'] .= "<".date("d-m-Y")." - ".date("H:i:s")."> End of application\r\n"; $log = $_ENV['log']; Function_log($log, $auto_import_directory); if (file_exists($lock_file)) { unlink ($lock_file); } ftp_close($conn_id); } ?>