function get($groupId) { $query = $this->db->where('groupId', $groupId)->get('groups')->row_array(); if (empty($query)) { return $query; } $query['controllers'] = sourceToArray($this->getControllers($groupId), 'controllerId'); return $query; }
function login($email, $password) { $CI =& get_instance(); $CI->load->model('Users_Model'); $query = $CI->Users_Model->login($email, $password); if ($query->num_rows() == null) { return false; } $row = $query->row(); $CI->session->set_userdata(array('userId' => $row->userId, 'langId' => $row->langId, 'groups' => sourceToArray($CI->Users_Model->getGroups($row->userId), 'groupId'))); $CI->Users_Model->updateUserLastAccess(); return true; }
function _oauth2($providerName) { if (!$this->safety->allowByControllerName('login')) { return errorForbidden(); } $this->load->spark('oauth2/0.4.0/'); $this->config->load('oauth2'); $config = $this->config->item('oauth2'); $config = $config[$providerName]; $provider = $this->oauth2->provider($providerName, array('id' => $config['id'], 'secret' => $config['secret'], 'scope' => $config['scope'])); if (!$this->input->get('code')) { $url = $provider->authorize(); redirect($url); } try { $token = $provider->access($_GET['code']); $user = $provider->get_user_info($token); $user = $this->Users_Model->loginRemote($user['email'], $user['last_name'], $user['first_name'], $user['location'], $user['birthday'], $providerName, $user['uid']); if ($user == null) { return errorForbidden(); } $this->session->set_userdata(array('userId' => $user['userId'], 'langId' => $user['langId'], 'groups' => sourceToArray($this->Users_Model->getGroups($user['userId']), 'groupId'))); $this->Users_Model->updateUserLastAccess(); // Si el usuario es nuevo y tiene email le enviamos el email de bienvenida if (element('isNewUser', $user) == true && $user['userEmail'] != null) { $this->load->model(array('Tasks_Model', 'Entries_Model')); $this->Tasks_Model->addTask('sendEmailWelcome', array('userId' => $user['userId'])); $this->Entries_Model->addDefaultFeeds(); } $onLoginUrl = $this->session->userdata('onLoginUrl'); if ($onLoginUrl == null) { $onLoginUrl = ''; } redirect($onLoginUrl); } catch (OAuth2_Exception $e) { redirect('login'); } return errorForbidden(); }
function get($userId, $getGroups = false) { $query = $this->db->where('userId', $userId)->get('users')->row_array(); //echo $this->db->last_query(); die; if (empty($query)) { return $query; } if ($getGroups == true) { $query['groups'] = sourceToArray($this->getGroups($userId), 'groupId'); } return $query; }