/** * Check if running authorization checks is required. * * @param Zend_Controller_Request_Abstract $request * @return bool */ private function isAuthorizationRequired(Zend_Controller_Request_Abstract $request) { $controller = $request->getControllerName(); $action = $request->getActionName(); // Any error controller call does not require any authorization if ($controller === 'error') return false; // An index/index action call does not require any authorization if ($controller === 'index' && $action === 'index') return false; // We require authentication for all actions, unless otherwise stated. if ($request->getUserParam('skip-auth') !== null && $request->getUserParam('skip-auth') == true) { return false; } return true; }
/** * Write data to log * * @param Zend_Controller_Request_Abstract $request * @return void */ static function toLog($request) { //return; $params = $request->getParams(); $serializer = Zend_Serializer::factory('PhpSerialize'); $db = Zend_Registry::get('db'); $logStat = Zend_Registry::get('Zend_LogStat'); $auth = Zend_Auth::getInstance(); $user_url = $_SERVER['REMOTE_ADDR']; //------------------ // Получим адрес в виде: module/controller/action $module = $request->getModuleName(); $controller = $request->getControllerName(); $action = $request->getActionName(); $url_action = "{$module}/{$controller}/{$action}"; $arrLogURL = array('default/user/view', 'default/user/videos'); // Определим данные для сохранения в лог foreach ($arrLogURL as $urlLog) { switch ($urlLog) { case 'default/user/view': // Открыть сообщение if ($url_action == $urlLog) { $urlPost = trim($request->getUserParam('url')); $username = trim($request->getUserParam('username')); $arrStat = array('author' => $username, 'post_url' => $urlPost, 'user_url' => $user_url); if ($auth->hasIdentity()) { $identity = $auth->getIdentity(); $arrStat['user'] = $identity->username; } $serialized = $serializer->serialize($arrStat); $logStat->post_open($serialized); } break; case 'default/user/videos': // Открыть сообщение if ($url_action == $urlLog && $params['type_action'] == 'play') { $clip_id = $params['clip_id']; $arrStat = array('clip_id' => $clip_id, 'user_url' => $user_url); if ($auth->hasIdentity()) { $identity = $auth->getIdentity(); $arrStat['user'] = $identity->username; } $serialized = $serializer->serialize($arrStat); $logStat->video_play($serialized); } break; default: break; } } }