ソースを参照

Ticket #4561 - Ads: Enhancements. Part ¹2.

AntonLV 2 年 前
親
コミット
088c726a7a

+ 1 - 3
modules/boonex/ads/classes/BxAdsModule.php

@@ -345,12 +345,10 @@ class BxAdsModule extends BxBaseModTextModule
             if(!empty($aEntry) && is_array($aEntry) && !empty($aEntry[$CNF['FIELD_URL']]))
                 $sUrl = $aEntry[$CNF['FIELD_URL']];
         }
-        else
-            $sUrl = $this->_oConfig->getViewEntryUrl($iId);
 
         return [
             'code' => 0,
-            'redirect' => $sUrl
+            'redirect' => !empty($sUrl) ? $sUrl : $this->_oConfig->getViewEntryUrl($iId)
         ];
     }
 

+ 15 - 9
modules/boonex/ads/classes/BxAdsTemplate.php

@@ -27,7 +27,7 @@ class BxAdsTemplate extends BxBaseModTextTemplate
     {
         $CNF = &$this->_oConfig->CNF;
 
-        $sDateFrom = date('Y-m-d', time() - 30*24*60*60);
+        $sDateFrom = date('Y-m-d', $aContentInfo[$CNF['FIELD_ADDED']]);
         $sDateTo = date('Y-m-d', time());
 
         $aForm = [
@@ -148,6 +148,7 @@ class BxAdsTemplate extends BxBaseModTextTemplate
         $aTmplVarsDataSet['backgroundColor'][] = '#' . dechex(rand(0x000000, 0xFFFFFF));
 
         //--- Get income external (from source)
+        $iValueSource = 0;
         if($this->_oConfig->isSources()) {
             $oSource = $this->_oModule->getObjectSource($aContentInfo[$CNF['FIELD_SOURCE_TYPE']], $aContentInfo[$CNF['FIELD_AUTHOR']]);
             if($oSource !== false && !empty($aContentInfo[$CNF['FIELD_SOURCE']])) {
@@ -158,7 +159,6 @@ class BxAdsTemplate extends BxBaseModTextTemplate
                 ]);
 
                 $sTitleSource = bx_html_attribute(_t($CNF['T']['chart_label_roi_source']));
-                $iValueSource = 0;
                 foreach($aOrders as $aOrder)
                     $iValueSource += $aOrder['amount'];
 
@@ -176,20 +176,26 @@ class BxAdsTemplate extends BxBaseModTextTemplate
         $aTmplVarsDataSet['data'][] = $iValueInvestment;
         $aTmplVarsDataSet['backgroundColor'][] = '#' . dechex(rand(0x000000, 0xFFFFFF));
 
+        $fRoi = 100 * ($iValueLocal + $iValueSource - $iValueInvestment)/$iValueInvestment;
+
         if($this->_bIsApi)
             return [
                 'labels' => $aTmplVarsDataLabels,
-                'dataset' => $aTmplVarsDataSet
+                'dataset' => $aTmplVarsDataSet,
+                'roi' => $fRoi
             ];
 
         $this->addJs(['chart.min.js']);
         $this->addCss(['chart.css']);
-        return $this->parseHtmlByName('chart_stats.html', [
-            'chart_id' => $this->MODULE . '_chart_roi',
-            'chart_data' => json_encode([
-                'labels' => $aTmplVarsDataLabels,
-                'datasets' => [$aTmplVarsDataSet]
-            ])
+        return $this->parseHtmlByName('entry-roi.html', [
+            'chart' => $this->parseHtmlByName('chart_stats.html', [
+                'chart_id' => $this->MODULE . '_chart_roi',
+                'chart_data' => json_encode([
+                    'labels' => $aTmplVarsDataLabels,
+                    'datasets' => [$aTmplVarsDataSet]
+                ])
+            ]),
+            'roi' => round($fRoi, 1)
         ]);
     }
 

+ 2 - 1
modules/boonex/ads/install/langs/en.xml

@@ -464,9 +464,10 @@
     <string name="_bx_ads_chart_promotion_growth_speed"><![CDATA[Ad Promotion: Growth Speed]]></string>
     <string name="_bx_ads_chart_label_impressions"><![CDATA[Impressions]]></string>
     <string name="_bx_ads_chart_label_clicks"><![CDATA[Clicks]]></string>
+    <string name="_bx_ads_chart_label_roi"><![CDATA[ROI]]></string>
     <string name="_bx_ads_chart_label_roi_local"><![CDATA[Local income]]></string>
     <string name="_bx_ads_chart_label_roi_source"><![CDATA[External income]]></string>
-    <string name="_bx_ads_chart_label_roi_investment"><![CDATA[Investments]]></string>
+    <string name="_bx_ads_chart_label_roi_investment"><![CDATA[Investment]]></string>
 
     <string name="_bx_ads_search_extended"><![CDATA[Ads Search]]></string>
     <string name="_bx_ads_search_extended_cmts"><![CDATA[Ads Comments Search]]></string>

+ 2 - 0
modules/boonex/ads/template/entry-roi.html

@@ -0,0 +1,2 @@
+<div>__chart__</div>
+<div class="mt-4 text-lg"><bx_text:_bx_ads_chart_label_roi />: <span class="font-bold">__roi__%</span></div>

+ 1 - 0
modules/boonex/russian/data/langs/bx_ads/ru.xml

@@ -460,6 +460,7 @@
     <string name="_bx_ads_chart_promotion_growth_speed"><![CDATA[Реклама объявления: Скорость развития]]></string>
     <string name="_bx_ads_chart_label_impressions"><![CDATA[Показы]]></string>
     <string name="_bx_ads_chart_label_clicks"><![CDATA[Клики]]></string>
+    <string name="_bx_ads_chart_label_roi"><![CDATA[Рентабельность инвестиций (ROI)]]></string>
     <string name="_bx_ads_chart_label_roi_local"><![CDATA[Локальный доход]]></string>
     <string name="_bx_ads_chart_label_roi_source"><![CDATA[Внешний доход]]></string>
     <string name="_bx_ads_chart_label_roi_investment"><![CDATA[Вложения]]></string>