Index: branches/unlabeled/unlabeled-1.35.2/core/units/general/cat_event_handler.php =================================================================== diff -u -r3853 -r4039 --- branches/unlabeled/unlabeled-1.35.2/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 3853) +++ branches/unlabeled/unlabeled-1.35.2/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 4039) @@ -1396,11 +1396,12 @@ $field_values['ExportColumns'] = $field_values['ExportColumns'] ? explode('|', substr($field_values['ExportColumns'], 1, -1) ) : Array(); $field_values['start_from'] = 0; - $this->Application->StoreVar($event->getPrefixSpecial().'_options', serialize($field_values) ); - + $export_object->saveOptions($event, $field_values); + if( $export_object->verifyOptions($event) ) { - $this->doExport($event); + $event->redirect = $this->getModuleFolder($event).'/'.$event->Special.'_progress'; + } else { @@ -1410,63 +1411,6 @@ } /** - * Enter description here... - * - * @param kEvent $event - */ - function doExport(&$event) - { - if ($event->Name == 'OnExportBegin') - { - $done_percent = 0; - } - else { - $export_options = unserialize($this->Application->RecallVar($event->getPrefixSpecial().'_options')); - $done_percent = round($export_options['start_from'] * 100 / $export_options['total_records'], 0); - } - - $block_params = Array( 'name' => $this->getModuleFolder($event).'/'.$event->Special.'_progress', - 'percent_done' => $done_percent, - 'percent_left' => 100 - $done_percent); - - $this->Application->InitParser(); - $this->Application->setUnitOption($event->Prefix, 'AutoLoad', false); - echo $this->Application->ParseBlock($block_params); - flush(); - - $export_object =& $this->Application->recallObject('CatItemExportHelper'); - - $action_method = 'perform'.ucfirst($event->Special); - $field_values = $export_object->$action_method($event); - - if ($field_values['start_from'] == $field_values['total_records']) - { - if ($event->Special == 'import') { - $this->Application->StoreVar('PermCache_UpdateRequired', 1); - $event->SetRedirectParam('index_file', 'category/category_maint.php'); - } - else { - $event->redirect = $this->getModuleFolder($event).'/'.$event->Special.'_finish'; - } - } - else { - $event->redirect = $this->getModuleFolder($event).'/'.$event->Special.'_progress'; - $redirect_params = Array($event->getPrefixSpecial().'_event' => 'OnExportProgress', 'pass' => 'm,'.$event->getPrefixSpecial(), 'rand' => rand(0,1000000)); - $event->setRedirectParams($redirect_params); - } - } - - /** - * Next export steps - * - * @param kEvent $event - */ - function OnExportProgress(&$event) - { - $this->doExport($event); - } - - /** * Sets correct available & export fields * * @param kEvent $event