PluginProbe
BlockSpare – Gutenberg Blocks, AI Content Generator & Site Builder for News, Magazine & Blogs / 5.0.1
BlockSpare – Gutenberg Blocks, AI Content Generator & Site Builder for News, Magazine & Blogs v5.0.1
5.0.1 4.1.0 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.1.0 1.1.1 1.1.2 1.2.0 1.2.1 1.2.2 1.2.3 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 2.1.2 2.5.0 2.5.3 All 39 releases
← All changes | freemius/templates/pricing.php +9 -107 2.5.0 → 5.0.1 View file →
@@ -5,42 +5,14 @@
5 5 * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6 6 * @since 1.0.3
7 7 */
8 8
9 - /**
10 - * Note for WordPress.org Theme/Plugin reviewer:
11 - * Freemius is an SDK for plugin and theme developers. Since the core
12 - * of the SDK is relevant both for plugins and themes, for obvious reasons,
13 - * we only develop and maintain one code base.
14 - *
15 - * This code (and page) will not run for wp.org themes (only plugins).
16 - *
17 - * In addition, this page loads an i-frame. We intentionally named it 'frame'
18 - * so it will pass the "Theme Check" that is looking for the string "i" . "frame".
19 - *
20 - * UPDATE:
21 - * After ongoing conversations with the WordPress.org TRT we received
22 - * an official approval for including i-frames in the theme's WP Admin setting's
23 - * page tab (the SDK will never add any i-frames on the sitefront). i-frames
24 - * were never against the guidelines, but we wanted to get the team's blessings
25 - * before we move forward. For the record, I got the final approval from
26 - * Ulrich Pogson (@grapplerulrich), a team lead at the TRT during WordCamp
27 - * Europe 2017 (June 16th, 2017).
28 - *
29 - * If you have any questions or need clarifications, please don't hesitate
30 - * pinging me on slack, my username is @svovaf.
31 - *
32 - * @author Vova Feldman (@svovaf)
33 - * @since 1.2.2
34 - */
35 -
36 9 if ( ! defined( 'ABSPATH' ) ) {
37 10 exit;
38 11 }
39 12
40 13 wp_enqueue_script( 'jquery' );
41 - wp_enqueue_script( 'json2' );
42 - fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.min.js' );
14 + fs_enqueue_local_script( 'postmessage', 'nojquery.ba-postmessage.js' );
43 15 fs_enqueue_local_script( 'fs-postmessage', 'postmessage.js' );
44 16 fs_enqueue_local_style( 'fs_common', '/admin/common.css' );
45 17
46 18 /**
@@ -91,26 +63,15 @@
91 63 'currency' => $fs->apply_filters( 'default_currency', 'usd' ),
92 64 'discounts_model' => $fs->apply_filters( 'pricing/discounts_model', 'absolute' ),
93 65 ) );
94 66
95 - $use_external_pricing = $fs->should_use_external_pricing();
67 + $pricing_js_url = fs_asset_url( $fs->get_pricing_js_path() );
96 68
97 - if ( ! $use_external_pricing ) {
98 - $pricing_js_url = fs_asset_url( $fs->get_pricing_js_path() );
99 - wp_enqueue_script( 'freemius-pricing', $pricing_js_url );
100 - } else {
101 - if ( ! $fs->is_registered() ) {
102 - $template_data = array(
103 - 'id' => $fs->get_id(),
104 - );
105 - fs_require_template( 'forms/trial-start.php', $template_data);
106 - }
69 + wp_enqueue_script( 'freemius-pricing', $pricing_js_url );
107 70
108 - $view_params = array(
109 - 'id' => $VARS['id'],
110 - 'page' => strtolower( $fs->get_text_x_inline( 'Pricing', 'noun', 'pricing' ) ),
111 - );
112 - fs_require_once_template('secure-https-header.php', $view_params);
71 + $pricing_css_path = $fs->apply_filters( 'pricing/css_path', null );
72 + if ( is_string( $pricing_css_path ) ) {
73 + wp_enqueue_style( 'freemius-pricing', fs_asset_url( $pricing_css_path ) );
113 74 }
114 75
115 76 $has_tabs = $fs->_add_tabs_before_content();
116 77
@@ -118,9 +79,8 @@
118 79 $query_params['tabs'] = 'true';
119 80 }
120 81 ?>
121 82 <div id="fs_pricing" class="wrap fs-section fs-full-size-wrapper">
122 - <?php if ( ! $use_external_pricing ) : ?>
123 83 <div id="fs_pricing_wrapper" data-public-url="<?php echo trailingslashit( dirname( $pricing_js_url ) ) ?>"></div>
124 84 <?php
125 85 $pricing_config = array_merge( array(
126 86 'contact_url' => $fs->contact_url(),
@@ -137,74 +97,16 @@
137 97 ),
138 98 'selector' => '#fs_pricing_wrapper',
139 99 'unique_affix' => $fs->get_unique_affix(),
140 100 'show_annual_in_monthly' => $fs->apply_filters( 'pricing/show_annual_in_monthly', true ),
101 + 'license' => $fs->has_active_valid_license() ? $fs->_get_license() : null,
102 + 'plugin_icon' => $fs->get_local_icon_url(),
103 + 'disable_single_package' => $fs->apply_filters( 'pricing/disable_single_package', false ),
141 104 ), $query_params );
142 105
143 106 wp_add_inline_script( 'freemius-pricing', 'Freemius.pricing.new( ' . json_encode( $pricing_config ) . ' )' );
144 107 ?>
145 - <?php else : ?>
146 - <div id="fs_frame"></div>
147 - <form action="" method="POST">
148 - <input type="hidden" name="user_id"/>
149 - <input type="hidden" name="user_email"/>
150 - <input type="hidden" name="site_id"/>
151 - <input type="hidden" name="public_key"/>
152 - <input type="hidden" name="secret_key"/>
153 - <input type="hidden" name="action" value="account"/>
154 - </form>
155 -
156 - <script type="text/javascript">
157 - (function ($, undef) {
158 - $(function () {
159 - var
160 - // Keep track of the i-frame height.
161 - frame_height = 800,
162 - base_url = '<?php echo WP_FS__ADDRESS ?>',
163 - // Pass the parent page URL into the i-frame in a meaningful way (this URL could be
164 - // passed via query string or hard coded into the child page, it depends on your needs).
165 - src = base_url + '/pricing/?<?php echo http_build_query( $query_params ) ?>#' + encodeURIComponent(document.location.href),
166 -
167 - // Append the I-frame into the DOM.
168 - frame = $('<i' + 'frame " src="' + src + '" width="100%" height="' + frame_height + 'px" scrolling="no" frameborder="0" style="background: transparent; width: 1px; min-width: 100%;"><\/i' + 'frame>')
169 - .appendTo('#fs_frame');
170 -
171 - FS.PostMessage.init(base_url, [frame[0]]);
172 -
173 - FS.PostMessage.receive('height', function (data) {
174 - var h = data.height;
175 - if (!isNaN(h) && h > 0 && h != frame_height) {
176 - frame_height = h;
177 - frame.height(frame_height + 'px');
178 -
179 - FS.PostMessage.postScroll(frame[0]);
180 - }
181 - });
182 -
183 - FS.PostMessage.receive('get_dimensions', function (data) {
184 - FS.PostMessage.post('dimensions', {
185 - height : $(document.body).height(),
186 - scrollTop: $(document).scrollTop()
187 - }, frame[0]);
188 - });
189 -
190 - FS.PostMessage.receive('start_trial', function (data) {
191 - openTrialConfirmationModal(data);
192 - });
193 - });
194 - })(jQuery);
195 - </script>
196 - <?php endif ?>
197 108 </div>
198 109 <?php
199 110 if ( $has_tabs ) {
200 111 $fs->_add_tabs_after_content();
201 112 }
202 -
203 - $params = array(
204 - 'page' => 'pricing',
205 - 'module_id' => $fs->get_id(),
206 - 'module_type' => $fs->get_module_type(),
207 - 'module_slug' => $slug,
208 - 'module_version' => $fs->get_plugin_version(),
209 - );
210 - fs_require_template( 'powered-by.php', $params );