Beispiel #1
0
 /**
  * Activation User method
  *
  * @package     base-app
  * @version     2.0
  */
 public function activation()
 {
     if ($this->getRole()) {
         // This user has login role, activation has already been completed
         return NULL;
     } else {
         // Add login role
         $role = new RolesUsers();
         $role->user_id = $this->id;
         $role->role_id = Roles::findFirst(array('name="login"'))->id;
         if ($role->create() === true) {
             return TRUE;
         } else {
             \Baseapp\Bootstrap::log($this->getMessages());
             return $this->getMessages();
         }
     }
 }
Beispiel #2
0
 /**
  * Set a user role
  *
  * @param $user_id
  * @param $role
  * @return bool
  */
 public function setUserRole($user_id, $role)
 {
     if (is_int($role)) {
         // we are passing in a role id
         $role_id = $role;
         $find_role = Roles::findFirst(array("id='{$role_id}'"));
     } else {
         if (is_string($role)) {
             // we are passing in a role name
             $role_name = $role;
             $find_role = Roles::findFirst(array("name='{$role_name}'"));
         }
     }
     // first check if user has any existing roles
     $existing = self::getUserRoles($user_id);
     if ($existing) {
         // user has existing roles so we check if we need to replace or add new role
         if ($existing[0]['name'] == 'unconfirmed') {
             if ($find_role->name == 'registered') {
                 // delete the unconfirmed role before adding the new role
                 $delRole = RolesUsers::find(array('conditions' => "role_id = '1' AND user_id = '{$user_id}'"));
                 $delRole->delete();
             }
         }
     }
     // Add login role
     $new_role = new RolesUsers();
     $new_role->user_id = $user_id;
     $new_role->role_id = $find_role->id;
     if ($new_role->create() === true) {
         return TRUE;
     } else {
         \Baseapp\Bootstrap::log($this->getMessages());
         return $this->getMessages();
     }
 }