Sfoglia il codice sorgente

#3669 - Unit view for followed channels

RomanL 4 anni fa
parent
commit
be3581ac6f

+ 5 - 0
modules/boonex/channels/classes/BxCnlModule.php

@@ -414,6 +414,11 @@ class BxCnlModule extends BxBaseModGroupsModule
         return $this->_serviceBrowse ('level', array('level' => $iLevelId), BX_DB_PADDING_DEF, $bDisplayEmptyMsg);
     }
     
+    public function serviceBrowseFollowed($iProfileId = 0, $aParams = array())
+    {
+        return $this->_serviceBrowseWithParam ('followed_entries', 'profile_id', $iProfileId, $aParams);
+    }
+    
     public function serviceBrowseAuthor($iProfileId = 0, $aParams = array())
     {
         $CNF = &$this->_oConfig->CNF;

+ 20 - 0
modules/boonex/channels/classes/BxCnlSearchResult.php

@@ -98,6 +98,26 @@ class BxCnlSearchResult extends BxBaseModGroupsSearchResult
                     $this->aCurrent['rss']['link'] = 'modules/?r=channels/rss/' . $sMode . '/' . $aParams['object'] . '/' . $aParams['type'] . '/' . (int)$aParams['profile'] . '/' . (int)$aParams['profile2'] . '/' . (int)$aParams['mutual'];
                 }
                 break;
+                
+            case 'followed_entries':
+                $oJoinedProfile = BxDolProfile::getInstance((int)$aParams['joined_profile']);
+                if (!$oJoinedProfile) {
+                    $this->isError = true;
+                    break;
+                }
+
+                $bProcessConditionsForPrivateContent = false;
+
+                $this->aCurrent['join']['subscriptions'] = array(
+                    'type' => 'INNER',
+                    'table' => 'sys_profiles_conn_subscriptions',
+                    'mainField' => 'id',
+                    'onField' => 'content',
+                    'joinFields' => array('initiator'),
+                );
+
+                $this->aCurrent['restriction']['subscriptions'] = array('value' => $oJoinedProfile->id(), 'field' => 'initiator', 'operator' => '=', 'table' => 'sys_profiles_conn_subscriptions');
+                break;
 
             case 'favorite':
                 if(!$this->_setFavoriteConditions($sMode, $aParams, $oJoinedProfile)) {