コード例 #1
0
ファイル: helpers.php プロジェクト: umaxfun/x4m
 public static function getInstance($className = null)
 {
     if (!$className) {
         $className = get_called_class();
     }
     if (!isset(self::$objInstances[$className])) {
         $instance = new ReflectionClass($className);
         $instance->getConstructor();
         self::$objInstances[$className] = $instance->newInstance();
         //регистрируем в реестре
         xRegistry::set($className, self::$objInstances[$className]);
     }
     return self::$objInstances[$className];
 }
コード例 #2
0
ファイル: core.php プロジェクト: umaxfun/x4m
 public static function moduleFactory($modulename)
 {
     global $_PATH;
     $xRegCheck = explode('.', $modulename);
     $xRegName = $xRegCheck[0] . strtoupper($xRegCheck[1][0]) . substr($xRegCheck[1], 1);
     if (xRegistry::exists($xRegName)) {
         return xRegistry::get($xRegName);
     }
     $module = explode('.', $modulename);
     xCore::callCommonInstance($module[0]);
     //в случае xfront должен быть подключен модуль front
     if ($module[1] == 'xfront' && file_exists($inst = xConfig::get('PATH', 'MODULES') . $module[0] . '/' . $module[0] . '.front.class.php')) {
         require_once xConfig::get('PATH', 'MODULES') . $module[0] . '/' . $module[0] . '.front.class.php';
     }
     if ($module[1] == 'cron') {
         xCore::moduleFactory($module[0] . '.back');
     }
     $moduleInstancePath = xConfig::get('PATH', 'MODULES') . $module[0] . '/' . $module[0] . '.' . $module[1] . '.class.php';
     require_once $moduleInstancePath;
     $module[1][0] = strtoupper($module[1][0]);
     //calling class
     if (class_exists($classname = $module[0] . $module[1])) {
         //все конструкторы класса без параметров
         xRegistry::get('EVM')->fire($modulename . ':beforeInit');
         xRegistry::set($classname, $m = new $classname());
         xRegistry::get('EVM')->fire($modulename . ':afterInit', array('instance' => $m));
         xConfig::set('calledModules', $module[0], $m);
         //готовый класс
         return $m;
     }
 }
コード例 #3
0
ファイル: admin.php プロジェクト: umaxfun/x4m
$_SESSION['user'] = 1;
if (!isset($_SESSION['user'])) {
    if (!$_REQUEST['xoadCall']) {
        header('location: login.php');
    } else {
        echo 'SESSION_TIME_EXPIRED';
        die;
    }
}
require_once 'inc/core/helpers.php';
require_once 'conf/init.php';
require_once xConfig::get('PATH', 'CORE') . 'core.php';
require_once xConfig::get('PATH', 'CORE') . 'helpers.tpl.php';
xRegistry::set('TMS', $TMS = new tMultiSection());
xPDO::setSource(DB_HOST, DB_NAME, DB_USER, DB_PASS);
xRegistry::set('xPDO', xPDO::getInstance());
xNameSpaceHolder::addObjectToNS('E', new ENHANCE());
require_once xConfig::get('PATH', 'XOAD') . 'xoad.php';
require_once xConfig::get('PATH', 'ADM') . 'logger.class.php';
require_once xConfig::get('PATH', 'ADM') . 'adm.class.php';
if ($_REQUEST['xoadCall']) {
    ob_start();
    $adm = new adminPanel();
    $adm->startMapping();
    if (XOAD_Server::runServer()) {
        $all = ob_get_contents();
        ob_end_clean();
        if ($_COMMON_SITE_CONF['output_html_compress']) {
            Common::compress_output($all);
        }
        echo $all;
コード例 #4
0
ファイル: _run.php プロジェクト: umaxfun/x4m
    $connector = new connector();
    @ob_end_clean();
    ob_start();
    if (XOAD_Server::runServer()) {
        if ($all = ob_get_contents()) {
            @ob_end_clean();
            if (xConfig::get('GLOBAL', 'output_html_compress')) {
                echo Common::compress_output($all);
            } else {
                echo $all;
            }
        }
        exit;
    }
} else {
    xRegistry::set('TPA', $TPA = new tPageAgregator());
    if (isset($_GET['action'])) {
        $TPA->dispatch_action($_GET['action']);
    } elseif ($page = $TPA->execute_page(xConfig::get('PATH', 'baseUrl'))) {
        if ($TPA->FED_MODE) {
            $xConnector = new Connector();
            $xConnector_obj = XOAD_Client::register($xConnector, array('url' => '/admin.php'));
            $TMS->AddFileSection($_PATH['ADM'] . 'tpl/FED.html');
            $TMS->AddMassReplace('FED', array('front_obj' => XOAD_Client::register(new front_api()), 'xConnector' => $xConnector_obj, 'xoad_header' => XOAD_Utilities::header($_WEBPATH['XOAD'])));
            $page = preg_replace(array('#<script[^>]*>.*?</script>#is'), array(''), $page);
            $page .= $TMS->parseSection('FED');
        }
        $all = $page;
        if (xConfig::get('GLOBAL', 'enable_page_caching') && !$TPA->DisablePageCaching && !$TPA->FED_MODE) {
            $cache->toCache($all);
        }