public function preDispatch(AbstractRequest $request) { if ($request->module === 'default' && $request->controller === 'auth') { return; } $frontController = FrontController::getInstance(); $bootstrap = $frontController->getParam('bootstrap'); $serviceManager = $bootstrap->getResource('ServiceManager'); $authService = $serviceManager->get('Zend\\Authentication\\AuthenticationService'); if (!$authService->hasIdentity()) { $response = $this->getResponse(); $currentUri = sprintf('%s://%s%s%s', $request->getScheme(), $request->getHttpHost(), $request->getBaseUrl(), $request->getPathInfo()); $adapter = $authService->getAdapter(); $adapter->setLoginParameters(array('service' => $currentUri)); // Assume user is back here from a CAS authentication if ($request->getQuery('ticket')) { $adapter->setServiceValidateParameters(array('service' => $currentUri, 'ticket' => $request->getQuery('ticket'))); // Validate the ticket $result = $authService->authenticate(); if (!$result->isValid()) { $response->setRedirect($adapter->createLoginUri()); } // Assume the user just got here } else { $response->setRedirect($adapter->createLoginUri()); } } }
public function routeShutdown(Zend_Controller_Request_Abstract $request) { require_once 'Sitengine/Env.php'; $frontController = Zend_Controller_Front::getInstance(); #print $request->getQuery(Sitengine_Env::PARAM_CONTROLLER); #Sitengine_Debug::print_r($frontController->getControllers()); $controllerName = $frontController->getController($request->getQuery(Sitengine_Env::PARAM_CONTROLLER)); $request->setParam(Sitengine_Env::PARAM_CONTROLLER, $controllerName); $request->setControllerName($controllerName); $request->setActionName($request->getQuery(Sitengine_Env::PARAM_ACTION)); #$frontController->getDispatcher()->dispatch($request, $frontController->getResponse()); }
public function dispatchLoopShutdown() { $log = $this->_getLogger(); $coreLog = $this->_getLogCoreAccess(); $asyncLog = $this->_getLogAsyncAccess(); // Try to obtain the logged in user $id = Zend_Auth::getInstance()->getIdentity(); $msg = '[' . (isset($id['username']) ? $id['username'] : '******') . '] '; $msg .= $this->_method . ' ' . $this->_path; // Calculate the time expend serving the request $time = ceil((microtime(true) - $this->_time) * 1000); $msg .= ' (' . $time . 'ms)'; // Check if the request was redirecto to the error controller $error = $this->_request->getParam('error_handler'); if (NULL !== $error) { $ex = $error->exception; $msg .= ' [' . $ex->getCode() . '] ' . $ex->getMessage(); $log->err($msg); if ($coreLog) { $coreLog->err($msg); } if ($asyncLog) { $asyncLog->err($msg); } } else { $log->info($msg); } // Print debug information about the request if ($this->_request instanceof Zend_Controller_Request_Http) { $query = $this->_request->getQuery(); if (!empty($query)) { $log->info(">>> Request (Query): " . http_build_query($query)); } $headers = array(); if (!function_exists('apache_request_headers')) { foreach ($_SERVER as $key => $value) { if (substr($key, 0, 5) == "HTTP_") { $name = str_replace(" ", "-", ucwords(strtolower(str_replace("_", " ", substr($key, 5))))); $headers[] = "{$name}: {$value}"; } } } else { foreach (getallheaders() as $name => $value) { $headers[] = "{$name}: {$value}"; } } $log->debug(">>> Headers:\n" . implode("\n", $headers)); $body = $this->_request->getRawBody(); if (!empty($body)) { $log->debug(">>> Request (Body):\n" . $body); } $resp = Zend_Controller_Front::getInstance()->getResponse(); $headers = array(); foreach ($resp->getHeaders() as $header) { $headers[] = $header['name'] . ": " . $header['value']; } $log->debug("<<< Headers:\n" . implode("\n", $headers)); $log->debug("<<< Response:\n" . $resp->getBody()); } }
public function preDispatch(Zend_Controller_Request_Abstract $request) { $req = array('GET' => $request->getQuery(), 'POST' => $request->getPost(), 'COOKIE' => $request->getCookie(), 'PARAMS' => $request->getUserParams()); $init = IDS_Init::init(APPLICATION_PATH . '/configs/phpids.ini'); $ids = new IDS_Monitor($req, $init); $result = $ids->run(); if (!$result->isEmpty()) { $compositeLog = new IDS_Log_Composite(); $compositeLog->addLogger(IDS_Log_File::getInstance($init)); $compositeLog->execute($result); } }
/** * Called before Zend_Controller_Front begins evaluating the * request against its routes. * * @param AbstractRequest $request * @return void */ public function routeStartup(AbstractRequest $request) { if (!$request instanceof HttpRequest) { return; } if ($request->getQuery('monitor') === 'x' && $request->isXmlHttpRequest()) { $message = "A javascript error was detected.\n" . "================================\n" . 'Message: ' . $request->getPost('message', '') . "\n" . 'URI: ' . $request->getPost('errorUrl', 'unknown') . "\n" . 'Line: ' . $request->getPost('errorLine', 'unknown') . "\n"; Zend_Registry::get('monitor')->writeLog($message, Zend_Log::WARN, 'javascript-error'); // Immediately return empty response $this->getResponse()->setBody('')->sendResponse(); exit; } }
/** * Called before Zend_Controller_Front begins evaluating the * request against its routes. * * @param Zend_Controller_Request_Abstract $request * @return void */ public function routeStartup(Zend_Controller_Request_Abstract $request) { $frontController = Zend_Controller_Front::getInstance(); // Request keys $moduleKey = $request->getModuleKey(); $controllerKey = $request->getControllerKey(); $actionKey = $request->getActionKey(); // Defaults $moduleName = $frontController->getDefaultModule(); $controllerName = $frontController->getDefaultControllerName(); $actionName = $frontController->getDefaultAction(); // Set a url path $module = $request->getQuery($moduleKey, $moduleName); $controller = $request->getQuery($controllerKey, $controllerName); $action = $request->getQuery($actionKey, $actionName); // Assemble if ($request->getPathInfo() == '/') { $modulePart = $module == $moduleName ? $module : '/' . $module; $controllerPart = $controller == $controllerName && $action == $actionName ? '' : '/' . $controller; $actionPart = $action == $actionName && $controller ? '' : '/' . $action; $request->setPathInfo($modulePart . $controllerPart . $actionPart); } }
public function routeShutdown(Zend_Controller_Request_Abstract $request) { try { $this->_statusRules($request->getModuleName(), $request->getControllerName(), $request->getActionName(), $request->getParam('resourceStack')); $this->_aclRules($request->getModuleName(), $request->getControllerName(), $request->getActionName(), $request->getParam('resourceStack'), $request->getQuery()); $this->_workflowRules($request->getModuleName(), $request->getControllerName(), $request->getActionName(), $request->getParam('resourceStack')); } catch (Saf_Controller_Front_Plugin_RouteRules_Exception $e) { Saf_Debug::out('Enforcing Routing Rule: ' . $e->getMessage()); $request->setModuleName($e->getModuleName()); $request->setControllerName($e->getControllerName()); $request->setActionName($e->getActionName()); $request->setParam('resourceStack', $e->getResourceStack()); } }
public function preDispatch(Zend_Controller_Request_Abstract $request) { $lang = $request->getQuery('lang'); if ($lang) { setcookie("syj_lang", $lang, 0, "", "", false, true); } else { $lang = $request->getCookie('syj_lang'); } if (!$lang) { return; } $translator = Zend_Registry::get('Zend_Translate'); $adapter = $translator->getAdapter(); if (!$adapter->isAvailable($lang)) { return; } $adapter->setLocale($lang); }