Page MenuHomeIn-Portal Phabricator

D68.id167.diff
No OneTemporary

File Metadata

Created
Wed, Feb 26, 9:02 AM

D68.id167.diff

Index: composer.json
===================================================================
--- composer.json
+++ composer.json
@@ -1,5 +1,7 @@
{
+ "name": "In-Portal",
"require-dev": {
- "aik099/coding-standard": "dev-in-portal"
+ "aik099/coding-standard": "dev-in-portal",
+ "nikic/php-parser": "~1.2"
}
}
Index: composer.lock
===================================================================
--- composer.lock
+++ composer.lock
@@ -4,7 +4,7 @@
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "hash": "4c8225aabf36f626240d5615afd5c66b",
+ "hash": "746788fc49ab32d05ca2bd837e9f0a1f",
"packages": [],
"packages-dev": [
{
@@ -13,12 +13,12 @@
"source": {
"type": "git",
"url": "https://github.com/aik099/CodingStandard.git",
- "reference": "e389596b9b1fc8f67f1cca34a1c8bdd9d85104d0"
+ "reference": "3680b3926f0e936dc95de82dece9310b97c73e97"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/aik099/CodingStandard/zipball/e389596b9b1fc8f67f1cca34a1c8bdd9d85104d0",
- "reference": "e389596b9b1fc8f67f1cca34a1c8bdd9d85104d0",
+ "url": "https://api.github.com/repos/aik099/CodingStandard/zipball/3680b3926f0e936dc95de82dece9310b97c73e97",
+ "reference": "3680b3926f0e936dc95de82dece9310b97c73e97",
"shasum": ""
},
"require-dev": {
@@ -45,7 +45,52 @@
"PHP_CodeSniffer",
"codesniffer"
],
- "time": "2014-12-29 12:08:25"
+ "time": "2015-04-10 07:05:51"
+ },
+ {
+ "name": "nikic/php-parser",
+ "version": "v1.2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "08f97eb4efa029e2fafb6d8c98b71731bf0cf621"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/08f97eb4efa029e2fafb6d8c98b71731bf0cf621",
+ "reference": "08f97eb4efa029e2fafb6d8c98b71731bf0cf621",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": ">=5.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.2-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "lib/bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Nikita Popov"
+ }
+ ],
+ "description": "A PHP parser written in PHP",
+ "keywords": [
+ "parser",
+ "php"
+ ],
+ "time": "2015-04-03 14:33:59"
}
],
"aliases": [],
@@ -54,6 +99,7 @@
"aik099/coding-standard": 20
},
"prefer-stable": false,
+ "prefer-lowest": false,
"platform": [],
"platform-dev": []
}
Index: core/install.php
===================================================================
--- core/install.php
+++ core/install.php
@@ -674,7 +674,7 @@
case 2: // Upload License File
$file_data = array_map('trim', file($_FILES['license_file']['tmp_name']));
if ((count($file_data) == 3) && $file_data[1]) {
- $modules_helper = $this->Application->recallObject('ModulesHelper');
+ $modules_helper = $this->Application->recallObject('kModulesHelper');
/* @var $modules_helper kModulesHelper */
if ($modules_helper->verifyLicense($file_data[1])) {
@@ -694,7 +694,7 @@
case 3: // Use Existing License
$license_hash = $this->toolkit->systemConfig->get('License', 'Intechnic');
if ($license_hash) {
- $modules_helper = $this->Application->recallObject('ModulesHelper');
+ $modules_helper = $this->Application->recallObject('kModulesHelper');
/* @var $modules_helper kModulesHelper */
if (!$modules_helper->verifyLicense($license_hash)) {
@@ -795,7 +795,7 @@
break;
case 'select_domain':
- $modules_helper = $this->Application->recallObject('ModulesHelper');
+ $modules_helper = $this->Application->recallObject('kModulesHelper');
/* @var $modules_helper kModulesHelper */
// get domain name as entered by user on the form
Index: core/install/cache/.gitignore
===================================================================
--- /dev/null
+++ core/install/cache/.gitignore
@@ -0,0 +1 @@
+file_hashes.php
Index: core/install/cache/class_structure.php
===================================================================
--- /dev/null
+++ core/install/cache/class_structure.php
@@ -0,0 +1,341 @@
+<?php
+// @codingStandardsIgnoreFile
+
+/**
+ * This file is automatically @generated. Use 'php tools/build_class_map.php' to rebuild it.
+ */
+return array(
+ 'cache_format' => 1,
+ 'classes' => array(
+ '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',
+ 'CategoryItemRewrite' => '/core/units/helpers/mod_rewrite_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\\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',
+ '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',
+ ),
+);
Index: core/install/install_toolkit.php
===================================================================
--- core/install/install_toolkit.php
+++ core/install/install_toolkit.php
@@ -175,7 +175,7 @@
*/
function processLicense($file_data)
{
- $modules_helper = $this->Application->recallObject('ModulesHelper');
+ $modules_helper = $this->Application->recallObject('kModulesHelper');
/* @var $modules_helper kModulesHelper */
$file_data = explode('Code==:', $file_data);
@@ -1025,4 +1025,4 @@
return $compression_engines;
}
- }
\ No newline at end of file
+ }
Index: core/install/step_templates/choose_modules.tpl
===================================================================
--- core/install/step_templates/choose_modules.tpl
+++ core/install/step_templates/choose_modules.tpl
@@ -26,7 +26,7 @@
$selected = Array ('core');
}
- $modules_helper = $this->Application->recallObject('ModulesHelper');
+ $modules_helper = $this->Application->recallObject('kModulesHelper');
/* @var $modules_helper kModulesHelper */
$licensed_modules = array_map('strtolower', $modules_helper->_GetModules());
@@ -58,4 +58,4 @@
echo sprintf($module_tpl, $module, $module_string, $checked, $error_msg);
}
-?>
\ No newline at end of file
+?>
Index: core/install/upgrades.php
===================================================================
--- core/install/upgrades.php
+++ core/install/upgrades.php
@@ -638,7 +638,7 @@
$duplicate_phrases = $this->Conn->Query($sql);
foreach ($duplicate_phrases as $phrase_record) {
- // 1. keep phrase, that was added first, because it is selected in PhrasesCache::LoadPhraseByLabel
+ // 1. keep phrase, that was added first, because it is selected in kPhraseCache::LoadPhraseByLabel.
$where_clause = Array (
'LanguageId = ' . $phrase_record['LanguageId'],
'Phrase = ' . $this->Conn->qstr($phrase_record['Phrase']),
@@ -2498,4 +2498,4 @@
$object->Update();
}
}
- }
\ No newline at end of file
+ }
Index: core/kernel/application.php
===================================================================
--- core/kernel/application.php
+++ core/kernel/application.php
@@ -93,7 +93,7 @@
* Holds all phrases used
* in code and template
*
- * @var PhrasesCache
+ * @var kPhraseCache
* @access public
*/
public $Phrases;
@@ -323,7 +323,7 @@
define('MOD_REWRITE', $this->ConfigValue('UseModRewrite') && !$this->isAdmin ? 1 : 0);
// start processing request
- $this->HttpQuery = $this->recallObject('HTTPQuery');
+ $this->HttpQuery = $this->recallObject('kHTTPQuery');
$this->HttpQuery->process();
if ( defined('DEBUG_MODE') && $this->isDebugMode() ) {
@@ -401,7 +401,7 @@
}
$this->UrlManager = $this->makeClass('kUrlManager');
- $this->EventManager = $this->makeClass('EventManager');
+ $this->EventManager = $this->makeClass('kEventManager');
$this->Phrases = $this->makeClass('kPhraseCache');
$this->RegisterDefaultBuildEvents();
@@ -443,11 +443,13 @@
{
if ( defined('IS_INSTALL') && IS_INSTALL && !$this->TableFound('Modules', true) ) {
$this->registerModuleConstants();
+ $this->Factory->configureAutoloader();
+
return;
}
// use makeClass over recallObject, since used before kApplication initialization during installation
- $modules_helper = $this->makeClass('ModulesHelper');
+ $modules_helper = $this->makeClass('kModulesHelper');
/* @var $modules_helper kModulesHelper */
$this->Conn->nextQueryCachable = true;
@@ -458,6 +460,7 @@
$this->ModuleInfo = $this->Conn->Query($sql, 'Name');
$this->registerModuleConstants();
+ $this->Factory->configureAutoloader();
}
/**
@@ -679,82 +682,49 @@
}
/**
- * Registers default classes such as kDBEventHandler, kUrlManager
+ * Registers classes, that are used before unit configs (where class registration usually is done) are read.
*
- * Called automatically while initializing kApplication
+ * Called automatically while initializing kApplication.
*
* @return void
* @access public
*/
public function RegisterDefaultClasses()
{
- $this->registerClass('kHelper', KERNEL_PATH . '/kbase.php');
- $this->registerClass('kMultipleFilter', KERNEL_PATH . '/utility/filters.php');
- $this->registerClass('kiCacheable', KERNEL_PATH . '/interfaces/cacheable.php');
+ // Database.
+ $this->registerClass('IDBConnection', KERNEL_PATH . '/db/i_db_connection.php');
+ $this->registerClass('kDBConnection', KERNEL_PATH . '/db/db_connection.php');
+ $this->registerClass('kDBConnectionDebug', KERNEL_PATH . '/db/db_connection.php');
+ $this->registerClass('kDBLoadBalancer', KERNEL_PATH . '/db/db_load_balancer.php');
- $this->registerClass('kEventManager', KERNEL_PATH . '/event_manager.php', 'EventManager');
- $this->registerClass('kHookManager', KERNEL_PATH . '/managers/hook_manager.php');
- $this->registerClass('kScheduledTaskManager', KERNEL_PATH . '/managers/scheduled_task_manager.php');
- $this->registerClass('kRequestManager', KERNEL_PATH . '/managers/request_manager.php');
- $this->registerClass('kSubscriptionManager', KERNEL_PATH . '/managers/subscription_manager.php');
+ // Cache.
+ $this->registerClass('kCacheManager', KERNEL_PATH . '/managers/cache_manager.php');
+ $this->registerClass('kCache', KERNEL_PATH . '/utility/cache.php');
+
+ // Unit configs.
+ $this->registerClass('kUnitConfigReader', KERNEL_PATH . '/utility/unit_config_reader.php');
+ $this->registerClass('kUnitConfigCloner', KERNEL_PATH . '/utility/unit_config_cloner.php');
+ // Urls.
$this->registerClass('kUrlManager', KERNEL_PATH . '/managers/url_manager.php');
$this->registerClass('kUrlProcessor', KERNEL_PATH . '/managers/url_processor.php');
$this->registerClass('kPlainUrlProcessor', KERNEL_PATH . '/managers/plain_url_processor.php');
- $this->registerClass('kRewriteUrlProcessor', KERNEL_PATH . '/managers/rewrite_url_processor.php');
+ // $this->registerClass('kRewriteUrlProcessor', KERNEL_PATH . '/managers/rewrite_url_processor.php');
- $this->registerClass('kCacheManager', KERNEL_PATH . '/managers/cache_manager.php');
- $this->registerClass('PhrasesCache', KERNEL_PATH . '/languages/phrases_cache.php', 'kPhraseCache');
- $this->registerClass('kTempTablesHandler', KERNEL_PATH . '/utility/temp_handler.php');
- $this->registerClass('kValidator', KERNEL_PATH . '/utility/validator.php');
- $this->registerClass('kOpenerStack', KERNEL_PATH . '/utility/opener_stack.php');
- $this->registerClass('kLogger', KERNEL_PATH . '/utility/logger.php');
+ // Events.
+ $this->registerClass('kEventManager', KERNEL_PATH . '/event_manager.php');
+ $this->registerClass('kHookManager', KERNEL_PATH . '/managers/hook_manager.php');
+ $this->registerClass('kScheduledTaskManager', KERNEL_PATH . '/managers/scheduled_task_manager.php');
+ $this->registerClass('kRequestManager', KERNEL_PATH . '/managers/request_manager.php');
- $this->registerClass('kUnitConfig', KERNEL_PATH . '/utility/unit_config.php');
- $this->registerClass('kUnitConfigReader', KERNEL_PATH . '/utility/unit_config_reader.php');
- $this->registerClass('kUnitConfigCloner', KERNEL_PATH . '/utility/unit_config_cloner.php');
- $this->registerClass('PasswordHash', KERNEL_PATH . '/utility/php_pass.php');
+ // Misc.
+ $this->registerClass('kPhraseCache', KERNEL_PATH . '/languages/phrases_cache.php');
+ $this->registerClass('kModulesHelper', KERNEL_PATH . self::MODULE_HELPER_PATH);
- // Params class descendants
- $this->registerClass('kArray', KERNEL_PATH . '/utility/params.php');
- $this->registerClass('Params', KERNEL_PATH . '/utility/params.php');
+ // Aliased.
$this->registerClass('Params', KERNEL_PATH . '/utility/params.php', 'kActions');
- $this->registerClass('kCache', KERNEL_PATH . '/utility/cache.php', 'kCache', 'Params');
- $this->registerClass('kHTTPQuery', KERNEL_PATH . '/utility/http_query.php', 'HTTPQuery');
-
- // session
- $this->registerClass('kCookieHasher', KERNEL_PATH . '/utility/cookie_hasher.php');
- $this->registerClass('Session', KERNEL_PATH . '/session/session.php');
- $this->registerClass('SessionStorage', KERNEL_PATH . '/session/session_storage.php');
- $this->registerClass('InpSession', KERNEL_PATH . '/session/inp_session.php', 'Session');
- $this->registerClass('InpSessionStorage', KERNEL_PATH . '/session/inp_session_storage.php', 'SessionStorage');
-
- // template parser
- $this->registerClass('kTagProcessor', KERNEL_PATH . '/processors/tag_processor.php');
$this->registerClass('kMainTagProcessor', KERNEL_PATH . '/processors/main_processor.php', 'm_TagProcessor');
- $this->registerClass('kDBTagProcessor', KERNEL_PATH . '/db/db_tag_processor.php');
- $this->registerClass('kCatDBTagProcessor', KERNEL_PATH . '/db/cat_tag_processor.php');
- $this->registerClass('NParser', KERNEL_PATH . '/nparser/nparser.php');
- $this->registerClass('TemplatesCache', KERNEL_PATH . '/nparser/template_cache.php');
-
- // database
- $this->registerClass('kDBConnection', KERNEL_PATH . '/db/db_connection.php');
- $this->registerClass('kDBConnectionDebug', KERNEL_PATH . '/db/db_connection.php');
- $this->registerClass('kDBLoadBalancer', KERNEL_PATH . '/db/db_load_balancer.php');
- $this->registerClass('kDBItem', KERNEL_PATH . '/db/dbitem.php');
- $this->registerClass('kCatDBItem', KERNEL_PATH . '/db/cat_dbitem.php');
- $this->registerClass('kDBList', KERNEL_PATH . '/db/dblist.php');
- $this->registerClass('kCatDBList', KERNEL_PATH . '/db/cat_dblist.php');
- $this->registerClass('kDBEventHandler', KERNEL_PATH . '/db/db_event_handler.php');
- $this->registerClass('kCatDBEventHandler', KERNEL_PATH . '/db/cat_event_handler.php');
-
- // email sending
- $this->registerClass('kEmail', KERNEL_PATH . '/utility/email.php');
$this->registerClass('kEmailSendingHelper', KERNEL_PATH . '/utility/email_send.php', 'EmailSender');
- $this->registerClass('kSocket', KERNEL_PATH . '/utility/socket.php', 'Socket');
-
- // do not move to config - this helper is used before configs are read
- $this->registerClass('kModulesHelper', KERNEL_PATH . self::MODULE_HELPER_PATH, 'ModulesHelper');
}
/**
Index: core/kernel/db/cat_event_handler.php
===================================================================
--- core/kernel/db/cat_event_handler.php
+++ core/kernel/db/cat_event_handler.php
@@ -1110,7 +1110,7 @@
$keywords = $this->Application->unescapeRequestVariable(trim($this->Application->GetVar('keywords')));
- $query_object = $this->Application->recallObject('HTTPQuery');
+ $query_object = $this->Application->recallObject('kHTTPQuery');
/* @var $query_object kHTTPQuery */
$sql = 'SHOW TABLES LIKE "'.$search_table.'"';
@@ -1423,7 +1423,7 @@
*/
function OnAdvancedSearch($event)
{
- $query_object = $this->Application->recallObject('HTTPQuery');
+ $query_object = $this->Application->recallObject('kHTTPQuery');
/* @var $query_object kHTTPQuery */
if ( !isset($query_object->Post['andor']) ) {
Index: core/kernel/languages/phrases_cache.php
===================================================================
--- core/kernel/languages/phrases_cache.php
+++ core/kernel/languages/phrases_cache.php
@@ -14,7 +14,8 @@
defined('FULL_PATH') or die('restricted access!');
-class PhrasesCache extends kBase {
+class kPhraseCache extends kBase
+{
var $Phrases = Array();
var $Ids = Array();
@@ -411,4 +412,4 @@
return str_replace($reserved, $replacement, $text);
}
-}
\ No newline at end of file
+}
Index: core/kernel/managers/cache_manager.php
===================================================================
--- core/kernel/managers/cache_manager.php
+++ core/kernel/managers/cache_manager.php
@@ -302,7 +302,7 @@
{
// maybe discover keys automatically from corresponding classes
$cache_keys = Array (
- 'Factory.Files', 'Factory.realClasses',
+ 'Factory.Files', 'Factory.Namespaces', 'Factory.realClasses',
'ConfigReader.prefixFiles', 'ConfigCloner.clones',
'EventManager.beforeHooks', 'EventManager.afterHooks', 'EventManager.scheduledTasks', 'EventManager.buildEvents',
'Application.ReplacementTemplates', 'Application.RewriteListeners', 'Application.ModuleInfo',
@@ -318,7 +318,7 @@
$this->Application->setFromCache($empty_cache);
$this->setFromCache($empty_cache);
- // otherwise ModulesHelper indirectly used from includeConfigFiles won't work
+ // Otherwise kModulesHelper indirectly used from includeConfigFiles won't work.
$this->Application->RegisterDefaultClasses();
}
@@ -849,4 +849,4 @@
return $this->getCache($cache_key);
}
-}
\ No newline at end of file
+}
Index: core/kernel/managers/plain_url_processor.php
===================================================================
--- core/kernel/managers/plain_url_processor.php
+++ core/kernel/managers/plain_url_processor.php
@@ -114,7 +114,7 @@
$vars = Array ();
$prefix_special = array_shift($mixed_part); // l.pick, l
- $http_query = $this->Application->recallObject('HTTPQuery');
+ $http_query = $this->Application->recallObject('kHTTPQuery');
/* @var $http_query kHTTPQuery */
$query_map = $http_query->discoverUnit($prefix_special); // from $_GET['env']
@@ -260,4 +260,4 @@
return $ret;
}
-}
\ No newline at end of file
+}
Index: core/kernel/managers/rewrite_url_processor.php
===================================================================
--- core/kernel/managers/rewrite_url_processor.php
+++ core/kernel/managers/rewrite_url_processor.php
@@ -90,7 +90,7 @@
{
parent::__construct($manager);
- $this->HTTPQuery = $this->Application->recallObject('HTTPQuery');
+ $this->HTTPQuery = $this->Application->recallObject('kHTTPQuery');
// domain based primary language
$this->primaryLanguageId = $this->Application->siteDomainField('PrimaryLanguageId');
@@ -480,7 +480,7 @@
$this->Application->VerifyThemeId();
$this->Application->VerifyLanguageId();
- // no need, since we don't have any cached phrase IDs + nobody will use PhrasesCache::LanguageId soon
+ // No need, since we don't have any cached phrase IDs + nobody will use kPhraseCache::LanguageId soon.
// $this->Application->Phrases->Init('phrases');
}
@@ -1077,4 +1077,4 @@
return $ret;
}
-}
\ No newline at end of file
+}
Index: core/kernel/processors/main_processor.php
===================================================================
--- core/kernel/processors/main_processor.php
+++ core/kernel/processors/main_processor.php
@@ -998,7 +998,7 @@
$require = $this->Application->ConfigValue('Require_AdminSSL');
}
- $http_query = $this->Application->recallObject('HTTPQuery');
+ $http_query = $this->Application->recallObject('kHTTPQuery');
/* @var $http_query kHTTPQuery */
$pass = $http_query->getRedirectParams();
Index: core/kernel/session/inp_session.php
===================================================================
--- core/kernel/session/inp_session.php
+++ core/kernel/session/inp_session.php
@@ -14,12 +14,12 @@
defined('FULL_PATH') or die('restricted access!');
-class InpSession extends Session
+class Session extends BaseSession
{
/**
* Enter description here...
*
- * @var InpSessionStorage
+ * @var SessionStorage
* @access protected
*/
protected $Storage;
Index: core/kernel/session/inp_session_storage.php
===================================================================
--- core/kernel/session/inp_session_storage.php
+++ core/kernel/session/inp_session_storage.php
@@ -15,7 +15,8 @@
defined('FULL_PATH') or die('restricted access!');
-class InpSessionStorage extends SessionStorage {
+class SessionStorage extends BaseSessionStorage
+{
public function Init($prefix, $special)
{
@@ -94,4 +95,4 @@
}
}
}
-}
\ No newline at end of file
+}
Index: core/kernel/session/session.php
===================================================================
--- core/kernel/session/session.php
+++ core/kernel/session/session.php
@@ -72,7 +72,8 @@
*/
-class Session extends kBase {
+class BaseSession extends kBase
+{
const smAUTO = 1;
const smCOOKIES_ONLY = 2;
@@ -110,7 +111,7 @@
/**
* Enter description here...
*
- * @var SessionStorage
+ * @var BaseSessionStorage
* @access protected
*/
protected $Storage;
@@ -331,7 +332,7 @@
return false;
}
- $http_query = $this->Application->recallObject('HTTPQuery');
+ $http_query = $this->Application->recallObject('kHTTPQuery');
/* @var $http_query kHTTPQuery */
$cookies_on = array_key_exists('cookies_on', $http_query->Cookie); // not good here
@@ -453,7 +454,7 @@
function getFlashSID()
{
- $http_query = $this->Application->recallObject('HTTPQuery');
+ $http_query = $this->Application->recallObject('kHTTPQuery');
/* @var $http_query kHTTPQuery */
return getArrayValue($http_query->Post, 'flashsid');
@@ -469,7 +470,7 @@
$get_sid = $this->getFlashSID();
if (!$get_sid) {
- $http_query = $this->Application->recallObject('HTTPQuery');
+ $http_query = $this->Application->recallObject('kHTTPQuery');
/* @var $http_query kHTTPQuery */
$get_sid = getArrayValue($http_query->Get, $this->GETName);
Index: core/kernel/session/session_storage.php
===================================================================
--- core/kernel/session/session_storage.php
+++ core/kernel/session/session_storage.php
@@ -16,10 +16,10 @@
defined('FULL_PATH') or die('restricted access!');
/**
- * Implements Session Store in the Database
- *
+ * Implements Session Store in the Database.
*/
-class SessionStorage extends kDBBase {
+class BaseSessionStorage extends kDBBase
+{
/**
* Reference to session
@@ -525,4 +525,4 @@
throw new BadMethodCallException('Unsupported');
}
-}
\ No newline at end of file
+}
Index: core/kernel/utility/ClassDiscovery/ClassDetector.php
===================================================================
--- /dev/null
+++ core/kernel/utility/ClassDiscovery/ClassDetector.php
@@ -0,0 +1,65 @@
+<?php
+/**
+* @version $Id$
+* @package In-Portal
+* @copyright Copyright (C) 1997 - 2015 Intechnic. All rights reserved.
+* @license GNU/GPL
+* In-Portal is Open Source software.
+* This means that this software may have been modified pursuant
+* the GNU General Public License, and as distributed it includes
+* or is derivative of works licensed under the GNU General Public License
+* or other free or open source software licenses.
+* See http://www.in-portal.org/license for copyright notices and details.
+*/
+
+namespace Intechnic\InPortal\Core\kernel\utility\ClassDiscovery;
+
+
+use PhpParser\Node;
+use PhpParser\Node\Stmt\ClassLike;
+use PhpParser\NodeVisitorAbstract;
+
+defined('FULL_PATH') or die('restricted access!');
+
+class ClassDetector extends NodeVisitorAbstract
+{
+
+ /**
+ * List of classes, discovered by the visitor.
+ *
+ * @var array
+ */
+ protected $classes = array();
+
+ /**
+ * Class map builder.
+ *
+ * @var ClassMapBuilder
+ */
+ protected $classMapBuilder;
+
+ /**
+ * Creates class detector instance.
+ *
+ * @param ClassMapBuilder $class_map_builder Class map builder.
+ */
+ public function __construct(ClassMapBuilder $class_map_builder)
+ {
+ $this->classMapBuilder = $class_map_builder;
+ }
+
+ /**
+ * Remembers all encountered classes.
+ *
+ * @param Node $node Node.
+ *
+ * @return void
+ */
+ public function enterNode(Node $node)
+ {
+ if ( $node instanceof ClassLike ) {
+ $this->classMapBuilder->addClass((string)$node->namespacedName);
+ }
+ }
+
+}
Index: core/kernel/utility/ClassDiscovery/ClassMapBuilder.php
===================================================================
--- /dev/null
+++ core/kernel/utility/ClassDiscovery/ClassMapBuilder.php
@@ -0,0 +1,435 @@
+<?php
+/**
+* @version $Id$
+* @package In-Portal
+* @copyright Copyright (C) 1997 - 2015 Intechnic. All rights reserved.
+* @license GNU/GPL
+* In-Portal is Open Source software.
+* This means that this software may have been modified pursuant
+* the GNU General Public License, and as distributed it includes
+* or is derivative of works licensed under the GNU General Public License
+* or other free or open source software licenses.
+* See http://www.in-portal.org/license for copyright notices and details.
+*/
+
+namespace Intechnic\InPortal\Core\kernel\utility\ClassDiscovery;
+
+
+use PhpParser\Lexer;
+use PhpParser\NodeTraverser;
+use PhpParser\NodeVisitor\NameResolver;
+use PhpParser\Parser;
+
+defined('FULL_PATH') or die('restricted access!');
+
+class ClassMapBuilder
+{
+
+ const CACHE_FORMAT = 1;
+
+ const CACHE_FILE_STRUCTURE = 'class_structure.php';
+
+ const CACHE_FILE_HASHES = 'file_hashes.php';
+
+ /**
+ * Path to scan.
+ *
+ * @var string
+ */
+ protected $scanPath;
+
+ /**
+ * Path to store cache into.
+ *
+ * @var string
+ */
+ protected $cachePath;
+
+ /**
+ * List of classes (key - class, value - file).
+ *
+ * @var array
+ */
+ protected $classToFileMap = array();
+
+ /**
+ * List of classes, declared in each file (key - file, value - class list).
+ *
+ * @var array
+ */
+ protected $fileToClassMap = array();
+
+ /**
+ * Stores hash of each file on given path.
+ *
+ * @var array
+ */
+ protected $fileHashes = array();
+
+ /**
+ * Parser.
+ *
+ * @var Parser
+ */
+ protected $parser;
+
+ /**
+ * Node traverser.
+ *
+ * @var NodeTraverser
+ */
+ protected $traverser;
+
+ /**
+ * Name of file, that is currently processed.
+ *
+ * @var string
+ */
+ protected $currentFile;
+
+ /**
+ * Returns builder array for all eligible folders.
+ *
+ * @param array $module_info Module info.
+ *
+ * @return static[]
+ */
+ public static function createBuilders(array $module_info = null)
+ {
+ $ret = array();
+
+ if ( !isset($module_info) ) {
+ // No module information given > scan everything.
+ $ret[] = new static(FULL_PATH . DIRECTORY_SEPARATOR . 'core');
+
+ foreach ( glob(MODULES_PATH . '/*', GLOB_ONLYDIR) as $module_folder ) {
+ if ( \kModulesHelper::isInPortalModule($module_folder) ) {
+ $ret[] = new static($module_folder);
+ }
+ }
+ }
+ else {
+ // Module information given > scan only these modules.
+ foreach ( $module_info as $module_name => $module_data ) {
+ if ( $module_name == 'In-Portal' ) {
+ continue;
+ }
+
+ $ret[] = new static(FULL_PATH . DIRECTORY_SEPARATOR . rtrim($module_data['Path'], '/'));
+ }
+ }
+
+ return $ret;
+ }
+
+ /**
+ * Creates ClassMapBuilder instance.
+ *
+ * @param string $scan_path Path to scan.
+ */
+ public function __construct($scan_path)
+ {
+ $this->scanPath = $scan_path;
+ $this->assertPath($this->scanPath);
+
+ $this->cachePath = $this->scanPath . '/install/cache';
+ $this->assertPath($this->cachePath);
+ }
+
+ /**
+ * Validates that path exists and is directory.
+ *
+ * @param string $path Path.
+ *
+ * @return void
+ * @throws \InvalidArgumentException When invalid path is given.
+ */
+ protected function assertPath($path)
+ {
+ if ( !file_exists($path) || !is_dir($path) ) {
+ throw new \InvalidArgumentException('Path "' . $path . '" is not a folder or doesn\'t exist');
+ }
+ }
+
+ /**
+ * Returns class map, that was build previously.
+ *
+ * @return array
+ */
+ public function get()
+ {
+ $this->load(self::CACHE_FILE_STRUCTURE, false);
+
+ return $this->classToFileMap;
+ }
+
+ /**
+ * Builds class map.
+ *
+ * @return void
+ * @throws \RuntimeException When PHP parser not found.
+ */
+ public function build()
+ {
+ if ( !class_exists('PhpParser\Parser') ) {
+ $error_msg = 'PHP Parser not found. ';
+ $error_msg .= 'Make sure, that Composer dependencies were installed using "php composer.phar install --dev" command.';
+ throw new \RuntimeException($error_msg);
+ }
+
+ $scan_path = preg_replace('/^' . preg_quote(FULL_PATH, '/') . '/', '...', $this->scanPath, 1);
+
+ echo $this->strPad('path "' . $scan_path . '"', 40);
+
+ $this->load(self::CACHE_FILE_STRUCTURE, true);
+ $this->load(self::CACHE_FILE_HASHES, true);
+
+ $start = microtime(true);
+ $files = $this->scan();
+ echo $this->strPad('scanned in ' . sprintf('%.4f', microtime(true) - $start) . 's', 25);
+
+ $start = microtime(true);
+
+ $this->createParser();
+
+ foreach ( $files as $file ) {
+ $this->parseFile($file);
+ }
+
+ echo $this->strPad('parsed in ' . sprintf('%.4f', microtime(true) - $start) . 's', 25);
+ echo PHP_EOL;
+
+ ksort($this->classToFileMap);
+ ksort($this->fileHashes);
+
+ $this->store(self::CACHE_FILE_STRUCTURE);
+ $this->store(self::CACHE_FILE_HASHES);
+ }
+
+ /**
+ * Pads text with spaces from right side.
+ *
+ * @param string $text Text.
+ * @param integer $length Pad length.
+ *
+ * @return string
+ */
+ protected function strPad($text, $length)
+ {
+ return str_pad($text, $length, ' ', STR_PAD_RIGHT);
+ }
+
+ /**
+ * Loads cache from disk.
+ *
+ * @param string $filename Filename.
+ * @param boolean $for_writing Load cache for writing or reading.
+ *
+ * @return void
+ */
+ protected function load($filename, $for_writing)
+ {
+ $file_path = $this->getCacheFilename($filename);
+
+ if ( !file_exists($file_path) ) {
+ return;
+ }
+
+ $cache = include $file_path;
+
+ if ( $cache['cache_format'] < self::CACHE_FORMAT ) {
+ return;
+ }
+
+ if ( $filename === self::CACHE_FILE_STRUCTURE ) {
+ if ( $for_writing ) {
+ foreach ( $cache['classes'] as $class => $file ) {
+ if ( !isset($this->fileToClassMap[$file]) ) {
+ $this->fileToClassMap[$file] = array();
+ }
+
+ $this->fileToClassMap[$file][] = $class;
+ }
+ }
+ else {
+ $this->classToFileMap = $cache['classes'];
+ }
+ }
+ elseif ( $filename === self::CACHE_FILE_HASHES ) {
+ $this->fileHashes = $cache['file_hashes'];
+ }
+ }
+
+ /**
+ * Scans path for files.
+ *
+ * @return array
+ */
+ protected function scan()
+ {
+ $files = array();
+ $directory_iterator = new \RecursiveDirectoryIterator($this->scanPath);
+ $filter_iterator = new CodeFolderFilterIterator($directory_iterator);
+
+ foreach ( new \RecursiveIteratorIterator($filter_iterator, \RecursiveIteratorIterator::SELF_FIRST) as $file ) {
+ /* @var \SplFileInfo $file */
+ if ( $file->isFile() && $file->getExtension() === 'php' ) {
+ $relative_path = preg_replace('/^' . preg_quote(FULL_PATH, '/') . '/', '', $file->getPathname(), 1);
+ $files[$relative_path] = true;
+ }
+ }
+
+ // Don't include cache file itself in cache.
+ $exclude_file = preg_replace(
+ '/^' . preg_quote(FULL_PATH, '/') . '/',
+ '',
+ $this->getCacheFilename(self::CACHE_FILE_STRUCTURE),
+ 1
+ );
+ unset($files[$exclude_file]);
+
+ $exclude_file = preg_replace(
+ '/^' . preg_quote(FULL_PATH, '/') . '/',
+ '',
+ $this->getCacheFilename(self::CACHE_FILE_HASHES),
+ 1
+ );
+ unset($files[$exclude_file]);
+
+ return array_keys($files);
+ }
+
+ /**
+ * Create parser.
+ *
+ * @return void
+ */
+ protected function createParser()
+ {
+ ini_set('xdebug.max_nesting_level', 3000);
+ $this->parser = new Parser(new Lexer());
+ $this->traverser = new NodeTraverser();
+ $this->traverser->addVisitor(new NameResolver());
+ $this->traverser->addVisitor(new ClassDetector($this));
+ }
+
+ /**
+ * Parses a file.
+ *
+ * @param string $file Path to file.
+ *
+ * @return void
+ */
+ protected function parseFile($file)
+ {
+ $this->currentFile = $file;
+
+ $code = file_get_contents(FULL_PATH . $file);
+ $current_hash = filesize(FULL_PATH . $file);
+ $previous_hash = isset($this->fileHashes[$file]) ? $this->fileHashes[$file] : 0;
+
+ if ( $current_hash === $previous_hash ) {
+ // File wasn't change since time, when cache was built.
+ if ( isset($this->fileToClassMap[$file]) ) {
+ foreach ( $this->fileToClassMap[$file] as $class ) {
+ $this->addClass($class);
+ }
+ }
+ }
+ else {
+ // Parse file, because it's content doesn't match the cache.
+ $this->fileToClassMap[$file] = array();
+ $this->fileHashes[$file] = $current_hash;
+
+ $statements = $this->parser->parse($code);
+ $this->traverser->traverse($statements);
+ }
+ }
+
+ /**
+ * Stores cache to disk.
+ *
+ * @param string $filename Cache filename.
+ *
+ * @return void
+ * @throws \RuntimeException When cache could not be written.
+ */
+ protected function store($filename)
+ {
+ $cache = array('cache_format' => self::CACHE_FORMAT);
+
+ if ( $filename === self::CACHE_FILE_STRUCTURE ) {
+ $cache['classes'] = $this->classToFileMap;
+ }
+ elseif ( $filename === self::CACHE_FILE_HASHES ) {
+ $cache['file_hashes'] = $this->fileHashes;
+ }
+
+ $cache = $this->prettyVarExport($cache);
+
+ $at = '@';
+ $file_content = <<<EOPHP
+<?php
+// {$at}codingStandardsIgnoreFile
+
+/**
+ * This file is automatically {$at}generated. Use 'php tools/build_class_map.php' to rebuild it.
+ */
+return {$cache};
+
+EOPHP;
+
+ $file_path = $this->getCacheFilename($filename);
+
+ // Don't bother saving, because file wasn't even changed.
+ if ( file_exists($file_path) && file_get_contents($file_path) === $file_content ) {
+ return;
+ }
+
+ if ( file_put_contents($file_path, $file_content) === false ) {
+ throw new \RuntimeException('Unable to save cache to "' . $file_path . '" file');
+ }
+ }
+
+ /**
+ * Prettified var_export.
+ *
+ * @param mixed $data Data.
+ *
+ * @return string
+ */
+ protected function prettyVarExport($data)
+ {
+ $result = var_export($data, true);
+ $result = preg_replace("/=> \n[ ]+array \\(/s", '=> array (', $result);
+ $result = str_replace(array('array (', ' '), array('array(', "\t"), $result);
+
+ return $result;
+ }
+
+ /**
+ * Returns cache filename.
+ *
+ * @param string $filename Filename.
+ *
+ * @return string
+ */
+ protected function getCacheFilename($filename)
+ {
+ return $this->cachePath . '/' . $filename;
+ }
+
+ /**
+ * Adds class to the map.
+ *
+ * @param string $class Class.
+ *
+ * @return void
+ */
+ public function addClass($class)
+ {
+ $this->classToFileMap[$class] = $this->currentFile;
+ $this->fileToClassMap[$this->currentFile][] = $class;
+ }
+
+}
Index: core/kernel/utility/ClassDiscovery/CodeFolderFilterIterator.php
===================================================================
--- /dev/null
+++ core/kernel/utility/ClassDiscovery/CodeFolderFilterIterator.php
@@ -0,0 +1,58 @@
+<?php
+/**
+* @version $Id$
+* @package In-Portal
+* @copyright Copyright (C) 1997 - 2015 Intechnic. All rights reserved.
+* @license GNU/GPL
+* In-Portal is Open Source software.
+* This means that this software may have been modified pursuant
+* the GNU General Public License, and as distributed it includes
+* or is derivative of works licensed under the GNU General Public License
+* or other free or open source software licenses.
+* See http://www.in-portal.org/license for copyright notices and details.
+*/
+
+namespace Intechnic\InPortal\Core\kernel\utility\ClassDiscovery;
+
+
+defined('FULL_PATH') or die('restricted access!');
+
+class CodeFolderFilterIterator extends \RecursiveFilterIterator
+{
+
+ /**
+ * Folders, that should be ignored.
+ *
+ * @var array
+ */
+ public $skipFolders = array(
+ 'CVS', '.svn', '.git', 'admin_templates', 'libchart',
+ );
+
+ /**
+ * Creates iterator instance.
+ *
+ * @param \RecursiveDirectoryIterator $directory_iterator Directory iterator.
+ */
+ public function __construct(\RecursiveDirectoryIterator $directory_iterator)
+ {
+ parent::__construct($directory_iterator);
+
+ $this->skipFolders[] = basename(EDITOR_PATH);
+ }
+
+ /**
+ * Accepts only folders with valid names.
+ *
+ * @return boolean
+ */
+ public function accept()
+ {
+ return !in_array(
+ $this->current()->getFilename(),
+ $this->skipFolders,
+ true
+ );
+ }
+
+}
Index: core/kernel/utility/email_send.php
===================================================================
--- core/kernel/utility/email_send.php
+++ core/kernel/utility/email_send.php
@@ -155,7 +155,7 @@
if ($this->sendMethod == 'SMTP') {
// create connection object if we will use SMTP
- $this->smtpSocket = $this->Application->makeClass('Socket');
+ $this->smtpSocket = $this->Application->makeClass('kSocket');
}
$this->SetCharset(null, true);
@@ -2091,4 +2091,4 @@
{
$this->_logData = $log_data;
}
- }
\ No newline at end of file
+ }
Index: core/kernel/utility/factory.php
===================================================================
--- core/kernel/utility/factory.php
+++ core/kernel/utility/factory.php
@@ -12,6 +12,8 @@
* See http://www.in-portal.org/license for copyright notices and details.
*/
+use Intechnic\InPortal\Core\kernel\utility\ClassDiscovery\ClassMapBuilder;
+
defined('FULL_PATH') or die('restricted access!');
class kFactory extends kBase implements kiCacheable {
@@ -27,6 +29,13 @@
protected $classMap = Array ();
/**
+ * The PSR-4 compliant namespace-to-folder mapping.
+ *
+ * @var array
+ */
+ protected $namespaceMap = array();
+
+ /**
* Map class names to their pseudo
* class names, e.g. key=pseudo_class,
* value=real_class_name
@@ -52,6 +61,45 @@
}
/**
+ * Configures module-based autoloader.
+ *
+ * @return void
+ */
+ public function configureAutoloader()
+ {
+ if ( !$this->Application->ModuleInfo ) {
+ $error_msg = 'Autoloader configuration can be only performed after module information is available';
+ throw new LogicException($error_msg);
+ }
+
+ $this->namespaceMap = array();
+
+ foreach ( $this->Application->ModuleInfo as $module_name => $module_info ) {
+ if ( $module_name == 'In-Portal' ) {
+ continue;
+ }
+
+ $this->namespaceMap[$module_info['ClassNamespace']] = rtrim($module_info['Path'], '/');
+ }
+
+ if ( defined('IS_INSTALL') && IS_INSTALL ) {
+ // During installation process all modules, because unit configs from all modules are scanned too.
+ $class_map_builders = ClassMapBuilder::createBuilders();
+ }
+ else {
+ $class_map_builders = ClassMapBuilder::createBuilders($this->Application->ModuleInfo);
+ }
+
+ foreach ( $class_map_builders as $class_map_builder ) {
+ $class_map = $class_map_builder->get();
+ $class_names = array_keys($class_map);
+
+ $this->classMap = array_merge($this->classMap, $class_map);
+ $this->realClasses = array_merge($this->realClasses, array_combine($class_names, $class_names));
+ }
+ }
+
+ /**
* Sets data from cache to object
*
* @param Array $data
@@ -61,6 +109,7 @@
public function setFromCache(&$data)
{
$this->classMap = $data['Factory.Files'];
+ $this->namespaceMap = $data['Factory.Namespaces'];
$this->realClasses = $data['Factory.realClasses'];
}
@@ -116,15 +165,11 @@
$class_path .= str_replace('_', DIRECTORY_SEPARATOR, $class_name) . '.php';
- foreach ($this->Application->ModuleInfo as $module_name => $module_info) {
- if ( $module_name == 'In-Portal' ) {
- continue;
- }
-
- if ( strpos($class, $module_info['ClassNamespace']) === 0 ) {
+ foreach ( $this->namespaceMap as $namespace_prefix => $namespace_path ) {
+ if ( strpos($class, $namespace_prefix) === 0 ) {
$test_class_path = str_replace(
- str_replace('\\', DIRECTORY_SEPARATOR, $module_info['ClassNamespace']),
- rtrim($module_info['Path'], '/'),
+ str_replace('\\', DIRECTORY_SEPARATOR, $namespace_prefix),
+ $namespace_path,
$class_path
);
@@ -145,8 +190,13 @@
*/
public function getToCache()
{
+ ksort($this->classMap);
+ ksort($this->namespaceMap);
+ ksort($this->realClasses);
+
return Array (
'Factory.Files' => $this->classMap,
+ 'Factory.Namespaces' => $this->namespaceMap,
'Factory.realClasses' => $this->realClasses,
);
}
@@ -182,17 +232,15 @@
return Array ('prefix' => $prefix, 'special' => $special, 'prefix_special' => $prefix_special);
}
-
/**
- * Returns object using params specified, creates it if is required
+ * Returns object using params specified, creates it if is required.
+ *
+ * @param string $name Object name in factory.
+ * @param string $pseudo_class Pseudo class.
+ * @param Array $event_params Event params.
+ * @param Array $arguments Constructor arguments.
*
- * @param string $name
- * @param string $pseudo_class
- * @param Array $event_params
- * @param Array $arguments
* @return kBase
- * @access public
- * @throws kFactoryException
*/
public function getObject($name, $pseudo_class = '', $event_params = Array (), $arguments = Array ())
{
@@ -208,23 +256,6 @@
$pseudo_class = $ret['prefix'];
}
- if ( !isset($this->realClasses[$pseudo_class]) ) {
- $error_msg = 'RealClass not defined for pseudo_class <strong>' . $pseudo_class . '</strong>';
-
- if ( $this->Application->isInstalled() ) {
- throw new kFactoryException($error_msg);
- }
- else {
- if ( $this->Application->isDebugMode() ) {
- $this->Application->Debugger->appendTrace();
- }
-
- trigger_error($error_msg, E_USER_WARNING);
- }
-
- return false;
- }
-
if ( defined('DEBUG_MODE') && defined('DBG_FACTORY') && DBG_FACTORY && $this->Application->isDebugMode() ) {
$this->Application->Debugger->appendHTML('<b>Creating object:</b> Pseudo class: ' . $pseudo_class . ' Prefix: ' . $name);
$this->Application->Debugger->appendTrace();
@@ -262,21 +293,36 @@
}
/**
- * Get's real class name for pseudo class,
- * includes class file and creates class
- * instance.
- * All parameters except first one are passed to object constuctor
- * through mediator method makeClass that creates instance of class
+ * Get's real class name for pseudo class, includes class file and creates class instance.
*
* Pattern: Factory Method
*
- * @param string $pseudo_class
- * @param Array $arguments
+ * @param string $pseudo_class Pseudo class.
+ * @param array $arguments Constructor arguments.
+ *
* @return kBase
- * @access public
+ * @throws kFactoryException When class not found.
*/
public function makeClass($pseudo_class, $arguments = Array ())
{
+ if ( !isset($this->realClasses[$pseudo_class]) ) {
+ $error_msg = 'RealClass not defined for "<strong>' . $pseudo_class . '</strong>" pseudo_class.';
+ $error_msg .= ' Please use "<strong>php tools/build_class_map.php</strong>" to discover new classes.';
+
+ if ( $this->Application->isInstalled() ) {
+ throw new kFactoryException($error_msg);
+ }
+ else {
+ if ( $this->Application->isDebugMode() ) {
+ $this->Application->Debugger->appendTrace();
+ }
+
+ trigger_error($error_msg, E_USER_WARNING);
+ }
+
+ return false;
+ }
+
$real_class = $this->realClasses[$pseudo_class];
$mem_before = memory_get_usage();
@@ -344,4 +390,4 @@
class kFactoryException extends Exception {
-}
\ No newline at end of file
+}
Index: core/kernel/utility/unit_config.php
===================================================================
--- core/kernel/utility/unit_config.php
+++ core/kernel/utility/unit_config.php
@@ -1086,11 +1086,8 @@
$register_classes = $this->_getClasses();
foreach ($register_classes as $class_info) {
- $this->Application->registerClass(
- $class_info['class'],
- $this->getBasePath() . DIRECTORY_SEPARATOR . $class_info['file'],
- $class_info['pseudo']
- );
+ // Thanks to static class map there is no need to specify file during class registration.
+ $this->Application->registerClass($class_info['class'], '', $class_info['pseudo']);
if ( isset($class_info['build_event']) && $class_info['build_event'] && $class_info['build_event'] != 'OnBuild' ) {
$this->Application->delayUnitProcessing('registerBuildEvent', Array ($class_info['pseudo'], $class_info['build_event']));
Index: core/units/categories/categories_event_handler.php
===================================================================
--- core/units/categories/categories_event_handler.php
+++ core/units/categories/categories_event_handler.php
@@ -2468,7 +2468,7 @@
$keywords = $this->Application->unescapeRequestVariable(trim($this->Application->GetVar('keywords')));
- $query_object = $this->Application->recallObject('HTTPQuery');
+ $query_object = $this->Application->recallObject('kHTTPQuery');
/* @var $query_object kHTTPQuery */
$sql = 'SHOW TABLES LIKE "'.$search_table.'"';
Index: core/units/helpers/helpers_config.php
===================================================================
--- core/units/helpers/helpers_config.php
+++ core/units/helpers/helpers_config.php
@@ -24,7 +24,7 @@
Array ('pseudo' => 'SearchHelper', 'class' => 'kSearchHelper', 'file' => 'search_helper.php', 'build_event' => ''),
Array ('pseudo' => 'SectionsHelper', 'class' => 'kSectionsHelper', 'file' => 'sections_helper.php', 'build_event' => ''),
Array ('pseudo' => 'PermissionsHelper', 'class' => 'kPermissionsHelper', 'file' => 'permissions_helper.php', 'build_event' => ''),
- Array ('pseudo' => 'ModulesHelper', 'class' => 'kModulesHelper', 'file' => 'modules_helper.php', 'build_event' => ''),
+ Array ('pseudo' => 'kModulesHelper', 'class' => 'kModulesHelper', 'file' => 'modules_helper.php', 'build_event' => ''),
Array ('pseudo' => 'CategoryItemRewrite', 'class' => 'CategoryItemRewrite', 'file' => 'mod_rewrite_helper.php', 'build_event' => ''),
Array ('pseudo' => 'RecursiveHelper', 'class' => 'kRecursiveHelper', 'file' => 'recursive_helper.php', 'build_event' => ''),
Array ('pseudo' => 'FilenamesHelper', 'class' => 'kFilenamesHelper', 'file' => 'filenames_helper.php', 'build_event' => ''),
@@ -75,4 +75,4 @@
Array ('pseudo' => 'kCronHelper', 'class' => 'kCronHelper', 'file' => 'cron_helper.php', 'build_event' => ''),
Array ('pseudo' => 'kUploadHelper', 'class' => 'kUploadHelper', 'file' => 'upload_helper.php', 'build_event' => ''),
),
- );
\ No newline at end of file
+ );
Index: core/units/modules/modules_event_handler.php
===================================================================
--- core/units/modules/modules_event_handler.php
+++ core/units/modules/modules_event_handler.php
@@ -146,7 +146,7 @@
{
parent::OnAfterListQuery($event);
- $modules_helper = $this->Application->recallObject('ModulesHelper');
+ $modules_helper = $this->Application->recallObject('kModulesHelper');
/* @var $modules_helper kModulesHelper */
$new_modules = $modules_helper->getModules(kModulesHelper::NOT_INSTALLED);
@@ -174,4 +174,4 @@
$object->addRecord($module_record);
}
}
- }
\ No newline at end of file
+ }
Index: core/units/modules/modules_tag_processor.php
===================================================================
--- core/units/modules/modules_tag_processor.php
+++ core/units/modules/modules_tag_processor.php
@@ -36,7 +36,7 @@
$object = $this->getObject($params);
/* @var $object kDBList */
- $modules_helper = $this->Application->recallObject('ModulesHelper');
+ $modules_helper = $this->Application->recallObject('kModulesHelper');
/* @var $modules_helper kModulesHelper */
return $modules_helper->moduleInstalled( $object->GetDBField('Name') );
@@ -52,7 +52,7 @@
$object = $this->getObject($params);
/* @var $object kDBList */
- $modules_helper = $this->Application->recallObject('ModulesHelper');
+ $modules_helper = $this->Application->recallObject('kModulesHelper');
/* @var $modules_helper kModulesHelper */
$licensed_modules = array_map('strtolower', $modules_helper->_GetModules());
@@ -114,4 +114,4 @@
return $this->Application->HREF('dummy', '_FRONT_END_', $url_params, $module_path . 'install.php');
}
- }
\ No newline at end of file
+ }
Index: core/units/statistics/statistics_tag_processor.php
===================================================================
--- core/units/statistics/statistics_tag_processor.php
+++ core/units/statistics/statistics_tag_processor.php
@@ -270,7 +270,7 @@
*/
function getPendingPrefixes()
{
- $modules_helper = $this->Application->recallObject('ModulesHelper');
+ $modules_helper = $this->Application->recallObject('kModulesHelper');
/* @var $modules_helper kModulesHelper */
$licensed_modules = array_map('strtolower', $modules_helper->_GetModules());
@@ -347,4 +347,4 @@
return $ret;
}
- }
\ No newline at end of file
+ }
Index: modules/custom/install/cache/.gitignore
===================================================================
--- /dev/null
+++ modules/custom/install/cache/.gitignore
@@ -0,0 +1 @@
+file_hashes.php
Index: modules/custom/install/cache/class_structure.php
===================================================================
--- /dev/null
+++ modules/custom/install/cache/class_structure.php
@@ -0,0 +1,27 @@
+<?php
+// @codingStandardsIgnoreFile
+
+/**
+ * This file is automatically @generated. Use 'php tools/build_class_map.php' to rebuild it.
+ */
+return array(
+ 'cache_format' => 1,
+ 'classes' => array(
+ 'CustomEventHandler' => '/modules/custom/units/sections/custom_eh.php',
+ 'CustomUpgrades' => '/modules/custom/install/upgrades.php',
+ 'EArticleEventHandler' => '/modules/custom/units/sections/articles/e_article_eh.php',
+ 'EArticleTagProcessor' => '/modules/custom/units/sections/articles/e_article_tp.php',
+ 'ECategoryEventHandler' => '/modules/custom/units/sections/categories/e_category_eh.php',
+ 'ECategoryTagProcessor' => '/modules/custom/units/sections/categories/e_category_tp.php',
+ 'ELinkEventHandler' => '/modules/custom/units/sections/links/e_link_eh.php',
+ 'ELinkTagProcessor' => '/modules/custom/units/sections/links/e_link_tp.php',
+ 'EProductEventHandler' => '/modules/custom/units/sections/products/e_product_eh.php',
+ 'EProductTagProcessor' => '/modules/custom/units/sections/products/e_product_tp.php',
+ 'EReviewEventHandler' => '/modules/custom/units/sections/reviews/e_review_eh.php',
+ 'EUserEventHandler' => '/modules/custom/units/sections/users/e_user_eh.php',
+ 'EUserTagProcessor' => '/modules/custom/units/sections/users/e_user_tp.php',
+ 'SampleHelper' => '/modules/custom/units/helpers/sample_helper.php',
+ 'WidgetEventHandler' => '/modules/custom/units/widgets/widget_eh.php',
+ 'WidgetTagProcessor' => '/modules/custom/units/widgets/widget_tp.php',
+ ),
+);
Index: modules/in-auction/install/cache/.gitignore
===================================================================
--- /dev/null
+++ modules/in-auction/install/cache/.gitignore
@@ -0,0 +1 @@
+file_hashes.php
Index: modules/in-auction/install/cache/class_structure.php
===================================================================
--- /dev/null
+++ modules/in-auction/install/cache/class_structure.php
@@ -0,0 +1,35 @@
+<?php
+// @codingStandardsIgnoreFile
+
+/**
+ * This file is automatically @generated. Use 'php tools/build_class_map.php' to rebuild it.
+ */
+return array(
+ 'cache_format' => 1,
+ 'classes' => array(
+ 'CatSelectHelper' => '/modules/in-auction/units/helpers/catselect_helper.php',
+ 'CategoryListingEventHandler' => '/modules/in-auction/units/category_listing/category_listing_eh.php',
+ 'CategoryListingTagProcessor' => '/modules/in-auction/units/category_listing/category_listing_tp.php',
+ 'DetailTemplateEventHandler' => '/modules/in-auction/units/detail_template/detail_template_eh.php',
+ 'EbayEventHandler' => '/modules/in-auction/units/sections/ebay_eh.php',
+ 'EbayShippingEventHandler' => '/modules/in-auction/units/shipping/shipping_eh.php',
+ 'EbayShippingTagProcessor' => '/modules/in-auction/units/shipping/shipping_tp.php',
+ 'EbayTagProcessor' => '/modules/in-auction/units/sections/ebay_tp.php',
+ 'ErrorLogEventHandler' => '/modules/in-auction/units/error_log/error_log_eh.php',
+ 'ErrorLogTagProcessor' => '/modules/in-auction/units/error_log/error_log_tp.php',
+ 'InAuctionPrerequisites' => '/modules/in-auction/install/prerequisites.php',
+ 'InAuctionUpgrades' => '/modules/in-auction/install/upgrades.php',
+ 'ListingEventHandler' => '/modules/in-auction/units/listing/listing_eh.php',
+ 'ListingItem' => '/modules/in-auction/units/listing/listing_item.php',
+ 'ListingTagProcessor' => '/modules/in-auction/units/listing/listing_tp.php',
+ 'ProductListingEventHandler' => '/modules/in-auction/units/product_listing/product_listing_eh.php',
+ 'ProductListingTagProcessor' => '/modules/in-auction/units/product_listing/product_listing_tp.php',
+ 'ScheduleEventHandler' => '/modules/in-auction/units/schedule/schedule_eh.php',
+ 'XMLHelper' => '/modules/in-auction/units/helpers/xml_helper.php',
+ 'Xml' => '/modules/in-auction/units/helpers/xml_helper.php',
+ 'eBayHelper' => '/modules/in-auction/units/helpers/ebay_helper.php',
+ 'eBayPlatformNotificationListener' => '/modules/in-auction/units/helpers/ebay_listener.php',
+ 'eBaySOAP' => '/modules/in-auction/units/helpers/ebay_soap.php',
+ 'eBaySession' => '/modules/in-auction/units/helpers/ebay_soap.php',
+ ),
+);
Index: modules/in-bulletin/install/cache/.gitignore
===================================================================
--- /dev/null
+++ modules/in-bulletin/install/cache/.gitignore
@@ -0,0 +1 @@
+file_hashes.php
Index: modules/in-bulletin/install/cache/class_structure.php
===================================================================
--- /dev/null
+++ modules/in-bulletin/install/cache/class_structure.php
@@ -0,0 +1,25 @@
+<?php
+// @codingStandardsIgnoreFile
+
+/**
+ * This file is automatically @generated. Use 'php tools/build_class_map.php' to rebuild it.
+ */
+return array(
+ 'cache_format' => 1,
+ 'classes' => array(
+ 'EmoticonEventHandler' => '/modules/in-bulletin/units/emoticons/emoticon_eh.php',
+ 'InBulletinPrerequisites' => '/modules/in-bulletin/install/prerequisites.php',
+ 'InBulletinUpgrades' => '/modules/in-bulletin/install/upgrades.php',
+ 'PollCommentEventHandler' => '/modules/in-bulletin/units/poll_comments/poll_comment_eh.php',
+ 'PollEventHandler' => '/modules/in-bulletin/units/polls/poll_eh.php',
+ 'PollTagProcessor' => '/modules/in-bulletin/units/polls/poll_tp.php',
+ 'PostEventHandler' => '/modules/in-bulletin/units/posts/post_eh.php',
+ 'PostHelper' => '/modules/in-bulletin/units/helpers/post_helper.php',
+ 'PostTagProcessor' => '/modules/in-bulletin/units/posts/post_tp.php',
+ 'PrivateMessageBodyEventHandler' => '/modules/in-bulletin/units/private_message_body/private_message_body_eh.php',
+ 'PrivateMessageEventHandler' => '/modules/in-bulletin/units/private_messages/private_message_eh.php',
+ 'PrivateMessageTagProcessor' => '/modules/in-bulletin/units/private_messages/private_message_tp.php',
+ 'TopicsEventHandler' => '/modules/in-bulletin/units/topics/topics_event_handler.php',
+ 'TopicsTagProcessor' => '/modules/in-bulletin/units/topics/topics_tag_processor.php',
+ ),
+);
Index: modules/in-commerce/install/cache/.gitignore
===================================================================
--- /dev/null
+++ modules/in-commerce/install/cache/.gitignore
@@ -0,0 +1 @@
+file_hashes.php
Index: modules/in-commerce/install/cache/class_structure.php
===================================================================
--- /dev/null
+++ modules/in-commerce/install/cache/class_structure.php
@@ -0,0 +1,120 @@
+<?php
+// @codingStandardsIgnoreFile
+
+/**
+ * This file is automatically @generated. Use 'php tools/build_class_map.php' to rebuild it.
+ */
+return array(
+ 'cache_format' => 1,
+ 'classes' => array(
+ 'AddressesEventHandler' => '/modules/in-commerce/units/addresses/addresses_event_handler.php',
+ 'AddressesItem' => '/modules/in-commerce/units/addresses/addresses_item.php',
+ 'AddressesList' => '/modules/in-commerce/units/addresses/addresses_list.php',
+ 'AddressesTagProcessor' => '/modules/in-commerce/units/addresses/addresses_tag_processor.php',
+ 'AffiliatePaymentTypeTagProcessor' => '/modules/in-commerce/units/affiliate_payment_types/affiliate_payment_types_tp.php',
+ 'AffiliatePaymentTypesEventHandler' => '/modules/in-commerce/units/affiliate_payment_types/affiliate_payment_types_event_handler.php',
+ 'AffiliatePaymentsEventHandler' => '/modules/in-commerce/units/affiliate_payments/affiliate_payments_event_handler.php',
+ 'AffiliatePaymentsTagProcessor' => '/modules/in-commerce/units/affiliate_payments/affiliate_payments_tag_processor.php',
+ 'AffiliatePlansBracketsEventHandler' => '/modules/in-commerce/units/affiliate_plans_brackets/affiliate_plans_brackets_event_handler.php',
+ 'AffiliatePlansBracketsTagProcessor' => '/modules/in-commerce/units/affiliate_plans_brackets/affiliate_plans_brackets_tag_processor.php',
+ 'AffiliatePlansEventHandler' => '/modules/in-commerce/units/affiliate_plans/affiliate_plans_event_handler.php',
+ 'AffiliatePlansItemsEventHandler' => '/modules/in-commerce/units/affiliate_plans_items/affiliate_plans_items_event_handler.php',
+ 'AffiliatePlansItemsTagProcessor' => '/modules/in-commerce/units/affiliate_plans_items/affiliate_plans_items_tag_processor.php',
+ 'AffiliatesEventHandler' => '/modules/in-commerce/units/affiliates/affiliates_event_handler.php',
+ 'AffiliatesTagProcessor' => '/modules/in-commerce/units/affiliates/affiliates_tag_processor.php',
+ 'BankLVCurrencyRates' => '/modules/in-commerce/units/helpers/bank_lv_currency_rates.php',
+ 'BracketsEventHandler' => '/modules/in-commerce/units/brackets/brackets_event_handler.php',
+ 'BracketsTagProcessor' => '/modules/in-commerce/units/brackets/brackets_tag_processor.php',
+ 'CouponItemType' => '/modules/in-commerce/constants.php',
+ 'CouponItemsEventHandler' => '/modules/in-commerce/units/coupon_items/coupon_items_event_handler.php',
+ 'CouponItemsTagProcessor' => '/modules/in-commerce/units/coupon_items/coupon_items_tag_processor.php',
+ 'CouponType' => '/modules/in-commerce/constants.php',
+ 'CouponsEventHandler' => '/modules/in-commerce/units/coupons/coupons_event_handler.php',
+ 'CouponsTagProcessor' => '/modules/in-commerce/units/coupons/coupons_tag_processor.php',
+ 'CurrenciesEventHandler' => '/modules/in-commerce/units/currencies/currencies_event_handler.php',
+ 'CurrenciesTagProcessor' => '/modules/in-commerce/units/currencies/currencies_tag_processor.php',
+ 'CurrencyRates' => '/modules/in-commerce/units/helpers/currency_rates.php',
+ 'CustomShippingQuoteEngine' => '/modules/in-commerce/units/shipping_quote_engines/custom_shipping_quote_engine.php',
+ 'DiscountItemType' => '/modules/in-commerce/constants.php',
+ 'DiscountItemsEventHandler' => '/modules/in-commerce/units/discount_items/discount_items_event_handler.php',
+ 'DiscountItemsTagProcessor' => '/modules/in-commerce/units/discount_items/discount_items_tag_processor.php',
+ 'DiscountType' => '/modules/in-commerce/constants.php',
+ 'DiscountsEventHandler' => '/modules/in-commerce/units/discounts/discounts_event_handler.php',
+ 'DownloadHelper' => '/modules/in-commerce/units/downloads/download_helper.php',
+ 'DstEventHandler' => '/modules/in-commerce/units/destinations/dst_event_handler.php',
+ 'ECBCurrencyRates' => '/modules/in-commerce/units/helpers/ecb_currency_rates.php',
+ 'FRNYCurrencyRates' => '/modules/in-commerce/units/helpers/frny_currency_rates.php',
+ 'FilesEventHandler' => '/modules/in-commerce/units/files/files_event_handler.php',
+ 'FilesItem' => '/modules/in-commerce/units/files/files.php',
+ 'GatewayEventHandler' => '/modules/in-commerce/units/gateways/gw_event_handler.php',
+ 'GatewayTagProcessor' => '/modules/in-commerce/units/gateways/gw_tag_processor.php',
+ 'GiftCertificateEventHandler' => '/modules/in-commerce/units/gift_certificates/gift_certificates_eh.php',
+ 'GiftCertificateTagProcessor' => '/modules/in-commerce/units/gift_certificates/gift_certificates_tp.php',
+ 'InCommerceEventHandler' => '/modules/in-commerce/units/sections/section_eh.php',
+ 'InCommercePrerequisites' => '/modules/in-commerce/install/prerequisites.php',
+ 'InCommerceUpgrades' => '/modules/in-commerce/install/upgrades.php',
+ 'Intershipper' => '/modules/in-commerce/units/shipping_quote_engines/intershipper.php',
+ 'ManufacturersEventHandler' => '/modules/in-commerce/units/manufacturers/manufacturers_event_handler.php',
+ 'ManufacturersTagProcessor' => '/modules/in-commerce/units/manufacturers/manufacturers_tag_processor.php',
+ 'OptionCombinationPriceType' => '/modules/in-commerce/constants.php',
+ 'OptionType' => '/modules/in-commerce/constants.php',
+ 'OrderCalculator' => '/modules/in-commerce/units/orders/order_calculator.php',
+ 'OrderCheckoutError' => '/modules/in-commerce/constants.php',
+ 'OrderCheckoutErrorType' => '/modules/in-commerce/constants.php',
+ 'OrderHelper' => '/modules/in-commerce/units/helpers/order_helper.php',
+ 'OrderItemsEventHandler' => '/modules/in-commerce/units/order_items/order_items_event_handler.php',
+ 'OrderItemsTagProcessor' => '/modules/in-commerce/units/order_items/order_items_tag_processor.php',
+ 'OrderManager' => '/modules/in-commerce/units/orders/order_manager.php',
+ 'OrderValidator' => '/modules/in-commerce/units/orders/order_validator.php',
+ 'OrdersEventHandler' => '/modules/in-commerce/units/orders/orders_event_handler.php',
+ 'OrdersItem' => '/modules/in-commerce/units/orders/orders_item.php',
+ 'OrdersTagProcessor' => '/modules/in-commerce/units/orders/orders_tag_processor.php',
+ 'PaymentTypeCurrenciesEventHandler' => '/modules/in-commerce/units/payment_type_currencies/payment_type_currencies_event_handler.php',
+ 'PaymentTypeCurrenciesTagProcessor' => '/modules/in-commerce/units/payment_type_currencies/payment_type_currencies_tag_processor.php',
+ 'PaymentTypeEventHandler' => '/modules/in-commerce/units/payment_type/payment_type_event_handler.php',
+ 'PaymentTypeTagProcessor' => '/modules/in-commerce/units/payment_type/payment_type_tag_processor.php',
+ 'PricingEventHandler' => '/modules/in-commerce/units/pricing/pricing_event_handler.php',
+ 'PricingTagProcessor' => '/modules/in-commerce/units/pricing/pricing_tag_processor.php',
+ 'ProductBackorder' => '/modules/in-commerce/constants.php',
+ 'ProductInventory' => '/modules/in-commerce/constants.php',
+ 'ProductOptionCombinationsEventHandler' => '/modules/in-commerce/units/product_option_combinations/product_option_combinations_event_handler.php',
+ 'ProductOptionCombinationsTagProcessor' => '/modules/in-commerce/units/product_option_combinations/product_option_combinations_tag_processor.php',
+ 'ProductOptionsEventHandler' => '/modules/in-commerce/units/product_options/product_options_event_handler.php',
+ 'ProductOptionsTagProcessor' => '/modules/in-commerce/units/product_options/product_options_tag_processor.php',
+ 'ProductsEventHandler' => '/modules/in-commerce/units/products/products_event_handler.php',
+ 'ProductsItem' => '/modules/in-commerce/units/products/products_item.php',
+ 'ProductsTagProcessor' => '/modules/in-commerce/units/products/products_tag_processor.php',
+ 'ReportsEventHandler' => '/modules/in-commerce/units/reports/reports_event_handler.php',
+ 'ReportsTagProcessor' => '/modules/in-commerce/units/reports/reports_tag_processor.php',
+ 'ShippingCostsEventHandler' => '/modules/in-commerce/units/shipping_costs/shipping_costs_event_handler.php',
+ 'ShippingEventHandler' => '/modules/in-commerce/units/shipping/shipping_event_handler.php',
+ 'ShippingQuoteCollector' => '/modules/in-commerce/units/shipping_quote_engines/shipping_quote_collector.php',
+ 'ShippingQuoteEngine' => '/modules/in-commerce/units/shipping_quote_engines/shipping_quote_engine.php',
+ 'ShippingQuoteEngineEventHandler' => '/modules/in-commerce/units/shipping_quote_engines/shipping_quote_engine_event_handler.php',
+ 'ShippingTagProcessor' => '/modules/in-commerce/units/shipping/shipping_tag_processor.php',
+ 'TaxDstEventHandler' => '/modules/in-commerce/units/taxesdestinations/taxes_dst_event_handler.php',
+ 'TaxesEventHandler' => '/modules/in-commerce/units/taxes/taxes_event_handler.php',
+ 'TaxesTagProcessor' => '/modules/in-commerce/units/taxes/taxes_tag_processor.php',
+ 'USPS' => '/modules/in-commerce/units/shipping_quote_engines/usps.php',
+ 'ZonesEventHandler' => '/modules/in-commerce/units/zones/zones_event_handler.php',
+ 'ZonesTagProcessor' => '/modules/in-commerce/units/zones/zones_tag_processor.php',
+ 'kAtosOriginGW' => '/modules/in-commerce/units/gateways/gw_classes/atosorigin.php',
+ 'kCombPriceFormatter' => '/modules/in-commerce/units/product_option_combinations/product_option_formatters.php',
+ 'kCombinationFormatter' => '/modules/in-commerce/units/product_option_combinations/product_option_formatters.php',
+ 'kGWAuthorizeNet' => '/modules/in-commerce/units/gateways/gw_classes/authorizenet.php',
+ 'kGWBase' => '/modules/in-commerce/units/gateways/gw_classes/gw_base.php',
+ 'kGWGoogleCheckout' => '/modules/in-commerce/units/gateways/gw_classes/google_checkout.php',
+ 'kGWPayPal' => '/modules/in-commerce/units/gateways/gw_classes/paypal.php',
+ 'kGWPaypalDirect' => '/modules/in-commerce/units/gateways/gw_classes/paypal_direct.php',
+ 'kGWRightConnect' => '/modules/in-commerce/units/gateways/gw_classes/rightconnect.php',
+ 'kGWWorldPay' => '/modules/in-commerce/units/gateways/gw_classes/worldpay.php',
+ 'kGWiDEALnl' => '/modules/in-commerce/units/gateways/gw_classes/ideal_nl.php',
+ 'kMultiCardsGW' => '/modules/in-commerce/units/gateways/gw_classes/multicards.php',
+ 'kPOCItem' => '/modules/in-commerce/units/product_option_combinations/products_option_combination_item.php',
+ 'kPayboxGW' => '/modules/in-commerce/units/gateways/gw_classes/paybox.php',
+ 'kPaymentechGW' => '/modules/in-commerce/units/gateways/gw_classes/paymentech.php',
+ 'kProductOptionsHelper' => '/modules/in-commerce/units/product_options/product_options_helper.php',
+ 'kSellaGuestPayGW' => '/modules/in-commerce/units/gateways/gw_classes/sella_guestpay.php',
+ 'kVerisignPfLinkGW' => '/modules/in-commerce/units/gateways/gw_classes/verisign_pflink.php',
+ ),
+);
Index: modules/in-link/install/cache/.gitignore
===================================================================
--- /dev/null
+++ modules/in-link/install/cache/.gitignore
@@ -0,0 +1 @@
+file_hashes.php
Index: modules/in-link/install/cache/class_structure.php
===================================================================
--- /dev/null
+++ modules/in-link/install/cache/class_structure.php
@@ -0,0 +1,23 @@
+<?php
+// @codingStandardsIgnoreFile
+
+/**
+ * This file is automatically @generated. Use 'php tools/build_class_map.php' to rebuild it.
+ */
+return array(
+ 'cache_format' => 1,
+ 'classes' => array(
+ 'InLinkPrerequisites' => '/modules/in-link/install/prerequisites.php',
+ 'InLinkUpgrades' => '/modules/in-link/install/upgrades.php',
+ 'LinkHelper' => '/modules/in-link/units/helpers/link_helper.php',
+ 'LinkTagProcessor' => '/modules/in-link/units/links/link_tag_processor.php',
+ 'LinkValidationEventHandler' => '/modules/in-link/units/link_validation/link_validation_eh.php',
+ 'LinkValidationTagProcessor' => '/modules/in-link/units/link_validation/link_validation_tp.php',
+ 'LinkVisitEventHandler' => '/modules/in-link/units/l-visits/l-visit_eh.php',
+ 'LinksEventHandler' => '/modules/in-link/units/links/links_event_handler.php',
+ 'ListingTypesEventHandler' => '/modules/in-link/units/listing_types/listing_types_event_handler.php',
+ 'ListingTypesTagProcessor' => '/modules/in-link/units/listing_types/listing_types_tag_processor.php',
+ 'ListingsEventHandler' => '/modules/in-link/units/listings/listings_event_handler.php',
+ 'ListingsTagProcessor' => '/modules/in-link/units/listings/listings_tag_processor.php',
+ ),
+);
Index: modules/in-news/install/cache/.gitignore
===================================================================
--- /dev/null
+++ modules/in-news/install/cache/.gitignore
@@ -0,0 +1 @@
+file_hashes.php
Index: modules/in-news/install/cache/class_structure.php
===================================================================
--- /dev/null
+++ modules/in-news/install/cache/class_structure.php
@@ -0,0 +1,15 @@
+<?php
+// @codingStandardsIgnoreFile
+
+/**
+ * This file is automatically @generated. Use 'php tools/build_class_map.php' to rebuild it.
+ */
+return array(
+ 'cache_format' => 1,
+ 'classes' => array(
+ 'ArticlesEventHandler' => '/modules/in-news/units/articles/articles_event_handler.php',
+ 'ArticlesTagProcessor' => '/modules/in-news/units/articles/articles_tag_processor.php',
+ 'InNewsPrerequisites' => '/modules/in-news/install/prerequisites.php',
+ 'InNewsUpgrades' => '/modules/in-news/install/upgrades.php',
+ ),
+);
Index: tools/build_class_map.php
===================================================================
--- /dev/null
+++ tools/build_class_map.php
@@ -0,0 +1,19 @@
+<?php
+
+use Intechnic\InPortal\Core\kernel\utility\ClassDiscovery\ClassMapBuilder;
+
+if ( PHP_SAPI !== 'cli' ) {
+ exit(64);
+}
+
+$_GET['full_init'] = 0; // See INP-1413.
+
+define('FULL_PATH', realpath(dirname(__FILE__) . '/..'));
+require_once (FULL_PATH . '/core/kernel/startup.php');
+
+$application =& kApplication::Instance();
+$application->Init();
+
+foreach ( ClassMapBuilder::createBuilders() as $class_map_builder ) {
+ $class_map_builder->build();
+}

Event Timeline