Exemple #1
0
 public static function validate($username, $hash, $rememberme = false)
 {
     if (!$username) {
         return false;
     }
     // TODO: try to make only one sql request
     $adapter = Zend_Db_Table_Abstract::getDefaultAdapter();
     $authAdapter = new Zend_Auth_Adapter_DbTable($adapter, 'users', 'pseudo', 'password');
     $authAdapter->setIdentity($username)->setCredential($hash);
     $auth = Zend_Auth::getInstance();
     $result = $auth->authenticate($authAdapter);
     if (!$result->isValid()) {
         self::$_current = null;
         return false;
     }
     $userid = $authAdapter->getResultRowObject('id')->id;
     $userMapper = new Syj_Model_UserMapper();
     $user = new Syj_Model_User();
     if (!$userMapper->find($userid, $user)) {
         throw new Zend_Exception();
     }
     $request = Zend_Controller_Front::getInstance()->getRequest();
     if (!$request->getCookie('syj_user') or !$request->getCookie('syj_hashpass')) {
         if ($rememberme) {
             // cookie will be valid for 2 weeks
             $time = time() + 14 * 60 * 24 * 60;
         } else {
             $time = 0;
         }
         setcookie("syj_user", $username, $time, "", "", false, true);
         setcookie("syj_hashpass", $hash, $time, "", "", false, true);
     }
     self::$_current = $user;
     return true;
 }
Exemple #2
0
 protected function _itemFromRow(Syj_Model_Pending $item, Zend_Db_Table_Row $row)
 {
     $item->setId($row->id)->setHash($row->hash)->setNotificationsNumber($row->notifications_number)->setCreationTime($row->creation_time);
     if (!$item->getUser()) {
         $user = new Syj_Model_User();
         $userMapper = new Syj_Model_UserMapper();
         if ($userMapper->find($row->userid, $user)) {
             $item->setUser($user);
         }
     }
     return $item;
 }
Exemple #3
0
 protected function _itemFromRow(Syj_Model_Path $item, Zend_Db_Table_Row $row)
 {
     $decoder = new gisconverter\WKT();
     $geom = $decoder->geomFromText($row->wkt);
     $item->setId($row->id)->setGeom($geom)->setTitle($row->title)->setUrlComp($row->urlcomp)->setCreatorIp($row->creator_ip);
     if (!$item->getCreator()) {
         $user = new Syj_Model_User();
         $userMapper = new Syj_Model_UserMapper();
         if ($userMapper->find($row->creator, $user)) {
             $item->setCreator($user);
         }
     }
     return $item;
 }