balmet.com

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

builder.php (14966B)


      1 <?php
      2 
      3 
      4 require_once SEEDPROD_PLUGIN_PATH . 'resources/data-templates/basic-page.php';
      5 
      6 
      7 global $wpdb;
      8 
      9 // current user
     10 $current_user              = wp_get_current_user();
     11 $current_user_name         = $current_user->display_name;
     12 $current_user_email        = $current_user->user_email;
     13 $current_user_email_hash   = md5( $current_user->user_email );
     14 $free_templates_subscribed = get_option( 'seedprod_free_templates_subscribed' );
     15 if ( $free_templates_subscribed ) {
     16 	$free_templates_subscribed = '1';
     17 }
     18 $seedprod_nonce = wp_create_nonce( 'seedprod_nonce' );
     19 
     20 
     21 $lpage_id = '';
     22 if ( ! empty( $_GET['id'] ) ) {
     23 	$lpage_id = absint( $_GET['id'] );
     24 } else {
     25 	wp_die();
     26 }
     27 
     28 // Template Vars
     29 $timezones     = seedprod_lite_get_timezones();
     30 $times         = seedprod_lite_get_times();
     31 $block_options = seedprod_lite_block_options();
     32 
     33 
     34 // get page
     35 $tablename = $wpdb->prefix . 'posts';
     36 $sql       = "SELECT * FROM $tablename WHERE id = %d";
     37 $safe_sql  = $wpdb->prepare( $sql, $lpage_id );
     38 $lpage     = $wpdb->get_row( $safe_sql );
     39 
     40 // reset id
     41 $lpage->id = $lpage->ID;
     42 
     43 // Get page uuid
     44 $lpage_uuid = get_post_meta( $lpage->id, '_seedprod_page_uuid', true );
     45 if ( empty( $lpage_uuid ) ) {
     46 	$this_uuid = wp_generate_uuid4();
     47 	update_post_meta( $lpage->id, '_seedprod_page_uuid', $this_uuid );
     48 	$lpage_uuid = $this_uuid;
     49 }
     50 
     51 // add default settings if they do not exisits
     52 if ( empty( $lpage->post_content_filtered ) ) {
     53 	require_once SEEDPROD_PLUGIN_PATH . 'resources/data-templates/basic-page.php';
     54 	$settings                            = json_decode( $seedprod_basic_lpage, true );
     55 	$settings['page_type']               = 'lp';
     56 	$settings['from_edit_with_seedprod'] = true;
     57 } else {
     58 	// get settings and maybe modify
     59 	$settings = json_decode( $lpage->post_content_filtered, true );
     60 }
     61 
     62 
     63 
     64 
     65 // get preview link
     66 //$preview_link = get_preview_post_link( $lpage_id );
     67 if ( $settings['page_type'] == 'lp' ) {
     68 	$preview_link = home_url() . "/?page_id=$lpage_id&preview_id=$lpage_id&preview_nonce=" . wp_create_nonce( 'post_preview_' . $lpage_id ) . '&preview=true';
     69 } else {
     70 	$preview_link = home_url() . "/?post_type=seedprod&page_id=$lpage_id&preview_id=$lpage_id&preview_nonce=" . wp_create_nonce( 'post_preview_' . $lpage_id ) . '&preview=true';
     71 
     72 }
     73 
     74 // keep track for changes
     75 $settings['post_title']  = $lpage->post_title;
     76 $settings['post_name']   = $lpage->post_name;
     77 $settings['post_status'] = $lpage->post_status;
     78 
     79 $show_bottombar_cta    = true;
     80 $dismiss_bottombar_cta = get_option( 'seedprod_dismiss_upsell_2' );
     81 if ( $dismiss_bottombar_cta ) {
     82 	$show_bottombar_cta = false;
     83 }
     84 
     85 
     86 // Email integration logic
     87 $seedprod_api_token    = get_option( 'seedprod_api_token' );
     88 $seedprod_user_id      = get_option( 'seedprod_user_id' );
     89 $seedprod_site_token   = get_option( 'seedprod_token' );
     90 $license_key           = get_option( 'seedprod_api_key' );
     91 $email_integration_url = '';
     92 
     93 
     94 $seedprod_app_settings = get_option( 'seedprod_app_settings' );
     95 if ( ! empty( $seedprod_app_settings ) ) {
     96 	$seedprod_app_settings = json_decode( stripslashes( $seedprod_app_settings ) );
     97 } else {
     98 	// fail safe incase settings go missing
     99 	require_once SEEDPROD_PLUGIN_PATH . 'resources/data-templates/default-settings.php';
    100 	update_option( 'seedprod_app_settings', $seedprod_app_default_settings );
    101 	$seedprod_app_settings = json_decode( $seedprod_app_default_settings );
    102 }
    103 
    104 
    105 $template_preview_path = 'https://assets.seedprod.com/preview-';
    106 
    107 
    108 // Pers
    109 $per                        = array();
    110 $active_license             = false;
    111 $template_dev_mode          = false;
    112 $template_dev_mode_url      = false;
    113 $template_dev_mode_password = false;
    114 
    115 ?>
    116 
    117 
    118 <style>
    119  .sp-mobile-view  .sp-w-full {
    120 	width: 100% !important;
    121 }
    122 
    123 .sp-mobile-view .sp-el-section,.sp-mobile-view .sp-el-row,.sp-mobile-view .sp-el-col,.sp-mobile-view .sp-el-block{
    124 		padding: 5px !important;
    125 	}
    126 
    127 .sp-mobile-view .sm\:sp-flex {
    128 	display: block;
    129 }
    130 
    131 .mce-content-body {
    132 	line-height: 1.5;
    133 }
    134 
    135 h1.mce-content-body,h2.mce-content-body,h3.mce-content-body,h4.mce-content-body,h5.mce-content-body,h6.mce-content-body {
    136 	line-height: 1.1;
    137 }
    138 </style>
    139 
    140 <div id="seedprod-vue-app-builder" class="sp-font-sans"></div>
    141 
    142 <?php
    143 	$fontawesome_file = SEEDPROD_PLUGIN_PATH . 'resources/data-templates/fontawesome.json';
    144 	$fontawesome_json = json_decode( file_get_contents( $fontawesome_file ) );
    145 	$icons            = array();
    146 foreach ( $fontawesome_json as $v ) {
    147 	$icons[] = array(
    148 		'c' => 'fa',
    149 		'n' => $v,
    150 	);
    151 }
    152 
    153 	$googlefonts_file = SEEDPROD_PLUGIN_PATH . 'resources/data-templates/googlefonts.json';
    154 
    155 	$fonts['Standard Fonts'] = array(
    156 		"'Helvetica Neue', Arial, sans-serif"   => 'Helvetica Neue',
    157 		'Garamond, serif'                       => 'Garamond',
    158 		'Georgia, serif'                        => 'Georgia',
    159 		'Impact, Charcoal, sans-serif'          => 'Impact',
    160 		'Tahoma, Geneva, sans-serif'            => 'Tahoma',
    161 		"'Times New Roman', Times,serif"        => 'Times New Roman',
    162 		"'Trebuchet MS', Helvetica, sans-serif" => 'Trebuchet',
    163 		'Verdana, Geneva, sans-serif'           => 'Verdana',
    164 		'Courier, monospace'                    => 'Courier',
    165 		"'Comic Sans MS', cursive"              => 'Comic Sans',
    166 	);
    167 	$fonts['Google Fonts']   = json_decode( file_get_contents( $googlefonts_file ) );
    168 	//$googlefonts_json = json_decode(file_get_contents($googlefonts_file));
    169 
    170 	//get list of fonts to load
    171 	$google_fonts_str = seedprod_lite_construct_font_str( $settings['document'] );
    172 
    173 	?>
    174 
    175 <?php if ( ! empty( $google_fonts_str ) ) : ?>
    176 <!-- Google Font -->
    177 <link rel="stylesheet" href="<?php echo $google_fonts_str; ?>">
    178 <?php endif; ?>
    179 
    180 <script>
    181 var seedprod_nonce = "<?php echo $seedprod_nonce; ?>";
    182 var seedprod_page = "<?php echo sanitize_text_field($_GET['page']); ?>";
    183 var seedprod_remote_api = "<?php echo SEEDPROD_API_URL; ?>";
    184 <?php
    185 $from = '';
    186 if ( ! empty( $_GET['from'] ) ) {
    187 	$form = sanitize_text_field($_GET['from']);
    188 }
    189 ?>
    190 var seedprod_from = "<?php echo $from; ?>";
    191 <?php
    192 // see if we need below
    193 $ajax_url = html_entity_decode( wp_nonce_url( 'admin-ajax.php?action=seedprod_lite_save_template', 'seedprod_lite_save_template' ) );
    194 ?>
    195 var seedprod_template_save_url = "<?php echo $ajax_url; ?>";
    196 
    197 <?php $ajax_url = html_entity_decode( wp_nonce_url( 'admin-ajax.php?action=seedprod_lite_template_subscribe', 'seedprod_lite_template_subscribe' ) ); ?>
    198 var seedprod_template_subscribe_url = "<?php echo $ajax_url; ?>";
    199 
    200 <?php $ajax_url = html_entity_decode( wp_nonce_url( 'admin-ajax.php?action=seedprod_lite_save_page', 'seedprod_lite_save_page' ) ); ?>
    201 var seedprod_save_lpage_url = "<?php echo $ajax_url; ?>";
    202 
    203 <?php $utc_url = html_entity_decode( wp_nonce_url( 'admin-ajax.php?action=seedprod_lite_get_utc_offset', 'seedprod_lite_get_utc_offset' ) ); ?>
    204 var seedprod_utc_url = "<?php echo $utc_url; ?>";
    205 
    206 <?php $get_namespaced_custom_css_url = html_entity_decode( wp_nonce_url( 'admin-ajax.php?action=seedprod_lite_get_namespaced_custom_css', 'seedprod_lite_get_namespaced_custom_css' ) ); ?>
    207 var seedprod_get_namespaced_custom_css_url = "<?php echo $get_namespaced_custom_css_url; ?>";
    208 
    209 <?php $stockimages_url = html_entity_decode( wp_nonce_url( 'admin-ajax.php?action=seedprod_lite_get_stockimages', 'seedprod_lite_get_stockimages' ) ); ?>
    210 var seedprod_stockimages_url = "<?php echo $stockimages_url; ?>";
    211 
    212 <?php $backgrounds_sideload_url = html_entity_decode( wp_nonce_url( 'admin-ajax.php?action=seedprod_lite_backgrounds_sideload', 'seedprod_lite_backgrounds_sideload' ) ); ?>
    213 var seedprod_backgrounds_sideload_url = "<?php echo $backgrounds_sideload_url; ?>";
    214 
    215 <?php $backgrounds_download_url = html_entity_decode( wp_nonce_url( 'admin-ajax.php?action=seedprod_lite_backgrounds_download', 'seedprod_lite_backgrounds_download' ) ); ?>
    216 var seedprod_backgrounds_download_url = "<?php echo $backgrounds_download_url; ?>";
    217 
    218 <?php $ajax_url = html_entity_decode( wp_nonce_url( 'admin-ajax.php?action=seedprod_lite_slug_exists', 'seedprod_lite_slug_exists' ) ); ?>
    219 var seedprod_slug_exists_url = "<?php echo $ajax_url; ?>";
    220 
    221 <?php $seedprod_upgrade_link = seedprod_lite_upgrade_link( '' ); ?>
    222 
    223 <?php $url = seedprod_lite_get_plugins_install_url( 'all-in-one-seo-pack' ); ?>
    224 var seedprod_seo_install_link = "<?php echo htmlspecialchars_decode( $url ); ?>";
    225 
    226 <?php $url = seedprod_lite_get_plugins_install_url( 'wpforms-lite' ); ?>
    227 var seedprod_form_install_link = "<?php echo htmlspecialchars_decode( $url ); ?>";
    228 
    229 <?php $url = seedprod_lite_get_plugins_install_url( 'rafflepress' ); ?>
    230 var seedprod_giveaway_install_link = "<?php echo htmlspecialchars_decode( $url ); ?>";
    231 
    232 <?php $url = seedprod_lite_get_plugins_install_url( 'google-analytics-for-wordpress' ); ?>
    233 var seedprod_analytics_install_link = "<?php echo htmlspecialchars_decode( $url ); ?>";
    234 
    235 <?php
    236 	$url = seedprod_lite_get_plugins_activate_url( 'google-analytics-for-wordpress/googleanalytics.php' );
    237 ?>
    238 
    239 var seedprod_analytics_activate_link = "<?php echo htmlspecialchars_decode( $url ); ?>";
    240 
    241 <?php
    242 	$url = seedprod_lite_get_plugins_activate_url( 'wpforms-lite/wpforms.php' );
    243 ?>
    244 
    245 var seedprod_form_activate_link = "<?php echo htmlspecialchars_decode( $url ); ?>";
    246 
    247 <?php
    248 	$url = seedprod_lite_get_plugins_activate_url( 'all-in-one-seo-pack/all_in_one_seo_pack.php' );
    249 ?>
    250 var seedprod_seo_activate_link = "<?php echo htmlspecialchars_decode( $url ); ?>";
    251 
    252 <?php $ajax_url = html_entity_decode( wp_nonce_url( 'admin-ajax.php?action=seedprod_lite_install_addon', 'seedprod_lite_install_addon' ) ); ?>
    253 var seedprod_get_install_addon_url = "<?php echo $ajax_url; ?>";
    254 
    255 <?php $ajax_url = html_entity_decode( wp_nonce_url( 'admin-ajax.php?action=seedprod_lite_activate_addon', 'seedprod_lite_activate_addon' ) ); ?>
    256 var seedprod_activate_addon_url = "<?php echo $ajax_url; ?>";
    257 
    258 <?php $ajax_url = html_entity_decode( wp_nonce_url( 'admin-ajax.php?action=seedprod_lite_deactivate_addon', 'seedprod_lite_deactivate_addon' ) ); ?>
    259 var seedprod_deactivate_addon_url = "<?php echo $ajax_url; ?>";
    260 
    261 <?php $ajax_url = html_entity_decode( wp_nonce_url( 'admin-ajax.php?action=seedprod_lite_plugin_nonce', 'seedprod_lite_plugin_nonce' ) ); ?>
    262 var seedprod_plugin_nonce_url = "<?php echo $ajax_url; ?>";
    263 
    264 <?php $ajax_url = html_entity_decode( wp_nonce_url( 'admin-ajax.php?action=seedprod_lite_dismiss_upsell', 'seedprod_lite_dismiss_upsell' ) ); ?>
    265 var seedprod_dismiss_upsell = "<?php echo $ajax_url; ?>";
    266 
    267 <?php
    268 $unfiltered_html= false;
    269 if(current_user_can( 'unfiltered_html' )){
    270 	$unfiltered_html = true;
    271 }
    272 ?>
    273 
    274 var seedprod_data = 
    275 <?php
    276 $seedprod_data = array(
    277 	'unfiltered_html'			  => $unfiltered_html,
    278 	'show_bottombar_cta'          => $show_bottombar_cta,
    279 	'template_preview_path'       => $template_preview_path,
    280 	'page_uuid'                   => $lpage_uuid,
    281 	'placeholder_image'           => SEEDPROD_PLUGIN_URL . 'public/img/img-placeholder.png',
    282 	'placeholder_sm_image'        => SEEDPROD_PLUGIN_URL . 'public/img/img-placeholder-sm.png',
    283 	'block_templates'             => json_decode( $seedprod_lite_block_templates ),
    284 	'expire_times'                => seedprod_lite_get_expire_times(),
    285 	'roles'                       => seedprod_lite_get_roles(),
    286 	'my_ip'                       => seedprod_lite_get_ip(),
    287 	'plugins_installed'           => seedprod_lite_get_plugins_array(),
    288 	'giveaway_plugins_installed'  => seedprod_lite_get_giveaway_plugins_list(),
    289 	'form_plugins_installed'      => seedprod_lite_get_form_plugins_list(),
    290 	'seo_plugins_installed'       => seedprod_lite_get_seo_plugins_list(),
    291 	'analytics_plugins_installed' => seedprod_lite_get_analytics_plugins_list(),
    292 	'page_type'                   => $settings['page_type'],
    293 	'current_user_name'           => $current_user_name,
    294 	'current_user_email_hash'     => $current_user_email_hash,
    295 	'current_user_email'          => $current_user_email,
    296 	'free_templates_subscribed'   => $free_templates_subscribed,
    297 	'preview_link'                => $preview_link,
    298 	'icons'                       => $icons,
    299 	'googlefonts'                 => $fonts,
    300 	'api_token'                   => $seedprod_api_token,
    301 	'seedprod_user_id'            => $seedprod_user_id,
    302 	'site_token'                  => $seedprod_site_token,
    303 	'license_key'                 => $license_key,
    304 	'page_path'                   => 'seedprod_lite',
    305 	'plugin_path'                 => SEEDPROD_PLUGIN_URL,
    306 	'web_path'                    => SEEDPROD_WEB_API_URL,
    307 	'home_url'                    => home_url(),
    308 	'upgrade_link'                => $seedprod_upgrade_link,
    309 	'lpage'                       => $lpage,
    310 	'settings'                    => $settings,
    311 	'app_settings'                => $seedprod_app_settings,
    312 	'block_options'               => $block_options,
    313 	'timezones'                   => $timezones,
    314 	'times'                       => $times,
    315 	'template_dev_mode'           => $template_dev_mode,
    316 	'template_dev_mode_url'       => $template_dev_mode_url,
    317 	'template_dev_mode_password'  => $template_dev_mode_password,
    318 	'email_integration_url'       => $email_integration_url,
    319 	'per'                         => $per,
    320 	'active_license'              => $active_license,
    321 );
    322 
    323 //if (function_exists('wpforms')) {
    324 	$seedprod_data['wpforms'] = array(
    325 		'edit_form_url' => admin_url( 'admin.php?page=wpforms-builder&view=fields&form_id=' ),
    326 		'add_form_url'  => admin_url( 'admin.php?page=wpforms-builder&view=setup' ),
    327 		'placeholder'   => sprintf( '<img src="%s" width="80px" alt="WPForms Logo"/>', esc_url( SEEDPROD_PLUGIN_URL . 'public/img/plugin-wpforms.png' ) ),
    328 	);
    329 
    330 	$rp_version = 'lite';
    331 	if ( function_exists( 'rafflepress_pro_load_textdomain' ) ) {
    332 		$rp_version = 'pro';
    333 	}
    334 
    335 	$seedprod_data['rafflepress'] = array(
    336 		'edit_form_url' => admin_url( 'admin.php?page=rafflepress_' . $rp_version . '_builder&id=$id$#/setup/$id$' ),
    337 		'add_form_url'  => admin_url( 'admin.php?page=rafflepress_' . $rp_version . '_builder&id=0#/template' ),
    338 		'placeholder'   => sprintf( '<img src="%s" width="80px" alt="RafflePress Logo"/>', esc_url( SEEDPROD_PLUGIN_URL . 'public/img/plugin-rp.png' ) ),
    339 	);
    340 	//}
    341 
    342 	// Check if WooCommerce is active
    343 	if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
    344 		$seedprod_data['wc_active'] = true;
    345 	} else {
    346 		$seedprod_data['wc_active'] = false;
    347 	}
    348 
    349 	echo wp_json_encode( $seedprod_data );
    350 	?>
    351 	;
    352 
    353 		jQuery('link[href*="forms.css"]').remove();
    354 		jQuery('link[href*="common.css"]').remove();
    355 
    356 	//     var stop = true;
    357 	// jQuery(".sp-drag-section").on("drag", function (e) {
    358 
    359 	//     stop = true;
    360 
    361 	//     if (e.originalEvent.clientY < 150) {
    362 	//         stop = false;
    363 	//         scroll(-1)
    364 	//     }
    365 
    366 	//     if (e.originalEvent.clientY > (jQuery(window).height() - 150)) {
    367 	//         stop = false;
    368 	//         scroll(1)
    369 	//     }
    370 
    371 	// });
    372 
    373 	// jQuery(".draggable").on("dragend", function (e) {
    374 	//      stop = true;
    375 	// });
    376 
    377 	// var scroll = function (step) {
    378 	//     var scrollY = jQuery(window).scrollTop();
    379 	//     jQuery(window).scrollTop(scrollY + step);
    380 	//     if (!stop) {
    381 	//         setTimeout(function () { scroll(step) }, 20);
    382 	//     }
    383 	// }
    384 </script>
    385