/**
  * Returns the framework manager for the given class name
  * 
  * @param string $className
  * @return object
  * 
  * @throws \Zepi\Turbo\Exception Cannot find framework manager "{className}".
  */
 protected function getFrameworkManager($className)
 {
     switch ($className) {
         case 'Zepi\\Turbo\\Manager\\DataSourceManager':
             return $this->framework->getDataSourceManager();
             break;
         case 'Zepi\\Turbo\\Manager\\DependencyInjectionManager':
             return $this->framework->getDependencyInjectionManager();
             break;
         case 'Zepi\\Turbo\\Manager\\ModuleManager':
             return $this->framework->getModuleManager();
             break;
         case 'Zepi\\Turbo\\Manager\\RequestManager':
             return $this->framework->getRequestManager();
             break;
         case 'Zepi\\Turbo\\Manager\\RouteManager':
             return $this->framework->getRouteManager();
             break;
         case 'Zepi\\Turbo\\Manager\\RuntimeManager':
             return $this->framework->getRuntimeManager();
             break;
         default:
             throw new Exception('Cannot find framework manager "' . $className . '".');
             break;
     }
 }
 /**
  * The RebuildFrameworkCache event handler deletes the events and routes
  * cache and executes the activation method on all modules.
  * 
  * @access public
  * @param \Zepi\Turbo\Framework $framework
  * @param \Zepi\Turbo\Request\CliRequest $request
  * @param \Zepi\Turbo\Response\Response $response
  */
 public function execute(Framework $framework, CliRequest $request, Response $response)
 {
     $framework->getRuntimeManager()->clearCache(false);
     $framework->getRouteManager()->clearCache(false);
     $framework->getModuleManager()->reactivateModules();
     $response->setOutputPart('cacheCleared', 'The cache was successfully cleared and rebuilt!');
 }
Example #3
0
 /**
  * Clears the handlers cache and reactivates the modules
  * to rebuild the cache.
  * 
  * @access public
  * @param boolean $reactivateModules
  */
 public function clearCache($reactivateModules = true)
 {
     $this->handlers = array();
     if ($reactivateModules) {
         $this->framework->getModuleManager()->reactivateModules();
     }
 }
Example #4
0
 /**
  * Returns the directory for the given module namespace
  * 
  * @access protected
  * @param string $namespace
  * @return false|string
  */
 protected function buildPathFromNamespace($namespace)
 {
     // Prepare the namespace
     $namespace = Framework::prepareNamespace($namespace);
     // Load the module
     $moduleManager = $this->framework->getModuleManager();
     $module = $moduleManager->getModule($namespace);
     if ($module === false) {
         return false;
     }
     return $module->getDirectory();
 }
Example #5
0
 /**
  * This event handler lists all activated modules with the description
  * of each module.
  * 
  * @access public
  * @param \Zepi\Turbo\Framework $framework
  * @param \Zepi\Turbo\Request\CliRequest $request
  * @param \Zepi\Turbo\Response\Response $response
  */
 public function execute(Framework $framework, CliRequest $request, Response $response)
 {
     $output = 'Activated modules:' . PHP_EOL;
     $output .= '==================' . PHP_EOL . PHP_EOL;
     $moduleManager = $framework->getModuleManager();
     foreach ($moduleManager->getModules() as $namespace => $module) {
         $properties = $moduleManager->getModuleProperties($module->getDirectory());
         $info = $properties->module;
         $output .= '- ' . $info->name . ' ' . $info->version . ' (' . $namespace . '):' . PHP_EOL;
         $output .= '  ' . $info->description . PHP_EOL . PHP_EOL;
     }
     $response->setOutputPart('modules', $output);
 }