Beispiel #1
0
 /**
  * Erstellt ein Feedback-Mail Objekt mit entsprechenden Daten
  *
  * @param   \Cms\Feedback $feedback
  * @return  \Cms\Mail
  */
 public function getFeedbackMail(\Cms\Feedback $feedback, $charset = 'utf-8')
 {
     $locale = new SbLocale('de');
     $this->view->clearVars();
     $this->view->feedback = $feedback;
     $renewMail = new \Cms\Mail($charset);
     $renewMail->setBodyText(utf8_encode($this->view->render($this->getTemplateFilename(__FUNCTION__, $locale))), $charset);
     $renewMail->setFrom($feedback->getEmail());
     $renewMail->setSubject($feedback->getSubject());
     $renewMail->addTo(Registry::getConfig()->feedback->mail->adress);
     return $renewMail;
 }
Beispiel #2
0
 /**
  *
  * @param int|array $id
  * @param string $type
  * @return array Rendered content items
  */
 function getRenderedContent($ids, $type = 'List')
 {
     if (!is_array($ids)) {
         $ids = array($ids);
     }
     foreach ($ids as $id) {
         if (!is_object($id)) {
             $item = $this->load($id, $type);
         } else {
             $item = $id;
         }
         $can_edit = Zoo::getService('acl')->checkItemAccess($item, 'edit');
         $cacheid = "Content_node" . $type . "_" . $item->id . ($can_edit ? "_edit" : "");
         try {
             $cached = Zoo::getService("cache")->load($cacheid);
             if ($cached) {
                 $content[] = $cached;
             }
         } catch (Zoo_Exception_Service $e) {
             // Cache service unavailable, set content to empty string
             $cached = false;
         }
         if (!$cached) {
             // Render content item
             if (!$this->view) {
                 $view = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view;
                 /* @var $view Zend_View_Abstract */
                 // Don't clone the view until it is needed
                 $this->view = clone $view;
                 $this->view->clearVars();
             }
             list($module, $nodetype) = explode('_', $item->type);
             $this->resetView($module, $nodetype);
             $this->addLanguage($module);
             $this->view->assign('item', $item);
             $this->view->assign('can_edit', $can_edit);
             $rendered = $this->view->render($type == "Display" ? "index" : $type);
             $content[] = $rendered;
             try {
                 Zoo::getService('cache')->save($rendered, $cacheid, array('node' . $type, 'node_' . $item->id), null);
             } catch (Zoo_Exception_Service $e) {
                 // Cache service not available, do nothing
             }
         }
     }
     return $content;
 }
Beispiel #3
0
 /**
  * Test that array properties are cleared following clearVars() call
  */
 public function testClearVars()
 {
     $view = new Zend_View();
     $view->foo = array();
     $view->content = 'content';
     $this->assertTrue(is_array($view->foo));
     $this->assertEquals('content', $view->content);
     $view->clearVars();
     $this->assertFalse(isset($view->foo));
     $this->assertFalse(isset($view->content));
 }
 /**
  * Renders the provided script.
  *
  * @param string $script
  * @param array(string=>mixed) $parameters
  * @return string The rendered content.
  */
 protected function render($script, array $parameters)
 {
     $this->view->clearVars();
     $this->view->assign($parameters);
     return $this->view->render($script);
 }