Пример #1
0
 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;
 }
Пример #2
0
 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;
 }
Пример #3
0
 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();
 }
Пример #4
0
 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;
 }