Advertisement
reynierpm

members_controller

Sep 17th, 2012
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.45 KB | None | 0 0
  1. <?php
  2.  
  3. defined('BASEPATH') OR exit('No direct script access allowed');
  4.  
  5. class Members extends Public_Controller {
  6.  
  7.     /**
  8.      * Constructor
  9.      */
  10.     public function __construct() {
  11.     parent::__construct();
  12.     $this->lang->load(array('global', 'members'));
  13.     $this->load->model(array('members_m', 'users/user_m', 'relations/relations_m'));
  14.     if (empty($this->current_user)) {
  15.         $this->session->set_flashdata('error', 'Debes iniciar sesión para acceder a esta página');
  16.         redirect('users/login');
  17.     }
  18.  
  19.     $friends = $this->relations_m->getFriends(array('user_id' => $this->current_user->id));
  20.  
  21.     $friend_id = array();
  22.     for ($i = 0; $i < count($friends); $i++) {
  23.         $friend_id[] = $friends[$i]->friend_id;
  24.     }
  25.  
  26.     $this->template
  27.         ->set('friends', $friends)
  28.         ->set('friend_id', $friend_id);
  29.     }
  30.  
  31.     /**
  32.      * Obtiene un listado de todos los miembros del sitio que sean empresas u organizaciones
  33.      * Aquellos que pertenecen al grupo Users no son mostrados
  34.      */
  35.     public function index() {
  36.     $pagination = create_pagination(
  37.         'members/page/' . $this->uri->segment(3), $this->members_m->count_companies(), $this->config->item('directory_paginate_limit'), 3
  38.     );
  39.  
  40.     $companies = $this->members_m->get_companies(array('limit' => $pagination['limit']));
  41.  
  42.     $this->template
  43.         ->title($this->module_details['name'])
  44.         ->set('pagination', $pagination)
  45.         ->set('companies', $companies)
  46.         ->build('directory');
  47.     }
  48.  
  49.     /**
  50.      * Realiza una búsqueda de empresas
  51.      * @param Se le anclan los group_id de empresas, camaras y fedecamaras regionales
  52.      * @todo Anclar los group_id de las Camaras y Fedecamaras Regionales
  53.      */
  54.     public function filter() {
  55.     $filter = $this->uri->segment(4);
  56.  
  57.     $pagination = create_pagination('members/filter/' . $this->uri->segment(3) . '/' . $this->uri->segment(4), $this->members_m->count_filter(array('query_string' => $filter)), $this->config->item('directory_paginate_limit'), 5);
  58.     $companies = $this->members_m->limit($pagination['limit'])->get_filter(array('query_string' => $filter, 'limit' => $pagination['limit']));
  59.  
  60.     $this->template
  61.         ->title($this->module_details['name'])
  62.         ->set('pagination', $pagination)
  63.         ->set('companies', $companies)
  64.         ->build('directory');
  65.     }
  66.  
  67.     /**
  68.      * Obtener todos los miembros del sitio
  69.      */
  70.     public function searchAll() {
  71.     $this->session->set_userdata('query_string', $this->input->post('qs', TRUE));
  72.     $query_string = $this->input->post('qs', TRUE) ? $this->input->post('qs', TRUE) : $this->session->userdata('query_string');
  73.     $pagination = create_pagination('members/searchAll/' . $this->uri->segment(3), $this->members_m->countAllMembers(array('query_string' => $query_string)), $this->config->item('directory_paginate_limit'));
  74.     $members = $this->members_m->limit($pagination['limit'])->getAllMembers(array('query_string' => $query_string, 'limit' => $pagination['limit']));
  75.  
  76.     $this->template
  77.         ->title($this->module_details['name'])
  78.         ->set('pagination', $pagination)
  79.         ->set('members', $members)
  80.         ->build('index');
  81.     }
  82.  
  83.     /**
  84.      * Obtener todas las emrpesas segun el criterio de busqueda
  85.      */
  86.     public function searchDirectory() {
  87.     if (!$this->session->userdata('query_string')) {
  88.         $this->session->set_userdata('query_string', $this->input->post('qs', TRUE));
  89.     }
  90.  
  91.     $query_string = $this->input->post('query_string', TRUE) ? $this->input->post('query_string', TRUE) : $this->session->userdata('query_string');
  92.  
  93.     $pagination = create_pagination('members/searchDirectory/' . $this->uri->segment(3), $this->members_m->count_companies(array('query_string' => $query_string)), $this->config->item('directory_paginate_limit'));
  94.     $members = $this->members_m->limit($pagination['limit'])->get_companies(array('query_string' => $query_string, 'limit' => $pagination['limit']));
  95.  
  96.     $this->template
  97.         ->title($this->module_details['name'])
  98.         ->set('pagination', $pagination)
  99.         ->set('members', $members)
  100.         ->build('index');
  101.     }
  102.  
  103.     public function user($id = null) {
  104.     $this->load->model(array('users/user_m', 'members/members_m'));
  105.     $this->load->helper(array('users/user', 'members'));
  106.     $this->lang->load('users/user');
  107.     $this->load->library('form_validation');
  108.     $this->load->language('relations/relations');
  109.  
  110.     $user = ($this->current_user && $id == $this->current_user->id) ? $this->current_user : $this->ion_auth->get_user($id);
  111.     $user or show_404();
  112.  
  113.     $this->template
  114.         ->build('profile/view', array('_user' => $user));
  115.     }
  116.  
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement