Submit
Path:
~
/
home
/
getwphos
/
www
/
twinkletown
/
wp-content
/
plugins
/
wgl-extensions
/
includes
/
framework
/
redux-core
/
File Content:
class-redux-core.php
<?php /** * Redux Core Class * * @class Redux_Core * @version 4.0.0 * @package Redux Framework */ defined( 'ABSPATH' ) || exit; if ( ! class_exists( 'Redux_Core', false ) ) { /** * Class Redux_Core */ class Redux_Core { /** * Class instance. * * @var object */ public static $instance; /** * Project version * * @var string */ public static $version; /** * Project directory. * * @var string. */ public static $dir; /** * Project URL. * * @var string. */ public static $url; /** * Base directory path. * * @var string */ public static $redux_path; /** * Absolute direction path to WordPress upload directory. * * @var null */ public static $upload_dir = null; /** * Full URL to WordPress upload directory. * * @var string */ public static $upload_url = null; /** * Set when Redux is run as a plugin. * * @var bool */ public static $is_plugin = true; /** * Indicated in_theme or in_plugin. * * @var string */ public static $installed = ''; /** * Set when Redux is run as a plugin. * * @var bool */ public static $as_plugin = false; /** * Set when Redux is embedded within a theme. * * @var bool */ public static $in_theme = false; /** * Set when Redux Pro plugin is loaded and active. * * @var bool */ public static $pro_loaded = false; /** * Pointer to an updated Google fonts array. * * @var array */ public static $google_fonts = array(); /** * List of files calling Redux. * * @var array */ public static $callers = array(); /** * Pointer to _SERVER global. * * @var null */ public static $server = null; /** * Pointer to the third party fixes class. * * @var null */ public static $third_party_fixes = null; /** * Redux Welcome screen object. * * @var null */ public static $welcome = null; /** * Creates instance of class. * * @return Redux_Core * @throws Exception Comment. */ public static function instance() { if ( ! self::$instance ) { self::$instance = new self(); self::$instance->includes(); self::$instance->init(); self::$instance->hooks(); } return self::$instance; } /** * Class init. */ private function init() { self::$server = array( 'SERVER_SOFTWARE' => '', 'REMOTE_ADDR' => Redux_Helpers::is_local_host() ? '127.0.0.1' : '', 'HTTP_USER_AGENT' => '', 'HTTP_HOST' => '', 'REQUEST_URI' => '', ); // phpcs:disable WordPress.NamingConventions.ValidVariableName.VariableNotSnakeCase if ( ! empty( $_SERVER['SERVER_SOFTWARE'] ) ) { self::$server['SERVER_SOFTWARE'] = sanitize_text_field( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ) ); } if ( ! empty( $_SERVER['REMOTE_ADDR'] ) ) { self::$server['REMOTE_ADDR'] = sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ); } if ( ! empty( $_SERVER['HTTP_USER_AGENT'] ) ) { self::$server['HTTP_USER_AGENT'] = sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) ); } if ( ! empty( $_SERVER['HTTP_HOST'] ) ) { self::$server['HTTP_HOST'] = sanitize_text_field( wp_unslash( $_SERVER['HTTP_HOST'] ) ); } if ( ! empty( $_SERVER['REQUEST_URI'] ) ) { self::$server['REQUEST_URI'] = sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ); } // phpcs:enable self::$dir = trailingslashit( wp_normalize_path( dirname( realpath( __FILE__ ) ) ) ); if ( defined( 'REDUX_PLUGIN_FILE' ) ) { $plugin_info = Redux_Functions_Ex::is_inside_plugin( REDUX_PLUGIN_FILE ); } $plugin_info = Redux_Functions_Ex::is_inside_plugin( __FILE__ ); if ( false !== $plugin_info ) { self::$installed = class_exists( 'Redux_Framework_Plugin' ) ? 'plugin' : 'in_plugin'; self::$is_plugin = class_exists( 'Redux_Framework_Plugin' ); self::$as_plugin = true; self::$url = trailingslashit( dirname( $plugin_info['url'] ) ); } else { $theme_info = Redux_Functions_Ex::is_inside_theme( __FILE__ ); if ( false !== $theme_info ) { self::$url = trailingslashit( dirname( $theme_info['url'] ) ); self::$in_theme = true; self::$installed = 'in_theme'; } } // phpcs:ignore WordPress.NamingConventions.ValidHookName self::$url = apply_filters( 'redux/url', self::$url ); // phpcs:ignore WordPress.NamingConventions.ValidHookName self::$dir = apply_filters( 'redux/dir', self::$dir ); // phpcs:ignore WordPress.NamingConventions.ValidHookName self::$is_plugin = apply_filters( 'redux/is_plugin', self::$is_plugin ); if ( ! function_exists( 'current_time' ) ) { require_once ABSPATH . '/wp-includes/functions.php'; } $upload_dir = wp_upload_dir(); self::$upload_dir = $upload_dir['basedir'] . '/redux/'; self::$upload_url = str_replace( array( 'https://', 'http://' ), '//', $upload_dir['baseurl'] . '/redux/' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName self::$upload_dir = apply_filters( 'redux/upload_dir', self::$upload_dir ); // phpcs:ignore WordPress.NamingConventions.ValidHookName self::$upload_url = apply_filters( 'redux/upload_url', self::$upload_url ); } /** * Code to execute on a framework __construct. * * @param object $parent Pointer to ReduxFramework object. */ public static function core_construct( $parent ) { self::$third_party_fixes = new Redux_ThirdParty_Fixes( $parent ); Redux_ThemeCheck::get_instance(); } /** * Autoregister run. * * @throws Exception Comment. */ private function includes() { if ( class_exists( 'Redux_Pro' ) && isset( Redux_Pro::$dir ) ) { self::$pro_loaded = true; } require_once dirname( __FILE__ ) . '/inc/classes/class-redux-path.php'; require_once dirname( __FILE__ ) . '/inc/classes/class-redux-functions-ex.php'; require_once dirname( __FILE__ ) . '/inc/classes/class-redux-helpers.php'; require_once dirname( __FILE__ ) . '/inc/classes/class-redux-instances.php'; Redux_Functions_Ex::register_class_path( 'Redux', dirname( __FILE__ ) . '/inc/classes' ); /* Redux_Functions_Ex::register_class_path( 'Redux', dirname( __FILE__ ) . '/inc/welcome' ); */ spl_autoload_register( array( $this, 'register_classes' ) ); /* self::$welcome = new Redux_Welcome(); */ new Redux_Rest_Api_Builder(); } /** * Register callback for autoload. * * @param string $class_name name of class. */ public function register_classes( string $class_name ) { $class_name_test = self::strtolower( $class_name ); if ( strpos( $class_name_test, 'redux' ) === false ) { return; } if ( ! class_exists( 'Redux_Functions_Ex' ) ) { require_once Redux_Path::get_path( '/inc/classes/class-redux-functions-ex.php' ); } if ( ! class_exists( $class_name ) ) { // Backward compatibility for extensions sucks! if ( 'Redux_Instances' === $class_name ) { require_once Redux_Path::get_path( '/inc/classes/class-redux-instances.php' ); require_once Redux_Path::get_path( '/inc/lib/redux-instances.php' ); return; } // Load Redux APIs. if ( 'Redux' === $class_name ) { require_once Redux_Path::get_path( '/inc/classes/class-redux-api.php' ); return; } // Redux extra theme checks. if ( 'Redux_ThemeCheck' === $class_name ) { require_once Redux_Path::get_path( '/inc/themecheck/class-redux-themecheck.php' ); return; } /* if ( 'Redux_Welcome' === $class_name ) { require_once Redux_Path::get_path( '/inc/welcome/class-redux-welcome.php' ); return; } */ $mappings = array( 'ReduxFrameworkInstances' => 'Redux_Instances', 'reduxCorePanel' => 'Redux_Panel', 'reduxCoreEnqueue' => 'Redux_Enqueue', 'Redux_Abstract_Extension' => 'Redux_Extension_Abstract', ); $alias = false; if ( isset( $mappings[ $class_name ] ) ) { $alias = $class_name; $class_name = $mappings[ $class_name ]; } // Everything else. $file = 'class.' . $class_name_test . '.php'; $class_path = Redux_Path::get_path( '/inc/classes/' . $file ); if ( ! file_exists( $class_path ) ) { $class_file_name = str_replace( '_', '-', $class_name ); $file = 'class-' . $class_name_test . '.php'; $class_path = Redux_Path::get_path( '/inc/classes/' . $file ); } if ( file_exists( $class_path ) && ! class_exists( $class_name ) ) { require_once $class_path; } if ( class_exists( $class_name ) && ! empty( $alias ) && ! class_exists( $alias ) ) { class_alias( $class_name, $alias ); } } // phpcs:ignore WordPress.NamingConventions.ValidHookName do_action( 'redux/core/includes', $this ); } /** * Hooks to run on instance creation. */ private function hooks() { // phpcs:ignore WordPress.NamingConventions.ValidHookName do_action( 'redux/core/hooks', $this ); } /** * Action to run on WordPress heartbeat. * * @return bool */ public static function is_heartbeat(): bool { // Disregard WP AJAX 'heartbeat' call. Why waste resources? if ( isset( $_POST ) && isset( $_POST['_nonce'] ) && wp_verify_nonce( sanitize_key( wp_unslash( $_POST['_nonce'] ) ), 'heartbeat-nonce' ) ) { if ( isset( $_POST['action'] ) && 'heartbeat' === sanitize_text_field( wp_unslash( $_POST['action'] ) ) ) { // Hook, for purists. if ( has_action( 'redux/ajax/heartbeat' ) ) { // phpcs:ignore WordPress.NamingConventions.ValidHookName do_action( 'redux/ajax/heartbeat' ); } return true; } return false; } // Buh bye! return false; } /** * Helper method to check for mb_strtolower or to use the standard strtolower. * * @param string|null $str String to make lowercase. * * @return string|null */ public static function strtolower( ?string $str ): string { if ( function_exists( 'mb_strtolower' ) && function_exists( 'mb_detect_encoding' ) ) { return mb_strtolower( $str, mb_detect_encoding( $str ) ); } else { return strtolower( $str ); } } } /* * Backwards comparability alias */ class_alias( 'Redux_Core', 'redux-core' ); }
Submit
FILE
FOLDER
Name
Size
Permission
Action
assets
---
0755
core
---
0755
inc
---
0755
languages
---
0755
templates
---
0755
class-redux-core.php
10370 bytes
0644
framework.php
22093 bytes
0644
index.php
79 bytes
0644
N4ST4R_ID | Naxtarrr