예제 #1
0
 public function forceExit()
 {
     if (APPLICATION_ENV != "testing") {
         Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->setNoRender(true);
     }
     $plugins = Zend_Controller_Front::getInstance()->getPlugins();
     $broker = new Zend_Controller_Plugin_Broker();
     $broker->setRequest(Zend_Controller_Front::getInstance()->getRequest());
     $broker->setResponse(Zend_Controller_Front::getInstance()->getResponse());
     foreach ($plugins as $index => $plugin) {
         $broker->registerPlugin($plugin, $index);
     }
     try {
         $broker->postDispatch($broker->getRequest());
     } catch (Exception $e) {
         \App::log()->crit('Error executing "postDispatch" after stream');
         \App::log()->crit($e);
     }
     try {
         $broker->dispatchLoopShutdown();
     } catch (Exception $e) {
         \App::log()->crit('Error executing "dispatchLoopShutdown" after stream');
         \App::log()->crit($e);
     }
     if (APPLICATION_ENV !== 'testing') {
         exit;
     }
 }
예제 #2
0
 public function __construct()
 {
     if ($this->_layoutService == null) {
         $serviceFinder = Zend_Controller_Action_HelperBroker::getStaticHelper('service');
         $this->_layoutService = $serviceFinder->getService('layout', 'layouts');
     }
 }
예제 #3
0
파일: Bootstrap.php 프로젝트: kangza/hagtag
 protected function _initView()
 {
     // Start initail view
     $this->bootstrap('layout');
     $config = $this->getOption('views');
     $resources = $this->getOption('resources');
     $view = new Zend_View();
     if (isset($resources['layout']['layoutPath'])) {
         $view->assign('layoutRootPath', $resources['layout']['layoutPath']);
     }
     $this->bootstrap('db');
     Zend_Loader::loadClass('Ht_Utils_SystemSetting');
     $sysSetting = Ht_Utils_SystemSetting::getSettings();
     $view->assign('sysSetting', $sysSetting);
     $view->assign('profile', Zend_Auth::getInstance()->getIdentity());
     Zend_Loader::loadClass("Ht_Model_SystemSetting");
     $this->setSystemLogConfiguration($sysSetting);
     // use the viewrenderer to keep the code DRY
     // instantiate and add the helper in one go
     $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
     $viewRenderer->setView($view);
     $viewRenderer->setViewSuffix('phtml');
     // add it to the action helper broker
     Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
     /**
      * Set inflector for Zend_Layout
      */
     $inflector = new Zend_Filter_Inflector(':script.:suffix');
     $inflector->addRules(array(':script' => array('Word_CamelCaseToDash', 'StringToLower'), 'suffix' => 'phtml'));
     // Initialise Zend_Layout's MVC helpers
     $this->getResource('layout')->setLayoutPath(realpath($resources['layout']['layoutPath']))->setView($view)->setContentKey('content')->setInflector($inflector);
     return $this->getResource('layout')->getView();
 }
예제 #4
0
 public function authenticate($type, $role, $module, $controller, $action)
 {
     // escape error handler
     $front = Zend_Controller_Front::getInstance();
     $params = array($type, $role, $module, $controller, $action);
     $count = count($params);
     $plugins = new Base_Php_Overloader($front->getParam("bootstrap")->getOption('plugins'));
     $errorModule = $plugins->errorHandler->params->module;
     $errorController = $plugins->errorHandler->params->controller;
     $errorAction = $plugins->errorHandler->params->action;
     $redirecting = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
     /*
      * the conditions are for to be passed or redirected, default is passed
      * array(typeCondition, roleCondition, moduleCondition, controllerCondition, actionCondition, redirectOrNot, url)
      * order by typeCondition ASC, roleCondition ASC, moduleCondition ASC, controllerCondition ASC, actionCondition ASC
      */
     $permission = array(array(null, null, $errorModule, $errorController, $errorAction, FALSE, null), array(Auth_Constant_Server::GUEST_TYPE, null, 'admin', 'index', 'login', false, null), array(Auth_Constant_Server::GUEST_TYPE, null, 'admin', 'index', 'logout', true, '/admin/index/login'), array(Auth_Constant_Server::GUEST_TYPE, null, 'admin', null, null, true, '/admin/index/login'), array(Auth_Constant_Server::ADMIN_TYPE, null, 'admin', 'index', 'login', true, '/admin'), array(null, null, 'home', null, null, false, null));
     foreach ($permission as $permission) {
         for ($i = 0; $i <= 4; $i++) {
             if (isset($permission[$i]) && $params[$i] != $permission[$i]) {
                 continue 2;
             }
         }
         if ($permission[5] == true) {
             $redirecting->gotoUrl($permission[6])->redirectAndExit();
         }
         // if a rule is matched, not check remain rules
         return;
     }
 }
예제 #5
0
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     $loginController = 'authentication';
     $loginAction = 'login';
     $auth = Zend_Auth::getInstance();
     // If user is not logged in and is not requesting login page
     // - redirect to login page.
     if (!$auth->hasIdentity() && $request->getControllerName() != $loginController && $request->getActionName() != $loginAction) {
         $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('Redirector');
         $redirector->gotoSimpleAndExit($loginAction, $loginController);
     }
     // User is logged in or on login page.
     if ($auth->hasIdentity()) {
         // Is logged in
         // Let's check the credential
         $acl = new Tynex_Models_TynexAcl();
         $identity = $auth->getIdentity();
         // role is a column in the user table (database)
         $isAllowed = $acl->isAllowed($identity->role, $request->getControllerName(), $request->getActionName());
         if (!$isAllowed) {
             $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('Redirector');
             $redirector->gotoUrlAndExit('/');
         }
     }
 }
예제 #6
0
 /**
  * Lazily fetches FlashMessenger Instance.
  *
  * @return Zend_Controller_Action_Helper_FlashMessenger
  */
 public function _getFlashMessenger()
 {
     if (NULL === $this->_flashMessenger) {
         $this->_flashMessenger = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
     }
     return $this->_flashMessenger;
 }
예제 #7
0
파일: ZF1.php 프로젝트: kansey/yii2albom
 public function doRequest($request)
 {
     // redirector should not exit
     $redirector = \Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
     $redirector->setExit(false);
     // json helper should not exit
     $json = \Zend_Controller_Action_HelperBroker::getStaticHelper('json');
     $json->suppressExit = true;
     $zendRequest = new \Zend_Controller_Request_HttpTestCase();
     $zendRequest->setMethod($request->getMethod());
     $zendRequest->setCookies($request->getCookies());
     $zendRequest->setParams($request->getParameters());
     // Sf2's BrowserKit does not distinguish between GET, POST, PUT etc.,
     // so we set all parameters in ZF's request here to not break apps
     // relying on $request->getPost()
     $zendRequest->setPost($request->getParameters());
     $zendRequest->setRawBody($request->getContent());
     $zendRequest->setRequestUri(str_replace('http://localhost', '', $request->getUri()));
     $zendRequest->setHeaders($this->extractHeaders($request));
     $_FILES = $this->remapFiles($request->getFiles());
     $_SERVER = array_merge($_SERVER, $request->getServer());
     $zendResponse = new \Zend_Controller_Response_HttpTestCase();
     $this->front->setRequest($zendRequest)->setResponse($zendResponse);
     ob_start();
     try {
         $this->bootstrap->run();
     } catch (\Exception $e) {
         ob_end_clean();
         throw $e;
     }
     ob_end_clean();
     $this->zendRequest = $zendRequest;
     $response = new Response($zendResponse->getBody(), $zendResponse->getHttpResponseCode(), $this->formatResponseHeaders($zendResponse));
     return $response;
 }
예제 #8
0
 public function testReturnsFlashMessengerCustomNamespace()
 {
     $object = $this->_helper->flashMessenger('Test');
     $assert = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
     $assert->setNamespace('Test');
     $this->assertEquals($assert, $object);
 }
 public function listAction()
 {
     $rows = array();
     $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json');
     $json->suppressExit = true;
     $json->direct(array('rows' => $rows));
 }
예제 #10
0
 public function indexAction()
 {
     $src = strtolower(preg_replace('/[^a-z-0-9]/i', '', $this->_getParam('src')));
     $q = preg_replace('/[^a-zA-Z0-9\\%\\.]/', '', $this->_getParam('q'));
     $rows = array();
     if (strlen($q) > 0) {
         switch ($src) {
             case 'cpt':
                 $procedureCodeIterator = new ProcedureCodesCPTIterator();
                 $procedureCodeIterator->setFilters($q);
                 $rows = $procedureCodeIterator->toJsonArray('code', array('textLong', 'code'));
                 break;
             case 'icd9':
                 $diagnosisCodeIterator = new DiagnosisCodesICDIterator();
                 $diagnosisCodeIterator->setFilter($q);
                 $icd = $diagnosisCodeIterator->toJsonArray('code', array('textShort', 'code'));
                 $diagnosisCodeSNOMEDIterator = new DiagnosisCodesSNOMEDIterator();
                 $diagnosisCodeSNOMEDIterator->setFilter($q);
                 $snomed = $diagnosisCodeSNOMEDIterator->toJsonArray('snomedId', array('description', 'snomedId'));
                 $rows = array_merge($icd, $snomed);
                 break;
             default:
                 break;
         }
     }
     $data = array();
     $data['rows'] = $rows;
     $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json');
     $json->suppressExit = true;
     $json->direct($data);
 }
예제 #11
0
 /**
  * Return a message
  * @return string
  */
 public function flashMessages()
 {
     $messages = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger')->getMessages();
     $output = '';
     if (count($messages) > 0) {
         foreach ($messages as $message) {
             $alertType = 'alert-block';
             switch (strtolower($message['type'])) {
                 default:
                 case 'warning':
                     $alertType = 'alert-block';
                     break;
                 case 'error':
                     $alertType = 'alert-error';
                     break;
                 case 'success':
                     $alertType = 'alert-success';
                     break;
                 case 'info':
                     $alertType = 'alert-info';
                     break;
             }
             $output .= '<div class="alert ' . $alertType . '">';
             $output .= '<button type="button" class="close" data-dismiss="alert">×</button>';
             $output .= isset($message['header']) && strlen($message['header']) > 0 ? '<h4>' . $message['header'] . '</h4>' : '';
             $output .= $message['message'];
             $output .= '</div>';
         }
     }
     return $output;
 }
예제 #12
0
 /**
  * Returns the Zend_Acl object or null.
  * @return Zend_Acl
  */
 protected function getAccessControl()
 {
     if (is_null($this->_accessControl)) {
         $this->_accessControl = Zend_Controller_Action_HelperBroker::getStaticHelper('accessControl');
     }
     return $this->_accessControl;
 }
 /**
  * Get a list of Product Companies based on 
  * Agent Contracts if this is root user pull all
  * companies
  * the Select List for the Product Form
  */
 public function getProductCompanies()
 {
     $companyList = array();
     //Get Identity
     $identity = Zend_Auth::getInstance()->getIdentity()->toArray();
     //Establish Services for Agent and AgentContracts
     $agentService = Zend_Controller_Action_HelperBroker::getStaticHelper('Service')->direct('agent', 'agents');
     $agentContractService = Zend_Controller_Action_HelperBroker::getStaticHelper('Service')->direct('agentContract', 'agents');
     if ($identity['role'] === 'Root') {
         $productService = Zend_Controller_Action_HelperBroker::getStaticHelper('Service')->direct('productCompany', 'products');
         $companies = $productService->fetchProductCompanies();
         if (!$companies) {
             return null;
         }
         $companies = $companies->toArray();
     } else {
         //Fetch the Agents Details
         $agentData = $agentService->fetchAgentContact($identity['agent_id']);
         $companies = $agentContractService->fetchContractsByAgent($agentData['agent_id']);
         if (is_object($companies)) {
             $companies = $companies->toArray();
         }
     }
     //Build Product Category Select List
     $companyList[''] = '***Select Product Company***';
     foreach ($companies as $company) {
         $companyList[$company['product_company_id']] = $company['product_company_name'];
     }
     return $companyList;
 }
예제 #14
0
function configureTheme($theme = APPLICATION_THEME, $layoutName = 'index', $layoutPath = '/themes/core/layouts')
{
    global $baseUrl;
    $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
    if ($layoutName == 'integration') {
        $viewRenderer->view->themeUrl = str_replace("index.php", "", BASE_URL) . '/public/' . $theme;
        $viewRenderer->view->themeImages = $viewRenderer->view->themeUrl . "/images";
    } else {
        $viewRenderer->view->themeUrl = str_replace("index.php", "", BASE_URL) . "/themes/" . $theme;
        $viewRenderer->view->themesUrl = str_replace("index.php", "", BASE_URL) . "/themes/";
        $viewRenderer->view->themeImages = $viewRenderer->view->themeUrl . "/images";
    }
    $viewRenderer->view->theme = $theme;
    $viewRenderer->view->asset = new Joobsbox_Helpers_AssetHelper();
    $viewRenderer->view->css = new Joobsbox_Helpers_CssHelper();
    $viewRenderer->view->js = new Joobsbox_Helpers_JsHelper();
    $viewRenderer->view->addScriptPath(APPLICATION_DIRECTORY . '/themes/core/views/scripts');
    $viewRenderer->view->addScriptPath(APPLICATION_DIRECTORY . '/themes/' . $theme . '/views/scripts');
    $viewRenderer->view->setEncoding("UTF-8");
    $viewRenderer->view->addHelperPath(APPLICATION_DIRECTORY . '/Joobsbox/Helpers', "Joobsbox_Helpers");
    $conf = Zend_Registry::get("conf");
    Zend_Registry::set("theme", $theme);
    $viewRenderer->view->conf = $conf;
    if ($conf->general->standalone) {
        if ($layout = Zend_Layout::getMvcInstance()) {
            $layout->setLayoutPath(APPLICATION_DIRECTORY . $layoutPath);
            $layout->setLayout($layoutName);
        } else {
            Zend_Layout::startMvc(array('layoutPath' => APPLICATION_DIRECTORY . $layoutPath, 'layout' => $layoutName));
        }
    }
}
예제 #15
0
 /**
  *
  * @param Zend_Controller_Request_Abstract $request
  */
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     $options = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getApplication()->getOptions();
     $config = new Zend_Config($options);
     $acl = new My_Acl($config);
     $role = 'guest';
     if (Zend_Auth::getInstance()->hasIdentity()) {
         $role = 'user';
         if (Zend_Auth::getInstance()->hasIdentity()) {
             return;
         } else {
             $login = Zend_Auth::getInstance()->getIdentity();
             $user = My_Model::get('Users')->getUserByEmail($login);
             if ($user->admin == 1) {
                 $role = 'admin';
             }
         }
     }
     $controller = $request->getControllerName();
     $action = $request->getActionName();
     $resource = $controller;
     $privilege = $action;
     if (!$acl->has($resource)) {
         $resource = null;
     }
     if (is_null($privilege)) {
         $privilege = 'index';
     }
     if (!$acl->isAllowed($role, $resource, $privilege)) {
         //            $flash = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
         //            $flash->addMessage('Access Denied');
         $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('Redirector');
         $redirector->gotoSimpleAndExit('login', 'admin');
     }
 }
예제 #16
0
 public function getForm()
 {
     $form = new Zend_Form();
     $form->setMethod('post');
     $form->setDecorators(array(array('ViewScript', array('viewScript' => 'reports/report5Form.phtml'))));
     $items = $this->getPeriodItems('REQ_MOZ_CONTMOVEMENT_YEAR_SPEC');
     $e = new Zend_Form_Element_Select('period', array('label' => 'Рік', 'multiOptions' => $items, 'required' => true, 'style' => 'width: 80px'));
     $form->addElement($e);
     $items = $this->getGuideItems('T_REPORTPLANKIND');
     $e = new Zend_Form_Element_Select('reportplankind', array('label' => 'Звіт/план', 'multiOptions' => $items, 'required' => true, 'style' => 'width: 200px'));
     $form->addElement($e);
     $items = $this->getGuideItems('T_EDUFORM', false);
     $e = new Zend_Form_Element_Select('eduform', array('label' => 'Форма навчання', 'multiOptions' => $items, 'style' => 'width: 200px'));
     $form->addElement($e);
     $items = $this->getGuideItems('T_EDUBASIS', false);
     $e = new Zend_Form_Element_Select('edubase', array('label' => 'Форма фінансування', 'multiOptions' => $items, 'style' => 'width: 200px'));
     $form->addElement($e);
     $items = $this->getGuideItems('T_COUNTRYTYPE', true);
     $e = new Zend_Form_Element_Select('countrytype', array('label' => 'Тип громадянства', 'multiOptions' => $items, 'style' => 'width: 200px'));
     $form->addElement($e);
     if (@(!$this->params['establishment'])) {
         $e = new Zend_Form_Element_Checkbox('indpapers', array('label' => 'Індивідуальні аркуші'));
         $form->addElement($e);
     }
     $refreshAct = Zend_Controller_Action_HelperBroker::getStaticHelper('url')->url(array('controller' => 'page', 'action' => 'show'));
     $e = new Zend_Form_Element_Submit('refresh', array('label' => 'Обновити', 'onclick' => "document.forms[0].action='{$refreshAct}'"));
     $form->addElement($e);
     $excelAct = Zend_Controller_Action_HelperBroker::getStaticHelper('url')->url(array('controller' => 'reports', 'action' => 'excel', 'report' => 5));
     $e = new Zend_Form_Element_Submit('excel', array('label' => 'Excel', 'onclick' => "document.forms[0].action='{$excelAct}'"));
     $form->addElement($e);
     $form->setElementDecorators(array('ViewHelper', 'Errors'));
     return $form;
 }
예제 #17
0
 public function listAction()
 {
     $showAll = (int) $this->_getParam('showAll');
     $patientId = (int) $this->_getParam('patientId');
     $rows = array();
     $patientNote = new PatientNote();
     $patientNoteIterator = $patientNote->getIterator();
     $filters = array();
     $filters['patient_id'] = $patientId;
     $filters['posting'] = 1;
     if (!$showAll) {
         $filters['active'] = 1;
     }
     $patientNoteIterator->setFilters($filters);
     foreach ($patientNoteIterator as $note) {
         $tmp = array();
         $tmp['id'] = $note->patientNoteId;
         $tmp['data'][] = $note->priority;
         $tmp['data'][] = $note->noteDate;
         $tmp['data'][] = $note->user->username;
         $tmp['data'][] = $note->reason;
         $tmp['data'][] = $note->note;
         $tmp['data'][] = $note->active;
         $tmp['data'][] = $note->active;
         $rows[] = $tmp;
     }
     $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json');
     $json->suppressExit = true;
     $json->direct(array('rows' => $rows));
 }
예제 #18
0
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     $flash = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
     $mvc = Zend_Layout::getMvcInstance();
     $view = $mvc->getView();
     $view->flashMessages = $flash->getMessages();
 }
예제 #19
0
파일: Auth.php 프로젝트: dewawi/dewawi
 public function routeShutdown(Zend_Controller_Request_Abstract $request)
 {
     $params = $request->getParams();
     $auth = Zend_Auth::getInstance();
     Zend_Registry::set('Zend_Auth', $auth);
     if ($auth->hasIdentity()) {
         $view = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('view');
         $identity = $auth->getIdentity();
         $userDb = new Users_Model_DbTable_User();
         $user = array('id' => $identity->id, 'username' => $identity->username, 'name' => $identity->name, 'email' => $identity->email, 'clientid' => $identity->clientid);
         $authNamespace = new Zend_Session_Namespace('Zend_Auth');
         $authNamespace->user = $user['username'];
         if ($_SESSION['__ZF']['Zend_Auth']['ENT'] - time() < 3600) {
             $authNamespace->setExpirationSeconds(3600);
         }
         Zend_Registry::set('User', $user);
         $view->user = $user;
         $clientDb = new Application_Model_DbTable_Client();
         $client = $clientDb->getClient($user['clientid']);
         Zend_Registry::set('Client', $client);
     } elseif ($params['module'] != 'users' && $params['action'] != 'login') {
         $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
         if (isset($params['id']) && $params['id']) {
             $redirector->gotoSimple('login', 'user', 'users', array('url' => $params['module'] . '|' . $params['controller'] . '|' . $params['action'] . '|' . $params['id']));
         } else {
             $redirector->gotoSimple('login', 'user', 'users', array('url' => $params['module'] . '|' . $params['controller'] . '|' . $params['action']));
         }
     }
 }
예제 #20
0
 /**
  * Gets content panel for the Debugbar
  *
  * @return string
  */
 public function getPanel()
 {
     $this->_request = Zend_Controller_Front::getInstance()->getRequest();
     $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
     if ($viewRenderer->view && method_exists($viewRenderer->view, 'getVars')) {
         $viewVars = $this->_cleanData($viewRenderer->view->getVars());
     } else {
         $viewVars = "No 'getVars()' method in view class";
     }
     $vars = '<div style="width:50%;float:left;">';
     $vars .= '<h4>View variables</h4>' . '<div id="ZFDebug_vars" style="margin-left:-22px">' . $viewVars . '</div>' . '<h4>Request parameters</h4>' . '<div id="ZFDebug_requests" style="margin-left:-22px">' . $this->_cleanData($this->_request->getParams()) . '</div>';
     $vars .= '</div><div style="width:45%;float:left;">';
     if ($this->_request->isPost()) {
         $vars .= '<h4>Post variables</h4>' . '<div id="ZFDebug_post" style="margin-left:-22px">' . $this->_cleanData($this->_request->getPost()) . '</div>';
     }
     $vars .= '<h4>Constants</h4>';
     $constants = get_defined_constants(true);
     ksort($constants['user']);
     $vars .= '<div id="ZFDebug_constants" style="margin-left:-22px">' . $this->_cleanData($constants['user']) . '</div>';
     $registry = Zend_Registry::getInstance();
     $vars .= '<h4>Zend Registry</h4>';
     $registry->ksort();
     $vars .= '<div id="ZFDebug_registry" style="margin-left:-22px">' . $this->_cleanData($registry) . '</div>';
     $cookies = $this->_request->getCookie();
     $vars .= '<h4>Cookies</h4>' . '<div id="ZFDebug_cookie" style="margin-left:-22px">' . $this->_cleanData($cookies) . '</div>';
     $vars .= '</div><div style="clear:both">&nbsp;</div>';
     return $vars;
 }
예제 #21
0
 /**
  * @param Zend_Controller_Request_Abstract $request
  * @return void
  */
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     $this->setSessionLifeTime();
     if (!in_array($request->getModuleName(), $this->modules)) {
         return;
     }
     if (Zend_Auth::getInstance()->hasIdentity()) {
         $user = Zend_Registry::get('container')->getService('user')->getCurrentUser();
         if (!$user->isAdmin()) {
             // can't go into admin
             $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
             $redirector->direct('index', 'index', 'default');
         }
         // set user for application
         $GLOBALS['g_user'] = $user;
         Zend_Registry::set('user', $user);
         // set view user
         $view = Zend_Registry::get('view');
         $view->currentUser = $user;
         // set view navigation acl
         $acl = Zend_Registry::get('acl')->getAcl($user);
         /* @var $acl Zend_Acl */
         $view->navigation()->setAcl($acl);
         $view->navigation()->setRole($user);
         return;
     }
 }
예제 #22
0
 public function _initView()
 {
     $view = new Twig_Adapter_Zend();
     $view->setScriptPath(APPLICATION_PATH . '/views/scripts/');
     $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
     $viewRenderer->setView($view);
 }
예제 #23
0
 public function preDispatch(Zend_Controller_Request_Abstract $request)
 {
     $view = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer')->view;
     $locale = Zend_Registry::get('Zend_Locale');
     $view->locale = key($locale->getDefault());
     $view->date_format = Zend_Locale_Data::getContent($view->locale, 'date');
 }
예제 #24
0
파일: Api.php 프로젝트: henvic/MediaLab
 public function init()
 {
     $registry = Zend_Registry::getInstance();
     $config = $registry->get("config");
     $sysCache = $registry->get("sysCache");
     $cacheFiles = new Ml_Cache_Files($sysCache);
     Zend_Controller_Action_HelperBroker::addPath(APPLICATION_PATH . '/controllers/helpers');
     $frontController = $this->getBootstrap()->getResource('FrontController');
     $dispatcher = $frontController->getDispatcher();
     $request = $frontController->getRequest();
     $router = $frontController->getRouter();
     $router->removeDefaultRoutes();
     $compat = new Zend_Controller_Router_Route_Module(array(), $dispatcher, $request);
     $router->addRoute(HOST_MODULE, $compat);
     $routerConfig = $cacheFiles->getConfigIni(APPLICATION_PATH . '/configs/' . HOST_MODULE . 'Routes.ini');
     $router->addConfig($routerConfig, "apiroutes");
     Zend_Controller_Action_HelperBroker::addPath(APPLICATION_PATH . '/modules/' . HOST_MODULE . '/controllers/helpers');
     $loadOauthStore = Zend_Controller_Action_HelperBroker::getStaticHelper("LoadOauthstore");
     $loadOauthStore->setinstance();
     $loadOauthStore->preloadServer();
     $frontController->setBaseUrl($config['apiroot'])->setParam('noViewRenderer', true)->addModuleDirectory(APPLICATION_PATH . '/modules')->addControllerDirectory(APPLICATION_PATH . '/modules/' . HOST_MODULE . '/controllers');
     $response = new Zend_Controller_Response_Http();
     if (filter_input(INPUT_GET, "responseformat", FILTER_UNSAFE_RAW) == 'json') {
         $contentType = 'application/json';
     } else {
         $contentType = 'text/xml';
     }
     $response->setHeader('Content-Type', $contentType . '; charset=utf-8', true);
     $frontController->setResponse($response);
 }
예제 #25
0
    public static function display_success_message($namespace, $type)
    {
        ?>
    <script type="text/javascript">
        $(document).ready(function(){
<?php 
        $flashMessenger = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
        if ($flashMessenger->setNamespace($namespace)->hasMessages()) {
            foreach ($flashMessenger->getMessages() as $msg) {
                if ($type == 'success') {
                    ?>
                    successmessage('<?php 
                    echo trim($msg);
                    ?>
');                    
            <?php 
                } else {
                    ?>
        error_message('<?php 
                    echo trim($msg);
                    ?>
');
<?php 
                }
            }
            ?>
        <?php 
        }
        ?>
  
        });
    </script>
<?php 
    }
예제 #26
0
 public function restContext()
 {
     if (!$this->getAutoSerialization()) {
         return;
     }
     $view = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view;
     if ($view instanceof Zend_View_Interface) {
         if (method_exists($view, 'getVars')) {
             $vars = $view->getVars();
             if (isset($vars['apiresults'])) {
                 $data = $vars['apiresults'];
                 if (count($data) !== 0) {
                     $serializer = new $this->_availableAdapters[$this->_currentContext]();
                     $body = $serializer->serialize($data);
                     if ($this->_currentContext == 'xml') {
                         $stylesheet = $this->getRequest()->getHeader('X-XSL-Stylesheet');
                         if ($stylesheet !== false and !empty($stylesheet)) {
                             $body = str_replace('<?xml version="1.0"?>', sprintf('<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="%s"?>', $stylesheet), $body);
                         }
                     }
                     if ($this->_currentContext == 'json') {
                         $callback = $this->getRequest()->getParam('jsonp-callback', false);
                         if ($callback !== false and !empty($callback)) {
                             $body = sprintf('%s(%s)', $callback, $body);
                         }
                     }
                     if ($this->_currentContext == 'html') {
                         $body = self::prettyPrint($body, array('format' => 'html'));
                     }
                     $this->getResponse()->setBody($body);
                 }
             }
         }
     }
 }
예제 #27
0
 /**
  * Initialize controller
  *
  * @return void
  */
 function init()
 {
     $this->db = Zend_Registry::get('db');
     $this->logger = Zend_Registry::get('logger');
     $this->config = Zend_Registry::get('config');
     $this->viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
 }
예제 #28
0
 public static function run()
 {
     #echo get_include_path();
     #exit();
     try {
         // 設定ファイル読み込み
         $config = new Zend_Config_Ini(INSTALL_DIR . 'application/configs/config.ini', 'production');
         // Zend_Loader の設定(ファイル自動読み込み)
         require_once 'Zend/Loader/Autoloader.php';
         $loader = Zend_Loader_Autoloader::getInstance();
         $loader->setFallbackAutoloader(true);
         Zend_Registry::set($config->registry->config, $config);
         $view = new Tokyofr_View_Smarty($config->smarty->template_dir, $config->smarty->toArray());
         $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
         $viewRenderer->setView($view)->setViewBasePathSpec($view->getEngine()->template_dir[0]);
         $viewRenderer->setViewScriptPathSpec(':controller/:action.:suffix');
         $viewRenderer->setViewScriptPathNoControllerSpec(':action.:suffix');
         $viewRenderer->setViewSuffix('phtml');
         Tokyofr_Controller_Front::run($config->path->controller);
     } catch (Zend_Exception $e) {
         //var_dump($e->getMessage());
         exit("error.");
     } catch (Exception $e) {
         //var_dump($e->getMessage());
         exit('error02');
     }
 }
예제 #29
0
 /**
  * Defined by Zend_Application_Resource_Resource
  *
  * @return Zend_View
  */
 public function init()
 {
     $view = $this->getView();
     $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
     $viewRenderer->setView($view);
     return $view;
 }
예제 #30
0
 /**
  * dispatchLoopShutdown
  *
  * @return void
  */
 public function dispatchLoopShutdown()
 {
     $messenger = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
     $contextSwitch = Zend_Controller_Action_HelperBroker::getExistingHelper('ContextSwitch');
     $contextParam = $contextSwitch->getContextParam();
     $front = Zend_Controller_Front::getInstance();
     $format = $front->getRequest()->getParam($contextParam);
     $view = Zend_Controller_Action_HelperBroker::getExistingHelper('viewRenderer')->view;
     $namespaces = array('error', 'warning', 'notice', 'success');
     foreach ($namespaces as $namespace) {
         $messenger->setNamespace($namespace);
         $messages = null;
         if ($format != "html" and !is_null($format)) {
             if ($messages = $messenger->getCurrentMessages()) {
                 $messenger->clearCurrentMessages();
             } else {
                 $messages = $messenger->getMessages();
             }
         } else {
             $messages = $messenger->getMessages();
         }
         if (!is_array($messages)) {
             continue;
         }
         if (count($messages) > 0) {
             if (!isset($view->messenger)) {
                 $view->messenger = array();
             }
             $view->messenger[$namespace] = $messages;
         }
     }
 }