screen_id;
}
/**
* No Image Url
*/
public function no_image_url() {
global $acf_fcl;
return FCL_ABSURL.$acf_fcl->no_image_url;
}
/**
* Admin Footer Enqueue Scripts
*/
public function admin_footer_screen_id() {
add_action( 'admin_footer-'.$this->screen_id(), array( $this, 'acf_fcl_footer_scripts' ) );
}
/**
* Add Meta boxes.
*/
public function add_meta_boxes() {
global $acf_fcl;
if ( $this->screen_id() == 'toplevel_page_acf_fcl' && !$acf_fcl::check_exist_acf() ) {
add_meta_box( 'submitdiv', 'Save Options', 'acf_fcl_meta_boxes::meta_box_submit_post', $this->screen_id(), 'side', 'high' );
add_meta_box( 'acffcsdiv', 'ACF Section Thumbnails', 'acf_fcl_meta_boxes::meta_box_acf_fcl', $this->screen_id(), 'normal', 'high' );
}
}
/**
* Add Meta Box Submit Action.
*/
public function meta_box_submit_post() {
include( FCL_ABSPATH . 'includes/html-metabox-submit-post.php' );
}
/**
* Add Meta Box Flexible Content List.
*/
public function meta_box_acf_fcl() {
include( FCL_ABSPATH . 'includes/html-metabox-acf-list.php' );
}
/**
* Get Option Data.
*/
public function get_data() {
global $acf_fcl;
$option_name = $acf_fcl->option_name;
$option_value = get_option( $option_name );
if ( empty( $option_value ) ) {
$option_value = json_encode( array() );
}
return json_decode( $option_value, true );
}
/**
* Submit Action.
*/
public function submit_data() {
global $acf_fcl;
$option_name = $acf_fcl->option_name;
if ( isset( $_POST['acf'] ) && !empty( $_POST['acf'] ) ) {
$data_option = array_filter( $_POST['acf'] );
$data_option = json_encode( $data_option );
$action = update_option( $option_name, $data_option );
if ( $action ) {
$message = 'Settings updated.';
add_settings_error( 'acf_fcl_notice', 'acf_fcl_notice', $message, 'updated' );
}
else {
$message = 'ERROR: Settings not updated.';
add_settings_error( 'acf_fcl_notice', 'acf_fcl_notice', $message, 'error' );
}
}
else {
$message = 'ERROR: Settings not updated.';
add_settings_error( 'acf_fcl_notice', 'acf_fcl_notice', $message, 'error' );
}
}
/**
* Number of Column available in Settings Page.
* we can only set to 1 or 2 column.
*/
function acf_fcl_screen_layout_column( $columns, $screen ) {
$screen_id = $this->screen_id();
if ( $screen == $screen_id ) {
$columns[$screen_id] = 2;
}
return $columns;
}
/**
* Load Script Needed For Meta Box
*/
public function acf_fcl_enqueue_scripts( $hook_suffix ) {
$screen_id = $this->screen_id();
if ( $hook_suffix == $screen_id ) {
wp_enqueue_script( 'common' );
wp_enqueue_script( 'wp-lists' );
wp_enqueue_script( 'postbox' );
wp_enqueue_media();
}
}
/**
* Footer Script Needed for Meta Box:
* - Meta Box Toggle
* - Spinner for Saving Option
* - Reset Settings Confirmation
* - Add WP Media Frame
*/
public function acf_fcl_footer_scripts() { ?>