Browse Source

Ticket #404 - Integration in Persons.

AntonLV 9 năm trước cách đây
mục cha
commit
4a93695389

+ 1 - 0
modules/boonex/persons/classes/BxPersonsConfig.php

@@ -83,6 +83,7 @@ class BxPersonsConfig extends BxBaseModProfileConfig
             'OBJECT_IMAGES_TRANSCODER_COVER_THUMB' => 'bx_persons_cover_thumb',
             'OBJECT_VIEWS' => 'bx_persons',
         	'OBJECT_FAVORITES' => 'bx_persons',
+        	'OBJECT_FEATURED' => 'bx_persons',
         	'OBJECT_REPORTS' => 'bx_persons',
             'OBJECT_METATAGS' => 'bx_persons',
             'OBJECT_FORM_ENTRY' => 'bx_person',

+ 13 - 0
modules/boonex/persons/classes/BxPersonsSearchResult.php

@@ -31,6 +31,7 @@ class BxPersonsSearchResult extends BxBaseModProfileSearchResult
                 'perofileStatus' => array('value' => 'active', 'field' => 'status', 'operator' => '='),
                 'perofileType' => array('value' => 'bx_persons', 'field' => 'type', 'operator' => '='),
                 'owner' => array('value' => '', 'field' => 'author', 'operator' => '=', 'table' => 'bx_persons_data'),
+        		'featured' => array('value' => '', 'field' => 'featured', 'operator' => '<>', 'table' => 'bx_persons_data'),
         		'online' => array('value' => '', 'field' => 'date', 'operator' => '>', 'table' => 'sys_sessions'),
             ),
             'join' => array (
@@ -72,6 +73,8 @@ class BxPersonsSearchResult extends BxBaseModProfileSearchResult
         $this->oModule = $this->getMain();
         $this->aCurrent['searchFields'] = explode(',', getParam($this->oModule->_oConfig->CNF['PARAM_SEARCHABLE_FIELDS']));
 
+        $CNF = &$this->oModule->_oConfig->CNF;
+
         switch ($sMode) {
 
             case 'connections':
@@ -110,6 +113,14 @@ class BxPersonsSearchResult extends BxBaseModProfileSearchResult
                 $this->sBrowseUrl = 'page.php?i=persons-home';
                 break;
 
+            case 'featured':
+                $this->sBrowseUrl = BxDolPermalinks::getInstance()->permalink($CNF['URL_HOME']);
+                $this->aCurrent['title'] = _t('_bx_persons_page_title_browse_featured');
+                $this->aCurrent['restriction']['featured']['value'] = '0';
+                $this->aCurrent['rss']['link'] = 'modules/?r=persons/rss/' . $sMode;
+                $this->aCurrent['sorting'] = 'featured';
+                break;
+
             case 'active':
                 $this->aCurrent['rss']['link'] = 'modules/?r=persons/rss/' . $sMode;
                 $this->aCurrent['title'] = _t('_bx_persons_page_title_browse_active');
@@ -150,6 +161,8 @@ class BxPersonsSearchResult extends BxBaseModProfileSearchResult
     function getAlterOrder()
     {
         switch ($this->aCurrent['sorting']) {
+            case 'featured':
+                return array('order' => ' ORDER BY `bx_persons_data`.`featured` DESC ');
 	        case 'none':
 	            return array();
 	        case 'active':

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

@@ -52,6 +52,7 @@
 	<string name="_bx_persons_page_title_sys_view_profile"><![CDATA[View Person's Profile]]></string>
 	<string name="_bx_persons_page_title_view_profile"><![CDATA[{display_name}]]></string>
 	<string name="_bx_persons_page_title_browse"><![CDATA[People]]></string>
+	<string name="_bx_persons_page_title_browse_featured"><![CDATA[Featured People]]></string>
 	<string name="_bx_persons_page_title_browse_active"><![CDATA[Active People]]></string>
 	<string name="_bx_persons_page_title_browse_online"><![CDATA[Online People]]></string>
 	<string name="_bx_persons_page_title_browse_recent"><![CDATA[New People]]></string>
@@ -92,6 +93,7 @@
 	<string name="_bx_persons_page_block_title_profile_friends_link"><![CDATA[Friends of <a href="{profile_link}">{display_name}</a>]]></string>
 	<string name="_bx_persons_page_block_title_profile_friends"><![CDATA[Friends]]></string>
 	<string name="_bx_persons_page_block_title_system_profile_friends"><![CDATA[Friends]]></string>
+	<string name="_bx_persons_page_block_title_featured_profiles"><![CDATA[Featured People]]></string>
 	<string name="_bx_persons_page_block_title_profile_actions"><![CDATA[Actions]]></string>
 	<string name="_bx_persons_page_block_title_latest_profiles"><![CDATA[New People]]></string>
 	<string name="_bx_persons_page_block_title_system_manage"><![CDATA[Manage Own People]]></string>

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

@@ -28,6 +28,9 @@ DELETE FROM `sys_objects_view` WHERE `name` = 'bx_persons';
 -- FAFORITES
 DELETE FROM `sys_objects_favorite` WHERE `name` = 'bx_persons';
 
+-- FEATURED
+DELETE FROM `sys_objects_feature` WHERE `name` = 'bx_persons';
+
 -- REPORTS
 DELETE FROM `sys_objects_report` WHERE `name` = 'bx_persons';
 

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

@@ -94,8 +94,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_persons_home', '_bx_persons_page_title_sys_recent', '_bx_persons_page_title_recent', 'bx_persons', 5, 2147483647, 1, 'persons-home', 'page.php?i=persons-home', '', '', '', 0, 1, 0, 'BxPersonsPageBrowse', 'modules/boonex/persons/classes/BxPersonsPageBrowse.php');
 
-INSERT INTO `sys_pages_blocks`(`object`, `cell_id`, `module`, `title`, `designbox_id`, `visible_for_levels`, `type`, `content`, `deletable`, `copyable`, `order`) VALUES 
-('bx_persons_home', 1, 'bx_persons', '_bx_persons_page_block_title_latest_profiles', 11, 2147483647, 'service', 'a:3:{s:6:\"module\";s:10:\"bx_persons\";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_persons_home', 1, 'bx_persons', '_bx_persons_page_block_title_featured_profiles', 11, 2147483647, 'service', 'a:3:{s:6:"module";s:10:"bx_persons";s:6:"method";s:15:"browse_featured";s:6:"params";a:1:{i:0;s:7:"gallery";}}', 0, 1, 0),
+('bx_persons_home', 1, 'bx_persons', '_bx_persons_page_block_title_latest_profiles', 11, 2147483647, 'service', 'a:3:{s:6:\"module\";s:10:\"bx_persons\";s:6:\"method\";s:22:\"browse_recent_profiles\";s:6:"params";a:1:{i:0;b:1;}}', 0, 1, 1);
 
 -- PAGE: active profiles
 
@@ -313,6 +314,10 @@ INSERT INTO `sys_objects_view` (`name`, `table_track`, `period`, `is_on`, `trigg
 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_persons', 'bx_persons_favorites_track', '1', '1', '0', 'page.php?i=view-persons-profile&id={object_id}', 'bx_persons_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_persons', '1', '1', 'page.php?i=view-persons-profile&id={object_id}', 'bx_persons_data', 'id', 'author', 'featured', '', '');
+
 -- REPORTS
 INSERT INTO `sys_objects_report` (`name`, `table_main`, `table_track`, `is_on`, `base_url`, `trigger_table`, `trigger_field_id`, `trigger_field_author`, `trigger_field_count`, `class_name`, `class_file`) VALUES 
 ('bx_persons', 'bx_persons_reports', 'bx_persons_reports_track', '1', 'page.php?i=view-persons-profile&id={object_id}', 'bx_persons_data', 'id', 'author', 'reports', '', '');

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

@@ -14,6 +14,7 @@ CREATE TABLE IF NOT EXISTS `bx_persons_data` (
   `views` 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',
   `allow_view_to` int(11) NOT NULL DEFAULT '3',
   PRIMARY KEY (`id`),
   FULLTEXT KEY `search_fields` (`fullname`,`description`)

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

@@ -52,6 +52,7 @@
 	<string name="_bx_persons_page_title_sys_view_profile"><![CDATA[Просмотреть персональный профиль]]></string>
 	<string name="_bx_persons_page_title_view_profile"><![CDATA[{display_name}]]></string>
 	<string name="_bx_persons_page_title_browse"><![CDATA[Люди]]></string>
+	<string name="_bx_persons_page_title_browse_featured"><![CDATA[Продвинутые Пользователи]]></string>
 	<string name="_bx_persons_page_title_browse_active"><![CDATA[Последние Активные Пользователи]]></string>
 	<string name="_bx_persons_page_title_browse_online"><![CDATA[Онлайн Пользователи]]></string>
 	<string name="_bx_persons_page_title_browse_recent"><![CDATA[Последние Присоединившиеся Пользователи]]></string>
@@ -93,6 +94,7 @@
 	<string name="_bx_persons_page_block_title_profile_friends"><![CDATA[Друзья]]></string>
 	<string name="_bx_persons_page_block_title_system_profile_friends"><![CDATA[Друзья]]></string>
 	<string name="_bx_persons_page_block_title_profile_actions"><![CDATA[Действия]]></string>
+	<string name="_bx_persons_page_block_title_featured_profiles"><![CDATA[Продвинутые Пользователи]]></string>
 	<string name="_bx_persons_page_block_title_latest_profiles"><![CDATA[Последние Присоединившиеся Пользователи]]></string>
 	<string name="_bx_persons_page_block_title_system_manage"><![CDATA[Управление собственными профилями]]></string>
 	<string name="_bx_persons_page_block_title_system_manage_administration"><![CDATA[Управление всеми профилями]]></string>