示例#1
0
 /**
  * @expectedException AgaviUnreadableException
  * this does not seem to work in isolation
  */
 public function testAddNonexistantConfigHandlersFile()
 {
     $this->setExpectedException('AgaviUnreadableException');
     AgaviConfigCache::addConfigHandlersFile('does/not/exist');
 }
示例#2
0
 /**
  * Initialize a module and load its autoload, module config etc.
  *
  * @param      string The name of the module to initialize.
  *
  * @author     Felix Gilcher <*****@*****.**>
  * @since      1.0.0
  */
 public function initializeModule($moduleName)
 {
     $lowerModuleName = strtolower($moduleName);
     if (null === AgaviConfig::get('modules.' . $lowerModuleName . '.enabled')) {
         // set some defaults first
         AgaviConfig::fromArray(array('modules.' . $lowerModuleName . '.agavi.action.path' => '%core.module_dir%/${moduleName}/actions/${actionName}Action.class.php', 'modules.' . $lowerModuleName . '.agavi.cache.path' => '%core.module_dir%/${moduleName}/cache/${actionName}.xml', 'modules.' . $lowerModuleName . '.agavi.template.directory' => '%core.module_dir%/${module}/templates', 'modules.' . $lowerModuleName . '.agavi.validate.path' => '%core.module_dir%/${moduleName}/validate/${actionName}.xml', 'modules.' . $lowerModuleName . '.agavi.view.path' => '%core.module_dir%/${moduleName}/views/${viewName}View.class.php', 'modules.' . $lowerModuleName . '.agavi.view.name' => '${actionName}${viewName}'));
         // include the module configuration
         // loaded only once due to the way load() (former import()) works
         if (is_readable(AgaviConfig::get('core.module_dir') . '/' . $moduleName . '/config/module.xml')) {
             include_once AgaviConfigCache::checkConfig(AgaviConfig::get('core.module_dir') . '/' . $moduleName . '/config/module.xml');
         } else {
             AgaviConfig::set('modules.' . $lowerModuleName . '.enabled', true);
         }
         $moduleAutoload = AgaviConfig::get('core.module_dir') . '/' . $moduleName . '/config/autoload.xml';
         if (is_readable($moduleAutoload)) {
             AgaviConfigCache::load($moduleAutoload);
         }
         if (AgaviConfig::get('modules.' . $lowerModuleName . '.enabled')) {
             $moduleConfigHandlers = AgaviConfig::get('core.module_dir') . '/' . $moduleName . '/config/config_handlers.xml';
             if (is_readable($moduleConfigHandlers)) {
                 AgaviConfigCache::addConfigHandlersFile($moduleConfigHandlers);
             }
         }
     }
     if (!AgaviConfig::get('modules.' . $lowerModuleName . '.enabled')) {
         throw new AgaviDisabledModuleException(sprintf('The module "%1$s" is disabled.', $moduleName));
     }
     // check for a module config.php
     $moduleConfig = AgaviConfig::get('core.module_dir') . '/' . $moduleName . '/config.php';
     if (is_readable($moduleConfig)) {
         require_once $moduleConfig;
     }
 }