Done !
Server IP : 162.0.217.223 / Your IP : 216.73.216.153 Web Server : LiteSpeed System : Linux premium269.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : mypckeys ( 1539) PHP Version : 8.1.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/mypckeys/yeslicense.org/wp-content/plugins/squirrly-seo/classes/ |
Upload File : |
<?php defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' ); /** * The class creates object for plugin classes */ class SQ_Classes_ObjController { /** * * * @var array of instances */ public static $instances; /** * @param $className $className * @param array $args * * @return object $className|false */ public static function getClass( $className, $args = array() ) { if ( $class = self::getClassPath( $className ) ) { if ( ! isset( self::$instances[ $className ] ) ) { /* check if class is already defined */ if ( ! class_exists( $className ) ) { try { self::includeClass( $class['dir'], $class['name'] ); //check if this is an abstract class $check = new ReflectionClass( $className ); $abstract = $check->isAbstract(); if ( ! $abstract ) { self::$instances[ $className ] = new $className(); if ( ! empty( $args ) ) { call_user_func_array( array( self::$instances[ $className ], '__construct' ), $args ); } return self::$instances[ $className ]; } else { self::$instances[ $className ] = true; } } catch ( Exception $e ) { } } } else { return self::$instances[ $className ]; } } return false; } /** * Get a new instance of the class * * @param $className * @param array $args * * @return bool|mixed */ public static function getNewClass( $className, $args = array() ) { $instance = false; if ( $class = self::getClassPath( $className ) ) { /* check if class is already defined */ try { if ( ! class_exists( $className ) ) { self::includeClass( $class['dir'], $class['name'] ); } //check if this is an abstract class $check = new ReflectionClass( $className ); $abstract = $check->isAbstract(); if ( ! $abstract ) { $instance = new $className(); if ( ! empty( $args ) ) { call_user_func_array( array( $instance, '__construct' ), $args ); } return $instance; } else { $instance = true; } } catch ( Exception $e ) { } } return $instance; } /** * @param $classDir * @param $className * * @throws Exception */ private static function includeClass( $classDir, $className ) { $file = $classDir . $className . '.php'; try { if ( file_exists( $file ) ) { include_once $file; } } catch ( Exception $e ) { throw new Exception( 'Controller Error: ' . $e->getMessage() ); } } /** * @param $className * @param array $args * * @return stdClass */ public static function getDomain( $className, $args = array() ) { try { if ( $class = self::getClassPath( $className ) ) { self::includeClass( $class['dir'], $class['name'] ); return new $className( $args ); } } catch ( Exception $e ) { } return new stdClass(); } /** * Check if the class is correctly set * * @param string $className * * @return boolean */ private static function checkClassPath( $className ) { $path = preg_split( '/[_]+/', $className ); if ( is_array( $path ) && count( $path ) > 1 ) { if ( in_array( _SQ_NAMESPACE_, $path ) ) { return true; } } return false; } /** * Get the path of the class and name of the class * * @param string $className * * @return array | boolean * array( * dir - absolute path of the class * name - the name of the file * } */ public static function getClassPath( $className ) { $dir = ''; if ( self::checkClassPath( $className ) ) { $path = preg_split( '/[_]+/', $className ); for ( $i = 1; $i < sizeof( $path ) - 1; $i ++ ) { $dir .= strtolower( $path[ $i ] ) . '/'; } $class = array( 'dir' => _SQ_ROOT_DIR_ . $dir, 'name' => $path[ sizeof( $path ) - 1 ] ); if ( file_exists( $class['dir'] . $class['name'] . '.php' ) ) { return $class; } } return false; } }