Example #1
1
define('RESOURCE_PATH', ROOT_PATH . 'resource' . DIRECTORY_SEPARATOR);
define('MODULE_PATH', ROOT_PATH . 'modules' . DIRECTORY_SEPARATOR);
$classLoader = (require VENDOR_PATH . 'autoload.php');
require SLIM_PATH . 'Helpers' . DIRECTORY_SEPARATOR . 'functions.php';
/**
 * Load the configuration
 */
$config = array('path.app' => APP_PATH, 'path.root' => ROOT_PATH, 'path.slim' => SLIM_PATH, 'path.cache' => CACHE_PATH, 'path.public' => PUBLIC_PATH, 'path.module' => MODULE_PATH, 'path.resource' => RESOURCE_PATH);
$clearCache = false;
if (isset($_REQUEST['clear_cache'])) {
    $clearCache = true;
}
/** include Config files */
$config += ConfigWorker::init($clearCache)->all();
if (!isset($config['slim'])) {
    $container = new Container(['debug' => true, 'use_log' => false, 'determineRouteBeforeAppMiddleware' => true, 'displayErrorDetails' => true]);
    $app = AppFactory::setInstance(new SlimCMS($container));
    ModuleLoader::bootEasyModule(new Modules\SystemInstaller\Module());
    return $app;
}
if ($config['slim']['settings']['debug']) {
    error_reporting(E_ALL ^ E_NOTICE);
}
$container = new Container($config['slim']);
$container->config = $config;
$app = AppFactory::setInstance(new SlimCMS($container));
$container->modules = new SModuleManager($clearCache);
$container->modules->loadModules(MODULE_PATH);
ModuleLoader::bootCore($container->modules->module('Core'));
ModuleLoader::bootLoadModules($container->modules);
return $app;
Example #2
0
 /**
  * @param bool $cache
  */
 public function __construct($cache)
 {
     $this->filesystem = new Filesystem();
     $this->moduleContainer = new Container();
     $this->cache = !$cache;
     $container = AppFactory::getInstance()->getContainer();
     $container['cache'] = function () {
         $cacheContainer = new Container();
         $cacheContainer->singleton('files', function () {
             return new Filesystem();
         });
         $cacheContainer->singleton('config', function () {
             return AppFactory::getInstance()->getContainer()->config['cache'];
         });
         return new CacheManager($cacheContainer);
     };
     $this->cacheManager = $container->get('cache');
 }
Example #3
0
 public function beforeInitialization()
 {
     $this->app = AppFactory::getInstance();
     $this->container = $this->app->getContainer();
 }
Example #4
0
 protected static function checkDependency($arDependency = false)
 {
     if (!$arDependency || !is_array($arDependency)) {
         return;
     }
     foreach ($arDependency as $name) {
         if (self::$loadedModules[$name]) {
             continue;
         }
         if (self::$moduleContainer[$name]) {
             if (!self::$moduleContainer[$name]->config->installed) {
                 continue;
             }
             if (!self::$moduleContainer[$name]->config->active) {
                 AppFactory::getInstance('logger')->info("Module \"{$name}\" not active");
                 continue;
             }
             self::bootModuleContainer(self::$moduleContainer[$name]);
         } else {
             AppFactory::getInstance('logger')->error("Can't find module \"{$module}\" in container");
         }
     }
 }