Bläddra i källkod

Ticket #4561 - Ads: Enhancements. Point 1.

AntonLV 2 år sedan
förälder
incheckning
d5b6b757d4

+ 2 - 0
modules/boonex/ads/classes/BxAdsConfig.php

@@ -121,10 +121,12 @@ class BxAdsConfig extends BxBaseModTextConfig
             // page URIs
             'URI_VIEW_ENTRY' => 'view-ad',
             'URI_VIEW_ENTRY_OFFERS' => 'view-ad-offers',
+            'URI_VIEW_ENTRY_PROMOTION' => 'view-ad-promotion',
             'URI_AUTHOR_ENTRIES' => 'ads-author',
             'URI_ENTRIES_BY_CONTEXT' => 'ads-context',
             'URI_ADD_ENTRY' => 'create-ad',
             'URI_EDIT_ENTRY' => 'edit-ad',
+            'URI_EDIT_ENTRY_BUDGET' => 'edit-ad-budget',
             'URI_MANAGE_COMMON' => 'ads-manage',
 
             'URL_HOME' => 'page.php?i=ads-home',

+ 46 - 0
modules/boonex/ads/classes/BxAdsGridCommon.php

@@ -17,6 +17,52 @@ class BxAdsGridCommon extends BxBaseModTextGridCommon
 
         parent::__construct ($aOptions, $oTemplate);
     }
+
+    protected function _getActionPromotion($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = [])
+    {
+    	if(!$this->_oModule->_oConfig->isPromotion())
+            return '';
+
+    	$CNF = &$this->_oModule->_oConfig->CNF;
+
+        $sUrl = bx_absolute_url(BxDolPermalinks::getInstance()->permalink('page.php?i=' . $CNF['URI_VIEW_ENTRY_PROMOTION'] . '&id=' . $aRow[$CNF['FIELD_ID']]));
+
+        if(bx_is_api()) {
+            $a['type'] = 'link';
+            $a['name'] = $sKey;
+            $a['url'] = bx_api_get_relative_url($sUrl);
+            return $a;
+        }
+
+    	$a['attr'] = array_merge($a['attr'], [
+            "onclick" => "window.open('" . $sUrl . "','_self');"
+    	]);
+
+    	return $this->_getActionDefault ($sType, $sKey, $a, $isSmall, $isDisabled, $aRow);
+    }
+
+    protected function _getActionEditBudget($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = [])
+    {
+    	if(!$this->_oModule->_oConfig->isPromotion())
+            return '';
+
+    	$CNF = &$this->_oModule->_oConfig->CNF;
+
+        $sUrl = bx_absolute_url(BxDolPermalinks::getInstance()->permalink('page.php?i=' . $CNF['URI_EDIT_ENTRY_BUDGET'] . '&id=' . $aRow[$CNF['FIELD_ID']]));
+
+        if(bx_is_api()) {
+            $a['type'] = 'link';
+            $a['name'] = $sKey;
+            $a['url'] = bx_api_get_relative_url($sUrl);
+            return $a;
+        }
+
+    	$a['attr'] = array_merge($a['attr'], [
+            "onclick" => "window.open('" . $sUrl . "','_self');"
+    	]);
+
+    	return $this->_getActionDefault ($sType, $sKey, $a, $isSmall, $isDisabled, $aRow);
+    }
 }
 
 /** @} */

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

@@ -433,7 +433,9 @@
     <string name="_bx_ads_grid_column_title_adm_title"><![CDATA[Title]]></string>
     <string name="_bx_ads_grid_column_title_adm_added"><![CDATA[Added]]></string>
     <string name="_bx_ads_grid_column_title_adm_author"><![CDATA[Author]]></string>
+    <string name="_bx_ads_grid_action_title_adm_promotion"><![CDATA[Promotion]]></string>
     <string name="_bx_ads_grid_action_title_adm_edit"><![CDATA[Edit]]></string>
+    <string name="_bx_ads_grid_action_title_adm_edit_budget"><![CDATA[Edit budget]]></string>
     <string name="_bx_ads_grid_action_title_adm_delete"><![CDATA[Delete]]></string>
     <string name="_bx_ads_grid_action_title_adm_more_actions"><![CDATA[More Actions]]></string>
     <string name="_bx_ads_grid_action_title_adm_audit_content"><![CDATA[Audit]]></string>

+ 6 - 4
modules/boonex/ads/install/sql/enable.sql

@@ -291,7 +291,7 @@ INSERT INTO `sys_menu_items`(`set_name`, `module`, `name`, `title_system`, `titl
 ('bx_ads_view', 'bx_ads', 'make-offer', '_bx_ads_menu_item_title_system_make_offer', '_bx_ads_menu_item_title_make_offer', 'javascript:void(0);', 'javascript:{js_object}.makeOffer(this, {content_id})', '', 'hand-holding-usd', '', 2147483647, 1, 0, 16),
 ('bx_ads_view', 'bx_ads', 'view-offers', '_bx_ads_menu_item_title_system_view_offers', '_bx_ads_menu_item_title_view_offers', 'page.php?i=view-ad-offers&id={content_id}', '', '', 'handshake', '', 2147483647, 1, 0, 17),
 ('bx_ads_view', 'bx_ads', 'edit-ad', '_bx_ads_menu_item_title_system_edit_entry', '_bx_ads_menu_item_title_edit_entry', 'page.php?i=edit-ad&id={content_id}', '', '', 'pencil-alt', '', 2147483647, 1, 0, 20),
-('bx_ads_view', 'bx_ads', 'edit-ad-budget', '_bx_ads_menu_item_title_system_edit_entry_budget', '_bx_ads_menu_item_title_edit_entry_budget', 'page.php?i=edit-ad-budget&id={content_id}', '', '', 'pencil-alt', '', 2147483647, 1, 0, 21),
+('bx_ads_view', 'bx_ads', 'edit-ad-budget', '_bx_ads_menu_item_title_system_edit_entry_budget', '_bx_ads_menu_item_title_edit_entry_budget', 'page.php?i=edit-ad-budget&id={content_id}', '', '', 'pencil-ruler', '', 2147483647, 1, 0, 21),
 ('bx_ads_view', 'bx_ads', 'view-ad-promotion', '_bx_ads_menu_item_title_system_view_promotion', '_bx_ads_menu_item_title_view_promotion', 'page.php?i=view-ad-promotion&id={content_id}', '', '', 'chart-pie', '', 2147483647, 1, 0, 22),
 ('bx_ads_view', 'bx_ads', 'delete-ad', '_bx_ads_menu_item_title_system_delete_entry', '_bx_ads_menu_item_title_delete_entry', 'page.php?i=delete-ad&id={content_id}', '', '', 'remove', '', 2147483647, 1, 0, 30),
 ('bx_ads_view', 'bx_ads', 'approve', '_sys_menu_item_title_system_va_approve', '_sys_menu_item_title_va_approve', 'javascript:void(0)', 'javascript:bx_approve(this,  ''{module_uri}'', {content_id});', '', 'check', '', 2147483647, 1, 0, 40),
@@ -580,9 +580,11 @@ INSERT INTO `sys_grid_actions` (`object`, `type`, `name`, `title`, `icon`, `icon
 ('bx_ads_administration', 'single', 'audit_content', '_bx_ads_grid_action_title_adm_audit_content', 'search', 1, 0, 4),
 
 ('bx_ads_common', 'bulk', 'delete', '_bx_ads_grid_action_title_adm_delete', '', 0, 1, 1),
-('bx_ads_common', 'single', 'edit', '_bx_ads_grid_action_title_adm_edit', 'pencil-alt', 1, 0, 1),
-('bx_ads_common', 'single', 'delete', '_bx_ads_grid_action_title_adm_delete', 'remove', 1, 1, 2),
-('bx_ads_common', 'single', 'settings', '_bx_ads_grid_action_title_adm_more_actions', 'cog', 1, 0, 3);
+('bx_ads_common', 'single', 'promotion', '_bx_ads_grid_action_title_adm_promotion', 'chart-pie', 1, 0, 1),
+('bx_ads_common', 'single', 'edit', '_bx_ads_grid_action_title_adm_edit', 'pencil-alt', 1, 0, 2),
+('bx_ads_common', 'single', 'edit_budget', '_bx_ads_grid_action_title_adm_edit_budget', 'pencil-ruler', 1, 0, 3),
+('bx_ads_common', 'single', 'delete', '_bx_ads_grid_action_title_adm_delete', 'remove', 1, 1, 4),
+('bx_ads_common', 'single', 'settings', '_bx_ads_grid_action_title_adm_more_actions', 'cog', 1, 0, 5);
 
 -- GRIDS: licenses
 INSERT INTO `sys_objects_grid` (`object`, `source_type`, `source`, `table`, `field_id`, `field_order`, `field_active`, `paginate_url`, `paginate_per_page`, `paginate_simple`, `paginate_get_start`, `paginate_get_per_page`, `filter_fields`, `filter_fields_translatable`, `filter_mode`, `sorting_fields`, `sorting_fields_translatable`, `visible_for_levels`, `override_class_name`, `override_class_file`) VALUES

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

@@ -429,7 +429,9 @@
     <string name="_bx_ads_grid_column_title_adm_title"><![CDATA[Заголовок]]></string>
     <string name="_bx_ads_grid_column_title_adm_added"><![CDATA[Добавлено]]></string>
     <string name="_bx_ads_grid_column_title_adm_author"><![CDATA[Автор]]></string>
+    <string name="_bx_ads_grid_action_title_adm_promotion"><![CDATA[Реклама]]></string>
     <string name="_bx_ads_grid_action_title_adm_edit"><![CDATA[Редактировать]]></string>
+    <string name="_bx_ads_grid_action_title_adm_edit_budget"><![CDATA[Редактировать бюджет]]></string>
     <string name="_bx_ads_grid_action_title_adm_delete"><![CDATA[Удалить]]></string>
     <string name="_bx_ads_grid_action_title_adm_more_actions"><![CDATA[Дополнительные действия]]></string>
     <string name="_bx_ads_grid_action_title_adm_audit_content"><![CDATA[Аудит]]></string>