AntonLV 7 лет назад
Родитель
Сommit
d2b6eb8091
3 измененных файлов с 11 добавлено и 12 удалено
  1. 3 3
      inc/classes/BxDolCmts.php
  2. 1 1
      inc/classes/BxDolCmtsQuery.php
  3. 7 8
      template/scripts/BxBaseCmts.php

+ 3 - 3
inc/classes/BxDolCmts.php

@@ -158,6 +158,8 @@ class BxDolCmts extends BxDolFactory implements iBxDolReplaceable, iBxDolContent
     protected $_sMenuObjActions;
     protected $_sMenuObjActions;
     protected $_sMenuObjMeta;
     protected $_sMenuObjMeta;
 
 
+    protected $_sMetatagsObj;
+
     protected $_sViewUrl = '';
     protected $_sViewUrl = '';
     protected $_sBaseUrl = '';
     protected $_sBaseUrl = '';
     protected $_sListAnchor = '';
     protected $_sListAnchor = '';
@@ -1443,10 +1445,8 @@ class BxDolCmts extends BxDolFactory implements iBxDolReplaceable, iBxDolContent
     	$s = bx_process_output($s, $iDataAction);
     	$s = bx_process_output($s, $iDataAction);
     	$s = bx_linkify_html($s, 'class="' . BX_DOL_LINK_CLASS . '"');
     	$s = bx_linkify_html($s, 'class="' . BX_DOL_LINK_CLASS . '"');
 
 
-        if ($this->_sMetatagsObj && $iCmtId) {
-            $oMetatags = BxDolMetatags::getObjectInstance($this->_sMetatagsObj);
+        if($iCmtId && $this->_sMetatagsObj && ($oMetatags = BxDolMetatags::getObjectInstance($this->_sMetatagsObj)) !== false)
             $s = $oMetatags->metaParse($this->_oQuery->getUniqId($this->_aSystem['system_id'], $iCmtId), $s);
             $s = $oMetatags->metaParse($this->_oQuery->getUniqId($this->_aSystem['system_id'], $iCmtId), $s);
-        }
 
 
         return $s;
         return $s;
     }
     }

+ 1 - 1
inc/classes/BxDolCmtsQuery.php

@@ -506,7 +506,7 @@ class BxDolCmtsQuery extends BxDolDb
     function getUniqId($iSystemId, $iCmtId, $iAuthorId = 0)
     function getUniqId($iSystemId, $iCmtId, $iAuthorId = 0)
     {
     {
         $sQuery = $this->prepare("SELECT `id` FROM `{$this->_sTableIds}` WHERE `system_id` = ? AND `cmt_id` = ?", $iSystemId, $iCmtId);
         $sQuery = $this->prepare("SELECT `id` FROM `{$this->_sTableIds}` WHERE `system_id` = ? AND `cmt_id` = ?", $iSystemId, $iCmtId);
-        if($iUniqId = $this->getOne($sQuery))
+        if(($iUniqId = (int)$this->getOne($sQuery)) != 0)
             return $iUniqId;
             return $iUniqId;
 
 
         if(empty($iAuthorId))
         if(empty($iAuthorId))

+ 7 - 8
template/scripts/BxBaseCmts.php

@@ -819,6 +819,8 @@ class BxBaseCmts extends BxDolCmts
 
 
             $iCmtId = (int)$oForm->insert(array('cmt_vparent_id' => $iCmtVisualParentId, 'cmt_object_id' => $this->_iId, 'cmt_author_id' => $iCmtAuthorId, 'cmt_level' => $iLevel, 'cmt_time' => time()));
             $iCmtId = (int)$oForm->insert(array('cmt_vparent_id' => $iCmtVisualParentId, 'cmt_object_id' => $this->_iId, 'cmt_author_id' => $iCmtAuthorId, 'cmt_level' => $iLevel, 'cmt_time' => time()));
             if($iCmtId != 0) {
             if($iCmtId != 0) {
+                $iCmtUniqId = $this->_oQuery->getUniqId($this->_aSystem['system_id'], $iCmtId, $iCmtAuthorId);
+
                 if($this->isAttachImageEnabled()) {
                 if($this->isAttachImageEnabled()) {
                     $aImages = $oForm->getCleanValue('cmt_image');
                     $aImages = $oForm->getCleanValue('cmt_image');
                     if(!empty($aImages) && is_array($aImages)) {
                     if(!empty($aImages) && is_array($aImages)) {
@@ -841,10 +843,8 @@ class BxBaseCmts extends BxDolCmts
 
 
                 $this->isPostReplyAllowed(true);
                 $this->isPostReplyAllowed(true);
 
 
-                if ($this->_sMetatagsObj) {
-                    $oMetatags = BxDolMetatags::getObjectInstance($this->_sMetatagsObj);
-                    $oMetatags->metaAdd($this->_oQuery->getUniqId($this->_aSystem['system_id'], $iCmtId, $iCmtAuthorId), $sCmtText);
-                }
+                if($this->_sMetatagsObj && ($oMetatags = BxDolMetatags::getObjectInstance($this->_sMetatagsObj)) !== false)
+                    $oMetatags->metaAdd($iCmtUniqId, $sCmtText);
 
 
                 $this->onPostAfter($iCmtId);
                 $this->onPostAfter($iCmtId);
 
 
@@ -876,13 +876,12 @@ class BxBaseCmts extends BxDolCmts
             $sCmtText = $oForm->getCleanValue('cmt_text');
             $sCmtText = $oForm->getCleanValue('cmt_text');
 
 
             if($oForm->update($iCmtId) !== false) {
             if($oForm->update($iCmtId) !== false) {
+                $iCmtUniqId = $this->_oQuery->getUniqId($this->_aSystem['system_id'], $iCmtId, (int)$aCmt['cmt_author_id']);
 
 
                 $this->isEditAllowed($aCmt, true);
                 $this->isEditAllowed($aCmt, true);
 
 
-                if ($this->_sMetatagsObj) {
-                    $oMetatags = BxDolMetatags::getObjectInstance($this->_sMetatagsObj);
-                    $oMetatags->metaAdd($this->_oQuery->getUniqId($this->_aSystem['system_id'], $iCmtId), $sCmtText);
-                }
+                if($this->_sMetatagsObj && ($oMetatags = BxDolMetatags::getObjectInstance($this->_sMetatagsObj)) !== false)
+                    $oMetatags->metaAdd($iCmtUniqId, $sCmtText);
 
 
                 $this->onEditAfter($iCmtId);
                 $this->onEditAfter($iCmtId);