Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Mon, Aug 25, 11:34 AM

in-portal

Index: branches/unlabeled/unlabeled-1.1.2/admin/install/upgrades/changelog_1_4_0.txt
===================================================================
--- branches/unlabeled/unlabeled-1.1.2/admin/install/upgrades/changelog_1_4_0.txt (revision 7516)
+++ branches/unlabeled/unlabeled-1.1.2/admin/install/upgrades/changelog_1_4_0.txt (revision 7517)
@@ -1,830 +1,831 @@
File in-portal/compat.php is removed; release_1_3_1 revision 1.2
File in-portal/globals.php is removed; release_1_3_1 revision 1.109
File in-portal/html_parse.php is removed; release_1_3_1 revision 1.1
File in-portal/index.php changed
File in-portal/new_phrases.txt is removed; release_1_3_1 revision 1.11
File in-portal/obscure.php is removed; release_1_3_1 revision 1.8
File in-portal/png_replace.php is removed; release_1_3_1 revision 1.1
File in-portal/robots_list.txt is removed; release_1_3_1 revision 1.1
File in-portal/root.flg is removed; release_1_3_1 revision 1.1
File in-portal/sql.error is removed; release_1_3_1 revision 1.1
File in-portal/admin/index.php changed
File in-portal/admin/index4_direct.php changed
File in-portal/admin/install.php changed
File in-portal/admin/install_over_kx.php is new; release_1_4_0 revision 1.1.2.9
File in-portal/admin/relation_select.php changed
File in-portal/admin/help/install_help.php changed
File in-portal/admin/import/step2.php changed
File in-portal/admin/include/mainscript.php changed
File in-portal/admin/include/sections.php changed
File in-portal/admin/install/inportal_data.sql changed
File in-portal/admin/install/inportal_remove.sql changed
File in-portal/admin/install/inportal_schema.sql changed
File in-portal/admin/install/inst_ado.php changed
File in-portal/admin/install/install_lib.php changed
File in-portal/admin/install/prerequisit_errors.php changed
File in-portal/admin/install/upgrade_errors.php changed
File in-portal/admin/install/upgrades/changelog_1_3_0.txt changed
-File in-portal/admin/install/upgrades/changelog_1_4_0.txt is new; release_1_4_0 revision 1.1.2.9
+File in-portal/admin/install/upgrades/changelog_1_4_0.txt is new; release_1_4_0 revision 1.1.2.10
File in-portal/admin/install/upgrades/inportal_upgrade_v1.3.2.sql is new; release_1_4_0 revision 1.1.2.2
File in-portal/admin/install/upgrades/inportal_upgrade_v1.4.0.sql is new; release_1_4_0 revision 1.1.2.1
File in-portal/admin/users/adduser.php changed
File in-portal/admin/users/user_list.php changed
File in-portal/compat/array_change_key_case.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/array_chunk.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/array_combine.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/array_diff_assoc.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/array_key_exists.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/array_search.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/array_udiff.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/array_udiff_assoc.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/call_user_func_array.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/constant.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/file_get_contents.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/file_put_contents.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/fprintf.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/html_entity_decode.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/http_build_query.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/image_type_to_mime_type.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/is_a.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/ob_clean.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/ob_flush.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/ob_get_clean.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/ob_get_flush.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/scandir.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/str_ireplace.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/str_split.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/stripos.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/strripos.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/var_export.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/version_compare.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/vprintf.php is removed; release_1_3_1 revision 1.1
File in-portal/compat/vsprintf.php is removed; release_1_3_1 revision 1.1
File in-portal/core/dummy is new; release_1_4_0 revision 1.1
File in-portal/kernel/action.php changed
File in-portal/kernel/constants.php is removed; release_1_3_1 revision 1.8
File in-portal/kernel/frontaction.php changed
File in-portal/kernel/parser.php changed
File in-portal/kernel/startup.php changed
File in-portal/kernel/admin_templates/advanced_view.tpl changed
File in-portal/kernel/admin_templates/catalog.tpl changed
File in-portal/kernel/admin_templates/catalog_tab.tpl changed
File in-portal/kernel/admin_templates/head.tpl is removed; release_1_3_1 revision 1.4
File in-portal/kernel/admin_templates/index.tpl is removed; release_1_3_1 revision 1.8
File in-portal/kernel/admin_templates/login.tpl is removed; release_1_3_1 revision 1.4
File in-portal/kernel/admin_templates/logout.tpl is removed; release_1_3_1 revision 1.2
File in-portal/kernel/admin_templates/sections_list.tpl is removed; release_1_3_1 revision 1.9.2.1
File in-portal/kernel/admin_templates/tree.tpl is removed; release_1_3_1 revision 1.17
File in-portal/kernel/admin_templates/categories/cache_updater.tpl changed
File in-portal/kernel/admin_templates/categories/categories_edit.tpl changed
File in-portal/kernel/admin_templates/categories/categories_edit_custom.tpl changed
File in-portal/kernel/admin_templates/categories/categories_edit_images.tpl changed
File in-portal/kernel/admin_templates/categories/categories_edit_permissions.tpl changed
File in-portal/kernel/admin_templates/categories/categories_edit_properties.tpl changed
File in-portal/kernel/admin_templates/categories/categories_edit_relations.tpl changed
File in-portal/kernel/admin_templates/categories/categories_tabs.tpl changed
File in-portal/kernel/admin_templates/categories/ci_blocks.tpl changed
File in-portal/kernel/admin_templates/categories/images_edit.tpl changed
File in-portal/kernel/admin_templates/categories/relations_edit.tpl changed
File in-portal/kernel/admin_templates/custom_fields/custom_fields_edit.tpl changed
File in-portal/kernel/admin_templates/custom_fields/custom_fields_list.tpl changed
File in-portal/kernel/admin_templates/groups/groups_edit.tpl changed
File in-portal/kernel/admin_templates/groups/groups_edit_permissions.tpl changed
File in-portal/kernel/admin_templates/groups/groups_edit_tabs.tpl changed
File in-portal/kernel/admin_templates/groups/groups_edit_users.tpl changed
File in-portal/kernel/admin_templates/groups/groups_list.tpl changed
File in-portal/kernel/admin_templates/img/ajax_progress.gif is removed; release_1_3_1 revision 1.1
File in-portal/kernel/admin_templates/img/arrow.gif is removed; release_1_3_1 revision 1.2
File in-portal/kernel/admin_templates/img/list_arrow_2_asc.gif is removed; release_1_3_1 revision 1.2
File in-portal/kernel/admin_templates/img/list_arrow_2_desc.gif is removed; release_1_3_1 revision 1.2
File in-portal/kernel/admin_templates/img/list_arrow_asc.gif is removed; release_1_3_1 revision 1.2
File in-portal/kernel/admin_templates/img/list_arrow_desc.gif is removed; release_1_3_1 revision 1.2
File in-portal/kernel/admin_templates/img/list_arrow_no.gif is removed; release_1_3_1 revision 1.2
File in-portal/kernel/admin_templates/img/tabnav_back.gif is removed; release_1_3_1 revision 1.2
File in-portal/kernel/admin_templates/img/tabnav_left.gif is removed; release_1_3_1 revision 1.2
File in-portal/kernel/admin_templates/img/itemtabs/tab_left.gif is removed; release_1_3_1 revision 1.1
File in-portal/kernel/admin_templates/img/itemtabs/tab_middle.gif is removed; release_1_3_1 revision 1.1
File in-portal/kernel/admin_templates/img/itemtabs/tab_right.gif is removed; release_1_3_1 revision 1.1
File in-portal/kernel/admin_templates/incs/ajax.js is removed; release_1_3_1 revision 1.16.2.1
File in-portal/kernel/admin_templates/incs/blocks.tpl is removed; release_1_3_1 revision 1.6
File in-portal/kernel/admin_templates/incs/calendar.js is removed; release_1_3_1 revision 1.2
File in-portal/kernel/admin_templates/incs/catalog.js changed
File in-portal/kernel/admin_templates/incs/custom_blocks.tpl changed
File in-portal/kernel/admin_templates/incs/footer.tpl is removed; release_1_3_1 revision 1.7
File in-portal/kernel/admin_templates/incs/form_blocks.tpl is removed; release_1_3_1 revision 1.46.2.1
File in-portal/kernel/admin_templates/incs/fw_menu.js changed
File in-portal/kernel/admin_templates/incs/grid.js is removed; release_1_3_1 revision 1.12
File in-portal/kernel/admin_templates/incs/grid_blocks.tpl is removed; release_1_3_1 revision 1.38.2.1
File in-portal/kernel/admin_templates/incs/header.tpl is removed; release_1_3_1 revision 1.19.2.1
File in-portal/kernel/admin_templates/incs/header_mini.tpl changed
File in-portal/kernel/admin_templates/incs/in-portal.js is removed; release_1_3_1 revision 1.2
File in-portal/kernel/admin_templates/incs/in-portal.tpl is removed; release_1_3_1 revision 1.2
File in-portal/kernel/admin_templates/incs/is.js is removed; release_1_3_1 revision 1.3
File in-portal/kernel/admin_templates/incs/script.js is removed; release_1_3_1 revision 1.42.2.1
File in-portal/kernel/admin_templates/incs/style.css is removed; release_1_3_1 revision 1.18
File in-portal/kernel/admin_templates/incs/tab_blocks.tpl is removed; release_1_3_1 revision 1.5
File in-portal/kernel/admin_templates/incs/toolbar.js is removed; release_1_3_1 revision 1.11
File in-portal/kernel/admin_templates/incs/tree.js is removed; release_1_3_1 revision 1.11
File in-portal/kernel/admin_templates/item_selector/item_selector_advanced_view.tpl changed
File in-portal/kernel/admin_templates/item_selector/item_selector_catalog.tpl changed
File in-portal/kernel/admin_templates/item_selector/item_selector_tabs.tpl changed
File in-portal/kernel/admin_templates/item_selector/item_selector_toolbar.tpl changed
File in-portal/kernel/admin_templates/modules/modules_list.tpl changed
File in-portal/kernel/admin_templates/popups/translator.tpl changed
File in-portal/kernel/admin_templates/stylesheets/base_style_edit.tpl changed
File in-portal/kernel/admin_templates/stylesheets/block_style_edit.tpl changed
File in-portal/kernel/admin_templates/stylesheets/style_editor.tpl changed
File in-portal/kernel/admin_templates/stylesheets/stylesheets_edit.tpl changed
File in-portal/kernel/admin_templates/stylesheets/stylesheets_edit_base.tpl changed
File in-portal/kernel/admin_templates/stylesheets/stylesheets_edit_block.tpl changed
File in-portal/kernel/admin_templates/stylesheets/stylesheets_list.tpl changed
File in-portal/kernel/admin_templates/stylesheets/stylesheets_tabs.tpl changed
File in-portal/kernel/admin_templates/summary/root.tpl changed
File in-portal/kernel/admin_templates/tools/system_tools.tpl is removed; release_1_3_1 revision 1.3
File in-portal/kernel/admin_templates/visits/visits_list.tpl changed
File in-portal/kernel/admin_templates/xml/cache_updater.tpl changed
File in-portal/kernel/admin_templates/xml/categories_list.tpl changed
File in-portal/kernel/admin_templates/xml/tree_categories.tpl changed
File in-portal/kernel/include/compat.php is new; release_1_4_0 revision 1.1.2.2
File in-portal/kernel/include/customfield.php changed
File in-portal/kernel/include/custommetadata.php changed
File in-portal/kernel/include/globals.php is new; release_1_4_0 revision 1.1.2.3
File in-portal/kernel/include/item.php changed
File in-portal/kernel/include/modules.php changed
File in-portal/kernel/include/obscure.php is new; release_1_4_0 revision 1.1.2.2
File in-portal/kernel/include/robots_list.txt is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/usersession.php changed
File in-portal/kernel/include/compat/array_change_key_case.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/array_chunk.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/array_combine.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/array_diff_assoc.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/array_key_exists.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/array_search.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/array_udiff.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/array_udiff_assoc.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/call_user_func_array.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/constant.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/file_get_contents.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/file_put_contents.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/fprintf.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/html_entity_decode.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/http_build_query.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/image_type_to_mime_type.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/is_a.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/ob_clean.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/ob_flush.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/ob_get_clean.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/ob_get_flush.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/scandir.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/str_ireplace.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/str_split.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/stripos.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/strripos.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/var_export.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/version_compare.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/vprintf.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/include/compat/vsprintf.php is new; release_1_4_0 revision 1.1.2.1
File in-portal/kernel/units/admin/admin_config.php is removed; release_1_3_1 revision 1.16
File in-portal/kernel/units/admin/admin_events_handler.php is removed; release_1_3_1 revision 1.2
File in-portal/kernel/units/admin/admin_tag_processor.php is removed; release_1_3_1 revision 1.25.2.5
File in-portal/kernel/units/categories/cache_updater.php is removed; release_1_3_1 revision 1.7.2.1
File in-portal/kernel/units/categories/categories_config.php is removed; release_1_3_1 revision 1.51.2.1
File in-portal/kernel/units/categories/categories_event_handler.php is removed; release_1_3_1 revision 1.23.2.1
File in-portal/kernel/units/categories/categories_item.php is removed; release_1_3_1 revision 1.10
File in-portal/kernel/units/categories/categories_tag_processor.php is removed; release_1_3_1 revision 1.30.2.1
File in-portal/kernel/units/category_items/category_items_config.php is removed; release_1_3_1 revision 1.12
File in-portal/kernel/units/category_items/category_items_dbitem.php is removed; release_1_3_1 revision 1.4
File in-portal/kernel/units/category_items/category_items_event_handler.php is removed; release_1_3_1 revision 1.8
File in-portal/kernel/units/category_items/category_items_tag_processor.php is removed; release_1_3_1 revision 1.6
File in-portal/kernel/units/config_search/config_search_event_handler.php changed
File in-portal/kernel/units/configuration/configuration.php is removed; release_1_3_1 revision 1.1
File in-portal/kernel/units/configuration/configuration_config.php is removed; release_1_3_1 revision 1.15
File in-portal/kernel/units/configuration/configuration_event_handler.php is removed; release_1_3_1 revision 1.17
File in-portal/kernel/units/configuration/configuration_tag_processor.php is removed; release_1_3_1 revision 1.14
File in-portal/kernel/units/custom_data/custom_data_config.php is removed; release_1_3_1 revision 1.9
File in-portal/kernel/units/custom_data/custom_data_event_handler.php is removed; release_1_3_1 revision 1.1
File in-portal/kernel/units/custom_fields/custom_fields_config.php is removed; release_1_3_1 revision 1.11.2.1
File in-portal/kernel/units/custom_fields/custom_fields_event_handler.php is removed; release_1_3_1 revision 1.15
File in-portal/kernel/units/custom_fields/custom_fields_tag_processor.php is removed; release_1_3_1 revision 1.3.2.1
File in-portal/kernel/units/email_events/email_events_config.php is removed; release_1_3_1 revision 1.5.22.2
File in-portal/kernel/units/email_events/email_events_event_handler.php is removed; release_1_3_1 revision 1.26.2.1
File in-portal/kernel/units/email_messages/email_messages_config.php is removed; release_1_3_1 revision 1.2
File in-portal/kernel/units/email_messages/email_messages_event_handler.php is removed; release_1_3_1 revision 1.3.52.1
File in-portal/kernel/units/general/brackets.php is removed; release_1_3_1 revision 1.4
File in-portal/kernel/units/general/cat_dbitem.php is removed; release_1_3_1 revision 1.33.2.1
File in-portal/kernel/units/general/cat_dbitem_export.php is removed; release_1_3_1 revision 1.21.2.2
File in-portal/kernel/units/general/cat_dblist.php is removed; release_1_3_1 revision 1.4
File in-portal/kernel/units/general/cat_event_handler.php is removed; release_1_3_1 revision 1.66.2.2
File in-portal/kernel/units/general/cat_tag_processor.php is removed; release_1_3_1 revision 1.13.2.1
File in-portal/kernel/units/general/country_states.php is removed; release_1_3_1 revision 1.4
File in-portal/kernel/units/general/custom_fields.php is removed; release_1_3_1 revision 1.8
File in-portal/kernel/units/general/general_config.php is removed; release_1_3_1 revision 1.8.2.1
File in-portal/kernel/units/general/inp1_parser.php is removed; release_1_3_1 revision 1.16
File in-portal/kernel/units/general/inp_db_event_handler.php is removed; release_1_3_1 revision 1.10
File in-portal/kernel/units/general/inp_ses_storage.php is removed; release_1_3_1 revision 1.21
File in-portal/kernel/units/general/inp_temp_handler.php is removed; release_1_3_1 revision 1.5
File in-portal/kernel/units/general/main_event_handler.php is removed; release_1_3_1 revision 1.15
File in-portal/kernel/units/general/my_application.php is removed; release_1_3_1 revision 1.32.2.1
File in-portal/kernel/units/general/xml_helper.php is removed; release_1_3_1 revision 1.6
File in-portal/kernel/units/general/helpers/clipboard_helper.php is removed; release_1_3_1 revision 1.2
File in-portal/kernel/units/general/helpers/filenames_helper.php is removed; release_1_3_1 revision 1.2.2.1
File in-portal/kernel/units/general/helpers/helpers_config.php is removed; release_1_3_1 revision 1.3
File in-portal/kernel/units/general/helpers/mod_rewrite_helper.php is removed; release_1_3_1 revision 1.6.2.1
File in-portal/kernel/units/general/helpers/modules.php is removed; release_1_3_1 revision 1.6
File in-portal/kernel/units/general/helpers/multilanguage.php is removed; release_1_3_1 revision 1.8
File in-portal/kernel/units/general/helpers/permissions_helper.php is removed; release_1_3_1 revision 1.19.2.1
File in-portal/kernel/units/general/helpers/recursive_helper.php is removed; release_1_3_1 revision 1.3
File in-portal/kernel/units/general/helpers/search_helper.php is removed; release_1_3_1 revision 1.2
File in-portal/kernel/units/general/helpers/sections_helper.php is removed; release_1_3_1 revision 1.9
File in-portal/kernel/units/groups/groups_config.php is removed; release_1_3_1 revision 1.13
File in-portal/kernel/units/groups/groups_event_handler.php is removed; release_1_3_1 revision 1.1
File in-portal/kernel/units/groups/groups_item.php is removed; release_1_3_1 revision 1.1
File in-portal/kernel/units/help/help_event_handler.php changed
File in-portal/kernel/units/images/image_event_handler.php changed
File in-portal/kernel/units/languages/import_xml.php is removed; release_1_3_1 revision 1.20.2.1
File in-portal/kernel/units/languages/languages_config.php is removed; release_1_3_1 revision 1.16.2.1
File in-portal/kernel/units/languages/languages_event_handler.php is removed; release_1_3_1 revision 1.27
File in-portal/kernel/units/languages/languages_item.php is removed; release_1_3_1 revision 1.6.2.1
File in-portal/kernel/units/languages/languages_tag_processor.php is removed; release_1_3_1 revision 1.6
File in-portal/kernel/units/modules/modules_config.php changed
File in-portal/kernel/units/modules/modules_event_handler.php changed
File in-portal/kernel/units/permissions/permissions_config.php is removed; release_1_3_1 revision 1.3
File in-portal/kernel/units/permissions/permissions_event_handler.php is removed; release_1_3_1 revision 1.7
File in-portal/kernel/units/permissions/permissions_tag_processor.php is removed; release_1_3_1 revision 1.9
File in-portal/kernel/units/phrases/phrases_config.php is removed; release_1_3_1 revision 1.9
File in-portal/kernel/units/phrases/phrases_event_handler.php is removed; release_1_3_1 revision 1.10.2.2
File in-portal/kernel/units/relationship/relationship_event_handler.php changed
File in-portal/kernel/units/reviews/reviews_event_handler.php changed
File in-portal/kernel/units/reviews/reviews_tag_processor.php changed
File in-portal/kernel/units/sections/sections_config.php is new; release_1_4_0 revision 1.1.2.4
File in-portal/kernel/units/selectors/selectors_event_handler.php changed
File in-portal/kernel/units/statistics/statistics_event_handler.php changed
File in-portal/kernel/units/stylesheets/stylesheets_config.php changed
File in-portal/kernel/units/stylesheets/stylesheets_event_handler.php changed
File in-portal/kernel/units/themes/themes_config.php is removed; release_1_3_1 revision 1.5
File in-portal/kernel/units/themes/themes_tag_processor.php is removed; release_1_3_1 revision 1.7
File in-portal/kernel/units/translator/translator_config.php is removed; release_1_3_1 revision 1.4
File in-portal/kernel/units/translator/translator_event_handler.php is removed; release_1_3_1 revision 1.8
File in-portal/kernel/units/user_groups/user_groups_config.php is removed; release_1_3_1 revision 1.2
File in-portal/kernel/units/users/users_config.php is removed; release_1_3_1 revision 1.30.2.1
File in-portal/kernel/units/users/users_event_handler.php is removed; release_1_3_1 revision 1.65.2.2
File in-portal/kernel/units/users/users_item.php is removed; release_1_3_1 revision 1.11.2.2
File in-portal/kernel/units/users/users_syncronize.php is removed; release_1_3_1 revision 1.4
File in-portal/kernel/units/users/users_tag_processor.php is removed; release_1_3_1 revision 1.14
File in-portal/kernel/units/visits/visits_config.php changed
File in-portal/kernel/units/visits/visits_event_handler.php changed
File in-portal/kernel/units/visits/visits_tag_processor.php changed
File in-portal/themes/default/captcha_image.tpl is new; release_1_4_0 revision 1.1.2.1
File in-portal/themes/default/misc/right_recommend.tpl changed
File in-portal/themes/default/recommend/captcha.tpl is new; release_1_4_0 revision 1.1.2.1
File in-portal/themes/default/search_results/cat_search_results.tpl changed
File kernel4_dev/kernel4/application.php changed
File kernel4_dev/kernel4/constants.php is new; release_1_4_0 revision 1.3.4.2
File kernel4_dev/kernel4/event_handler.php changed
File kernel4_dev/kernel4/event_manager.php changed
File kernel4_dev/kernel4/globals.php changed
File kernel4_dev/kernel4/kbase.php changed
File kernel4_dev/kernel4/startup.php changed
File kernel4_dev/kernel4/db/db_connection.php changed
File kernel4_dev/kernel4/db/db_event_handler.php changed
File kernel4_dev/kernel4/db/db_tag_processor.php changed
File kernel4_dev/kernel4/db/dbitem.php changed
File kernel4_dev/kernel4/db/dblist.php changed
File kernel4_dev/kernel4/fonts/monofont.ttf is new; release_1_4_0 revision 1.1.2.1
File kernel4_dev/kernel4/fonts/monofont_read_me.txt is new; release_1_4_0 revision 1.1.2.1
File kernel4_dev/kernel4/languages/phrases_cache.php changed
File kernel4_dev/kernel4/parser/tags.php changed
File kernel4_dev/kernel4/parser/template.php changed
File kernel4_dev/kernel4/parser/template_parser.php changed
File kernel4_dev/kernel4/processors/main_processor.php changed
File kernel4_dev/kernel4/processors/tag_processor.php changed
File kernel4_dev/kernel4/session/session.php changed
File kernel4_dev/kernel4/utility/debugger.php changed
File kernel4_dev/kernel4/utility/event.php changed
File kernel4_dev/kernel4/utility/http_query.php changed
File kernel4_dev/kernel4/utility/temp_handler.php changed
File kernel4_dev/kernel4/utility/unit_config_reader.php changed
File kernel4_dev/kernel4/utility/debugger/debugger.css changed
File kernel4_dev/kernel4/utility/debugger/debugger.js changed
File kernel4_dev/kernel4/utility/debugger/debugger_responce.php changed
File kernel4_dev/kernel4/utility/formatters/formatter.php changed
File kernel4_dev/kernel4/utility/formatters/multilang_formatter.php changed
File kernel4_dev/kernel4/utility/formatters/password_formatter.php changed
File kernel.X/core/admin_templates/dummy is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/head.tpl is new; release_1_4_0 revision 1.2.2.3
File kernel.X/core/admin_templates/index.tpl is new; release_1_4_0 revision 1.2.2.3
File kernel.X/core/admin_templates/login.tpl is new; release_1_4_0 revision 1.1.2.5
File kernel.X/core/admin_templates/logout.tpl is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/no_permission.tpl is new; release_1_4_0 revision 1.1.2.2
File kernel.X/core/admin_templates/sections_list.tpl is new; release_1_4_0 revision 1.2.2.4
-File kernel.X/core/admin_templates/tree.tpl is new; release_1_4_0 revision 1.2.2.5
+File kernel.X/core/admin_templates/tree.tpl is new; release_1_4_0 revision 1.2.2.6
File kernel.X/core/admin_templates/ajax/popup_manager.tpl is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/config/config_email.tpl is new; release_1_4_0 revision 1.1.2.4
File kernel.X/core/admin_templates/config/config_general.tpl is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/config/config_search.tpl is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/config/config_search_edit.tpl is new; release_1_4_0 revision 1.1.2.1
-File kernel.X/core/admin_templates/config/config_universal.tpl is new; release_1_4_0 revision 1.1.2.3
+File kernel.X/core/admin_templates/config/config_universal.tpl is new; release_1_4_0 revision 1.1.2.4
File kernel.X/core/admin_templates/custom_fields/custom_fields_edit.tpl is new; release_1_4_0 revision 1.1.2.2
File kernel.X/core/admin_templates/custom_fields/custom_fields_list.tpl is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/ajax_progress.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/arrow.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/blank.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/blocks.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/blue_bar_help.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/blue_bar_logout.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/button_back.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/button_back_disabled.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/calendar_icon.gif is new; release_1_4_0 revision 1.1.2.2
File kernel.X/core/admin_templates/img/check_on.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/favicon.ico is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/globe.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/link_arrow.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/list_arrow_2_asc.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/list_arrow_2_desc.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/list_arrow_asc.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/list_arrow_desc.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/list_arrow_no.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/logo.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/logo_bg.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/menu_arrow.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/menu_bar.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/menu_dot.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/progress_done.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/progress_left.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/spacer.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/submenu.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/submenuovr.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/tab.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tab_active_back.jpg is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tab_active_back2.jpg is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tab_active_back3.jpg is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tab_active_left.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tab_active_right.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tab_back.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tab_back.jpg is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/tab_left.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tab_right.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tabnav_back.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tabnav_left.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/version_bg.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon24_cat.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/icons/icon24_conf.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon24_conf_general.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon24_conf_regional.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon24_e-mail.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/icons/icon24_help.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/icons/icon24_link_editor.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon24_lock_login.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon24_modules.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/icons/icon24_site.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon24_translate.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon46_conf.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon46_conf_general.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon46_conf_regional.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon46_help.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/icons/icon46_list_conf.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon46_list_conf_general.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon46_list_conf_regional.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon46_list_modules.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/icons/icon46_modules.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/icons/icon46_settings_general.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon46_site.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/icons/icon_left.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/icons/icon_right.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_cat.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_cat_attn.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_cat_deleted.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_cat_denied.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_cat_disabled.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_cat_hot.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_cat_new.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_cat_pending.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_cat_pick.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_cat_top.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_custom.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/itemicons/icon16_custom_disabled.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/itemicons/icon16_group.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_group_disabled.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_image.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_image_disabled.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_image_primary.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_language.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/itemicons/icon16_language_disabled.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/itemicons/icon16_language_primary.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/itemicons/icon16_language_var.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/itemicons/icon16_permission.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_relation_one-way.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_relation_one-way_disabled.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_relation_reciprocal.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_relation_reciprocal_disabled.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_review.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_review_disabled.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_review_pending.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_search.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_search_dropdown.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_search_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_search_reset.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_search_reset_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_selector.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_style.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_style_disabled.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_template.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_theme.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_theme_disabled.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_theme_primary.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_user.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_user_attn.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_user_deleted.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_user_denied.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_user_disabled.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icon16_user_pending.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemicons/icons16_permissions_inherited.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/itemtabs/tab_left.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/itemtabs/tab_middle.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/itemtabs/tab_right.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/arrow16.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/arrow16_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/icon16_search.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/icon16_search_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/icon16_search_reset.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/icon16_search_reset_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_add.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_add_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_add_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_approve.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_approve_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_approve_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_archive.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_archive_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_archive_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_arrange.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_arrange_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_cancel.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_cancel_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_cancel_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_clear_all.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_clear_all_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_clone.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_clone_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_clone_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_decline.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_decline_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_decline_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_delete.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_delete_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_delete_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_deny.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_deny_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_deny_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_divider.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_e-mail.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_e-mail_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_e-mail_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_edit.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_edit_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_edit_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_export_language.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_export_language_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_export_language_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_flip.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_flip_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_frontend_mail.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_frontend_mail_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_frontend_mail_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_goto_order.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_goto_order_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_goto_order_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_homecat.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_homecat_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_homecat_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_import_language.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_import_language_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_import_language_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_infinity.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_infinity_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_modify.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_modify_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_modify_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_more_brackets.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_more_brackets_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_move_down.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_move_down_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_move_down_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_move_up.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_move_up_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_move_up_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_affiliate.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_affiliate_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_affiliate_payment_type.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_affiliate_payment_type_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_affiliate_plan.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_affiliate_plan_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_cat.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_cat_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_cat_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_group.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_group_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_group_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_image.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_image_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_image_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_item.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_item_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_item_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_language.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_language_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_language_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_language_var.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_language_var_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_language_var_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_manufacturer.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_manufacturer_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_option.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_option_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_option_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_order.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_order_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_order_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_relation.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_relation_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_relation_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_review.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_review_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_review_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_selector.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_selector_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_shipping.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_shipping_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_style.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_new_style_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_next.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_next_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_next_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_place_order.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_place_order_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_place_order_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_prev.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_prev_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_prev_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_affiliate_payment_type.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_affiliate_payment_type_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_affiliate_payment_type_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_affiliate_plan.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_affiliate_plan_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_affiliate_plan_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_cat.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_cat_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_cat_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_currency.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_currency_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_currency_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_image.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_image_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_image_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_language.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_language_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_language_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_paymenttype.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_paymenttype_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_primary_paymenttype_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_print.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_print_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_print_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_process.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_process_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_process_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_recalculate_order.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_recalculate_order_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_recalculate_order_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_refresh.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_refresh_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_refresh_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset.gif is new; release_1_4_0 revision 1.1.2.2
File kernel.X/core/admin_templates/img/toolbar/tool_reset_edit.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset_edit_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset_edit_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset_f2.gif is new; release_1_4_0 revision 1.1.2.2
File kernel.X/core/admin_templates/img/toolbar/tool_reset_f3.gif is new; release_1_4_0 revision 1.1.2.2
File kernel.X/core/admin_templates/img/toolbar/tool_reset_to_base.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset_to_base_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset_to_base_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset_to_billing.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset_to_billing_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset_to_pending.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset_to_pending_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset_to_pending_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset_to_shipping.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset_to_shipping_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset_to_user.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_reset_to_user_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_search.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_search_a.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_search_a_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_search_b.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_search_b_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_search_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_search_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_search_reset.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_search_reset_alt.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_search_reset_alt_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_search_reset_alt_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_search_reset_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_search_reset_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_select.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_select_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_select_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_ship.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_ship_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_ship_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_upcat.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_upcat_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_upcat_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_update_rates.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_update_rates_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_update_rates_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_usertogroup.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_usertogroup2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_usertogroup2_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_usertogroup2_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_usertogroup_f2.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_usertogroup_f3.gif is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/img/toolbar/tool_view.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_view_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/toolbar/tool_view_f3.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tree/ftv2blank.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tree/ftv2lastnode.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tree/ftv2mlastnode.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tree/ftv2mnode.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tree/ftv2node.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tree/ftv2plastnode.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tree/ftv2pnode.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/img/tree/ftv2vertline.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/incs/blocks.tpl is new; release_1_4_0 revision 1.1.2.4
File kernel.X/core/admin_templates/incs/close_popup.tpl is new; release_1_4_0 revision 1.1.2.7
File kernel.X/core/admin_templates/incs/config_blocks.tpl is new; release_1_4_0 revision 1.1
-File kernel.X/core/admin_templates/incs/footer.tpl is new; release_1_4_0 revision 1.1.2.7
-File kernel.X/core/admin_templates/incs/form_blocks.tpl is new; release_1_4_0 revision 1.4.2.10
+File kernel.X/core/admin_templates/incs/footer.tpl is new; release_1_4_0 revision 1.1.2.8
+File kernel.X/core/admin_templates/incs/form_blocks.tpl is new; release_1_4_0 revision 1.4.2.11
File kernel.X/core/admin_templates/incs/fw_menu.js is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/incs/grid_blocks.tpl is new; release_1_4_0 revision 1.1.2.15
File kernel.X/core/admin_templates/incs/header.tpl is new; release_1_4_0 revision 1.1.2.9
File kernel.X/core/admin_templates/incs/in-portal.tpl is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/incs/menu_blocks.tpl is new; release_1_4_0 revision 1.1.2.5
File kernel.X/core/admin_templates/incs/nlsmenu.css is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/incs/sections_list.css is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/incs/style.css is new; release_1_4_0 revision 1.2.2.10
File kernel.X/core/admin_templates/incs/tab_blocks.tpl is new; release_1_4_0 revision 1.2.2.2
-File kernel.X/core/admin_templates/js/ajax.js is new; release_1_4_0 revision 1.1.2.6
+File kernel.X/core/admin_templates/js/ajax.js is new; release_1_4_0 revision 1.1.2.7
File kernel.X/core/admin_templates/js/calendar.js is new; release_1_4_0 revision 1.1.2.3
-File kernel.X/core/admin_templates/js/grid.js is new; release_1_4_0 revision 1.1.2.3
-File kernel.X/core/admin_templates/js/grid_scroller.js is new; release_1_4_0 revision 1.1.2.15
+File kernel.X/core/admin_templates/js/grid.js is new; release_1_4_0 revision 1.1.2.4
+File kernel.X/core/admin_templates/js/grid_scroller.js is new; release_1_4_0 revision 1.1.2.17
File kernel.X/core/admin_templates/js/in-portal.js is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/js/inp_fckconfig.js is new; release_1_4_0 revision 1.1.2.2
File kernel.X/core/admin_templates/js/inp_styles.xml is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/js/is.js is new; release_1_4_0 revision 1.1
File kernel.X/core/admin_templates/js/nlsmenu.js is new; release_1_4_0 revision 1.1.2.4
File kernel.X/core/admin_templates/js/nlsmenueffect_1_2_1.js is new; release_1_4_0 revision 1.1.2.1
-File kernel.X/core/admin_templates/js/script.js is new; release_1_4_0 revision 1.2.2.23
-File kernel.X/core/admin_templates/js/toolbar.js is new; release_1_4_0 revision 1.3.2.7
-File kernel.X/core/admin_templates/js/tree.js is new; release_1_4_0 revision 1.1.2.6
+File kernel.X/core/admin_templates/js/script.js is new; release_1_4_0 revision 1.2.2.26
+File kernel.X/core/admin_templates/js/toolbar.js is new; release_1_4_0 revision 1.3.2.8
+File kernel.X/core/admin_templates/js/tree.js is new; release_1_4_0 revision 1.1.2.7
File kernel.X/core/admin_templates/js/calendar/calendar-blue.css is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/js/calendar/calendar-en.js is new; release_1_4_0 revision 1.1.2.2
File kernel.X/core/admin_templates/js/calendar/calendar-setup.js is new; release_1_4_0 revision 1.1.2.2
File kernel.X/core/admin_templates/js/calendar/calendar.js is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/modules/modules_list.tpl is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/popups/column_picker.tpl is new; release_1_4_0 revision 1.1.2.8
File kernel.X/core/admin_templates/popups/editor.tpl is new; release_1_4_0 revision 1.1.2.2
File kernel.X/core/admin_templates/popups/translator.tpl is new; release_1_4_0 revision 1.1.2.3
File kernel.X/core/admin_templates/regional/email_messages_edit.tpl is new; release_1_4_0 revision 1.1.2.3
File kernel.X/core/admin_templates/regional/languages_edit.tpl is new; release_1_4_0 revision 1.1.2.6
File kernel.X/core/admin_templates/regional/languages_edit_email_events.tpl is new; release_1_4_0 revision 1.1.2.4
File kernel.X/core/admin_templates/regional/languages_edit_phrases.tpl is new; release_1_4_0 revision 1.1.2.5
File kernel.X/core/admin_templates/regional/languages_edit_tabs.tpl is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/admin_templates/regional/languages_export.tpl is new; release_1_4_0 revision 1.1.2.3
File kernel.X/core/admin_templates/regional/languages_export_step2.tpl is new; release_1_4_0 revision 1.1.2.2
File kernel.X/core/admin_templates/regional/languages_import.tpl is new; release_1_4_0 revision 1.1.2.2
File kernel.X/core/admin_templates/regional/languages_import_step2.tpl is new; release_1_4_0 revision 1.1.2.2
-File kernel.X/core/admin_templates/regional/languages_list.tpl is new; release_1_4_0 revision 1.1.2.3
+File kernel.X/core/admin_templates/regional/languages_list.tpl is new; release_1_4_0 revision 1.1.2.4
File kernel.X/core/admin_templates/regional/phrases_edit.tpl is new; release_1_4_0 revision 1.1.2.6
File kernel.X/core/admin_templates/tools/system_tools.tpl is new; release_1_4_0 revision 1.1.2.2
File kernel.X/core/units/dummy is new; release_1_4_0 revision 1.1
File kernel.X/core/units/admin/admin_config.php is new; release_1_4_0 revision 1.20.2.6
File kernel.X/core/units/admin/admin_events_handler.php is new; release_1_4_0 revision 1.4.2.6
-File kernel.X/core/units/admin/admin_tag_processor.php is new; release_1_4_0 revision 1.27.2.17
+File kernel.X/core/units/admin/admin_tag_processor.php is new; release_1_4_0 revision 1.27.2.19
File kernel.X/core/units/categories/cache_updater.php is new; release_1_4_0 revision 1.8.2.5
-File kernel.X/core/units/categories/categories_config.php is new; release_1_4_0 revision 1.54
-File kernel.X/core/units/categories/categories_event_handler.php is new; release_1_4_0 revision 1.25.2.14
-File kernel.X/core/units/categories/categories_item.php is new; release_1_4_0 revision 1.10.2.5
+File kernel.X/core/units/categories/categories_config.php is new; release_1_4_0 revision 1.54.2.1
+File kernel.X/core/units/categories/categories_event_handler.php is new; release_1_4_0 revision 1.25.2.16
+File kernel.X/core/units/categories/categories_item.php is new; release_1_4_0 revision 1.10.2.6
File kernel.X/core/units/categories/categories_tag_processor.php is new; release_1_4_0 revision 1.31.2.5
File kernel.X/core/units/category_items/category_items_config.php is new; release_1_4_0 revision 1.12
File kernel.X/core/units/category_items/category_items_dbitem.php is new; release_1_4_0 revision 1.4
File kernel.X/core/units/category_items/category_items_event_handler.php is new; release_1_4_0 revision 1.9.2.1
File kernel.X/core/units/category_items/category_items_tag_processor.php is new; release_1_4_0 revision 1.6
File kernel.X/core/units/configuration/configuration.php is new; release_1_4_0 revision 1.1
File kernel.X/core/units/configuration/configuration_config.php is new; release_1_4_0 revision 1.15
File kernel.X/core/units/configuration/configuration_event_handler.php is new; release_1_4_0 revision 1.18
File kernel.X/core/units/configuration/configuration_tag_processor.php is new; release_1_4_0 revision 1.14
File kernel.X/core/units/custom_data/custom_data_event_handler.php changed
File kernel.X/core/units/custom_fields/custom_fields_event_handler.php changed
File kernel.X/core/units/email_events/email_events_config.php is new; release_1_4_0 revision 1.6.2.1
File kernel.X/core/units/email_events/email_events_event_handler.php is new; release_1_4_0 revision 1.28.2.1
File kernel.X/core/units/email_messages/email_messages_config.php is new; release_1_4_0 revision 1.2.52.1
File kernel.X/core/units/email_messages/email_messages_event_handler.php is new; release_1_4_0 revision 1.5.2.1
File kernel.X/core/units/general/brackets.php is new; release_1_4_0 revision 1.4
-File kernel.X/core/units/general/cat_dbitem.php is new; release_1_4_0 revision 1.34.2.2
+File kernel.X/core/units/general/cat_dbitem.php is new; release_1_4_0 revision 1.34.2.3
File kernel.X/core/units/general/cat_dbitem_export.php is new; release_1_4_0 revision 1.22.2.1
File kernel.X/core/units/general/cat_dblist.php is new; release_1_4_0 revision 1.4
File kernel.X/core/units/general/cat_event_handler.php is new; release_1_4_0 revision 1.68.2.3
File kernel.X/core/units/general/cat_tag_processor.php is new; release_1_4_0 revision 1.15.2.2
File kernel.X/core/units/general/country_states.php is new; release_1_4_0 revision 1.4
File kernel.X/core/units/general/custom_fields.php is new; release_1_4_0 revision 1.8
File kernel.X/core/units/general/general_config.php is new; release_1_4_0 revision 1.10.2.1
File kernel.X/core/units/general/inp1_parser.php is new; release_1_4_0 revision 1.16
File kernel.X/core/units/general/inp_ses_storage.php is new; release_1_4_0 revision 1.22
File kernel.X/core/units/general/main_event_handler.php is new; release_1_4_0 revision 1.15
File kernel.X/core/units/general/xml_helper.php is new; release_1_4_0 revision 1.6
File kernel.X/core/units/general/helpers/captcha_helper.php is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/units/general/helpers/clipboard_helper.php is new; release_1_4_0 revision 1.2
File kernel.X/core/units/general/helpers/col_picker_helper.php is new; release_1_4_0 revision 1.1.2.3
File kernel.X/core/units/general/helpers/filenames_helper.php is new; release_1_4_0 revision 1.3
File kernel.X/core/units/general/helpers/helpers_config.php is new; release_1_4_0 revision 1.3.2.3
-File kernel.X/core/units/general/helpers/mod_rewrite_helper.php is new; release_1_4_0 revision 1.7.2.2
+File kernel.X/core/units/general/helpers/mod_rewrite_helper.php is new; release_1_4_0 revision 1.7.2.4
File kernel.X/core/units/general/helpers/modules.php is new; release_1_4_0 revision 1.6.2.2
File kernel.X/core/units/general/helpers/multilanguage.php is new; release_1_4_0 revision 1.8.2.3
File kernel.X/core/units/general/helpers/permissions_helper.php is new; release_1_4_0 revision 1.20.2.3
-File kernel.X/core/units/general/helpers/recursive_helper.php is new; release_1_4_0 revision 1.3.2.3
+File kernel.X/core/units/general/helpers/recursive_helper.php is new; release_1_4_0 revision 1.3.2.4
File kernel.X/core/units/general/helpers/search_helper.php is new; release_1_4_0 revision 1.4.2.6
File kernel.X/core/units/general/helpers/sections_helper.php is new; release_1_4_0 revision 1.11.2.4
File kernel.X/core/units/general/helpers/themes_helper.php is new; release_1_4_0 revision 1.1.2.1
File kernel.X/core/units/groups/groups_config.php is new; release_1_4_0 revision 1.15.2.1
File kernel.X/core/units/groups/groups_event_handler.php is new; release_1_4_0 revision 1.2
File kernel.X/core/units/groups/groups_item.php is new; release_1_4_0 revision 1.1
File kernel.X/core/units/languages/import_xml.php is new; release_1_4_0 revision 1.22.2.1
File kernel.X/core/units/languages/languages_config.php is new; release_1_4_0 revision 1.19.2.3
File kernel.X/core/units/languages/languages_event_handler.php is new; release_1_4_0 revision 1.28.2.3
File kernel.X/core/units/languages/languages_item.php is new; release_1_4_0 revision 1.8.2.1
File kernel.X/core/units/languages/languages_tag_processor.php is new; release_1_4_0 revision 1.7.2.7
File kernel.X/core/units/modules/modules_config.php changed
File kernel.X/core/units/modules/modules_event_handler.php changed
+File kernel.X/core/units/permissions/permissions_config.php changed
File kernel.X/core/units/permissions/permissions_event_handler.php changed
File kernel.X/core/units/permissions/permissions_tag_processor.php changed
File kernel.X/core/units/phrases/phrases_config.php is new; release_1_4_0 revision 1.9.2.3
File kernel.X/core/units/phrases/phrases_event_handler.php is new; release_1_4_0 revision 1.12.2.2
File kernel.X/core/units/themes/themes_config.php is new; release_1_4_0 revision 1.8
File kernel.X/core/units/themes/themes_tag_processor.php is new; release_1_4_0 revision 1.7
File kernel.X/core/units/translator/translator_config.php is new; release_1_4_0 revision 1.4
File kernel.X/core/units/translator/translator_event_handler.php is new; release_1_4_0 revision 1.9
File kernel.X/core/units/user_groups/user_groups_config.php is new; release_1_4_0 revision 1.3.2.1
File kernel.X/core/units/user_groups/user_groups_dbitem.php is new; release_1_4_0 revision 1.1.4.1
File kernel.X/core/units/users/users_config.php is new; release_1_4_0 revision 1.32.2.3
-File kernel.X/core/units/users/users_event_handler.php is new; release_1_4_0 revision 1.68.2.13
+File kernel.X/core/units/users/users_event_handler.php is new; release_1_4_0 revision 1.68.2.14
File kernel.X/core/units/users/users_item.php is new; release_1_4_0 revision 1.13
File kernel.X/core/units/users/users_syncronize.php is new; release_1_4_0 revision 1.4
File kernel.X/core/units/users/users_tag_processor.php is new; release_1_4_0 revision 1.14.2.2
File kernel.X/core/install/english.lang is new; release_1_4_0 revision 1.1
-File kernel.X/core/install/install_data.sql is new; release_1_4_0 revision 1.3.2.5
+File kernel.X/core/install/install_data.sql is new; release_1_4_0 revision 1.3.2.6
File kernel.X/core/install/install_schema.sql is new; release_1_4_0 revision 1.3.2.8
File kernel.X/core/install/steps_db.xml is new; release_1_4_0 revision 1.2
File kernel.X/core/install/incs/install.tpl is new; release_1_4_0 revision 1.2
File kernel.X/core/install/incs/script.js is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/style.css is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/bg_install_menu.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/blocks.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/blocks2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/blue_bar_help.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/button_back.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/globe.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/icon_install.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/logo.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/spacer.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/tab_middle.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/tabnav_back.jpg is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/tabnav_left.jpg is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/version_bg.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/toolbar/tool_cancel.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/toolbar/tool_cancel_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/toolbar/tool_select.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/incs/img/toolbar/tool_select_f2.gif is new; release_1_4_0 revision 1.1
File kernel.X/core/install/step_templates/check_paths.tpl is new; release_1_4_0 revision 1.1
File kernel.X/core/install/step_templates/choose_modules.tpl is new; release_1_4_0 revision 1.1
File kernel.X/core/install/step_templates/db_config.tpl is new; release_1_4_0 revision 1.1
File kernel.X/core/install/step_templates/finish.tpl is new; release_1_4_0 revision 1.1
File kernel.X/core/install/step_templates/install_setup.tpl is new; release_1_4_0 revision 1.1
File kernel.X/core/install/step_templates/root_password.tpl is new; release_1_4_0 revision 1.1
File cmseditor/editor/dialog/fck_document.html changed
File cmseditor/editor/dialog/fck_document/audio.gif is new; release_1_4_0 revision 1.1.2.1
File cmseditor/editor/dialog/fck_document/doc.gif is new; release_1_4_0 revision 1.1.2.1
File cmseditor/editor/dialog/fck_document/excel.gif is new; release_1_4_0 revision 1.1.2.1
File cmseditor/editor/dialog/fck_document/image.gif is new; release_1_4_0 revision 1.1.2.1
File cmseditor/editor/dialog/fck_document/pdf.gif is new; release_1_4_0 revision 1.1.2.1
File cmseditor/editor/dialog/fck_document/ppt.gif is new; release_1_4_0 revision 1.1.2.1
File cmseditor/editor/dialog/fck_document/video.gif is new; release_1_4_0 revision 1.1.2.1
File cmseditor/editor/dialog/fck_document/xml.gif is new; release_1_4_0 revision 1.1.2.1
File cmseditor/editor/filemanager/browser/default/frmresourceslist.html changed
File cmseditor/editor/filemanager/browser/default/frmupload.html changed
File cmseditor/editor/filemanager/browser/default/connectors/php/commands.php changed
File cmseditor/editor/filemanager/browser/default/connectors/php/config.php changed
Changes in phrases and events:
Property changes on: branches/unlabeled/unlabeled-1.1.2/admin/install/upgrades/changelog_1_4_0.txt
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1.2.10
\ No newline at end of property
+1.1.2.11
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.34.2/core/units/general/cat_dbitem.php
===================================================================
--- branches/unlabeled/unlabeled-1.34.2/core/units/general/cat_dbitem.php (revision 7516)
+++ branches/unlabeled/unlabeled-1.34.2/core/units/general/cat_dbitem.php (revision 7517)
@@ -1,461 +1,463 @@
<?php
class kCatDBItem extends kDBItem {
/**
* Category path, needed for import
*
* @var Array
*/
var $CategoryPath = Array();
/**
* Use automatic filename generation
*
* @var bool
*/
var $useFilenames = true;
/**
* Use pending editing abilities during item (delegated by permissions)
*
* @var bool
*/
var $usePendingEditing = false;
-
+
function Clear()
{
parent::Clear();
$this->CategoryPath = Array();
}
-
+
/**
* Set's prefix and special
*
* @param string $prefix
* @param string $special
* @access public
*/
function Init($prefix, $special, $event_params = null)
{
parent::Init($prefix, $special, $event_params);
$this->usePendingEditing = $this->Application->getUnitOption($this->Prefix, 'UsePendingEditing');
}
-
+
function Create($force_id=false, $system_create=false)
{
if (!$this->Validate()) return false;
$this->SetDBField('ResourceId', $this->Application->NextResourceId());
$this->SetDBField('Modified', adodb_mktime() );
+ $this->UpdateFormattersSubFields();
if ($this->mode != 't' && !$this->Application->IsAdmin()) {
$this->SetDBField('CreatedById', $this->Application->RecallVar('user_id'));
}
if ($this->useFilenames) {
$this->checkFilename();
$this->generateFilename();
}
$ret = parent::Create();
if ($ret) {
$primary_category = $this->GetDBField('CategoryId') > 0 ? $this->GetDBField('CategoryId') : $this->Application->GetVar('m_cat_id');
$fields_hash = Array(
'CategoryId' => $primary_category,
'ItemResourceId' => $this->GetField('ResourceId'),
'PrimaryCat' => 1,
'ItemPrefix' => $this->Prefix,
'Filename' => $this->GetDBField('Filename'),
);
- $this->Conn->doInsert($fields_hash, $this->CategoryItemsTable());
+ $this->Conn->doInsert($fields_hash, $this->CategoryItemsTable());
}
return $ret;
}
function Update($id=null, $system_update=false)
{
$this->VirtualFields['ResourceId'] = Array();
$this->SetDBField('Modified', adodb_mktime() );
+ $this->UpdateFormattersSubFields();
$this->SetDBField('ModifiedById', $this->Application->RecallVar('user_id'));
if ($this->useFilenames) {
$this->checkFilename();
$this->generateFilename();
}
$ret = parent::Update($id, $system_update);
if ($ret) {
$filename = $this->useFilenames ? $this->GetDBField('Filename') : '';
$sql = 'UPDATE '.$this->CategoryItemsTable().'
SET Filename = '.$this->Conn->qstr($filename).'
WHERE ItemResourceId = '.$this->GetDBField('ResourceId');
$this->Conn->Query($sql);
}
unset($this->VirtualFields['ResourceId']);
return $ret;
}
/**
* Returns CategoryItems table based on current item mode (temp/live)
*
* @return string
*/
function CategoryItemsTable()
{
$table = TABLE_PREFIX.'CategoryItems';
if ($this->Application->IsTempTable($this->TableName)) {
$table = $this->Application->GetTempName($table, 'prefix:'.$this->Prefix);
}
-
+
return $table;
}
-
-
+
+
function checkFilename()
{
if( !$this->GetDBField('AutomaticFilename') )
{
$filename = $this->GetDBField('Filename');
$this->SetDBField('Filename', $this->stripDisallowed($filename) );
}
}
function Copy($cat_id=null)
{
if (!isset($cat_id)) $cat_id = $this->Application->GetVar('m_cat_id');
$this->NameCopy($cat_id);
return $this->Create($cat_id);
}
function NameCopy($master=null, $foreign_key=null)
{
$title_field = $this->Application->getUnitOption($this->Prefix, 'TitleField');
if (!$title_field) return;
$new_name = $this->GetDBField($title_field);
$cat_id = $this->Application->GetVar('m_cat_id');
$original_checked = false;
do {
if ( preg_match('/Copy ([0-9]*) *of (.*)/', $new_name, $regs) ) {
$new_name = 'Copy '.( (int)$regs[1] + 1 ).' of '.$regs[2];
}
elseif ($original_checked) {
$new_name = 'Copy of '.$new_name;
}
$query = 'SELECT '.$title_field.' FROM '.$this->TableName.'
LEFT JOIN '.TABLE_PREFIX.'CategoryItems ON
('.TABLE_PREFIX.'CategoryItems.ItemResourceId = '.$this->TableName.'.ResourceId)
WHERE ('.TABLE_PREFIX.'CategoryItems.CategoryId = '.$cat_id.') AND '.
$title_field.' = '.$this->Conn->qstr($new_name);
$res = $this->Conn->GetOne($query);
$original_checked = true;
} while ($res !== false);
$this->SetDBField($title_field, $new_name);
}
function MoveToCat($cat_id=null)
{
// $this->NameCopy();
$cat_id = $this->Application->GetVar('m_cat_id');
// check if the product already exists in destination cat
$query = 'SELECT PrimaryCat FROM '.TABLE_PREFIX.'CategoryItems
WHERE CategoryId = '.$cat_id.' AND ItemResourceId = '.$this->GetDBField('ResourceId');
// if it's not found is_primary will be FALSE, if it's found but not primary it will be int 0
$is_primary = $this->Conn->GetOne($query);
$exists = $is_primary !== false;
if ($exists) { // if the Product already exists in destination category
if ($is_primary) return; // do nothing when we paste to primary
// if it's not primary - delete it from destination category,
// as we will move it from current primary below
$query = 'DELETE FROM '.TABLE_PREFIX.'CategoryItems
WHERE ItemResourceId = '.$this->GetDBField('ResourceId').' AND CategoryId = '.$cat_id;
$this->Conn->Query($query);
}
$query = 'UPDATE '.TABLE_PREFIX.'CategoryItems SET CategoryId = '.$cat_id.
' WHERE ItemResourceId = '.$this->GetDBField('ResourceId').' AND PrimaryCat = 1';
$this->Conn->Query($query);
$this->Update();
}
// We need to delete CategoryItems record when deleting product
function Delete($id = null)
{
if( isset($id) ) {
$this->setID($id);
}
$this->Load($this->GetID());
$ret = parent::Delete();
if ($ret) {
$query = ' DELETE FROM '.$this->CategoryItemsTable().'
WHERE ItemResourceId = '.$this->GetDBField('ResourceId');
$this->Conn->Query($query);
}
return $ret;
}
/**
* Deletes item from categories
*
* @param Array $delete_category_ids
* @author Alex
*/
function DeleteFromCategories($delete_category_ids)
{
$id_field = $this->Application->getUnitOption($this->Prefix, 'IDField'); // because item was loaded before by ResourceId
$ci_table = $this->Application->getUnitOption($this->Prefix.'-ci', 'TableName');
$resource_id = $this->GetDBField('ResourceId');
$item_cats_sql = 'SELECT CategoryId FROM %s WHERE ItemResourceId = %s';
$delete_category_items_sql = 'DELETE FROM %s WHERE ItemResourceId = %s AND CategoryId IN (%s)';
$category_ids = $this->Conn->GetCol( sprintf($item_cats_sql, $ci_table, $resource_id) );
$cats_left = array_diff($category_ids, $delete_category_ids);
if(!$cats_left)
{
$sql = 'SELECT %s FROM %s WHERE ResourceId = %s';
$ids = $this->Conn->GetCol( sprintf($sql, $id_field, $this->TableName, $resource_id) );
$temp =& $this->Application->recallObject($this->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler');
$temp->DeleteItems($this->Prefix, $this->Special, $ids);
}
else
{
$this->Conn->Query( sprintf($delete_category_items_sql, $ci_table, $resource_id, implode(',', $delete_category_ids) ) );
$sql = 'SELECT CategoryId FROM %s WHERE PrimaryCat = 1 AND ItemResourceId = %s';
$primary_cat_id = $this->Conn->GetCol( sprintf($sql, $ci_table, $resource_id) );
if( count($primary_cat_id) == 0 )
{
$sql = 'UPDATE %s SET PrimaryCat = 1 WHERE (CategoryId = %s) AND (ItemResourceId = %s)';
$this->Conn->Query( sprintf($sql, $ci_table, reset($cats_left), $resource_id ) );
}
}
}
/**
* replace not allowed symbols with "_" chars + remove duplicate "_" chars in result
*
* @param string $string
* @return string
*/
function stripDisallowed($filename)
{
$filenames_helper =& $this->Application->recallObject('FilenamesHelper');
$table = $this->mode == 't' ? $this->Application->GetTempName(TABLE_PREFIX.'CategoryItems', 'prefix:'.$this->Prefix) : TABLE_PREFIX.'CategoryItems';
return $filenames_helper->stripDisallowed($table, 'ItemResourceId', $this->GetDBField('ResourceId'), $filename);
}
/* commented out because it's called only from stripDisallowed body, which is moved to helper
function checkAutoFilename($filename)
{
$filenames_helper =& $this->Application->recallObject('FilenamesHelper');
return $filenames_helper->checkAutoFilename($this->TableName, $this->IDField, $this->GetID(), $filename);
}*/
/**
* Generate item's filename based on it's title field value
*
* @return string
*/
function generateFilename()
{
if ( !$this->GetDBField('AutomaticFilename') && $this->GetDBField('Filename') ) return false;
$title_field = $this->Application->getUnitOption($this->Prefix, 'TitleField');
if (preg_match('/l([\d]+)_(.*)/', $title_field, $regs)) {
// if title field is multilingual, then use it's name from primary language
$title_field = 'l'.$this->Application->GetDefaultLanguageId().'_'.$regs[2];
}
$name = $this->stripDisallowed( $this->GetDBField($title_field) );
if ( $name != $this->GetDBField('Filename') ) $this->SetDBField('Filename', $name);
}
/**
* Check if value is set for required field
*
* @param string $field field name
* @param Array $params field options from config
* @return bool
* @access private
*/
function ValidateRequired($field, $params)
{
$res = true;
$error_field = isset($params['error_field']) ? $params['error_field'] : $field;
if ( getArrayValue($params,'required') )
{
$res = ( (string) $this->FieldValues[$field] != '');
}
if (!$res) $this->FieldErrors[$error_field]['pseudo'] = 'required';
return $res;
}
/**
* Adds item to other category
*
* @param int $category_id
* @param bool $is_primary
*/
function assignToCategory($category_id, $is_primary = false)
{
$table = $this->mode == 't' ? $this->Application->GetTempName(TABLE_PREFIX.'CategoryItems', 'prefix:'.$this->Prefix) : TABLE_PREFIX.'CategoryItems';
$key_clause = '(ItemResourceId = '.$this->GetDBField('ResourceId').')';
// get all cateories, where item is in
$sql = 'SELECT PrimaryCat, CategoryId FROM '.$table.' WHERE '.$key_clause;
$item_categories = $this->Conn->GetCol($sql, 'CategoryId');
if (!$item_categories) {
$item_categories = Array();
$primary_found = false;
}
// find primary category
foreach ($item_categories as $item_category_id => $primary_found) {
if ($primary_found) {
break;
}
}
if ($primary_found && ($item_category_id == $category_id) && !$is_primary) {
// want to make primary category as non-primary :(
return true;
}
else if (!$primary_found) {
$is_primary = true;
}
if ($is_primary && $item_categories) {
// reset primary mark from all other categories
$sql = 'UPDATE '.$table.' SET PrimaryCat = 0 WHERE '.$key_clause;
$this->Conn->Query($sql);
}
// UPDATE & INSERT instead of REPLACE because CategoryItems table has no primary key defined in database
if (isset($item_categories[$category_id])) {
$sql = 'UPDATE '.$table.' SET PrimaryCat = '.($is_primary ? 1 : 0).' WHERE '.$key_clause.' AND (CategoryId = '.$category_id.')';
$this->Conn->Query($sql);
}
else {
$sql = 'INSERT INTO '.$table.' (CategoryId,ItemResourceId,PrimaryCat,ItemPrefix,Filename) VALUES (%s,%s,%s,%s,%s)';
$filename = $this->useFilenames ? $this->GetDBField('Filename') : ''; // because some prefixes does not use filenames
$this->Conn->Query( sprintf($sql, $category_id, $this->GetDBField('ResourceId'), $is_primary ? 1 : 0, $this->Conn->qstr($this->Prefix), $this->Conn->qstr($filename)) );
}
// to ensure filename update after adding to another category
// this is critical since there may be an item with same filename in newly added category!
$this->Update();
}
/**
* Removes item from category specified
*
* @param int $category_id
*/
function removeFromCategory($category_id)
{
$sql = 'DELETE FROM '.TABLE_PREFIX.'CategoryItems WHERE (CategoryId = %s) AND (ItemResourceId = %s)';
$this->Conn->Query( sprintf($sql, $category_id, $this->GetDBField('ResourceId')) );
}
/**
* Returns list of columns, that could exist in imported file
*
* @return Array
*/
function getPossibleExportColumns()
{
static $columns = null;
if (!is_array($columns)) {
$columns = array_merge($this->Fields['AvailableColumns']['options'], $this->Fields['ExportColumns']['options']);
}
return $columns;
}
/**
* Returns item's primary image data
*
* @return Array
*/
function getPrimaryImageData()
{
$sql = 'SELECT *
FROM '.TABLE_PREFIX.'Images
WHERE (ResourceId = '.$this->GetDBField('ResourceId').') AND (DefaultImg = 1)';
$image_data = $this->Conn->GetRow($sql);
if (!$image_data) {
// 2. no primary image, then get image with name "main"
$sql = 'SELECT *
FROM '.TABLE_PREFIX.'Images
WHERE (ResourceId = '.$this->GetDBField('ResourceId').') AND (Name = "main")';
$image_data = $this->Conn->GetRow($sql);
}
return $image_data;
}
-
+
function ChangeStatus($new_status)
{
$status_field = array_shift( $this->Application->getUnitOption($this->Prefix,'StatusField') );
$this->SetDBField($status_field, $new_status);
return $this->Update();
}
-
+
/**
* Approves changes made to category item
*
* @return bool
*/
function ApproveChanges()
{
$original_id = $this->GetDBField('OrgId');
if (!($this->usePendingEditing && $original_id)) {
// non-pending copy of original link
return $this->ChangeStatus(STATUS_ACTIVE);
}
-
+
if ($this->raiseEvent('OnBeforeDeleteOriginal', null, Array('original_id' => $original_id))) {
// delete original item, because changes made in pending copy (this item) got to be approved in this method
$temp_handler =& $this->Application->recallObject($this->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler');
$temp_handler->DeleteItems($this->Prefix, $this->Special, Array($original_id));
-
+
$this->SetDBField('OrgId', 0);
return $this->ChangeStatus(STATUS_ACTIVE);
}
-
+
return false;
}
-
+
/**
* Decline changes made to category item
*
* @return bool
*/
function DeclineChanges()
{
$original_id = $this->GetDBField('OrgId');
-
+
if (!($this->usePendingEditing && $original_id)) {
// non-pending copy of original link
return $this->ChangeStatus(STATUS_DISABLED);
}
-
+
// delete this item, because changes made in pending copy (this item) will be declined in this method
$temp_handler =& $this->Application->recallObject($this->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler');
$temp_handler->DeleteItems($this->Prefix, $this->Special, Array($this->GetID()));
// original item is not changed here, because it is already enabled (thrus pending copy is visible to item's owner or admin with permission)
return true;
}
}
?>
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.34.2/core/units/general/cat_dbitem.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.34.2.2
\ No newline at end of property
+1.34.2.3
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.10.2/core/units/categories/categories_item.php
===================================================================
--- branches/unlabeled/unlabeled-1.10.2/core/units/categories/categories_item.php (revision 7516)
+++ branches/unlabeled/unlabeled-1.10.2/core/units/categories/categories_item.php (revision 7517)
@@ -1,181 +1,233 @@
<?php
class CategoriesItem extends kDBItem
{
function Create($force_id=false, $system_create=false)
{
$this->checkFilename();
$this->generateFilename();
if (!$this->Validate()) return false;
$this->SetDBField('ResourceId', $this->Application->NextResourceId());
$this->SetDBField('CreatedById', $this->Application->RecallVar('user_id') );
$this->SetDBField('CreatedOn_date', adodb_mktime() );
$this->SetDBField('CreatedOn_time', adodb_mktime() );
$parent_category = $this->GetDBField('ParentId') > 0 ? $this->GetDBField('ParentId') : $this->Application->GetVar('m_cat_id');
$this->SetDBField('ParentId', $parent_category);
$ret = parent::Create($force_id, $system_create);
if ($ret) {
$sql = 'UPDATE %s SET ParentPath = %s WHERE CategoryId = %s';
$parent_path = $this->buildParentPath();
$this->Conn->Query( sprintf($sql, $this->TableName, $this->Conn->qstr($parent_path), $this->GetID() ) );
$this->SetDBField('ParentPath', $parent_path);
}
return $ret;
}
function Update($id=null, $system_update=false)
{
$this->checkFilename();
$this->generateFilename();
$ret = parent::Update($id, $system_update);
return $ret;
}
function buildParentPath()
{
$parent_id = $this->GetDBField('ParentId');
if ($parent_id == 0) {
$parent_path = '|';
}
else {
$cat_table = $this->Application->getUnitOption($this->Prefix, 'TableName');
$sql = 'SELECT ParentPath FROM '.$cat_table.' WHERE CategoryId = %s';
$parent_path = $this->Conn->GetOne( sprintf($sql, $parent_id) );
}
return $parent_path.$this->GetID().'|';
}
/**
* replace not allowed symbols with "_" chars + remove duplicate "_" chars in result
*
* @param string $string
* @return string
*/
function stripDisallowed($string)
{
$not_allowed = Array( ' ', '\\', '/', ':', '*', '?', '"', '<', '>', '|', '`',
'~', '!', '@', '#', '$', '%', '^', '&', '(', ')', '~',
'+', '=', '-', '{', '}', ']', '[', "'", ';', '.', ',');
$string = str_replace($not_allowed, '_', $string);
$string = preg_replace('/(_+)/', '_', $string);
$string = $this->checkAutoFilename($string);
return $string;
}
function checkFilename()
{
if( !$this->GetDBField('AutomaticFilename') )
{
$filename = $this->GetDBField('Filename');
$this->SetDBField('Filename', $this->stripDisallowed($filename) );
}
}
function checkAutoFilename($filename)
{
if(!$filename) return $filename;
$item_id = !$this->GetID() ? 0 : $this->GetID();
// check temp table
$sql_temp = 'SELECT '.$this->IDField.' FROM '.$this->TableName.' WHERE Filename = '.$this->Conn->qstr($filename);
$found_temp_ids = $this->Conn->GetCol($sql_temp);
// check live table
$sql_live = 'SELECT '.$this->IDField.' FROM '.$this->Application->GetLiveName($this->TableName).' WHERE Filename = '.$this->Conn->qstr($filename);
$found_live_ids = $this->Conn->GetCol($sql_live);
$found_item_ids = array_unique( array_merge($found_temp_ids, $found_live_ids) );
$has_page = preg_match('/(.*)_([\d]+)([a-z]*)$/', $filename, $rets);
$duplicates_found = (count($found_item_ids) > 1) || ($found_item_ids && $found_item_ids[0] != $item_id);
if ($duplicates_found || $has_page) // other category has same filename as ours OR we have filename, that ends with _number
{
$append = $duplicates_found ? '_a' : '';
if($has_page)
{
$filename = $rets[1].'_'.$rets[2];
$append = $rets[3] ? $rets[3] : '_a';
}
// check live & temp table
$sql_temp = 'SELECT '.$this->IDField.' FROM '.$this->TableName.' WHERE (Filename = %s) AND ('.$this->IDField.' != '.$item_id.')';
$sql_live = 'SELECT '.$this->IDField.' FROM '.$this->Application->GetLiveName($this->TableName).' WHERE (Filename = %s) AND ('.$this->IDField.' != '.$item_id.')';
while ( $this->Conn->GetOne( sprintf($sql_temp, $this->Conn->qstr($filename.$append)) ) > 0 ||
$this->Conn->GetOne( sprintf($sql_live, $this->Conn->qstr($filename.$append)) ) > 0 )
{
if (substr($append, -1) == 'z') $append .= 'a';
$append = substr($append, 0, strlen($append) - 1) . chr( ord( substr($append, -1) ) + 1 );
}
return $filename.$append;
}
return $filename;
}
/**
* Generate item's filename based on it's title field value
*
* @return string
*/
function generateFilename()
{
if ( !$this->GetDBField('AutomaticFilename') && $this->GetDBField('Filename') ) return false;
$ml_formatter =& $this->Application->recallObject('kMultiLanguage');
$name = $this->stripDisallowed( $this->GetDBField( $ml_formatter->LangFieldName('Name', true) ) );
if ( $name != $this->GetDBField('Filename') ) $this->SetDBField('Filename', $name);
}
/**
* Allows to detect if root category being edited
*
* @param Array $params
*/
function IsRoot()
{
$category_id = $this->Application->GetVar($this->getPrefixSpecial().'_id');
if (is_numeric($category_id) && $category_id == 0 && !$this->Application->GetVar($this->getPrefixSpecial().'_PreCreate')) {
$sql = 'SELECT '.$this->IDField.'
FROM '.$this->TableName.'
WHERE '.$this->IDField.' = '.$category_id;
if ($this->Conn->GetOne($sql) === false) {
return true;
}
}
return false;
}
/**
* Sets correct name to Home category while editing it
*
* @return bool
*/
function IsNewItem()
{
if ($this->IsRoot() && $this->Prefix == 'c') {
$title_field = $this->Application->getUnitOption($this->Prefix, 'TitleField');
$category_name = $this->Application->Phrase( $this->Application->ConfigValue('Root_Name') );
$this->SetDBField($title_field, $category_name);
return false;
}
return parent::IsNewItem();
}
+
+ /**
+ * Sets new name for item in case if it is beeing copied
+ * in same table
+ *
+ * @param array $master Table data from TempHandler
+ * @param int $foreign_key ForeignKey value to filter name check query by
+ * @access private
+ */
+ function NameCopy($master=null, $foreign_key=null)
+ {
+ $title_field = $this->Application->getUnitOption($this->Prefix, 'TitleField');
+ if (!$title_field || isset($this->CalculatedFields[$title_field]) ) return;
+
+ $new_name = $this->GetDBField($title_field);
+ $cat_id = $this->Application->GetVar('m_cat_id');
+ $this->SetDBField('ParentId', $cat_id);
+ $original_checked = false;
+ do {
+ if ( preg_match('/Copy ([0-9]*) *of (.*)/', $new_name, $regs) ) {
+ $new_name = 'Copy '.($regs[1]+1).' of '.$regs[2];
+ }
+ elseif ($original_checked) {
+ $new_name = 'Copy of '.$new_name;
+ }
+
+ // if we are cloning in temp table this will look for names in temp table,
+ // since object' TableName contains correct TableName (for temp also!)
+ // if we are cloning live - look in live
+ $query = 'SELECT '.$title_field.' FROM '.$this->TableName.'
+ WHERE ParentId = '.$cat_id.' AND '.$title_field.' = '.$this->Conn->qstr($new_name);
+
+ $foreign_key_field = getArrayValue($master, 'ForeignKey');
+ $foreign_key_field = is_array($foreign_key_field) ? $foreign_key_field[ $master['ParentPrefix'] ] : $foreign_key_field;
+
+ if ($foreign_key_field && isset($foreign_key)) {
+ $query .= ' AND '.$foreign_key_field.' = '.$foreign_key;
+ }
+
+ $res = $this->Conn->GetOne($query);
+
+ /*// if not found in live table, check in temp table if applicable
+ if ($res === false && $object->Special == 'temp') {
+ $query = 'SELECT '.$name_field.' FROM '.$this->GetTempName($master['TableName']).'
+ WHERE '.$name_field.' = '.$this->Conn->qstr($new_name);
+ $res = $this->Conn->GetOne($query);
+ }*/
+
+ $original_checked = true;
+ } while ($res !== false);
+ $this->SetDBField($title_field, $new_name);
+ }
}
?>
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.10.2/core/units/categories/categories_item.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.10.2.5
\ No newline at end of property
+1.10.2.6
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.3.2/core/units/permissions/permissions_config.php
===================================================================
--- branches/unlabeled/unlabeled-1.3.2/core/units/permissions/permissions_config.php (revision 7516)
+++ branches/unlabeled/unlabeled-1.3.2/core/units/permissions/permissions_config.php (revision 7517)
@@ -1,88 +1,88 @@
<?php
$config = Array(
'Prefix' => 'perm',
'ItemClass' => Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'),
'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'),
'EventHandlerClass' => Array('class'=>'PermissionsEventHandler','file'=>'permissions_event_handler.php','build_event'=>'OnBuild'),
'TagProcessorClass' => Array('class'=>'PermissionsTagProcessor','file'=>'permissions_tag_processor.php','build_event'=>'OnBuild'),
'AutoLoad' => true,
'Clones' => Array(
'c-perm' => Array(
'Constrain' => 'Type = 0', // non-system
'ParentPrefix' => 'c',
'ForeignKey' => 'CatId',
'ParentTableKey' => 'CategoryId',
-
+
'Hooks' => Array(
Array(
'Mode' => hAFTER,
'Conditional' => true,
'HookToPrefix' => '#PARENT#',
'HookToSpecial' => '*',
'HookToEvent' => Array('OnPreSave'),
'DoPrefix' => '',
'DoSpecial' => '*',
'DoEvent' => 'OnCategorySavePermissions',
),
),
),
'g-perm' => Array(
'Constrain' => 'Type = 1', // system
'ParentPrefix' => 'g',
'ForeignKey' => 'GroupId',
'ParentTableKey' => 'GroupId',
-
+
'Hooks' => Array(
Array(
'Mode' => hAFTER,
'Conditional' => true,
'HookToPrefix' => '#PARENT#',
'HookToSpecial' => '*',
'HookToEvent' => Array('OnPreSave'),
'DoPrefix' => '',
'DoSpecial' => '*',
'DoEvent' => 'OnGroupSavePermissions',
),
),
),
),
'QueryString' => Array(
1 => 'id',
2 => 'page',
3 => 'event',
),
'IDField' => 'PermissionId',
'StatusField' => Array('PermissionValue'),
'TitleField' => 'Permission',
'TableName' => TABLE_PREFIX.'Permissions',
- 'AutoDelete' => true,
- 'AutoClone' => true,
+ 'AutoDelete' => false,
+ 'AutoClone' => false,
'ListSQLs' => Array('' => 'SELECT %1$s.* %2$s FROM %1$s'),
'ItemSQLs' => Array('' => 'SELECT %1$s.* %2$s FROM %1$s'),
'ListSortings' => Array(
'' => Array(
'Sorting' => Array('Permission' => 'asc'),
)
),
'Fields' => Array(
'PermissionId' => Array(),
'Permission' => Array('type' => 'string','not_null' => '1','default' => ''),
'GroupId' => Array('type' => 'int','default' => '0'),
'PermissionValue' => Array('type' => 'int','not_null' => '1','default' => '0'),
'Type' => Array('type' => 'int','not_null' => '1','default' => '0'),
'CatId' => Array('type' => 'int','not_null' => '1','default' => '0'),
),
);
?>
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.3.2/core/units/permissions/permissions_config.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.3
\ No newline at end of property
+1.3.2.1
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.3.2/core/units/general/helpers/recursive_helper.php
===================================================================
--- branches/unlabeled/unlabeled-1.3.2/core/units/general/helpers/recursive_helper.php (revision 7516)
+++ branches/unlabeled/unlabeled-1.3.2/core/units/general/helpers/recursive_helper.php (revision 7517)
@@ -1,182 +1,183 @@
<?php
class kRecursiveHelper extends kHelper {
function DeleteCategory($category_id, $prefix='c')
{
$id_field = $this->Application->getUnitOption($prefix, 'IDField');
$table_name = $this->Application->getUnitOption($prefix, 'TableName');
$sql = 'SELECT '.$id_field.'
FROM '.$table_name.'
WHERE ParentId = '.$category_id;
$sub_categories = $this->Conn->GetCol($sql);
if ($sub_categories) {
foreach ($sub_categories as $sub_category_id) {
$this->DeleteCategory($sub_category_id);
}
}
$ci_table = $this->Application->getUnitOption('ci', 'TableName');
// 1. remove category items from this category if it is supplemental (non-primary) category to them
$sql = 'DELETE FROM '.$ci_table.'
WHERE ('.$id_field.' = '.$category_id.') AND (PrimaryCat = 0)';
$this->Conn->Query($sql);
$temp_handler =& $this->Application->recallObject($prefix.'_TempHandler', 'kTempTablesHandler');
// 2. delete items this have this category as primary
$delete_ids = $this->getCategoryItems($category_id, true);
foreach ($delete_ids as $item_prefix => $resource_ids) {
if (!$item_prefix) {
// not ItemPrefix filled -> old categoryitem linking
continue;
}
$item_ids = $this->GetItemIDs($item_prefix, $resource_ids);
$temp_handler->BuildTables($item_prefix, $item_ids);
$temp_handler->DeleteItems($item_prefix, '', $item_ids);
}
// 3. delete this category
$temp_handler->BuildTables($prefix, Array($category_id));
$temp_handler->DeleteItems($prefix, '', Array($category_id));
}
/**
* Converts resource ids list to id field list for given prefix
*
* @param string $prefix
* @param Array $resource_ids
* @return Array
*/
function GetItemIDs($prefix, $resource_ids)
{
if (!$resource_ids) {
return Array();
}
$id_field = $this->Application->getUnitOption($prefix, 'IDField');
$table_name = $this->Application->getUnitOption($prefix, 'TableName');
$sql = 'SELECT '.$id_field.'
FROM '.$table_name.'
WHERE ResourceId IN ('.implode(',', $resource_ids).')';
return $this->Conn->GetCol($sql);
}
// moves selected categories to destination category
function MoveCategories($category_ids, $dest_category_id)
{
if (!$category_ids) return ;
$id_field = $this->Application->getUnitOption('c', 'IDField');
$table_name = $this->Application->getUnitOption('c', 'TableName');
// do not move categories into their children
$sql = 'SELECT ParentPath
FROM '.$table_name.'
WHERE '.$id_field.' = '.$dest_category_id;
$dest_parent_path = explode('|', substr($this->Conn->GetOne($sql), 1, -1));
-
+
$child_categories = array_intersect($dest_parent_path, $category_ids); // get categories, then can't be moved
$category_ids = array_diff($category_ids, $child_categories); // remove them from movable categories list
-
+
if ($category_ids) {
$sql = 'UPDATE '.$table_name.'
SET ParentId = '.$dest_category_id.'
WHERE '.$id_field.' IN ('.implode(',', $category_ids).')';
$this->Conn->Query($sql);
}
}
/**
* Complete cloning or category with subcategories and subitems
*
* @param int $category_id
*/
function PasteCategory($category_id, $prefix = 'c')
{
$backup_category_id = $this->Application->GetVar('m_cat_id');
// 1. clone category
$temp_handler =& $this->Application->recallObject($prefix.'_TempHandler', 'kTempTablesHandler');
+ /* @var $temp_handler kTempTablesHandler*/
$temp_handler->BuildTables($prefix, Array($category_id));
$new_category_id = array_pop( $temp_handler->CloneItems($prefix, '', Array($category_id)) );
$this->Application->SetVar('m_cat_id', $new_category_id);
$id_field = $this->Application->getUnitOption($prefix, 'IDField');
$table_name = $this->Application->getUnitOption($prefix, 'TableName');
// 2. assign supplemental items to current category to new category
$paste_ids = $this->getCategoryItems($category_id, false);
foreach ($paste_ids as $item_prefix => $resource_ids) {
if (!$item_prefix) {
// not ItemPrefix filled -> old categoryitem linking
continue;
}
$item_object =& $this->Application->recallObject($item_prefix.'.-item', null, Array('skip_autoload' => true));
foreach ($resource_ids as $item_resource_id) {
$item_object->Load($item_resource_id, 'ResourceId');
$item_object->assignToCategory($new_category_id, false);
}
}
// 3. clone items that have current category as primary
$paste_ids = $this->getCategoryItems($category_id, true);
foreach ($paste_ids as $item_prefix => $resource_ids) {
if (!$item_prefix) {
// not ItemPrefix filled -> old categoryitem linking
continue;
}
// 2. clone items from current category (for each prefix separately)
$item_ids = $this->GetItemIDs($item_prefix, $resource_ids);
$temp_handler->BuildTables($item_prefix, $item_ids);
$temp_handler->CloneItems($item_prefix, '', $item_ids);
}
// 4. do same stuff for each subcategory
$sql = 'SELECT '.$id_field.'
FROM '.$table_name.'
WHERE ParentId = '.$category_id;
$sub_categories = $this->Conn->GetCol($sql);
if ($sub_categories) {
foreach ($sub_categories as $sub_category_id) {
$this->PasteCategory($sub_category_id, $prefix);
}
}
$this->Application->SetVar('m_cat_id', $backup_category_id);
}
/**
* Returns grouped category items
*
* @param int $category_id
* @param bool $item_primary_category
* @return Array
*/
function getCategoryItems($category_id, $item_primary_category = true)
{
$ci_table = $this->Application->getUnitOption('ci', 'TableName');
$sql = 'SELECT ItemPrefix, ItemResourceId
FROM '.$ci_table.'
WHERE (CategoryId = '.$category_id.') AND (PrimaryCat = '.($item_primary_category ? 1 : 0).')';
$category_items = $this->Conn->GetCol($sql, 'ItemResourceId');
$item_ids = Array();
foreach ($category_items as $resource_id => $item_prefix) {
$item_ids[$item_prefix][] = $resource_id;
}
return $item_ids;
}
}
?>
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.3.2/core/units/general/helpers/recursive_helper.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.3.2.3
\ No newline at end of property
+1.3.2.4
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.7.2/core/units/general/helpers/mod_rewrite_helper.php
===================================================================
--- branches/unlabeled/unlabeled-1.7.2/core/units/general/helpers/mod_rewrite_helper.php (revision 7516)
+++ branches/unlabeled/unlabeled-1.7.2/core/units/general/helpers/mod_rewrite_helper.php (revision 7517)
@@ -1,527 +1,527 @@
<?php
class kModRewriteHelper extends kHelper {
function kModRewriteHelper()
{
parent::kHelper();
$this->HTTPQuery =& $this->Application->recallObject('HTTPQuery');
}
function SetDefaultValues(&$vars)
{
$defaults = Array('m_cat_id' => 0, 'm_cat_page' => 1, 'm_opener' => 's');
foreach ($defaults as $default_key => $default_value)
{
if ($this->HTTPQuery->Get($default_key) == null) {
$vars[$default_key] = $default_value;
}
}
}
function ProcessLanguage(&$url_parts, &$vars)
{
if (!isset($url_parts[0])) return false;
$res = false;
$url_part = array_shift($url_parts);
$sql = 'SELECT LanguageId FROM '.TABLE_PREFIX.'Language WHERE LOWER(PackName) = '.$this->Conn->qstr($url_part).' AND Enabled = 1';
$language_id = $this->Conn->GetOne($sql);
$this->Application->Phrases = new PhrasesCache();
if($language_id)
{
$vars['m_lang'] = $language_id;
$res = true;
}
// $this->Application->VerifyLanguageId();
if (!$res) {
array_unshift($url_parts, $url_part);
}
return $res;
}
function ProcessTheme(&$url_parts, &$vars)
{
if (!isset($url_parts[0])) return false;
$res = false;
$url_part = array_shift($url_parts);
$sql = 'SELECT ThemeId FROM '.TABLE_PREFIX.'Theme WHERE LOWER(Name) = '.$this->Conn->qstr($url_part).' AND Enabled = 1';
$theme_id = $this->Conn->GetOne($sql);
if($theme_id)
{
$vars['m_theme'] = $theme_id;
$res = true;
}
// $this->Application->VerifyThemeId(); // verify anyway - will set default if not found!!!
if (!$res) {
array_unshift($url_parts, $url_part);
}
return $res;
}
function ProcessCategory(&$url_parts, &$vars)
{
if (!isset($url_parts[0])) return false;
$res = false;
$url_part = array_shift($url_parts);
$category_id = 0;
$last_category_id = 0;
$category_path = '';
do
{
$category_path = trim($category_path.'/'.$url_part, '/');
if( !preg_match('/^bb_[\d]+/', $url_part) && preg_match('/(.*)_([\d]+)$/', $category_path, $rets) )
{
$category_path = $rets[1];
$vars['m_cat_page'] = $rets[2];
}
$category_id = $this->Conn->GetOne(
'SELECT CategoryId
FROM '.TABLE_PREFIX.'Category
WHERE Status = 1 AND NamedParentPath = '.$this->Conn->qstr($category_path));
if ($category_id !== false) {
$last_category_id = $category_id;
$url_part = array_shift($url_parts);
$res = true;
}
} while ($category_id !== false && $url_part);
$vars['m_cat_id'] = $last_category_id;
if ($url_part) {
array_unshift($url_parts, $url_part);
}
return $res;
}
function ProcessPage(&$url_parts, &$vars)
{
if (!is_numeric($url_parts[0]) || count($url_parts) > 1) return false;
// set module pages for all modules, since we don't know which module will need it
foreach ($this->Application->ModuleInfo as $module_name => $module_data)
{
$vars[ $module_data['Var'].'_id'] = 0;
$vars[ $module_data['Var'].'_Page'] = $url_parts[0];
$vars[ $module_data['Var'].'_Reviews_Page'] = 0;
}
return true;
}
function ProcessModuleIndex(&$url_parts, &$vars)
{
if ( count($url_parts) > 1) return false; // if no more parts or only 1 part left
if ( $url_parts && $url_parts[0] == 'index') { // treat index same as no parts
array_shift($url_parts);
}
if( $url_parts ) { // if parts are left, it can only be module page
if (!is_numeric($url_parts[0])) return false;
$this->ProcessPage($url_parts, $vars);
}
// try to find CMS index page of the category
if ($this->Application->isModuleEnabled('In-CMS')) {
$sql = 'SELECT p.Path, ci.CategoryId FROM '.TABLE_PREFIX.'Pages AS p
LEFT JOIN '.TABLE_PREFIX.'CategoryItems AS ci
ON ci.ItemResourceId = p.ResourceId
WHERE
p.IsIndex = 1
AND
p.Status = 1
AND
CategoryId = '.$vars['m_cat_id'].'
AND
ci.PrimaryCat = 1';
$template_found = $this->Conn->GetRow($sql);
if ($template_found !== false) {
$vars['t'] = $template_found['Path'];
return true;
}
}
$sql = 'SELECT CachedCategoryTemplate
FROM '.TABLE_PREFIX.'Category
WHERE CategoryId = '.$vars['m_cat_id'];
$vars['t'] = $this->Conn->GetOne($sql);
if (!$vars['t']) $vars['t'] = 'index';
return true;
}
function ProcessModuleItem(&$url_parts, &$vars, $set_t=true)
{
if (preg_match('/^bb_.*/', $url_parts[0])) {
$cat_item = $this->Conn->GetRow('
SELECT c.ParentPath, c.CategoryId FROM '.TABLE_PREFIX.'Category AS c
WHERE
c.CategoryId = '.$vars['m_cat_id']);
if ($set_t) {
$item_template = $this->GetItemTemplate($cat_item, 'bb');
$vars['t'] = $item_template;
}
$this->Application->HandleEvent($bb_event, 'bb:ParseEnv', Array('url_parts' => $url_parts, 'vars' => $vars));
$vars = $bb_event->getEventParam('vars');
return 'bb';
}
if (!isset($url_parts[0])) return false;
if ( count($url_parts) != 1 ) return false;
$url_part = array_shift($url_parts);
// match module reviews page
$page = 1;
if( preg_match('/(.*)_([\d]+)$/', $url_part, $rets) )
{
$url_part = $rets[1];
$page = $rets[2];
}
// locating the item in CategoryItems by filename to detect its ItemPrefix and its category ParentPath
$cat_item = $this->Conn->GetRow('
SELECT ci.ItemResourceId, ci.ItemPrefix, c.ParentPath, ci.CategoryId FROM '.TABLE_PREFIX.'CategoryItems AS ci
LEFT JOIN '.TABLE_PREFIX.'Category AS c
ON c.CategoryId = ci.CategoryId
WHERE
ci.CategoryId = '.$vars['m_cat_id'].'
AND
ci.Filename = '.$this->Conn->qstr($url_part));
if ($cat_item !== false) { // item found
$module_prefix = $cat_item['ItemPrefix'];
$item_template = $this->GetItemTemplate($cat_item, $module_prefix);
// converting ResourceId to correpsonding Item id
$module_config = $this->Application->getUnitOptions($module_prefix);
$item_id = $this->Conn->GetOne(
'SELECT '.$module_config['IDField'].' FROM '.$module_config['TableName'].'
WHERE ResourceId = '.$cat_item['ItemResourceId']
);
if ((!$set_t || $item_template) && $item_id) {
if ($set_t) {
$vars['t'] = $item_template;
}
$vars[ $module_prefix.'_id' ] = $item_id;
$vars[ $module_prefix.'_Reviews_Page' ] = $page;
return $module_prefix;
}
}
array_unshift($url_parts, $url_part);
return false;
}
function GetItemTemplate($category, $module_prefix)
{
if (!is_array($category)) {
$category = $this->Conn->GetRow('
SELECT c.ParentPath, c.CategoryId FROM '.TABLE_PREFIX.'Category AS c
WHERE
c.CategoryId = '.$category);
}
$parent_path = implode(',',explode('|', substr($category['ParentPath'], 1, -1)));
// item template is stored in module' system custom field - need to get that field Id
$item_template_field_id = $this->Conn->GetOne(
'SELECT CustomFieldId
FROM '.TABLE_PREFIX.'CustomField
WHERE FieldName = '.$this->Conn->qstr($module_prefix.'_ItemTemplate'));
// looking for item template through cats hierarchy sorted by parent path
$query = 'SELECT ccd.l1_cust_'.$item_template_field_id.',
FIND_IN_SET(c.CategoryId, '.$this->Conn->qstr($parent_path).') AS Ord1,
c.CategoryId, c.Name, ccd.l1_cust_'.$item_template_field_id.'
FROM '.TABLE_PREFIX.'Category AS c
LEFT JOIN '.TABLE_PREFIX.'CategoryCustomData AS ccd
ON ccd.ResourceId = c.ResourceId
WHERE c.CategoryId IN ('.$parent_path.') AND ccd.l1_cust_'.$item_template_field_id.' != \'\'
ORDER BY FIND_IN_SET(c.CategoryId, '.$this->Conn->qstr($parent_path).') DESC';
$item_template = $this->Conn->GetOne($query);
return $item_template;
}
function ProcessPhisycalTemplate(&$url_parts, &$vars)
{
if (!isset($url_parts[0])) return false;
$remaining = array();
do
{
$template_path = implode('/', $url_parts);
$t_parts['path'] = dirname($template_path) == '.' ? '' : '/'.dirname($template_path);
$t_parts['file'] = basename($template_path);
$sql = 'SELECT FileId
FROM '.TABLE_PREFIX.'ThemeFiles
WHERE (FilePath = '.$this->Conn->qstr($t_parts['path']).') AND (FileName = '.$this->Conn->qstr($t_parts['file'].'.tpl').')';
// $sql = 'SELECT FileId FROM '.TABLE_PREFIX.'ThemeFiles WHERE CONCAT(FilePath, "/", FileName) = '.$this->Conn->qstr('/'.$template_path.'.tpl');
$template_found = $this->Conn->GetOne($sql);
if(!$template_found)
{
array_unshift($remaining, array_pop($url_parts));
}
} while (!$template_found && $url_parts);
$url_parts = $remaining;
if ($template_found) {
$vars['t'] = $template_path;
return true;
}
return false;
}
/**
* Checks if whole url_parts matches a whole In-CMS page
*
* @param array $url_parts
* @return boolean
*/
function ProcessVirtualTemplate(&$url_parts, &$vars)
{
if (!isset($url_parts[0])) return false;
if ($this->Application->isModuleEnabled('Proj-CMS')) {
$friendly = $this->Conn->GetRow(
' SELECT CategoryId, NamedParentPath FROM '.TABLE_PREFIX.'Category
WHERE FriendlyURL = '.$this->Conn->qstr(implode('/', $url_parts)));
if ($friendly) {
$vars['m_cat_id'] = $friendly['CategoryId'];
$vars['t'] = preg_replace('/^content\//i', '', $friendly['NamedParentPath']);
return true;
}
$template_path = 'content/'.implode('/', $url_parts);
$sql = 'SELECT CategoryId FROM '.TABLE_PREFIX.'Category
WHERE
LOWER(NamedParentPath) = '.$this->Conn->qstr($template_path).'
AND
Status IN (1,4) ';
$template_found = $this->Conn->GetRow($sql);
if ($template_found) {
$vars['m_cat_id'] = $template_found['CategoryId'];
$vars['t'] = implode('/', $url_parts);
return true;
}
}
if ($this->Application->isModuleEnabled('In-Edit')) {
$template_path = implode('/', $url_parts);
$sql = 'SELECT p.PageId, ci.CategoryId FROM '.TABLE_PREFIX.'Pages AS p
LEFT JOIN '.TABLE_PREFIX.'CategoryItems AS ci
ON ci.ItemResourceId = p.ResourceId
WHERE
Path = '.$this->Conn->qstr($template_path).'
AND
ci.PrimaryCat = 1
AND
p.Status = 1';
$template_found = $this->Conn->GetRow($sql);
if ($template_found) {
$vars['m_cat_id'] = $template_found['CategoryId'];
$vars['t'] = $template_path;
return true;
}
}
return false;
}
function processRewriteURL()
{
$passed = array();
$url = $this->HTTPQuery->Get('_mod_rw_url_');
if( substr($url, -5) == '.html' ) $url = substr($url, 0, strlen($url) - 5 );
$restored = false;
$cache = $this->Conn->GetRow('SELECT Data, Cached FROM '.TABLE_PREFIX.'Cache WHERE VarName = "mod_rw_'.md5($url).'"');
if (false && $cache && $cache['Cached'] > 0) {
$cache = unserialize($cache['Data']);
$vars = $cache['vars'];
$passed = $cache['passed'];
$restored = true;
}
else {
$passed = array();
$vars = $this->parseRewriteURL($url,$passed);
$cache = array('vars'=>$vars,'passed'=>$passed);
$this->Conn->Query('REPLACE '.TABLE_PREFIX.'Cache (VarName, Data, Cached) VALUES ("mod_rw_'.md5($url).'", '.$this->Conn->qstr(serialize($cache)).', '.adodb_mktime().')');
}
foreach ($vars as $name => $value)
{
$this->HTTPQuery->Set($name,$value);
}
// if ($restored) {
$this->InitAll();
// }
$this->HTTPQuery->finalizeParsing($passed);
}
function InitAll()
{
// $this->Application->Phrases = new PhrasesCache();
$this->Application->VerifyLanguageId();
$this->Application->Phrases->Init('phrases');
$this->Application->VerifyThemeId();
}
function parseRewriteURL($url, &$passed)
{
$vars = $this->Conn->GetRow('SELECT Data, Cached FROM '.TABLE_PREFIX.'Cache WHERE VarName = "mod_rw_'.md5($url).'"');
if (false && $vars && $vars['Cached'] > 0) {
$vars = unserialize($menu['Data']);
return $vars;
}
$vars = array();
- $url_parts = $url ? explode('/', $url) : Array();
+ $url_parts = $url ? explode('/', trim($url, '/')) : Array();
$process_module = true;
if($this->HTTPQuery->Get('rewrite') == 'on' || !$url_parts)
{
$this->SetDefaultValues($vars);
}
if(!$url_parts)
{
$this->InitAll();
$vars['t'] = $this->HTTPQuery->getDefaultTemplate('');
$passed[] = 'm';
return $vars;
}
else
{
$vars['t'] = '';
}
$passed = Array('m');
$this->ProcessLanguage($url_parts, $vars);
$this->ProcessTheme($url_parts, $vars);
if ( $this->ProcessVirtualTemplate($url_parts, $vars) ) {
return $vars;
}
$this->ProcessCategory($url_parts, $vars);
if ( $this->ProcessModuleIndex($url_parts, $vars) ) {
foreach ($this->Application->ModuleInfo as $module_name => $info) {
$passed[] = $info['Var'];
}
return $vars;
}
if ( $module_prefix = $this->ProcessModuleItem($url_parts, $vars) ) {
$passed[] = $module_prefix;
return $vars;
}
/*// match module
$next_template = $this->HTTPQuery->Get('next_template');
if($url_part || $next_template)
{
if($next_template)
{
$next_template_parts = explode('/', $next_template);
$module_folder = array_shift($next_template_parts);
}
else
{
$module_folder = $url_part;
}
foreach ($this->Application->ModuleInfo as $module_name => $module_data)
{
if( trim($module_data['TemplatePath'], '/') == $module_folder )
{
$module_prefix = $module_data['Var'];
break;
}
}
}*/
if ( $this->ProcessPhisycalTemplate($url_parts, $vars) ) {
if (!$url_parts) {
return $vars;
}
}
if ( $this->ProcessPage($url_parts, $vars) ) {
if (count($passed) == 1) {// passed contains only 1 value which is 'm'
// this may be search results page, so we need to find out the module, especially for old in-portal
foreach ($this->Application->ModuleInfo as $module_name => $module_data)
{
if (!$module_data['TemplatePath']) continue;
if( preg_match('/^'.preg_quote($module_data['TemplatePath'], '/').'/i', $vars['t']) )
{
$module_prefix = $module_data['Var'];
break;
}
}
$passed[] = $module_prefix;
}
return $vars;
}
if ( $module_prefix = $this->ProcessModuleItem($url_parts, $vars, false) ) {
$passed[] = $module_prefix;
return $vars;
}
if ( $this->Application->isModuleEnabled('In-Edit') && $this->Application->GetVar('admin') == 1) {
$adm_ses =& $this->Application->recallObject('Session.admin');
$user = $adm_ses->RecallVar('user_id');
$perm_helper =& $this->Application->recallObject('PermissionsHelper');
if ($perm_helper->CheckUserPermission($user, 'PAGE.ADD', 0)) {
$vars['t'] = implode('/', $url_parts);
return $vars;
}
}
$not_found = $this->Application->ConfigValue('ErrorTemplate');
$vars['t'] = $not_found ? $not_found : 'error_notfound';
header('HTTP/1.0 404 Not Found');
return $vars;
// $this->HTTPQuery->finalizeParsing($passed, $module_params);
// pass params left to module
/*$this->Application->Phrases->Init('phrases');
$passed = Array('m');
$module_params = Array();
if ( isset($module_prefix) ) {
$passed[] = $module_prefix;
$module_event = new kEvent($module_prefix.':ParseEnv', Array('url_parts' => $url_parts) );
if ($process_module) {
$this->Application->HandleEvent($module_event);
}
$item_id = $this->HTTPQuery->Get($module_prefix.'_id');
$module_params = Array($module_prefix.'_id' => $item_id ? $item_id : '0' );
if ($module_event->status == erFAIL) {
$not_found = $this->Application->ConfigValue('ErrorTemplate');
$this->HTTPQuery->Set('t', $not_found ? $not_found : 'error_notfound' );
}
}
$this->HTTPQuery->finalizeParsing($passed, $module_params);*/
}
}
?>
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.7.2/core/units/general/helpers/mod_rewrite_helper.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.7.2.3
\ No newline at end of property
+1.7.2.4
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.25.2/core/units/categories/categories_event_handler.php
===================================================================
--- branches/unlabeled/unlabeled-1.25.2/core/units/categories/categories_event_handler.php (revision 7516)
+++ branches/unlabeled/unlabeled-1.25.2/core/units/categories/categories_event_handler.php (revision 7517)
@@ -1,563 +1,563 @@
<?php
class CategoriesEventHandler extends kDBEventHandler {
/**
* Allows to override standart permission mapping
*
*/
function mapPermissions()
{
parent::mapPermissions();
$permissions = Array(
'OnRebuildCache' => Array('self' => 'add|edit'),
// 'OnSave' => Array('self' => 'add|edit')
);
$this->permMapping = array_merge($this->permMapping, $permissions);
}
/**
* Checks permissions of user
*
* @param kEvent $event
*/
function CheckPermission(&$event)
{
if (!$this->Application->IsAdmin()) {
if ($event->Name == 'OnSetSortingDirect') {
// allow sorting on front event without view permission
return true;
}
}
if ($event->Name == 'OnEdit' || $event->Name == 'OnSave') {
// check each id from selected individually and only if all are allowed proceed next
if ($event->Name == 'OnEdit') {
$selected_ids = implode(',', $this->StoreSelectedIDs($event));
}
else {
$selected_ids = implode(',', $this->getSelectedIDs($event, true));
}
$id_field = $this->Application->getUnitOption($event->Prefix, 'IDField');
if (strlen($selected_ids) > 0) {
$table_name = $this->Application->getUnitOption($event->Prefix, 'TableName');
$sql = 'SELECT '.$id_field.', CreatedById
FROM '.$table_name.' item_table
WHERE '.$id_field.' IN ('.$selected_ids.')';
$items = $this->Conn->Query($sql, $id_field);
}
else {
// when creating new category, then no IDs are stored in session
$parent_cat = $this->Application->RecallVar('m_cat_id');
$items[$parent_cat] = Array (
$id_field => $parent_cat,
'CreatedById' => $this->Application->RecallVar('user_id'),
);
}
$perm_value = true;
$perm_helper =& $this->Application->recallObject('PermissionsHelper');
/* @var $perm_helper kPermissionsHelper */
foreach ($items as $item_id => $item_data) {
if ($perm_helper->ModifyCheckPermission($item_data['CreatedById'], $item_data[$id_field], $event->Prefix) == 0) {
// one of items selected has no permission
$perm_value = false;
break;
}
}
if (!$perm_value) {
$event->status = erPERM_FAIL;
}
return $perm_value;
}
return parent::CheckPermission($event);
}
/**
* Apply system filter to categories list
*
* @param kEvent $event
*/
function SetCustomQuery(&$event)
{
parent::SetCustomQuery($event);
$types=$event->getEventParam('types');
$except_types=$event->getEventParam('except');
$object =& $event->getObject();
$type_clauses = Array();
$object =& $event->getObject();
/* @var $object kDBList */
// hide categories with status = 4 (system categories)
$object->addFilter('system_categories', '%1$s.Status <> 4');
if ( $event->getEventParam('parent_cat_id') ) {
$parent_cat_id = $event->getEventParam('parent_cat_id');
if ($parent_cat_id == 'Root') {
$module_name = $event->getEventParam('module') ? $event->getEventParam('module') : 'In-Commerce';
$module =& $this->Application->recallObject('mod.'.$module_name);
$parent_cat_id = $module->GetDBField('RootCat');
}
}
else {
$parent_cat_id = $this->Application->GetVar('c_id');
if (!$parent_cat_id) {
$parent_cat_id = $this->Application->GetVar('m_cat_id');
}
if (!$parent_cat_id) {
$parent_cat_id = 0;
}
}
if ("$parent_cat_id" != 'any') {
if ($event->getEventParam('recursive')) {
$current_path = $this->Conn->GetOne('SELECT ParentPath FROM '.TABLE_PREFIX.'Category WHERE CategoryId='.$parent_cat_id);
$subcats = $this->Conn->GetCol('SELECT CategoryId FROM '.TABLE_PREFIX.'Category WHERE ParentPath LIKE "'.$current_path.'%" ');
$object->addFilter('parent_filter', 'ParentId IN ('.implode(', ', $subcats).')');
}
else {
$object->addFilter('parent_filter', 'ParentId = '.$parent_cat_id);
}
}
$object->addFilter('perm_filter', 'PermId = 1'); // check for CATEGORY.VIEW permission
if ($this->Application->RecallVar('user_id') != -1) {
// apply permission filters to all users except "root"
$groups = explode(',',$this->Application->RecallVar('UserGroups'));
foreach ($groups as $group) {
$view_filters[] = 'FIND_IN_SET('.$group.', acl)';
}
$view_filter = implode(' OR ', $view_filters);
$object->addFilter('perm_filter2', $view_filter);
}
if (!$this->Application->IsAdmin()) {
// apply status filter only on front
$object->addFilter('status_filter', $object->TableName.'.Status = 1');
}
if(strpos($types, 'category_related') !== false)
{
$object->removeFilter('parent_filter');
$resource_id = $this->Conn->GetOne('
SELECT ResourceId FROM '.$this->Application->getUnitOption($event->Prefix, 'TableName').'
WHERE CategoryId = '.$parent_cat_id
);
$sql = 'SELECT DISTINCT(TargetId) FROM '.TABLE_PREFIX.'Relationship
WHERE SourceId = '.$resource_id.' AND SourceType = 1';
$related_cats = $this->Conn->GetCol($sql);
$related_cats = is_array($related_cats) ? $related_cats : Array();
$sql = 'SELECT DISTINCT(SourceId) FROM '.TABLE_PREFIX.'Relationship
WHERE TargetId = '.$resource_id.' AND TargetType = 1 AND Type = 1';
$related_cats2 = $this->Conn->GetCol($sql);
$related_cats2 = is_array($related_cats2) ? $related_cats2 : Array();
$related_cats = array_unique( array_merge( $related_cats2, $related_cats ) );
if($related_cats)
{
$type_clauses['category_related']['include'] = '%1$s.ResourceId IN ('.implode(',', $related_cats).')';
$type_clauses['category_related']['except'] = '%1$s.ResourceId NOT IN ('.implode(',', $related_cats).')';
}
else
{
$type_clauses['category_related']['include'] = '0';
$type_clauses['category_related']['except'] = '1';
}
$type_clauses['category_related']['having_filter'] = false;
}
if(strpos($types, 'product_related') !== false)
{
$object->removeFilter('parent_filter');
$product_id = $event->getEventParam('product_id') ? $event->getEventParam('product_id') : $this->Application->GetVar('p_id');
$resource_id = $this->Conn->GetOne('
SELECT ResourceId FROM '.$this->Application->getUnitOption('p', 'TableName').'
WHERE ProductId = '.$product_id
);
$sql = 'SELECT DISTINCT(TargetId) FROM '.TABLE_PREFIX.'Relationship
WHERE SourceId = '.$resource_id.' AND TargetType = 1';
$related_cats = $this->Conn->GetCol($sql);
$related_cats = is_array($related_cats) ? $related_cats : Array();
$sql = 'SELECT DISTINCT(SourceId) FROM '.TABLE_PREFIX.'Relationship
WHERE TargetId = '.$resource_id.' AND SourceType = 1 AND Type = 1';
$related_cats2 = $this->Conn->GetCol($sql);
$related_cats2 = is_array($related_cats2) ? $related_cats2 : Array();
$related_cats = array_unique( array_merge( $related_cats2, $related_cats ) );
if($related_cats)
{
$type_clauses['product_related']['include'] = '%1$s.ResourceId IN ('.implode(',', $related_cats).')';
$type_clauses['product_related']['except'] = '%1$s.ResourceId NOT IN ('.implode(',', $related_cats).')';
}
else
{
$type_clauses['product_related']['include'] = '0';
$type_clauses['product_related']['except'] = '1';
}
$type_clauses['product_related']['having_filter'] = false;
}
/********************************************/
$includes_or_filter =& $this->Application->makeClass('kMultipleFilter');
$includes_or_filter->setType(FLT_TYPE_OR);
$excepts_and_filter =& $this->Application->makeClass('kMultipleFilter');
$excepts_and_filter->setType(FLT_TYPE_AND);
$includes_or_filter_h =& $this->Application->makeClass('kMultipleFilter');
$includes_or_filter_h->setType(FLT_TYPE_OR);
$excepts_and_filter_h =& $this->Application->makeClass('kMultipleFilter');
$excepts_and_filter_h->setType(FLT_TYPE_AND);
$except_types_array=explode(',', $types);
if ($types){
$types_array=explode(',', $types);
for ($i=0; $i<sizeof($types_array); $i++){
$type=trim($types_array[$i]);
if (isset($type_clauses[$type])){
if ($type_clauses[$type]['having_filter']){
$includes_or_filter_h->removeFilter('filter_'.$type);
$includes_or_filter_h->addFilter('filter_'.$type, $type_clauses[$type]['include']);
}else{
$includes_or_filter->removeFilter('filter_'.$type);
$includes_or_filter->addFilter('filter_'.$type, $type_clauses[$type]['include']);
}
}
}
}
if ($except_types){
$except_types_array=explode(',', $except_types);
for ($i=0; $i<sizeof($except_types_array); $i++){
$type=trim($except_types_array[$i]);
if (isset($type_clauses[$type])){
if ($type_clauses[$type]['having_filter']){
$excepts_and_filter_h->removeFilter('filter_'.$type);
$excepts_and_filter_h->addFilter('filter_'.$type, $type_clauses[$type]['except']);
}else{
$excepts_and_filter->removeFilter('filter_'.$type);
$excepts_and_filter->addFilter('filter_'.$type, $type_clauses[$type]['except']);
}
}
}
}
$object->addFilter('includes_filter', $includes_or_filter);
$object->addFilter('excepts_filter', $excepts_and_filter);
$object->addFilter('includes_filter_h', $includes_or_filter_h, HAVING_FILTER);
$object->addFilter('excepts_filter_h', $excepts_and_filter_h, HAVING_FILTER);
}
/**
* Enter description here...
*
* @param kEvent $event
* @return int
*/
function GetPassedId(&$event)
{
if ( $this->Application->IsAdmin()) {
return parent::getPassedID($event);
}
return $this->Application->GetVar('m_cat_id');
}
function ParentGetPassedId(&$event)
{
return parent::GetPassedId($event);
}
/**
* Adds calculates fields for item statuses
*
* @param kCatDBItem $object
* @param kEvent $event
*/
function prepareObject(&$object, &$event)
{
$object =& $event->getObject( Array('skip_autoload' => true) );
$object->addCalculatedField(
'IsNew',
' IF(%1$s.NewItem = 2,
IF(%1$s.CreatedOn >= (UNIX_TIMESTAMP() - '.
$this->Application->ConfigValue('Category_DaysNew').
'*3600*24), 1, 0),
%1$s.NewItem
)');
}
/**
* Set correct parent path for newly created categories
*
* @param kEvent $event
*/
function OnAfterCopyToLive(&$event)
{
$parent_path = false;
$object =& $this->Application->recallObject($event->Prefix.'.-item', null, Array('skip_autoload' => true, 'live_table' => true));
$object->Load($event->getEventParam('id'));
if ($event->getEventParam('temp_id') == 0) {
if ($object->isLoaded()) {
// update path only for real categories (not including "Home" root category)
$fields_hash = Array('ParentPath' => $object->buildParentPath());
$this->Conn->doUpdate($fields_hash, $object->TableName, 'CategoryId = '.$object->GetID());
$parent_path = $fields_hash['ParentPath'];
}
}
else {
$parent_path = $object->GetDBField('ParentPath');
}
if ($parent_path) {
$cache_updater =& $this->Application->recallObject('kPermCacheUpdater', null, array('strict_path' => $parent_path));
$cache_updater->OneStepRun();
$cache_updater->StrictPath = false;
}
}
/**
* Set cache modification mark if needed
*
* @param kEvent $event
*/
function OnBeforeDeleteFromLive(&$event)
{
$id = $event->getEventParam('id');
// loding anyway, because this object is needed by "c-perm:OnBeforeDeleteFromLive" event
$temp_object =& $event->getObject( Array('skip_autoload' => true) );
$temp_object->Load($id);
if ($id == 0) {
if ($temp_object->isLoaded()) {
// new category -> update chache (not loaded when "Home" category)
$this->Application->StoreVar('PermCache_UpdateRequired', 1);
}
return ;
}
// existing category was edited, check if in-cache fields are modified
$live_object =& $this->Application->recallObject($event->Prefix.'.-item', null, Array('live_table' => true, 'skip_autoload' => true));
$live_object->Load($id);
$cached_fields = Array('Name', 'Filename', 'CategoryTemplate', 'ParentId');
foreach ($cached_fields as $cached_field) {
if ($live_object->GetDBField($cached_field) != $temp_object->GetDBField($cached_field)) {
// use session instead of REQUEST because of permission editing in category can contain
// multiple submits, that changes data before OnSave event occurs
$this->Application->StoreVar('PermCache_UpdateRequired', 1);
break;
}
}
}
/**
* Calls kDBEventHandler::OnSave original event
* Used in proj-cms:StructureEventHandler->OnSave
*
* @param kEvent $event
*/
function parentOnSave(&$event)
{
parent::OnSave($event);
}
/**
* Checks cache update mark and redirect to cache if needed
*
* @param kEvent $event
*/
function OnSave(&$event)
{
$object =& $event->getObject();
if ($object->IsRoot()) {
$event->setEventParam('master_ids', Array(0));
}
parent::OnSave($event);
if ($event->status == erSUCCESS && $this->Application->RecallVar('PermCache_UpdateRequired')) {
// "catalog" should be in opener stack by now
$wid = $this->Application->GetVar('m_wid');
$stack_name = rtrim('opener_stack_'.$wid, '_');
$opener_stack = unserialize($this->Application->RecallVar($stack_name));
$opener_stack[0] = str_replace('catalog', 'categories/cache_updater', $opener_stack[0]);
$this->Application->StoreVar($stack_name, serialize($opener_stack));
$this->Application->RemoveVar('PermCache_UpdateRequired');
}
}
/**
* Deletes all selected items.
* Automatically recurse into sub-items using temp handler, and deletes sub-items
* by calling its Delete method if sub-item has AutoDelete set to true in its config file
*
* @param kEvent $event
*/
function OnMassDelete(&$event)
{
if ($this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) {
return;
}
// $event->status = erSUCCESS;
$ids = $this->StoreSelectedIDs($event);
if ($ids) {
$recursive_helper =& $this->Application->recallObject('RecursiveHelper');
/* @var $recursive_helper kRecursiveHelper */
foreach ($ids as $id) {
$recursive_helper->DeleteCategory($id, $event->Prefix);
}
}
$this->clearSelectedIDs($event);
}
/**
* Add selected items to clipboard with mode = COPY (CLONE)
*
* @param kEvent $event
*/
function OnCopy(&$event)
{
$this->Application->RemoveVar('clipboard');
$clipboard_helper =& $this->Application->recallObject('ClipboardHelper');
$clipboard_helper->setClipboard($event, 'copy', $this->StoreSelectedIDs($event));
$this->clearSelectedIDs($event);
}
/**
* Add selected items to clipboard with mode = CUT
*
* @param kEvent $event
*/
function OnCut(&$event)
{
$this->Application->RemoveVar('clipboard');
$clipboard_helper =& $this->Application->recallObject('ClipboardHelper');
$clipboard_helper->setClipboard($event, 'cut', $this->StoreSelectedIDs($event));
$this->clearSelectedIDs($event);
}
/**
* Controls all item paste operations. Can occur only with filled clipbord.
*
* @param kEvent $event
*/
function OnPasteClipboard(&$event)
{
$clipboard = unserialize( $this->Application->RecallVar('clipboard') );
foreach ($clipboard as $prefix => $clipboard_data) {
$paste_event = new kEvent($prefix.':OnPaste', Array('clipboard_data' => $clipboard_data));
$this->Application->HandleEvent($paste_event);
$event->redirect = $paste_event->redirect;
$event->redirect_params = $paste_event->redirect_params;
$event->status = $paste_event->status;
}
}
/**
* Paste categories with subitems from clipboard
*
* @param kEvent $event
*/
function OnPaste(&$event)
{
if ($this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) {
return;
}
$clipboard_data = $event->getEventParam('clipboard_data');
if (!$clipboard_data['cut'] && !$clipboard_data['copy']) {
return false;
}
$recursive_helper =& $this->Application->recallObject('RecursiveHelper');
/* @var $recursive_helper kRecursiveHelper */
if ($clipboard_data['cut']) {
$recursive_helper->MoveCategories($clipboard_data['cut'], $this->Application->GetVar('m_cat_id'));
}
if ($clipboard_data['copy']) {
foreach ($clipboard_data['copy'] as $id) {
$recursive_helper->PasteCategory($id, $event->Prefix);
}
}
if ($clipboard_data['cut'] || $clipboard_data['copy']) {
- $event->redirect = 'categories/cache_updater';
+ $event->redirect = 'in-portal/categories/cache_updater';
}
}
/**
* Occurs when pasting category
*
* @param kEvent $event
*/
/*function OnCatPaste(&$event)
{
$inp_clipboard = $this->Application->RecallVar('ClipBoard');
$inp_clipboard = explode('-', $inp_clipboard, 2);
if($inp_clipboard[0] == 'COPY')
{
$saved_cat_id = $this->Application->GetVar('m_cat_id');
$cat_ids = $event->getEventParam('cat_ids');
$id_field = $this->Application->getUnitOption($event->Prefix, 'IDField');
$table = $this->Application->getUnitOption($event->Prefix, 'TableName');
$ids_sql = 'SELECT '.$id_field.' FROM '.$table.' WHERE ResourceId IN (%s)';
$resource_ids_sql = 'SELECT ItemResourceId FROM '.TABLE_PREFIX.'CategoryItems WHERE CategoryId = %s AND PrimaryCat = 1';
$object =& $this->Application->recallObject($event->Prefix.'.item', $event->Prefix, Array('skip_autoload' => true));
foreach($cat_ids as $source_cat => $dest_cat)
{
$item_resource_ids = $this->Conn->GetCol( sprintf($resource_ids_sql, $source_cat) );
if(!$item_resource_ids) continue;
$this->Application->SetVar('m_cat_id', $dest_cat);
$item_ids = $this->Conn->GetCol( sprintf($ids_sql, implode(',', $item_resource_ids) ) );
$temp =& $this->Application->recallObject($event->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler');
if($item_ids) $temp->CloneItems($event->Prefix, $event->Special, $item_ids);
}
$this->Application->SetVar('m_cat_id', $saved_cat_id);
}
}*/
/**
* Cleares clipboard content
*
* @param kEvent $event
*/
function OnClearClipboard(&$event)
{
$this->Application->RemoveVar('clipboard');
}
}
?>
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.25.2/core/units/categories/categories_event_handler.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.25.2.15
\ No newline at end of property
+1.25.2.16
\ No newline at end of property

Event Timeline