AntonLV 8 年 前
親
コミット
adce501eec

+ 12 - 5
inc/classes/BxDolRssFactory.php

@@ -55,6 +55,8 @@ class BxDolRssFactory extends BxDol
         $iUnitLimitChars = 2000;//(int)getParam('max_blog_preview');
         $sUnitRSSFeed = '';
         if ($aRssData) {
+            $sTxtReadMore = _t('_Read more');
+
             foreach ($aRssData as $aUnitInfo) {
                 $sUnitUrl = $aUnitInfo[$aFields['Link']];
                 $sUnitGuid = $aUnitInfo[$aFields['Guid']];
@@ -62,12 +64,17 @@ class BxDolRssFactory extends BxDol
                 $sUnitTitle = strip_tags($aUnitInfo[$aFields['Title']]);
                 $sUnitDate = bx_time_utc($aUnitInfo[$aFields['DateTimeUTS']]);
 
-                $sLinkMore = '';
-                if ( strlen( $aUnitInfo[$aFields['Desc']]) > $iUnitLimitChars ) {
-                    $sLinkMore = "... <a href=\"".$sUnitUrl."\">"._t('_Read more')."</a>";
+                $sUnitDesc = '';
+                if(isset($aFields['Desc']) && !empty($aUnitInfo[$aFields['Desc']])) {
+                    $sLinkMore = '';
+                    if(strlen($aUnitInfo[$aFields['Desc']]) > $iUnitLimitChars)
+                        $sLinkMore = "... <a href=\"" . $sUnitUrl . "\">" . $sTxtReadMore . "</a>";
+    
+                    $sUnitDesc = "<p>" . mb_substr(strip_tags($aUnitInfo[$aFields['Desc']]), 0, $iUnitLimitChars) . $sLinkMore . "</p>";
                 }
-                $sUnitDescVal = mb_substr(strip_tags($aUnitInfo[$aFields['Desc']]), 0, $iUnitLimitChars) . $sLinkMore;
-                $sUnitDesc = $sUnitDescVal;
+
+                if(isset($aFields['Image']) && !empty($aUnitInfo[$aFields['Image']]))
+                    $sUnitDesc .= "<img src=\"" . $aUnitInfo[$aFields['Image']] . "\" />";
 
                 $sUnitRSSFeed .= "<item><title><![CDATA[{$sUnitTitle}]]></title><link><![CDATA[{$sUnitUrl}]]></link><guid><![CDATA[{$sUnitGuid}]]></guid><description><![CDATA[{$sUnitDesc}]]></description><pubDate>{$sUnitDate}</pubDate></item>";
             }

+ 13 - 1
inc/classes/BxDolSearch.php

@@ -473,8 +473,12 @@ class BxDolSearchResult implements iBxDolReplaceable
         $aData = $this->getSearchData();
         $f = &$this->aCurrent['rss']['fields'];
         if ($aData) {
-            foreach ($aData as $k => $a)
+            foreach ($aData as $k => $a) {
                 $aData[$k][$f['Link']] = $this->getRssUnitLink ($a);
+
+                if(isset($f['Image']))
+                    $aData[$k][$f['Image']] = $this->getRssUnitImage ($a, $f['Image']);
+            }
         }
 
         $oRss = new BxDolRssFactory ();
@@ -506,6 +510,14 @@ class BxDolSearchResult implements iBxDolReplaceable
         // override this functions to return permalink to rss unit
     }
 
+	/**
+     * Return rss unit image (redeclared)
+     */
+    function getRssUnitImage (&$a, $sField)
+    {
+        // override this functions to return image for rss unit
+    }
+
     /**
      * Naming fields in query's body
      * @param string  $sFieldName  name of field

+ 22 - 0
modules/base/profile/classes/BxBaseModProfileSearchResult.php

@@ -33,6 +33,28 @@ class BxBaseModProfileSearchResult extends BxBaseModGeneralSearchResult
             $this->bRecommendedView=true;
     }
 
+    function getRssUnitImage (&$a, $sField)
+    {
+        $CNF = &$this->oModule->_oConfig->CNF;
+
+        if(empty($sField) || empty($a[$sField]))
+            return '';
+
+        $sTranscoder = '';
+        if(!empty($CNF['OBJECT_IMAGES_TRANSCODER_PICTURE']))
+            $sTranscoder = $CNF['OBJECT_IMAGES_TRANSCODER_PICTURE'];
+        else if(!empty($CNF['OBJECT_IMAGES_TRANSCODER_GALLERY']))
+            $sTranscoder = $CNF['OBJECT_IMAGES_TRANSCODER_GALLERY'];
+        else 
+            return '';
+
+        $oTranscoder = BxDolTranscoderImage::getObjectInstance($sTranscoder);
+        if(!$oTranscoder)
+            return '';
+
+        return $oTranscoder->getFileUrl($a[$sField]);      
+    }
+
     protected function _setConnectionsConditions ($aParams)
     {
         $oConnection = isset($aParams['object']) ? BxDolConnection::getObjectInstance($aParams['object']) : false;

+ 14 - 0
modules/base/text/classes/BxBaseModTextSearchResult.php

@@ -35,6 +35,20 @@ class BxBaseModTextSearchResult extends BxBaseModGeneralSearchResult
 		}
     }
 
+    function getRssUnitImage (&$a, $sField)
+    {
+        $CNF = &$this->oModule->_oConfig->CNF;
+
+        if(empty($sField) || empty($a[$sField]) || empty($CNF['OBJECT_IMAGES_TRANSCODER_GALLERY']))
+            return '';
+
+        $oTranscoder = BxDolTranscoderImage::getObjectInstance($CNF['OBJECT_IMAGES_TRANSCODER_GALLERY']);
+        if(!$oTranscoder)
+            return '';
+
+        return $oTranscoder->getFileUrl($a[$sField]);      
+    }
+
     protected function processReplaceableMarkers($oProfileAuthor) 
     {
         if ($oProfileAuthor) {

+ 1 - 0
modules/boonex/albums/classes/BxAlbumsSearchResult.php

@@ -47,6 +47,7 @@ class BxAlbumsSearchResult extends BxBaseModTextSearchResult
                     'Title' => 'title',
                     'DateTimeUTS' => 'added',
                     'Desc' => 'text',
+            		'Image' => 'thumb'
                 ),
             ),
             'ident' => 'id',

+ 1 - 1
modules/boonex/events/classes/BxEventsSearchResult.php

@@ -60,7 +60,7 @@ class BxEventsSearchResult extends BxBaseModGroupsSearchResult
                     'Title' => 'event_name',
                     'DateTimeUTS' => 'added',
                     'Desc' => 'event_name',
-                    'Picture' => 'picture',
+                    'Image' => 'picture',
                 ),
             ),
             'ident' => 'id'

+ 1 - 0
modules/boonex/files/classes/BxFilesSearchResult.php

@@ -42,6 +42,7 @@ class BxFilesSearchResult extends BxBaseModTextSearchResult
                     'Title' => 'title',
                     'DateTimeUTS' => 'added',
                     'Desc' => 'desc',
+            		'Image' => 'thumb'
                 ),
             ),
             'ident' => 'id',

+ 1 - 0
modules/boonex/forum/classes/BxForumSearchResult.php

@@ -43,6 +43,7 @@ class BxForumSearchResult extends BxBaseModTextSearchResult
                     'Title' => 'title',
                     'DateTimeUTS' => 'added',
                     'Desc' => 'text',
+            		'Image' => 'thumb'
                 ),
             ),
             'ident' => 'id',

+ 1 - 1
modules/boonex/groups/classes/BxGroupsSearchResult.php

@@ -60,7 +60,7 @@ class BxGroupsSearchResult extends BxBaseModGroupsSearchResult
                     'Title' => 'group_name',
                     'DateTimeUTS' => 'added',
                     'Desc' => 'group_name',
-                    'Picture' => 'picture',
+                    'Image' => 'picture',
                 ),
             ),
             'ident' => 'id'

+ 1 - 0
modules/boonex/market/classes/BxMarketSearchResult.php

@@ -43,6 +43,7 @@ class BxMarketSearchResult extends BxBaseModTextSearchResult
                     'Title' => 'title',
                     'DateTimeUTS' => 'added',
                     'Desc' => 'text',
+            		'Image' => 'thumb'
                 ),
             ),
             'ident' => 'id',

+ 1 - 1
modules/boonex/organizations/classes/BxOrgsSearchResult.php

@@ -62,7 +62,7 @@ class BxOrgsSearchResult extends BxBaseModGroupsSearchResult
                     'Title' => 'org_name',
                     'DateTimeUTS' => 'added',
                     'Desc' => 'org_name',
-                    'Picture' => 'picture',
+                    'Image' => 'picture',
                 ),
             ),
             'ident' => 'id'

+ 1 - 1
modules/boonex/persons/classes/BxPersonsSearchResult.php

@@ -61,7 +61,7 @@ class BxPersonsSearchResult extends BxBaseModProfileSearchResult
                     'Title' => 'fullname',
                     'DateTimeUTS' => 'added',
                     'Desc' => 'fullname',
-                    'Picture' => 'picture',
+                    'Image' => 'picture',
                 ),
             ),
             'ident' => 'id'

+ 1 - 0
modules/boonex/photos/classes/BxPhotosSearchResult.php

@@ -45,6 +45,7 @@ class BxPhotosSearchResult extends BxBaseModTextSearchResult
                     'Title' => 'title',
                     'DateTimeUTS' => 'added',
                     'Desc' => 'text',
+            		'Image' => 'thumb'
                 ),
             ),
             'ident' => 'id',

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

@@ -44,6 +44,7 @@ class BxPollsSearchResult extends BxBaseModTextSearchResult
                     'Title' => 'text',
                     'DateTimeUTS' => 'added',
                     'Desc' => '',
+            		'Image' => 'thumb'
                 ),
             ),
             'ident' => 'id',

+ 1 - 0
modules/boonex/posts/classes/BxPostsSearchResult.php

@@ -42,6 +42,7 @@ class BxPostsSearchResult extends BxBaseModTextSearchResult
                     'Title' => 'title',
                     'DateTimeUTS' => 'added',
                     'Desc' => 'text',
+                    'Image' => 'thumb'
                 ),
             ),
             'ident' => 'id',

+ 1 - 0
modules/boonex/shopify/classes/BxShopifySearchResult.php

@@ -42,6 +42,7 @@ class BxShopifySearchResult extends BxBaseModTextSearchResult
                     'Title' => 'title',
                     'DateTimeUTS' => 'added',
                     'Desc' => 'text',
+            		'Image' => 'thumb'
                 ),
             ),
             'ident' => 'id',

+ 1 - 0
modules/boonex/snipcart/classes/BxSnipcartSearchResult.php

@@ -42,6 +42,7 @@ class BxSnipcartSearchResult extends BxBaseModTextSearchResult
                     'Title' => 'title',
                     'DateTimeUTS' => 'added',
                     'Desc' => 'text',
+            		'Image' => 'thumb'
                 ),
             ),
             'ident' => 'id',

+ 1 - 0
modules/boonex/videos/classes/BxVideosSearchResult.php

@@ -42,6 +42,7 @@ class BxVideosSearchResult extends BxBaseModTextSearchResult
                     'Title' => 'title',
                     'DateTimeUTS' => 'added',
                     'Desc' => 'text',
+            		'Image' => 'thumb'
                 ),
             ),
             'ident' => 'id',