Esempio n. 1
0
 public function __construct($url)
 {
     $tipo_controller = new Tipo_controller();
     $termino_controller = new Termino_controller();
     $path = parse_url($url, PHP_URL_PATH);
     $this->url = $path;
     $segments = explode('/', rtrim($path, '/'));
     if (!isset($segments[3])) {
         $segments[3] = 'index';
     }
     $this->segmento = array_splice($segments, 2);
     $this->palabras_reservadas['tipos'] = $tipo_controller->obtener_slugs();
     $this->palabras_reservadas['terminos'] = $termino_controller->obtener_slugs();
     $this->objeto = null;
 }
Esempio n. 2
0
 * 
 */
include_once '../config.php';
// Incluímos el archivo de control
require_once RUTA_ADMIN . '/control.php';
// Incluímos la librería de funciones de admin
require_once RUTA_ADMIN . '/funciones_admin.php';
require_once RUTA_ADMIN . '/funciones_input.php';
// Incluímos los controladores necesarios
require_once RUTA_CONTROLLERS . '/Tipo_controller.php';
require_once RUTA_CONTROLLERS . '/Contenido_controller.php';
include_once RUTA_CONTROLLERS . '/Termino_controller.php';
require_once RUTA_CONTROLLERS . '/Taxonomia_controller.php';
$contenido_controller = new ContenidoController();
$tipo_controller = new Tipo_controller();
$termino_controller = new Termino_controller();
$taxonomia_controller = new Taxonomia_controller();
if ($_GET['tipo'] == 'contenido' && isset($_GET['id']) && is_numeric($_GET['id'])) {
    $contenido = $contenido_controller->obtener_tipo_by_id($_GET['id']);
    $tipo = $tipo_controller->obtener_tipo_by_id($contenido->id_tipo);
    $titulo = $tipo->nombre_singular;
    $datos_extra = $contenido_controller->obtener_campos_extra_by_tipo($contenido->id_tipo);
    //    var_dump($contenido);
    $maxlength = '';
    if ($tipo->opciones != '') {
        $dato = json_decode($tipo->opciones);
        $maxlength = $dato->maxlength;
    }
    $inputs = array();
    $inputs[]['text'] = array('label' => 'Titulo', 'name' => 'titulo', 'id' => 'titulo', 'placeholder' => '', 'ayuda' => 'Edite si lo desea el titulo del contenido existente', 'value' => $contenido->titulo, 'maxlength' => $maxlength, 'obligatorio' => 'S', 'opciones' => NULL, 'validaciones' => 'required:true,');
    $inputs[]['ckeditor'] = array('label' => 'Contenido', 'name' => 'contenido', 'id' => 'contenido', 'placeholder' => '', 'ayuda' => 'Edite si lo desea la descripción acerca del contenido existente', 'value' => $contenido->contenido, 'obligatorio' => 'S', 'opciones' => NULL, 'validaciones' => 'required:true,', 'maxlength' => 100);
Esempio n. 3
0
 * 
 */
include_once '../config.php';
// Incluímos el archivo de control
require_once RUTA_ADMIN . '/control.php';
// Incluímos la librería de funciones de admin
require_once RUTA_ADMIN . '/funciones_admin.php';
require_once RUTA_ADMIN . '/funciones_input.php';
// Incluímos los controladores necesarios
require_once RUTA_CONTROLLERS . '/Tipo_controller.php';
require_once RUTA_CONTROLLERS . '/Taxonomia_controller.php';
if ($_GET['tipo'] != 9) {
    include_once RUTA_CONTROLLERS . '/Contenido_controller.php';
    include_once RUTA_CONTROLLERS . '/Termino_controller.php';
    $contenido_controller = new ContenidoController();
    $termino_controller = new Termino_controller();
    $tipo_controller = new Tipo_controller();
    $taxonomia_controller = new Taxonomia_controller();
    $datos_extra = $contenido_controller->obtener_campos_extra_by_tipo($_GET['tipo']);
    //    var_dump($datos_extra);
    $tipo = $tipo_controller->obtener_tipo_by_id($_GET['tipo']);
    $titulo = $tipo->nombre_singular;
    $maxlength = '';
    if ($tipo->opciones != '') {
        $dato = json_decode($tipo->opciones);
        $maxlength = $dato->maxlength;
    }
    $inputs = array();
    $inputs[]['text'] = array('label' => 'Titulo', 'name' => 'titulo', 'id' => 'titulo', 'placeholder' => '', 'ayuda' => 'Introduzca el titulo del nuevo contenido', 'value' => '', 'maxlength' => $maxlength, 'obligatorio' => 'S', 'opciones' => NULL, 'validaciones' => 'required:true,');
    $inputs[]['ckeditor'] = array('label' => 'Contenido', 'name' => 'contenido', 'id' => 'contenido', 'placeholder' => '', 'ayuda' => 'Introduzca una pequeña descripción acerca del nuevo contenido', 'value' => '', 'obligatorio' => 'S', 'opciones' => NULL, 'validaciones' => 'required:true,');
    foreach ($datos_extra as $datos) {
Esempio n. 4
0
 public function actualizar_contenido($contenido, $obj_campos_extra, $lista_terminos)
 {
     $bd = pdo_bd::get_instance();
     $res = $res2 = $res3 = $res_borrado = true;
     require_once RUTA_CONTROLLERS . '/Termino_controller.php';
     $termino_controller = new Termino_controller();
     $sql_contenido = 'UPDATE wg_contenidos SET id_usuario = :id_usuario , fecha_publicacion = :f_publicacion, 
                      fecha_modificacion = :f_modificacion, contenido = :contenido, titulo = :titulo, estado = :estado, 
                      slug = :slug, id_tipo = :id_tipo WHERE id = :id';
     $sql_contenido_extra = 'UPDATE wg_contenidos_extra SET id_contenido = :id_contenido, id_tipo = :id_tipo, 
             
             nombre = :nombre, valor = :valor, opciones = :opciones WHERE id_contenido = :id_content AND nombre = :nombre_actualizar';
     $sql_contenido_termino = 'INSERT INTO wg_contenidos_terminos( id_contenido, id_termino ) VALUES ( :id_contenido , :id_termino )';
     $sql_eliminar_terminos = 'DELETE FROM wg_contenidos_terminos WHERE id_contenido = :id_contenido';
     $pdo = $bd->prepare($sql_contenido);
     $pdo2 = $bd->prepare($sql_contenido_extra);
     $pdo3 = $bd->prepare($sql_contenido_termino);
     $pdo->execute(array('id_usuario' => $contenido->id_usuario, 'f_publicacion' => $contenido->fecha_publicacion, 'f_modificacion' => $contenido->fecha_modificacion, 'contenido' => $contenido->contenido, 'titulo' => $contenido->titulo, 'estado' => $contenido->estado, 'slug' => $contenido->slug, 'id_tipo' => $contenido->id_tipo, 'id' => $contenido->id));
     $res = $pdo->rowCount() > 0 ? true : false;
     if (count($obj_campos_extra) > 0) {
         // tiene campos extra
         foreach ($obj_campos_extra as $obj) {
             //                $dato = json_decode( $obj->opciones );
             var_dump($obj);
             $atributo = $obj->nombre;
             var_dump($contenido->{$atributo});
             $pdo2->execute(array('id_contenido' => $contenido->id, 'id_tipo' => $contenido->id_tipo, 'nombre' => $obj->nombre, 'valor' => $contenido->{$atributo}, 'opciones' => $obj->opciones, 'id_content' => $contenido->id, 'nombre_actualizar' => $obj->nombre));
             $res2 = $pdo2->rowCount() > 0 ? true : false;
             // si el numero de filas afectadas es 0 significa que cuando se creo el contenido no se introdujo un valor para
             // ese contenido extra y al editar puede ser que haya cubierto el campo por lo que hay que añadirlo al sistema
             if ($pdo2->rowCount() == 0) {
                 $pdo_aux = $bd->prepare('INSERT INTO wg_contenidos_extra(id_contenido, id_tipo, nombre, valor, opciones) 
                                VALUES (:id_contenido , :id_tipo , :nombre , :valor , :opciones )');
                 $pdo_aux->execute(array('id_contenido' => $contenido->id, 'id_tipo' => $contenido->id_tipo, 'nombre' => $obj->nombre, 'valor' => $contenido->{$atributo}, 'opciones' => $obj->opciones));
                 if ($pdo_aux->rowCount() == 0) {
                     echo 'fatal error';
                     exit;
                 } else {
                     $res2 = true;
                 }
             }
         }
     }
     if (!empty($lista_terminos) && count($termino_controller->obtener_terminos_checked_by_id_contenido($contenido->id)) > 0) {
         // si no es null el contenido tiene terminos
         $pdo_borrar = $bd->prepare($sql_eliminar_terminos);
         $pdo_borrar->execute(array('id_contenido' => $contenido->id));
         $res_borrado = $pdo_borrar->rowCount() > 0 ? true : false;
         foreach ($lista_terminos as $termino) {
             $pdo3->execute(array('id_contenido' => $contenido->id, 'id_termino' => $termino));
         }
         $res3 = $pdo3->rowCount() > 0 ? true : false;
     } else {
         if (empty($lista_terminos) && count($termino_controller->obtener_terminos_checked_by_id_contenido($contenido->id)) > 0) {
             $pdo_borrar = $bd->prepare($sql_eliminar_terminos);
             $pdo_borrar->execute(array('id_contenido' => $contenido->id));
             $res_borrado = $pdo_borrar->rowCount() > 0 ? true : false;
         } else {
             if (!empty($lista_terminos)) {
                 foreach ($lista_terminos as $termino) {
                     $pdo3->execute(array('id_contenido' => $contenido->id, 'id_termino' => $termino));
                 }
                 $res3 = $pdo3->rowCount() > 0 ? true : false;
             }
         }
     }
     //        var_dump($res);
     //        var_dump($res2);
     //        var_dump($res3);
     //        var_dump($res_borrado);
     //        exit();
     return $res && $res2 && $res3 && $res_borrado ? true : false;
 }