public function onRoute(MvcEvent $e)
 {
     $request = $e->getRequest();
     if (!$request instanceof HttpRequest) {
         return;
     }
     $application = $e->getApplication();
     $serviceLocator = $application->getServiceManager();
     // Load the configuration for maintenance mode
     if ($serviceLocator->has('MaintenanceConfig')) {
         $config = $serviceLocator->get('MaintenanceConfig');
     } else {
         $config = new Config();
     }
     if (!$config->isEnabled()) {
         // Maintenance mode is disabled.
         return;
     }
     // Check the white list
     if ($request instanceof PhpRequest) {
         $address = $request->getServer('REMOTE_ADDR', null);
     } else {
         $address = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : null;
     }
     if (!empty($address)) {
         if (in_array($address, $config->getWhitelist())) {
             return;
         }
     }
     // Render the maintenance layout
     $renderer = new PhpRenderer();
     if ($serviceLocator->has('ViewHelperManager')) {
         $renderer->setHelperPluginManager($serviceLocator->get('ViewHelperManager'));
     }
     $resolver = new TemplateMapResolver();
     $resolver->add('maintenance', $config->getTemplate());
     $renderer->setResolver($resolver);
     $content = $renderer->render('maintenance');
     // Set the response
     $response = $e->getResponse();
     if (!$response instanceof HttpResponse) {
         $response = new HttpResponse();
     }
     $statusCode = $config->getStatusCode();
     $response->setStatusCode($statusCode);
     if ($statusCode === 503 && !$response->getHeaders()->has('Retry-After')) {
         $retryDate = $config->getRetryAfter();
         if ($retryDate instanceof DateTime) {
             $retryAfter = new RetryAfter();
             $retryAfter->setDate($retryDate);
             $response->getHeaders()->addHeader($retryAfter);
         }
     }
     $response->setContent($content);
     $e->setResponse($response);
     // Return the response
     return $response;
 }
Example #2
0
 /**
  * Sets up the fixture, for example, opens a network connection.
  * This method is called before a test is executed.
  *
  * @return void
  */
 protected function setUp()
 {
     $serviceManager = Registry::get('Application')->getServiceManager();
     $this->renderer = new PhpRenderer();
     $renderer = $serviceManager->get('Zend\\View\\Renderer\\PhpRenderer');
     $this->renderer->setHelperPluginManager($renderer->getHelperPluginManager());
     $serviceManager->setAllowOverride(true);
     $serviceManager->setService('currentDocument', DocumentModel::fromArray(array('id' => 1)));
     $serviceManager->setAllowOverride(false);
     $this->object = $this->renderer->plugin('modulePlugin');
     $this->module = ModuleModel::fromArray(array('name' => 'Blog'));
     $this->module->save();
 }
Example #3
0
 /**
  * Sets up the fixture, for example, opens a network connection.
  * This method is called before a test is executed.
  *
  * @return void
  */
 protected function setUp()
 {
     $this->view = ViewModel::fromArray(array('name' => 'View Name', 'identifier' => 'View identifier', 'description' => 'View Description', 'content' => 'View Content'));
     $this->view->save();
     $this->layout = LayoutModel::fromArray(array('name' => 'Layout Name', 'identifier' => 'Layout identifier', 'description' => 'Layout Description', 'content' => 'Layout Content'));
     $this->layout->save();
     $this->user = UserModel::fromArray(array('lastname' => 'User test', 'firstname' => 'User test', 'email' => '*****@*****.**', 'login' => 'test', 'user_acl_role_id' => 1));
     $this->user->setPassword('test');
     $this->user->save();
     $this->documentType = DocumentTypeModel::fromArray(array('name' => 'Document Type Name', 'description' => 'Document Type description', 'icon_id' => 1, 'defaultview_id' => $this->view->getId(), 'user_id' => $this->user->getId()));
     $this->documentType->save();
     $this->document = DocumentModel::fromArray(array('name' => 'Document name', 'url_key' => 'url-key', 'status' => DocumentModel::STATUS_ENABLE, 'show_in_nav' => true, 'user_id' => $this->user->getId(), 'document_type_id' => $this->documentType->getId(), 'view_id' => $this->view->getId(), 'layout_id' => $this->layout->getId(), 'parent_id' => null));
     $this->document->save();
     $serviceManager = Registry::get('Application')->getServiceManager();
     $this->renderer = new PhpRenderer();
     $renderer = $serviceManager->get('Zend\\View\\Renderer\\PhpRenderer');
     $this->renderer->setHelperPluginManager($renderer->getHelperPluginManager());
     $serviceManager->setAllowOverride(true);
     $serviceManager->setService('currentDocument', $this->document);
     $serviceManager->setAllowOverride(false);
     $this->object = new CommentForm();
     $this->module = ModuleModel::fromArray(array('name' => 'Blog'));
     $this->module->save();
     $this->boostrap = new Module();
     $this->boostrap->install();
 }
 public function testApplyViewHelpers()
 {
     $config = Bootstrap::getServiceManager()->get('Config');
     $helperPluginManager = new HelperPluginManager();
     $listener = new ViewHelperListener($this->layoutUpdater, $helperPluginManager, $config['con-layout']['view_helpers']);
     $mvcEvent = new \Zend\Mvc\MvcEvent();
     $renderer = new PhpRenderer();
     $renderer->setHelperPluginManager($helperPluginManager);
     $basePath = $helperPluginManager->get('basePath');
     $basePath->setBasePath('/assets');
     $basePathAssetPreparer = new BasePath($basePath);
     $listener->addAssetPreparer('headLink', $basePathAssetPreparer);
     /* @var $headLink HeadLink */
     $headLink = $helperPluginManager->get('headLink');
     /* @var $headScript HeadScript */
     $headScript = $helperPluginManager->get('headScript');
     /* @var $doctype \Zend\View\Helper\Doctype */
     $doctype = $helperPluginManager->get('doctype');
     /* @var $headTitle HeadTitle */
     $headTitle = $helperPluginManager->get('headTitle');
     /* @var $headMeta HeadMeta */
     $headMeta = $helperPluginManager->get('headMeta');
     $headMeta->setView($renderer);
     $listener->applyViewHelpers($mvcEvent);
     $expected = '<link href="/assets/css/test.css" media="screen" rel="stylesheet" type="text/css">' . PHP_EOL . '<link href="/assets/css/main.css" media="screen" rel="stylesheet" type="text/css">';
     $this->assertEquals($expected, $headLink->toString());
     $expected = '<script type="text/javascript" src="/js/jquery.min.js"></script>' . PHP_EOL . '<script type="text/javascript" src="/js/jquery-ui.min.js"></script>' . PHP_EOL . '<!--[if lt IE 9]><script type="text/javascript" src="/js/modernizr.js"></script><![endif]-->' . PHP_EOL . '<script type="text/javascript" src="/js/functions.js"></script>';
     $this->assertEquals($expected, $headScript->toString());
     $this->assertEquals('<!DOCTYPE html>', (string) $doctype);
     $headTitle->setSeparator(' | ');
     $expected = '<title>First | My Title | Another Title</title>';
     $this->assertEquals($expected, $headTitle->toString());
     $expected = '<meta charset="utf8">' . PHP_EOL . '<meta name="description" content="My description">' . PHP_EOL . '<meta name="keywords" content="keyword1, keyword2, keyword3">';
     $this->assertEquals($expected, $headMeta->toString());
 }
 /**
  * @param  ContainerInterface $container
  * @param  string $name
  * @param  null|array $options
  * @return PhpRenderer
  */
 public function __invoke(ContainerInterface $container, $name, array $options = null)
 {
     $renderer = new PhpRenderer();
     $renderer->setHelperPluginManager($container->get('ViewHelperManager'));
     $renderer->setResolver($container->get('ViewResolver'));
     return $renderer;
 }
Example #6
0
 public function setUp()
 {
     $this->wrapperHelper = new Wrapper();
     $view = new PhpRenderer();
     $view->setHelperPluginManager(new HelperPluginManager());
     $this->wrapperHelper->setView($view);
 }
 /**
  * @outputBuffering disabled
  */
 public function testCanRenderFieldsets()
 {
     $this->expectOutputRegex('/<form(.*)<fieldset(.*)<\\/fieldset>(.*)<fieldset(.*)<\\/fieldset>(.*)<\\/form>/');
     $form = new NetsensiaForm();
     $form->addHidden('test1', 'testvalue');
     $hidden = new Element\Hidden('asdasd');
     $hidden->setValue('123');
     $form->add($hidden);
     $element1 = new Text('testelement1');
     $element1->setLabel('Test Element');
     $element1->setAttribute('icon', 'pencil');
     $element2 = new Text('testelement2');
     $element2->setLabel('Test Element 2');
     $element2->setAttribute('icon', 'pencil');
     $fieldset1 = new Fieldset('testfieldset1');
     $fieldset1->add($element1);
     $fieldset2 = new Fieldset('testfieldset2');
     $fieldset2->add($element2);
     $form->add($fieldset1);
     $form->add($fieldset2);
     $helpers = new HelperPluginManager();
     $helpers->setService('formElement', new FormElement());
     $view = new PhpRenderer();
     $view->setHelperPluginManager($helpers);
     $viewHelper = new BootstrapForm();
     $viewHelper->setView($view);
     $viewHelper($form, 'testform', '/');
 }
 /**
  * @param ContainerInterface $container
  *
  * @return PhpRenderer
  */
 public function __invoke(ContainerInterface $container)
 {
     $helper = $container->get(HelperPluginManager::class);
     $renderer = new PhpRenderer();
     $renderer->setHelperPluginManager($helper);
     return $renderer;
 }
 public function testCompatibilityWithZF2View()
 {
     $renderer = new PhpRenderer();
     $helpers = new HelperPluginManager();
     $name = $this->jobleadsHelper->getName();
     $helpers->setInvokableClass($name, get_class($this->jobleadsHelper));
     $renderer->setHelperPluginManager($helpers);
     $this->assertEquals(self::EXPECTED_RETURN, $renderer->{$name}());
 }
Example #10
0
 /**
  * Check renderer, create if not exists
  * Copy helper plugin manager from application service manager
  *
  * @return \Gc\View\Renderer
  */
 protected function checkRenderer()
 {
     if (is_null($this->renderer)) {
         $this->renderer = new PhpRenderer();
         $renderer = Registry::get('Application')->getServiceManager()->get('Zend\\View\\Renderer\\PhpRenderer');
         $this->renderer->setHelperPluginManager(clone $renderer->getHelperPluginManager());
         $this->renderer->setResolver(new TemplatePathStack());
     }
     return $this;
 }
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $renderer = new PhpRenderer();
     $helperManager = $serviceLocator->get('ViewHelperManager');
     $resolver = $serviceLocator->get('ViewResolver');
     $renderer->setHelperPluginManager($helperManager);
     $renderer->setResolver($resolver);
     $model = $serviceLocator->get('Application')->getMvcEvent()->getViewModel();
     $modelHelper = $renderer->plugin('view_model');
     $modelHelper->setRoot($model);
     return $renderer;
 }
 /**
  * @param ContainerInterface $container
  * @return PhpRenderer
  */
 public function __invoke(ContainerInterface $container)
 {
     $config = $container->get('config');
     $viewHelperPluginManager = $container->get(HelperPluginManager::class);
     // Create the engine instance:
     $renderer = new PhpRenderer();
     // Configure it:
     $resolver = new Resolver\AggregateResolver();
     $resolver->attach(new Resolver\TemplateMapResolver($config['templates']), 100);
     $renderer->setResolver($resolver);
     $renderer->setHelperPluginManager($viewHelperPluginManager);
     return $renderer;
 }
 public function testGenerateViewHelpers()
 {
     $config = (new Module())->getConfig();
     $helperPluginManager = new HelperPluginManager();
     $helperPluginManager->setServiceLocator(new ServiceManager());
     $filterManager = new FilterPluginManager();
     $basePath = $helperPluginManager->get('basePath');
     $basePath->setBasePath('/assets');
     $basePathFilter = new BasePathFilter($basePath);
     $filterManager->setService('basePath', $basePathFilter);
     $cacheBusterFilter = new CacheBusterFilter(__DIR__ . '/_files');
     $filterManager->setService('cacheBuster', $cacheBusterFilter);
     $generator = new ViewHelperGenerator($filterManager, $helperPluginManager, $config['con-layout']['view_helpers']);
     $renderer = new PhpRenderer();
     $renderer->setHelperPluginManager($helperPluginManager);
     /* @var $headLink HeadLink */
     $headLink = $helperPluginManager->get('headLink');
     $headLinkProxy = new HeadLinkProxy($headLink);
     $helperPluginManager->setService(get_class($headLinkProxy), $headLinkProxy);
     /* @var $headScript HeadScript */
     $headScript = $helperPluginManager->get('headScript');
     $headScriptProxy = new HeadScriptProxy($headScript);
     $helperPluginManager->setService(get_class($headScriptProxy), $headScriptProxy);
     /* @var $doctype Doctype */
     $doctype = $helperPluginManager->get('doctype');
     $doctype('HTML5');
     /* @var $headTitle HeadTitle */
     $headTitle = $helperPluginManager->get('headTitle');
     $headTitleProxy = new HeadTitleProxy($headTitle);
     $helperPluginManager->setService(get_class($headTitleProxy), $headTitleProxy);
     /* @var $headMeta HeadMeta */
     $headMeta = $helperPluginManager->get('headMeta');
     $headMetaProxy = new HeadMetaProxy($headMeta);
     $helperPluginManager->setService(get_class($headMetaProxy), $headMetaProxy);
     $headMeta->setView($renderer);
     $generator->generate($this->getLayoutStructure());
     foreach (['/assets/css/test.css', '/assets/css/main.css'] as $expected) {
         $this->assertContains($expected, $headLink->toString());
     }
     foreach (['jquery.min.js', 'jquery-ui.min.js'] as $expected) {
         $this->assertContains($expected, $headScript->toString());
     }
     $this->assertEquals('<!DOCTYPE html>', (string) $doctype);
     $headTitle->setSeparator(' | ');
     $expected = 'First | My Title | Another Title';
     $this->assertContains($expected, $headTitle->toString());
     $contains = ['charset="utf8"', 'name="description" content="My description"', 'name="keywords" content="keyword1, keyword2, keyword3"'];
     foreach ($contains as $expected) {
         $this->assertContains($expected, $headMeta->toString());
     }
 }
 /**
  *
  * @return \Zend\View\View
  */
 public function getView()
 {
     if ($this->view) {
         return $this->view;
     }
     $helperManager = $this->serviceLocator->get('ViewHelperManager');
     $resolver = $this->serviceLocator->get('ViewResolver');
     $renderer = new PhpRenderer();
     $renderer->setHelperPluginManager($helperManager);
     $renderer->setResolver($resolver);
     $rendererStrategy = new PhpRendererStrategy($renderer);
     $this->view = new View();
     $this->view->setEventManager($this->serviceLocator->get('EventManager'));
     $this->view->getEventManager()->attach($rendererStrategy);
     return $this->view;
 }
 public function testInvoke()
 {
     $helper = new DisplayImage();
     $helper->setAttributes(['alt' => 'hello']);
     $renderer = new PhpRenderer();
     $helpers = new HelperPluginManager();
     $renderer->setHelperPluginManager($helpers);
     $doctype = $this->getMock('Zend\\View\\Helper\\Doctype');
     $doctype->expects($this->once())->method('isXhtml')->will($this->returnValue(true));
     $helpers->setService('doctype', $doctype);
     $imgUrl = $this->getMockBuilder('HtImgModule\\View\\Helper\\ImgUrl')->disableOriginalConstructor()->getMock();
     $imgUrl->expects($this->once())->method('__invoke')->will($this->returnValue('app'));
     $helpers->setService('HtImgModule\\View\\Helper\\ImgUrl', $imgUrl);
     $helper->setView($renderer);
     $this->assertEquals('<img alt="hello" src="app" />', $helper('asdfsadf', 'asdfasfd'));
     $this->assertEquals($helper, $helper());
 }
Example #16
0
 /**
  * @param ServiceLocatorInterface $serviceLocator
  * @return array|object|PhpRenderer
  */
 protected function getRenderer(ServiceLocatorInterface $serviceLocator)
 {
     // Check if a view renderer is available and return it
     if ($serviceLocator->has('ViewRenderer')) {
         return $serviceLocator->get('ViewRenderer');
     }
     // Create new PhpRenderer
     $renderer = new PhpRenderer();
     // Set the view script resolver if available
     if ($serviceLocator->has('Zend\\View\\Resolver\\AggregateResolver')) {
         $renderer->setResolver($serviceLocator->get('Zend\\View\\Resolver\\AggregateResolver'));
     }
     // Set the view helper manager if available
     if ($serviceLocator->has('ViewHelperManager')) {
         $renderer->setHelperPluginManager($serviceLocator->get('ViewHelperManager'));
     }
     // Return the new PhpRenderer
     return $renderer;
 }
 /**
  * @param $name
  * @param $path
  * @return View
  */
 private function createView($name, $path)
 {
     $ar = new Resolver\AggregateResolver();
     $helper = $this->helpers;
     $map = new Resolver\TemplateMapResolver(array($name => $path));
     $ar->attach($map);
     foreach ($this->resolvers as $r) {
         $ar->attach($r);
     }
     $renderer = new PhpRenderer();
     $renderer->setHelperPluginManager($helper);
     $renderer->setResolver($ar);
     $strategy = new PhpRendererStrategy($renderer);
     $view = new View();
     $view->setEventManager(clone $this->events);
     $view->setResponse(new Response());
     $view->getEventManager()->attach($strategy);
     return $view;
 }
 /**
  * Create, configure and return the email renderer.
  *
  * @see FactoryInterface::createService()
  * @return \Zend\View\Renderer\RendererInterface
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $config = $serviceLocator->get('config');
     if (empty($config['uj']['mail']['renderer'])) {
         throw new RuntimeException('Config required in order to create \\Uj\\Mail\\Renderer.' . 'required config key: $config["uj"]["mail"]["renderer"].');
     }
     $rendererConfig = $config['uj']['mail']['renderer'];
     $resolver = new AggregateResolver();
     if (isset($rendererConfig['templateMap'])) {
         $resolver->attach(new TemplateMapResolver($rendererConfig['templateMap']));
     }
     if (isset($rendererConfig['templatePathStack'])) {
         $pathStackResolver = new TemplatePathStack();
         $pathStackResolver->setPaths($rendererConfig['templatePathStack']);
         $resolver->attach($pathStackResolver);
     }
     $renderer = new PhpRenderer();
     $renderer->setHelperPluginManager($serviceLocator->get('ViewHelperManager'));
     $renderer->setResolver($resolver);
     return $renderer;
 }
Example #19
0
 public function testViewHelperPersist()
 {
     $view = new PhpRenderer();
     $view->setHelperPluginManager($this->serviceManager->get('ViewHelperManager'));
     $view->dojo()->activate();
     $headLink = $view->headLink();
     $this->assertEquals('js/dojo_rel/dojo/resources/dojo.css', $headLink[0]->href);
     $this->assertEquals('screen', $headLink[0]->media);
     $this->assertEquals('stylesheet', $headLink[0]->rel);
     $this->assertEquals('text/css', $headLink[0]->type);
     $this->assertEquals('js/dojo_rel/dijit/themes/claro/claro.css', $headLink[1]->href);
     $this->assertEquals('screen', $headLink[1]->media);
     $this->assertEquals('stylesheet', $headLink[1]->rel);
     $this->assertEquals('text/css', $headLink[1]->type);
     $headScript = $view->headScript();
     $this->assertEquals('async: true, baseUrl: "js/dojo_rel/dojo"', $headScript[0]->attributes['data-dojo-config']);
     $this->assertEquals('js/dojo_rel/dojo/dojo.js', $headScript[0]->attributes['src']);
     $this->assertEquals('text/javascript', $headScript[0]->type);
     $this->assertEquals("require(['dojo/parser', 'dojo/domReady!'], function(parser) {parser.parse();})", $headScript[1]->source);
     $this->assertEquals('text/javascript', $headScript[1]->type);
     $this->assertEquals('claro', $view->dojo()->getTheme());
 }
Example #20
0
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     /* @var $config ModuleOptions */
     $config = $serviceLocator->get('Config');
     if ($serviceLocator->has('ViewRenderer')) {
         return $serviceLocator->get('ViewRenderer');
     } else {
         $renderer = new PhpRenderer();
         // register helpers
         $helperManager = $serviceLocator->get('ViewHelperManager');
         if (isset($config['esco_mail']['base_uri']) && !empty($config['esco_mail']['base_uri'])) {
             $urlHelper = $helperManager->get('Url');
             $httpRouter = $serviceLocator->get('HttpRouter');
             $httpRouter->setBaseUrl($config['esco_mail']['base_uri']);
             $urlHelper->setRouter($httpRouter);
         }
         $renderer->setHelperPluginManager($helperManager);
         // register resolver
         $resolver = $serviceLocator->get('ViewResolver');
         $resolver->attach(new TemplateMapResolver($config['view_manager']['template_map']));
         $renderer->setResolver($resolver);
         return $renderer;
     }
 }
Example #21
0
 private function createZendView(ServiceLocatorInterface $serviceLocator)
 {
     $config = $serviceLocator->get('Configuration');
     if (isset($config['view_manager'], $config['view_manager']['template_path_stack'])) {
         $templatePaths = $config['view_manager']['template_path_stack'];
     } else {
         $templatePaths = [];
     }
     $resolver = new TemplatePathStack(['script_paths' => $templatePaths]);
     $phpRenderer = new PhpRenderer();
     $phpRenderer->setResolver($resolver);
     $zendView = new ZendView();
     $zendView->getEventManager()->attach(ViewEvent::EVENT_RENDERER, function () use($phpRenderer) {
         return $phpRenderer;
     });
     // view helpers?
     if (isset($config['view_helpers'])) {
         $helperManagerConfig = new Config($config['view_helpers']);
         $pluginManager = new HelperPluginManager($helperManagerConfig);
         $pluginManager->setServiceLocator($serviceLocator);
         $phpRenderer->setHelperPluginManager($pluginManager);
     }
     return $zendView;
 }
Example #22
0
<?php

use Slim\Views\TwigExtension;
use Slim\Views\Twig;
use EchaleGas\Twig\Extension\ZendFormExtension;
use Zend\View\Renderer\PhpRenderer;
use Zend\Form\View\HelperConfig;
use Zend\View\HelperPluginManager;
use Psr\Log\LogLevel;
use Monolog\Handler\StreamHandler;
use Monolog\Logger;
$app->container->singleton('twig', function () {
    $viewTig = new Twig();
    $viewTig->parserOptions = ['charset' => 'utf-8', 'cache' => realpath('views/cache'), 'auto_reload' => true, 'strict_variables' => false, 'autoescape' => true];
    $viewTig->twigTemplateDirs = [realpath('views')];
    $viewTig->parserExtensions = [new TwigExtension()];
    $renderer = new PhpRenderer();
    $renderer->setHelperPluginManager(new HelperPluginManager(new HelperConfig()));
    $zendFormHelper = new ZendFormExtension($viewTig->getEnvironment(), $renderer);
    $viewTig->getEnvironment()->registerUndefinedFunctionCallback($zendFormHelper);
    return $viewTig;
});
$app->container->singleton('log', function () {
    $logger = new Logger('echale-gas-app');
    $logger->pushHandler(new StreamHandler('logs/app.log', LogLevel::DEBUG));
    return $logger;
});
$app->view($app->twig);
 /**
  * Inject helpers into the PhpRenderer instance.
  *
  * If a HelperPluginManager instance is present in the container, uses that;
  * otherwise, instantiates one.
  *
  * In each case, injects with the custom url/serverurl implementations.
  *
  * @param PhpRenderer $renderer
  * @param ContainerInterface $container
  */
 private function injectHelpers(PhpRenderer $renderer, ContainerInterface $container)
 {
     $helpers = $container->has(HelperPluginManager::class) ? $container->get(HelperPluginManager::class) : new HelperPluginManager();
     $helpers->setFactory('url', function () use($container) {
         return new UrlHelper($container->get(RouterInterface::class));
     });
     $helpers->setInvokableClass('serverurl', ServerUrlHelper::class);
     $renderer->setHelperPluginManager($helpers);
 }
 /**
  * Inject helpers into the PhpRenderer instance.
  *
  * If a HelperPluginManager instance is present in the container, uses that;
  * otherwise, instantiates one.
  *
  * In each case, injects with the custom url/serverurl implementations.
  *
  * @param PhpRenderer $renderer
  * @param ContainerInterface $container
  */
 private function injectHelpers(PhpRenderer $renderer, HelperPluginManager $manager)
 {
     $manager->setFactory('url', function () use($container) {
         if (!$container->has(BaseUrlHelper::class)) {
             throw new Exception\MissingHelperException(sprintf('An instance of %s is required in order to create the "url" view helper; not found', BaseUrlHelper::class));
         }
         return new UrlHelper($container->get(BaseUrlHelper::class));
     });
     $manager->setFactory('serverurl', function () use($container) {
         if (!$container->has(BaseServerUrlHelper::class)) {
             throw new Exception\MissingHelperException(sprintf('An instance of %s is required in order to create the "url" view helper; not found', BaseServerUrlHelper::class));
         }
         return new ServerUrlHelper($container->get(BaseServerUrlHelper::class));
     });
     $renderer->setHelperPluginManager($manager);
 }
Example #25
0
 /**
  * Sets up the fixture, for example, opens a network connection.
  * This method is called before a test is executed.
  *
  * @return void
  */
 protected function setUp()
 {
     $this->view = ViewModel::fromArray(array('name' => 'View Name', 'identifier' => 'View identifier', 'description' => 'View Description', 'content' => 'View Content'));
     $this->view->save();
     $this->layout = LayoutModel::fromArray(array('name' => 'Layout Name', 'identifier' => 'Layout identifier', 'description' => 'Layout Description', 'content' => 'Layout Content'));
     $this->layout->save();
     $this->user = UserModel::fromArray(array('lastname' => 'User test', 'firstname' => 'User test', 'email' => '*****@*****.**', 'login' => 'test', 'user_acl_role_id' => 1));
     $this->user->setPassword('test');
     $this->user->save();
     $this->documentType = DocumentTypeModel::fromArray(array('name' => 'Document Type Name', 'description' => 'Document Type description', 'icon_id' => 1, 'defaultview_id' => $this->view->getId(), 'user_id' => $this->user->getId()));
     $this->documentType->save();
     $this->document = DocumentModel::fromArray(array('name' => 'Document name', 'url_key' => 'url-key', 'status' => DocumentModel::STATUS_ENABLE, 'show_in_nav' => true, 'user_id' => $this->user->getId(), 'document_type_id' => $this->documentType->getId(), 'view_id' => $this->view->getId(), 'layout_id' => $this->layout->getId(), 'parent_id' => 0));
     $this->document->save();
     $this->object = new Documents();
     $view = new View();
     $view->resolver()->addPath(__DIR__ . '/_files/views');
     $view->setHelperPluginManager(Registry::get('Application')->getServiceManager()->get('viewhelpermanager'));
     $this->object->setView($view);
 }
 /**
  * @param ServiceLocatorInterface $sm
  * @return RendererInterface
  */
 protected function createRenderer(ServiceLocatorInterface $sm)
 {
     // Try to return the configured renderer. If it points to an undefined service, create a renderer on the fly
     try {
         /** @var RendererInterface $renderer */
         $renderer = $sm->get('mailviewrenderer');
         return $renderer;
     } catch (ServiceNotFoundException $e) {
         // In case the renderer service is not defined, try to construct it
         $vmConfig = $this->getSpecificConfig($sm, 'view_manager');
         $renderer = new PhpRenderer();
         // Check what kind of view_manager configuration has been defined
         if (isset($vmConfig['template_map']) && isset($vmConfig['template_path_stack'])) {
             // If both a template_map and a template_path_stack have been defined, create an AggregateResolver
             $pathStackResolver = new TemplatePathStack();
             $pathStackResolver->setPaths($vmConfig['template_path_stack']);
             $resolver = new AggregateResolver();
             $resolver->attach($pathStackResolver)->attach(new TemplateMapResolver($vmConfig['template_map']));
             $renderer->setResolver($resolver);
         } elseif (isset($vmConfig['template_map'])) {
             // Create a TemplateMapResolver in case only the template_map has been defined
             $renderer->setResolver(new TemplateMapResolver($vmConfig['template_map']));
         } elseif (isset($vmConfig['template_path_stack'])) {
             // Create a TemplatePathStack resolver in case only the template_path_stack has been defined
             $pathStackResolver = new TemplatePathStack();
             $pathStackResolver->setPaths($vmConfig['template_path_stack']);
             $renderer->setResolver($pathStackResolver);
         }
         // Create a HelperPluginManager with default view helpers and user defined view helpers
         $renderer->setHelperPluginManager($this->createHelperPluginManager($sm));
         return $renderer;
     }
 }
Example #27
0
 /**
  * Test
  *
  * @return void
  */
 public function testGetDocument()
 {
     $parent = new ViewModel();
     $parent->setTemplate('layout');
     $view = new View();
     $renderer = Registry::get('Application')->getServiceManager()->get('Zend\\View\\Renderer\\PhpRenderer');
     $view->setHelperPluginManager($renderer->getHelperPluginManager());
     $view->plugin('view_model')->setRoot($parent);
     $view->resolver()->addPath(__DIR__ . '/_files/views');
     $this->object->setView($view);
     $this->assertInstanceOf('Gc\\Document\\Model', $this->object->getDocument());
 }