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() { ?>