AntonLV 8 سال پیش
والد
کامیت
aaa14c7da8
3فایلهای تغییر یافته به همراه49 افزوده شده و 21 حذف شده
  1. 30 20
      modules/base/general/classes/BxBaseModGeneralCmtsSearchResult.php
  2. 2 0
      template/comment_search.html
  3. 17 1
      template/scripts/BxBaseCmts.php

+ 30 - 20
modules/base/general/classes/BxBaseModGeneralCmtsSearchResult.php

@@ -11,8 +11,9 @@
 
 
 class BxBaseModGeneralCmtsSearchResult extends BxBaseModGeneralSearchResult
 class BxBaseModGeneralCmtsSearchResult extends BxBaseModGeneralSearchResult
 {
 {
-	protected $sModule;
-	protected $sModuleObjectComments;
+    protected $sModule;
+    protected $sModuleObjectComments;
+    protected $aCommentsAddons;
 
 
     function __construct($sMode = '', $aParams = array())
     function __construct($sMode = '', $aParams = array())
     {
     {
@@ -20,12 +21,13 @@ class BxBaseModGeneralCmtsSearchResult extends BxBaseModGeneralSearchResult
 
 
         $this->oModule = $this->getMain();
         $this->oModule = $this->getMain();
         $this->sModuleObjectComments = $this->oModule->_oConfig->CNF['OBJECT_COMMENTS'];
         $this->sModuleObjectComments = $this->oModule->_oConfig->CNF['OBJECT_COMMENTS'];
+        $this->aCommentsAddons = array();
 
 
         $this->aCurrent = array(
         $this->aCurrent = array(
-        	'name' => $this->oModule->_oConfig->getName() . '_cmts',
+            'name' => $this->oModule->_oConfig->getName() . '_cmts',
             'module_name' => $this->oModule->_oConfig->getName(),
             'module_name' => $this->oModule->_oConfig->getName(),
             'object_metatags' => 'sys_cmts',
             'object_metatags' => 'sys_cmts',
-        	'title' => '',
+            'title' => '',
             'table' => $this->oModule->_oConfig->getDbPrefix() . 'cmts',
             'table' => $this->oModule->_oConfig->getDbPrefix() . 'cmts',
             'ownFields' => array('cmt_id', 'cmt_object_id', 'cmt_author_id', 'cmt_text', 'cmt_time'),
             'ownFields' => array('cmt_id', 'cmt_object_id', 'cmt_author_id', 'cmt_text', 'cmt_time'),
             'searchFields' => array('cmt_text'),
             'searchFields' => array('cmt_text'),
@@ -34,7 +36,7 @@ class BxBaseModGeneralCmtsSearchResult extends BxBaseModGeneralSearchResult
             ),
             ),
             'paginate' => array('start' => 0),
             'paginate' => array('start' => 0),
             'sorting' => 'last',
             'sorting' => 'last',
-			'ident' => 'cmt_id'
+            'ident' => 'cmt_id'
         );
         );
 
 
         $this->sBrowseUrl = BX_DOL_SEARCH_KEYWORD_PAGE;
         $this->sBrowseUrl = BX_DOL_SEARCH_KEYWORD_PAGE;
@@ -47,25 +49,33 @@ class BxBaseModGeneralCmtsSearchResult extends BxBaseModGeneralSearchResult
 
 
     function displaySearchUnit($aData)
     function displaySearchUnit($aData)
     {
     {
-		$oCmts = BxDolCmts::getObjectInstance($this->sModuleObjectComments, $aData['object_id']);
-		$oCmts->addCssJs();
-
-		if($this->_bLiveSearch) {
-			$aCnf = &$this->oModule->_oConfig->CNF;
-
-			return $oCmts->getCommentLiveSearch($aData['id'], array(
-				'txt_sample_single' => isset($aCnf['T']['txt_sample_comment_single']) ? $aCnf['T']['txt_sample_comment_single'] : ''
-			));
-		}
-		else
-			return $oCmts->getComment(isset($aData['cmt_id']) ? $aData['cmt_id'] : $aData['id'], array(), array('type' => BX_CMT_DISPLAY_FLAT, 'view_only' => true));
+        $oCmts = BxDolCmts::getObjectInstance($this->sModuleObjectComments, $aData['object_id']);
+        $oCmts->addCssJs();
+
+        if($this->_bLiveSearch) {
+            $CNF = &$this->oModule->_oConfig->CNF;
+
+            return $oCmts->getCommentLiveSearch($aData['id'], array(
+                'txt_sample_single' => isset($CNF['T']['txt_sample_comment_single']) ? $CNF['T']['txt_sample_comment_single'] : ''
+            ));
+        }
+        else {
+            if(!isset($this->aCommentsAddons[$aData['object_id']]))
+                $this->aCommentsAddons[$aData['object_id']] = '';
+
+            return $oCmts->getCommentSearch(isset($aData['cmt_id']) ? $aData['cmt_id'] : $aData['id'], $this->aCommentsAddons[$aData['object_id']]);
+        }
     }
     }
 
 
     function displayResultBlock ()
     function displayResultBlock ()
     {
     {
-        $s = parent::displayResultBlock ();
-        $s = '<ul class="cmts">' . $s . '</ul>';
-        return $s;
+        $sCode = '<ul class="cmts">' . parent::displayResultBlock() . '</ul>';
+
+        if(!empty($this->aCommentsAddons) && is_array($this->aCommentsAddons))
+            foreach($this->aCommentsAddons as $sCommentsAddon)
+                $sCode .= $sCommentsAddon;
+
+        return $sCode;
     }
     }
 
 
     function getAlterOrder()
     function getAlterOrder()

+ 2 - 0
template/comment_search.html

@@ -0,0 +1,2 @@
+__comment__
+__view_image_popup__

+ 17 - 1
template/scripts/BxBaseCmts.php

@@ -259,7 +259,23 @@ class BxBaseCmts extends BxDolCmts
         ), $this->_getTmplVarsAuthor($aCmt), $this->_getTmplVarsText($aCmt)));
         ), $this->_getTmplVarsAuthor($aCmt), $this->_getTmplVarsText($aCmt)));
     }
     }
 
 
-	/**
+    function getCommentSearch($iCmtId, &$sAddon)
+    {
+        if(empty($sAddon))
+            $sAddon = $this->getJsScript();
+
+        $sComment = $this->getComment($iCmtId, array(), array(
+            'type' => BX_CMT_DISPLAY_FLAT, 
+            'view_only' => true
+        ));
+
+        return BxDolTemplate::getInstance()->parseHtmlByName('comment_search.html', array(
+            'comment' => $sComment,
+            'view_image_popup' => $this->_getViewImagePopup(), 
+        )); 
+    }
+
+    /**
      * get one comment for "Live Search"
      * get one comment for "Live Search"
      *
      *
      * @param  int    $iCmtId - comment id
      * @param  int    $iCmtId - comment id