/** * new banksta store in database bankstaDoUpload() method and returns preprocessed * bank statement hash for further usage * * @param string $bankstadata array returned from * * @return string */ public function bankstaPreprocessingPrivatDbf($bankstadata) { $result = ''; if (!empty($bankstadata)) { if (file_exists(self::BANKSTA_PATH . $bankstadata['savedname'])) { //processing raw data $newHash = $bankstadata['hash']; $result = $newHash; $newFilename = $bankstadata['filename']; $newAdmin = whoami(); $payId = vf($this->altCfg['UKV_BSPB_PAYID'], 3); $dbf = new dbf_class(self::BANKSTA_PATH . $bankstadata['savedname']); $num_rec = $dbf->dbf_num_rec; $importCounter = 0; for ($i = 0; $i <= $num_rec; $i++) { $eachRow = $dbf->getRowAssoc($i); if (!empty($eachRow)) { if (@$eachRow[self::PB_BANKSTA_CONTRACT] != '') { $newDate = date("Y-m-d H:i:s"); $newContract = trim($eachRow[self::PB_BANKSTA_CONTRACT]); $newContract = mysql_real_escape_string($newContract); $newSumm = trim($eachRow[self::PB_BANKSTA_SUMM]); $newSumm = mysql_real_escape_string($newSumm); $newAddress = iconv(self::BANKSTA_IN_CHARSET, self::BANKSTA_OUT_CHARSET, $eachRow[self::PB_BANKSTA_ADDRESS]); $newAddress = mysql_real_escape_string($newAddress); $newRealname = iconv(self::BANKSTA_IN_CHARSET, self::BANKSTA_OUT_CHARSET, $eachRow[self::PB_BANKSTA_REALNAME]); $newRealname = mysql_real_escape_string($newRealname); $newNotes = iconv(self::BANKSTA_IN_CHARSET, self::BANKSTA_OUT_CHARSET, $eachRow[self::PB_BANKSTA_NOTES]); $newNotes = mysql_real_escape_string($newNotes); $pbDate = $eachRow[self::PB_BANKSTA_DATE]; $pbDate = strtotime($pbDate); $pbDate = date("Y-m-d", $pbDate); $newPdate = iconv(self::BANKSTA_IN_CHARSET, self::BANKSTA_OUT_CHARSET, $pbDate); $newPdate = mysql_real_escape_string($newPdate); $newPtime = iconv(self::BANKSTA_IN_CHARSET, self::BANKSTA_OUT_CHARSET, curtime()); $newPtime = mysql_real_escape_string($newPtime); $this->bankstaCreateRow($newDate, $newHash, $newFilename, $newAdmin, $newContract, $newSumm, $newAddress, $newRealname, $newNotes, $newPdate, $newPtime, $payId); $importCounter++; } } } log_register('UKV BANKSTA IMPORTED ' . $importCounter . ' ROWS'); } else { show_error(__('Strange exeption')); } } else { throw new Exception(self::EX_BANKSTA_PREPROCESS_EMPTY); } return $result; }
$fileDbf = $uploaddir . $listFiles[0]['stored_filename']; echo "<b>ARQUIVO =" . $listFiles[0]['filename'] . "</b>"; unlink($uploaddir . $filename); } } elseif (strtoupper($ext[1]) == "DBF") { $fileDbf = $uploaddir . $filename; } ob_flush(); flush(); $arrCampoData = array("DT_NOTIFIC", "DT_NASC", "DT_DIAG", "EVO_DT"); $db = new DB_MySQL($db_conn); $db->Connect(); $db->Query("SET NAMES 'utf8'"); $db->Query("SET CHARACTER SET utf8"); $db->Query("truncate table {$tabelaNome}"); $dbf = new dbf_class($fileDbf); $num_rec = $dbf->dbf_num_rec; $num_field = $dbf->dbf_num_field; #$num_rec =5620; $qtdeErr = 0; $field_names = $dbf->dbf_names; foreach ($field_names as $indice => $campo) { $campos .= $campo['name'] . ','; } $campos = substr($campos, 0, strlen($campos) - 1); for ($i = 0; $i < $num_rec; $i++) { $row = $dbf->getRowAssoc($i); foreach ($field_names as $ind => $campo) { if (in_array($campo['name'], $arrCampoData)) { $valores .= "'" . implode('', array_reverse(explode("/", $row[$campo['name']]))) . "',"; } else {
while (($file = readdir($dh)) !== false) { if (substr(strrchr($file, '.'), 1) == 'dbf') { $lovercase = strtolower($file); if ($lovercase == 'section.dbf' or $lovercase == 'itemgroup.dbf' or $lovercase == 'item.dbf') { array_push($array, $file); } } } } } //начинаем парсить //print_r($array); if (!empty($array)) { for ($z = 0; $z < count($array); $z++) { $file = $root . "/dbf/" . $array[$z]; $dbf = new dbf_class($file); //echo "<br />".$array[$i]; //echo str_replace('.dbf', '', $array[$z]); $num_rec = $dbf->dbf_num_rec; $header = $dbf->getheader(); //echo "<br />"; $num_field = $dbf->dbf_num_field; for ($i = 0; $i < $num_rec; $i++) { $row = $dbf->getRow($i); $sql = "SELECT CODE2 FROM " . strtolower(str_replace('.dbf', '', $array[$z])) . " WHERE CODE2='" . iconv('windows-1251', 'utf-8', $row[0]) . "'"; $db->query($sql); if ($db->getCount() > 0) { //если есть обновляем данные for ($j = 0; $j < $num_field; $j++) { $row[$j] = trim($row[$j]); if (!empty($row[$j])) {
$db->TruncateTable("hkmatrix"); //destroy table data $sql = "CREATE TABLE IF NOT EXISTS `hkmatrix` (\n `uid` int(11) NOT NULL AUTO_INCREMENT,\n `custgroup` varchar(4) NULL,\n `refnum` varchar(10) NULL,\n `prodgroup` varchar(254) NULL,\n `supplier` varchar(254) NULL,\n `prodcode` varchar(16) NULL,\n `matrix` varchar(1) NULL,\n `discount` decimal(10,2) NULL,\n `contract` decimal(10,2) NULL,\n `trade` decimal(10,2) NULL,\n `retail` decimal(10,2) NULL,\n `date_on` date DEFAULT NULL,\n `date_off` date DEFAULT NULL,\n\t`break1` decimal(5,2) NULL,\n\t\n\t`break2` decimal(5,2) NULL,\n\t\n\t`break3` decimal(5,2) NULL,\n\t\n\t`break4` decimal(5,2) NULL,\n\t\n\t`break5` decimal(5,2) NULL,\n\t\n\t`break6` decimal(5,2) NULL,\n\t\n\t`break7` decimal(5,2) NULL,\n\t`price1` decimal(10,2) NULL,`price2` decimal(10,2) NULL,`price3` decimal(10,2) NULL,`price4` decimal(10,2) NULL,`price5` decimal(10,2) NULL,`price6` decimal(10,2) NULL,`price7` decimal(10,2) NULL,\n\t `text` varchar(254) NULL,\n\t `type` varchar(4) NULL,\n PRIMARY KEY (`uid`)\n \n) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1"; $results = $db->Query($sql); if (!$results) { die('Error contacting database!' . $sql); } // open in read-write mode if (function_exists('dbase_open')) { // only if php was compiled with dbase support $updatemsg .= "Packing database.<br/>"; $dbo = dbase_open('datastore/hkmatrix.dbf', 2); // expunge the database dbase_pack($dbo); } $dbr = new dbf_class('datastore/hkmatrix.dbf'); $num_rec = $dbr->dbf_num_rec; $field_num = $dbr->dbf_num_field; //print" Num_rec: $num_rec Num_field $field_num <br>"; for ($i = 0; $i < $num_rec; $i++) { //print"<br> Record : $i <br>================<br>"; $row = $dbr->getRow($i); if (is_array($row)) { $rowkeys = array_keys($row); $sql = "INSERT INTO hkmatrix (custgroup,refnum,prodgroup,supplier,prodcode,matrix,discount,contract,trade,retail,date_on,date_off,break1,break2,break3,break4,break5,break6,break7,price1,price2,price3,price4,price5,price6,price7,text,type) VALUES ("; $k = 0; //build SQL from db columns foreach ($rowkeys as $key) { if ($row[$key] == NULL) { $row[$key] = ''; }
$thefile = $_POST['f']; } else { $thefile = "./datastore/HKSTOCK.DBF"; } if ($thefile) { if (function_exists('dbase_open')) { // only if php was compiled with dbase support $updatemsg .= "Packing database.<br/>"; $dbo = dbase_open($thefile, 2); // expunge the database dbase_pack($dbo); } //process hkstock.dBF $timer = new timerClass(); $timer->start(); $dbf = new dbf_class($dir . $thefile); $num_rec = $dbf->dbf_num_rec; $updatemsg .= "DBF records: {$num_rec}. <br/>"; $field_num = $dbf->dbf_num_field; $endexct = $timer->end(); if ($cli == "0") { echo '<form method="post" action="./update.php">'; echo '<table id="hkstock" border=0 width="100%" cellspacing=0 class="tablesorter">'; //echo $hdrrow; echo '<tbody>'; } for ($i = 0; $i < $num_rec; $i++) { $stockcount = 0; $insert = array(); $webready = "0"; $checksupp = FALSE;