Przeglądaj źródła

Ticket #4844 - Reputation module.

AntonLV 1 rok temu
rodzic
commit
e97347557b

+ 18 - 3
modules/boonex/reputation/classes/BxReputationModule.php

@@ -64,12 +64,20 @@ class BxReputationModule extends BxBaseModNotificationsModule
         if(($iGetPerPage = bx_get('per_page')) !== false)
             $iLimit = (int)$iGetPerPage;
 
-        return $this->_oTemplate->getBlockActions($iStart, $iLimit);
+        $mixedResult = $this->_oTemplate->getBlockActions($iStart, $iLimit);
+
+        return !$this->_bIsApi ? $mixedResult : [
+            bx_api_get_block('reputation_actions', $mixedResult)
+        ];
     }
 
     public function serviceGetBlockLevels()
     {
-        return $this->_oTemplate->getBlockLevels();
+        $mixedResult = $this->_oTemplate->getBlockLevels();
+
+        return !$this->_bIsApi ? $mixedResult : [
+            bx_api_get_block('reputation_levels', $mixedResult)
+        ];
     }
 
     public function serviceGetBlockSummary($iProfileId = 0)
@@ -79,7 +87,14 @@ class BxReputationModule extends BxBaseModNotificationsModule
         if(!$iProfileId)
             return false;
 
-        return $this->_oTemplate->getBlockSummary($iProfileId);
+        $mixedResult = $this->_oTemplate->getBlockSummary($iProfileId);
+
+        return !$this->_bIsApi ? $mixedResult : [
+            bx_api_get_block('reputation_summary', array_merge($mixedResult, [
+                'actions_list' => $this->_oTemplate->getBlockActions(),
+                'levels_list' => $this->_oTemplate->getBlockLevels()
+            ]))
+        ];
     }
 
     public function serviceGetBlockHistory($iProfileId = 0, $iStart = 0, $iLimit = 0)

+ 6 - 15
modules/boonex/reputation/classes/BxReputationTemplate.php

@@ -40,9 +40,7 @@ class BxReputationTemplate extends BxBaseModNotificationsTemplate
         }
 
         if($this->_bIsApi)
-            return [
-                bx_api_get_block('reputation_actions', $aTmplVarsActions)
-            ];
+            return $aTmplVarsActions;
 
         $oPaginate = new BxTemplPaginate([
             'start' => $iStart,
@@ -110,12 +108,7 @@ class BxReputationTemplate extends BxBaseModNotificationsTemplate
             ]));
         }
 
-        if($this->_bIsApi)
-            return [
-                bx_api_get_block('reputation_levels', $aTmplVarsLevels)
-            ];
-
-        return $this->parseHtmlByName('block_levels.html', [
+        return $this->_bIsApi ? $aTmplVarsLevels : $this->parseHtmlByName('block_levels.html', [
             'bx_repeat:levels' => $aTmplVarsLevels
         ]);
     }
@@ -172,14 +165,12 @@ class BxReputationTemplate extends BxBaseModNotificationsTemplate
         }
 
         $iProfilePoints = $bProfileInfo ? (int)$aProfileInfo['points'] : 0;
-        
+
         if($this->_bIsApi)
             return [
-                bx_api_get_block('reputation_summary', [
-                    'author_data' => BxDolProfile::getData($iProfileId),
-                    'points' => $iProfilePoints,
-                    'levels' => $aTmplVarsLevels,
-                ])
+                'author_data' => BxDolProfile::getData($iProfileId),
+                'points' => $iProfilePoints,
+                'levels' => $aTmplVarsLevels,
             ];
 
         return $this->parseHtmlByName('block_summary.html', [

+ 10 - 0
modules/boonex/reputation/install/langs/en.xml

@@ -97,6 +97,16 @@
     <string name="_bx_reputation_msg_assign_levels"><![CDATA[Reputation levels ware successfully assigned to {0} profiles.]]></string>
 
     <!-- Other -->
+    <string name="_bx_reputation_txt_level_newcomer"><![CDATA[Newcomer]]></string>
+    <string name="_bx_reputation_txt_level_explorer"><![CDATA[Explorer]]></string>
+    <string name="_bx_reputation_txt_level_contributor"><![CDATA[Contributor]]></string>
+    <string name="_bx_reputation_txt_level_collaborator"><![CDATA[Collaborator]]></string>
+    <string name="_bx_reputation_txt_level_enthusiast"><![CDATA[Enthusiast]]></string>
+    <string name="_bx_reputation_txt_level_advocate"><![CDATA[Advocate]]></string>
+    <string name="_bx_reputation_txt_level_visionary"><![CDATA[Visionary]]></string>
+    <string name="_bx_reputation_txt_level_luminary"><![CDATA[Luminary]]></string>
+    <string name="_bx_reputation_txt_level_origin"><![CDATA[Origin]]></string>
+
     <string name="_bx_reputation_txt_points"><![CDATA[points]]></string>
     <string name="_bx_reputation_txt_from_to"><![CDATA[{0}]]></string>
     <string name="_bx_reputation_txt_unit_action"><![CDATA[Action]]></string>

+ 11 - 0
modules/boonex/reputation/install/sql/install.sql

@@ -55,6 +55,17 @@ CREATE TABLE IF NOT EXISTS `bx_reputation_levels` (
   UNIQUE KEY `name` (`name`)
 );
 
+INSERT INTO `bx_reputation_levels` (`name`, `title`, `icon`, `points_in`, `points_out`, `date`, `active`, `order`) VALUES
+('newcomer', '_bx_reputation_txt_level_newcomer', '', 1, 4, UNIX_TIMESTAMP(), 1, 1),
+('explorer', '_bx_reputation_txt_level_explorer', '', 5, 19, UNIX_TIMESTAMP(), 1, 2),
+('contributor', '_bx_reputation_txt_level_contributor', '', 20, 49, UNIX_TIMESTAMP(), 1, 3),
+('collaborator', '_bx_reputation_txt_level_collaborator', '', 50, 99, UNIX_TIMESTAMP(), 1, 4),
+('enthusiast', '_bx_reputation_txt_level_enthusiast', '', 100, 499, UNIX_TIMESTAMP(), 1, 5),
+('advocate', '_bx_reputation_txt_level_advocate', '', 500, 1999, UNIX_TIMESTAMP(), 1, 6),
+('visionary', '_bx_reputation_txt_level_visionary', '', 2000, 9999, UNIX_TIMESTAMP(), 1, 7),
+('luminary', '_bx_reputation_txt_level_luminary', '', 10000, 49999, UNIX_TIMESTAMP(), 1, 8),
+('origin', '_bx_reputation_txt_level_origin', '', 50000, 0, UNIX_TIMESTAMP(), 1, 9);
+
 -- TABLE: profiles
 CREATE TABLE IF NOT EXISTS `bx_reputation_profiles` (
   `id` int(11) NOT NULL DEFAULT '0',

+ 10 - 0
modules/boonex/russian/data/langs/bx_reputation/ru.xml

@@ -94,6 +94,16 @@
     <string name="_bx_reputation_msg_assign_levels"><![CDATA[Уровни репутации успешно назначены {0} профилям.]]></string>
 
     <!-- Other -->
+    <string name="_bx_reputation_txt_level_newcomer"><![CDATA[Новичок]]></string>
+    <string name="_bx_reputation_txt_level_explorer"><![CDATA[Исследователь]]></string>
+    <string name="_bx_reputation_txt_level_contributor"><![CDATA[Помощник]]></string>
+    <string name="_bx_reputation_txt_level_collaborator"><![CDATA[Сотрудник]]></string>
+    <string name="_bx_reputation_txt_level_enthusiast"><![CDATA[Энтузиаст]]></string>
+    <string name="_bx_reputation_txt_level_advocate"><![CDATA[Защитник]]></string>
+    <string name="_bx_reputation_txt_level_visionary"><![CDATA[Провидец]]></string>
+    <string name="_bx_reputation_txt_level_luminary"><![CDATA[Светило]]></string>
+    <string name="_bx_reputation_txt_level_origin"><![CDATA[Первоисточник]]></string>
+
     <string name="_bx_reputation_txt_points"><![CDATA[баллов]]></string>
     <string name="_bx_reputation_txt_from_to"><![CDATA[{0}]]></string>
     <string name="_bx_reputation_txt_unit_action"><![CDATA[Действие]]></string>