示例#1
0
 /**
  * @param \User\Model\User $user
  */
 public function signup(\User\Model\User $user)
 {
     $user->setSalt(substr(md5(time() . rand(2000, 5000)), 0, 20));
     $user->setCreatedDate(DateBase::getCurrentDate());
     $user->setCreatedDateTime(DateBase::getCurrentDateTime());
     $user->setPassword(md5($user->getSalt() . $user->getPassword()));
     $user->setRegisteredDate(date('Y-m-d'));
     $user->setRegisteredFrom(str_replace('www.', '', strtolower($_SERVER['HTTP_HOST'])));
     $user->setActiveKey(md5($user->getUsername() . $user->getPassword() . time()));
     $user->setActiveLink('http://' . $_SERVER['HTTP_HOST'] . '/user/active?u=' . $user->getUsername() . '&c=' . $user->getActiveKey());
     $user->setRole(\User\Model\User::ROLE_MEMBER);
     $sl = $this->getServiceLocator();
     $translator = $this->getServiceLocator()->get('translator');
     /** @var $mapper \User\Model\UserMapper */
     $mapper = $sl->get('User\\Model\\Usermapper');
     $mapper->save($user);
 }
示例#2
0
 /**
  * @return array|null
  * @param \User\Model\User $user
  * todo l?y user theo email và activeCode
  */
 public function getUserNotActive($user)
 {
     if (!$user->getEmail() || !$user->getActiveKey()) {
         return null;
     }
     $select = $this->getDbSql()->select(array('u' => self::TABLE_NAME));
     $select->where(['email' => $user->getEmail(), 'activeKey' => $user->getActiveKey()]);
     $select->limit(1);
     $query = $this->getDbSql()->buildSqlString($select);
     $results = $this->getDbAdapter()->query($query, Adapter::QUERY_MODE_EXECUTE);
     if ($results->count()) {
         $data = $results->current();
         $user->exchangeArray((array) $results->current());
         return $user;
     }
     return null;
 }
示例#3
0
 /**
  * @param \User\Model\User $user
  * @return true|false
  */
 public function checkExistsUserActive($user)
 {
     if (!$user->getActiveKey() || !$user->getUsername()) {
         return false;
     }
     $select = $this->getDbSql()->select(self::TABLE_NAME);
     $select->where(['username' => $user->getUsername(), 'activeKey' => $user->getActiveKey()]);
     $select->where('active IS NULL');
     $query = $this->getDbSql()->buildSqlString($select);
     $result = $this->getDbAdapter()->query($query, Adapter::QUERY_MODE_EXECUTE);
     if ($result->count() == 1) {
         return true;
     }
     return false;
 }