From 0520d57862af0506e881bb4b65e128f1d2e61ee9 Mon Sep 17 00:00:00 2001 From: Gerhard Schlager Date: Mon, 3 Dec 2018 00:35:18 +0100 Subject: [PATCH 1/7] Inherit rubocop config from discourse repo --- .gitignore | 3 +- .rubocop.yml | 114 +-------------------------------------------------- 2 files changed, 3 insertions(+), 114 deletions(-) diff --git a/.gitignore b/.gitignore index 206b982..2a61502 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ pkg/ auto_generated Gemfile.lock .DS_Store -*.swp \ No newline at end of file +*.swp +.rubocop-https---raw-githubusercontent-com-discourse-discourse-master--rubocop-yml diff --git a/.rubocop.yml b/.rubocop.yml index b897ad3..0ca7eff 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,113 +1 @@ -AllCops: - TargetRubyVersion: 2.4 - DisabledByDefault: true - Exclude: - - 'db/schema.rb' - - 'bundle/**/*' - - 'vendor/**/*' - - 'node_modules/**/*' - - 'public/**/*' - -# Prefer &&/|| over and/or. -Style/AndOr: - Enabled: true - -# Do not use braces for hash literals when they are the last argument of a -# method call. -Style/BracesAroundHashParameters: - Enabled: true - -# Align `when` with `case`. -Layout/CaseIndentation: - Enabled: true - -# Align comments with method definitions. -Layout/CommentIndentation: - Enabled: true - -# No extra empty lines. -Layout/EmptyLines: - Enabled: true - -# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }. -Style/HashSyntax: - Enabled: true - -# Two spaces, no tabs (for indentation). -Layout/IndentationWidth: - Enabled: true - -Layout/SpaceAfterColon: - Enabled: true - -Layout/SpaceAfterComma: - Enabled: true - -Layout/SpaceAroundEqualsInParameterDefault: - Enabled: true - -Layout/SpaceAroundKeyword: - Enabled: true - -Layout/SpaceAroundOperators: - Enabled: true - -Layout/SpaceBeforeFirstArg: - Enabled: true - -# Defining a method with parameters needs parentheses. -Style/MethodDefParentheses: - Enabled: true - -# Use `foo {}` not `foo{}`. -Layout/SpaceBeforeBlockBraces: - Enabled: true - -# Use `foo { bar }` not `foo {bar}`. -Layout/SpaceInsideBlockBraces: - Enabled: true - -# Use `{ a: 1 }` not `{a:1}`. -Layout/SpaceInsideHashLiteralBraces: - Enabled: true - -Layout/SpaceInsideParens: - Enabled: true - -# Detect hard tabs, no hard tabs. -Layout/Tab: - Enabled: true - -# Blank lines should not have any spaces. -Layout/TrailingBlankLines: - Enabled: true - -# No trailing whitespace. -Layout/TrailingWhitespace: - Enabled: true - -Lint/Debugger: - Enabled: true - -Lint/BlockAlignment: - Enabled: true - -# Align `end` with the matching keyword or starting expression except for -# assignments, where it should be aligned with the LHS. -Lint/EndAlignment: - Enabled: true - EnforcedStyleAlignWith: variable - -# Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg. -Lint/RequireParentheses: - Enabled: true - -Layout/MultilineMethodCallIndentation: - Enabled: true - EnforcedStyle: indented - -Layout/AlignHash: - Enabled: true - -Bundler/OrderedGems: - Enabled: false +inherit_from: https://raw.githubusercontent.com/discourse/discourse/master/.rubocop.yml From 00789666d7dd91cdfd6bdc548af9005cd4493879 Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Wed, 9 Jan 2019 20:58:14 +0100 Subject: [PATCH 2/7] Reverts Ember.String.prototype.w monkey patching causing exception The git blame of the commit is unclear on the reasons leading to this, and how to reproduce a failure. --- assets/javascripts/discourse/components/google-dfp-ad.js.es6 | 5 ----- 1 file changed, 5 deletions(-) diff --git a/assets/javascripts/discourse/components/google-dfp-ad.js.es6 b/assets/javascripts/discourse/components/google-dfp-ad.js.es6 index 40ed3e3..b886371 100755 --- a/assets/javascripts/discourse/components/google-dfp-ad.js.es6 +++ b/assets/javascripts/discourse/components/google-dfp-ad.js.es6 @@ -371,8 +371,6 @@ export default Ember.Component.extend({ return; } - const ember_w_function = String.prototype.w; - String.prototype.w = null; var self = this; loadGoogle(this.siteSettings) .then(function() { @@ -395,9 +393,6 @@ export default Ember.Component.extend({ window.googletag.pubads().refresh([slot.ad]); } }); - }) - .finally(function() { - String.prototype.w = ember_w_function; }); }.on("didInsertElement"), From cb445eaaa7620a5637840b18ca2a267589b189e0 Mon Sep 17 00:00:00 2001 From: Eric Berry Date: Mon, 14 Jan 2019 15:08:19 -0700 Subject: [PATCH 3/7] Remove need to only allow UUID as CodeFund Property ID (#71) * Remove need to only allow UUID as CodeFund Property ID * Do not apply format check --- config/settings.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/settings.yml b/config/settings.yml index 944f62b..6d7b628 100755 --- a/config/settings.yml +++ b/config/settings.yml @@ -346,7 +346,6 @@ codefund_plugin: codefund_property_id: client: true default: '' - regex: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' codefund_advertiser_label: client: true default: 'Advertiser' From 4aa6da8913a99573d7eced6005de4db81b40f4be Mon Sep 17 00:00:00 2001 From: Penar Musaraj Date: Mon, 28 Jan 2019 21:39:49 -0500 Subject: [PATCH 4/7] Add support for ads.txt redirect --- config/locales/server.en.yml | 1 + config/settings.yml | 155 ++++++++++++++++++----------------- plugin.rb | 17 ++++ 3 files changed, 97 insertions(+), 76 deletions(-) diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index 93ed448..af9ace4 100755 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -51,6 +51,7 @@ en: adsense_post_bottom_ad_sizes: "Choose your ad size" adsense_mobile_post_bottom_ad_size: "Choose your ad size" adsense_nth_post_code: "Show an ad after every N posts, where N is this value." + adsense_ads_txt_url: "URL of ads.txt file." amazon_through_trust_level: "Show your ads to users based on trust levels. Users with trust level higher than this value will not see ads." amazon_topic_list_top_src_code: "Enter src code to display at topic list top location" diff --git a/config/settings.yml b/config/settings.yml index 6d7b628..14b5d30 100755 --- a/config/settings.yml +++ b/config/settings.yml @@ -1,20 +1,20 @@ adsense_plugin: adsense_publisher_code: client: true - default: '' + default: "" regex: '^[\d]*$' adsense_through_trust_level: client: true default: 2 - enum: 'TrustLevelSetting' + enum: "TrustLevelSetting" adsense_topic_list_top_code: client: true - default: '' + default: "" max: 50 regex: '^[\d]*$' adsense_topic_list_top_ad_sizes: client: true - default: '728*90 - leaderboard' + default: "728*90 - leaderboard" type: enum choices: &adsense_choices - responsive @@ -36,94 +36,97 @@ adsense_plugin: - 690*250 adsense_mobile_topic_list_top_code: client: true - default: '' + default: "" max: 50 regex: '^[\d]*$' adsense_mobile_topic_list_top_ad_size: client: true - default: 'responsive' + default: "responsive" type: enum choices: *adsense_choices adsense_topic_above_post_stream_code: client: true - default: '' + default: "" max: 50 regex: '^[\d]*$' adsense_topic_above_post_stream_ad_sizes: client: true - default: '728*90 - leaderboard' + default: "728*90 - leaderboard" type: enum choices: *adsense_choices adsense_mobile_topic_above_post_stream_code: client: true - default: '' + default: "" max: 50 regex: '^[\d]*$' adsense_mobile_topic_above_post_stream_ad_size: client: true - default: 'responsive' + default: "responsive" type: enum choices: *adsense_choices adsense_topic_above_suggested_code: client: true - default: '' + default: "" max: 50 regex: '^[\d]*$' adsense_topic_above_suggested_ad_sizes: client: true - default: '728*90 - leaderboard' + default: "728*90 - leaderboard" type: enum choices: *adsense_choices adsense_mobile_topic_above_suggested_code: client: true - default: '' + default: "" max: 50 regex: '^[\d]*$' adsense_mobile_topic_above_suggested_ad_size: client: true - default: 'responsive' + default: "responsive" type: enum choices: *adsense_choices adsense_post_bottom_code: client: true - default: '' + default: "" max: 50 regex: '^[\d]*$' adsense_post_bottom_ad_sizes: client: true - default: '728*90 - leaderboard' + default: "728*90 - leaderboard" type: enum choices: *adsense_choices adsense_mobile_post_bottom_code: client: true - default: '' + default: "" max: 50 regex: '^[\d]*$' adsense_mobile_post_bottom_ad_size: client: true - default: 'responsive' + default: "responsive" type: enum choices: *adsense_choices adsense_nth_post_code: client: true - default: '' + default: "" min: 1 + adsense_ads_txt_url: + client: false + default: "" dfp_plugin: dfp_publisher_id: client: true - default: '' + default: "" dfp_through_trust_level: client: true default: 2 - enum: 'TrustLevelSetting' + enum: "TrustLevelSetting" dfp_topic_list_top_code: client: true - default: '' + default: "" max: 50 dfp_topic_list_top_ad_sizes: client: true - default: '728*90 - leaderboard' + default: "728*90 - leaderboard" type: enum choices: &dfp_choices - 728*90 - leaderboard @@ -161,102 +164,102 @@ dfp_plugin: - 168*28 dfp_mobile_topic_list_top_code: client: true - default: '' + default: "" max: 50 dfp_mobile_topic_list_top_ad_sizes: client: true - default: '320*50 - mobile leaderboard' + default: "320*50 - mobile leaderboard" type: enum choices: *dfp_choices dfp_target_topic_list_top_key_code: - default: '' + default: "" type: value_list client: true dfp_target_topic_list_top_value_code: - default: '' + default: "" type: value_list client: true dfp_topic_above_post_stream_code: client: true - default: '' + default: "" max: 50 dfp_topic_above_post_stream_ad_sizes: client: true - default: '728*90 - leaderboard' + default: "728*90 - leaderboard" type: enum choices: *dfp_choices dfp_mobile_topic_above_post_stream_code: client: true - default: '' + default: "" max: 50 dfp_mobile_topic_above_post_stream_ad_sizes: client: true - default: '320*50 - mobile leaderboard' + default: "320*50 - mobile leaderboard" type: enum choices: *dfp_choices dfp_target_topic_above_post_stream_key_code: - default: '' + default: "" type: value_list client: true dfp_target_topic_above_post_stream_value_code: - default: '' + default: "" type: value_list client: true dfp_topic_above_suggested_code: client: true - default: '' + default: "" max: 50 dfp_topic_above_suggested_ad_sizes: client: true - default: '728*90 - leaderboard' + default: "728*90 - leaderboard" type: enum choices: *dfp_choices dfp_mobile_topic_above_suggested_code: client: true - default: '' + default: "" max: 50 dfp_mobile_topic_above_suggested_ad_sizes: client: true - default: '320*50 - mobile leaderboard' + default: "320*50 - mobile leaderboard" type: enum choices: *dfp_choices dfp_target_topic_above_suggested_key_code: - default: '' + default: "" type: value_list client: true dfp_target_topic_above_suggested_value_code: - default: '' + default: "" type: value_list client: true max: 50 dfp_nth_post_code: client: true - default: '' + default: "" min: 1 dfp_post_bottom_code: client: true - default: '' + default: "" max: 50 dfp_post_bottom_ad_sizes: client: true - default: '728*90 - leaderboard' + default: "728*90 - leaderboard" type: enum choices: *dfp_choices dfp_mobile_post_bottom_code: client: true - default: '' + default: "" max: 50 dfp_mobile_post_bottom_ad_sizes: client: true - default: '320*50 - mobile leaderboard' + default: "320*50 - mobile leaderboard" type: enum choices: *dfp_choices dfp_target_post_bottom_key_code: - default: '' + default: "" type: value_list client: true dfp_target_post_bottom_value_code: - default: '' + default: "" type: value_list client: true @@ -264,98 +267,98 @@ amazon_plugin: amazon_through_trust_level: client: true default: 2 - enum: 'TrustLevelSetting' + enum: "TrustLevelSetting" amazon_topic_list_top_src_code: client: true - default: '' + default: "" amazon_topic_list_top_ad_width_code: client: true - default: '' + default: "" amazon_topic_list_top_ad_height_code: client: true - default: '' + default: "" amazon_mobile_topic_list_top_src_code: client: true - default: '' + default: "" amazon_mobile_topic_list_top_ad_width_code: client: true - default: '' + default: "" amazon_mobile_topic_list_top_ad_height_code: client: true - default: '' + default: "" amazon_topic_above_post_stream_src_code: client: true - default: '' + default: "" amazon_topic_above_post_stream_ad_width_code: client: true - default: '' + default: "" amazon_topic_above_post_stream_ad_height_code: client: true - default: '' + default: "" amazon_mobile_topic_above_post_stream_src_code: client: true - default: '' + default: "" amazon_mobile_topic_above_post_stream_ad_width_code: client: true - default: '' + default: "" amazon_mobile_topic_above_post_stream_ad_height_code: client: true - default: '' + default: "" amazon_topic_above_suggested_src_code: client: true - default: '' + default: "" amazon_topic_above_suggested_ad_width_code: client: true - default: '' + default: "" amazon_topic_above_suggested_ad_height_code: client: true - default: '' + default: "" amazon_mobile_topic_above_suggested_src_code: client: true - default: '' + default: "" amazon_mobile_topic_above_suggested_ad_width_code: client: true - default: '' + default: "" amazon_mobile_topic_above_suggested_ad_height_code: client: true - default: '' + default: "" amazon_post_bottom_src_code: client: true - default: '' + default: "" amazon_nth_post_code: client: true - default: '' + default: "" min: 1 amazon_post_bottom_ad_width_code: client: true - default: '' + default: "" amazon_post_bottom_ad_height_code: client: true - default: '' + default: "" amazon_mobile_post_bottom_src_code: client: true - default: '' + default: "" amazon_mobile_post_bottom_ad_width_code: client: true - default: '' + default: "" amazon_mobile_post_bottom_ad_height_code: client: true - default: '' + default: "" codefund_plugin: codefund_property_id: client: true - default: '' + default: "" codefund_advertiser_label: client: true - default: 'Advertiser' + default: "Advertiser" codefund_advertiser_short_label: client: true - default: 'Ad' + default: "Ad" codefund_through_trust_level: client: true default: 2 - enum: 'TrustLevelSetting' + enum: "TrustLevelSetting" codefund_nth_post: client: true default: 4 diff --git a/plugin.rb b/plugin.rb index fff2917..005ef4a 100755 --- a/plugin.rb +++ b/plugin.rb @@ -176,3 +176,20 @@ and (max-width : 775px) { } CSS + +after_initialize do + require_dependency 'application_controller' + class ::AdstxtController < ::ApplicationController + skip_before_action :check_xhr + + def index + raise Discourse::NotFound unless SiteSetting.adsense_ads_txt_url.present? + + redirect_to SiteSetting.adsense_ads_txt_url + end + end + + Discourse::Application.routes.append do + get '/ads.txt' => "adstxt#index" + end +end From 9172a8f40591776f29e45cef7bf81bc0ebbb8b94 Mon Sep 17 00:00:00 2001 From: Penar Musaraj Date: Tue, 29 Jan 2019 16:02:02 -0500 Subject: [PATCH 5/7] Revert "Add support for ads.txt redirect" This reverts commit f6c7c2d1af361f04ecaaaf5b8bb1cecdc11e6c7d. Ads.txt redirection can be done directly in core, in admin/customize/permalinks. --- config/locales/server.en.yml | 1 - config/settings.yml | 155 +++++++++++++++++------------------ plugin.rb | 17 ---- 3 files changed, 76 insertions(+), 97 deletions(-) diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index af9ace4..93ed448 100755 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -51,7 +51,6 @@ en: adsense_post_bottom_ad_sizes: "Choose your ad size" adsense_mobile_post_bottom_ad_size: "Choose your ad size" adsense_nth_post_code: "Show an ad after every N posts, where N is this value." - adsense_ads_txt_url: "URL of ads.txt file." amazon_through_trust_level: "Show your ads to users based on trust levels. Users with trust level higher than this value will not see ads." amazon_topic_list_top_src_code: "Enter src code to display at topic list top location" diff --git a/config/settings.yml b/config/settings.yml index 14b5d30..6d7b628 100755 --- a/config/settings.yml +++ b/config/settings.yml @@ -1,20 +1,20 @@ adsense_plugin: adsense_publisher_code: client: true - default: "" + default: '' regex: '^[\d]*$' adsense_through_trust_level: client: true default: 2 - enum: "TrustLevelSetting" + enum: 'TrustLevelSetting' adsense_topic_list_top_code: client: true - default: "" + default: '' max: 50 regex: '^[\d]*$' adsense_topic_list_top_ad_sizes: client: true - default: "728*90 - leaderboard" + default: '728*90 - leaderboard' type: enum choices: &adsense_choices - responsive @@ -36,97 +36,94 @@ adsense_plugin: - 690*250 adsense_mobile_topic_list_top_code: client: true - default: "" + default: '' max: 50 regex: '^[\d]*$' adsense_mobile_topic_list_top_ad_size: client: true - default: "responsive" + default: 'responsive' type: enum choices: *adsense_choices adsense_topic_above_post_stream_code: client: true - default: "" + default: '' max: 50 regex: '^[\d]*$' adsense_topic_above_post_stream_ad_sizes: client: true - default: "728*90 - leaderboard" + default: '728*90 - leaderboard' type: enum choices: *adsense_choices adsense_mobile_topic_above_post_stream_code: client: true - default: "" + default: '' max: 50 regex: '^[\d]*$' adsense_mobile_topic_above_post_stream_ad_size: client: true - default: "responsive" + default: 'responsive' type: enum choices: *adsense_choices adsense_topic_above_suggested_code: client: true - default: "" + default: '' max: 50 regex: '^[\d]*$' adsense_topic_above_suggested_ad_sizes: client: true - default: "728*90 - leaderboard" + default: '728*90 - leaderboard' type: enum choices: *adsense_choices adsense_mobile_topic_above_suggested_code: client: true - default: "" + default: '' max: 50 regex: '^[\d]*$' adsense_mobile_topic_above_suggested_ad_size: client: true - default: "responsive" + default: 'responsive' type: enum choices: *adsense_choices adsense_post_bottom_code: client: true - default: "" + default: '' max: 50 regex: '^[\d]*$' adsense_post_bottom_ad_sizes: client: true - default: "728*90 - leaderboard" + default: '728*90 - leaderboard' type: enum choices: *adsense_choices adsense_mobile_post_bottom_code: client: true - default: "" + default: '' max: 50 regex: '^[\d]*$' adsense_mobile_post_bottom_ad_size: client: true - default: "responsive" + default: 'responsive' type: enum choices: *adsense_choices adsense_nth_post_code: client: true - default: "" + default: '' min: 1 - adsense_ads_txt_url: - client: false - default: "" dfp_plugin: dfp_publisher_id: client: true - default: "" + default: '' dfp_through_trust_level: client: true default: 2 - enum: "TrustLevelSetting" + enum: 'TrustLevelSetting' dfp_topic_list_top_code: client: true - default: "" + default: '' max: 50 dfp_topic_list_top_ad_sizes: client: true - default: "728*90 - leaderboard" + default: '728*90 - leaderboard' type: enum choices: &dfp_choices - 728*90 - leaderboard @@ -164,102 +161,102 @@ dfp_plugin: - 168*28 dfp_mobile_topic_list_top_code: client: true - default: "" + default: '' max: 50 dfp_mobile_topic_list_top_ad_sizes: client: true - default: "320*50 - mobile leaderboard" + default: '320*50 - mobile leaderboard' type: enum choices: *dfp_choices dfp_target_topic_list_top_key_code: - default: "" + default: '' type: value_list client: true dfp_target_topic_list_top_value_code: - default: "" + default: '' type: value_list client: true dfp_topic_above_post_stream_code: client: true - default: "" + default: '' max: 50 dfp_topic_above_post_stream_ad_sizes: client: true - default: "728*90 - leaderboard" + default: '728*90 - leaderboard' type: enum choices: *dfp_choices dfp_mobile_topic_above_post_stream_code: client: true - default: "" + default: '' max: 50 dfp_mobile_topic_above_post_stream_ad_sizes: client: true - default: "320*50 - mobile leaderboard" + default: '320*50 - mobile leaderboard' type: enum choices: *dfp_choices dfp_target_topic_above_post_stream_key_code: - default: "" + default: '' type: value_list client: true dfp_target_topic_above_post_stream_value_code: - default: "" + default: '' type: value_list client: true dfp_topic_above_suggested_code: client: true - default: "" + default: '' max: 50 dfp_topic_above_suggested_ad_sizes: client: true - default: "728*90 - leaderboard" + default: '728*90 - leaderboard' type: enum choices: *dfp_choices dfp_mobile_topic_above_suggested_code: client: true - default: "" + default: '' max: 50 dfp_mobile_topic_above_suggested_ad_sizes: client: true - default: "320*50 - mobile leaderboard" + default: '320*50 - mobile leaderboard' type: enum choices: *dfp_choices dfp_target_topic_above_suggested_key_code: - default: "" + default: '' type: value_list client: true dfp_target_topic_above_suggested_value_code: - default: "" + default: '' type: value_list client: true max: 50 dfp_nth_post_code: client: true - default: "" + default: '' min: 1 dfp_post_bottom_code: client: true - default: "" + default: '' max: 50 dfp_post_bottom_ad_sizes: client: true - default: "728*90 - leaderboard" + default: '728*90 - leaderboard' type: enum choices: *dfp_choices dfp_mobile_post_bottom_code: client: true - default: "" + default: '' max: 50 dfp_mobile_post_bottom_ad_sizes: client: true - default: "320*50 - mobile leaderboard" + default: '320*50 - mobile leaderboard' type: enum choices: *dfp_choices dfp_target_post_bottom_key_code: - default: "" + default: '' type: value_list client: true dfp_target_post_bottom_value_code: - default: "" + default: '' type: value_list client: true @@ -267,98 +264,98 @@ amazon_plugin: amazon_through_trust_level: client: true default: 2 - enum: "TrustLevelSetting" + enum: 'TrustLevelSetting' amazon_topic_list_top_src_code: client: true - default: "" + default: '' amazon_topic_list_top_ad_width_code: client: true - default: "" + default: '' amazon_topic_list_top_ad_height_code: client: true - default: "" + default: '' amazon_mobile_topic_list_top_src_code: client: true - default: "" + default: '' amazon_mobile_topic_list_top_ad_width_code: client: true - default: "" + default: '' amazon_mobile_topic_list_top_ad_height_code: client: true - default: "" + default: '' amazon_topic_above_post_stream_src_code: client: true - default: "" + default: '' amazon_topic_above_post_stream_ad_width_code: client: true - default: "" + default: '' amazon_topic_above_post_stream_ad_height_code: client: true - default: "" + default: '' amazon_mobile_topic_above_post_stream_src_code: client: true - default: "" + default: '' amazon_mobile_topic_above_post_stream_ad_width_code: client: true - default: "" + default: '' amazon_mobile_topic_above_post_stream_ad_height_code: client: true - default: "" + default: '' amazon_topic_above_suggested_src_code: client: true - default: "" + default: '' amazon_topic_above_suggested_ad_width_code: client: true - default: "" + default: '' amazon_topic_above_suggested_ad_height_code: client: true - default: "" + default: '' amazon_mobile_topic_above_suggested_src_code: client: true - default: "" + default: '' amazon_mobile_topic_above_suggested_ad_width_code: client: true - default: "" + default: '' amazon_mobile_topic_above_suggested_ad_height_code: client: true - default: "" + default: '' amazon_post_bottom_src_code: client: true - default: "" + default: '' amazon_nth_post_code: client: true - default: "" + default: '' min: 1 amazon_post_bottom_ad_width_code: client: true - default: "" + default: '' amazon_post_bottom_ad_height_code: client: true - default: "" + default: '' amazon_mobile_post_bottom_src_code: client: true - default: "" + default: '' amazon_mobile_post_bottom_ad_width_code: client: true - default: "" + default: '' amazon_mobile_post_bottom_ad_height_code: client: true - default: "" + default: '' codefund_plugin: codefund_property_id: client: true - default: "" + default: '' codefund_advertiser_label: client: true - default: "Advertiser" + default: 'Advertiser' codefund_advertiser_short_label: client: true - default: "Ad" + default: 'Ad' codefund_through_trust_level: client: true default: 2 - enum: "TrustLevelSetting" + enum: 'TrustLevelSetting' codefund_nth_post: client: true default: 4 diff --git a/plugin.rb b/plugin.rb index 005ef4a..fff2917 100755 --- a/plugin.rb +++ b/plugin.rb @@ -176,20 +176,3 @@ and (max-width : 775px) { } CSS - -after_initialize do - require_dependency 'application_controller' - class ::AdstxtController < ::ApplicationController - skip_before_action :check_xhr - - def index - raise Discourse::NotFound unless SiteSetting.adsense_ads_txt_url.present? - - redirect_to SiteSetting.adsense_ads_txt_url - end - end - - Discourse::Application.routes.append do - get '/ads.txt' => "adstxt#index" - end -end From de0a47c1a7402e02d1867beae4d7a4d0b991fe4b Mon Sep 17 00:00:00 2001 From: Nathan Hopkins Date: Tue, 29 Jan 2019 15:22:24 -0700 Subject: [PATCH 6/7] Update CodeFund Ads to use new CodeFund API (#1) Update CodeFund plugin to work with CodeFund's new API --- .../discourse/components/codefund-ad.js.es6 | 2 +- .../templates/components/codefund/post-bottom.hbs | 5 +++-- .../components/codefund/topic-above-post-stream.hbs | 7 ++++--- .../components/codefund/topic-above-suggested.hbs | 7 ++++--- .../templates/components/codefund/topic-list-top.hbs | 7 ++++--- plugin.rb | 10 ++++++++++ 6 files changed, 26 insertions(+), 12 deletions(-) diff --git a/assets/javascripts/discourse/components/codefund-ad.js.es6 b/assets/javascripts/discourse/components/codefund-ad.js.es6 index c91b3e9..c149072 100644 --- a/assets/javascripts/discourse/components/codefund-ad.js.es6 +++ b/assets/javascripts/discourse/components/codefund-ad.js.es6 @@ -17,7 +17,7 @@ function loadCodeFund() { return _promise; } - const url = "https://codefund.io/t/s/" + propertyId + "/details.json"; + const url = "https://codefund.app/properties/" + propertyId + "/funder.json"; _promise = new Promise(function(resolve, reject) { let xhr = new XMLHttpRequest(); diff --git a/assets/javascripts/discourse/templates/components/codefund/post-bottom.hbs b/assets/javascripts/discourse/templates/components/codefund/post-bottom.hbs index 70461da..b7d990a 100644 --- a/assets/javascripts/discourse/templates/components/codefund/post-bottom.hbs +++ b/assets/javascripts/discourse/templates/components/codefund/post-bottom.hbs @@ -1,8 +1,9 @@ - + {{#if siteSettings.codefund_display_advertiser_labels}} {{siteSettings.codefund_advertiser_short_label}} {{/if}} - {{adDetails.headline}} {{adDetails.description}} + {{adDetails.headline}} {{adDetails.body}} + diff --git a/assets/javascripts/discourse/templates/components/codefund/topic-above-post-stream.hbs b/assets/javascripts/discourse/templates/components/codefund/topic-above-post-stream.hbs index cd6ea94..bcdba6b 100644 --- a/assets/javascripts/discourse/templates/components/codefund/topic-above-post-stream.hbs +++ b/assets/javascripts/discourse/templates/components/codefund/topic-above-post-stream.hbs @@ -1,11 +1,12 @@ - + {{#if siteSettings.codefund_display_advertiser_labels}} {{siteSettings.codefund_advertiser_label}} {{/if}} - {{adDetails.headline}} {{adDetails.description}} + {{adDetails.headline}} {{adDetails.body}} - + ads via codefund.io + diff --git a/assets/javascripts/discourse/templates/components/codefund/topic-above-suggested.hbs b/assets/javascripts/discourse/templates/components/codefund/topic-above-suggested.hbs index 7d0a19c..f7923b6 100644 --- a/assets/javascripts/discourse/templates/components/codefund/topic-above-suggested.hbs +++ b/assets/javascripts/discourse/templates/components/codefund/topic-above-suggested.hbs @@ -1,11 +1,12 @@ - + {{#if siteSettings.codefund_display_advertiser_labels}} {{siteSettings.codefund_advertiser_label}} {{/if}} - {{adDetails.headline}} {{adDetails.description}} + {{adDetails.headline}} {{adDetails.body}} - + ads via codefund.io + diff --git a/assets/javascripts/discourse/templates/components/codefund/topic-list-top.hbs b/assets/javascripts/discourse/templates/components/codefund/topic-list-top.hbs index 7ac35a7..b1fe950 100644 --- a/assets/javascripts/discourse/templates/components/codefund/topic-list-top.hbs +++ b/assets/javascripts/discourse/templates/components/codefund/topic-list-top.hbs @@ -1,11 +1,12 @@ - + {{#if siteSettings.codefund_display_advertiser_labels}} {{siteSettings.codefund_advertiser_label}} {{/if}} - {{adDetails.headline}} {{adDetails.description}} + {{adDetails.headline}} {{adDetails.body}} - + ads via codefund.io + diff --git a/plugin.rb b/plugin.rb index fff2917..db72e3d 100755 --- a/plugin.rb +++ b/plugin.rb @@ -175,4 +175,14 @@ and (max-width : 775px) { text-align: center; } +.codefund-wrapper.codefund-topic-above-suggested { + clear: both; +} + +.codefund-wrapper .codefund-pixel { + visibility: hidden; + height: 1px; + width: 1px; +} + CSS From e101e6a439873b618431ebfab349a1d51aaac148 Mon Sep 17 00:00:00 2001 From: Neil Lalonde Date: Thu, 31 Jan 2019 16:42:29 -0500 Subject: [PATCH 7/7] Update translations --- config/locales/client.fi.yml | 3 +++ config/locales/client.it.yml | 2 ++ config/locales/client.zh_CN.yml | 1 + config/locales/server.es.yml | 2 +- config/locales/server.it.yml | 2 ++ config/locales/server.zh_CN.yml | 3 +++ 6 files changed, 12 insertions(+), 1 deletion(-) diff --git a/config/locales/client.fi.yml b/config/locales/client.fi.yml index f630278..d90b730 100644 --- a/config/locales/client.fi.yml +++ b/config/locales/client.fi.yml @@ -13,4 +13,7 @@ fi: admin: site_settings: categories: + dfp_plugin: 'DFP/Ad Manager' + adsense_plugin: 'AdSense' amazon_plugin: 'Amazon' + codefund_plugin: 'CodeFund' diff --git a/config/locales/client.it.yml b/config/locales/client.it.yml index 93a339f..f61a079 100644 --- a/config/locales/client.it.yml +++ b/config/locales/client.it.yml @@ -13,5 +13,7 @@ it: admin: site_settings: categories: + dfp_plugin: 'DFP/Gestore Annunci' + adsense_plugin: 'AdSense' amazon_plugin: 'Amazon' codefund_plugin: 'CodeFund' diff --git a/config/locales/client.zh_CN.yml b/config/locales/client.zh_CN.yml index 89765b3..a4bcca8 100644 --- a/config/locales/client.zh_CN.yml +++ b/config/locales/client.zh_CN.yml @@ -14,5 +14,6 @@ zh_CN: site_settings: categories: dfp_plugin: '谷歌 DFP/广告管理器' + adsense_plugin: '谷歌Adsense' amazon_plugin: '亚马逊网站联盟' codefund_plugin: 'CodeFund' diff --git a/config/locales/server.es.yml b/config/locales/server.es.yml index 958ed09..1db2706 100644 --- a/config/locales/server.es.yml +++ b/config/locales/server.es.yml @@ -7,7 +7,7 @@ es: site_settings: - dfp_publisher_id: "Ingrese su network code del Google Ad Manager (llamado DFP), que puedes encontrar en la configuración." + dfp_publisher_id: "Introduce tu network code del Google Ad Manager (llamado DFP), que puedes encontrar en la configuración." dfp_through_trust_level: "Muestre sus anuncios a los usuarios basados en los niveles de confianza. Usuarios con un nivel de confianza elevado no verían anuncios." dfp_topic_list_top_code: "Ingrese su código único de anuncio para mostrar por encima de la lista de temas. Este es un código corto (max 100 caracteres) dado al anuncio cuando fue creado, no el código JavaScript." dfp_topic_list_top_ad_sizes: "Seleccione el tamaño de tu anuncio para el anuncio sobre la lista de temas." diff --git a/config/locales/server.it.yml b/config/locales/server.it.yml index ed6f207..d86c13a 100644 --- a/config/locales/server.it.yml +++ b/config/locales/server.it.yml @@ -7,6 +7,7 @@ it: site_settings: + dfp_publisher_id: "Inserisci il codice di rete Google Ad Manager (noto precedentemente come DFP), che si trova nelle tue impostazioni di rete." dfp_through_trust_level: "Mostra i tuoi annunci agli utenti in base ai livelli di esperienza. Gli utenti con livello di esperienza superiore a questo valore non vedranno gli annunci." dfp_topic_list_top_code: "Inserisci il Codice univoco dell'annuncio da mostrare sopra le liste argomenti. E' il codice breve (massimo 100 caratteri) dato all'annuncio quando è stato creato, non il codice JavaScript." dfp_topic_list_top_ad_sizes: "Scegli la dimensione dell'annuncio sopra le liste degli argomenti." @@ -28,6 +29,7 @@ it: dfp_nth_post_code: "Mostra un annuncio ogni N messaggi, dove N è il valore." dfp_post_bottom_code: "Inserisci il Codice univoco del gruppo annunci da mostrare tra i messaggi, ogni N messaggi. E' il codice breve (max 100 caratteri) dato al gruppo annunci quando è stato creato, non il codice JavaScript." dfp_post_bottom_ad_sizes: "Scegli la dimensione dell'annuncio per il gruppo annunci da mostrare tra i messaggi." + dfp_mobile_post_bottom_code: "Inserisci il codice univoco dell'annuncio da mostrare tra i messaggi, ogni N messaggi, per la visualizzazione su mobile. E' il codice breve (max 100 caratteri) dato all'annuncio quando è stato creato, non il codice JavaScript." dfp_mobile_post_bottom_ad_sizes: "Scegli la dimensione dell'annuncio per il gruppo annunci mostrato tra i messaggi per la visualizzazione su telefono." dfp_target_post_bottom_key_code: "Inserisci le chiavi personalizzate di targeting - Livello inventario" dfp_target_post_bottom_value_code: "Inserisci i valori personalizzati di targeting - Livello inventario" diff --git a/config/locales/server.zh_CN.yml b/config/locales/server.zh_CN.yml index 425e223..c8ca2a7 100644 --- a/config/locales/server.zh_CN.yml +++ b/config/locales/server.zh_CN.yml @@ -16,6 +16,7 @@ zh_CN: dfp_target_topic_above_suggested_key_code: "输入自定义广告导向键——清单级" dfp_target_topic_above_suggested_value_code: "输入自定义广告导向值——清单级" dfp_nth_post_code: "每这么多条帖子展示一条广告" + dfp_post_bottom_ad_sizes: "选择帖子之间的广告单元尺寸。" dfp_mobile_post_bottom_ad_sizes: "移动端视图帖子间广告单元大小选择" dfp_target_post_bottom_key_code: "输入自定义广告导向键——清单级" dfp_target_post_bottom_value_code: "输入自定义广告导向值——清单级" @@ -35,11 +36,13 @@ zh_CN: amazon_topic_list_top_ad_height_code: "输入广告高度" amazon_mobile_topic_list_top_ad_width_code: "输入手机版广告宽度" amazon_mobile_topic_list_top_ad_height_code: "输入手机版广告高度" + amazon_topic_above_post_stream_src_code: "输入src代码以显示在帖子流上方的主题" amazon_topic_above_post_stream_ad_width_code: "输入广告宽度" amazon_topic_above_post_stream_ad_height_code: "输入高度" amazon_mobile_topic_above_post_stream_ad_width_code: "输入手机版广告宽度" amazon_mobile_topic_above_post_stream_ad_height_code: "输入手机版广告高度" amazon_topic_above_suggested_ad_width_code: "输入广告宽度" + amazon_topic_above_suggested_ad_height_code: "输入广告高度" amazon_mobile_topic_above_suggested_ad_width_code: "输入手机版广告宽度" amazon_mobile_topic_above_suggested_ad_height_code: "输入手机版广告高度" amazon_post_bottom_ad_width_code: "输入广告宽度"