Beispiel #1
0
	/**
	 * 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;
	}
Beispiel #2
0
 /**
  * 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;
         }
     }
 }