示例#1
0
  /**
   * login action
   *
   * @ActionDefinition( file='auth.tpl', propel )
   */
  public function login ()
  {
    if ( !isset( $_SESSION['profiles'] ) || !isset( $_SESSION['role'] ) ) {

      // verify method
      if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {

        // validate form
        if ( !isset( $this->request->email ) || !$this->request->email ) {
          $this->response->exception = 'Provide an email';
        } elseif ( !isset( $this->request->password ) ||
                   !$this->request->password ) {
          $this->response->exception = 'Provide a password';
        } else {

          // check if account exists
          $user = AuthUsersBss::getByEmail( $this->request->email );
          if ( is_string( $user ) ) {
            $this->response->exception = $user;
          } else {
            // check password
            if ( $user['password'] ==  tlalokes_core_crypt( $this->request->password ) ) {
              $_SESSION['user_id'] = $user['id'];

              // check role
              $role = AuthRolesBss::getByName( $user['role_name'] );
              if ( $role['role_status'] == 1 ) {

                // set access profile
                $profiles = AuthAccessProfilesRolesBss::getProfilesByRole( $role['id'] );
                if ( is_string( $profiles ) ) {
                  $this->response->exception = $profiles;
                } else {
                  foreach( $profiles as $profile ) {
                    $_SESSION['profiles'][] = $profile['profile'];
                  }
                }
                unset( $profiles );

                // set role
                $_SESSION['role'] = $role['id'];
                unset( $role );
                $this->response->flag = true;
              }
            } else {
              $this->response->exception = 'Password invalid';
            }
          }
        }
      }
    } else {
      $this->response->flag = true;
    }
  }
示例#2
0
 /**
  * Updates an existant user
  *
  * @return mixed
  */
 public static function update(TlalokesRequest &$request)
 {
     try {
         $obj = AuthUsersPeer::retrieveByPK($request->_id);
         if ($request->id) {
             $obj->setId($request->id);
         }
         if ($request->role) {
             $obj->setRole($request->role);
         }
         if ($request->email) {
             $obj->setEmail($request->email);
         }
         if ($request->password) {
             $obj->setPassword(tlalokes_core_crypt($request->password));
         }
         if (!$request->user_status) {
             $request->user_status = 0;
         }
         $obj->setUserStatus($request->user_status);
         $obj->save();
         return self::getByPK($obj->getId());
     } catch (PropelException $e) {
         return preg_replace('/\\	/', '', tlalokes_str_sanitize($e->getMessage()));
     }
 }