Page Menu
Home
In-Portal Phabricator
Search
Configure Global Search
Log In
Files
F803973
D68.id165.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Wed, Feb 26, 9:02 AM
Size
89 KB
Mime Type
text/x-diff
Expires
Thu, Feb 27, 9:02 AM (7 h, 42 m)
Engine
blob
Format
Raw Data
Handle
576693
Attached To
D68: INP-1422 - Store class map on disk
D68.id165.diff
View Options
Index: composer.json
===================================================================
--- composer.json
+++ composer.json
@@ -1,5 +1,9 @@
{
+ "name": "In-Portal",
"require-dev": {
"aik099/coding-standard": "dev-in-portal"
+ },
+ "require": {
+ "nikic/php-parser": "~1.2"
}
}
Index: composer.lock
===================================================================
--- composer.lock
+++ composer.lock
@@ -4,8 +4,54 @@
"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",
- "packages": [],
+ "hash": "724474a099f4e1badc9f755095fb58df",
+ "packages": [
+ {
+ "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"
+ }
+ ],
"packages-dev": [
{
"name": "aik099/coding-standard",
@@ -54,6 +100,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,428 @@
+<?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
+ */
+ public function build()
+ {
+ $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
Log In to Comment