<?php
class Categorias
{
var $num_registros;
function setCategoria($categoria, $id = 0)
{
global $MOD;
$consulta = $MOD['mysql']->consulta('INSERT INTO categorias (categoria) VALUES (\''.$categoria.'\')');
} else {
$consulta = $MOD['mysql']->consulta('UPDATE categorias SET categoria=\''.$categoria.'\' WHERE id='.$id);
}
return $consulta;
}
function getCategoria($id) {
global $MOD;
$consulta = $MOD['mysql']->consulta('SELECT * FROM categorias WHERE id='.$id);
return $consulta;
}
function getCategorias() {
global $MOD;
$consulta = $MOD['mysql']->consulta('SELECT * FROM categorias');
return $consulta;
}
function delCategoria($id)
{
global $MOD;
if($MOD['mysql']->consulta('SELECT * FROM categorias WHERE id='.$id)) {
$consulta = $MOD['mysql']->consulta('DELETE FROM categorias WHERE id='.$id);
return true;
} else {
return false;
}
}
function isCategoria($id) {
global $MOD;
if ($consulta = $MOD['mysql']->consulta('SELECT * FROM categorias WHERE id='.$id)) {
return true;
} else {
return false;
}
}
}
/* Clase Noticias.*/
class Noticias
{
var $num_registros;
function setNoticia($titulo, $texto_corto, $texto_completo, $estado, $id_administrador,$categoria, $id = 0)
{
global $MOD;
$consulta = $MOD['mysql']->consulta('INSERT INTO noticia (titulo, texto_corto, texto_completo, fecha_publicacion, estado, id_administrador,categoria) VALUES (\''.$titulo.'\', \''.$texto_corto.'\', \''.$texto_completo.'\', \''.date('Y-m-d h:i:s').'\', '.$estado.', '.$id_administrador.',\''.$categoria.'\')'); } else {
$consulta = $MOD['mysql']->consulta('UPDATE noticia SET titulo=\''.$titulo.'\', texto_corto=\''.$texto_corto.'\', texto_completo=\''.$texto_completo.'\', fecha_publicacion=\''.date('Y-m-d h:i:s').'\', estado='.$estado.', id_administrador='.$id_administrador.',categoria=\''.$categoria.'\' WHERE id='.$id); }
return $consulta;
}
function getNoticia($id) {
global $MOD;
$consulta = $MOD['mysql']->consulta('SELECT N.*, C.categoria FROM noticia N INNER JOIN categorias C ON(N.categoria=C.id) WHERE N.id='.$id);
return $consulta;
}
function getNoticias($id) {
global $MOD;
$consulta = $MOD['mysql']->consulta('SELECT * FROM noticia');
return $consulta;
}
function delNoticia($id)
{
global $MOD;
if($MOD['mysql']->consulta('SELECT * FROM noticia WHERE id='.$id)) {
$consulta = $MOD['mysql']->consulta('DELETE FROM noticia WHERE id='.$id);
return true;
} else {
return false;
}
}
}
?>
// Mi controlador
<?php
$pagina = $_GET['pag'];
include('modulos/noticias/noticias.mod.php');
$MOD['categorias'] = new Categorias();
$MOD['noticias'] = new Noticias();
switch($pagina) {
case 'insertar_categoria':
include('modulos/noticias/vistas/insertar_categoria.html.php');
break;
case 'editar_categoria':
//if(!empty($_SESSION['usuario_id'])){
$items_categoria = $MOD['categorias']->getCategoria($id);
if ($items_categoria){
$item_categoria = $items_categoria[0];
include('modulos/noticias/vistas/editar_categoria.html.php');
} else {
echo "No existe la categoria con el ID indicado";
}
//} else {
//echo "Usted no tiene permisos";
//}
break;
case 'guardar_categorias':
$id = intval($_POST['hdn_id']); $categoria = trim($_POST['categoria']);
if ($MOD['categorias']->setCategoria($categoria)){
echo "<center>Registro exitoso!. Espere unos instantes</center>";
echo "<meta http-equiv=\"refresh\" content=\"3;URL=index.php?mod=noticias&pag=listado_categorias\">\n";
} else {
echo "El registro no fue exitoso";
}
} else {
if ($MOD['categorias']->setCategoria($categoria, $id)){
echo "<center>Actualización exitosa!. Espere unos instantes</center>";
echo "<meta http-equiv=\"refresh\" content=\"3;URL=index.php?mod=noticias&pag=listado_categorias\">\n";
} else {
echo "La actualización no fue exitosa";
}
}
break;
case 'eliminar_categoria':
$id = $_GET['id'];
if ($MOD['categorias']->delCategoria($id)){
echo "El registro se elimino!. Espere unos instantes";
echo "<meta http-equiv=\"refresh\" content=\"2;URL=index.php?mod=noticias&pag=listado_categorias\">\n";
} else {
echo "El registro no pudo ser eliminado. Puede que este ya no exista";
}
} else {
echo "Error 403: Acceso incorrecto";
}
break;
case 'listado_categorias':
//default:
$items_categoria = $MOD['categorias']->getCategorias();
//if(!empty($_SESSION['usuario_id'])){
include('modulos/noticias/vistas/listar_categoria.html.php');
//} else {
//include('modulos/cursos/vistas/listado_visitante.html.php');
//}
break;
/* Control Noticias*/
case 'insertar_noticia':
//if(!empty($_SESSION['usuario_id'])&&($_SESSION['usuario_nivel']==3)){
if ($MOD['categorias']->isCategoria($id)) {
$items_categoria = $MOD['categorias']->getCategorias();
include('modulos/noticias/vistas/insertar_noticia.html.php');
} else {
echo "No existe la categoria seleccionada" ;
}
//} else {
//echo "Usted no tiene permisos";
//}
break;
case 'editar_noticia':
//if(!empty($_SESSION['usuario_id'])&&($_SESSION['usuario_nivel']==3)){
//if ($MOD['categorias']->isCategoria($id)) {
$items_categoria = $MOD['categorias']->getCategorias();
$items_noticia = $MOD['noticias']->getNoticia($id);
if ($items_noticia) {
$item_noticia = $items_noticia[0];
include('modulos/noticias/vistas/editar_noticia.html.php');
} else {
echo "No existe la noticia con el ID indicado";
}
//} else {
//echo "No existe la categoria seleccionada" ;
//}
//} else {
//echo "Usted no tiene permisos";
//}
break;
case 'guardar_noticia':
//if(!empty($_SESSION['usuario_id'])&&($_SESSION['usuario_nivel']==3)){
$id = intval($_POST['hdn_id']); $titulo = trim($_POST['edt_titulo']); $texto_corto = trim($_POST['txt_textocorto']); $texto_completo = trim($_POST['txt_textocompleto']); $estado = intval($_POST['chbx_estado']); $categoria = var_dump($_POST['categoria']);
if ($MOD['noticias']->setNoticia($titulo, $texto_corto, $texto_completo, $estado, $_SESSION['usuario_id'],$categoria)){
echo "Registro exitoso!. Espere unos instantes";
echo "<meta http-equiv=\"refresh\" content=\"2;URL=index.php?mod=noticias&pag=listado_noticia&id=$_GET[id]\">\n";
} else {
echo "El registro no fue exitoso";
}
} else {
if ($MOD['noticias']->setNoticia($titulo, $texto_corto, $texto_completo, $estado, $_SESSION['usuario_id'],$categoria, $id)){
echo "Actualización exitosa!. Espere unos instantes";
echo "<meta http-equiv=\"refresh\" content=\"2;URL=index.php?mod=noticias&pag=listado_noticia&id=$_GET[id]\">\n";
} else {
echo "La actualización no fue exitosa";
}
}
//} else {
//echo "Usted no tiene permisos";
//}
break;
case 'leer_noticia':
$items_noticias = $MOD['noticias']->getNoticia($id);
if ($items_noticias) {
$item_noticias = $items_noticias[0];
include('modulos/noticias/vistas/leer_noticia.html.php');
} else {
echo "No existe la noticia seleccionada" ;
}
break;
case 'eliminar_noticia':
$id = $_GET['id'];
if ($MOD['noticias']->delNoticia($id)){
echo "El registro se elimino!. Espere unos instantes";
echo "<meta http-equiv=\"refresh\" content=\"2;URL=index.php?mod=noticias&pag=listado_noticia&id=$_GET[id]\">\n";
} else {
echo "El registro no pudo ser eliminado. Puede que este ya no exista";
}
} else {
echo "Error 403: Acceso incorrecto";
}
break;
case 'listado_noticia':
default:
//if(!empty($_SESSION['usuario_id'])&&($_SESSION['usuario_nivel']==3)){
//if ($MOD['categorias']->isCategoria($id)) {
$items_noticia = $MOD['noticias']->getNoticias($id);
if ($items_noticia) {
include('modulos/noticias/vistas/listar_noticia.html.php');
} else {
echo 'No existen noticias publicadas';
}
//} else {
//echo "No existe la categoria seleccionada" ;
//}
//} else {
//$items_noticia = $MOD['noticias']->getNoticias();
//if ($items_noticia) {
//include('modulos/noticias/vistas/listado_visitante.html.php');
//} else {
// echo 'No existen noticias publicadas';
//}
//}
}
?>