PluginProbe
BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites / 3.1.1
BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites v3.1.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 2.6.1 All 38 releases
← All changes | admin/index.php +69 -194 2.5.33.1.1 View file →
@@ -17,10 +17,40 @@
17 17
18 18 add_action('admin_enqueue_scripts', array($this, 'enqueue_dashboard_script'));
19 19
20 20 add_action('admin_init', array($this, 'redirect_to_blockspare_page'));
21 +
22 + //add_action( 'init', array($this,'blockspare_load_api_files'));
23 +
24 + add_filter( 'plugin_row_meta', [ $this, 'plugin_row_meta' ], 10, 2 );
25 +
26 + add_filter( 'plugin_action_links_' . BLOCKSPARE_PLUGIN_BASE, [ $this, 'plugin_action_links' ] );
21 27 }
22 28
29 + public function plugin_action_links( $links ) {
30 + $settings_link = sprintf( '<a href="%1$s">%2$s</a>', admin_url( 'admin.php?page=blockspare' ), esc_html__( 'Design Library', 'blockspare' ) );
31 +
32 + array_unshift( $links, $settings_link );
33 +
34 + $links['bspro'] = sprintf( '<a href="%1$s" target="_blank" class="blockspare-pro-link">%2$s</a>', 'https://www.blockspare.com/pricing/', esc_html__( 'Get Blockspare Pro', 'blockspare' ) );
35 +
36 + return $links;
37 + }
38 + public function plugin_row_meta( $plugin_meta, $plugin_file ) {
39 + if ( BLOCKSPARE_PLUGIN_BASE === $plugin_file ) {
40 + $row_meta = [
41 + 'starter' => '<a href="https://www.blockspare.com/starter-templates/" aria-label="' . esc_attr( esc_html__( 'View Blockspare Starter Templates', 'blockspare' ) ) . '" target="_blank">' . esc_html__( 'Demos', 'blockspare' ) . '</a>',
42 + 'docs' => '<a href="https://www.blockspare.com/docs/" aria-label="' . esc_attr( esc_html__( 'View Blockspare Documentation', 'blockspare' ) ) . '" target="_blank">' . esc_html__( 'Docs', 'blockspare' ) . '</a>',
43 + 'video' => '<a href="https://afthemes.com/all-themes-plan/" aria-label="' . esc_attr( esc_html__( 'Access All Themes and Plugins', 'blockspare' ) ) . '" target="_blank">' . esc_html__( 'All Themes & Plugins', 'blockspare' ) . '</a>',
44 + 'support' => '<a href="https://afthemes.com/supports/" aria-label="' . esc_attr( esc_html__( 'Need help for Blockspare?', 'blockspare' ) ) . '" target="_blank">' . esc_html__( 'Need Help?', 'blockspare' ) . '</a>',
45 + ];
46 +
47 + $plugin_meta = array_merge( $plugin_meta, $row_meta );
48 + }
49 +
50 + return $plugin_meta;
51 + }
52 +
23 53 public function add_dashboard_page()
24 54 {
25 55
26 56 // @see images/blockspare-icon.svg
@@ -49,218 +79,60 @@
49 79 array($this, 'blockspare_admin_dashboard'), // Action.
50 80 'data:image/svg+xml;base64,' . base64_encode($svg) // Blockspare icon.
51 81 );
52 82
83 +
53 84 // Our getting started page.
54 85 add_submenu_page(
55 86 'blockspare', // Parent slug.
56 - __( 'Getting Started', 'blockspare' ), // Page title.
57 - __( 'Getting Started', 'blockspare' ), // Menu title.
87 + __('Design Library', 'blockspare'), // Page title.
88 + __('Design Library', 'blockspare'), // Menu title.
58 89 'manage_options', // Capability.
59 90 'blockspare', // Menu slug.
60 - array( $this, 'blockspare_admin_dashboard' ), // Callback function.
91 + array($this, 'blockspare_admin_dashboard'), // Callback function.
61 92 1 // Position
62 93 );
94 +
95 + add_submenu_page(
96 + 'blockspare', // Parent slug.
97 + __('My Templates', 'blockspare'), // Page title.
98 + __('My Templates', 'blockspare'), // Menu title.
99 + 'manage_options', // Capability.
100 + 'edit.php?post_type=bs_templates', // Menu slug.
101 +
102 + );
63 103 }
64 104
105 +
65 106 public function enqueue_dashboard_script($hook)
66 107 {
108 + wp_enqueue_style('blockspare-admin', BLOCKSPARE_PLUGIN_URL .'admin/assets/css/style.css','','');
109 + wp_enqueue_script( 'blockspare_dashboard_js', BLOCKSPARE_PLUGIN_URL. 'dist/block_admin_dashboard.js', array('react', 'react-dom', 'wp-components', 'wp-element', 'wp-api-fetch', 'wp-polyfill'), '1.0' );
110 + wp_enqueue_style('blockspare-admin-css',BLOCKSPARE_PLUGIN_URL.'dist/style-block_admin_dashboard.css');
111 + $blockspare_dashboard_logo = BLOCKSPARE_PLUGIN_URL . 'admin/assets/images/blockspare-logo.png';
112 + wp_localize_script(
113 + 'blockspare_dashboard_js',
114 + 'blockspare_dashboard',
115 + array(
116 +
117 + 'logo'=>$blockspare_dashboard_logo,
118 + "imagePath"=> "https://templatespare.com/wp-content/uploads/blockspare-demo-data/blocks/",
119 + "static_img"=>BLOCKSPARE_PLUGIN_URL,
120 + 'newPageUrl'=>admin_url('post-new.php?post_type=page&blockspare_create_block'),
121 + 'adminPath'=>admin_url('post-new.php?post_type=page&blockspare_show_intro=true'),
122 + 'pluginVesion'=>BLOCKSPARE_VERSION
123 +
124 +
125 + )
126 + );
67 127 }
68 128
69 129 public function blockspare_admin_dashboard()
70 130 {
71 131 ?>
72 -<div class="wrap blockspare-wrap">
73 - <header class="blockspare-header">
74 - <img src="<?php echo esc_url(plugins_url('assets/blockspare-logo.png', __FILE__)) ?>"
75 - alt="<?php esc_attr_e('Blockspare', 'blockspare') ?>" />
76 -
77 - <h1><?php _e('Blockspare', 'blockspare') ?></h1>
78 - <h2><?php _e('Beautiful Page Building Blocks for WordPress', 'blockspare') ?></h2>
79 -
80 - <div class="blockspare-separator">
81 - <svg class="blockspare-separator-double-wave" preserveAspectRatio="none" aria-hidden="true"
82 - xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1946 175">
83 - <path class="st0"
84 - d="M-.5 27.7v146.8h1946V10.7s-170.6 20.4-265 57.2c0 0-374.1 116.7-794.2 24.7 0 0-414.1-100.9-673.1-92-.1 0-102.9 5.2-213.7 27.1z">
85 - </path>
86 - <path class="st1"
87 - d="M1945.5 69.9s-425.5-100-888 20.5c0 0-342.6 63.3-611.4 43.8 0 0-224.9-40.3-446.6-84.4V174h1946V69.9z">
88 - </path>
89 - <path d="M-.5 88s425.5-100 888 20.5c0 0 342.6 63.3 611.4 43.8 0 0 224.9-20.2 446.6-64.3v87H-.5V88z">
90 - </path>
91 - </svg>
92 - </div>
93 - </header>
94 - <section class="blockspare-main-container">
95 - <article class="blockspare-intro blockspare-section">
96 -
97 - <div class="blockspare-intro-col blockspare-intro-desc">
98 - <div class="blockspare-common-header-wrapper">
99 - <span class="blockspare-subtitle"><?php _e('Amazing Blocks', 'blockspare') ?></span>
100 - <h2><?php _e('Envision Amazing Layouts with Blockspare', 'blockspare') ?></h2>
101 - </div>
102 -
103 - <p><?php _e('Now you have Blockspare for your WordPress editor', 'blockspare') ?></p>
104 - <ol>
105 - <li>
106 - <?php _e('Create a new page', 'blockspare') ?>
107 - </li>
108 - <li>
109 - <?php _e('Click on the <span class="plus-btn-svg"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="#222"><path d="M10 1c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7zm1-11H9v3H6v2h3v3h2v-3h3V9h-3V6z"></path></svg></span> button to add a block', 'blockspare') ?>
110 - </li>
111 - <li>
112 - <?php _e('Expand Blockspare panel!', 'blockspare') ?>
113 - </li>
114 - <li>
115 - <?php _e('Select to add and customize a block!', 'blockspare') ?>
116 - </li>
117 - </ol>
118 -
119 - <a href="<?php echo esc_url(admin_url('post-new.php?post_type=page&blockspare_show_intro=true')) ?>"
120 - class="blockspare-button"
121 - title="<?php esc_attr_e('Try it on New Page', 'blockspare') ?>"><?php _e('Try it on New Page', 'blockspare') ?></a>
122 - </p>
123 - </div>
124 - <div class="blockspare-intro-col blockspare-intro-img">
125 - <p><img src="<?php echo esc_url(plugins_url('assets/blockspare-adding-blocks.gif', __FILE__)) ?>"
126 - alt="<?php esc_attr_e('Adding Blockspare', 'blockspare') ?>" class="blockspare-gif" /></p>
127 - <p>
128 - </div>
129 - </article>
130 - </section>
131 - <section class="blockspare-body-container">
132 - <div class="blockspare-body">
133 -
134 - <article class="blockspare-section blockspare-block-intro">
135 -
136 - <div class="blockspare-common-header-wrapper">
137 - <span class="blockspare-subtitle"><?php _e('Enhanced set of Blocks', 'blockspare') ?></span>
138 - <h3><?php _e('Start Creating Page using Enhanced set of Blocks in Minutes!', 'blockspare') ?></h3>
139 - </div>
140 -
141 - <p><?php _e('We design an elegant series of WordPress blocks to help you create the website you always wanted with ease.', 'blockspare') ?>
142 - </p>
143 - <!-- We put all the block controls here. -->
144 - <div class="blockspare-available-blocks-wrapper">
145 - <?php
146 - $blockspare_blocks = blockspare_admin_blocks_list();
147 - if (isset($blockspare_blocks) && !empty($blockspare_blocks)):
148 - foreach ($blockspare_blocks as $block):
149 - $blocks_name = $block['name'];
150 - $icon_url = plugins_url("assets/" .$block['slug'] . "-image.png", __FILE__);
151 - $demo_url = 'https://blockspare.com/block/'.$block['slug'];
152 -
153 - ?>
154 - <a class="blockspare-explore-btn" href="<?php echo esc_url($demo_url) ?>" target="_blank">
155 - <div class="blockspare-available-blocks">
156 -
157 - <img src="<?php echo esc_attr($icon_url); ?>" alt="<?php echo esc_attr($blocks_name) ?>">
158 - <h4>
159 - <?php echo esc_attr($blocks_name) ?>
160 - </h4>
161 -
162 -
163 -
164 - </div>
165 - </a>
166 - <?php
167 - endforeach;
168 - endif;
169 -
170 - ?>
171 - </div>
172 - <div class="blocksparea-all-blocks-button"><a href="https://blockspare.com/" class="blockspare-button"
173 - target="_blank"
174 - title="<?php esc_attr_e('Explore All Blocks', 'blockspare') ?>"><?php _e('Explore All Blocks', 'blockspare') ?></a>
175 - </div>
176 - </article>
177 - <aside class="blockspare-backward-compatibility-control-wrapper"></aside>
178 - <?php if (BLOCKSPARE_SHOW_PRO_NOTICES): ?>
179 - <aside class="blockspare-pro-control-wrapper"></aside>
180 - <?php endif; ?>
181 - </div>
182 - <div class="blockspare-side">
183 -
184 - <div class="blockspare-side-sticky">
185 - <?php
186 - $blockspare_pro = true;
187 - if ($blockspare_pro == false ) : ?>
188 - <aside class="blockspare-section blockspare-premium-section">
189 - <h3><?php _e('Blockspare Pro', 'blockspare') ?></h3>
190 - <p><?php _e('Want to use Blockspare to build an awesome site with more options and controls? Upgrade to Pro and get:', 'blockspare') ?>
191 - </p>
192 - <ul class="blockspare-premium-features">
193 - <li><?php _e('30+ Custom WordPress Blocks', 'blockspare') ?></li>
194 - <li><?php _e('110+ Pre-designed Blocks Layouts', 'blockspare') ?></li>
195 - <li><?php _e('Gradient Colors Effects', 'blockspare') ?></li>
196 - <li><?php _e('Additional Block Options', 'blockspare') ?></li>
197 - <li><?php _e('Rearrangeable Inner Blocks', 'blockspare') ?></li>
198 - <li><?php _e('Image Masking Colors Effects and Filters ', 'blockspare') ?></li>
199 - <li><?php _e('All Premium Effects', 'blockspare') ?></li>
200 - <li><?php _e('Customer Email Support', 'blockspare') ?></li>
201 - <li><?php _e('Regular Updates & Premium Support', 'blockspare') ?></li>
202 - </ul>
203 - </p>
204 - <p>
205 - <a href="https://blockspare.com/" class="blockspare-button"
206 - title="<?php esc_attr_e('Get Blockspare Pro', 'blockspare') ?>"><?php esc_attr_e('Get Blockspare Pro', 'blockspare') ?></a>
207 - </p>
208 -
209 - </aside>
210 - <?php endif; ?>
211 -
212 - <aside class="blockspare-section">
213 - <h3><?php _e('Knowledge Base', 'blockspare') ?></h3>
214 - <ul class="blockspare-list blockspare-knowledge-base">
215 - <li>
216 - <h4 class="blockspare-sub-headings">
217 - <a href="https://blockspare.com/docs/"><?php esc_html_e('Documentations', 'blockspare') ?>
218 - →</a>
219 - </h4>
220 - <p><?php esc_html_e('Do you have any difficulties regarding plugin setup and uses? Please visit Documentations page.', 'blockspare') ?>
221 - </p>
222 - </li>
223 - <li>
224 - <h4 class="blockspare-sub-headings">
225 - <a href="https://blockspare.com/block/"><?php esc_html_e('Demos', 'blockspare') ?> →</a>
226 - </h4>
227 - <p><?php esc_html_e('We have also designed and displayed multiple type of layouts with Blockspare. For more details please visit our site.', 'blockspare') ?>
228 - </p>
229 - </li>
230 - <li>
231 - <h4 class="blockspare-sub-headings">
232 - <a href="https://blockspare.com/support/"><?php esc_html_e('Support', 'blockspare') ?>
233 - →</a>
234 - </h4>
235 - <p><?php esc_html_e('You directly come upon to our support guys with your valuable queries.', 'blockspare') ?>
236 - </p>
237 - </li>
238 - <li>
239 - <h4 class="blockspare-sub-headings">
240 - <a href="https://wordpress.org/plugins/blockspare/"><?php esc_html_e('WordPress Support Forum', 'blockspare') ?>
241 - →</a>
242 - </h4>
243 - <p><?php esc_html_e('You can also go to our .org forum for any kind of support enquiries.', 'blockspare') ?>
244 - </p>
245 - </li>
246 - <li>
247 - <h4 class="blockspare-sub-headings">
248 - <a href="https://blockspare.com/blog/"><?php esc_html_e('Latest Blog', 'blockspare') ?>
249 - →</a>
250 - </h4>
251 - <p><?php esc_html_e('Get latest articles about WordPress.', 'blockspare') ?></p>
252 - </li>
253 - </ul>
254 -
255 - </p>
256 - </aside>
257 - </div>
258 -
259 - </div>
260 - </section>
261 -</div>
262 -<?php
132 + <div id="bs-dashboard"></div>
133 +
134 + <?php
263 135 }
264 136
265 137 /**
266 138 * Adds a marker to remember to redirect after activation.
@@ -281,8 +153,11 @@
281 153 wp_redirect(esc_url(admin_url('admin.php?page=blockspare')));
282 154 die();
283 155 }
284 156 }
157 +
158 +
159 +
285 160 }
286 161
287 162 new Blockspare_Admin_Dashboard();
288 163 }