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

+ 1 - 0
modules/boonex/groups/classes/BxGroupsConfig.php

@@ -78,6 +78,7 @@ class BxGroupsConfig extends BxBaseModProfileConfig
             'OBJECT_VIEWS' => 'bx_groups',
             'OBJECT_VOTES' => 'bx_groups',
         	'OBJECT_FAVORITES' => 'bx_groups',
+        	'OBJECT_FEATURED' => 'bx_groups',
             'OBJECT_REPORTS' => 'bx_groups',
             'OBJECT_METATAGS' => 'bx_groups',
             'OBJECT_FORM_ENTRY' => 'bx_group',

+ 11 - 0
modules/boonex/groups/classes/BxGroupsSearchResult.php

@@ -29,6 +29,7 @@ class BxGroupsSearchResult extends BxBaseModGroupsSearchResult
                 'perofileStatus' => array('value' => 'active', 'field' => 'status', 'operator' => '='),
                 'perofileType' => array('value' => 'bx_groups', 'field' => 'type', 'operator' => '='),
                 'owner' => array('value' => '', 'field' => 'author', 'operator' => '=', 'table' => 'bx_groups_data'),
+        		'featured' => array('value' => '', 'field' => 'featured', 'operator' => '<>', 'table' => 'bx_groups_data'),
             ),
             'join' => array (
                 'profile' => array(
@@ -128,6 +129,14 @@ class BxGroupsSearchResult extends BxBaseModGroupsSearchResult
                 $this->sBrowseUrl = 'page.php?i=groups-home';
                 break;
 
+            case 'featured':
+                $this->sBrowseUrl = BxDolPermalinks::getInstance()->permalink($CNF['URL_HOME']);
+                $this->aCurrent['title'] = _t('_bx_groups_page_title_browse_featured');
+                $this->aCurrent['restriction']['featured']['value'] = '0';
+                $this->aCurrent['rss']['link'] = 'modules/?r=groups/rss/' . $sMode;
+                $this->aCurrent['sorting'] = 'featured';
+                break;
+
             case 'top':
                 $this->aCurrent['rss']['link'] = 'modules/?r=groups/rss/' . $sMode;
                 $this->aCurrent['title'] = _t('_bx_groups_page_title_browse_top');
@@ -168,6 +177,8 @@ class BxGroupsSearchResult extends BxBaseModGroupsSearchResult
     function getAlterOrder()
     {
         switch ($this->aCurrent['sorting']) {
+        case 'featured':
+            return array('order' => ' ORDER BY `bx_groups_data`.`featured` DESC ');
         case 'none':
             return array('order' => ' ORDER BY `sys_accounts`.`logged` DESC ');
         case 'top':

+ 2 - 0
modules/boonex/groups/install/langs/en.xml

@@ -61,6 +61,7 @@
 	<string name="_bx_groups_page_title_view_profile"><![CDATA[{display_name}]]></string>
 	<string name="_bx_groups_page_title_browse"><![CDATA[Groups]]></string>
 	<string name="_bx_groups_page_title_browse_by_author"><![CDATA[Groups of {display_name}]]></string>
+	<string name="_bx_groups_page_title_browse_featured"><![CDATA[Featured]]></string>
 	<string name="_bx_groups_page_title_browse_top"><![CDATA[Top Groups]]></string>
 	<string name="_bx_groups_page_title_browse_recent"><![CDATA[New Groups]]></string>
 	<string name="_bx_groups_page_title_browse_connections"><![CDATA[{0} connections]]></string>
@@ -100,6 +101,7 @@
     <string name="_bx_groups_page_block_title_fans"><![CDATA[Members]]></string>
 	<string name="_bx_groups_page_block_title_system_fans"><![CDATA[Members]]></string>
 	<string name="_bx_groups_page_block_title_profile_actions"><![CDATA[Actions]]></string>
+	<string name="_bx_groups_page_block_title_featured_profiles"><![CDATA[Featured Groups]]></string>
 	<string name="_bx_groups_page_block_title_latest_profiles"><![CDATA[New Groups]]></string>
 	<string name="_bx_groups_page_block_title_system_manage"><![CDATA[Manage Own Groups]]></string>
 	<string name="_bx_groups_page_block_title_system_manage_administration"><![CDATA[Manage All Groups]]></string>

+ 3 - 0
modules/boonex/groups/install/sql/disable.sql

@@ -34,6 +34,9 @@ DELETE FROM `sys_objects_report` WHERE `name` = 'bx_groups';
 -- FAFORITES
 DELETE FROM `sys_objects_favorite` WHERE `name` = 'bx_groups';
 
+-- FEATURED
+DELETE FROM `sys_objects_feature` WHERE `name` = 'bx_groups';
+
 -- METATAGS
 DELETE FROM `sys_objects_metatags` WHERE `object` = 'bx_groups';
 

+ 7 - 2
modules/boonex/groups/install/sql/enable.sql

@@ -99,8 +99,9 @@ INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title_system`, `t
 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_groups_home', '_bx_groups_page_title_sys_recent', '_bx_groups_page_title_recent', 'bx_groups', 5, 2147483647, 1, 'groups-home', 'page.php?i=groups-home', '', '', '', 0, 1, 0, 'BxGroupsPageBrowse', 'modules/boonex/groups/classes/BxGroupsPageBrowse.php');
 
-INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title`, `designbox_id`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `order`) VALUES 
-('bx_groups_home', 1, 'bx_groups', '_bx_groups_page_block_title_latest_profiles', 11, 2147483647, 'service', 'a:3:{s:6:\"module\";s:9:\"bx_groups\";s:6:\"method\";s:22:\"browse_recent_profiles\";s:6:"params";a:1:{i:0;b:1;}}', 0, 1, 0);
+INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title`, `designbox_id`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `order`) VALUES
+('bx_groups_home', 1, 'bx_groups', '_bx_groups_page_block_title_featured_profiles', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:9:"bx_groups";s:6:"method";s:15:"browse_featured";s:6:"params";a:1:{i:0;s:7:"gallery";}}', 0, 1, 0),
+('bx_groups_home', 1, 'bx_groups', '_bx_groups_page_block_title_latest_profiles', 11, 2147483647, 'service', 'a:3:{s:6:\"module\";s:9:\"bx_groups\";s:6:\"method\";s:22:\"browse_recent_profiles\";s:6:"params";a:1:{i:0;b:1;}}', 0, 1, 1);
 
 -- PAGE: top profiles
 
@@ -323,6 +324,10 @@ INSERT INTO `sys_objects_report` (`name`, `table_main`, `table_track`, `is_on`,
 INSERT INTO `sys_objects_favorite` (`name`, `table_track`, `is_on`, `is_undo`, `is_public`, `base_url`, `trigger_table`, `trigger_field_id`, `trigger_field_author`, `trigger_field_count`, `class_name`, `class_file`) VALUES 
 ('bx_groups', 'bx_groups_favorites_track', '1', '1', '1', 'page.php?i=view-group-profile&id={object_id}', 'bx_groups_data', 'id', 'author', 'favorites', '', '');
 
+-- FEATURED
+INSERT INTO `sys_objects_feature` (`name`, `is_on`, `is_undo`, `base_url`, `trigger_table`, `trigger_field_id`, `trigger_field_author`, `trigger_field_flag`, `class_name`, `class_file`) VALUES 
+('bx_groups', '1', '1', 'page.php?i=view-group-profile&id={object_id}', 'bx_groups_data', 'id', 'author', 'featured', '', '');
+
 -- METATAGS
 INSERT INTO `sys_objects_metatags` (`object`, `table_keywords`, `table_locations`, `table_mentions`, `override_class_name`, `override_class_file`) VALUES
 ('bx_groups', 'bx_groups_meta_keywords', '', '', '', '');

+ 1 - 0
modules/boonex/groups/install/sql/install.sql

@@ -15,6 +15,7 @@ CREATE TABLE IF NOT EXISTS `bx_groups_data` (
   `votes` int(11) NOT NULL default '0',
   `favorites` int(11) NOT NULL default '0',
   `reports` int(11) NOT NULL default '0',
+  `featured` int(11) NOT NULL default '0',
   `join_confirmation` tinyint(4) NOT NULL DEFAULT '1',
   `allow_view_to` varchar(255) DEFAULT NULL,
   PRIMARY KEY (`id`),

+ 2 - 0
modules/boonex/russian/data/langs/bx_groups/ru.xml

@@ -61,6 +61,7 @@
 	<string name="_bx_groups_page_title_view_profile"><![CDATA[{display_name}]]></string>
 	<string name="_bx_groups_page_title_browse"><![CDATA[Группы]]></string>
 	<string name="_bx_groups_page_title_browse_by_author"><![CDATA[Группы {display_name}]]></string>
+	<string name="_bx_events_page_title_browse_featured"><![CDATA[Продвинутые Группы]]></string>
     <string name="_bx_groups_page_title_browse_top"><![CDATA[Популярные Группы]]></string>
 	<string name="_bx_groups_page_title_browse_recent"><![CDATA[Последние Добавленные Группы]]></string>
 	<string name="_bx_groups_page_title_browse_connections"><![CDATA[{0} связей]]></string>
@@ -100,6 +101,7 @@
 	<string name="_bx_groups_page_block_title_fans"><![CDATA[Участники]]></string>
 	<string name="_bx_groups_page_block_title_system_fans"><![CDATA[Участники]]></string>
 	<string name="_bx_groups_page_block_title_profile_actions"><![CDATA[Действия]]></string>
+	<string name="_bx_groups_page_block_title_featured_profiles"><![CDATA[Продвинутые группы]]></string>
 	<string name="_bx_groups_page_block_title_latest_profiles"><![CDATA[Последние добавленные группы]]></string>
 	<string name="_bx_groups_page_block_title_system_manage"><![CDATA[Управление собственными группами]]></string>
 	<string name="_bx_groups_page_block_title_system_manage_administration"><![CDATA[Управление всеми группами]]></string>