File: /home/d5123/myboofola_com/wp-content/plugins/my-wp/setting/class.setting.screen.php
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( 'MywpSettingScreen' ) ) :
final class MywpSettingScreen {
private static $current_screen_id;
private static $current_screen;
public static function get_setting_screens() {
$pre_setting_screens = apply_filters( 'mywp_setting_screens' , array() );
if( empty( $pre_setting_screens ) ) {
return false;
}
$default = array(
'id' => '',
'title' => '',
'menu' => '',
'controller' => '',
'use_form' => true,
'use_advance' => false,
'document_url' => false,
);
$setting_screens = array();
foreach( $pre_setting_screens as $setting_screen_id => $setting_screen ) {
$setting_screen = wp_parse_args( $setting_screen , $default );
$setting_screen['id'] = $setting_screen_id;
$setting_screens[ $setting_screen_id ] = $setting_screen;
}
return $setting_screens;
}
public static function get_setting_screen( $setting_screen_id = false ) {
if( empty( $setting_screen_id ) ) {
$called_text = sprintf( '%s::%s( %s )' , __CLASS__ , __FUNCTION__ , '$setting_screen_id' );
MywpHelper::error_require_message( '$setting_screen_id' , $called_text );
return false;
}
$setting_screens = self::get_setting_screens();
if( empty( $setting_screens[ $setting_screen_id ] ) ) {
return false;
}
return $setting_screens[ $setting_screen_id ];
}
public static function set_current_screen_id( $setting_screen_id = false ) {
$setting_screen_id = esc_attr( strip_tags( $setting_screen_id ) );
self::$current_screen_id = $setting_screen_id;
self::set_current_screen( $setting_screen_id );
}
public static function get_current_screen_id() {
return self::$current_screen_id;
}
private static function set_current_screen( $setting_screen_id = false ) {
if( empty( $setting_screen_id ) ) {
$called_text = sprintf( '%s::%s( %s )' , __CLASS__ , __FUNCTION__ , '$setting_screen_id' );
MywpHelper::error_require_message( '$setting_screen_id' , $called_text );
return false;
}
$setting_screen = self::get_setting_screen( $setting_screen_id );
if( empty( $setting_screen ) ) {
return false;
}
self::$current_screen = $setting_screen;
}
public static function get_current_screen() {
return self::$current_screen;
}
public static function set_current_screen_by_menu_id( $setting_menu_id = false ) {
if( empty( $setting_menu_id ) ) {
$called_text = sprintf( '%s::%s( %s )' , __CLASS__ , __FUNCTION__ , '$setting_menu_id' );
MywpHelper::error_require_message( '$setting_menu_id' , $called_text );
return false;
}
$current_setting_screens = self::get_setting_screens_by_menu_id( $setting_menu_id );
if( empty( $current_setting_screens ) ) {
return false;
}
$current_setting_screen_id = false;
foreach( $current_setting_screens as $setting_screens ) {
$current_setting_screen_id = $setting_screens['id'];
break;
}
if( empty( $current_setting_screen_id ) ) {
return false;
}
self::set_current_screen_id( $current_setting_screen_id );
}
public static function get_setting_screens_by_menu_id( $find_setting_menu_id = false ) {
if( empty( $find_setting_menu_id ) ) {
$called_text = sprintf( '%s::%s( %s )' , __CLASS__ , __FUNCTION__ , '$find_setting_menu_id' );
MywpHelper::error_require_message( '$find_setting_menu_id' , $called_text );
return false;
}
$setting_screens = self::get_setting_screens();
if( empty( $setting_screens ) ) {
return false;
}
$found_setting_screens = array();
foreach( $setting_screens as $setting_screen_id => $setting_screen ) {
if( empty( $setting_screen['menu'] ) ) {
continue;
}
if( $setting_screen['menu'] !== $find_setting_menu_id ) {
continue;
}
$found_setting_screens[] = $setting_screen;
}
return $found_setting_screens;
}
}
endif;