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

Ticket #715 - Integration with Polls module.

AntonLV 9 лет назад
Родитель
Сommit
87ca2ec0c7

+ 1 - 0
modules/boonex/polls/classes/BxPollsConfig.php

@@ -115,6 +115,7 @@ class BxPollsConfig extends BxBaseModTextConfig
             	'txt_sample_single_with_article' => '_bx_polls_txt_sample_single_with_article',
             	'txt_sample_comment_single' => '_bx_polls_txt_sample_comment_single',
             	'txt_sample_vote_single' => '_bx_polls_txt_sample_vote_single',
+            	'form_field_author' => '_bx_polls_form_entry_input_author',
             	'grid_action_err_delete' => '_bx_polls_grid_action_err_delete',
             	'grid_txt_account_manager' => '_bx_polls_grid_txt_account_manager',
 				'filter_item_active' => '_bx_polls_grid_filter_item_title_adm_active',

+ 13 - 0
modules/boonex/polls/classes/BxPollsModule.php

@@ -17,6 +17,12 @@ class BxPollsModule extends BxBaseModTextModule
     function __construct(&$aModule)
     {
         parent::__construct($aModule);
+
+        $CNF = &$this->_oConfig->CNF;
+        $this->_aSearchableNamesExcept = array_merge($this->_aSearchableNamesExcept, array(
+             $CNF['FIELD_ANONYMOUS'],
+             $CNF['FIELD_HIDDEN_RESULTS']
+        ));
     }
 
     /**
@@ -44,6 +50,13 @@ class BxPollsModule extends BxBaseModTextModule
     /**
      * SERVICE METHODS
      */
+    public function serviceGetResultsSearchExtended($aParams)
+    {
+        $this->_oTemplate->addJs(array('entry.js'));
+        $this->_oTemplate->addCss(array('entry.css'));
+        return $this->_oTemplate->getJsCode('entry') . BxDolService::call('system', 'get_results', array($aParams), 'TemplSearchExtendedServices');
+    }
+
     public function serviceGetBlockSubentries($iContentId = 0)
     {
         if (!$iContentId)

+ 13 - 1
modules/boonex/polls/install/langs/en.xml

@@ -7,13 +7,14 @@
 	<string name="_bx_polls_option_title_chars"><![CDATA[Number of characters in auto-cropped poll title]]></string>
 	<string name="_bx_polls_option_per_page_browse"><![CDATA[Number of items per page]]></string>
 	<string name="_bx_polls_option_rss_num"><![CDATA[Number of items in RSS feed]]></string>
-	<string name="_bx_polls_option_searchable_fields"><![CDATA[Searchable fields]]></string>
+	<string name="_bx_polls_option_searchable_fields"><![CDATA[Searchable fields for keyword search]]></string>
 
 	<string name="_bx_polls_form_entry"><![CDATA[Polls]]></string>
 	<string name="_bx_polls_form_entry_display_add"><![CDATA[Add Poll]]></string>
 	<string name="_bx_polls_form_entry_display_edit"><![CDATA[Edit Poll]]></string>
 	<string name="_bx_polls_form_entry_display_delete"><![CDATA[Delete Poll]]></string>
 	<string name="_bx_polls_form_entry_display_view"><![CDATA[View Poll]]></string>
+	<string name="_bx_polls_form_entry_input_author"><![CDATA[Author]]></string>
 	<string name="_bx_polls_form_entry_input_sys_do_submit"><![CDATA[Submit]]></string>
 	<string name="_bx_polls_form_entry_input_do_submit"><![CDATA[Submit]]></string>
 	<string name="_bx_polls_form_entry_input_sys_do_publish"><![CDATA[Publish]]></string>
@@ -114,6 +115,12 @@
 	<string name="_bx_polls_page_block_title_cats"><![CDATA[Polls Categories]]></string>
 	<string name="_bx_polls_page_block_title_entry_info"><![CDATA[Info]]></string>
 	<string name="_bx_polls_page_block_title_my_entries"><![CDATA[My Polls]]></string>
+	<string name="_bx_polls_page_title_sys_entries_search"><![CDATA[Search]]></string>
+    <string name="_bx_polls_page_title_entries_search"><![CDATA[Search]]></string>
+    <string name="_bx_polls_page_block_title_search_form"><![CDATA[Search Form]]></string>
+    <string name="_bx_polls_page_block_title_search_results"><![CDATA[Search Results]]></string>
+    <string name="_bx_polls_page_block_title_search_form_cmts"><![CDATA[Comments Search Form]]></string>
+    <string name="_bx_polls_page_block_title_search_results_cmts"><![CDATA[Comments Search Results]]></string>
 
     <string name="_bx_polls_menu_set_title_view_entry"><![CDATA[Poll Actions]]></string>
     <string name="_bx_polls_menu_title_view_entry"><![CDATA[Poll Actions]]></string>
@@ -130,6 +137,8 @@
     <string name="_bx_polls_menu_item_title_entries_home"><![CDATA[Polls]]></string>
     <string name="_bx_polls_menu_item_title_system_entries_public"><![CDATA[Latest]]></string>
     <string name="_bx_polls_menu_item_title_entries_public"><![CDATA[Latest]]></string>
+    <string name="_bx_polls_menu_item_title_system_entries_search"><![CDATA[Search]]></string>
+    <string name="_bx_polls_menu_item_title_entries_search"><![CDATA[Search]]></string>
     <string name="_bx_polls_menu_item_title_system_entries_manage"><![CDATA[Manage]]></string>
     <string name="_bx_polls_menu_item_title_entries_manage"><![CDATA[Manage]]></string>
     <string name="_bx_polls_menu_item_title_system_entries_popular"><![CDATA[Popular]]></string>
@@ -173,6 +182,9 @@
     <string name="_bx_polls_chart_growth"><![CDATA[Polls: Growth]]></string>
     <string name="_bx_polls_chart_growth_speed"><![CDATA[Polls: Growth Speed]]></string>
 
+    <string name="_bx_polls_search_extended"><![CDATA[Polls Search]]></string>
+    <string name="_bx_polls_search_extended_cmts"><![CDATA[Polls Comments Search]]></string>
+
     <string name="_bx_polls_pre_lists_cats"><![CDATA[Poll categories]]></string>
     <string name="_bx_polls_cat_beauty_and_style"><![CDATA[Beauty & Style]]></string>
     <string name="_bx_polls_cat_business_and_money"><![CDATA[Business & Money]]></string>

+ 4 - 1
modules/boonex/polls/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_polls';
-DELETE FROM `sys_pages_blocks` WHERE `module` = 'bx_polls' OR `object` IN('bx_polls_create_entry', 'bx_polls_edit_entry', 'bx_polls_delete_entry', 'bx_polls_view_entry', 'bx_polls_view_entry_comments', 'bx_polls_home', 'bx_polls_popular', 'bx_polls_updated', 'bx_polls_author');
+DELETE FROM `sys_pages_blocks` WHERE `module` = 'bx_polls' OR `object` IN('bx_polls_create_entry', 'bx_polls_edit_entry', 'bx_polls_delete_entry', 'bx_polls_view_entry', 'bx_polls_view_entry_comments', 'bx_polls_home', 'bx_polls_popular', 'bx_polls_updated', 'bx_polls_author', 'bx_polls_search', 'bx_polls_manage');
 
 -- MENU
 DELETE FROM `sys_objects_menu` WHERE `module` = 'bx_polls';
@@ -25,6 +25,9 @@ DELETE FROM `sys_acl_actions` WHERE `Module` = 'bx_polls';
 -- SEARCH
 DELETE FROM `sys_objects_search` WHERE `ObjectName` IN ('bx_polls', 'bx_polls_cmts');
 
+-- SEARCH EXTENDED
+DELETE FROM `sys_objects_search_extended` WHERE `module` = 'bx_polls';
+
 -- METATAGS
 DELETE FROM `sys_objects_metatags` WHERE `object` = 'bx_polls';
 

+ 16 - 1
modules/boonex/polls/install/sql/enable.sql

@@ -103,6 +103,15 @@ INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title_system`, `t
 ('bx_polls_home', 2, 'bx_polls', '', '_bx_polls_page_block_title_popular_keywords', 11, 2147483647, 'service', 'a:4:{s:6:\"module\";s:6:\"system\";s:6:\"method\";s:14:\"keywords_cloud\";s:6:\"params\";a:2:{i:0;s:8:\"bx_polls\";i:1;s:8:\"bx_polls\";}s:5:\"class\";s:20:\"TemplServiceMetatags\";}', 0, 1, 1, 0),
 ('bx_polls_home', 2, 'bx_polls', '', '_bx_polls_page_block_title_cats', 11, 2147483647, 'service', 'a:4:{s:6:\"module\";s:6:\"system\";s:6:\"method\";s:15:\"categories_list\";s:6:\"params\";a:2:{i:0;s:13:\"bx_polls_cats\";i:1;a:1:{s:10:\"show_empty\";b:1;}}s:5:\"class\";s:20:\"TemplServiceCategory\";}', 0, 1, 1, 1);
 
+-- 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_polls_search', '_bx_polls_page_title_sys_entries_search', '_bx_polls_page_title_entries_search', 'bx_polls', 5, 2147483647, 1, 'polls-search', 'page.php?i=polls-search', '', '', '', 0, 1, 0, 'BxPollsPageBrowse', 'modules/boonex/polls/classes/BxPollsPageBrowse.php');
+
+INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title`, `designbox_id`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `active`, `order`) VALUES 
+('bx_polls_search', 1, 'bx_polls', '_bx_polls_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:8:"bx_polls";}}s:5:"class";s:27:"TemplSearchExtendedServices";}', 0, 1, 1, 1),
+('bx_polls_search', 1, 'bx_polls', '_bx_polls_page_block_title_search_results', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:8:"bx_polls";s:6:"method";s:27:"get_results_search_extended";s:6:"params";a:1:{i:0;a:2:{s:6:"object";s:8:"bx_polls";s:10:"show_empty";b:1;}}}', 0, 1, 1, 2),
+('bx_polls_search', 1, 'bx_polls', '_bx_polls_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:13:"bx_polls_cmts";}}s:5:"class";s:27:"TemplSearchExtendedServices";}', 0, 1, 0, 3),
+('bx_polls_search', 1, 'bx_polls', '_bx_polls_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:13:"bx_polls_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 
@@ -185,7 +194,8 @@ INSERT INTO `sys_menu_sets`(`set_name`, `module`, `title`, `deletable`) VALUES
 INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `order`) VALUES 
 ('bx_polls_submenu', 'bx_polls', 'polls-home', '_bx_polls_menu_item_title_system_entries_public', '_bx_polls_menu_item_title_entries_public', 'page.php?i=polls-home', '', '', '', '', 2147483647, 1, 1, 1),
 ('bx_polls_submenu', 'bx_polls', 'polls-popular', '_bx_polls_menu_item_title_system_entries_popular', '_bx_polls_menu_item_title_entries_popular', 'page.php?i=polls-popular', '', '', '', '', 2147483647, 1, 1, 2),
-('bx_polls_submenu', 'bx_polls', 'polls-manage', '_bx_polls_menu_item_title_system_entries_manage', '_bx_polls_menu_item_title_entries_manage', 'page.php?i=polls-manage', '', '', '', '', 2147483646, 1, 1, 3);
+('bx_polls_submenu', 'bx_polls', 'polls-search', '_bx_polls_menu_item_title_system_entries_search', '_bx_polls_menu_item_title_entries_search', 'page.php?i=polls-search', '', '', '', '', 2147483647, 1, 1, 3),
+('bx_polls_submenu', 'bx_polls', 'polls-manage', '_bx_polls_menu_item_title_system_entries_manage', '_bx_polls_menu_item_title_entries_manage', 'page.php?i=polls-manage', '', '', '', '', 2147483646, 1, 1, 4);
 
 -- 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 
@@ -317,6 +327,11 @@ INSERT INTO `sys_objects_search` (`ObjectName`, `Title`, `Order`, `ClassName`, `
 ('bx_polls', '_bx_polls', @iSearchOrder + 1, 'BxPollsSearchResult', 'modules/boonex/polls/classes/BxPollsSearchResult.php'),
 ('bx_polls_cmts', '_bx_polls_cmts', @iSearchOrder + 2, 'BxPollsCmtsSearchResult', 'modules/boonex/polls/classes/BxPollsCmtsSearchResult.php');
 
+-- SEARCH EXTENDED
+INSERT INTO `sys_objects_search_extended` (`object`, `object_content_info`, `module`, `title`, `active`, `class_name`, `class_file`) VALUES
+('bx_polls', 'bx_polls', 'bx_polls', '_bx_polls_search_extended', 1, '', ''),
+('bx_polls_cmts', 'bx_polls_cmts', 'bx_polls', '_bx_polls_search_extended_cmts', 1, 'BxTemplSearchExtendedCmts', '');
+
 -- METATAGS
 INSERT INTO `sys_objects_metatags` (`object`, `table_keywords`, `table_locations`, `table_mentions`, `override_class_name`, `override_class_file`) VALUES
 ('bx_polls', 'bx_polls_meta_keywords', 'bx_polls_meta_locations', '', '', '');

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

@@ -7,13 +7,14 @@
 	<string name="_bx_polls_option_title_chars"><![CDATA[Количество символов в автогенерируемом заголовке голосования]]></string>
 	<string name="_bx_polls_option_per_page_browse"><![CDATA[Количество элементов на странице]]></string>
 	<string name="_bx_polls_option_rss_num"><![CDATA[Количество элементов в ленте RSS]]></string>
-	<string name="_bx_polls_option_searchable_fields"><![CDATA[Поля для поиска]]></string>
+	<string name="_bx_polls_option_searchable_fields"><![CDATA[Поля для поиска по ключевому слову]]></string>
 
 	<string name="_bx_polls_form_entry"><![CDATA[Голосования]]></string>
 	<string name="_bx_polls_form_entry_display_add"><![CDATA[Добавить голосование]]></string>
 	<string name="_bx_polls_form_entry_display_edit"><![CDATA[Редактировать голосование]]></string>
 	<string name="_bx_polls_form_entry_display_delete"><![CDATA[Удалить голосование]]></string>
 	<string name="_bx_polls_form_entry_display_view"><![CDATA[Просмотреть голосование]]></string>
+	<string name="_bx_polls_form_entry_input_author"><![CDATA[Автор]]></string>
 	<string name="_bx_polls_form_entry_input_sys_do_submit"><![CDATA[Выполнить]]></string>
 	<string name="_bx_polls_form_entry_input_do_submit"><![CDATA[Выполнить]]></string>
 	<string name="_bx_polls_form_entry_input_sys_do_publish"><![CDATA[Опубликовать]]></string>
@@ -114,6 +115,12 @@
     <string name="_bx_polls_page_block_title_cats"><![CDATA[Категории Голосований]]></string>
     <string name="_bx_polls_page_block_title_entry_info"><![CDATA[Инфо]]></string>
     <string name="_bx_polls_page_block_title_my_entries"><![CDATA[Мои голосования]]></string>
+    <string name="_bx_polls_page_title_sys_entries_search"><![CDATA[Поиск]]></string>
+    <string name="_bx_polls_page_title_entries_search"><![CDATA[Поиск]]></string>
+    <string name="_bx_polls_page_block_title_search_form"><![CDATA[Форма поиска]]></string>
+    <string name="_bx_polls_page_block_title_search_results"><![CDATA[Результаты поиска]]></string>
+    <string name="_bx_polls_page_block_title_search_form_cmts"><![CDATA[Форма поиска комментариев]]></string>
+    <string name="_bx_polls_page_block_title_search_results_cmts"><![CDATA[Результаты поиска комментариев]]></string>
 
     <string name="_bx_polls_menu_set_title_view_entry"><![CDATA[Действия для голосования]]></string>
     <string name="_bx_polls_menu_title_view_entry"><![CDATA[Действия для голосования]]></string>
@@ -130,6 +137,8 @@
     <string name="_bx_polls_menu_item_title_entries_home"><![CDATA[Голосования]]></string>
     <string name="_bx_polls_menu_item_title_system_entries_public"><![CDATA[Новые голосования]]></string>
     <string name="_bx_polls_menu_item_title_entries_public"><![CDATA[Новые голосования]]></string>
+    <string name="_bx_polls_menu_item_title_system_entries_search"><![CDATA[Поиск]]></string>
+    <string name="_bx_polls_menu_item_title_entries_search"><![CDATA[Поиск]]></string>
     <string name="_bx_polls_menu_item_title_system_entries_manage"><![CDATA[Управление голосованиями]]></string>
     <string name="_bx_polls_menu_item_title_entries_manage"><![CDATA[Управление голосованиями]]></string>
     <string name="_bx_polls_menu_item_title_system_entries_popular"><![CDATA[Популярные голосования]]></string>
@@ -172,6 +181,9 @@
     <string name="_bx_polls_chart_growth"><![CDATA[Голосования: Развитие]]></string>
     <string name="_bx_polls_chart_growth_speed"><![CDATA[Голосования: Скорость развития]]></string>
 
+    <string name="_bx_polls_search_extended"><![CDATA[Поиск голосований]]></string>
+    <string name="_bx_polls_search_extended_cmts"><![CDATA[Поиск комментариев к голосованиям]]></string>
+
     <string name="_bx_polls_pre_lists_cats"><![CDATA[Категории голосований]]></string>
     <string name="_bx_polls_cat_beauty_and_style"><![CDATA[Красота и стиль]]></string>
     <string name="_bx_polls_cat_business_and_money"><![CDATA[Бизнес и деньги]]></string>