PageRenderTime 58ms CodeModel.GetById 30ms RepoModel.GetById 0ms app.codeStats 0ms

/application/controllers/Proyectos.php

https://gitlab.com/pedroperafan18/ikel
PHP | 187 lines | 172 code | 10 blank | 5 comment | 26 complexity | 434d39236d8d32ad82a8dcd366f44e08 MD5 | raw file
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2. class Proyectos extends CI_Controller {
  3. public function __construct()
  4. {
  5. parent::__construct();
  6. $this->load->library(array('session','form_validation','user_agent','upload'));
  7. $this->load->helper('url', 'security');
  8. $this->load->model('mproyectos');
  9. }
  10. public function index()
  11. {
  12. if($this->session->userdata('identificador') && $this->session->userdata('perfil')){
  13. $proyectos = $this->mproyectos->proyectos();
  14. $data_contenido["uno"] = 1;
  15. if(is_array($proyectos)){
  16. foreach ($proyectos as $key => $value) {
  17. $cproyectos[$key] = $this->mproyectos->contenidoproyectos($value["ID"]);
  18. }
  19. $data_contenido["proyectos"] = $proyectos;
  20. $data_contenido["cproyectos"] = $cproyectos;
  21. unset($data_contenido["uno"]);
  22. }
  23. $data_header["titulo"] = "Proyectos";
  24. $data_header["descripcion"] = "Proyectos";
  25. $data_header["imagen"] = "assets/js/img/ico.png";
  26. $data_header["css"] = array('font-awesome.min','materialize.min','paladium.min');
  27. $data_javascript["script"] = array('jquery','materialize.min','proyectos/proyectos','general');
  28. $data["contenido"] = $this->load->view("proyectos/proyectos", $data_contenido, TRUE);
  29. $data["head"] = $this->load->view("head", $data_header, TRUE);
  30. $data["menu"] = $this->load->view("menu", NULL , TRUE);
  31. $data["javascript"] = $this->load->view("javascript", $data_javascript , TRUE);
  32. $data["footer"] = $this->load->view("footer", NULL , TRUE);
  33. $this->load->view("html",$data);
  34. }else{
  35. redirect("inicio","refresh");
  36. }
  37. }
  38. public function proyecto(){
  39. //if($this->session->userdata('identificador') && $this->session->userdata('perfil')){
  40. $id=$this->uri->segment(3);
  41. if($this->mproyectos->proyecto($id)!=FALSE){
  42. $data_contenido["proyecto"] = $this->mproyectos->proyecto($id);
  43. $data_contenido["proyectoimg"] = $this->mproyectos->contenidoProyecto($id);
  44. $comentarios = $this->mproyectos->comentarios($id);
  45. $data_contenido["comentarios"] = $this->mproyectos->comentarios($id);
  46. if(is_array($comentarios)){
  47. foreach ($comentarios as $key => $value) {
  48. $data_contenido["usuarios"] = $this->mproyectos->uComentarios($value["IDUsuario"]);
  49. }
  50. }
  51. }else{
  52. $data_contenido["proyecto"] = "";
  53. $data_contenido["proyectoimg"] ="";
  54. $data_contenido["comentarios"] = "";
  55. $data_contenido["usuarios"] = "";
  56. }
  57. $data_header["titulo"] = "Proyectos";
  58. $data_header["descripcion"] = "Proyectos";
  59. $data_header["imagen"] = "assets/js/img/ico.png";
  60. $data_header["css"] = array('font-awesome.min','materialize.min','paladium.min');
  61. $data_javascript["script"] = array('jquery','materialize.min',"usuario/proyectos",'general');
  62. $data["contenido"] = $this->load->view("proyectos/proyecto", $data_contenido, TRUE);
  63. $data["head"] = $this->load->view("head", $data_header, TRUE);
  64. $data["menu"] = $this->load->view("menu", NULL , TRUE);
  65. $data["javascript"] = $this->load->view("javascript", $data_javascript , TRUE);
  66. $data["footer"] = $this->load->view("footer", NULL , TRUE);
  67. $this->load->view("html",$data);
  68. /*}else{
  69. redirect("inicio","refresh");
  70. }*/
  71. }
  72. public function crearProyecto(){
  73. if($this->session->userdata('identificador') && $this->session->userdata('perfil')){
  74. if($this->input->is_ajax_request()){
  75. $data = ($this->input->post()==NULL)? $this->input->get() : $this->input->post();
  76. if($this->input->post()!=NULL){
  77. //Inicio AJAX/POST
  78. foreach ($data as $key => $value) {
  79. $data["$key"] = $this->security->xss_clean($value);
  80. }
  81. $this->form_validation->set_rules('Nombre','Nombre', 'trim|required|max_length[150]');
  82. $this->form_validation->set_rules('Descripcion','Descripcion', 'trim|required|max_length[500]');
  83. if($this->form_validation->run() == FALSE){
  84. $errors = $this->form_validation->error_array();
  85. $array = array('result' => FALSE, "error" => $errors);
  86. } else{
  87. $data["ID"] = 1;
  88. if($this->uri->segment(3)!=NULL){
  89. $idp = $this->uri->segment(3);
  90. $this->mproyectos->actualizarProyecto($data,$idp);
  91. $data = array("IDProyecto" => $idp,
  92. "Contenido" => $data["Contenido"],
  93. "tipo"=> 2,
  94. "Habilitado" => 1);
  95. if($this->mproyectos->aContenidoProyecto($data,$idp)==TRUE){
  96. $array = array('result' => TRUE);
  97. }else{
  98. $array = array('result' => FALSE);
  99. }
  100. }else{
  101. $idp=$this->mproyectos->crearProyecto($data);
  102. $datos = array("IDProyecto" => $idp,
  103. "Contenido" => $data["Contenido"],
  104. "Tipo"=> 2,
  105. "Habilitado" => 1);
  106. $array = array('result' => $this->mproyectos->nContenidoProyecto($datos));
  107. $this->output->set_content_type("application/json")->set_output(json_encode($array));
  108. }
  109. }
  110. }
  111. }else{
  112. $data_header["titulo"] = "Proyectos";
  113. $data_header["descripcion"] = "Proyectos";
  114. $data_header["imagen"] = "assets/js/img/ico.png";
  115. $data_header["css"] = array('font-awesome.min','materialize.min','paladium.min');
  116. $data_javascript["script"] = array('jquery','materialize.min',"usuario/proyectos",'general');
  117. $data["contenido"] = $this->load->view("proyectos/crearproyecto", NULL, TRUE);
  118. $data["head"] = $this->load->view("head", $data_header, TRUE);
  119. $data["menu"] = $this->load->view("menu", NULL , TRUE);
  120. $data["javascript"] = $this->load->view("javascript", $data_javascript , TRUE);
  121. $data["footer"] = $this->load->view("footer", NULL , TRUE);
  122. $this->load->view("html",$data);
  123. }
  124. }else{
  125. redirect("inicio","refresh");
  126. }
  127. }
  128. public function eliminarProyecto(){
  129. if($this->session->userdata('identificador') && $this->session->userdata('perfil')){
  130. if($this->input->is_ajax_request()){
  131. $data = ($this->input->post()==NULL)? $this->input->get() : $this->input->post();
  132. if($this->input->post()!=NULL){
  133. $id = $this->uri->segment(3);
  134. if($this->mproyectos->eliminarProyecto($id)==TRUE){
  135. $array = array('result' => TRUE);
  136. $this->output->set_content_type("application/json")->set_output(json_encode($array));
  137. }else{
  138. $array = array('result' => FALSE);
  139. $this->output->set_content_type("application/json")->set_output(json_encode($array));
  140. }
  141. }
  142. }else{
  143. redirect("inicio","refresh");
  144. }
  145. }
  146. }
  147. public function comentar(){
  148. if($this->session->userdata('identificador') && $this->session->userdata('perfil')){
  149. if($this->input->is_ajax_request()){
  150. $data = ($this->input->post()==NULL)? $this->input->get() : $this->input->post();
  151. if($this->input->post()!=NULL){
  152. $id = $this->session->userdata('identificador');
  153. $idp = $this->uri->segment(3);
  154. foreach ($data as $key => $value)
  155. {
  156. $data["$key"] = $this->security->xss_clean($value);
  157. }
  158. $this->form_validation->set_rules('Comentario', 'Comentario', 'trim|required|max_length[500]');
  159. if($this->form_validation->run() == FALSE){
  160. $errors = $this->form_validation->error_array();
  161. $array = array('result' => FALSE, "error" => $errors);
  162. } else{
  163. if($this->mproyectos->comentarProyecto($idp,$id,$data)){
  164. $array = array('result' => TRUE);
  165. $this->output->set_content_type("application/json")->set_output(json_encode($array));
  166. }else{
  167. $array = array('result' => FALSE);
  168. $this->output->set_content_type("application/json")->set_output(json_encode($array));
  169. }
  170. }
  171. }
  172. }
  173. }else{
  174. redirect("inicio","refresh");
  175. }
  176. }
  177. }