Ejemplo n.º 1
0
 /**
  * Registers common function in Twig
  *
  * @param \Phalcon\Mvc\ViewInterface $view
  * @param \Phalcon\DiInterface       $di
  * @param array                      $userFunctions
  */
 protected function registryFunctions($view, DiInterface $di, $userFunctions = array())
 {
     $options = array('is_safe' => array('html'));
     $functions = array(new \Twig_SimpleFunction('content', function () use($view) {
         return $view->getContent();
     }, $options), new \Twig_SimpleFunction('partial', function ($partialPath) use($view) {
         return $view->partial($partialPath);
     }, $options), new \Twig_SimpleFunction('linkTo', function ($parameters, $text = null) {
         return \Phalcon\Tag::linkTo($parameters, $text);
     }, $options), new \Twig_SimpleFunction('textField', function ($parameters) {
         return \Phalcon\Tag::textField($parameters);
     }, $options), new \Twig_SimpleFunction('passwordField', function ($parameters) {
         return \Phalcon\Tag::passwordField($parameters);
     }, $options), new \Twig_SimpleFunction('hiddenField', function ($parameters) {
         return \Phalcon\Tag::hiddenField($parameters);
     }, $options), new \Twig_SimpleFunction('fileField', function ($parameters) {
         return \Phalcon\Tag::fileField($parameters);
     }, $options), new \Twig_SimpleFunction('checkField', function ($parameters) {
         return \Phalcon\Tag::checkField($parameters);
     }, $options), new \Twig_SimpleFunction('radioField', function ($parameters) {
         return \Phalcon\Tag::radioField($parameters);
     }, $options), new \Twig_SimpleFunction('submitButton', function ($parameters) {
         return \Phalcon\Tag::submitButton($parameters);
     }, $options), new \Twig_SimpleFunction('selectStatic', function ($parameters, $data = array()) {
         return \Phalcon\Tag::selectStatic($parameters, $data);
     }, $options), new \Twig_SimpleFunction('select', function ($parameters, $data = array()) {
         return \Phalcon\Tag::select($parameters, $data);
     }, $options), new \Twig_SimpleFunction('textArea', function ($parameters) {
         return \Phalcon\Tag::textArea($parameters);
     }, $options), new \Twig_SimpleFunction('form', function ($parameters = array()) {
         return \Phalcon\Tag::form($parameters);
     }, $options), new \Twig_SimpleFunction('endForm', function () {
         return \Phalcon\Tag::endForm();
     }, $options), new \Twig_SimpleFunction('getTitle', function () {
         return \Phalcon\Tag::getTitle();
     }, $options), new \Twig_SimpleFunction('stylesheetLink', function ($parameters = null, $local = true) {
         return \Phalcon\Tag::stylesheetLink($parameters, $local);
     }, $options), new \Twig_SimpleFunction('javascriptInclude', function ($parameters = null, $local = true) {
         return \Phalcon\Tag::javascriptInclude($parameters, $local);
     }, $options), new \Twig_SimpleFunction('image', function ($parameters) {
         return \Phalcon\Tag::image($parameters);
     }, $options), new \Twig_SimpleFunction('friendlyTitle', function ($text, $separator = null, $lowercase = true) {
         return \Phalcon\Tag::friendlyTitle($text, $separator, $lowercase);
     }, $options), new \Twig_SimpleFunction('getDocType', function () {
         return \Phalcon\Tag::getDocType();
     }, $options), new \Twig_SimpleFunction('getSecurityToken', function () use($di) {
         return $di->get("security")->getToken();
     }, $options), new \Twig_SimpleFunction('getSecurityTokenKey', function () use($di) {
         return $di->get("security")->getTokenKey();
     }, $options), new \Twig_SimpleFunction('url', function ($route) use($di) {
         return $di->get("url")->get($route);
     }, $options));
     if (!empty($userFunctions)) {
         $functions = array_merge($functions, $userFunctions);
     }
     foreach ($functions as $function) {
         $this->twig->addFunction($function);
     }
 }
Ejemplo n.º 2
0
 /**
  * Renders a partial inside another view
  *
  * @param string $partialPath
  * @param array|null $params
  * @return string
  * @throws Exception
  */
 public function partial($partialPath, $params = null)
 {
     if (is_string($partialPath) === false) {
         throw new Exception('Invalid parameter type.');
     }
     if (is_array($params) === false && is_null($params) === false) {
         throw new Exception('Invalid parameter type.');
     }
     return $this->_view->partial($partialPath, $params);
 }
Ejemplo n.º 3
0
 /**
  * Registers common function in Twig
  *
  * @param \Phalcon\Mvc\ViewInterface $view
  */
 private function registryFunctions($view)
 {
     $options = array('is_safe' => array('html'));
     $functions = array(new \Twig_SimpleFunction('content', function () use($view) {
         return $view->getContent();
     }, $options), new \Twig_SimpleFunction('partial', function ($partialPath) use($view) {
         return $view->partial($partialPath);
     }, $options), new \Twig_SimpleFunction('linkTo', function ($parameters, $text = null) {
         return \Phalcon\Tag::linkTo($parameters, $text);
     }, $options), new \Twig_SimpleFunction('textField', function ($parameters) {
         return \Phalcon\Tag::textField($parameters);
     }, $options), new \Twig_SimpleFunction('passwordField', function ($parameters) {
         return \Phalcon\Tag::passwordField($parameters);
     }, $options), new \Twig_SimpleFunction('hiddenField', function ($parameters) {
         return \Phalcon\Tag::hiddenField($parameters);
     }, $options), new \Twig_SimpleFunction('fileField', function ($parameters) {
         return \Phalcon\Tag::fileField($parameters);
     }, $options), new \Twig_SimpleFunction('checkField', function ($parameters) {
         return \Phalcon\Tag::checkField($parameters);
     }, $options), new \Twig_SimpleFunction('radioField', function ($parameters) {
         return \Phalcon\Tag::radioField($parameters);
     }, $options), new \Twig_SimpleFunction('submitButton', function ($parameters) {
         return \Phalcon\Tag::submitButton($parameters);
     }, $options), new \Twig_SimpleFunction('selectStatic', function ($parameters, $data = []) {
         return \Phalcon\Tag::selectStatic($parameters, $data);
     }, $options), new \Twig_SimpleFunction('select', function ($parameters, $data = []) {
         return \Phalcon\Tag::select($parameters, $data);
     }, $options), new \Twig_SimpleFunction('textArea', function ($parameters) {
         return \Phalcon\Tag::textArea($parameters);
     }, $options), new \Twig_SimpleFunction('form', function ($parameters = []) {
         return \Phalcon\Tag::form($parameters);
     }, $options), new \Twig_SimpleFunction('endForm', function () {
         return \Phalcon\Tag::endForm();
     }, $options), new \Twig_SimpleFunction('getTitle', function () {
         return \Phalcon\Tag::getTitle();
     }, $options), new \Twig_SimpleFunction('getTitle', function () {
         return \Phalcon\Tag::getTitle();
     }, $options), new \Twig_SimpleFunction('stylesheetLink', function ($parameters = null, $local = true) {
         return \Phalcon\Tag::stylesheetLink($parameters, $local);
     }, $options), new \Twig_SimpleFunction('javascriptInclude', function ($parameters = null, $local = true) {
         return \Phalcon\Tag::javascriptInclude($parameters, $local);
     }, $options), new \Twig_SimpleFunction('image', function ($parameters) {
         return \Phalcon\Tag::image($parameters);
     }, $options), new \Twig_SimpleFunction('friendlyTitle', function ($text, $separator = null, $lowercase = true) {
         return \Phalcon\Tag::friendlyTitle($text, $separator, $lowercase);
     }, $options), new \Twig_SimpleFunction('getDocType', function () {
         return \Phalcon\Tag::getDocType();
     }, $options));
     foreach ($functions as $function) {
         $this->_twig->addFunction($function);
     }
 }
Ejemplo n.º 4
0
 /**
  * Renders output content
  *
  * @return string
  * @throws Exception\InvalidViewComponentException
  */
 public function render()
 {
     if (!$this->view || !$this->view instanceof ViewInterface) {
         throw new InvalidViewComponentException();
     }
     foreach ($this->viewParams as $param => $value) {
         $this->view->setVar($param, $value);
     }
     ob_start();
     $this->view->partial($this->templatePath, ['collections' => $this->collections]);
     $content = ob_get_contents();
     ob_end_clean();
     return $content;
 }
Ejemplo n.º 5
0
 /**
  * Gets the view service
  *
  * @return ViewSimple|ViewInterface
  */
 public function getView()
 {
     if (!$this->_view) {
         $defaultViewsDir = $this->getDI()->get('view')->getViewsDir() . '/' . static::VIEW_DIR_NAME . '/';
         $this->_view = new ViewSimple();
         $this->_view->setViewsDir($this->getOptions('viewsDir', $defaultViewsDir));
     }
     return $this->_view;
 }
Ejemplo n.º 6
0
 /**
  * Create grid.
  *
  * @param ViewInterface $view View object.
  * @param DIBehaviour   $di   DI object.
  */
 public function __construct(ViewInterface $view, $di = null)
 {
     $this->__DIConstruct($di);
     $this->_view = $view;
     $this->_view->grid = $this;
     /**
      * Prepare source data.
      */
     $paginator = $this->getSourceResolver()->resolve($this->getSource());
     $this->_paginator = $paginator->getPaginate();
     /**
      * Ajax call, we need to render only partials.
      */
     if ($this->getDI()->getRequest()->isAjax()) {
         $view->restoreViewDir()->disable();
         $this->_response = $this->getDI()->getResponse();
         $this->_response->setContent($this->render($this->getTableBodyView()));
     }
 }
Ejemplo n.º 7
0
 /**
  * Render json content
  *
  * @param string $path
  * @param array $params
  * @param null $mustClean
  * @throws \Exception
  */
 public function render($path, $params, $mustClean = null)
 {
     $content = $this->jsonHelper->encode($params);
     $this->_view->setContent($content);
 }
Ejemplo n.º 8
0
 function __construct(ViewInterface $view, Mustache $mustache)
 {
     $this->viewsDir = $view->getViewsDir();
     $this->mustache = $mustache;
 }
Ejemplo n.º 9
0
 /**
  * @param Event         $event
  * @param ViewInterface $view
  */
 public function afterRender(Event $event, ViewInterface $view)
 {
     $content = $view->getContent();
     $content = preg_replace("/\\s+/", " ", $content);
     $view->setContent($content);
 }
 /**
  * @param ViewInterface $view
  * @return string
  */
 public function getIdentifier(ViewInterface $view)
 {
     return md5($view->getActiveRenderPath());
 }