Index: trunk/core/kernel/startup.php =================================================================== diff -u -N -r2566 -r2581 --- trunk/core/kernel/startup.php (.../startup.php) (revision 2566) +++ trunk/core/kernel/startup.php (.../startup.php) (revision 2581) @@ -26,12 +26,6 @@ include_once(KERNEL_PATH.'/globals.php'); // non OOP functions used through kernel, e.g. print_pre -if( file_exists(FULL_PATH.'/debug.php') ) -{ - k4_include_once(FULL_PATH.'/debug.php'); - if( defined('DEBUG_MODE') && DEBUG_MODE ) include_once(KERNEL_PATH.'/utility/debugger.php'); -} - safeDefine('INPORTAL_TAGS', true); $reg = '/'.preg_quote (DOC_ROOT, '/').'/i'; @@ -68,9 +62,17 @@ define('EXPORT_PATH', DOC_ROOT.BASE_PATH.'/admin/export'); define('GW_CLASS_PATH', MODULES_PATH.'/in-commerce/units/gateways/gw_classes'); // Payment Gateway Classes Path - safeDefine('ENV_VAR_NAME','env'); +k4_include_once(KERNEL_PATH.'/application.php'); +k4_include_once(MODULES_PATH.'/kernel/units/general/my_application.php'); + +if( file_exists(FULL_PATH.'/debug.php') ) +{ + k4_include_once(FULL_PATH.'/debug.php'); + if( defined('DEBUG_MODE') && DEBUG_MODE ) include_once(KERNEL_PATH.'/utility/debugger.php'); +} + k4_include_once(KERNEL_PATH.'/db/db_connection.php'); safeDefine('IMAGES_PATH', '/kernel/images/'); @@ -95,15 +97,12 @@ k4_include_once(KERNEL_PATH."/db/db_tag_processor.php"); k4_include_once(KERNEL_PATH."/event_handler.php"); - k4_include_once(KERNEL_PATH.'/db/db_event_handler.php'); +k4_include_once(MODULES_PATH.'/kernel/units/general/inp_db_event_handler.php'); k4_include_once(KERNEL_PATH."/utility/temp_handler.php"); // needed because of static calls from kBase // up to here -k4_include_once(KERNEL_PATH.'/application.php'); -k4_include_once(MODULES_PATH.'/kernel/units/general/my_application.php'); - //safeDefine('LOGIN_CONTROLLER', 'LoginController'); //safeDefine('USER_MODEL', 'User'); Index: trunk/core/kernel/db/db_tag_processor.php =================================================================== diff -u -N -r2505 -r2581 --- trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 2505) +++ trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 2581) @@ -71,6 +71,11 @@ $block_params['name'] = $params['spearator_block']; $separator = $this->Application->ParseBlock($block_params); $filter_menu = $this->Application->getUnitOption($this->Prefix,'FilterMenu'); + if(!$filter_menu) + { + trigger_error('no filters defined for prefix '.$this->Prefix.', but DrawFilterMenu tag used', E_USER_WARNING); + return ''; + } // Params: label, filter_action, filter_status $block_params['name'] = $params['item_block']; @@ -86,6 +91,7 @@ $filters = Array(); $prefix_special = $this->getPrefixSpecial(); + foreach($filter_menu['Filters'] as $filter_key => $filter_params) { if(!$filter_params) Index: trunk/core/kernel/db/dblist.php =================================================================== diff -u -N -r2428 -r2581 --- trunk/core/kernel/db/dblist.php (.../dblist.php) (revision 2428) +++ trunk/core/kernel/db/dblist.php (.../dblist.php) (revision 2581) @@ -517,10 +517,8 @@ function GetOrderDirection($pos=NULL) { - if(!$this->OrderFields[$pos]) - $pos = 0; - - return $this->OrderFields[$pos][1]; + if( !getArrayValue($this->OrderFields, $pos) ) $pos = 0; + return getArrayValue($this->OrderFields, $pos, 1); } /** Index: trunk/admin/config/edit_customfields.php =================================================================== diff -u -N -r2569 -r2581 --- trunk/admin/config/edit_customfields.php (.../edit_customfields.php) (revision 2569) +++ trunk/admin/config/edit_customfields.php (.../edit_customfields.php) (revision 2581) @@ -182,11 +182,12 @@ } -$objListView->ConfigureViewMenu($SortFieldVar,$SortOrderVar,$DefaultSortField,"","",0); +//$objListView->ConfigureViewMenu($SortFieldVar,$SortOrderVar,$DefaultSortField,"","",0); -$objListToolBar->AddToInitScript("fwLoadMenus();"); +//$objListToolBar->AddToInitScript("fwLoadMenus();"); $h = "\n\n\n"; +if( !isset($title) ) $title = ''; int_header($objListToolBar,NULL,$title, NULL, $h); ?>
" method=POST> Index: trunk/core/kernel/application.php =================================================================== diff -u -N -r2566 -r2581 --- trunk/core/kernel/application.php (.../application.php) (revision 2566) +++ trunk/core/kernel/application.php (.../application.php) (revision 2581) @@ -55,6 +55,13 @@ var $Factory; /** + * Reference to debugger + * + * @var Debugger + */ + var $Debugger = null; + + /** * Holds all phrases used * in code and template * @@ -70,6 +77,13 @@ var $DB; /** + * Maintains list of user-defined error handlers + * + * @var Array + */ + var $errorHandlers = Array(); + + /** * Returns kApplication instance anywhere in the script. * * This method should be used to get single kApplication object instance anywhere in the @@ -125,10 +139,12 @@ { error_reporting(0); ini_set('display_errors', 0); - - set_error_handler( Array(&$this,'handleError') ); } + $error_handler = set_error_handler( Array(&$this,'handleError') ); + if($error_handler) $this->errorHandlers[] = $error_handler; + + $this->DB = new kDBConnection(SQL_TYPE, Array(&$this,'handleSQLError') ); $this->DB->Connect(SQL_SERVER, SQL_USER, SQL_PASS, SQL_DB); $this->DB->debugMode = $this->isDebugMode(); @@ -1153,6 +1169,26 @@ fwrite($fp, '['.$time.'] #'.$errno.': '.strip_tags($errstr).' in ['.$errfile.'] on line '.$errline."\n"); fclose($fp); } + + if( !$this->errorHandlers ) return true; + + $i = 0; // while (not foreach) because it is array of references in some cases + $eh_count = count($this->errorHandlers); + while($i < $eh_count) + { + if( is_array($this->errorHandlers[$i]) ) + { + $object =& $this->errorHandlers[$i][0]; + $method = $this->errorHandlers[$i][1]; + $object->$method($errno, $errstr, $errfile, $errline, $errcontext); + } + else + { + $function = $this->errorHandlers[$i]; + $function($errno, $errstr, $errfile, $errline, $errcontext); + } + $i++; + } } /** Index: trunk/core/kernel/utility/debugger.php =================================================================== diff -u -N -r2578 -r2581 --- trunk/core/kernel/utility/debugger.php (.../debugger.php) (revision 2578) +++ trunk/core/kernel/utility/debugger.php (.../debugger.php) (revision 2581) @@ -1,10 +1,10 @@ Debugger =& $debugger; + $application->errorHandlers[] = Array(&$debugger, 'saveError'); + } + else + { + set_error_handler( Array(&$debugger, 'saveError') ); + } } + + if( dbg_ConstOn('DBG_USE_SHUTDOWN_FUNC') ) register_shutdown_function( Array(&$debugger, 'printReport') ); } ?> \ No newline at end of file Index: trunk/core/units/general/my_application.php =================================================================== diff -u -N -r2368 -r2581 --- trunk/core/units/general/my_application.php (.../my_application.php) (revision 2368) +++ trunk/core/units/general/my_application.php (.../my_application.php) (revision 2581) @@ -1,6 +1,4 @@ registerClass('kCatDBItem',MODULES_PATH.'/kernel/units/general/cat_dbitem.php'); $this->registerClass('kCatDBList',MODULES_PATH.'/kernel/units/general/cat_dblist.php'); $this->registerClass('kCatDBEventHandler',MODULES_PATH.'/kernel/units/general/cat_event_handler.php'); - $this->registerClass('InpDBEventHandler',MODULES_PATH.'/kernel/units/general/inp_db_event_handler.php','kDBEventHandler'); + $this->registerClass('InpDBEventHandler', MODULES_PATH.'/kernel/units/general/inp_db_event_handler.php', 'kDBEventHandler'); $this->registerClass('InpTempTablesHandler',MODULES_PATH.'/kernel/units/general/inp_temp_handler.php','kTempTablesHandler'); $this->registerClass('InpCustomFieldsHelper',MODULES_PATH.'/kernel/units/general/custom_fields.php','InpCustomFieldsHelper'); Index: trunk/kernel/admin_templates/incs/grid_blocks.tpl =================================================================== diff -u -N -r2569 -r2581 --- trunk/kernel/admin_templates/incs/grid_blocks.tpl (.../grid_blocks.tpl) (revision 2569) +++ trunk/kernel/admin_templates/incs/grid_blocks.tpl (.../grid_blocks.tpl) (revision 2581) @@ -220,7 +220,7 @@ - + nobottomnotop"> Index: trunk/admin/config/edit_banlist.php =================================================================== diff -u -N -r2569 -r2581 --- trunk/admin/config/edit_banlist.php (.../edit_banlist.php) (revision 2569) +++ trunk/admin/config/edit_banlist.php (.../edit_banlist.php) (revision 2581) @@ -149,7 +149,7 @@ $listImages[] = "RuleChecks.addImage('move_down','$imagesURL/toolbar/tool_move_down.gif','$imagesURL/toolbar/tool_move_down_f3.gif',1); "; $objListToolBar->AddToInitScript($listImages); -$objListToolBar->AddToInitScript("fwLoadMenus(); \n"); +//$objListToolBar->AddToInitScript("fwLoadMenus(); \n"); $where = "ItemType = ".$FieldType; $SearchWords = $objSession->GetVariable("RuleSearchWord"); @@ -197,7 +197,7 @@ $objListView->CheckboxName = "itemlist[]"; $objListView->extra_env = "section=$section&DataType=$FieldType"; -$objListView->ConfigureViewMenu($SortFieldVar,$SortOrderVar,$DefaultSortField,"","",0); +//$objListView->ConfigureViewMenu($SortFieldVar,$SortOrderVar,$DefaultSortField,"","",0); // $title = prompt_language("la_Text_Editing")." ".prompt_language("la_Text_BanRules"); @@ -209,6 +209,7 @@ } $h = "\n\n\n"; +if( !isset($title) ) $title = ''; int_header($objListToolBar,NULL, $title,NULL,$h); if ($filter) { ?> Index: trunk/kernel/units/general/my_application.php =================================================================== diff -u -N -r2368 -r2581 --- trunk/kernel/units/general/my_application.php (.../my_application.php) (revision 2368) +++ trunk/kernel/units/general/my_application.php (.../my_application.php) (revision 2581) @@ -1,6 +1,4 @@ registerClass('kCatDBItem',MODULES_PATH.'/kernel/units/general/cat_dbitem.php'); $this->registerClass('kCatDBList',MODULES_PATH.'/kernel/units/general/cat_dblist.php'); $this->registerClass('kCatDBEventHandler',MODULES_PATH.'/kernel/units/general/cat_event_handler.php'); - $this->registerClass('InpDBEventHandler',MODULES_PATH.'/kernel/units/general/inp_db_event_handler.php','kDBEventHandler'); + $this->registerClass('InpDBEventHandler', MODULES_PATH.'/kernel/units/general/inp_db_event_handler.php', 'kDBEventHandler'); $this->registerClass('InpTempTablesHandler',MODULES_PATH.'/kernel/units/general/inp_temp_handler.php','kTempTablesHandler'); $this->registerClass('InpCustomFieldsHelper',MODULES_PATH.'/kernel/units/general/custom_fields.php','InpCustomFieldsHelper'); Index: trunk/admin/config/module_email.php =================================================================== diff -u -N -r2569 -r2581 --- trunk/admin/config/module_email.php (.../module_email.php) (revision 2569) +++ trunk/admin/config/module_email.php (.../module_email.php) (revision 2581) @@ -333,6 +333,7 @@ } $h = "\n\n\n"; +if( !isset($title) ) $title = ''; int_header($objListToolBar,NULL, $title,NULL,$h); if ($filter) { ?>
Index: trunk/kernel/admin_templates/incs/form_blocks.tpl =================================================================== diff -u -N -r2390 -r2581 --- trunk/kernel/admin_templates/incs/form_blocks.tpl (.../form_blocks.tpl) (revision 2390) +++ trunk/kernel/admin_templates/incs/form_blocks.tpl (.../form_blocks.tpl) (revision 2581) @@ -45,7 +45,7 @@ - + "> Index: trunk/kernel/include/debugger.php =================================================================== diff -u -N -r2578 -r2581 --- trunk/kernel/include/debugger.php (.../debugger.php) (revision 2578) +++ trunk/kernel/include/debugger.php (.../debugger.php) (revision 2581) @@ -1,10 +1,10 @@ Debugger =& $debugger; + $application->errorHandlers[] = Array(&$debugger, 'saveError'); + } + else + { + set_error_handler( Array(&$debugger, 'saveError') ); + } } + + if( dbg_ConstOn('DBG_USE_SHUTDOWN_FUNC') ) register_shutdown_function( Array(&$debugger, 'printReport') ); } ?> \ No newline at end of file