From cc2572e3f1c76c1266394447d2c53951a9da4289 Mon Sep 17 00:00:00 2001 From: vi Date: Wed, 16 Sep 2015 11:44:31 +1000 Subject: [PATCH] Added working product links --- .../components/amazon-product-links.js.es6 | 139 ++++++++++++------ .../post-bottom/discourse-adplugin.hbs | 3 + .../discourse-adplugin.hbs | 3 + .../discourse-adplugin.hbs | 3 + config/locales/client.en.yml | 6 +- config/locales/server.en.yml | 23 ++- config/settings.yml | 63 ++++++++ 7 files changed, 188 insertions(+), 52 deletions(-) diff --git a/assets/javascripts/discourse/components/amazon-product-links.js.es6 b/assets/javascripts/discourse/components/amazon-product-links.js.es6 index 731656b..f7f315c 100644 --- a/assets/javascripts/discourse/components/amazon-product-links.js.es6 +++ b/assets/javascripts/discourse/components/amazon-product-links.js.es6 @@ -1,14 +1,11 @@ -var amazon_code = ''; var amazon_width = ''; var amazon_height = ''; -var amazon_mobile_width = 320; -var amazon_mobile_height = 50; +var mobile_amazon_width = ''; +var mobile_amazon_height = ''; var user_input = ''; +var user_input_mobile = ''; var currentUser = Discourse.User.current(); var product_type = 'Product/Easy Banner Link'; -var custom_type = 'Native Shopping Ad - Recommended'; -var recommended_type = 'Native Shopping Ad - Custom'; -var search_type = 'Native Shopping Ad - Search'; function splitWidthInt(value) { var str = value.substring(0, 3); @@ -20,62 +17,108 @@ function splitHeightInt(value) { return str.trim(); } -if (Discourse.SiteSettings.amazon_topic_list_top_src_code) { - if (Discourse.SiteSettings.amazon_topic_list_top_ad_category === 'Product/Easy Banner Link' && !((currentUser) && (currentUser.get('trust_level') > Discourse.SiteSettings.amazon_through_trust_level))) { - user_input = Discourse.SiteSettings.amazon_topic_list_top_src_code; - amazon_width = parseInt(Discourse.SiteSettings.amazon_topic_list_top_ad_width_code); - amazon_height = parseInt(Discourse.SiteSettings.amazon_topic_list_top_ad_height_code); - } - //if (Discourse.Mobile.mobileView && Discourse.SiteSettings.adsense_mobile_topic_list_top_code) { - // data["topic-list-top"]["ad_mobile_code"] = Discourse.SiteSettings.adsense_mobile_topic_list_top_code; - //} +var data = { + "topic-list-top" : {}, + "topic-above-post-stream" : {}, + "topic-above-suggested" : {}, + "post-bottom" : {} } -if (Discourse.SiteSettings.amazon_topic_list_top_ad_category === "Native Shopping Ad - Recommended") { - user_input = Discourse.SiteSettings.amazon_topic_list_top_src_code; + +if (Discourse.SiteSettings.amazon_topic_list_top_ad_category === 'Product/Easy Banner Link' && !((currentUser) && (currentUser.get('trust_level') > Discourse.SiteSettings.amazon_through_trust_level))) { + if (!Discourse.Mobile.mobileView && Discourse.SiteSettings.amazon_topic_list_top_src_code) { + data["topic-list-top"]["user_input"] = Discourse.SiteSettings.amazon_topic_list_top_src_code; + data["topic-list-top"]["amazon_width"] = parseInt(Discourse.SiteSettings.amazon_topic_list_top_ad_width_code); + data["topic-list-top"]["amazon_height"] = parseInt(Discourse.SiteSettings.amazon_topic_list_top_ad_height_code); + } + + if (Discourse.Mobile.mobileView && Discourse.SiteSettings.amazon_mobile_topic_list_top_src_code) { + data["topic-list-top"]["user_input_mobile"] = Discourse.SiteSettings.amazon_mobile_topic_list_top_src_code; + data["topic-list-top"]["mobile_amazon_width"] = parseInt(Discourse.SiteSettings.amazon_mobile_topic_list_top_ad_width_code); + data["topic-list-top"]["mobile_amazon_height"] = parseInt(Discourse.SiteSettings.amazon_mobile_topic_list_top_ad_height_code); + } + + if (!Discourse.Mobile.mobileView && Discourse.SiteSettings.amazon_topic_above_post_stream_src_code) { + data["topic-above-post-stream"]["user_input"] = Discourse.SiteSettings.amazon_topic_above_post_stream_src_code; + data["topic-above-post-stream"]["amazon_width"] = parseInt(Discourse.SiteSettings.amazon_topic_above_post_stream_ad_width_code); + data["topic-above-post-stream"]["amazon_height"] = parseInt(Discourse.SiteSettings.amazon_topic_above_post_stream_ad_height_code); + } + + if (Discourse.Mobile.mobileView && Discourse.SiteSettings.amazon_mobile_topic_above_post_stream_src_code) { + data["topic-above-post-stream"]["user_input_mobile"] = Discourse.SiteSettings.amazon_mobile_topic_above_post_stream_src_code; + data["topic-above-post-stream"]["mobile_amazon_width"] = parseInt(Discourse.SiteSettings.amazon_mobile_topic_above_post_stream_ad_width_code); + data["topic-above-post-stream"]["mobile_amazon_height"] = parseInt(Discourse.SiteSettings.amazon_mobile_topic_above_post_stream_ad_height_code); + } + + if (!Discourse.Mobile.mobileView && Discourse.SiteSettings.amazon_topic_above_suggested_src_code) { + data["topic-above-suggested"]["user_input"] = Discourse.SiteSettings.amazon_topic_above_suggested_src_code; + data["topic-above-suggested"]["amazon_width"] = parseInt(Discourse.SiteSettings.amazon_topic_above_suggested_ad_width_code); + data["topic-above-suggested"]["amazon_height"] = parseInt(Discourse.SiteSettings.amazon_topic_above_suggested_ad_height_code); + } + + if (Discourse.Mobile.mobileView && Discourse.SiteSettings.amazon_mobile_topic_above_sugggested_src_code) { + data["topic-above-suggested"]["user_input_mobile"] = Discourse.SiteSettings.amazon_mobile_topic_above_suggested_src_code; + data["topic-above-suggested"]["mobile_amazon_width"] = parseInt(Discourse.SiteSettings.amazon_mobile_topic_above_suggested_ad_width_code); + data["topic-above-suggested"]["mobile_amazon_height"] = parseInt(Discourse.SiteSettings.amazon_mobile_topic_above_suggested_ad_height_code); + } + + if (!Discourse.Mobile.mobileView && Discourse.SiteSettings.amazon_post_bottom_src_code) { + data["post-bottom"]["user_input"] = Discourse.SiteSettings.amazon_post_bottom_src_code; + data["post-bottom"]["amazon_width"] = parseInt(Discourse.SiteSettings.amazon_post_bottom_ad_width_code); + data["post-bottom"]["amazon_height"] = parseInt(Discourse.SiteSettings.amazon_post_bottom_ad_height_code); + } + + if (Discourse.Mobile.mobileView && Discourse.SiteSettings.amazon_mobile_post_bottom_src_code) { + data["post-bottom"]["user_input_mobile"] = Discourse.SiteSettings.amazon_mobile_post_bottom_src_code; + data["post-bottom"]["mobile_amazon_width"] = parseInt(Discourse.SiteSettings.amazon_mobile_post_bottom_ad_width_code); + data["post-bottom"]["mobile_amazon_height"] = parseInt(Discourse.SiteSettings.amazon_mobile_post_bottom_ad_height_code); + } } -/* amazon_tracking_id_code: "Choose Tracking ID Code" - amazon_region_code: "Choose the Generic Amazon Marketplace Region" - amazon_topic_list_top_src_code: "Input your Src code" - amazon_topic_list_top_title_code: "Input your Ad Description" - amazon_topic_list_top_ad_width_code: "Choose your ad width" - amazon_topic_list_top_ad_height_code: "Choose your ad height" - amazon_topic_list_top_custom_product_id_code: "Input relevant ad codes" - amazon_topic_list_top_link_id_code: "Input your Link ID" - amazon_topic_list_top_ad_mode_code: "Choose either manual (custom), auto (recommended), search (search)" - amazon_topic_list_top_fallback_mode_value_code: "Input value that corresponds to type: search" - amazon_topic_list_top_row_ads_code: "Input number of ad display rows" - amazon_topic_list_top_default_category_code: "Input default category" - amazon_topic_list_top_search_phrase_code: "Input search phrase" - amazon_nth_post_code: "Choose the Nth position for your ad to show" - amazon_through_trust_level: "Input trust level" */ + + // amazon_nth_post_code: "Choose the Nth position for your ad to show" + // amazon_through_trust_level: "Input trust level" */ // Ember component - the class is the adblock and css export default Ember.Component.extend({ amazon_width: amazon_width, amazon_height: amazon_height, - amazon_mobile_width: amazon_mobile_width, - amazon_mobile_height: amazon_mobile_height, + mobile_amazon_width: mobile_amazon_width, + mobile_amazon_height: mobile_amazon_height, user_input: user_input, + user_input_mobile: user_input_mobile, product_type: product_type, - recommended_type: recommended_type, - search_type: search_type, - custom_type: custom_type, + // recommended_type: recommended_type, + // search_type: search_type, + // custom_type: custom_type, classNames: ['amazon-product-links'], + init: function() { + this.set('user_input', data[this.placement]["user_input"] ); + this.set('amazon_width', data[this.placement]["amazon_width"] ); + this.set('amazon_height', data[this.placement]["amazon_height"] ); + this.set('user_input_mobile', data[this.placement]["user_input_mobile"] ); + this.set('mobile_amazon_height', data[this.placement]["mobile_amazon_height"] ); + this.set('mobile_amazon_width', data[this.placement]["mobile_amazon_width"] ); + this._super(); + }, + adWrapperStyle: function() { return `width: ${this.get('amazon_width')}px; height: ${this.get('amazon_height')}px;`.htmlSafe(); }.property('amazon_width', 'amazon_height'), adWrapperStyleMobile: function() { - return `width: ${this.get('amazon_mobile_width')}px; height: ${this.get('amazon_mobile_height')}px;`.htmlSafe(); - }.property('amazon_mobile_width', 'amazon_mobile_height'), + return `width: ${this.get('mobile_amazon_width')}px; height: ${this.get('mobile_amazon_height')}px;`.htmlSafe(); + }.property('mobile_amazon_width', 'mobile_amazon_height'), userInput: function() { return `${this.get('user_input')}`.htmlSafe(); }.property('user_input'), + userInputMobile: function() { + return `${this.get('user_input_mobile')}`.htmlSafe(); + }.property('user_input_mobile'), + checkTrustLevels: function() { return !((currentUser) && (currentUser.get('trust_level') > Discourse.SiteSettings.amazon_through_trust_level)); }.property('trust_level'), @@ -84,15 +127,15 @@ export default Ember.Component.extend({ return Discourse.SiteSettings.amazon_topic_list_top_ad_category === this.get('product_type'); }.property('product_type'), - typeRecommendedCategory: function() { - return Discourse.SiteSettings.amazon_topic_list_top_ad_category === this.get('recommended_type'); - }.property('recommended_type'), + // typeRecommendedCategory: function() { + // return Discourse.SiteSettings.amazon_topic_list_top_ad_category === this.get('recommended_type'); + // }.property('recommended_type'), - typeSearchCategory: function() { - return Discourse.SiteSettings.amazon_topic_list_top_ad_category === this.get('search_type'); - }.property('search_type'), + // typeSearchCategory: function() { + // return Discourse.SiteSettings.amazon_topic_list_top_ad_category === this.get('search_type'); + // }.property('search_type'), - typeCustomCategory: function() { - return Discourse.SiteSettings.amazon_topic_list_top_ad_category === this.get('custom_type'); - }.property('custom_type'), + // typeCustomCategory: function() { + // return Discourse.SiteSettings.amazon_topic_list_top_ad_category === this.get('custom_type'); + // }.property('custom_type'), }); \ No newline at end of file diff --git a/assets/javascripts/discourse/templates/connectors/post-bottom/discourse-adplugin.hbs b/assets/javascripts/discourse/templates/connectors/post-bottom/discourse-adplugin.hbs index 813f65e..84f0984 100644 --- a/assets/javascripts/discourse/templates/connectors/post-bottom/discourse-adplugin.hbs +++ b/assets/javascripts/discourse/templates/connectors/post-bottom/discourse-adplugin.hbs @@ -3,4 +3,7 @@ {{/if}} {{#if postSpecificCountDFP}} {{google-dfp-ad placement="post-bottom"}} +{{/if}} +{{#if postSpecificCountAmazon}} + {{amazon-product-links placement="post-bottom"}} {{/if}} \ No newline at end of file diff --git a/assets/javascripts/discourse/templates/connectors/topic-above-post-stream/discourse-adplugin.hbs b/assets/javascripts/discourse/templates/connectors/topic-above-post-stream/discourse-adplugin.hbs index b9d5657..59e6ffd 100644 --- a/assets/javascripts/discourse/templates/connectors/topic-above-post-stream/discourse-adplugin.hbs +++ b/assets/javascripts/discourse/templates/connectors/topic-above-post-stream/discourse-adplugin.hbs @@ -3,4 +3,7 @@ {{/if}} {{#if siteSettings.dfp_topic_above_post_stream_code}} {{google-dfp-ad placement="topic-above-post-stream"}} +{{/if}} +{{#if siteSettings.amazon_topic_above_post_stream_src_code}} + {{amazon-product-links placement="topic-above-post-stream"}} {{/if}} \ No newline at end of file diff --git a/assets/javascripts/discourse/templates/connectors/topic-above-suggested/discourse-adplugin.hbs b/assets/javascripts/discourse/templates/connectors/topic-above-suggested/discourse-adplugin.hbs index c429a37..f739266 100644 --- a/assets/javascripts/discourse/templates/connectors/topic-above-suggested/discourse-adplugin.hbs +++ b/assets/javascripts/discourse/templates/connectors/topic-above-suggested/discourse-adplugin.hbs @@ -3,4 +3,7 @@ {{/if}} {{#if siteSettings.dfp_topic_above_suggested_code}} {{google-dfp-ad placement="topic-above-suggested"}} +{{/if}} +{{#if siteSettings.amazon_topic_above_suggested_src_code}} + {{amazon-product-links placement="topic-above-suggested"}} {{/if}} \ No newline at end of file diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 191c522..853de08 100755 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -3,6 +3,6 @@ en: admin: site_settings: categories: - dfp_plugin: 'DFP Plugin' - adsense_plugin: 'Adsense Plugin' - amazon_plugin: 'Amazon Plugin' \ No newline at end of file + dfp_plugin: 'DFP' + adsense_plugin: 'Adsense' + amazon_plugin: 'Amazon Links/Banners' \ No newline at end of file diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index 8000bb9..5abec75 100755 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -61,4 +61,25 @@ en: amazon_topic_list_top_default_category_code: "Input default category" amazon_topic_list_top_search_phrase_code: "Input search phrase" amazon_nth_post_code: "Choose the Nth position for your ad to show" - amazon_through_trust_level: "Input trust level" \ No newline at end of file + amazon_through_trust_level: "Input trust level" + amazon_mobile_topic_list_top_src_code: "Input your Src code (Mobile)" + amazon_mobile_topic_list_top_ad_width_code: "Choose your ad width (Mobile)" + amazon_mobile_topic_list_top_ad_height_code: "Choose your ad height (Mobile)" + amazon_topic_above_post_stream_src_code: "Input your Src code" + amazon_topic_above_post_stream_ad_width_code: "Choose your ad width" + amazon_topic_above_post_stream_ad_height_code: "Choose your ad height" + amazon_mobile_topic_above_post_stream_src_code: "Input your Src code (Mobile)" + amazon_mobile_topic_above_post_stream_ad_width_code: "Choose your ad width (Mobile)" + amazon_mobile_topic_above_post_stream_ad_height_code: "Choose your ad height (Mobile)" + amazon_topic_above_suggested_src_code: "Input your Src code" + amazon_topic_above_suggested_ad_width_code: "Choose your ad width" + amazon_topic_above_suggested_ad_height_code: "Choose your ad height" + amazon_mobile_topic_above_suggested_src_code: "Input your Src code (Mobile)" + amazon_mobile_topic_above_suggested_ad_width_code: "Choose your ad width (Mobile)" + amazon_mobile_topic_above_suggested_ad_height_code: "Choose your ad height (Mobile)" + amazon_post_bottom_src_code: "Input your Src code" + amazon_post_bottom_ad_width_code: "Choose your ad width" + amazon_post_bottom_ad_height_code: "Choose your ad height" + amazon_mobile_post_bottom_src_code: "Input your Src code (Mobile)" + amazon_mobile_post_bottom_ad_width_code: "Choose your ad width (Mobile)" + amazon_mobile_post_bottom_ad_height_code: "Choose your ad height (Mobile)" \ No newline at end of file diff --git a/config/settings.yml b/config/settings.yml index f9d6c90..e94d7ca 100755 --- a/config/settings.yml +++ b/config/settings.yml @@ -296,6 +296,69 @@ amazon_plugin: amazon_through_trust_level: client: true default: 2 + amazon_mobile_topic_list_top_src_code: + client: true + default: '' + amazon_mobile_topic_list_top_ad_width_code: + client: true + default: '' + amazon_mobile_topic_list_top_ad_height_code: + client: true + default: '' + amazon_topic_above_post_stream_src_code: + client: true + default: '' + amazon_topic_above_post_stream_ad_width_code: + client: true + default: '' + amazon_topic_above_post_stream_ad_height_code: + client: true + default: '' + amazon_mobile_topic_above_post_stream_src_code: + client: true + default: '' + amazon_mobile_topic_above_post_stream_ad_width_code: + client: true + default: '' + amazon_mobile_topic_above_post_stream_ad_height_code: + client: true + default: '' + amazon_topic_above_suggested_src_code: + client: true + default: '' + amazon_topic_above_suggested_ad_width_code: + client: true + default: '' + amazon_topic_above_suggested_ad_height_code: + client: true + default: '' + amazon_mobile_topic_above_suggested_src_code: + client: true + default: '' + amazon_mobile_topic_above_suggested_ad_width_code: + client: true + default: '' + amazon_mobile_topic_above_suggested_ad_height_code: + client: true + default: '' + amazon_post_bottom_src_code: + client: true + default: '' amazon_nth_post_code: + client: true + default: '' + amazon_post_bottom_ad_width_code: + client: true + default: '' + amazon_post_bottom_ad_height_code: + client: true + default: '' + amazon_mobile_post_bottom_src_code: + client: true + default: '' + amazon_mobile_post_bottom_ad_width_code: + client: true + default: '' + amazon_mobile_post_bottom_ad_height_code: client: true default: '' \ No newline at end of file