Kaynağa Gözat

Ticket #4319 - Profiles: Improve Recommended profiles functionality: Changes in Persons.

AntonLV 3 yıl önce
ebeveyn
işleme
4f8c25423b

+ 1 - 1
inc/classes/BxDolRecommendation.php

@@ -36,7 +36,7 @@ class BxDolRecommendation extends BxDolFactory implements iBxDolFactoryObject
 
         $this->_iProfileId = bx_get_logged_profile_id();
 
-        $this->_iPerPageDefault = 4;
+        $this->_iPerPageDefault = 6;
         $this->_iReducerDefault = 10;
     }
 

+ 29 - 7
modules/base/profile/classes/BxBaseModProfileMenuSnippetMeta.php

@@ -111,21 +111,29 @@ class BxBaseModProfileMenuSnippetMeta extends BxBaseModGeneralMenuSnippetMeta
         if(!$oConnection)
             return false;
 
-        $iFriends = $oConnection->getConnectedInitiatorsCount($this->_oContentProfile->id(), true);
+        $iProfileId = $this->_oContentProfile->id();
+
+        $iFriends = $oConnection->getConnectedInitiatorsCount($iProfileId, true);
         if(!$iFriends && !$this->_bShowZeros)
             return false;
 
+        $CNF = &$this->_oModule->_oConfig->CNF;
+
         $sTitle = _t('_sys_menu_item_title_sm_friends', $iFriends);
 
+        $sUrl = $this->_oContentProfile->getUrl();
+        if(!empty($CNF['URI_VIEW_FRIENDS']))
+            $sUrl = bx_absolute_url(BxDolPermalinks::getInstance()->permalink('page.php?i=' . $CNF['URI_VIEW_FRIENDS'] . '&profile_id=' . $iProfileId));
+
         if($this->_bIsApi)
             return $this->_getMenuItemAPI($aItem, 'text', [
-                'title' => $sTitle
+                'title' => $sTitle,
+                'link' => bx_api_get_relative_url($sUrl),
             ]);
 
-        //return $this->getUnitMetaItemText($sTitle);
         $mixedItem = $this->getUnitMetaItemButton($sTitle, [
             'class' => !empty($aItem['primary']) ? 'bx-btn-primary' : '',
-            'href' => $this->_oContentProfile->getUrl()
+            'href' => $sUrl
         ]);
 
         return $mixedItem !== false ? [$mixedItem, 'bx-menu-item-button'] : false;
@@ -143,18 +151,32 @@ class BxBaseModProfileMenuSnippetMeta extends BxBaseModGeneralMenuSnippetMeta
         if(!$oConnection)
             return false;
 
-        $iFriends = $oConnection->getCommonContentCount($this->_oContentProfile->id(), bx_get_logged_profile_id(), true);
+        $iProfileId = $this->_oContentProfile->id();
+
+        $iFriends = $oConnection->getCommonContentCount($iProfileId, bx_get_logged_profile_id(), true);
         if(!$iFriends && !$this->_bShowZeros)
             return false;
 
+        $CNF = &$this->_oModule->_oConfig->CNF;
+
         $sTitle = _t('_sys_menu_item_title_sm_friends_mutual', $iFriends);
 
+        $sUrl = $this->_oContentProfile->getUrl();
+        if(!empty($CNF['URI_VIEW_FRIENDS']))
+            $sUrl = bx_absolute_url(BxDolPermalinks::getInstance()->permalink('page.php?i=' . $CNF['URI_VIEW_FRIENDS'] . '&profile_id=' . $iProfileId));
+
         if($this->_bIsApi)
             return $this->_getMenuItemAPI($aItem, 'text', [
-                'title' => $sTitle
+                'title' => $sTitle,
+                'link' => bx_api_get_relative_url($sUrl),
             ]);
 
-        return $this->getUnitMetaItemText($sTitle);
+        $mixedItem = $this->getUnitMetaItemButton($sTitle, [
+            'class' => !empty($aItem['primary']) ? 'bx-btn-primary' : '',
+            'href' => $sUrl
+        ]);
+
+        return $mixedItem !== false ? [$mixedItem, 'bx-menu-item-button'] : false;
     }
 
     protected function _getMenuItemSubscribers($aItem)

+ 4 - 4
modules/boonex/persons/install/sql/enable.sql

@@ -345,10 +345,10 @@ INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `titl
 ('bx_persons_snippet_meta', 'bx_persons', 'tags', '_sys_menu_item_title_system_sm_tags', '_sys_menu_item_title_sm_tags', '', '', '', '', '', 2147483647, '', 0, 0, 1, 2),
 ('bx_persons_snippet_meta', 'bx_persons', 'views', '_sys_menu_item_title_system_sm_views', '_sys_menu_item_title_sm_views', '', '', '', '', '', 2147483647, '', 0, 0, 1, 3),
 ('bx_persons_snippet_meta', 'bx_persons', 'comments', '_sys_menu_item_title_system_sm_comments', '_sys_menu_item_title_sm_comments', '', '', '', '', '', 2147483647, '', 0, 0, 1, 4),
-('bx_persons_snippet_meta', 'bx_persons', 'friends', '_sys_menu_item_title_system_sm_friends', '_sys_menu_item_title_sm_friends', '', '', '', '', '', 2147483647, 'recom_friends,recom_subscriptions', 1, 0, 1, 5),
-('bx_persons_snippet_meta', 'bx_persons', 'subscribers', '_sys_menu_item_title_system_sm_subscribers', '_sys_menu_item_title_sm_subscribers', '', '', '', '', '', 2147483647, '', 1, 0, 1, 6),
-('bx_persons_snippet_meta', 'bx_persons', 'membership', '_sys_menu_item_title_system_sm_membership', '_sys_menu_item_title_sm_membership', '', '', '', '', '', 2147483647, '', 0, 0, 1, 7),
-('bx_persons_snippet_meta', 'bx_persons', 'nl', '_sys_menu_item_title_system_sm_nl', '_sys_menu_item_title_sm_nl', '', '', '', '', '', 2147483647, '', 1, 0, 1, 8),
+('bx_persons_snippet_meta', 'bx_persons', 'subscribers', '_sys_menu_item_title_system_sm_subscribers', '_sys_menu_item_title_sm_subscribers', '', '', '', '', '', 2147483647, '', 1, 0, 1, 5),
+('bx_persons_snippet_meta', 'bx_persons', 'membership', '_sys_menu_item_title_system_sm_membership', '_sys_menu_item_title_sm_membership', '', '', '', '', '', 2147483647, '', 0, 0, 1, 6),
+('bx_persons_snippet_meta', 'bx_persons', 'nl', '_sys_menu_item_title_system_sm_nl', '_sys_menu_item_title_sm_nl', '', '', '', '', '', 2147483647, '', 1, 0, 1, 7),
+('bx_persons_snippet_meta', 'bx_persons', 'friends', '_sys_menu_item_title_system_sm_friends', '_sys_menu_item_title_sm_friends', '', '', '', '', '', 2147483647, 'recom_friends,recom_subscriptions', 1, 0, 1, 8),
 ('bx_persons_snippet_meta', 'bx_persons', 'befriend', '_sys_menu_item_title_system_sm_befriend', '_sys_menu_item_title_sm_befriend', '', '', '', '', '', 2147483647, 'recom_subscriptions', 1, 0, 1, 9),
 ('bx_persons_snippet_meta', 'bx_persons', 'unfriend', '_sys_menu_item_title_system_sm_unfriend', '_sys_menu_item_title_sm_unfriend', '', '', '', '', '', 2147483647, 'recom_subscriptions', 0, 0, 1, 10),
 ('bx_persons_snippet_meta', 'bx_persons', 'subscribe', '_sys_menu_item_title_system_sm_subscribe', '_sys_menu_item_title_sm_subscribe', '', '', '', '', '', 2147483647, 'recom_friends', 1, 0, 1, 11),

+ 6 - 0
template/recommendation_block.html

@@ -0,0 +1,6 @@
+<div class="bx-recommendation">
+    <div class="bx-recommendation-content bx-search-result-block __class__ -m-2">__content__</div>
+    <bx_if:show_paginate>
+        <div class="bx-recommendation-paginate mt-4">__paginate__</div>
+    </bx_if:show_paginate>
+</div>

+ 1 - 1
template/scripts/BxBaseRecommendation.php

@@ -67,7 +67,7 @@ class BxBaseRecommendation extends BxDolRecommendation
             ]
         ]);
     }
-    
+
     public function getCodeAPI($iProfileId = 0, $iStart = 0, $iPerPage = 0)
     {
         if(!$iProfileId)