PageRenderTime 49ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/application/controllers/Usuario.php

https://gitlab.com/pedroperafan18/ikel
PHP | 202 lines | 180 code | 15 blank | 7 comment | 42 complexity | 1ac429f78dbfba68f4916b6398a0b270 MD5 | raw file
  1. <?php
  2. if (!defined('BASEPATH')) exit('No direct script access allowed');
  3. class Usuario extends CI_Controller {
  4. public function __construct() {
  5. parent::__construct();
  6. $this->load->model('musuario');
  7. $this->load->library('session');
  8. $this->load->helper('url');
  9. }
  10. public function index() {
  11. if($this->session->userdata('identificador')){
  12. redirect('usuario/perfil','refresh');
  13. }
  14. else{
  15. // Redirigir cuando no hay sesion.
  16. redirect('inicio','refresh');
  17. }
  18. }
  19. public function perfil(){
  20. if($this->session->userdata('identificador')){
  21. $id = $this->session->userdata('identificador');
  22. // Manda el id del usuario que inicio sesion y el tipo para traer sus datos.
  23. $datos_usuario['usuario'] = $this->musuario->getUsuario($id,3);
  24. if($this->musuario->getInscripcion($id)!=FALSE){
  25. $inscripciones=$this->musuario->getInscripcion($id);
  26. $i=0;
  27. foreach ($inscripciones as $key => $value){
  28. if($this->musuario->getCurso($id)!=FALSE){
  29. $datos_usuario['cursos'][$i] = $this->musuario->getCurso($value['IDCurso']);
  30. $i++;
  31. }
  32. }
  33. }else{
  34. $datos_usuario['cursos']=NULL;
  35. }
  36. $datos_usuario['proyectos'] = ($this->musuario->getProyectos($id)!=FALSE)?$this->musuario->getProyectos($id):NULL;
  37. $data_head["titulo"]="IKEL";
  38. $data_head["descripcion"]="Todos tienen algo que aportar.";
  39. $data_head["keywords"]="";
  40. $data_head["ico"]=base_url("img/ico.png");
  41. $data_head["css"]=array("materialize.min","font-awesome.min","paladium.min");
  42. $data_javascript["script"]=array("jquery","materialize.min","inicio/inicio.min");
  43. $data["head"] = $this->load->view("head",$data_head,TRUE);
  44. $data["javascript"] = $this->load->view("javascript",$data_javascript,TRUE);
  45. $data["menu"] = $this->load->view("menu","",TRUE);
  46. $data["footer"] = $this->load->view("footer","",TRUE);
  47. $data["contenido"] = $this->load->view("usuario/perfil",$datos_usuario,TRUE);
  48. $this->load->view("html",$data);
  49. }else{
  50. redirect('inicio/inicio','refresh');
  51. }
  52. }
  53. public function comentario(){
  54. if($this->input->is_ajax_request()){
  55. if($this->session->userdata('identificador') && $this->session->userdata('perfil')){
  56. $data = ($this->input->post() == NULL) ? $this->input->get() : $this->input->post();
  57. if($this->session->post() != NULL){
  58. foreach ($data as $key => $value)
  59. $data["$key"] = $this->security->xss_clean($value);
  60. $this->form_validation->set_rules('Comentario', 'Comentario', 'trim|required|max_length[500]');
  61. if($this->form_validation->run() == FALSE){
  62. $errors = $this->form_validation->error_array();
  63. $array = array('result' => FALSE, "error" => $errors);
  64. }
  65. else{
  66. if($this->uri->segment(3)){
  67. $data['IDClase'] = $this->uri->segment(3);
  68. $data['IDUsuario'] = $this->session->userdata('identificador');
  69. if(is_numeric($data['IDClase']) && is_numeric($data['IDUsuario'])){
  70. // Se le pasa al modelo un data esperando recibir un true o false.
  71. $result = $this->musuario->setComentario($data);
  72. }
  73. if($result == TRUE){
  74. $array = array('result' => $result);
  75. }
  76. else{
  77. $array = array('result' => $result, 'error' => "Error al ingresar el Comentario.");
  78. }
  79. }
  80. else{
  81. $array = array('result' => $result, 'error' => "Error al encontrar video de la clase.");
  82. }
  83. }
  84. $this->output->set_content_type('application/json')->set_output(json_encode($array));
  85. }
  86. }
  87. else{
  88. // No hay sesion.
  89. redirect('inicio','refresh');
  90. }
  91. }
  92. }
  93. public function inscribir() {
  94. if($this->input->is_ajax_request()){
  95. if($this->session->userdata('identificador') && $this->session->userdata('perfil')){
  96. $data = $this->input->post();
  97. if($data != NULL){
  98. foreach ($data as $key => $value){
  99. $data["$key"] = $this->security->xss_clean($value);
  100. }
  101. if($this->uri->segment(3)){
  102. $data['IDUsuario'] = $this->session->userdata('identificador');
  103. $data['IDCurso'] = $this->uri->segment(3);
  104. if(is_numeric($data['IDUsuario']) && is_numeric($data['IDCurso'])){
  105. $result = $this->musuario->setInscribir($data);
  106. if($result == TRUE)
  107. {
  108. $array = array('result' => $result);
  109. }
  110. else
  111. {
  112. $array = array('result' => $result, 'error' => "Error al inscribirte.");
  113. }
  114. }
  115. }
  116. else{
  117. // Error al inscribirte.
  118. $array = array('result' => $result, 'error' => "Error al inscribirte.");
  119. }
  120. $this->output->set_content_type('application/json')->set_output(json_encode($array));
  121. }
  122. }
  123. }
  124. }
  125. public function calificarC() {
  126. if($this->input->is_ajax_request()){
  127. if($this->session->userdata('identificador') && $this->session->userdata('perfil')){
  128. $data = ($this->input->post() == NULL) ? $this->input->get() : $this->input->post();
  129. if($this->input->post() != NULL){
  130. foreach ($data as $key => $value)
  131. {
  132. $data["$key"] = $this->security->xss_clean($value);
  133. }
  134. $data['IDClase'] = $this->uri->segment(3);
  135. $data['IDUsuario'] = $this->session->userdata('identificador');
  136. $this->form_validation->set_rules('Calificacion', 'Calificacion', 'integer|numeric|is_natural_no_zero');
  137. if ($this->form_validation->run() == FALSE) {
  138. $errors = $this->form_validation->error_array();
  139. $array = array('result' => FALSE, "error" => $errors);
  140. } else {
  141. if(is_numeric($data['IDClase']) && is_numeric($data['IDUsuario'])){
  142. $result = $this->musuario->setCalificarC($data);
  143. if($result == TRUE){
  144. $array = array('result' => $result);
  145. }
  146. else{
  147. $array = array('result' => $result, 'error' => "Error al intentar calificar.");
  148. }
  149. }
  150. }
  151. $this->output->set_content_type('application/json')->set_output(json_encode($array));
  152. }
  153. }
  154. else{
  155. // No hay sesion.
  156. redirect('inicio/inicio','refresh');
  157. }
  158. }
  159. }
  160. public function calificarM() {
  161. # code... // Pendiente.
  162. }
  163. public function gustos(){
  164. if($this->session->userdata('identificador')){
  165. $id = $this->session->userdata('identificador');
  166. $data_contenido["categorias"] = $this->musuario->getCategorias();
  167. $data_contenido["gustos"] = $this->musuario->getGustos($id);
  168. $data_header["titulo"] = "gustos";
  169. $data_header["descripcion"] = "";
  170. $data_header["imagen"] = "";
  171. $data_header["cssExterno"] = array();
  172. $data_header["css"]=array("materialize.min","font-awesome.min","paladium.min");
  173. $data_javascript["script"]=array("jquery","materialize.min","general.min","inicio/acceso");
  174. $data_javascript["scriptExterno"] = array();
  175. $data_extras["contenido"] = ""; //Puede ser un array
  176. $data["contenido"] = $this->load->view("usuarios/gustos", $data_contenido , TRUE);
  177. $data["extras"] = $this->load->view("extras", $data_extras, TRUE);
  178. $data["head"] = $this->load->view("head", $data_header, TRUE);
  179. $data["menu"] = $this->load->view("menu", NULL , TRUE);
  180. $data["javascript"] = $this->load->view("javascript", $data_javascript , TRUE);
  181. $data["footer"] = $this->load->view("footer", NULL , TRUE);
  182. $this->load->view("html",$data);
  183. }else{
  184. redirect('acceso','refresh');
  185. }
  186. }
  187. }