예제 #1
0
 public function init()
 {
     parent::init();
     $this->view->baseUrl = $this->_sBaseUrl;
     $this->_prepareLayout();
     $this->_oLayout->getView()->config = $this->_oConfig;
     $this->_oLayout->setViewScriptPath(APPLICATION_PATH . $this->_oConfig->views . '/layout');
     $this->view->setBasePath(APPLICATION_PATH . $this->_oConfig->views . '/modules/' . strtolower($this->getRequest()->getModuleName()));
     $this->view->addHelperPath(APPLICATION_PATH . $this->_oConfig->views . '/helpers');
     $this->view->addFilterPath(APPLICATION_PATH . $this->_oConfig->views . '/filters');
     $this->view->setLfiProtection(false);
     Zend_View_Helper_PaginationControl::setDefaultViewPartial('../../abstract/scripts/pagination_control.phtml');
 }
예제 #2
0
파일: Email.php 프로젝트: ud223/yj
 public function sendEmail($template, $to, $subject, $params = array())
 {
     try {
         $config = array('auth' => 'Login', 'port' => $this->_bootstrap_options['mail']['port'], 'ssl' => 'ssl', 'username' => $this->_bootstrap_options['mail']['username'], 'password' => $this->_bootstrap_options['mail']['password']);
         $tr = new Zend_Mail_Transport_Smtp($this->_bootstrap_options['mail']['server'], $config);
         Zend_Mail::setDefaultTransport($tr);
         $mail = new Zend_Mail('UTF-8');
         $layout = new Zend_Layout();
         $layout->setLayoutPath($this->_bootstrap_options['mail']['layout']);
         $layout->setLayout('email');
         $view = $layout->getView();
         $view->domain_url = $this->_bootstrap_options['site']['domainurl'];
         $view = new Zend_View();
         $view->params = $params;
         $view->setScriptPath($this->_bootstrap_options['mail']['view_script']);
         $layout->content = $view->render($template . '.phtml');
         $content = $layout->render();
         $mail->setBodyText(preg_replace('/<[^>]+>/', '', $content));
         $mail->setBodyHtml($content);
         $mail->setFrom($this->_bootstrap_options['mail']['from'], $this->_bootstrap_options['mail']['from_name']);
         $mail->addTo($to);
         $mail->setSubject($subject);
         $mail->send();
     } catch (Exception $e) {
         // 这里要完善
     }
     return true;
 }
예제 #3
0
 /**
  * Magic reuturn property - alias for __get in Zend_View
  * 
  * @param string $name
  * @return mixed|null 
  */
 public function __get($name)
 {
     if (isset($this->layout->getView()->{$name})) {
         return $this->layout->getView()->{$name};
     }
     return null;
 }
예제 #4
0
 /**
  * Switch viewRenderer responseSegment to
  * segment received from request
  */
 public function preDispatch()
 {
     /**
      * Custom action views placed in themes 
      */
     $viewRenderer = $this->getBroker()->load('viewRenderer');
     $module = $this->getRequest()->getModuleName();
     $options = $this->getOptions();
     $viewPath = realpath($this->_layout->getLayoutPath() . '/../' . $options['view']['directory'] . '/' . $module . '/scripts/');
     $existingPaths = array();
     foreach ($this->_layout->getView()->resolver()->getPaths() as $path) {
         $existingPaths[] = $path;
     }
     if ($viewPath && !in_array($viewPath, $existingPaths)) {
         $this->_layout->getView()->resolver()->addPath($viewPath);
     }
     /**
      * Set widget markers into the new form parameters
      */
     $widgetId = $this->getRequest()->getParam($this->_widgetIdName);
     if ($widgetId !== null) {
         $formHelper = $this->_layout->getView()->getBroker()->load('form');
         if ($formHelper instanceof \Zly\View\Helper\Form) {
             $formHelper->setMarker($this->_widgetPostMarker, $widgetId);
         }
     }
     /**
      * Check post parameters
      */
     $postFormMarker = $this->getRequest()->getParam($this->_widgetPostMarker);
     if ($this->getRequest()->isPost()) {
         if ($postFormMarker !== null && $widgetId === null) {
             //id not widget request and post marker found
             $_SERVER['REQUEST_METHOD'] = 'GET';
             $this->_POST = $_POST;
         } elseif ($widgetId !== $postFormMarker) {
             //if post marker NOT of current widget request
             $_SERVER['REQUEST_METHOD'] = 'GET';
             $this->_POST = $_POST;
         }
     }
     if ($postFormMarker !== null && $widgetId == $postFormMarker && !empty($this->_POST)) {
         $_SERVER['REQUEST_METHOD'] = 'POST';
         $_POST = $this->_POST;
         $this->_POST = null;
     }
     /**
      * Set view renderer segment of current widget
      */
     $slot = $this->getRequest()->getParam($this->_marker, null);
     $viewRenderer->setResponseSegment($slot);
 }
예제 #5
0
파일: LayoutTest.php 프로젝트: hjr3/zf2
 /**
  * @return void
  */
 public function testViewAccessorsAllowSettingView()
 {
     $layout = new Zend_Layout();
     $view = new Zend_View();
     $layout->setView($view);
     $received = $layout->getView();
     $this->assertSame($view, $received);
 }