3 require_once 'Pman/Roo.php';
5 class Pman_Core_ExcelToJson extends Pman_Roo
9 if (HTML_FlexyFramework::get()->cli) {
12 return parent::getAuth();
17 $this->transObj = DB_DataObject::Factory('invhist_transfer');
19 $this->transObj->query('BEGIN');
21 PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, array($this, 'onPearError'));
23 $img = DB_DataObject::Factory('images');
26 'ontable' => 'ipshead'
28 $img->onUpload(false);
30 require_once 'File/Convert.php';
31 $fc = new File_Convert($img->getStoreName(), $img->mimetype );
32 $csv = $fc->convert('text/csv');
33 $ret = $this->importCsv($csv);
37 $this->jdata($ret['data'], false, isset($ret['extra']) ? $ret['extra'] : array() );
41 function importCsv($csv)
43 ini_set("auto_detect_line_endings", true);
45 $fh = fopen($csv, 'r');
47 $this->jerr("invalid file");
56 while(false !== ($n = fgetcsv($fh,10000, ',', '"'))) {
59 if(!strlen(trim(implode('', $n)))){ // blank line;
68 $extra[preg_replace(array('/\s/', '/\:/'), '', $n[0])] = $n[1];
75 $cols[] = strtoupper(trim($k));
86 foreach($cols as $i=>$k) {
96 return array('extra' => $extra, 'data' => $rows);;