HEX
Server: Apache
System: Linux d5123.usc1.stableserver.net 5.14.0-570.17.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Sat May 24 12:53:17 EDT 2025 x86_64
User: d5123 (1001)
PHP: 8.4.21
Disabled: NONE
Upload Files
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;