Пример #1
0
 /**
  * Método de edición de Empresas
  * @param  integer $id ID de la empresa a editar
  */
 public function editar($id = 0)
 {
     // validamos y saneamos aqui porque vamos a utilizarlo en caso
     // de que no haya $_POST
     $id = (int) $id;
     $id = Validaciones::saneamiento($id);
     // Bloque try catch para preveer posibles excepciones
     try {
         if (!$_POST) {
             // comprobamos si la empresa que se intenta editar es del usuario
             // que realiza la petición
             if (!EmpresaModel::comprobarPropiedadEmpresa($id)) {
                 Session::add('feedback_negative', 'No puedes editar una empresa que no es tuya');
                 header('Location: /Empresa');
                 exit;
             }
             // mostrar el formulario para poder editar
             // para ello deberemos recuperar los BD
             $empresa = EmpresaModel::getId($id);
             $datos = ['titulo' => 'Edición de empresa', 'datos' => $empresa];
             echo $this->view->render("empresa/formularioEmpresa", $datos);
         } else {
             // tratamos los datos en el modelo
             if (EmpresaModel::editar($id, $_POST)) {
                 Session::add('feedback_positive', 'La empresa ha sido editada');
                 $last_id = $_POST["last_id"];
                 header('Location: /Empresa');
                 exit;
             } else {
                 // existen errores, llamamos a la vista para mostrar los errores
                 // Saneamos $_POST
                 Session::add('feedback_negative', 'La empresa no se ha podido modificar o no se ha modificado nada');
                 $array = Validaciones::sanearEntrada($_POST);
                 $datos = ['datos' => $array];
                 // mostramos la vista con los datos saneados,
                 // para evitar la inyeción de código
                 echo $this->view->render('empresa/formularioEmpresa', $datos);
             }
         }
     } catch (PDOException $e) {
         // llamamos a la vista de error 500
         $array = ['msg' => 'Error del servidor, disculpe las molestias.'];
         echo $this->view->render('error/error500', $array);
         // modo debbug ON
         /*echo '<pre>';
         		echo $e->getMessage();*/
     }
 }