Index: trunk/core/kernel/db/db_event_handler.php =================================================================== diff -u -N -r7635 -r7855 --- trunk/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 7635) +++ trunk/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 7855) @@ -122,6 +122,7 @@ 'OnExport' => Array('self' => 'view|advanced:export'), 'OnExportBegin' => Array('self' => 'view|advanced:export'), + 'OnExportProgress' => Array('self' => 'view|advanced:export'), // theese event do not harm, but just in case check them too :) @@ -909,10 +910,10 @@ function OnCreate(&$event) { $object =& $event->getObject( Array('skip_autoload' => true) ); - + /* @var $object kDBItem */ + $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); - if($items_info) - { + if ($items_info) { list($id,$field_values) = each($items_info); $object->SetFieldsFromHash($field_values); } @@ -1781,6 +1782,10 @@ */ function OnCreateCustomFields(&$event) { + if (defined('IS_INSTALL') && IS_INSTALL && !$this->Application->TableFound('CustomField')) { + return false; + } + $main_prefix = $this->Application->getUnitOption($event->Prefix, 'ParentPrefix'); if (!$main_prefix) return false; $item_type = $this->Application->getUnitOption($main_prefix, 'ItemType'); @@ -1802,7 +1807,7 @@ // 2. create fields (for customdata item) $fields = $this->Application->getUnitOption($event->Prefix, 'Fields', Array()); - $field_options = Array('type' => 'string', 'formatter' => 'kMultiLanguage', 'not_null' => 1, 'db_type' => 'text', 'default' => ''); + $field_options = Array('type' => 'string', 'formatter' => 'kMultiLanguage', 'db_type' => 'text', 'default' => ''); foreach ($custom_fields as $custom_id => $custom_params) { if (isset($fields['cust_'.$custom_id])) continue; $fields['cust_'.$custom_id] = $field_options; @@ -2005,7 +2010,7 @@ list($id,$field_values) = each($items_info); $preset_key = $field_values['ExportPresets']; - $user =& $this->Application->recallObject('u'); + $user =& $this->Application->recallObject('u.current'); $export_settings = $user->getPersistantVar('export_settings'); if (!$export_settings) return ; $export_settings = unserialize($export_settings);