Ejemplo n.º 1
0
 /**
  * Initializes and return an instance of the given class name.
  * 
  * @access public
  * @param string $className
  * @return mixed
  */
 public function getInstance($className)
 {
     switch ($className) {
         case '\\Zepi\\Web\\General\\Manager\\AssetManager':
             if ($this->assetManager === null) {
                 $this->assetManager = new $className($this->getDataObjectBackend('assets.data'), $this->framework->getRootDirectory());
                 $this->assetManager->initializeAssetManager();
             }
             return $this->assetManager;
             break;
         case '\\Zepi\\Web\\General\\Manager\\AssetCacheManager':
             if ($this->assetCacheManager === null) {
                 // Get the cache backends
                 $path = $this->framework->getRootDirectory() . '/cache/';
                 $fileObjectBackend = new \Zepi\Turbo\Backend\FileObjectBackend($path . 'cachedFiles.data');
                 $fileBackend = new \Zepi\Turbo\Backend\FileBackend($path);
                 // CSS helper
                 $cssHelper = new \Zepi\Web\General\Helper\CssHelper($fileBackend);
                 // Load the configuration
                 $configurationManager = $this->framework->getInstance('\\Zepi\\Core\\Utils\\Manager\\ConfigurationManager');
                 $minifyAssets = $configurationManager->getSetting('assets.minifyAssets');
                 $combineAssetGroups = $configurationManager->getSetting('assets.combineAssetGroups');
                 $this->assetCacheManager = new $className($this->framework, $this->getInstance('\\Zepi\\Web\\General\\Manager\\AssetManager'), $fileObjectBackend, $fileBackend, $cssHelper, $minifyAssets, $combineAssetGroups);
                 $this->assetCacheManager->initializeAssetCacheManager();
             }
             return $this->assetCacheManager;
             break;
         case '\\Zepi\\Web\\General\\Manager\\TemplatesManager':
             if ($this->templatesManager === null) {
                 $this->templatesManager = new $className($this->framework, $this->getDataObjectBackend('templates.data'));
                 $this->templatesManager->initializeTemplatesManager();
                 // Execute the register renderer event
                 $runtimeManager = $this->framework->getRuntimeManager();
                 $runtimeManager->executeEvent('\\Zepi\\Web\\General\\Event\\RegisterRenderers');
             }
             return $this->templatesManager;
             break;
         case '\\Zepi\\Web\\General\\Manager\\MenuManager':
         case '\\Zepi\\Web\\General\\Manager\\MetaInformationManager':
             return $this->framework->initiateObject($className, array(), true);
             break;
         default:
             return $this->framework->initiateObject($className);
             break;
     }
 }
Ejemplo n.º 2
0
 /**
  * Renders the template and returns the content.
  * 
  * @access public
  * @param string $key
  * @param array $additionalData
  * @return string
  */
 public function renderTemplate($key, $additionalData = array())
 {
     return $this->templatesManager->renderTemplate($key, $additionalData);
 }
Ejemplo n.º 3
0
 /**
  * Renders the given abstract container element and returns the html code
  * for the given container.
  * 
  * @access public
  * @param \Zepi\Web\UserInterface\Layout\AbstractContainer $container
  * @return string
  */
 public function render(AbstractContainer $container)
 {
     $template = $container->getTemplateKey();
     return $this->templatesManager->renderTemplate($template, array('layoutRenderer' => $this, 'container' => $container));
 }
Ejemplo n.º 4
0
 /**
  * Register the html renderer on the templates manager to render
  * the templates.
  * 
  * @access public
  * @param \Zepi\Turbo\Framework $framework
  * @param \Zepi\Turbo\Request\RequestAbstract $request
  * @param \Zepi\Turbo\Response\Response $response
  */
 public function execute(Framework $framework, RequestAbstract $request, Response $response)
 {
     $this->templatesManager->addRenderer($this->htmlRenderer);
 }