Index: branches/5.3.x/core/kernel/managers/scheduled_task_manager.php =================================================================== --- branches/5.3.x/core/kernel/managers/scheduled_task_manager.php (revision 16187) +++ branches/5.3.x/core/kernel/managers/scheduled_task_manager.php (revision 16188) @@ -1,231 +1,233 @@ tasks = $data['EventManager.scheduledTasks']; } /** * Gets object data for caching * * @return Array * @access public */ public function getToCache() { return Array ( 'EventManager.scheduledTasks' => $this->tasks, ); } /** * Returns information about registered scheduled tasks * * @param bool $from_cache * @return Array * @access public */ public function getAll($from_cache = false) { static $scheduled_tasks = null; if ( $from_cache ) { return $this->tasks; } if ( !isset($scheduled_tasks) ) { $timeout_clause = 'LastRunStatus = ' . ScheduledTask::LAST_RUN_RUNNING . ' AND Timeout > 0 AND ' . time() . ' - LastRunOn > Timeout'; $sql = 'SELECT * FROM ' . $this->Application->getUnitConfig('scheduled-task')->getTableName() . ' WHERE (Status = ' . STATUS_ACTIVE . ') AND ((LastRunStatus != ' . ScheduledTask::LAST_RUN_RUNNING . ') OR (' . $timeout_clause . '))'; $scheduled_tasks = $this->Conn->Query($sql, 'Name'); } return $scheduled_tasks; } /** * Add new scheduled task * * @param string $short_name name to be used to store last maintenance run info * @param string $event_string * @param int $run_schedule run schedule like for Cron * @param string $module * @param int $status * @access public */ public function add($short_name, $event_string, $run_schedule, $module, $status = STATUS_ACTIVE) { $this->tasks[$short_name] = Array ( 'Event' => $event_string, 'RunSchedule' => $run_schedule, 'Module' => $module, 'Status' => $status ); } /** * Run registered scheduled tasks with specified event type * * @param bool $from_cron * @access public */ public function runAll($from_cron = false) { if ( defined('IS_INSTALL') ) { return ; } $use_cron = $this->Application->ConfigValue('RunScheduledTasksFromCron'); if ( ($use_cron && !$from_cron) || (!$use_cron && $from_cron) ) { // match execution place with one, set in config return ; } ignore_user_abort(true); set_time_limit(0); $events_source = $this->getAll(); $user_id = $this->Application->RecallVar('user_id'); $this->Application->StoreVar('user_id', USER_ROOT, true); // to prevent permission checking inside events, true for optional storage $site_helper = $this->Application->recallObject('SiteHelper'); /* @var $site_helper SiteHelper */ $site_domain_id = $site_helper->getDomainByName('DomainName', DOMAIN); foreach ($events_source as $short_name => $event_data) { if ( $site_domain_id && $event_data['SiteDomainLimitation'] != '' ) { $site_domains = explode('|', substr($event_data['SiteDomainLimitation'], 1, -1)); if ( !in_array($site_domain_id, $site_domains) ) { // scheduled task isn't allowed on this site domain continue; } } // remember LastTimeoutOn only for events that are still running and will be reset if ( $event_data['LastRunStatus'] == ScheduledTask::LAST_RUN_RUNNING ) { $this->update($event_data, Array ('LastTimeoutOn' => time())); } $next_run = (int)$event_data['NextRunOn']; if ($next_run && ($next_run > time())) { continue; } $this->run($event_data); } $this->Application->StoreVar('user_id', $user_id, $user_id == USER_GUEST); } /** * Runs scheduled task based on given data * * @param Array $scheduled_task_data * @return bool * @access public */ public function run($scheduled_task_data) { $event = new kEvent($scheduled_task_data['Event']); if ( !$this->Application->prefixRegistred($event->Prefix) ) { // don't process scheduled tasks, left from disabled modules return false; } $cron_helper = $this->Application->recallObject('kCronHelper'); /* @var $cron_helper kCronHelper */ $start_time = time(); // remember, when scheduled task execution started $fields_hash = Array ( 'LastRunOn' => $start_time, 'LastRunStatus' => ScheduledTask::LAST_RUN_RUNNING, 'NextRunOn' => $cron_helper->getMatch($scheduled_task_data['RunSchedule'], $start_time), ); $this->update($scheduled_task_data, $fields_hash); $scheduled_task = $this->Application->recallObject('scheduled-task', null, Array ('skip_autoload' => true)); /* @var $scheduled_task kDBItem */ $scheduled_task->LoadFromHash($scheduled_task_data); $event->redirect = false; + + // The fake MasterEvent is needed so that $event can access $scheduled_task! $event->MasterEvent = new kEvent('scheduled-task:OnRun'); $this->Application->HandleEvent($event); $now = time(); $next_run = $cron_helper->getMatch($scheduled_task_data['RunSchedule'], $start_time); while ($next_run < $now) { // in case event execution took longer, then RunSchedule (don't use <=, because RunSchedule can be 0) $next_run = $cron_helper->getMatch($scheduled_task_data['RunSchedule'], $next_run); } // remember, when scheduled task execution ended $fields_hash = Array ( 'NextRunOn' => $next_run, 'RunTime' => $now - $start_time, 'LastRunStatus' => $event->status == kEvent::erSUCCESS ? ScheduledTask::LAST_RUN_SUCCEEDED : ScheduledTask::LAST_RUN_FAILED, ); $this->update($scheduled_task_data, $fields_hash); return true; } /** * Updates scheduled task record with latest changes about it's invocation progress * * @param Array $scheduled_task_data * @param Array $fields_hash * @return void * @access protected */ protected function update(&$scheduled_task_data, $fields_hash) { $this->Conn->doUpdate( $fields_hash, $this->Application->getUnitConfig('scheduled-task')->getTableName(), 'Name = ' . $this->Conn->qstr($scheduled_task_data['Name']) ); $scheduled_task_data = array_merge($scheduled_task_data, $fields_hash); } -} \ No newline at end of file +} Index: branches/5.3.x/core/kernel/Console/Command/RunScheduledTaskCommand.php =================================================================== --- branches/5.3.x/core/kernel/Console/Command/RunScheduledTaskCommand.php (revision 0) +++ branches/5.3.x/core/kernel/Console/Command/RunScheduledTaskCommand.php (revision 16188) @@ -0,0 +1,116 @@ +setName('scheduled-task:run') + ->setDescription('Runs scheduled task(-s)') + ->addArgument( + 'scheduled_task_name', + InputArgument::OPTIONAL, + 'Scheduled task name' + ); + } + + /** + * Executes the current command. + * + * @param InputInterface $input An InputInterface instance. + * @param OutputInterface $output An OutputInterface instance. + * + * @return null|integer + */ + protected function execute(InputInterface $input, OutputInterface $output) + { + $scheduled_task_name = $input->getArgument('scheduled_task_name'); + + if ( !$scheduled_task_name ) { + $this->Application->EventManager->runScheduledTasks(true); + + return 0; + } + + if ( !in_array($scheduled_task_name, $this->getScheduledTaskNames()) ) { + throw new \InvalidArgumentException('Scheduled task "' . $scheduled_task_name . '" not found'); + } + + $scheduled_tasks = $this->Application->EventManager->getScheduledTasks(); + $result = $this->Application->EventManager->runScheduledTask($scheduled_tasks[$scheduled_task_name]); + + return $result ? 0 : 64; + } + + /** + * Return possible values for the named option + * + * @param string $optionName Option name. + * @param CompletionContext $context Completion context. + * + * @return array + */ + public function completeOptionValues($optionName, CompletionContext $context) + { + return array(); + } + + /** + * Return possible values for the named argument. + * + * @param string $argumentName Argument name. + * @param CompletionContext $context Completion context. + * + * @return array + */ + public function completeArgumentValues($argumentName, CompletionContext $context) + { + if ( $argumentName === 'scheduled_task_name' ) { + return $this->getScheduledTaskNames(); + } + + return array(); + } + + /** + * Returns scheduled task names. + * + * @return array + */ + protected function getScheduledTaskNames() + { + $scheduled_tasks = $this->Application->EventManager->getScheduledTasks(); + + return array_keys($scheduled_tasks); + } + +} Property changes on: branches/5.3.x/core/kernel/Console/Command/RunScheduledTaskCommand.php ___________________________________________________________________ Added: svn:eol-style + LF Index: branches/5.3.x/core/units/scheduled_tasks/scheduled_task_eh.php =================================================================== --- branches/5.3.x/core/units/scheduled_tasks/scheduled_task_eh.php (revision 16187) +++ branches/5.3.x/core/units/scheduled_tasks/scheduled_task_eh.php (revision 16188) @@ -1,306 +1,274 @@ Array ('self' => 'add|edit'), - 'OnRun' => Array ('self' => 'add|edit'), ); $this->permMapping = array_merge($this->permMapping, $permissions); } /** * Does custom validation * * @param kEvent $event * @return void * @access protected */ protected function OnBeforeItemValidate(kEvent $event) { parent::OnBeforeItemValidate($event); $object = $event->getObject(); /* @var $object kDBItem */ $event_string = $object->GetDBField('Event'); if ( !$event_string ) { return; } try { $this->Application->eventImplemented(new kEvent($event_string)); } catch (Exception $e) { $object->SetError('Event', 'invalid_event', '+' . $e->getMessage()); } } /** * [HOOK] Refreshes scheduled task list in database based on cached data from unit configs * * @param kEvent $event */ function OnRefresh($event) { $scheduled_tasks_from_cache = $this->Application->EventManager->getScheduledTasks(true); $object = $event->getObject( Array ('skip_autoload' => true) ); /* @var $object kDBItem */ $processed_ids = Array (); $scheduled_tasks_from_db = $this->Conn->Query($object->GetSelectSQL(), 'Name'); $cron_helper = $this->Application->recallObject('kCronHelper'); /* @var $cron_helper kCronHelper */ foreach ($scheduled_tasks_from_cache as $scheduled_task_name => $scheduled_task_params) { if ( !isset($scheduled_tasks_from_db[$scheduled_task_name]) ) { $fields_hash = Array ( 'Event' => $scheduled_task_params['Event'], 'Name' => $scheduled_task_name, 'Type' => ScheduledTask::TYPE_SYSTEM, 'Module' => $scheduled_task_params['Module'], 'Status' => isset($scheduled_task_params['Status']) ? $scheduled_task_params['Status'] : STATUS_ACTIVE, 'RunSchedule' => $scheduled_task_params['RunSchedule'], ); $object->Clear(); $object->SetDBFieldsFromHash($fields_hash); $cron_helper->load($object, 'RunSchedule'); $object->Create(); } else { $object->LoadFromHash( $scheduled_tasks_from_db[$scheduled_task_name] ); } $processed_ids[] = $object->GetID(); } // delete all non-processed scheduled tasks (ones, that were deleted from unit configs) $sql = 'SELECT ' . $object->IDField . ' FROM ' . $object->TableName . ' WHERE (Type = ' . ScheduledTask::TYPE_SYSTEM . ') AND (' . $object->IDField . ' NOT IN (' . implode(',', $processed_ids) . '))'; $delete_ids = $this->Conn->GetCol($sql); if ($delete_ids) { $temp_handler = $this->Application->recallObject($event->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler', Array ('parent_event' => $event)); /* @var $temp_handler kTempTablesHandler */ $temp_handler->DeleteItems($event->Prefix, $event->Special, $delete_ids); } $this->Application->removeObject($event->getPrefixSpecial()); } /** * Don't allow to delete other user's messages * * @param kEvent $event * @param string $type * @return void * @access protected */ protected function customProcessing(kEvent $event, $type) { if ( $event->Name == 'OnMassDelete' && $type == 'before' ) { if ( $this->Application->isDebugMode() ) { // allow to delete system scheduled tasks in debug mode return; } $ids = $event->getEventParam('ids'); if ( $ids ) { $config = $event->getUnitConfig(); $id_field = $config->getIDField(); $sql = 'SELECT ' . $id_field . ' FROM ' . $config->getTableName() . ' WHERE ' . $id_field . ' IN (' . implode(',', $ids) . ') AND Type <> ' . ScheduledTask::TYPE_SYSTEM; $event->setEventParam('ids', $this->Conn->GetCol($sql)); } } } /** * Cancels scheduled tasks, that are currently running * * @param kEvent $event */ function OnMassCancel($event) { $ids = $this->StoreSelectedIDs($event); if ($ids) { $object = $event->getObject( Array ('skip_autoload' => true) ); /* @var $object kDBItem */ foreach ($ids as $id) { $object->Load($id); if ($object->GetDBField('LastRunStatus') == ScheduledTask::LAST_RUN_RUNNING) { // only changes status, doesn't affect currency running scheduled tasks $object->SetDBField('LastRunStatus', ScheduledTask::LAST_RUN_FAILED); $object->Update(); } } } $this->clearSelectedIDs($event); } /** - * Runs selected scheduled tasks - * - * @param kEvent $event - */ - function OnRun($event) - { - $ids = $this->StoreSelectedIDs($event); - - if ($ids) { - $object = $event->getObject( Array ('skip_autoload' => true) ); - /* @var $object kDBItem */ - - $where_clause = Array ( - $object->TableName . '.' . $object->IDField . ' IN (' . implode(',', $ids) . ')', - $object->TableName . '.Status = ' . STATUS_ACTIVE, - $object->TableName . '.LastRunStatus <> ' . ScheduledTask::LAST_RUN_RUNNING, - ); - - $sql = $object->GetSelectSQL() . ' - WHERE (' . implode(') AND (', $where_clause) . ')'; - $scheduled_tasks = $this->Conn->Query($sql); - - foreach ($scheduled_tasks as $scheduled_task_data) { - $this->Application->EventManager->runScheduledTask($scheduled_task_data); - } - } - - $this->clearSelectedIDs($event); - } - - /** * Loads schedule from database to virtual fields * * @param kEvent $event * @return void * @access protected */ protected function OnAfterItemLoad(kEvent $event) { parent::OnAfterItemLoad($event); $object = $event->getObject(); /* @var $object kDBItem */ $cron_helper = $this->Application->recallObject('kCronHelper'); /* @var $cron_helper kCronHelper */ $cron_helper->load($object, 'RunSchedule'); } /** * Validates schedule * * @param kEvent $event * @return void * @access protected */ protected function OnBeforeItemCreate(kEvent $event) { parent::OnBeforeItemCreate($event); $this->_itemChanged($event); } /** * Validates schedule * * @param kEvent $event * @return void * @access protected */ protected function OnBeforeItemUpdate(kEvent $event) { parent::OnBeforeItemUpdate($event); $this->_itemChanged($event); } /** * Validates schedule * * @param kEvent $event * @return void * @access protected */ protected function _itemChanged(kEvent $event) { $object = $event->getObject(); /* @var $object kDBItem */ $cron_helper = $this->Application->recallObject('kCronHelper'); /* @var $cron_helper kCronHelper */ if ( $cron_helper->validateAndSave($object, 'RunSchedule') && !$object->GetDBField('NextRunOn_date') ) { $next_run = $cron_helper->getMatch($object->GetDBField('RunSchedule')); $object->SetDBField('NextRunOn_date', $next_run); $object->SetDBField('NextRunOn_time', $next_run); } } /** * Creates schedule fields * * @param kEvent $event * @return void * @access protected */ protected function OnAfterConfigRead(kEvent $event) { parent::OnAfterConfigRead($event); if ( $this->Application->findModule('Name', 'Custom') ) { $config = $event->getUnitConfig(); $fields = $config->getFields(); $fields['Module']['default'] = 'Custom'; $config->setFields($fields); } $cron_helper = $this->Application->recallObject('kCronHelper'); /* @var $cron_helper kCronHelper */ $cron_helper->initUnit($event->Prefix, 'RunSchedule'); } - } \ No newline at end of file + } Index: branches/5.3.x/core/admin_templates/scheduled_tasks/scheduled_task_list.tpl =================================================================== --- branches/5.3.x/core/admin_templates/scheduled_tasks/scheduled_task_list.tpl (revision 16187) +++ branches/5.3.x/core/admin_templates/scheduled_tasks/scheduled_task_list.tpl (revision 16188) @@ -1,99 +1,89 @@
- \ No newline at end of file + Index: branches/5.3.x/core/install/cache/class_structure.php =================================================================== --- branches/5.3.x/core/install/cache/class_structure.php (revision 16187) +++ branches/5.3.x/core/install/cache/class_structure.php (revision 16188) @@ -1,2630 +1,2639 @@ 2, 'classes' => array( 'AbstractCategoryItemRouter' => '/core/kernel/utility/Router/AbstractCategoryItemRouter.php', 'AbstractReviewRouter' => '/core/kernel/utility/Router/AbstractReviewRouter.php', 'AbstractRouter' => '/core/kernel/utility/Router/AbstractRouter.php', 'AdminEventsHandler' => '/core/units/admin/admin_events_handler.php', 'AdminTagProcessor' => '/core/units/admin/admin_tag_processor.php', 'AjaxFormHelper' => '/core/units/helpers/ajax_form_helper.php', 'ApcCacheHandler' => '/core/kernel/utility/cache.php', 'BackupHelper' => '/core/units/helpers/backup_helper.php', 'BaseSession' => '/core/kernel/session/session.php', 'BaseSessionStorage' => '/core/kernel/session/session_storage.php', 'CacheSettings' => '/core/kernel/startup.php', 'CaptchaEventHandler' => '/core/units/captcha/captcha_eh.php', 'CategoriesEventHandler' => '/core/units/categories/categories_event_handler.php', 'CategoriesItem' => '/core/units/categories/categories_item.php', 'CategoriesTagProcessor' => '/core/units/categories/categories_tag_processor.php', 'CategoryHelper' => '/core/units/helpers/category_helper.php', 'CategoryItemsEventHandler' => '/core/units/category_items/category_items_event_handler.php', 'CategoryItemsTagProcessor' => '/core/units/category_items/category_items_tag_processor.php', 'CategoryPermissionRebuild' => '/core/kernel/constants.php', 'ChangeLog' => '/core/kernel/constants.php', 'ChangeLogEventHandler' => '/core/units/logs/change_logs/change_log_eh.php', 'ChangeLogTagProcessor' => '/core/units/logs/change_logs/change_log_tp.php', 'ColumnSet' => '/core/units/helpers/col_picker_helper.php', 'ConfigSearchEventHandler' => '/core/units/config_search/config_search_event_handler.php', 'ConfigSearchTagProcessor' => '/core/units/config_search/config_search_tag_processor.php', 'ConfigurationEventHandler' => '/core/units/configuration/configuration_event_handler.php', 'ConfigurationItem' => '/core/units/configuration/configuration.php', 'ConfigurationTagProcessor' => '/core/units/configuration/configuration_tag_processor.php', 'ConfigurationValidator' => '/core/units/configuration/configuration_validator.php', 'ContentEventHandler' => '/core/units/content/content_eh.php', 'ContentTagProcessor' => '/core/units/content/content_tp.php', 'CoreUpgrades' => '/core/install/upgrades.php', 'CountryStateEventHandler' => '/core/units/country_states/country_state_eh.php', 'CssMinifyHelper' => '/core/units/helpers/minifiers/css_minify_helper.php', 'CustomDataEventHandler' => '/core/units/custom_data/custom_data_event_handler.php', 'CustomFieldsEventHandler' => '/core/units/custom_fields/custom_fields_event_handler.php', 'CustomFieldsTagProcessor' => '/core/units/custom_fields/custom_fields_tag_processor.php', 'Debugger' => '/core/kernel/utility/debugger.php', 'DebuggerUtil' => '/core/kernel/utility/debugger.php', 'DeploymentHelper' => '/core/units/helpers/deployment_helper.php', 'DraftEventHandler' => '/core/units/forms/drafts/draft_eh.php', 'EditPickerHelper' => '/core/units/helpers/controls/edit_picker_helper.php', 'EmailDelivery' => '/core/kernel/constants.php', 'EmailLogEventHandler' => '/core/units/logs/email_logs/email_log_eh.php', 'EmailLogStatus' => '/core/kernel/constants.php', 'EmailLogTagProcessor' => '/core/units/logs/email_logs/email_log_tp.php', 'EmailQueueEventHandler' => '/core/units/email_queue/email_queue_eh.php', 'EmailQueueTagProcessor' => '/core/units/email_queue/email_queue_tp.php', 'EmailTemplate' => '/core/kernel/constants.php', 'EmailTemplateEventHandler' => '/core/units/email_templates/email_template_eh.php', 'EmailTemplateTagProcessor' => '/core/units/email_templates/email_template_tp.php', 'FakeCacheHandler' => '/core/kernel/utility/cache.php', 'FavoritesEventHandler' => '/core/units/favorites/favorites_eh.php', 'FckEventHandler' => '/core/units/fck/fck_eh.php', 'FckTagProcessor' => '/core/units/fck/fck_tp.php', 'FileEventHandler' => '/core/units/files/file_eh.php', 'FileHelper' => '/core/units/helpers/file_helper.php', 'FileTagProcessor' => '/core/units/files/file_tp.php', 'FormFieldEventHandler' => '/core/units/forms/form_fields/form_field_eh.php', 'FormFieldsTagProcessor' => '/core/units/forms/form_fields/form_fields_tp.php', 'FormSubmissionHelper' => '/core/units/helpers/form_submission_helper.php', 'FormSubmissionTagProcessor' => '/core/units/forms/form_submissions/form_submission_tp.php', 'FormSubmissionsEventHandler' => '/core/units/forms/form_submissions/form_submissions_eh.php', 'FormsEventHandler' => '/core/units/forms/forms/forms_eh.php', 'FormsTagProcessor' => '/core/units/forms/forms/forms_tp.php', 'GeoCodeHelper' => '/core/units/helpers/geocode_helper.php', 'GroupTagProcessor' => '/core/units/groups/group_tp.php', 'GroupsEventHandler' => '/core/units/groups/groups_event_handler.php', 'IDBConnection' => '/core/kernel/db/i_db_connection.php', 'ImageEventHandler' => '/core/units/images/image_event_handler.php', 'ImageHelper' => '/core/units/helpers/image_helper.php', 'ImageTagProcessor' => '/core/units/images/image_tag_processor.php', 'ImagesItem' => '/core/units/images/images.php', 'InPortalPrerequisites' => '/core/install/prerequisites.php', 'InpCustomFieldsHelper' => '/core/units/helpers/custom_fields_helper.php', 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\AbstractCommand' => '/core/kernel/Console/Command/AbstractCommand.php', 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\BuildClassMapCommand' => '/core/kernel/Console/Command/BuildClassMapCommand.php', 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\CompletionCommand' => '/core/kernel/Console/Command/CompletionCommand.php', 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\IConsoleCommand' => '/core/kernel/Console/Command/IConsoleCommand.php', 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\ResetCacheCommand' => '/core/kernel/Console/Command/ResetCacheCommand.php', 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\RunEventCommand' => '/core/kernel/Console/Command/RunEventCommand.php', + 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\RunScheduledTaskCommand' => '/core/kernel/Console/Command/RunScheduledTaskCommand.php', 'Intechnic\\InPortal\\Core\\kernel\\Console\\ConsoleApplication' => '/core/kernel/Console/ConsoleApplication.php', 'Intechnic\\InPortal\\Core\\kernel\\Console\\ConsoleCommandProvider' => '/core/kernel/Console/ConsoleCommandProvider.php', 'Intechnic\\InPortal\\Core\\kernel\\Console\\IConsoleCommandProvider' => '/core/kernel/Console/IConsoleCommandProvider.php', 'Intechnic\\InPortal\\Core\\kernel\\utility\\ClassDiscovery\\ClassDetector' => '/core/kernel/utility/ClassDiscovery/ClassDetector.php', 'Intechnic\\InPortal\\Core\\kernel\\utility\\ClassDiscovery\\ClassMapBuilder' => '/core/kernel/utility/ClassDiscovery/ClassMapBuilder.php', 'Intechnic\\InPortal\\Core\\kernel\\utility\\ClassDiscovery\\CodeFolderFilterIterator' => '/core/kernel/utility/ClassDiscovery/CodeFolderFilterIterator.php', 'ItemFilterEventHandler' => '/core/units/filters/item_filter_eh.php', 'ItemFilterTagProcessor' => '/core/units/filters/item_filter_tp.php', 'JSONHelper' => '/core/units/helpers/json_helper.php', 'JsMinifyHelper' => '/core/units/helpers/minifiers/js_minify_helper.php', 'Language' => '/core/kernel/constants.php', 'LanguageImportHelper' => '/core/units/helpers/language_import_helper.php', 'LanguagesEventHandler' => '/core/units/languages/languages_event_handler.php', 'LanguagesItem' => '/core/units/languages/languages_item.php', 'LanguagesTagProcessor' => '/core/units/languages/languages_tag_processor.php', 'LeftJoinOptimizer' => '/core/kernel/db/dblist.php', 'ListHelper' => '/core/units/helpers/list_helper.php', 'LoginResult' => '/core/kernel/constants.php', 'MInputHelper' => '/core/units/helpers/controls/minput_helper.php', 'MailboxHelper' => '/core/units/helpers/mailbox_helper.php', 'MailingList' => '/core/kernel/constants.php', 'MailingListEventHandler' => '/core/units/mailing_lists/mailing_list_eh.php', 'MailingListHelper' => '/core/units/helpers/mailing_list_helper.php', 'MailingListTagProcessor' => '/core/units/mailing_lists/mailing_list_tp.php', 'MainRouter' => '/core/units/general/MainRouter.php', 'MaintenanceMode' => '/core/kernel/startup.php', 'MassImageResizer' => '/core/units/admin/admin_events_handler.php', 'MemcacheCacheHandler' => '/core/kernel/utility/cache.php', 'MenuHelper' => '/core/units/helpers/menu_helper.php', 'MimeDecodeHelper' => '/core/units/helpers/mime_decode_helper.php', 'MinifyHelper' => '/core/units/helpers/minifiers/minify_helper.php', 'ModuleDeploymentLog' => '/core/kernel/constants.php', 'ModuleDeploymentLogEventHandler' => '/core/units/logs/module_deployment_logs/module_deployment_log_eh.php', 'ModulesEventHandler' => '/core/units/modules/modules_event_handler.php', 'ModulesTagProcessor' => '/core/units/modules/modules_tag_processor.php', 'NParser' => '/core/kernel/nparser/nparser.php', 'NParserCompiler' => '/core/kernel/nparser/compiler.php', 'POP3Helper' => '/core/units/helpers/pop3_helper.php', 'PageHelper' => '/core/units/helpers/page_helper.php', 'PageRevisionEventHandler' => '/core/units/page_revisions/page_revision_eh.php', 'PageRevisionTagProcessor' => '/core/units/page_revisions/page_revision_tp.php', 'Params' => '/core/kernel/utility/params.php', 'ParserException' => '/core/kernel/nparser/nparser.php', 'PasswordHash' => '/core/kernel/utility/php_pass.php', 'PasswordHashingMethod' => '/core/kernel/constants.php', 'PermissionTypeEventHandler' => '/core/units/permission_types/permission_type_eh.php', 'PermissionsEventHandler' => '/core/units/permissions/permissions_event_handler.php', 'PermissionsTagProcessor' => '/core/units/permissions/permissions_tag_processor.php', 'PhraseTagProcessor' => '/core/units/phrases/phrase_tp.php', 'PhrasesEventHandler' => '/core/units/phrases/phrases_event_handler.php', 'PriorityEventHandler' => '/core/units/priorites/priority_eh.php', 'PromoBlockEventHandler' => '/core/units/promo_blocks/promo_block_eh.php', 'PromoBlockGroupEventHandler' => '/core/units/promo_block_groups/promo_block_group_eh.php', 'PromoBlockGroupTagProcessor' => '/core/units/promo_block_groups/promo_block_group_tp.php', 'PromoBlockTagProcessor' => '/core/units/promo_blocks/promo_block_tp.php', 'PromoBlockType' => '/core/kernel/constants.php', 'RatingHelper' => '/core/units/helpers/rating_helper.php', 'RelatedSearchEventHandler' => '/core/units/related_searches/related_searches_event_handler.php', 'RelatedSearchTagProcessor' => '/core/units/related_searches/related_searches_tag_processor.php', 'RelationshipEventHandler' => '/core/units/relationship/relationship_event_handler.php', 'RelationshipTagProcessor' => '/core/units/relationship/relationship_tp.php', 'ReviewsEventHandler' => '/core/units/reviews/reviews_event_handler.php', 'ReviewsTagProcessor' => '/core/units/reviews/reviews_tag_processor.php', 'ScheduledTask' => '/core/kernel/constants.php', 'ScheduledTaskEventHandler' => '/core/units/scheduled_tasks/scheduled_task_eh.php', 'SelectorsEventHandler' => '/core/units/selectors/selectors_event_handler.php', 'SelectorsItem' => '/core/units/selectors/selectors_item.php', 'SelectorsTagProcessor' => '/core/units/selectors/selectors_tag_processor.php', 'Session' => '/core/kernel/session/inp_session.php', 'SessionLogEventHandler' => '/core/units/logs/session_logs/session_log_eh.php', 'SessionStorage' => '/core/kernel/session/inp_session_storage.php', 'SiteConfigEventHandler' => '/core/units/sections/site_config_eh.php', 'SiteConfigHelper' => '/core/units/helpers/site_config_helper.php', 'SiteConfigTagProcessor' => '/core/units/sections/site_config_tp.php', 'SiteDomainEventHandler' => '/core/units/site_domains/site_domain_eh.php', 'SiteHelper' => '/core/units/helpers/site_helper.php', 'SkinEventHandler' => '/core/units/skins/skin_eh.php', 'SkinHelper' => '/core/units/helpers/skin_helper.php', 'SpamHelper' => '/core/units/helpers/spam_helper.php', 'SpamReportEventHandler' => '/core/units/spam_reports/spam_report_eh.php', 'SpamReportTagProcessor' => '/core/units/spam_reports/spam_report_tp.php', 'StatisticsEventHandler' => '/core/units/statistics/statistics_event_handler.php', 'StatisticsTagProcessor' => '/core/units/statistics/statistics_tag_processor.php', 'StorageEngine' => '/core/kernel/constants.php', 'StylesheetsEventHandler' => '/core/units/stylesheets/stylesheets_event_handler.php', 'StylesheetsItem' => '/core/units/stylesheets/stylesheets_item.php', 'SubmissionFormField' => '/core/kernel/constants.php', 'SubmissionLogEventHandler' => '/core/units/forms/submission_log/submission_log_eh.php', 'SubmissionLogTagProcessor' => '/core/units/forms/submission_log/submission_log_tp.php', 'SystemEventSubscriptionEventHandler' => '/core/units/system_event_subscriptions/system_event_subscription_eh.php', 'SystemEventSubscriptionTagProcessor' => '/core/units/system_event_subscriptions/system_event_subscription_tp.php', 'SystemLogEventHandler' => '/core/units/logs/system_logs/system_log_eh.php', 'SystemLogTagProcessor' => '/core/units/logs/system_logs/system_log_tp.php', 'TemplateHelper' => '/core/units/helpers/template_helper.php', 'TemplatesCache' => '/core/kernel/nparser/template_cache.php', 'ThemeFileEventHandler' => '/core/units/theme_files/theme_file_eh.php', 'ThemeItem' => '/core/units/themes/theme_item.php', 'ThemesEventHandler' => '/core/units/themes/themes_eh.php', 'ThemesTagProcessor' => '/core/units/themes/themes_tag_processor.php', 'ThesaurusEventHandler' => '/core/units/thesaurus/thesaurus_eh.php', 'ThesaurusTagProcessor' => '/core/units/thesaurus/thesaurus_tp.php', 'TranslationSaveMode' => '/core/kernel/constants.php', 'TranslatorEventHandler' => '/core/units/translator/translator_event_handler.php', 'TranslatorTagProcessor' => '/core/units/translator/translator_tp.php', 'UnitConfigDecorator' => '/core/units/admin/admin_events_handler.php', 'UserGroupsEventHandler' => '/core/units/user_groups/user_groups_eh.php', 'UserHelper' => '/core/units/helpers/user_helper.php', 'UserProfileEventHandler' => '/core/units/user_profile/user_profile_eh.php', 'UserProfileTagProcessor' => '/core/units/user_profile/user_profile_tp.php', 'UserType' => '/core/kernel/constants.php', 'UsersEventHandler' => '/core/units/users/users_event_handler.php', 'UsersItem' => '/core/units/users/users_item.php', 'UsersSyncronize' => '/core/units/users/users_syncronize.php', 'UsersSyncronizeManager' => '/core/units/users/users_syncronize.php', 'UsersTagProcessor' => '/core/units/users/users_tag_processor.php', 'VisitsEventHandler' => '/core/units/visits/visits_event_handler.php', 'VisitsList' => '/core/units/visits/visits_list.php', 'VisitsTagProcessor' => '/core/units/visits/visits_tag_processor.php', 'XCacheCacheHandler' => '/core/kernel/utility/cache.php', 'XMLIterator' => '/core/units/helpers/xml_helper5.php', '_BlockTag' => '/core/kernel/nparser/ntags.php', '_Tag_Cache' => '/core/kernel/nparser/ntags.php', '_Tag_Capture' => '/core/kernel/nparser/ntags.php', '_Tag_Comment' => '/core/kernel/nparser/ntags.php', '_Tag_Compress' => '/core/kernel/nparser/ntags.php', '_Tag_DefaultParam' => '/core/kernel/nparser/ntags.php', '_Tag_DefineElement' => '/core/kernel/nparser/ntags.php', '_Tag_If' => '/core/kernel/nparser/ntags.php', '_Tag_IfDataExists' => '/core/kernel/nparser/ntags.php', '_Tag_IfNot' => '/core/kernel/nparser/ntags.php', '_Tag_Include' => '/core/kernel/nparser/ntags.php', '_Tag_Param' => '/core/kernel/nparser/ntags.php', '_Tag_RenderElement' => '/core/kernel/nparser/ntags.php', '_Tag_RenderElements' => '/core/kernel/nparser/ntags.php', '_Tag_SetParam' => '/core/kernel/nparser/ntags.php', 'clsCachedPermissions' => '/core/units/categories/cache_updater.php', 'clsRecursionStack' => '/core/units/categories/cache_updater.php', 'fckFCKHelper' => '/core/units/helpers/fck_helper.php', 'kApplication' => '/core/kernel/application.php', 'kArray' => '/core/kernel/utility/params.php', 'kBase' => '/core/kernel/kbase.php', 'kBracketsHelper' => '/core/units/helpers/brackets_helper.php', 'kCCDateFormatter' => '/core/kernel/utility/formatters/ccdate_formatter.php', 'kCSSDefaults' => '/core/units/pdf/css_defaults.php', 'kCSVHelper' => '/core/units/helpers/csv_helper.php', 'kCache' => '/core/kernel/utility/cache.php', 'kCacheHandler' => '/core/kernel/utility/cache.php', 'kCacheManager' => '/core/kernel/managers/cache_manager.php', 'kCaptchaHelper' => '/core/units/helpers/captcha_helper.php', 'kCatDBEventHandler' => '/core/kernel/db/cat_event_handler.php', 'kCatDBItem' => '/core/kernel/db/cat_dbitem.php', 'kCatDBItemExportHelper' => '/core/units/helpers/cat_dbitem_export_helper.php', 'kCatDBList' => '/core/kernel/db/cat_dblist.php', 'kCatDBTagProcessor' => '/core/kernel/db/cat_tag_processor.php', 'kChangesFormatter' => '/core/units/logs/change_logs/changes_formatter.php', 'kChartHelper' => '/core/units/helpers/chart_helper.php', 'kClipboardHelper' => '/core/units/helpers/clipboard_helper.php', 'kColumnPickerHelper' => '/core/units/helpers/col_picker_helper.php', 'kCookieHasher' => '/core/kernel/utility/cookie_hasher.php', 'kCountHelper' => '/core/units/helpers/count_helper.php', 'kCountryStatesHelper' => '/core/units/helpers/country_states_helper.php', 'kCronField' => '/core/units/helpers/cron_helper.php', 'kCronHelper' => '/core/units/helpers/cron_helper.php', 'kCurlHelper' => '/core/units/helpers/curl_helper.php', 'kCustomFieldFormatter' => '/core/kernel/utility/formatters/customfield_formatter.php', 'kDBBase' => '/core/kernel/kbase.php', 'kDBConnection' => '/core/kernel/db/db_connection.php', 'kDBConnectionDebug' => '/core/kernel/db/db_connection.php', 'kDBEventHandler' => '/core/kernel/db/db_event_handler.php', 'kDBItem' => '/core/kernel/db/dbitem.php', 'kDBList' => '/core/kernel/db/dblist.php', 'kDBLoadBalancer' => '/core/kernel/db/db_load_balancer.php', 'kDBTagProcessor' => '/core/kernel/db/db_tag_processor.php', 'kDateFormatter' => '/core/kernel/utility/formatters/date_formatter.php', 'kEmail' => '/core/kernel/utility/email.php', 'kEmailSendingHelper' => '/core/kernel/utility/email_send.php', 'kEmailTemplateHelper' => '/core/units/helpers/email_template_helper.php', 'kErrorHandlerStack' => '/core/kernel/utility/logger.php', 'kEvent' => '/core/kernel/utility/event.php', 'kEventHandler' => '/core/kernel/event_handler.php', 'kEventManager' => '/core/kernel/event_manager.php', 'kExceptionHandlerStack' => '/core/kernel/utility/logger.php', 'kFactory' => '/core/kernel/utility/factory.php', 'kFactoryException' => '/core/kernel/utility/factory.php', 'kFilenamesHelper' => '/core/units/helpers/filenames_helper.php', 'kFilesizeFormatter' => '/core/kernel/utility/formatters/filesize_formatter.php', 'kFormatter' => '/core/kernel/utility/formatters/formatter.php', 'kHTTPQuery' => '/core/kernel/utility/http_query.php', 'kHandlerStack' => '/core/kernel/utility/logger.php', 'kHelper' => '/core/kernel/kbase.php', 'kHookManager' => '/core/kernel/managers/hook_manager.php', 'kInstallToolkit' => '/core/install/install_toolkit.php', 'kInstallator' => '/core/install.php', 'kLEFTFormatter' => '/core/kernel/utility/formatters/left_formatter.php', 'kLogger' => '/core/kernel/utility/logger.php', 'kMainTagProcessor' => '/core/kernel/processors/main_processor.php', 'kModulesHelper' => '/core/units/helpers/modules_helper.php', 'kMultiLanguage' => '/core/kernel/utility/formatters/multilang_formatter.php', 'kMultiLanguageHelper' => '/core/units/helpers/multilanguage_helper.php', 'kMultipleFilter' => '/core/kernel/utility/filters.php', 'kMySQLQuery' => '/core/kernel/db/db_connection.php', 'kMySQLQueryCol' => '/core/kernel/db/db_connection.php', 'kNavigationBar' => '/core/units/helpers/navigation_bar.php', 'kNoPermissionException' => '/core/kernel/kbase.php', 'kOpenerStack' => '/core/kernel/utility/opener_stack.php', 'kOptionsFormatter' => '/core/kernel/utility/formatters/options_formatter.php', 'kPDFElemFactory' => '/core/units/pdf/pdf_helper.php', 'kPDFElement' => '/core/units/pdf/pdf_helper.php', 'kPDFHelper' => '/core/units/pdf/pdf_helper.php', 'kPDFImage' => '/core/units/pdf/pdf_image.php', 'kPDFLine' => '/core/units/pdf/pdf_helper.php', 'kPDFRenderer' => '/core/units/pdf/pdf_renderer.php', 'kPDFStylesheet' => '/core/units/pdf/pdf_styles.php', 'kPDFTable' => '/core/units/pdf/pdf_table.php', 'kPDFTableRow' => '/core/units/pdf/pdf_table.php', 'kPDFTextElement' => '/core/units/pdf/pdf_text.php', 'kPasswordFormatter' => '/core/kernel/utility/formatters/password_formatter.php', 'kPermCacheUpdater' => '/core/units/categories/cache_updater.php', 'kPermissionsHelper' => '/core/units/helpers/permissions_helper.php', 'kPhraseCache' => '/core/kernel/languages/phrases_cache.php', 'kPictureFormatter' => '/core/kernel/utility/formatters/upload_formatter.php', 'kPlainUrlProcessor' => '/core/kernel/managers/plain_url_processor.php', 'kPriorityHelper' => '/core/units/helpers/priority_helper.php', 'kRecursiveHelper' => '/core/units/helpers/recursive_helper.php', 'kRedirectException' => '/core/kernel/kbase.php', 'kRequestManager' => '/core/kernel/managers/request_manager.php', 'kRewriteUrlProcessor' => '/core/kernel/managers/rewrite_url_processor.php', 'kScheduledTaskManager' => '/core/kernel/managers/scheduled_task_manager.php', 'kSearchHelper' => '/core/units/helpers/search_helper.php', 'kSectionsHelper' => '/core/units/helpers/sections_helper.php', 'kSerializedFormatter' => '/core/kernel/utility/formatters/serialized_formatter.php', 'kSocket' => '/core/kernel/utility/socket.php', 'kSubscriptionAnalyzer' => '/core/units/system_event_subscriptions/system_event_subscription_tp.php', 'kSubscriptionItem' => '/core/kernel/managers/subscription_manager.php', 'kSubscriptionManager' => '/core/kernel/managers/subscription_manager.php', 'kSystemConfig' => '/core/kernel/utility/system_config.php', 'kSystemConfigException' => '/core/kernel/utility/system_config.php', 'kTCPDFRenderer' => '/core/units/pdf/pdf_renderer_tcpdf.php', 'kTagProcessor' => '/core/kernel/processors/tag_processor.php', 'kTempHandlerSubTable' => '/core/kernel/utility/temp_handler.php', 'kTempHandlerTable' => '/core/kernel/utility/temp_handler.php', 'kTempHandlerTopTable' => '/core/kernel/utility/temp_handler.php', 'kTempTablesHandler' => '/core/kernel/utility/temp_handler.php', 'kThemesHelper' => '/core/units/helpers/themes_helper.php', 'kUnitConfig' => '/core/kernel/utility/unit_config.php', 'kUnitConfigCloner' => '/core/kernel/utility/unit_config_cloner.php', 'kUnitConfigReader' => '/core/kernel/utility/unit_config_reader.php', 'kUnitFormatter' => '/core/kernel/utility/formatters/unit_formatter.php', 'kUpgradeHelper' => '/core/install/upgrade_helper.php', 'kUploadFormatter' => '/core/kernel/utility/formatters/upload_formatter.php', 'kUploadHelper' => '/core/units/helpers/upload_helper.php', 'kUploaderException' => '/core/units/helpers/upload_helper.php', 'kUrlManager' => '/core/kernel/managers/url_manager.php', 'kUrlProcessor' => '/core/kernel/managers/url_processor.php', 'kUtil' => '/core/kernel/globals.php', 'kValidator' => '/core/kernel/utility/validator.php', 'kXMLHelper' => '/core/units/helpers/xml_helper.php', 'kXMLNode' => '/core/units/helpers/xml_helper.php', 'kXMLNode5' => '/core/units/helpers/xml_helper5.php', 'kZendPDFRenderer' => '/core/units/pdf/pdf_renderer_zend.php', 'kiCacheable' => '/core/kernel/interfaces/cacheable.php', ), 'class_info' => array( 'AbstractCategoryItemRouter' => array( 'type' => 1, 'modifiers' => 1, 'extends' => array( 0 => 'AbstractRouter', ), ), 'AbstractReviewRouter' => array( 'type' => 1, 'modifiers' => 1, 'extends' => array( 0 => 'AbstractRouter', ), ), 'AbstractRouter' => array( 'type' => 1, 'modifiers' => 1, 'extends' => array( 0 => 'kBase', ), ), 'AdminEventsHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'AdminTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'AjaxFormHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'ApcCacheHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kCacheHandler', ), ), 'BackupHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'BaseSession' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'BaseSessionStorage' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBBase', ), ), 'CacheSettings' => array( 'type' => 1, 'modifiers' => 0, ), 'CaptchaEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kEventHandler', ), ), 'CategoriesEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'CategoriesItem' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBItem', ), ), 'CategoriesTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'CategoryHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'CategoryItemsEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'CategoryItemsTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'CategoryPermissionRebuild' => array( 'type' => 1, 'modifiers' => 0, ), 'ChangeLog' => array( 'type' => 1, 'modifiers' => 0, ), 'ChangeLogEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'ChangeLogTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'ColumnSet' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'ConfigSearchEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'ConfigSearchTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'ConfigurationEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'ConfigurationItem' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBItem', ), ), 'ConfigurationTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'ConfigurationValidator' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kValidator', ), ), 'ContentEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'ContentTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'CoreUpgrades' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kUpgradeHelper', ), ), 'CountryStateEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'CssMinifyHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'CustomDataEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'CustomFieldsEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'CustomFieldsTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'Debugger' => array( 'type' => 1, 'modifiers' => 0, ), 'DebuggerUtil' => array( 'type' => 1, 'modifiers' => 0, ), 'DeploymentHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'DraftEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'EditPickerHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'EmailDelivery' => array( 'type' => 1, 'modifiers' => 0, ), 'EmailLogEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'EmailLogStatus' => array( 'type' => 1, 'modifiers' => 0, ), 'EmailLogTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'EmailQueueEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'EmailQueueTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'EmailTemplate' => array( 'type' => 1, 'modifiers' => 0, ), 'EmailTemplateEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'EmailTemplateTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'FakeCacheHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kCacheHandler', ), ), 'FavoritesEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'FckEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'FckTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'FileEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'FileHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'FileTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'FormFieldEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'FormFieldsTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'FormSubmissionHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'FormSubmissionTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'FormSubmissionsEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'FormsEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'FormsTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'GeoCodeHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'GroupTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'GroupsEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'IDBConnection' => array( 'type' => 2, ), 'ImageEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'ImageHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'ImageTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'ImagesItem' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBItem', ), ), 'InPortalPrerequisites' => array( 'type' => 1, 'modifiers' => 0, ), 'InpCustomFieldsHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\AbstractCommand' => array( 'type' => 1, 'modifiers' => 1, 'extends' => array( 0 => 'Symfony\\Component\\Console\\Command\\Command', 1 => 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\IConsoleCommand', ), ), 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\BuildClassMapCommand' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\AbstractCommand', 1 => 'Stecman\\Component\\Symfony\\Console\\BashCompletion\\Completion\\CompletionAwareInterface', ), ), 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\CompletionCommand' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'Stecman\\Component\\Symfony\\Console\\BashCompletion\\CompletionCommand', 1 => 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\IConsoleCommand', ), ), 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\IConsoleCommand' => array( 'type' => 2, ), 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\ResetCacheCommand' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\AbstractCommand', ), ), 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\RunEventCommand' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\AbstractCommand', 1 => 'Stecman\\Component\\Symfony\\Console\\BashCompletion\\Completion\\CompletionAwareInterface', ), ), + 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\RunScheduledTaskCommand' => array( + 'type' => 1, + 'modifiers' => 0, + 'extends' => array( + 0 => 'Intechnic\\InPortal\\Core\\kernel\\Console\\Command\\AbstractCommand', + 1 => 'Stecman\\Component\\Symfony\\Console\\BashCompletion\\Completion\\CompletionAwareInterface', + ), + ), 'Intechnic\\InPortal\\Core\\kernel\\Console\\ConsoleApplication' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'Symfony\\Component\\Console\\Application', ), ), 'Intechnic\\InPortal\\Core\\kernel\\Console\\ConsoleCommandProvider' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', 1 => 'Intechnic\\InPortal\\Core\\kernel\\Console\\IConsoleCommandProvider', ), ), 'Intechnic\\InPortal\\Core\\kernel\\Console\\IConsoleCommandProvider' => array( 'type' => 2, ), 'Intechnic\\InPortal\\Core\\kernel\\utility\\ClassDiscovery\\ClassDetector' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'PhpParser\\NodeVisitorAbstract', ), ), 'Intechnic\\InPortal\\Core\\kernel\\utility\\ClassDiscovery\\ClassMapBuilder' => array( 'type' => 1, 'modifiers' => 0, ), 'Intechnic\\InPortal\\Core\\kernel\\utility\\ClassDiscovery\\CodeFolderFilterIterator' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'RecursiveFilterIterator', ), ), 'ItemFilterEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'ItemFilterTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'JSONHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'JsMinifyHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'Language' => array( 'type' => 1, 'modifiers' => 0, ), 'LanguageImportHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'LanguagesEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'LanguagesItem' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBItem', ), ), 'LanguagesTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'LeftJoinOptimizer' => array( 'type' => 1, 'modifiers' => 0, ), 'ListHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'LoginResult' => array( 'type' => 1, 'modifiers' => 0, ), 'MInputHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'MailboxHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'MailingList' => array( 'type' => 1, 'modifiers' => 0, ), 'MailingListEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'MailingListHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'MailingListTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'MainRouter' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'AbstractRouter', ), ), 'MaintenanceMode' => array( 'type' => 1, 'modifiers' => 0, ), 'MassImageResizer' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'MemcacheCacheHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kCacheHandler', ), ), 'MenuHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'MimeDecodeHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'MinifyHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'ModuleDeploymentLog' => array( 'type' => 1, 'modifiers' => 0, ), 'ModuleDeploymentLogEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'ModulesEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'ModulesTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'NParser' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'NParserCompiler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'POP3Helper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'PageHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'PageRevisionEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'PageRevisionTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'Params' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'ParserException' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'Exception', ), ), 'PasswordHash' => array( 'type' => 1, 'modifiers' => 0, ), 'PasswordHashingMethod' => array( 'type' => 1, 'modifiers' => 0, ), 'PermissionTypeEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'PermissionsEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'PermissionsTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'PhraseTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'PhrasesEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'PriorityEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'PromoBlockEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'PromoBlockGroupEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'PromoBlockGroupTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'PromoBlockTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'PromoBlockType' => array( 'type' => 1, 'modifiers' => 0, ), 'RatingHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'RelatedSearchEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'RelatedSearchTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'RelationshipEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'RelationshipTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'ReviewsEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'ReviewsTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'ScheduledTask' => array( 'type' => 1, 'modifiers' => 0, ), 'ScheduledTaskEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'SelectorsEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'SelectorsItem' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBItem', ), ), 'SelectorsTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'Session' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'BaseSession', ), ), 'SessionLogEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'SessionStorage' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'BaseSessionStorage', ), ), 'SiteConfigEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kEventHandler', ), ), 'SiteConfigHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'SiteConfigTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kTagProcessor', ), ), 'SiteDomainEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'SiteHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'SkinEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'SkinHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'SpamHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'SpamReportEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'SpamReportTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'StatisticsEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'StatisticsTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'StorageEngine' => array( 'type' => 1, 'modifiers' => 0, ), 'StylesheetsEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'StylesheetsItem' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBItem', ), ), 'SubmissionFormField' => array( 'type' => 1, 'modifiers' => 0, ), 'SubmissionLogEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'SubmissionLogTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'SystemEventSubscriptionEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'SystemEventSubscriptionTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'SystemLogEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'SystemLogTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'TemplateHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'TemplatesCache' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'ThemeFileEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'ThemeItem' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBItem', ), ), 'ThemesEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'ThemesTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'ThesaurusEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'ThesaurusTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'TranslationSaveMode' => array( 'type' => 1, 'modifiers' => 0, ), 'TranslatorEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'TranslatorTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'UnitConfigDecorator' => array( 'type' => 1, 'modifiers' => 0, ), 'UserGroupsEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'UserHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'UserProfileEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'UserProfileTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'UserType' => array( 'type' => 1, 'modifiers' => 0, ), 'UsersEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'UsersItem' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBItem', ), ), 'UsersSyncronize' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'UsersSyncronizeManager' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'UsersTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'VisitsEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'VisitsList' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBList', ), ), 'VisitsTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'XCacheCacheHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kCacheHandler', ), ), 'XMLIterator' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'Iterator', ), ), '_BlockTag' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), '_Tag_Cache' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => '_BlockTag', ), ), '_Tag_Capture' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => '_Tag_DefineElement', ), ), '_Tag_Comment' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => '_BlockTag', ), ), '_Tag_Compress' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => '_BlockTag', ), ), '_Tag_DefaultParam' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => '_BlockTag', ), ), '_Tag_DefineElement' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => '_BlockTag', ), ), '_Tag_If' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => '_BlockTag', ), ), '_Tag_IfDataExists' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => '_BlockTag', ), ), '_Tag_IfNot' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => '_Tag_If', ), ), '_Tag_Include' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => '_BlockTag', ), ), '_Tag_Param' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => '_BlockTag', ), ), '_Tag_RenderElement' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => '_Tag_DefineElement', ), ), '_Tag_RenderElements' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => '_BlockTag', ), ), '_Tag_SetParam' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => '_BlockTag', ), ), 'clsCachedPermissions' => array( 'type' => 1, 'modifiers' => 0, ), 'clsRecursionStack' => array( 'type' => 1, 'modifiers' => 0, ), 'fckFCKHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kApplication' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kiCacheable', ), ), 'kArray' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', 1 => 'kiCacheable', ), ), 'kBase' => array( 'type' => 1, 'modifiers' => 0, ), 'kBracketsHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kCCDateFormatter' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kFormatter', ), ), 'kCSSDefaults' => array( 'type' => 1, 'modifiers' => 0, ), 'kCSVHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kCache' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kCacheHandler' => array( 'type' => 1, 'modifiers' => 1, ), 'kCacheManager' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', 1 => 'kiCacheable', ), ), 'kCaptchaHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kCatDBEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBEventHandler', ), ), 'kCatDBItem' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBItem', ), ), 'kCatDBItemExportHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kCatDBList' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBList', ), ), 'kCatDBTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBTagProcessor', ), ), 'kChangesFormatter' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kFormatter', ), ), 'kChartHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kClipboardHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kColumnPickerHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kCookieHasher' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kCountHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kCountryStatesHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kCronField' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kCronHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kCurlHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kCustomFieldFormatter' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kFormatter', ), ), 'kDBBase' => array( 'type' => 1, 'modifiers' => 1, 'extends' => array( 0 => 'kBase', ), ), 'kDBConnection' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', 1 => 'IDBConnection', ), ), 'kDBConnectionDebug' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBConnection', ), ), 'kDBEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kEventHandler', ), ), 'kDBItem' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBBase', ), ), 'kDBList' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kDBBase', 1 => 'Iterator', 2 => 'Countable', ), ), 'kDBLoadBalancer' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', 1 => 'IDBConnection', ), ), 'kDBTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kTagProcessor', ), ), 'kDateFormatter' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kFormatter', ), ), 'kEmail' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kEmailSendingHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kEmailTemplateHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kErrorHandlerStack' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHandlerStack', ), ), 'kEvent' => array( 'type' => 1, 'modifiers' => 2, 'extends' => array( 0 => 'kBase', ), ), 'kEventHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kEventManager' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', 1 => 'kiCacheable', ), ), 'kExceptionHandlerStack' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHandlerStack', ), ), 'kFactory' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', 1 => 'kiCacheable', ), ), 'kFactoryException' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'Exception', ), ), 'kFilenamesHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kFilesizeFormatter' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kFormatter', ), ), 'kFormatter' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kHTTPQuery' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'Params', ), ), 'kHandlerStack' => array( 'type' => 1, 'modifiers' => 1, 'extends' => array( 0 => 'kBase', ), ), 'kHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kHookManager' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', 1 => 'kiCacheable', ), ), 'kInstallToolkit' => array( 'type' => 1, 'modifiers' => 0, ), 'kInstallator' => array( 'type' => 1, 'modifiers' => 0, ), 'kLEFTFormatter' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kFormatter', ), ), 'kLogger' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kMainTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kTagProcessor', ), ), 'kModulesHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kMultiLanguage' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kFormatter', ), ), 'kMultiLanguageHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kMultipleFilter' => array( 'type' => 1, 'modifiers' => 0, ), 'kMySQLQuery' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'Iterator', 1 => 'Countable', 2 => 'SeekableIterator', ), ), 'kMySQLQueryCol' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kMySQLQuery', ), ), 'kNavigationBar' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kNoPermissionException' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kRedirectException', ), ), 'kOpenerStack' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kOptionsFormatter' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kFormatter', ), ), 'kPDFElemFactory' => array( 'type' => 1, 'modifiers' => 0, ), 'kPDFElement' => array( 'type' => 1, 'modifiers' => 0, ), 'kPDFHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kPDFImage' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kPDFElement', ), ), 'kPDFLine' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kPDFElement', ), ), 'kPDFRenderer' => array( 'type' => 1, 'modifiers' => 0, ), 'kPDFStylesheet' => array( 'type' => 1, 'modifiers' => 0, ), 'kPDFTable' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kPDFElement', ), ), 'kPDFTableRow' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kPDFElement', ), ), 'kPDFTextElement' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kPDFElement', ), ), 'kPasswordFormatter' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kFormatter', ), ), 'kPermCacheUpdater' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kPermissionsHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kPhraseCache' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kPictureFormatter' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kUploadFormatter', ), ), 'kPlainUrlProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kUrlProcessor', ), ), 'kPriorityHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kRecursiveHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kRedirectException' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'Exception', ), ), 'kRequestManager' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kRewriteUrlProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kUrlProcessor', ), ), 'kScheduledTaskManager' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', 1 => 'kiCacheable', ), ), 'kSearchHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kSectionsHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kSerializedFormatter' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kFormatter', ), ), 'kSocket' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kSubscriptionAnalyzer' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kSubscriptionItem' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kSubscriptionManager' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kSystemConfig' => array( 'type' => 1, 'modifiers' => 0, ), 'kSystemConfigException' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'Exception', ), ), 'kTCPDFRenderer' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kPDFRenderer', ), ), 'kTagProcessor' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kTempHandlerSubTable' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kTempHandlerTable', ), ), 'kTempHandlerTable' => array( 'type' => 1, 'modifiers' => 1, 'extends' => array( 0 => 'kBase', ), ), 'kTempHandlerTopTable' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kTempHandlerTable', ), ), 'kTempTablesHandler' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kThemesHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kUnitConfig' => array( 'type' => 1, 'modifiers' => 0, ), 'kUnitConfigCloner' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', 1 => 'kiCacheable', ), ), 'kUnitConfigReader' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', 1 => 'kiCacheable', ), ), 'kUnitFormatter' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kFormatter', ), ), 'kUpgradeHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kUploadFormatter' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kFormatter', ), ), 'kUploadHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kUploaderException' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'Exception', ), ), 'kUrlManager' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kUrlProcessor' => array( 'type' => 1, 'modifiers' => 1, 'extends' => array( 0 => 'kBase', ), ), 'kUtil' => array( 'type' => 1, 'modifiers' => 0, ), 'kValidator' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kBase', ), ), 'kXMLHelper' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kHelper', ), ), 'kXMLNode' => array( 'type' => 1, 'modifiers' => 0, ), 'kXMLNode5' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kXMLNode', 1 => 'IteratorAggregate', ), ), 'kZendPDFRenderer' => array( 'type' => 1, 'modifiers' => 0, 'extends' => array( 0 => 'kPDFRenderer', ), ), 'kiCacheable' => array( 'type' => 2, ), ), ); Index: branches/5.3.x/tools/cron.php =================================================================== --- branches/5.3.x/tools/cron.php (revision 16187) +++ branches/5.3.x/tools/cron.php (revision 16188) @@ -1,38 +1,27 @@ /tools/cron.php -O /dev/null > /dev/null 2>&1 +// Use above line to invoke from cron: // */1 * * * * /usr/bin/php /path/to/site/tools/cron.php > /dev/null 2>&1 -$start = microtime(true); -define('CRON', 1); -//define('ADMIN', 1); // don't ever define, because this would drastically break down all links built from cron -define('FULL_PATH', realpath(dirname(__FILE__) . '/..')); -define('CMD_MODE', isset($argv) && count($argv) ? 1 : 0); - -if ( CMD_MODE ) { - define('DBG_SKIP_REPORTING', 1); - $_SERVER['REQUEST_URI'] = 'CRON'; - $_SERVER['HTTP_USER_AGENT'] = 'gecko'; +if ( PHP_SAPI !== 'cli' ) { + echo 'This script is intended to be used from command-line only !'; + exit(64); } -include_once(FULL_PATH . '/core/kernel/startup.php'); - -$application =& kApplication::Instance(); -$application->Init(); - -// events from request are not processed, only predefined scheduled tasks -$application->EventManager->runScheduledTasks(true); +define('FULL_PATH', realpath(dirname(__FILE__) . '/..')); +$exit_code = 0; +passthru(FULL_PATH . '/in-portal scheduled-task:run', $exit_code); +exit($exit_code);