AntonLV 13 лет назад
Родитель
Сommit
80958ea3a5

+ 3 - 3
install/sql/v70.sql

@@ -2948,9 +2948,9 @@ INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `titl
 ('sys_cmts_item_manage', 'system', 'item-delete', '_sys_menu_item_title_system_cmts_item_delete', '_sys_menu_item_title_cmts_item_delete', 'javascript:void(0)', 'javascript:{js_object}.cmtRemove(this, {content_id})', '_self', 'remove', '', 2147483647, 1, 0, 0);
 
 -- comment actions menu
-INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `order`) VALUES 
-('sys_cmts_item_actions', 'system', 'item-vote', '_sys_menu_item_title_system_cmts_item_vote', '_sys_menu_item_title_cmts_item_vote', 'javascript:void(0)', 'javascript:{vote_onclick}', '_self', 'plus', '', 2147483647, 1, 0, 1),
-('sys_cmts_item_actions', 'system', 'item-reply', '_sys_menu_item_title_system_cmts_item_reply', '_sys_menu_item_title_cmts_item_reply', 'javascript:void(0)', 'javascript:{js_object}.toggleReply(this, {content_id})', '_self', 'reply', '', 2147483647, 1, 0, 2);
+INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `addon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `order`) VALUES 
+('sys_cmts_item_actions', 'system', 'item-vote', '_sys_menu_item_title_system_cmts_item_vote', '_sys_menu_item_title_cmts_item_vote', 'javascript:void(0)', 'javascript:{vote_onclick}', '_self', 'plus', 'a:4:{s:6:"module";s:6:"system";s:6:"method";s:24:"get_menu_item_addon_vote";s:6:"params";a:3:{i:0;s:12:"{cmt_system}";i:1;s:8:"{cmt_id}";i:2;s:12:"{content_id}";}s:5:"class";s:17:"TemplCmtsServices";}', '', 2147483647, 1, 0, 1),
+('sys_cmts_item_actions', 'system', 'item-reply', '_sys_menu_item_title_system_cmts_item_reply', '_sys_menu_item_title_cmts_item_reply', 'javascript:void(0)', 'javascript:{reply_onclick}', '_self', 'reply', '', '', 2147483647, 1, 0, 2);
 
 -- --------------------------------------------------------
 

+ 21 - 0
modules/boonex/uni/data/template/system/scripts/BxTemplCmtsServices.php

@@ -0,0 +1,21 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
+ * CC-BY License - http://creativecommons.org/licenses/by/3.0/
+ *
+ * @defgroup    DolphinCore Dolphin Core
+ * @{
+ */
+
+bx_import('BxBaseCmtsServices');
+
+/**
+ * @see BxBaseServices
+ */
+class BxTemplCmtsServices extends BxBaseCmtsServices {
+    public function __construct() {
+        parent::__construct();
+    }
+}
+
+/** @} */

+ 5 - 0
template/scripts/BxBaseCmts.php

@@ -318,6 +318,11 @@ class BxBaseCmts extends BxDolCmts {
         return BxTemplStudioFunctions::getInstance()->transBox($this->_sSystem . '-attached-image', $sContent, true);
     }
 
+    public function serviceGetMenuItemAddonVote($iCmtId)
+    {
+    	echo 111; exit;
+    }
+
     /**
      * private functions
      */

+ 4 - 21
template/scripts/BxBaseCmtsMenu.php

@@ -37,9 +37,11 @@ class BxBaseCmtsMenu extends BxTemplMenu
 			$sVotesOnclick = $oVote->getJsClick();
 
 		$this->addMarkers(array(
-    		'js_object' => $oCmts->getJsObjectName(),
+			'cmt_system' => $this->_oCmts->getSystemName(),
+			'cmt_id' => $this->_oCmts->getId(),
+			'content_id' => $iCmtId,
 			'vote_onclick' => $sVotesOnclick,
-			'content_id' => $iCmtId
+			'rate_onclick' => $oCmts->getJsObjectName() . '.toggleReply(this, ' . $iCmtId . ')',
     	));
     }
 
@@ -83,25 +85,6 @@ class BxBaseCmtsMenu extends BxTemplMenu
 
 		return call_user_func_array(array($this->_oCmts, $sCheckFuncName), $aCheckFuncParams);
     }
-
-	/** 
-     * Get menu items array, which are ready to pass to template.
-     * @return array
-     */
-    protected function _getMenuItems() {
-    	$aItems = parent::_getMenuItems();
-
-    	foreach($aItems as $iKey => $aItem)
-    		switch($aItem['name']) {
-    			case 'item-vote':
-    				$oVote = $this->_oCmts->getVoteObject($this->_aCmt['cmt_id']);
-					if($oVote !== false)
-						$aItems[$iKey]['addon'] = $oVote->getCounter();
-    				break;
-    		}
-
-		return $aItems;
-    }
 }
 
 /** @} */

+ 30 - 0
template/scripts/BxBaseCmtsServices.php

@@ -0,0 +1,30 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
+ * CC-BY License - http://creativecommons.org/licenses/by/3.0/
+ *
+ * @defgroup    DolphinCore Dolphin Core
+ * @{
+ */
+
+/**
+ * System services related to Comments.
+ */
+class BxBaseCmtsServices extends BxDol {
+    public function __construct() {
+        parent::__construct();
+    }
+
+    public function serviceGetMenuItemAddonVote($sSystem, $iId, $iCmtId) {
+    	bx_import('BxDolCmts');
+    	$oCmts = BxDolCmts::getObjectInstance($sSystem, $iId);
+
+    	$oVote = $oCmts->getVoteObject($iCmtId);
+    	if($oVote !== false)
+    		return $oVote->getCounter();
+
+    	return '';
+    }
+}
+
+/** @} */