/** * 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(); } } }
/** * 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(); } }