File Manager
<?php
/**
* An abstract service class, individual services should
* extend this class
*/
abstract class HMBKP_Service {}
/**
* A singleton to handle the registering, de-registering
* and storage of services
*/
class HMBKP_Services {
/**
* Store the current instance
*
* @access private
* @var object HMBKP_Services
* @static
*/
private static $instance;
/**
* The array of services
*
* Should be of the format array( __FILE__ => __CLASS__ );
*
* @access private
* @var array
* @static
*/
private $services = array();
/**
* The current schedule object
*
* @access private
* @var object HMBKP_Scheduled_Backup
*/
private $schedule;
/**
* Get the current instance
*
* @access public
* @static
*/
public static function instance() {
if ( ! isset( self::$instance ) )
self::$instance = new HMBKP_Services;
return self::$instance;
}
/**
* Register a new service
*
* @param $filepath
* @param $classname
* @return bool|WP_Error
*/
public static function register( $filepath, $classname ) {
_deprecated_function( __METHOD__, '3.1.2' );
}
/**
* Instantiate the individual service classes
*
* @param string $classname
*
* @return array An array of instantiated classes
*/
private static function instantiate( $classname ) {
if ( ! class_exists( $classname ) )
return new \WP_Error( 'hmbkp_invalid_type_error', sprintf( __( 'Argument 1 for %s must be a valid class', 'backupwordpress' ) ), __METHOD__ );
/**
* @var HMBKP_Service
*/
$class = new $classname( self::instance()->schedule );
return $class;
}
}
File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com