Просмотр исходного кода

Ticket #715 - Integration with Market module.

AntonLV 9 лет назад
Родитель
Сommit
2e0cc49760

+ 1 - 6
inc/classes/BxDolSearchExtendedQuery.php

@@ -9,11 +9,6 @@
 
 class BxDolSearchExtendedQuery extends BxDolDb
 {
-    protected static $TYPES_SET = array (
-        'select_multiple' => 1,
-        'checkbox_set' => 1,
-    );
-
     public function __construct($aObject = array())
     {
         parent::__construct();
@@ -70,7 +65,7 @@ class BxDolSearchExtendedQuery extends BxDolDb
                 if(strncmp(BX_DATA_LISTS_KEY_PREFIX, $aField['values'], 2) === 0) {
                     $sList = trim($aField['values'], BX_DATA_LISTS_KEY_PREFIX . ' ');
                     $aFields[$iIndex] = array_merge($aField, array(
-                    	'values' => BxDolFormQuery::getDataItems($sList, isset(self::$TYPES_SET[$aField['search_type']])),
+                    	'values' => BxDolFormQuery::getDataItems($sList),
                     	'values_list_name' => $sList,
                     ));
                 }

+ 1 - 0
modules/boonex/market/classes/BxMarketConfig.php

@@ -156,6 +156,7 @@ class BxMarketConfig extends BxBaseModTextConfig
             	'txt_sample_single_with_article' => '_bx_market_txt_sample_single_with_article',
             	'txt_sample_comment_single' => '_bx_market_txt_sample_comment_single',
             	'txt_sample_vote_single' => '_bx_market_txt_sample_vote_single',
+            	'form_field_author' => '_bx_market_form_entry_input_author',
             	'grid_action_err_delete' => '_bx_market_grid_action_err_delete',
             	'grid_txt_account_manager' => '_bx_market_grid_txt_account_manager',
 				'filter_item_active' => '_bx_market_grid_filter_item_title_adm_active',

+ 12 - 0
modules/boonex/market/classes/BxMarketModule.php

@@ -23,6 +23,18 @@ class BxMarketModule extends BxBaseModTextModule
     function __construct(&$aModule)
     {
         parent::__construct($aModule);
+
+        $CNF = &$this->_oConfig->CNF;
+        $this->_aSearchableNamesExcept = array_merge($this->_aSearchableNamesExcept, array(
+             $CNF['FIELD_NAME'],
+             $CNF['FIELD_PRICE_SINGLE'],
+             $CNF['FIELD_PRICE_RECURRING'],
+             $CNF['FIELD_DURATION_RECURRING'],
+             $CNF['FIELD_TRIAL_RECURRING'],
+             $CNF['FIELD_ALLOW_PURCHASE_TO'],
+             $CNF['FIELD_ALLOW_COMMENT_TO'],
+             $CNF['FIELD_ALLOW_VOTE_TO']
+        ));
     }
 
     public function actionCheckName()

+ 14 - 2
modules/boonex/market/install/langs/en.xml

@@ -11,7 +11,7 @@
 	<string name="_bx_market_option_per_page_browse"><![CDATA[Number of items per page]]></string>
 	<string name="_bx_market_option_per_page_profile"><![CDATA[Number of items per page on Profile View page]]></string>
 	<string name="_bx_market_option_rss_num"><![CDATA[Number of items in RSS feed]]></string>
-	<string name="_bx_market_option_searchable_fields"><![CDATA[Searchable fields]]></string>
+	<string name="_bx_market_option_searchable_fields"><![CDATA[Searchable fields for keyword search]]></string>
 
 	<string name="_bx_market_form_entry"><![CDATA[Market]]></string>
 	<string name="_bx_market_form_entry_display_add"><![CDATA[Add Product]]></string>
@@ -19,6 +19,7 @@
 	<string name="_bx_market_form_entry_display_delete"><![CDATA[Delete Product]]></string>
 	<string name="_bx_market_form_entry_display_view"><![CDATA[View Product]]></string>
 	<string name="_bx_market_form_entry_display_view_full"><![CDATA[Full View Product]]></string>
+	<string name="_bx_market_form_entry_input_author"><![CDATA[Author]]></string>
 	<string name="_bx_market_form_entry_input_sys_do_submit"><![CDATA[Submit]]></string>
 	<string name="_bx_market_form_entry_input_do_submit"><![CDATA[Submit]]></string>
 	<string name="_bx_market_form_entry_input_sys_do_publish"><![CDATA[Publish]]></string>
@@ -185,6 +186,12 @@
     <string name="_bx_market_page_block_title_licenses_note"><![CDATA[Note]]></string>
     <string name="_bx_market_page_block_content_licenses_note"><![CDATA[The licenses are for reference only. There is no need to "register" them, as you can simply download and install licensed UNA apps directly from your site Studio Apps store.]]></string>
     <string name="_bx_market_page_block_title_view_profile"><![CDATA[My Products]]></string>
+    <string name="_bx_market_page_title_sys_entries_search"><![CDATA[Search]]></string>
+    <string name="_bx_market_page_title_entries_search"><![CDATA[Search]]></string>
+    <string name="_bx_market_page_block_title_search_form"><![CDATA[Search Form]]></string>
+    <string name="_bx_market_page_block_title_search_results"><![CDATA[Search Results]]></string>
+    <string name="_bx_market_page_block_title_search_form_cmts"><![CDATA[Comments Search Form]]></string>
+    <string name="_bx_market_page_block_title_search_results_cmts"><![CDATA[Comments Search Results]]></string>
 
     <string name="_bx_market_menu_set_title_view_entry"><![CDATA[Product Actions]]></string>
     <string name="_bx_market_menu_title_view_entry"><![CDATA[Product Actions]]></string>    
@@ -209,6 +216,8 @@
     <string name="_bx_market_menu_item_title_entries_categories"><![CDATA[Categories]]></string>
     <string name="_bx_market_menu_item_title_system_entries_public"><![CDATA[Storefront]]></string>
     <string name="_bx_market_menu_item_title_entries_public"><![CDATA[Storefront]]></string>
+    <string name="_bx_market_menu_item_title_system_entries_search"><![CDATA[Search]]></string>
+    <string name="_bx_market_menu_item_title_entries_search"><![CDATA[Search]]></string>
     <string name="_bx_market_menu_item_title_system_entries_manage"><![CDATA[Manage Products]]></string>
     <string name="_bx_market_menu_item_title_entries_manage"><![CDATA[Manage]]></string>
     <string name="_bx_market_menu_item_title_system_entries_popular"><![CDATA[Popular Products]]></string>
@@ -269,7 +278,10 @@
 
     <string name="_bx_market_chart_growth"><![CDATA[Market: Growth]]></string>
     <string name="_bx_market_chart_growth_speed"><![CDATA[Market: Growth Speed]]></string>
-    
+
+    <string name="_bx_market_search_extended"><![CDATA[Market Search]]></string>
+    <string name="_bx_market_search_extended_cmts"><![CDATA[Market Comments Search]]></string>
+
     <string name="_bx_market_pre_lists_cats"><![CDATA[Product categories]]></string>
     <string name="_bx_market_cat_administration"><![CDATA[Administration]]></string>
     <string name="_bx_market_cat_adult"><![CDATA[Adult]]></string>

+ 4 - 1
modules/boonex/market/install/sql/disable.sql

@@ -8,7 +8,7 @@ DELETE FROM `sys_options_types` WHERE `id` = @iTypeId;
 
 -- PAGES
 DELETE FROM `sys_objects_page` WHERE `module` = 'bx_market';
-DELETE FROM `sys_pages_blocks` WHERE `module` = 'bx_market' OR `object` IN('bx_market_create_entry', 'bx_market_edit_entry', 'bx_market_delete_entry', 'bx_market_download_entry', 'bx_market_view_entry', 'bx_market_view_entry_comments', 'bx_market_home', 'bx_market_categories', 'bx_market_popular', 'bx_market_updated', 'bx_market_author');
+DELETE FROM `sys_pages_blocks` WHERE `module` = 'bx_market' OR `object` IN('bx_market_create_entry', 'bx_market_edit_entry', 'bx_market_delete_entry', 'bx_market_download_entry', 'bx_market_view_entry', 'bx_market_view_entry_comments', 'bx_market_home', 'bx_market_categories', 'bx_market_popular', 'bx_market_updated', 'bx_market_author', 'bx_market_search', 'bx_market_manage');
 
 -- MENU
 DELETE FROM `sys_objects_menu` WHERE `module` = 'bx_market';
@@ -25,6 +25,9 @@ DELETE FROM `sys_acl_actions` WHERE `Module` = 'bx_market';
 -- SEARCH
 DELETE FROM `sys_objects_search` WHERE `ObjectName` IN ('bx_market', 'bx_market_cmts');
 
+-- SEARCH EXTENDED
+DELETE FROM `sys_objects_search_extended` WHERE `module` = 'bx_market';
+
 -- CONNECTIONS
 DELETE FROM `sys_objects_connection` WHERE `object` = 'bx_market_subentries';
 

+ 17 - 1
modules/boonex/market/install/sql/enable.sql

@@ -141,6 +141,16 @@ INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title_system`, `t
 ('bx_market_home', 2, 'bx_market', '', '_bx_market_page_block_title_recent_entries_view_extended', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:9:"bx_market";s:6:"method";s:13:"browse_public";s:6:"params";a:1:{i:0;s:7:"gallery";}}', 0, 1, 1, 1),
 ('bx_market_home', 2, 'bx_market', '', '_bx_market_page_block_title_popular_entries', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:9:"bx_market";s:6:"method";s:14:"browse_popular";s:6:"params";a:1:{i:0;s:7:"gallery";}}', 0, 1, 1, 2);
 
+-- PAGE: search for entries
+INSERT INTO `sys_objects_page`(`object`, `title_system`, `title`, `module`, `layout_id`, `visible_for_levels`, `visible_for_levels_editable`, `uri`, `url`, `meta_description`, `meta_keywords`, `meta_robots`, `cache_lifetime`, `cache_editable`, `deletable`, `override_class_name`, `override_class_file`) VALUES 
+('bx_market_search', '_bx_market_page_title_sys_entries_search', '_bx_market_page_title_entries_search', 'bx_market', 5, 2147483647, 1, 'products-search', 'page.php?i=products-search', '', '', '', 0, 1, 0, 'BxMarketPageBrowse', 'modules/boonex/market/classes/BxMarketPageBrowse.php');
+
+INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title`, `designbox_id`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `active`, `order`) VALUES 
+('bx_market_search', 1, 'bx_market', '_bx_market_page_block_title_search_form', 11, 2147483647, 'service', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:8:"get_form";s:6:"params";a:1:{i:0;a:1:{s:6:"object";s:9:"bx_market";}}s:5:"class";s:27:"TemplSearchExtendedServices";}', 0, 1, 1, 1),
+('bx_market_search', 1, 'bx_market', '_bx_market_page_block_title_search_results', 11, 2147483647, 'service', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:11:"get_results";s:6:"params";a:1:{i:0;a:2:{s:6:"object";s:9:"bx_market";s:10:"show_empty";b:1;}}s:5:"class";s:27:"TemplSearchExtendedServices";}', 0, 1, 1, 2),
+('bx_market_search', 1, 'bx_market', '_bx_market_page_block_title_search_form_cmts', 11, 2147483647, 'service', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:8:"get_form";s:6:"params";a:1:{i:0;a:1:{s:6:"object";s:14:"bx_market_cmts";}}s:5:"class";s:27:"TemplSearchExtendedServices";}', 0, 1, 0, 3),
+('bx_market_search', 1, 'bx_market', '_bx_market_page_block_title_search_results_cmts', 11, 2147483647, 'service', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:11:"get_results";s:6:"params";a:1:{i:0;a:2:{s:6:"object";s:14:"bx_market_cmts";s:10:"show_empty";b:1;}}s:5:"class";s:27:"TemplSearchExtendedServices";}', 0, 1, 0, 4);
+
 -- PAGE: module manage own
 INSERT INTO `sys_objects_page`(`object`, `title_system`, `title`, `module`, `layout_id`, `visible_for_levels`, `visible_for_levels_editable`, `uri`, `url`, `meta_description`, `meta_keywords`, `meta_robots`, `cache_lifetime`, `cache_editable`, `deletable`, `override_class_name`, `override_class_file`) VALUES 
 ('bx_market_manage', '_bx_market_page_title_sys_manage', '_bx_market_page_title_manage', 'bx_market', 5, 2147483647, 1, 'products-manage', 'page.php?i=products-manage', '', '', '', 0, 1, 0, 'BxMarketPageBrowse', 'modules/boonex/market/classes/BxMarketPageBrowse.php');
@@ -239,7 +249,8 @@ INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `titl
 ('bx_market_submenu', 'bx_market', 'products-home', '_bx_market_menu_item_title_system_entries_public', '_bx_market_menu_item_title_entries_public', 'page.php?i=products-home', '', '', '', '', 2147483647, 1, 1, 1),
 ('bx_market_submenu', 'bx_market', 'products-categories', '_bx_market_menu_item_title_system_entries_categories', '_bx_market_menu_item_title_entries_categories', 'page.php?i=products-categories', '', '', '', '', 2147483647, 1, 1, 2),
 ('bx_market_submenu', 'bx_market', 'products-popular', '_bx_market_menu_item_title_system_entries_popular', '_bx_market_menu_item_title_entries_popular', 'page.php?i=products-popular', '', '', '', '', 2147483647, 1, 1, 3),
-('bx_market_submenu', 'bx_market', 'products-manage', '_bx_market_menu_item_title_system_entries_manage', '_bx_market_menu_item_title_entries_manage', 'page.php?i=products-manage', '', '', '', '', 2147483646, 1, 1, 4);
+('bx_market_submenu', 'bx_market', 'products-search', '_bx_market_menu_item_title_system_entries_search', '_bx_market_menu_item_title_entries_search', 'page.php?i=products-search', '', '', '', '', 2147483647, 1, 1, 4),
+('bx_market_submenu', 'bx_market', 'products-manage', '_bx_market_menu_item_title_system_entries_manage', '_bx_market_menu_item_title_entries_manage', 'page.php?i=products-manage', '', '', '', '', 2147483646, 1, 1, 5);
 
 -- MENU: sub-menu for view entry
 INSERT INTO `sys_objects_menu`(`object`, `title`, `set_name`, `module`, `template_id`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES 
@@ -394,6 +405,11 @@ INSERT INTO `sys_objects_search` (`ObjectName`, `Title`, `Order`, `ClassName`, `
 ('bx_market', '_bx_market', @iSearchOrder + 1, 'BxMarketSearchResult', 'modules/boonex/market/classes/BxMarketSearchResult.php'),
 ('bx_market_cmts', '_bx_market_cmts', @iSearchOrder + 2, 'BxMarketCmtsSearchResult', 'modules/boonex/market/classes/BxMarketCmtsSearchResult.php');
 
+-- SEARCH EXTENDED
+INSERT INTO `sys_objects_search_extended` (`object`, `object_content_info`, `module`, `title`, `active`, `class_name`, `class_file`) VALUES
+('bx_market', 'bx_market', 'bx_market', '_bx_market_search_extended', 1, '', ''),
+('bx_market_cmts', 'bx_market_cmts', 'bx_market', '_bx_market_search_extended_cmts', 1, 'BxTemplSearchExtendedCmts', '');
+
 -- CONNECTIONS
 INSERT INTO `sys_objects_connection` (`object`, `table`, `type`, `override_class_name`, `override_class_file`) VALUES
 ('bx_market_subentries', 'bx_market_subproducts', 'one-way', '', '');

+ 13 - 1
modules/boonex/russian/data/langs/bx_market/ru.xml

@@ -11,7 +11,7 @@
 	<string name="_bx_market_option_per_page_browse"><![CDATA[Количество элементов на странице]]></string>
 	<string name="_bx_market_option_per_page_profile"><![CDATA[Количество элементов на странице при просмотре Профиля]]></string>
 	<string name="_bx_market_option_rss_num"><![CDATA[Количество элементов в ленте RSS]]></string>
-	<string name="_bx_market_option_searchable_fields"><![CDATA[Поля для поиска]]></string>
+	<string name="_bx_market_option_searchable_fields"><![CDATA[Поля для поиска по ключевому слову]]></string>
 
 	<string name="_bx_market_form_entry"><![CDATA[Рынок]]></string>
 	<string name="_bx_market_form_entry_display_add"><![CDATA[Добавление продукта]]></string>
@@ -19,6 +19,7 @@
 	<string name="_bx_market_form_entry_display_delete"><![CDATA[Удаление продукта]]></string>
 	<string name="_bx_market_form_entry_display_view"><![CDATA[Просмотр продукта]]></string>
 	<string name="_bx_market_form_entry_display_view_full"><![CDATA[Полный просмотр продукта]]></string>
+	<string name="_bx_market_form_entry_input_author"><![CDATA[Автор]]></string>
 	<string name="_bx_market_form_entry_input_sys_do_submit"><![CDATA[Выполнить]]></string>
 	<string name="_bx_market_form_entry_input_do_submit"><![CDATA[Выполнить]]></string>
 	<string name="_bx_market_form_entry_input_sys_do_publish"><![CDATA[Опубликовать]]></string>
@@ -185,6 +186,12 @@
     <string name="_bx_market_page_block_title_licenses_note"><![CDATA[Внимание]]></string>
     <string name="_bx_market_page_block_content_licenses_note"><![CDATA[Лицензии приведены только для справки. Нет необходимочти "регистрировыть" их, так как Вы просто можете скачать и установить лицензионные UNA приложения напрямую в Магазине приложений в Студии вашего сайта.]]></string>
     <string name="_bx_market_page_block_title_view_profile"><![CDATA[Мои Продукты]]></string>
+    <string name="_bx_market_page_title_sys_entries_search"><![CDATA[Поиск]]></string>
+    <string name="_bx_market_page_title_entries_search"><![CDATA[Поиск]]></string>
+    <string name="_bx_market_page_block_title_search_form"><![CDATA[Форма поиска]]></string>
+    <string name="_bx_market_page_block_title_search_results"><![CDATA[Результаты поиска]]></string>
+    <string name="_bx_market_page_block_title_search_form_cmts"><![CDATA[Форма поиска комментариев]]></string>
+    <string name="_bx_market_page_block_title_search_results_cmts"><![CDATA[Результаты поиска комментариев]]></string>
 
     <string name="_bx_market_menu_set_title_view_entry"><![CDATA[Действия с продуктом]]></string>
     <string name="_bx_market_menu_title_view_entry"><![CDATA[Действия с продуктом]]></string>
@@ -241,6 +248,8 @@
     <string name="_bx_market_menu_set_title_snippet"><![CDATA[Действия с отрывоком]]></string>
     <string name="_bx_market_menu_item_title_system_snippet_more"><![CDATA[Ещё действия]]></string>
     <string name="_bx_market_menu_item_title_snippet_more"><![CDATA[Ещё действия]]></string>
+    <string name="_bx_market_menu_item_title_system_entries_search"><![CDATA[Поиск]]></string>
+    <string name="_bx_market_menu_item_title_entries_search"><![CDATA[Поиск]]></string>
 
 	<string name="_bx_market_grid_filter_item_title_adm_select_one_filter1"><![CDATA[Все статусы]]></string>
 	<string name="_bx_market_grid_filter_item_title_adm_active"><![CDATA[Активные]]></string>
@@ -270,6 +279,9 @@
     <string name="_bx_market_chart_growth"><![CDATA[Рынок: Развитие]]></string>
     <string name="_bx_market_chart_growth_speed"><![CDATA[Рынок: Скорость развития]]></string>
 
+    <string name="_bx_market_search_extended"><![CDATA[Поиск продуктов]]></string>
+    <string name="_bx_market_search_extended_cmts"><![CDATA[Поиск комментариев к продуктам]]></string>
+
     <string name="_bx_market_pre_lists_cats"><![CDATA[Категории продуктов]]></string>
     <string name="_bx_market_cat_administration"><![CDATA[Администрирование]]></string>
     <string name="_bx_market_cat_adult"><![CDATA[Для взрослых]]></string>