File "class-metabox-wcps-layout.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/.wp-cli/wp-content/plugins/woocommerce-products-slider/includes/class-metabox-wcps-layout.php
File size: 5.13 KB
MIME-type: text/x-php
Charset: utf-8
<?php
if ( ! defined('ABSPATH')) exit; // if direct access
class class_metabox_wcps_layout{
public function __construct(){
//meta box action for "wcps"
add_action('add_meta_boxes', array($this, 'metabox_wcps_layout'));
add_action('save_post', array($this, 'metabox_wcps_layout_save'));
}
public function metabox_wcps_layout($post_type){
add_meta_box('metabox-wcps-layout',__('Layout data', 'woocommerce-products-slider'), array($this, 'meta_box_wcps_layout_data'), 'wcps_layout', 'normal', 'high');
}
public function meta_box_wcps_layout_data($post) {
// Add an nonce field so we can check for it later.
wp_nonce_field('wcps_nonce_check', 'wcps_nonce_check_value');
// Use get_post_meta to retrieve an existing value from the database.
// $wcps_data = get_post_meta($post -> ID, 'wcps_data', true);
$post_id = $post->ID;
$settings_tabs_field = new settings_tabs_field();
$wcps_settings_tab = array();
$wcps_settings_tab[] = array(
'id' => 'layout_builder',
'title' => sprintf(__('%s Layout builder','woocommerce-products-slider'),'<i class="fas fa-qrcode"></i>'),
'priority' => 4,
'active' => true,
);
$wcps_settings_tab[] = array(
'id' => 'custom_scripts',
'title' => sprintf(__('%s Custom scripts','woocommerce-products-slider'),'<i class="far fa-building"></i>'),
'priority' => 5,
'active' => false,
);
$wcps_settings_tab = apply_filters('wcps_layout_metabox_navs', $wcps_settings_tab);
$tabs_sorted = array();
foreach ($wcps_settings_tab as $page_key => $tab) $tabs_sorted[$page_key] = isset( $tab['priority'] ) ? $tab['priority'] : 0;
array_multisort($tabs_sorted, SORT_ASC, $wcps_settings_tab);
wp_enqueue_script('jquery');
wp_enqueue_script('jquery-ui-sortable');
wp_enqueue_script( 'jquery-ui-core' );
wp_enqueue_script('jquery-ui-accordion');
wp_enqueue_script('wp-color-picker');
wp_enqueue_style('wp-color-picker');
wp_enqueue_style( 'jquery-ui');
wp_enqueue_style( 'font-awesome-5' );
wp_enqueue_style( 'settings-tabs' );
wp_enqueue_script( 'settings-tabs' );
?>
<div class="settings-tabs vertical">
<ul class="tab-navs">
<?php
foreach ($wcps_settings_tab as $tab){
$id = $tab['id'];
$title = $tab['title'];
$active = $tab['active'];
$data_visible = isset($tab['data_visible']) ? $tab['data_visible'] : '';
$hidden = isset($tab['hidden']) ? $tab['hidden'] : false;
?>
<li <?php if(!empty($data_visible)): ?> data_visible="<?php echo $data_visible; ?>" <?php endif; ?> class="tab-nav <?php if($hidden) echo 'hidden';?> <?php if($active) echo 'active';?>" data-id="<?php echo $id; ?>"><?php echo $title; ?></li>
<?php
}
?>
</ul>
<?php
foreach ($wcps_settings_tab as $tab){
$id = $tab['id'];
$title = $tab['title'];
$active = $tab['active'];
?>
<div class="tab-content <?php if($active) echo 'active';?>" id="<?php echo $id; ?>">
<?php
do_action('wcps_layout_metabox_content_'.$id, $post_id);
?>
</div>
<?php
}
?>
</div>
<div class="clear clearfix"></div>
<?php
//do_action('wcps_metabox_wcps_data', $post);
}
public function metabox_wcps_layout_save($post_id){
/*
* We need to verify this came from the our screen and with
* proper authorization,
* because save_post can be triggered at other times.
*/
// Check if our nonce is set.
if (!isset($_POST['wcps_nonce_check_value']))
return $post_id;
$nonce = sanitize_text_field($_POST['wcps_nonce_check_value']);
// Verify that the nonce is valid.
if (!wp_verify_nonce($nonce, 'wcps_nonce_check'))
return $post_id;
// If this is an autosave, our form has not been submitted,
// so we don't want to do anything.
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
return $post_id;
// Check the user's permissions.
if ('page' == $_POST['post_type']) {
if (!current_user_can('edit_page', $post_id))
return $post_id;
} else {
if (!current_user_can('edit_post', $post_id))
return $post_id;
}
/* OK, its safe for us to save the data now. */
// Update the meta field.
do_action('wcps_layout_metabox_save', $post_id);
}
}
new class_metabox_wcps_layout();