示例#1
0
文件: Redirector.php 项目: dafik/dfi
 public function redirectAndExit()
 {
     $this->getUseAbsoluteUri();
     Dfi_Controller_Action_Helper_Messages::getInstance()->save();
     $this->getResponse()->sendHeaders();
     exit;
 }
示例#2
0
文件: Messages.php 项目: dafik/dfi
 /**
  * Enter description here...
  *
  * @return DFi_Controller_Action_Helper_Messages
  */
 public static function getInstance()
 {
     $x = self::$instance;
     if (!self::$instance instanceof Dfi_Controller_Action_Helper_Messages) {
         self::$instance = new Dfi_Controller_Action_Helper_Messages();
     }
     return self::$instance;
 }
 public function init()
 {
     parent::init();
     $this->view->getHelper('headTitle')->headTitle('VAR_BASE_TITLE');
     $this->view->getHelper('HeadMeta')->appendHttpEquiv('pragma', 'no-cache')->appendHttpEquiv('Cache-Control', 'no-cache')->appendHttpEquiv('Content-Type', 'application/xhtml+xml; charset=UTF-8')->appendHttpEquiv('Content-Language', 'pl-PL');
     //		/->appendName('author', '');
     $this->view->getHelper('Doctype')->setDoctype(Zend_View_Helper_Doctype::XHTML11);
     $this->messages = Dfi_Controller_Action_Helper_Messages::getInstance();
     Zend_Controller_Action_HelperBroker::addHelper($this->messages);
     Zend_Auth::getInstance()->setStorage(new Dfi_Auth_Storage_Cookie('VAR_user'));
     /*   $this->messages->addMessage(Dfi_Controller_Action_Helper_Messages::TYPE_DEBUG, 'test  - DEBUG');
          $this->messages->addMessage('error', 'test');
          $this->messages->addMessage('confirmation', 'test');
          $this->messages->addMessage('notice', 'test');*/
     $this->view->addHelperPath('View/Helper', 'View_Helper');
     $this->view->addBasePath(APPLICATION_PATH . 'views/partials/');
 }
示例#4
0
文件: Cookie.php 项目: dafik/dfi
 /**
  * Returns the contents of storage
  *
  * Behavior is undefined when storage is empty.
  *
  * @throws Zend_Auth_Storage_Exception If reading contents from storage is impossible
  * @return mixed
  */
 public function read()
 {
     $request = Zend_Controller_Front::getInstance()->getRequest();
     if ($request) {
         $controller = Zend_Controller_Front::getInstance()->getRequest()->getParam('controller');
     } else {
         $controller = '';
     }
     try {
         $this->initialized = true;
         if (isset($_COOKIE['_u']) && $_COOKIE['_u'] && $_COOKIE['_u'] != 'deleted') {
             $base = base64_decode($_COOKIE['_u']);
             $decrypted = Dfi_Crypt_MCrypt::decode($base);
             list($userId, $token) = explode('-', $decrypted);
             $time = time();
             if ($token + 20 * 60 >= $time) {
                 $queryClass = ucfirst($this->model) . 'Peer';
                 $user = $queryClass::retrieveByPK($userId);
                 /** @var $user SysUser */
                 if ($user) {
                     $this->userId = $user->getPrimaryKey();
                     $this->user = $user;
                     return $user;
                 } else {
                     if (!in_array($controller, array('login', 'logout'))) {
                         Dfi_Controller_Action_Helper_Messages::getInstance()->addMessage(Dfi_Controller_Action_Helper_Messages::TYPE_DEBUG, 'bad cookie user');
                     }
                 }
             } else {
                 if (!in_array($controller, array('login', 'logout'))) {
                     Dfi_Controller_Action_Helper_Messages::getInstance()->addMessage(Dfi_Controller_Action_Helper_Messages::TYPE_DEBUG, 'cookie expired: ' . $base . ' dec: ' . $decrypted . ' token:' . $token . ' diff:' . ($time - $token) / 60);
                 }
             }
         } else {
             if (!in_array($controller, array('login', 'logout'))) {
                 //Dfi_Controller_Action_Helper_Messages::getInstance()->addMessage(Dfi_Controller_Action_Helper_Messages::TYPE_DEBUG, 'cookie auth not set');
             }
         }
     } catch (Exception $e) {
         throw new Zend_Auth_Storage_Exception($e->getMessage());
     }
     return false;
 }
示例#5
0
文件: Adapter.php 项目: dafik/dfi
 /**
  * Performs an authentication attempt
  * @return Zend_Auth_Result If authentication cannot be performed
  * @throws Exception
  */
 public function authenticate()
 {
     try {
         $this->user = SysUserQuery::create()->filterByLogin($this->username)->findOne();
         if ($this->user) {
             if ($this->user->getActive()) {
                 if (!$this->useFakeLogin) {
                     $adapter = $this->getAdapter($this->user);
                     $result = $adapter->authenticate();
                     if (Zend_Auth_Result::SUCCESS !== $result->getCode()) {
                         $m = array_pop($result->getMessages());
                         Dfi_Controller_Action_Helper_Messages::getInstance()->addMessage('debug', $m);
                         throw new Exception($m ? $m : $this->getMessage(self::WRONG_PW));
                     }
                 }
             } else {
                 throw new Exception(self::NOT_ACTIVATE);
             }
         } else {
             throw new Exception($this->getMessage(self::NOT_FOUND));
         }
     } catch (Exception $e) {
         $m = $e->getMessage();
         $z = strpos($m, 'Invalid credentials');
         if (false !== strpos($e->getMessage(), $this->getMessage(self::NOT_FOUND))) {
             return $this->result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, $this->getMessage(self::NOT_FOUND));
         }
         if (false !== strpos($e->getMessage(), 'Invalid credentials')) {
             return $this->result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, $this->getMessage(self::WRONG_PW));
         }
         if ($e->getMessage() == $this->getMessage(self::WRONG_PW)) {
             return $this->result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, $this->getMessage(self::WRONG_PW));
         } elseif ($e->getMessage() == $this->getMessage(self::NOT_FOUND)) {
             return $this->result(Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND, $this->getMessage(self::NOT_FOUND));
         } elseif ($e->getMessage() == $this->getMessage(self::NOT_ACTIVATE)) {
             return $this->result(Zend_Auth_Result::FAILURE, $this->getMessage(self::NOT_ACTIVE_MESSAGE));
         } else {
             throw $e;
         }
     }
     return $this->result(Zend_Auth_Result::SUCCESS);
 }
示例#6
0
文件: Ami.php 项目: dafik/dfi
 /**
  * @param OutgoingMessage $message
  * @return PAMI\Message\Response\ResponseMessage
  */
 public static function send(OutgoingMessage $message)
 {
     try {
         $client = self::getAmiClient();
         if (!Dfi_App_Config::get('asterisk.fake')) {
             $res = $client->send($message);
             //sleep(5);
             return $res;
         }
         return true;
     } catch (Exception $e) {
         Dfi_Controller_Action_Helper_Messages::getInstance()->addMessage('debug', $e->getMessage());
         return false;
     }
 }
示例#7
0
 protected function _initActionHelpers()
 {
     Zend_Controller_Action_HelperBroker::addPrefix('Dfi_Controller_Action_Helper');
     Zend_Controller_Action_HelperBroker::addHelper(Dfi_Controller_Action_Helper_Messages::getInstance());
     Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
 }
示例#8
0
文件: AD.php 项目: dafik/dfi
 public function auth($username, $password)
 {
     try {
         $config = new Zend_Config_Ini('configs/ad-conf.ini', 'production');
         $options = $config->get('ldap')->get('servers')->toArray();
         $adapter = new Zend_Auth_Adapter_Ldap($options, $username, $password);
         $result = $adapter->authenticate();
         $messages = $result->getMessages();
         $logger = Zend_Registry::get('ADLogger');
         $filter = new Zend_Log_Filter_Priority(Zend_Log::DEBUG);
         $logger->addFilter($filter);
         foreach ($messages as $i => $message) {
             if ($i-- > 1) {
                 // $messages[2] and up are log messages
                 $message = str_replace("\n", "\n  ", $message);
                 $logger->log("Ldap: {$i}: {$message}", Zend_Log::DEBUG);
             }
         }
         return $result->isValid();
     } catch (Exception $e) {
         Dfi_Controller_Action_Helper_Messages::getInstance()->addMessage('debug', $e->getMessage());
         return false;
     }
 }