Mercurial Hosting > nabble
diff src/nabble/modules/ad/ad.naml @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/nabble/modules/ad/ad.naml Thu Mar 21 19:15:52 2019 -0600 @@ -0,0 +1,297 @@ + +<override_macro name="nabble_shared_scripts"> + <n.overridden/> + <n.array_of_user_ids var_name="site_admins" group="[n.administrators_group/]"/> + <script type="text/javascript"> + var isSafe = <n.is_ad_safe/>; + var Ads = Ads || {}; + Ads.text = { + daysLeft: '<t>Trial period ends in <t.number>$1</t.number> day(s)</t>', + removeAds: '<t>Remove Ads</t>', + buyCredits: '<t>Upgrade</t>' + }; + $(document).ready(function() { + if (Nabble.wasCreatedRecently && Nabble.currentCredits == 0 && isSafe) { + var s = '<div class="weak-color" style="text-align:center;margin:1em;font-size:80%">'; + s += Ads.text.daysLeft.replace(/\$1/,daysLeft)+' – '; + s += '<a href="[n.site_payment_path/]">'+(Nabble.isSafe?Ads.text.removeAds:Ads.text.buyCredits)+'</a>'; + s += '</div>'; + var isAdmin = Nabble.userId && site_admins.indexOf(Number(Nabble.userId)) >= 0; + isAdmin && $('div.nabble').append(s); + } + }); + </script> + <n.visible_for_admins selector="div.no-ads-message"/> +</override_macro> + +<macro name="show_ad" parameters="location" requires="servlet"> + <n.comment.> + WARNING: users are NOT allowed to change this macro in order to remove ads from their apps. + If you want to remove ads, please buy the premium subscription. Also, if you want to place your + own ads code, please put them in the 'show_custom_ads' macro (your ads will be displayed while + your premium subscription is active). Please DO NOT try dirty tricks to hide the ads. We may delete + your site at any time if you do that. + </n.comment.> + <n.if.has_ads> + <then> + <n.put_in_head.adbayes_script params="[n.adbayes_params_for.location/]"/> + <script type="text/javascript"> + Nabble.ads('<n.location/>'); + </script> + </then> + <else> + <script type="text/javascript"> + Nabble.noAds('<n.location/>'); + </script> + <n.show_custom_ads location="[n.location/]" /> + </else> + </n.if.has_ads> +</macro> + +<macro name="show_custom_ads" parameters="location" requires="servlet" > + <n.comment.> + Here you can place your own ads and make money with your Nabble application. + But please remember that you must pay for ad-free credits if you want to remove Nabble's ads. + </n.comment.> +</macro> + +<macro name="menu_premium_upgrade" requires="node"> + <n.if.is_in_command name="dropdown"> + <then> + dropdown.add('premiumUpgrade', '<n.javascript_string_encode.site_payment_link/>', 'display:none'); + </then> + <else> + <n.set_local_node.this_node/> + <n.if> + <condition> + <n.both> + <condition1.local_node.is_root/> + <condition2.both condition1="[n.visitor.can_edit.local_node/]" condition2="[n.not.is_paid_site/]"/> + </n.both> + </condition> + <then> + NabbleDropdown.show('premiumUpgrade'); + </then> + </n.if> + </else> + </n.if.is_in_command> +</macro> + +<macro name="ads_widget"> + <n.widget.> + <n.show_ad location="widget" /> + </n.widget.> +</macro> + +<override_macro name="sidebar_widget" requires="node_page,servlet"> + <n.overridden /> + <n.ads_widget /> +</override_macro> + +<override_macro name="topic_controls" requires="blog_topic_namespace"> + <n.overridden /> + <n.show_ad location="blog_topic"/> +</override_macro> + +<override_macro name="classic_message_cell" requires="node"> + <n.overridden /> + <n.if.not.is_blog_topic> + <then> + <n.if.is_first_element> + <then> + <n.show_ad location="first_classic_message"/> + </then> + </n.if.is_first_element> + <n.if.is_last_element> + <then> + <n.if.not.regex_matches pattern='1' text="[n.page_node.descendant_count/]"> + <then.show_ad location="last_classic_message"/> + </n.if.not.regex_matches> + </then> + </n.if.is_last_element> + </then> + </n.if.not.is_blog_topic> +</override_macro> + +<override_macro name="topic_rows" requires="node,forum_topic_namespace,list_view_namespace"> + <n.overridden /> + <n.show_ad location="list_bottom"/> +</override_macro> + +<override_macro name="topic_rows" requires="node,forum_topic_namespace,threaded_view_namespace"> + <n.overridden /> + <n.show_ad location="threaded_bottom"/> +</override_macro> + +<override_macro name="search_pagination" requires="search"> + <n.overridden /> + <n.show_ad location="search_bottom"/> +</override_macro> + +<override_macro name="search_results_header" requires="search"> + <n.overridden /> + <script type="text/javascript"> + var nabble_search_query = '<n.hide_null.get_parameter name="query"/>'; + </script> + <n.show_ad location="search_top"/> +</override_macro> + +<override_macro name="app_body_footer"> + <n.overridden/> + <n.show_ad location="app_bottom"/> +</override_macro> + +<override_macro name="topic_bottom"> + <n.overridden/> + <n.show_ad location="topic_bottom"/> +</override_macro> + +<macro name="ad_notice"> + <n.new_email.> + <n.send> + <to><n.root_node.owner.user_email/></to> + <subject><t><t.location.root_node.subject/> - Your credits are running out</t></subject> + <text_part> + <t>Dear user,</t> + + <t><t.location.root_node.subject/> is running out of credits.</t> + <t>Current Credits</t>: <t><t.number.current_credits/> Credits</t> + + <t>For a premium upgrade, please visit:</t> + <n.base_url/><n.site_payment_path/> + + <t>Regards,</t> + <t>The Nabble team</t> + </text_part> + <html_part> + <t>Dear user,</t><br/> + <br/> + <t><t.location.root_node.subject/> is running out of credits.</t><br/> + <t>Current Credits</t>: <t><t.number.current_credits/> Credits</t><br/> + <br/> + <t>For a premium upgrade, please visit:</t><br/> + <a href="[n.base_url/][n.site_payment_path/]"><n.base_url/><n.site_payment_path/></a><br/> + <br/> + <t>Regards,</t><br/> + <t>Nabble Team</t> + </html_part> + </n.send> + </n.new_email.> +</macro> + +<override_macro name="bottom_scripts"> + <n.as_html_comments.>Ad.<n.is_ad_safe/> | <n.current_credits/> credits</n.as_html_comments.> + <script type="text/javascript"> + Nabble.trk = Nabble.trk || {}; + Nabble.trk.safe = <n.is_ad_safe/>; + </script> + <n.overridden/> +</override_macro> + +<macro name="adbayes_script" parameters="params" requires="ad, servlet"> + <n.if.not.is_null.adbayes_link> + <then> + <script type="text/javascript" src="[n.adbayes_link/][n.hide_null.params/]"></script> + <script type="text/javascript"> + Nabble.adbayes(); + </script> + </then> + </n.if.not.is_null.adbayes_link> +</macro> + +<macro name="adbayes_params_for" dot_parameter="location" requires="ad, servlet"> + <n.switch. value="[n.location/]"> + <n.case. value="list_bottom"> + &canonical=<n.encode.use_url_encoder.regex_replace_all text="[n.current_url/]" pattern="-tc(\d+)" replacement="-td$1"/> + </n.case.> + <n.case. value="threaded_bottom"> + &canonical=<n.encode.use_url_encoder.regex_replace_all text="[n.current_url/]" pattern="-tt(\d+)" replacement="-td$1"/> + </n.case.> + <n.case. value="search_bottom"> + &text=<n.encode.use_url_encoder.get_parameter name="query"/> + </n.case.> + <n.case. value="search_top"> + &text=<n.encode.use_url_encoder.get_parameter name="query"/> + </n.case.> + </n.switch.> +</macro> + +<override_macro name="javascript_library" requires="servlet"> + <n.overridden/> + <n.compress.ad_javascript/> +</override_macro> + +<override_macro name="report_inappropriate_content_submit" requires="servlet"> + <n.if.is_ad_safe> + <then.overridden/> + </n.if.is_ad_safe> +</override_macro> + +<macro name="site_payment_link"> + <a href="[n.site_payment_path/]"><t>Premium upgrade</t></a> +</macro> + +<macro name="site_payment_path"> + /template/NamlServlet.jtp?macro=site_payment +</macro> + +<macro name="site_payment"> + <n.if.visitor.is_authenticated> + <then> + <n.redirect_to.site_payment_url/> + </then> + <else> + <n.login.>You must login to upgrade this site.</n.login.> + </else> + </n.if.visitor.is_authenticated> +</macro> + +<macro name="payment_confirmed"> + <n.html> + <head> + <meta name="robots" content="noindex,nofollow"/> + <n.title.><t>Payment Confirmation</t></n.title.> + </head> + <body> + <n.if.confirm_payment customer_id="[n.get_parameter name='c'/]" user="[n.get_parameter name='user'/]" key1="[n.get_parameter name='key1'/]" key2="[n.get_parameter name='key2'/]"> + <then> + <h1><t>Payment Confirmed</t></h1> + <p>Your payment has been confirmed. You can find payment options on your account settings page.</p> + </then> + <else> + <h1><t>Payment Failed</t></h1> + <p> + Sorry, but something went wrong with your payment. + You may send an email to <a href="mailto:payments@nabble.com">payments@nabble.com</a> if you need help. + </p> + </else> + </n.if.confirm_payment> + </body> + </n.html> +</macro> + +<override_macro name="authenticated_self_profile_header" requires="user"> + <n.overridden/> + <n.if.both condition1="[n.not.is_null.site_payment_cancellation_url/]" condition2="[n.is_paid_site/]"> + <then> + <div style="margin-top:.5em"> + <img src="/images/icon_info.png" class="image16" style="margin:0 1px"/> + <a href="[n.site_payment_cancellation_url/]" target="_top"><t>Cancel Payment Subscription</t></a> + </div> + </then> + </n.if.both> +</override_macro> + +<macro name="cancelled"> + <n.html> + <head> + <meta name="robots" content="noindex,nofollow"/> + <n.title.><t>Payment Subscription Cancelled</t></n.title.> + </head> + <body> + <n.update_status customer_id="[n.get_parameter name='c'/]"/> + <h1><t>Payment Subscription Cancelled</t></h1> + <p>Your payment subscription has been cancelled and your card has been removed from the billing cycle.</p> + </body> + </n.html> +</macro> \ No newline at end of file