public function index()
 {
     $auth_token = \Request::header('authorization');
     $user = \User::where('auth_token', '=', $auth_token)->first();
     // obtener los permisos del usuario
     $idpermisos = \User::getPermisosPorUsuarioId($user->id)->get()->lists('idpermisos');
     // obtener los eventos de acuerdo a los permisos del usuario
     $eventos = [];
     if (in_array(12, $idpermisos)) {
         // tiene el permiso "listar (todos los) eventos"
         $eventos = \Evento::all();
     } elseif (in_array(15, $idpermisos)) {
         // tiene el permiso "mis eventos"
         $eventos = \Asistencia::getEventosPorUser($user->id)->get();
     }
     $response = [];
     foreach ($eventos as $e) {
         // obtener los documentos del evento
         $docs = \DocumentosEvento::getDocumentosPorEvento($e->ideventos)->get();
         foreach ($docs as $d) {
             // obtener hace cuantos dias se subio el documento
             $from = new \DateTime();
             $from->setTimestamp(strtotime($d->created_at));
             $to = new \DateTime('today');
             $dias = $from->diff($to)->d;
             // obtener los usuarios asignados al documento (al evento)
             $users = [];
             $usuarios = \Asistencia::getUsersPorEvento($e->ideventos)->get();
             foreach ($usuarios as $u) {
                 $perfiles = \User::getPerfilesPorUsuario2($u->id)->get();
                 $perfiles_array = [];
                 foreach ($perfiles as $perfil) {
                     $perfiles_array[] = ['id' => $perfil->idperfiles, 'name' => $perfil->nombre];
                 }
                 // verificar si el usuario ha visto el documento
                 $visto = \Visualizacion::getVisualizacionesPorUserPorEventoPorDocumento($u->id, $e->ideventos, $d->iddocumentos)->first();
                 $users[] = ['id' => $u->id, 'names' => $u->nombres, 'last_name' => $u->apellido_pat, 'username' => $u->num_documento, 'profiles' => $perfiles_array, 'seen' => $visto ? 1 : 0];
             }
             $response[] = ['id' => $d->iddocumentos, 'name' => $d->titulo, 'url' => $d->ruta . $d->nombre_archivo, 'upload_date' => 'Hace ' . $dias . ' día' . ($dias != 1 ? 's' : '') . ', ' . date('h:i A', $from->getTimestamp()), 'size' => $d->peso . ' KB', 'users' => $users];
         }
     }
     return \Response::json($response, 200);
 }
 public function render_ver_evento($id = null)
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         $data["permisos"] = Session::get('permisos');
         if (in_array('side_mis_eventos', $data["permisos"]) && $id) {
             $asistencia = Asistencia::validarAsistencia($data["user"]->id, $id)->get();
             if ($asistencia->isEmpty()) {
                 Session::flash('error', 'Lo sentimos, no tiene acceso a ver el evento solicitado.');
                 return Redirect::to('eventos/mis_eventos');
             }
             $data["evento_info"] = Evento::searchEventosById($id)->get();
             if ($data["evento_info"]->isEmpty()) {
                 Session::flash('error', 'No se encontró el evento.');
                 return Redirect::to('eventos/mis_eventos');
             }
             $data["evento_info"] = $data["evento_info"][0];
             $data["documentos"] = DocumentosEvento::getDocumentosPorEvento($data["evento_info"]->ideventos)->get();
             $data["voluntarios"] = Asistencia::getUsersPorEvento($data["evento_info"]->ideventos)->get();
             $data["puntos_reunion"] = PuntoReunion::all();
             $puntos_reunion_seleccionados = PuntoEvento::getPuntosPorEvento($data["evento_info"]->ideventos)->get()->toArray();
             foreach ($puntos_reunion_seleccionados as $punto_reunion_seleccionado) {
                 $data["puntos_reunion_seleccionados"][] = $punto_reunion_seleccionado['idpuntos_reunion'];
             }
             return View::make('eventos/verEvento', $data);
         } else {
             // Llamo a la función para registrar el log de auditoria
             $descripcion_log = "Se intentó acceder a la ruta '" . Request::path() . "' por el método '" . Request::method() . "'";
             Helpers::registrarLog(10, $descripcion_log);
             Session::flash('error', 'Usted no tiene permisos para realizar dicha acción.');
             return Redirect::to('/dashboard');
         }
     } else {
         return View::make('error/error');
     }
 }