PluginProbe
BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites / 3.3.3
BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites v3.3.3
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
blockspare / admin / notice-setup.php

notice-setup.php in BlockSpare – Gutenberg Blocks for News, Magazine, Blog & Business Websites 3.3.3, at admin/notice-setup.php

253 lines 19.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 // Exit if accessed directly.
3 defined( 'ABSPATH' ) || exit;
4
5
6 class Blockspare_Setup
7 {
8 public $name;
9 public $type;
10 public $dismiss_url;
11 public $temporary_dismiss_url;
12 public $pricing_url;
13 public $current_user_id;
14
15 /**
16 * The constructor.
17 *
18 * @param string $name Notice Name.
19 * @param string $type Notice type.
20 * @param string $dismiss_url Notice permanent dismiss URL.
21 * @param string $temporary_dismiss_url Notice temporary dismiss URL.
22 *
23 * @since 1.4.7
24 *
25 */
26 public function __construct($name, $type, $dismiss_url, $temporary_dismiss_url)
27 {
28 $this->name = $name;
29 $this->type = $type;
30 $this->dismiss_url = $dismiss_url;
31 $this->temporary_dismiss_url = $temporary_dismiss_url;
32 $this->pricing_url = 'https://www.blockspare.com/';
33 $this->current_user_id = get_current_user_id();
34
35 // Notice markup.
36 add_action('admin_notices', array($this, 'notice'));
37
38 $this->dismiss_notice();
39 $this->dismiss_notice_temporary();
40 }
41
42 public function notice()
43 {
44
45 $current_screen = get_current_screen();
46 if ( $current_screen->id !=='dashboard' && $current_screen->id !== 'themes' && $current_screen->id !=='plugins' ) {
47
48 return;
49 }
50
51 if (!$this->is_dismiss_notice()) {
52
53 $this->notice_markup();
54 }
55 }
56
57 private function is_dismiss_notice()
58 {
59 return apply_filters('blockspare_' . $this->name . '_notice_dismiss', true);
60 }
61
62 public function notice_markup()
63 {
64 echo '';
65 }
66
67 /**
68 * Hide a notice if the GET variable is set.
69 */
70 public function dismiss_notice()
71 {
72 if (isset($_GET['blockspare_setup_notice_dismiss']) && isset($_GET['_blockspare_setup_notice_dismiss_nonce'])) { // WPCS: input var ok.
73 if (!wp_verify_nonce(wp_unslash($_GET['_blockspare_setup_notice_dismiss_nonce']), 'blockspare_setup_notice_dismiss_nonce')) { // phpcs:ignore WordPress.VIP.ValidatedSanitizedInput.InputNotSanitized
74 wp_die(__('Action failed. Please refresh the page and retry.', 'blockspare')); // WPCS: xss ok.
75 }
76
77 if (!current_user_can('publish_posts')) {
78 wp_die(__('Cheatin&#8217; huh?', 'blockspare')); // WPCS: xss ok.
79 }
80
81 $dismiss_notice = sanitize_text_field(wp_unslash($_GET['blockspare_setup_notice_dismiss']));
82
83 // Hide.
84 if ($dismiss_notice === $_GET['blockspare_setup_notice_dismiss']) {
85 add_user_meta(get_current_user_id(), 'blockspare_' . $dismiss_notice . '_notice_dismiss', 'yes', true);
86 }
87 }
88 }
89
90 public function dismiss_notice_temporary()
91 {
92 if (isset($_GET['blockspare_setup_notice_dismiss_temporary']) && isset($_GET['_blockspare_setup_notice_dismiss_temporary_nonce'])) { // WPCS: input var ok.
93 if (!wp_verify_nonce(wp_unslash($_GET['_blockspare_setup_notice_dismiss_temporary_nonce']), 'blockspare_setup_notice_dismiss_temporary_nonce')) { // phpcs:ignore WordPress.VIP.ValidatedSanitizedInput.InputNotSanitized
94 wp_die(__('Action failed. Please refresh the page and retry.', 'blockspare')); // WPCS: xss ok.
95 }
96
97 if (!current_user_can('publish_posts')) {
98 wp_die(__('Cheatin&#8217; huh?', 'blockspare')); // WPCS: xss ok.
99 }
100
101 $dismiss_notice = sanitize_text_field(wp_unslash($_GET['blockspare_setup_notice_dismiss_temporary']));
102
103 // Hide.
104 if ($dismiss_notice === $_GET['blockspare_setup_notice_dismiss_temporary']) {
105 add_user_meta(get_current_user_id(), 'blockspare_' . $dismiss_notice . '_notice_dismiss_temporary', 'yes', true);
106 }
107 }
108 }
109 }
110
111
112 class Blockspare_Setup_Notice extends Blockspare_Setup {
113
114 public function __construct() {
115 if ( ! current_user_can( 'publish_posts' ) ) {
116 return;
117 }
118
119 $dismiss_url = wp_nonce_url(
120 add_query_arg( 'blockspare_setup_notice_dismiss', 'setup', admin_url() ),
121 'blockspare_setup_notice_dismiss_nonce',
122 '_blockspare_setup_notice_dismiss_nonce'
123 );
124
125 $temporary_dismiss_url = wp_nonce_url(
126 add_query_arg( 'blockspare_setup_notice_dismiss_temporary', 'setup', admin_url() ),
127 'blockspare_setup_notice_dismiss_temporary_nonce',
128 '_blockspare_setup_notice_dismiss_temporary_nonce'
129 );
130
131 parent::__construct( 'setup', 'info', $dismiss_url, $temporary_dismiss_url );
132
133 $this->set_notice_time();
134
135 $this->set_temporary_dismiss_notice_time();
136
137 $this->set_dismiss_notice();
138 }
139
140 private function set_notice_time() {
141 if ( ! get_option( 'blockspare_setup_notice_start_time' ) ) {
142 update_option( 'blockspare_setup_notice_start_time', time() );
143 }
144 }
145
146 private function set_temporary_dismiss_notice_time() {
147 if ( isset( $_GET['blockspare_setup_notice_dismiss_temporary'] ) && 'setup' === $_GET['blockspare_setup_notice_dismiss_temporary'] ) {
148 update_user_meta( $this->current_user_id, 'blockspare_setup_notice_dismiss_temporary_start_time', time() );
149 }
150 }
151
152 public function set_dismiss_notice() {
153
154 /**
155 * Do not show notice if:
156 *
157 * 1. It has not been 5 days since the plugin is activated.
158 * 2. If the user has ignored the message partially for 2 days.
159 * 3. Dismiss always if clicked on 'Dismiss' button.
160 */
161 if ( get_option( 'blockspare_setup_notice_start_time' ) > strtotime( '-1 minute' )
162 || get_user_meta( get_current_user_id(), 'blockspare_setup_notice_dismiss', true )
163 || get_user_meta( get_current_user_id(), 'blockspare_setup_notice_dismiss_temporary_start_time', true ) > strtotime( '-2 days' )
164 ) {
165 add_filter( 'blockspare_setup_notice_dismiss', '__return_true' );
166 } else {
167 add_filter( 'blockspare_setup_notice_dismiss', '__return_false' );
168 }
169 }
170
171 public function notice_markup() {
172 if ( is_admin() ) {
173 if( ! function_exists('get_plugin_data') ){
174 require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
175 }
176 $plugin_data = get_plugin_data( BLOCKSPARE_BASE_FILE );
177
178 }
179
180 ?>
181 <div class="notice notice-success blockspare-notice-setup" >
182 <div class="bs-welcome-panel-content">
183 <div class="bs-welcome-panel-header">
184 <div class="blockspare-notice-info">
185 <div class='bs-welcome-panel-header-logo'>
186 <svg fill="url(#blockspare-gradient)" width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" class="blockspare-svg blockspare-svg-blockspare" aria-hidden="true" focusable="false"><g class="blockspare-logo"><g><path class="st0" d="M1.6,9.2v21.4l18.3-9.2L20.2,0L1.6,9.2z M16.9,19.8L4.9,26V10.9l12-6.1V19.8z"></path><polygon id="XMLID_3_" class="st1" points="19.9,21.4 16.9,23 26,27.7 13.8,33.8 4.9,29 1.6,30.7 13.9,36.9 32.4,27.7"></polygon></g><g><polygon id="XMLID_2_" class="st0" points="23,1.5 23,19.8 32.4,24.6 32.4,9.4 35.3,10.9 35.3,29 38.4,30.7 38.4,9.2 29.4,4.8 29.2,19.7 26,18.4 26,3.1"></polygon><polygon id="XMLID_1_" class="st1" points="17,38.4 19.9,40 38.4,30.7 35.3,29"></polygon></g></g></svg>
187 <div class="blockspare-version"><?php esc_html_e('Blockspare', 'blockspare'); ?> <span><?php echo $plugin_data['Version'];?></span></div>
188 </div>
189 <h2 class="blockspare-notice-title"><?php esc_html_e('Effortless Site Creation in Minutes','blockspare'); ?></h2>
190 <p class="blockspare-notice-description"><?php esc_html_e('Expert Templates from our Patterns Library - Import, Customize, Publish with Ease!', 'blockspare'); ?></p>
191 <div class='blockspare-notice-buttons'>
192 <a href="<?php echo admin_url('post-new.php?post_type=page&blockspare_show_intro=true')?>" target="_blank" class="blockspare-notice-button blockspare-notice-button-primary"><span class="dashicons dashicons-plus"></span> <?php esc_html_e('Get Started', 'blockspare'); ?></a>
193 <a href="<?php echo admin_url('admin.php?page=blockspare')?>" class="blockspare-notice-button blockspare-notice-button-secondary"><span class="dashicons dashicons-welcome-learn-more"></span> <?php esc_html_e('Gutenberg Blocks Patterns', 'blockspare'); ?></a>
194 </div>
195 </div>
196 <div class="bs-welcome-panel-header-image">
197 <img class='blockspare-notice-image' src='<?php echo BLOCKSPARE_PLUGIN_URL ."admin/assets/images/notice-background.webp";?>' height="200" width="200"/>
198 </div>
199 </div>
200 <div class='bs-welcome-panel-column-container'>
201 <div class='bs-welcome-panel-column'>
202 <div class='bs-welcome-panel-column-icon'>
203 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 60 60">
204 <path d="M5 60h34a3 3 0 0 0 3-3v-5.171A3.006 3.006 0 0 0 44 49V36.6a3.278 3.278 0 0 0 .3-.243 3.164 3.164 0 0 0 .9-2.578 2.208 2.208 0 0 0 .814-.51c4.454-4.453 10.208-12.031 13.242-16.151a3.838 3.838 0 0 0-5.367-5.367c-2.509 1.848-6.3 4.7-9.885 7.661V3a3 3 0 0 0-3-3H5a5.006 5.006 0 0 0-5 5v50a5.006 5.006 0 0 0 5 5Zm33.388-23.584a3.318 3.318 0 0 1-.956 2.485c-1.885 1.884-4.17 2.441-7.852 1.9a12.564 12.564 0 0 0 1.2-3.8 6.528 6.528 0 0 1 1.32-3.433 3.261 3.261 0 0 1 2.485-.956 3.9 3.9 0 0 1 2.607 1.143l.054.054a3.9 3.9 0 0 1 1.142 2.607Zm-2.233-6.525a1.2 1.2 0 0 1 0-1.68 1.188 1.188 0 0 1 1.67 0l5.057 5.057a1.181 1.181 0 0 1 0 1.67 1.227 1.227 0 0 1-1.679 0ZM55.07 13.359a1.838 1.838 0 0 1 2.571 2.571c-2.415 3.28-8.522 11.4-13.045 15.922a.215.215 0 0 1-.3 0l-5.147-5.147a.213.213 0 0 1 0-.3c4.522-4.524 12.641-10.631 15.921-13.046ZM42 3v18.09c-1.566 1.342-3.037 2.671-4.266 3.9a2.181 2.181 0 0 0-.541.921 3.14 3.14 0 0 0-2.948 4.729 5.273 5.273 0 0 0-3.56 1.514 8.152 8.152 0 0 0-1.865 4.46 10.088 10.088 0 0 1-1.072 3.359 1.8 1.8 0 0 0-.09 1.7 1.885 1.885 0 0 0 1.423 1.073 19.294 19.294 0 0 0 2.948.258 9.152 9.152 0 0 0 6.817-2.692 5.25 5.25 0 0 0 1.511-3.512 3.166 3.166 0 0 0 1.643.478V49a1 1 0 0 1-1 1H6V2h35a1 1 0 0 1 1 1ZM4 2.184V50.1a5 5 0 0 0-2 .923V5a3 3 0 0 1 2-2.816Zm-1.128 50.7A3.018 3.018 0 0 1 5 52h35v5a1 1 0 0 1-1 1H5a3 3 0 0 1-2.128-5.118Z" data-original="#000000"/>
205 <path d="M11 21h26a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2H11a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2Zm0-12h26v10H11Zm18 47h5a1 1 0 0 0 0-2h-5a1 1 0 0 0 0 2ZM9 56h16a1 1 0 0 0 0-2H9a1 1 0 0 0 0 2Zm22-31H17a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2Zm-3 5h-8a1 1 0 0 0 0 2h8a1 1 0 0 0 0-2Z" data-original="#000000"/>
206 </svg>
207 </div>
208 <div class='bs-welcome-panel-column-content'>
209 <h3><?php esc_html_e('Launch Your Site in a Few Clicks!','blockspare'); ?></h3>
210
211
212 <a href="<?php echo admin_url('post-new.php?post_type=page&blockspare_show_intro=true')?>" target="_blank" class="blockspare-notice-link"><?php esc_html_e('Try Now','blockspare'); ?></a>
213 </div>
214 </div>
215
216 <div class='bs-welcome-panel-column'>
217 <div class='bs-welcome-panel-column-icon'>
218 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 64 64">
219 <path d="M59.44 6.83a3.067 3.067 0 0 0-2.66-2.5c-2.61-.31-5.29-.26-7.95.1C39.54 5.65 30.95 11 25.48 18.71l-4.42-1.44c-1.69-.55-3.58.03-4.71 1.43l-4.69 5.83c-1.77 2.08-.99 5.56 1.55 6.6l6.49 2.84c-1.74 1.58-3.04 3.59-3.87 5.11-.39.72-.33 1.58.15 2.24.6.85 1.66.96 2.6.69-.66 1.55-1.26 3.13-1.79 4.77a2.072 2.072 0 0 0 2.74 2.57c1.61-.63 3.15-1.33 4.65-2.08-.4 1.36.48 2.92 1.98 2.9.38 0 .77-.11 1.11-.33 1.47-.92 3.39-2.35 4.85-4.18l3.24 6.31c1.19 2.47 4.71 3.04 6.68 1.14l5.53-5.04c1.33-1.21 1.78-3.14 1.13-4.79l-1.71-4.33c9.47-7.55 14.62-20.28 12.42-32.13zm-1.97.35c.65 3.68.59 7.48-.12 11.15-4.1-3.46-8.21-7.33-11.92-11.21 3.14-.81 6.4-1.14 9.64-.94.85.12 2.19-.12 2.41 1zM12.75 27.8c-.17-.71 0-1.44.46-2.02l4.69-5.83c.61-.76 1.62-1.07 2.53-.78l3.86 1.25a35.241 35.241 0 0 0-4.6 11.36L14 29.29c-.63-.28-1.09-.82-1.25-1.49zm25.86 14.04c-1.76.81-3.6 1.45-5.48 1.91l-11.59-10.9c.39-2.16 1.03-4.27 1.85-6.3l15.92 14.97c-.23.11-.46.21-.7.32zm-12.39 6.31-.12-.08c.14-1.14.64-3.99-1.34-3.33-1.94 1.01-3.88 1.94-5.96 2.75l-.1-.1c.68-2.11 1.49-4.12 2.38-6.11.54-2.02-2.27-1.35-3.41-1.13l-.09-.11c.78-1.43 2.01-3.34 3.62-4.74l9.52 8.95c-1.3 1.7-3.12 3.05-4.5 3.92zm20.02-1.56-5.53 5.04c-1.05 1.01-2.92.74-3.56-.58l-2.84-5.53c2.46-.69 4.86-1.62 7.11-2.83 1.36-.74 2.68-1.56 3.95-2.46L46.86 44c.35.88.1 1.92-.62 2.58zm2.79-12.22a32.682 32.682 0 0 1-7.85 6.17L24.25 24.63C28.01 16.8 35.14 10.5 43.29 7.78c4.16 4.43 8.86 8.84 13.53 12.72-1.38 5.12-4.06 9.91-7.8 13.88z" data-original="#000000"/>
220 <path d="M41.39 15.66c-9.85.6-9.4 14.92.46 14.91 9.85-.6 9.4-14.92-.46-14.91zm4.21 11.19c-5.06 5.12-12.76-2.11-7.95-7.48 5.05-5.12 12.75 2.1 7.95 7.48zM22.69 52.69l-5.16 5.49c-.89.95.56 2.32 1.46 1.37l5.16-5.49c.89-.95-.56-2.32-1.46-1.37zM11.65 43.9a.996.996 0 0 0-1.41.04l-5.9 6.27a.996.996 0 1 0 1.45 1.37l5.9-6.27c.38-.4.36-1.04-.04-1.41zm1.12 8.34-5.16 5.49c-.61.6-.11 1.71.73 1.69.27 0 .53-.11.73-.31l5.16-5.49c.89-.96-.55-2.32-1.46-1.37zm11.54-19.51 2.91 2.74c.95.89 2.32-.55 1.37-1.46l-2.91-2.74c-.95-.89-2.32.55-1.37 1.46zm6.55 6.17c.95.89 2.32-.55 1.37-1.46l-1.46-1.37c-.95-.89-2.32.55-1.37 1.46l1.46 1.37zm1.95 1.72a.7.7 0 0 0 .09.17l.12.15c.38.39 1.04.39 1.42 0 .09-.1.17-.2.21-.32.57-1.81-2.42-1.8-1.84 0z" data-original="#000000"/>
221 </svg>
222 </div>
223 <div class='bs-welcome-panel-column-content'>
224 <h3><?php esc_html_e('Elevate Your Site Instantly!','blockspare'); ?></h3>
225
226 <a href="https://blockspare.com/" target="_blank" class="blockspare-notice-link"><?php esc_html_e('Explore More','blockspare'); ?></a>
227 </div>
228 </div>
229
230 <div class='bs-welcome-panel-column'>
231 <div class='bs-welcome-panel-column-icon'>
232 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 512 512">
233 <path d="M179.15 453.63H25.46C11.42 453.63 0 442.21 0 428.18v-324.9c0-14.04 11.42-25.46 25.46-25.46H159.7c3.31 0 6 2.69 6 6 0 3.32-2.69 6-6 6H25.46c-7.42 0-13.46 6.04-13.46 13.46v324.9c0 7.41 6.04 13.45 13.46 13.45h153.69c7.42 0 13.46-6.04 13.46-13.46 0-3.31 2.68-6 6-6 3.31 0 6 2.69 6 6 0 14.04-11.42 25.46-25.46 25.46z" data-original="#000000"/>
234 <path d="M332.85 434.17h-153.7c-14.03 0-25.45-11.41-25.45-25.45V83.82c0-14.03 11.42-25.45 25.45-25.45h153.7c14.03 0 25.45 11.42 25.45 25.45v324.9c0 14.04-11.42 25.45-25.45 25.45zm-153.7-363.8c-7.42 0-13.45 6.04-13.45 13.45v324.9c0 7.42 6.03 13.46 13.45 13.46h153.7c7.41 0 13.45-6.04 13.45-13.46V83.82c0-7.41-6.04-13.45-13.45-13.45z" data-original="#000000"/>
235 <path d="M486.54 453.63H332.85c-14.04 0-25.46-11.42-25.46-25.46 0-3.31 2.69-5.99 6-5.99 3.32 0 6 2.68 6 5.99 0 7.42 6.04 13.46 13.46 13.46h153.69c7.42 0 13.46-6.04 13.46-13.46V103.28c0-7.42-6.04-13.46-13.46-13.46H352.3c-3.31 0-6-2.68-6-6 0-3.31 2.69-6 6-6h134.24c14.04 0 25.46 11.42 25.46 25.46v324.9c0 14.03-11.42 25.45-25.46 25.45zM82.85 226.05c-16.99 0-30.81-13.82-30.81-30.81 0-3.31 2.69-6 6-6 3.32 0 6 2.69 6 6 0 10.37 8.44 18.81 18.81 18.81s18.81-8.44 18.81-18.81-8.44-18.8-18.81-18.8c-16.99 0-30.81-13.82-30.81-30.81 0-16.98 13.82-30.8 30.81-30.8s30.81 13.82 30.81 30.8c0 3.32-2.69 6-6 6-3.32 0-6-2.68-6-6 0-10.37-8.44-18.8-18.81-18.8s-18.81 8.43-18.81 18.8 8.44 18.81 18.81 18.81c16.99 0 30.81 13.82 30.81 30.8 0 16.99-13.82 30.81-30.81 30.81zm42.32 28.35H40.54c-3.32 0-6-2.69-6-6 0-3.32 2.68-6 6-6h84.63c3.31 0 6 2.68 6 6 0 3.31-2.69 6-6 6zm0 55.45H40.54c-3.32 0-6-2.69-6-6 0-3.32 2.68-6 6-6h84.63c3.31 0 6 2.68 6 6 0 3.31-2.69 6-6 6zm0 55.44H40.54c-3.32 0-6-2.68-6-6 0-3.31 2.68-6 6-6h84.63c3.31 0 6 2.69 6 6 0 3.32-2.69 6-6 6zm3.89 51.34H36.64c-3.31 0-6-2.69-6-6v-22.86c0-3.32 2.69-6 6-6h92.42c3.31 0 6 2.68 6 6v22.86c0 3.31-2.69 6-6 6zm-86.41-12h80.41v-10.86H42.65z" data-original="#000000"/><path d="M429.15 226.05c-16.99 0-30.81-13.82-30.81-30.81 0-3.31 2.69-6 6-6s6 2.69 6 6c0 10.37 8.44 18.81 18.81 18.81s18.8-8.44 18.8-18.81-8.43-18.8-18.8-18.8c-16.99 0-30.81-13.82-30.81-30.81 0-16.98 13.82-30.8 30.81-30.8 16.98 0 30.8 13.82 30.8 30.8 0 3.32-2.68 6-6 6-3.31 0-6-2.68-6-6 0-10.37-8.43-18.8-18.8-18.8s-18.81 8.43-18.81 18.8 8.44 18.81 18.81 18.81c16.98 0 30.8 13.82 30.8 30.8 0 16.99-13.82 30.81-30.8 30.81zm42.31 28.41h-84.63c-3.31 0-6-2.69-6-6s2.69-6 6-6h84.63c3.32 0 6 2.69 6 6s-2.68 6-6 6zm0 55.45h-84.63c-3.31 0-6-2.69-6-6 0-3.32 2.69-6 6-6h84.63c3.32 0 6 2.68 6 6 0 3.31-2.68 6-6 6zm0 55.44h-84.63c-3.31 0-6-2.68-6-6 0-3.31 2.69-6 6-6h84.63c3.32 0 6 2.69 6 6 0 3.32-2.68 6-6 6zm3.89 51.28h-92.41c-3.31 0-6-2.69-6-6v-22.86c0-3.32 2.69-6 6-6h92.41c3.32 0 6 2.68 6 6v22.86c0 3.31-2.68 6-6 6zm-86.41-12h80.41v-10.86h-80.41zM256 201.2c-16.99 0-30.81-13.81-30.81-30.8 0-3.31 2.69-6 6-6 3.32 0 6 2.69 6 6 0 10.37 8.44 18.8 18.81 18.8s18.81-8.43 18.81-18.8-8.44-18.81-18.81-18.81c-16.99 0-30.81-13.82-30.81-30.8 0-16.99 13.82-30.81 30.81-30.81s30.81 13.82 30.81 30.81c0 3.31-2.69 6-6 6-3.32 0-6-2.69-6-6 0-10.37-8.44-18.81-18.81-18.81s-18.81 8.44-18.81 18.81 8.44 18.8 18.81 18.8c16.99 0 30.81 13.82 30.81 30.81s-13.82 30.8-30.81 30.8zm42.31 33.8h-84.62c-3.32 0-6-2.68-6-6a5.99 5.99 0 0 1 6-5.99h84.62c3.32 0 6 2.68 6 5.99 0 3.32-2.68 6-6 6zm0 55.45h-84.62c-3.32 0-6-2.68-6-6 0-3.31 2.68-6 6-6h84.62c3.32 0 6 2.69 6 6 0 3.32-2.68 6-6 6zm0 55.45h-84.62c-3.32 0-6-2.69-6-6s2.68-6 6-6h84.62c3.32 0 6 2.69 6 6s-2.68 6-6 6zm3.89 56.66h-92.41c-3.31 0-6-2.69-6-6V373.7c0-3.31 2.69-6 6-6h92.41c3.32 0 6 2.69 6 6v22.86c0 3.32-2.68 6-6 6zm-86.41-12h80.41V379.7h-80.41z" data-original="#000000"/>
236 </svg>
237 </div>
238 <div class='bs-welcome-panel-column-content'>
239 <h3><?php esc_html_e('Effortless Website Crafting Continues!','blockspare'); ?></h3>
240
241 <a href="<?php echo esc_url('https://www.blockspare.com/')?>" target="_blank" class="blockspare-notice-link"><?php esc_html_e('Upgrade Now','blockspare'); ?></a>
242 </div>
243 </div>
244 </div>
245 </div>
246 <a class="blockspare-notice-dismiss notice-dismiss" href="<?php echo esc_url( $this->dismiss_url ); ?>"></a>
247 </div> <!-- /blockspare-notice -->
248 <?php
249 }
250 }
251
252 new Blockspare_Setup_Notice();
253