/**
  * Gets/Saves information about views and stores truncated viewParams.
  *
  * @param Event $event
  * @param View  $view
  * @param mixed $file
  */
 public function beforeRenderView($event, $view, $file)
 {
     $params = array();
     $toView = $view->getParamsToView();
     $toView = !$toView ? array() : $toView;
     foreach ($toView as $k => $v) {
         if (is_object($v)) {
             $params[$k] = get_class($v);
         } elseif (is_array($v)) {
             $array = array();
             foreach ($v as $key => $value) {
                 if (is_object($value)) {
                     $array[$key] = get_class($value);
                 } elseif (is_array($value)) {
                     foreach ($value as $k2 => $v2) {
                         if (is_array($v2)) {
                             $array[$key][$k2] = 'Array[...]';
                         } else {
                             $array[$key][$k2] = $v2;
                         }
                     }
                 } else {
                     $array[$key] = $value;
                 }
             }
             $params[$k] = $array;
         } else {
             $params[$k] = (string) $v;
         }
     }
     $this->_viewsRendered[] = array('path' => $view->getActiveRenderPath(), 'params' => $params, 'controller' => $view->getControllerName(), 'action' => $view->getActionName());
 }
Example #2
0
 protected function _renderJson(View $view)
 {
     $this->getResponse()->setContentType('application/json')->setJsonContent($view->getParamsToView())->send();
     $view->setRenderLevel(View::LEVEL_NO_RENDER);
 }