5 require_once 'Pman/Roo.php';
7 class Pman_Admin_Import_Enum extends Pman_Roo
12 if (HTML_FlexyFramework::get()->cli) {
15 return parent::getAuth();
22 PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, array($this, 'onPearError'));
24 $this->sessionState(0); // turn off the session..
26 $img = DB_DataObject::Factory('images');
29 'ontable' => 'ipshead'
31 $img->onUpload(false);
33 require_once 'File/Convert.php';
34 $fc = new File_Convert($img->getStoreName(), $img->mimetype );
35 $csv = $fc->convert('text/csv');
37 $this->importCsv($csv);
41 function importCsv($csv)
44 ini_set('memory_limit', '1024M');
46 ini_set("auto_detect_line_endings", true);
48 if(empty($_REQUEST['etype'])){
49 $this->jerr('Missing etype');
52 $enum = DB_DataObject::factory('core_enum');
53 if(!$enum->get('name', $_REQUEST['etype'])){
54 $this->jerr('Invalid etype');
57 $fh = fopen($csv, 'r');
59 $this->jerr("invalid file");
62 $req = array('NAME','DISPLAY NAME');
67 while(false !== ($n = fgetcsv($fh,10000, ',', '"'))) {
68 if(!array_filter($n)){ // empty row
75 $cols[] = strtoupper(trim($k));
81 if (!in_array($r,$cols)) {
88 foreach($cols as $i=>$k) {
95 $this->jerr("could not find a row with " . implode(' / ', $req));
102 foreach ($rows as $row){
103 $e = DB_DataObject::factory('core_enum');
104 if($e->get('name', $row['NAME'])){
108 $e = DB_DataObject::factory('core_enum');
110 'name' => $row['NAME'],
111 'display_name' => $row['DISPLAY NAME'],
112 'etype' => $_REQUEST['etype'],
116 $e->onInsert(array());
121 $this->jok('data imported successfully! total : ' . $count);