Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 2
0
        $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 {
Ejemplo n.º 3
0
        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])) {
Ejemplo n.º 4
0
$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] = '';
            }
Ejemplo n.º 5
0
    $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;