/** * method to execute the process process * it's called automatically by the cli main controller */ public function execute() { $possibleOptions = array('type' => false, 'parser' => false, 'path' => true, 'backup' => true); if (($options = $this->getController()->getInstanceOptions($possibleOptions)) === FALSE) { return; } $this->_controller->addOutput("Parser selected: " . $options['parser']); //$options['parser'] = Billrun_Parser::getInstance(array('type' => $options['parser'])); $this->_controller->addOutput("Loading processor"); $processor = Billrun_Processor::getInstance($options); $this->_controller->addOutput("Processor loaded"); if ($processor) { $this->_controller->addOutput("Starting to process. This action can take a while..."); // buffer all action output ob_start(); if (isset($options['path']) && $options['path']) { $linesProcessedCount = $processor->process(); } else { $linesProcessedCount = $processor->process_files(); } // write the buffer into log and output $this->_controller->addOutput("processed " . $linesProcessedCount . " lines"); $this->_controller->addOutput(ob_get_contents()); ob_end_clean(); } else { $this->_controller->addOutput("Processor cannot be loaded"); } }
public function indexAction() { die; // don't enter this by mistake $parser = Billrun_Parser::getInstance(array('type' => 'separator', 'separator' => ",")); $parser->setSeparator(","); $import = Billrun_Processor::getInstance(array('type' => 'importzones', 'parser' => $parser, 'path' => '/home/shani/Documents/S.D.O.C/BillRun/backups/zone.csv')); if ($import === FALSE) { exit('cannot load import processor'); } $import->setBackupPath(array()); // no backup $importData = $import->process(); $merge = Billrun_Processor::getInstance(array('type' => 'mergerates', 'parser' => $parser, 'path' => '/home/shani/Documents/S.D.O.C/BillRun/backups/tariff_v2_filtered.csv')); if ($merge === FALSE) { exit('cannot load merge processor'); } $merge->setBackupPath(array()); // no backup $mergeData = $merge->process(); $mergePackage = Billrun_Processor::getInstance(array('type' => 'mergezonepackage', 'parser' => $parser, 'path' => '/home/shani/Documents/S.D.O.C/BillRun/backups/zone_group_element.csv')); if ($mergePackage === FALSE) { exit('cannot load merge processor'); } $mergePackage->setBackupPath(array()); // no backup $mergePackageData = $mergePackage->process(); $merge_intl_networks = Billrun_Processor::getInstance(array('type' => 'mergeintlnetworks', 'parser' => $parser, 'path' => '/home/shani/Documents/S.D.O.C/BillRun/backups/mobile_network.csv')); if ($merge_intl_networks === FALSE) { exit('cannot load import processor'); } $merge_intl_networks->setBackupPath(array()); // no backup $importMapData = $merge_intl_networks->process(); $wholesale = Billrun_Processor::getInstance(array('type' => 'wholesaleoutrates', 'parser' => $parser, 'path' => '/home/shani/Documents/S.D.O.C/BillRun/backups/wholesale/wsalein_tariff_out_v2.csv')); if ($wholesale === FALSE) { exit('cannot load import processor' . PHP_EOL); } $wholesale->setBackupPath(array()); // no backup $importWholesaleZones = $wholesale->process(); $wholesalein = Billrun_Processor::getInstance(array('type' => 'wholesaleinrates', 'parser' => $parser, 'path' => '/home/shani/Documents/S.D.O.C/BillRun/backups/wholesale/wsalein_tariff_in_v2.csv')); if ($wholesalein === FALSE) { exit('cannot load import processor' . PHP_EOL); } $wholesalein->setBackupPath(array()); // no backup $importWholesaleIn = $wholesalein->process(); $this->getView()->title = "BillRun | The best open source billing system"; $this->getView()->content = "Data import count: " . count($importWholesaleZones) . "<br />" . PHP_EOL . "Data merge count: " . count($mergeData) . "<br />" . "Data merge package count: " . count($mergePackageData) . "<br />" . "Data merge package count: " . count($mergePackageData) . "<br />" . "Merge intl. networks count: " . $importMapData . "<br />" . PHP_EOL; }
/** * Process an ILD file * @param $filePath Path to the filethat needs processing. * @param $type the type of the ILD. */ private function processType($type) { $options = array('type' => $type, 'parser' => 'fixed'); $processor = Billrun_Processor::getInstance($options); if ($processor) { $processor->process_files(); } else { Billrun_Factory::log()->log("error with loading processor", Zend_log::ERR); return false; } $data = $processor->getData(); Billrun_Factory::log()->log("Process type: " . $type, Zend_log::INFO); // Billrun_Factory::log()->log("file path: " . $filePath, Zend_log::INFO); Billrun_Factory::log()->log(isset($data['data']) ? "import lines: " . count($data['data']) : "no data received", Zend_log::INFO); }