<?php
 
/* Class name       : Configuration
 
 * Inherited from   : 
 
 * Created by       : Junaid Hassan (email : [email protected] , blog : junaidhassanalvi.wordpress.com)
 
 * Created On       : 15-April-2103
 
 * Description      : It is created to load and add configuration and to perfrom initial steps for configuration
 
 * 
 
 * Change Logs      :
 
 * 
 
 */
 
class Configuration {
 
 
    var $config;
 
 
    function __construct() {
 
        $this->load();
 
    }
 
 
    //jha-- load configuration for xml configuration file
 
    //jha-- add some additional configuration, defined in php code, in configuration object
 
    function load() {
 
 
        if (is_object($this->config))
 
            return;
 
 
        $base_path = dirname(str_replace('\\', '/', dirname(__FILE__)));
 
        $base_url = dirname((strpos(strtolower($_SERVER['SERVER_PROTOCOL']), 'https') === FALSE ? 'http://' :
 
                        'https://') . $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME']);
 
        $this->config = simplexml_load_file($base_path . '/' . INCLUDES . '/' . 'config.xml');
 
        $this->config->paths->addChild('includes', INCLUDES);
 
        $this->config->addChild('base_url', $base_url);
 
        $this->config->addChild('base_path', $base_path);
 
    }
 
 
    //jha-- load includes and helpers defined in configuration for perform various necessary site operations.
 
    public function preload() {
 
        if (isset($this->config->preload->includes->class)) {
 
            foreach ($this->config->preload->includes->class as $classes) {
 
                $inc_path = $this->config->base_path . '/' . $this->config->paths->includes . '/' . $classes . '.php';
 
                if (file_exists($inc_path)) {
 
                    require_once($inc_path);
 
                }
 
            }
 
        }
 
 
        if (isset($this->config->preload->helpers->class)) {
 
            foreach ($this->config->preload->helpers->class as $helpers) {
 
                $inc_path = $this->config->base_path . '/' . $this->config->paths->helpers . '/' . $helpers . '.php';
 
                if (file_exists($inc_path)) {
 
                    require_once($inc_path);
 
                }
 
            }
 
        }
 
    }
 
 
}
 
 
?>
 
 
 |