Comentarios
En esta página puede dejar sus dudas/comentarios sobre este script
<!--1-Incluimos la paginacion-->
<?php require_once 'PHPPaging.lib.php';?>
<?php
//Esta función lee todas las noticias disponibles///////////////////////////////////////////////////////////////////
function NuevoListado(){
$listaNOTICIAS = array();
//Abrimos la carpeta donde se encuentran los archivos de noticias
if ($Carpeta = opendir("noticias")) {
//Leemos todos los archivos que esten ahi
while ($ficheroTXT = readdir($Carpeta)) {
if (!is_dir($ficheroTXT)) {
$listaNOTICIAS[] = $ficheroTXT;
}
}
}
//Invertimos el orden de las noticias, la ultima que se publique aparece de primeras
rsort($listaNOTICIAS);
//Organizamos las noticias, de menor a mayor
//sort($listaNOTICIAS);
//Terminamos la funcion de NuevoListado
return $listaNOTICIAS;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Noticias</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="main">
<div id="caption">Noticias</div>
<div id="contenido">
<?php
//Mostramos los resultados en la pantalla///////////////////////////////////////////////////////////////////////////
//la variable "$listado" representa el array creado por la funcion "NuevoListado();"
$listado = NuevoListado();
//Llamamos uno a uno los archivos de la carpeta
foreach ($listado as $noticia) {
// 2-Instanciamos el objeto de la clase
$paging = new PHPPaging;
// 3-Usamos el método agregarArray()
$paging->agregarArray($listado);
// 4-Configurando el script
$paging->porPagina(2); // Noticias por página
// 5-Ejecutamos la paginación
$paging->ejecutar();
$Archivo = file("noticias/".$noticia);
//Abrimos uno a uno los archivos de noticias
$ContenidoNoticia = "";
foreach ($Archivo as $lectura) {
$ContenidoNoticia = $ContenidoNoticia.$lectura;
}
while($Archivo = $paging->fetchResultado()) {
echo "<div class='Titulo'>".$TituloNoticia."</div>\n";
echo "<div class='Noticia'>".$ContenidoNoticia."</div>\n<hr size='1'/>\n\n";
}
}
?>
</div>
<div id="paginacion">
<?php
// 7-Pongo los links de paginacion
$links = $paging->fetchNavegacion();
echo $links;
?>
</div>
</div>
</body>
<?php
/*
ESTO ES PARA EL CÁLCULO DE SPAM
NO TIENE NADA QUE VER CON LA PAGINACIÓN.
*/
// Calcular el spam recibido
$query = mysql_query("SELECT COUNT(*) FROM comentarios WHERE estado <> 1");
$spam = mysql_result($query, 0);
$time_gmt_5 = time() - 5*3600;
$hoy_time = gmmktime(0, 0, 0, gmdate('m', $time_gmt_5), gmdate('d', $time_gmt_5), gmdate('Y', $time_gmt_5)) + 5*3600;
// Calcular el spam recibido hoy
$query2 = mysql_query("SELECT COUNT(*) FROM comentarios WHERE estado <> 1 AND fecha > $hoy_time");
$spam_de_hoy = mysql_result($query2, 0);
// Otros cálculos de SPAM
$porcentaje_hoy = round($spam_de_hoy*100/$spam, 2);
$ultimo = mysql_query("SELECT fecha FROM comentarios WHERE estado <> 1 ORDER BY fecha DESC LIMIT 1");
$ultimo = mysql_result($ultimo, 0);
$ultimo = time() - $ultimo;
if($ultimo > 59) {
$ultimo = round($ultimo/60, 0);
if($ultimo > 59) {
$ultimo = round($ultimo/60, 0);
if($ultimo > 23) {
$ultimo = round($ultimo/24, 0);
$ultimo = "$ultimo día" . ($ultimo <> 1 ? 's' : '');
} else {
$ultimo = "$ultimo hora" . ($ultimo <> 1 ? 's' : '');
}
} else {
$ultimo = "$ultimo minuto" . ($ultimo <> 1 ? 's' : '');
}
} else {
$ultimo = "$ultimo segundo" . ($ultimo <> 1 ? 's' : '');
}
/*
FIN CÁLCULO DE SPAM
*/
/* La paginación empieza aquí */
// Instanciamos el objeto
$paging = new PHPPaging;
// Indicamos la consulta al objeto
$paging->agregarConsulta("SELECT * FROM comentarios WHERE estado = 1 ORDER BY fecha DESC");
#$paging->modo('desarrollo');
$paging->porPagina(15);
$paging->mostrarActual(' <b>{n}</b> ');
$paging->linkClase('navbar');
$paging->linkSeparador(false);
$paging->linkSeparadorEspecial("...");
$paging->paginasAntes(3, 3);
$paging->paginasDespues(3, 3);
$paging->mostrarPrimera(false);
$paging->mostrarUltima(false);
$paging->linkAgregar('#comentarios');
// URLs generadas usando mod_rewrite. Estableciendo estructura de links.
$paging->linkEstructura("comentarios/pagina{n}.html");
if($paging->ejecutar()) {
if($paging->numRegistrosMostrados() >= 1) {
// Imprimimos estadísticas
echo "<div class=\"cnavegacion\">Se han publicado <b>" . $paging->numTotalRegistros() . "</b> comentarios <b><u>útiles</u></b> organizados en " . $paging->numTotalPaginas() . " página(s).
<br />
Hoy recibimos <b>$spam_de_hoy</b> mensajes no deseados (<b>$porcentaje_hoy%</b> de un total de <b>$spam</b> mensajes de SPAM)
<br />
El último spammer que pasó por aquí lo hizo hace aproximadamente <b>$ultimo</b>.
<br />
Mostrando del ".$paging->numPrimerRegistro()." al ".$paging->numUltimoRegistro()." (Página ".$paging->numEstaPagina().")</div>";
// Imprimimos los resultados
while($datos = $paging->fetchResultado()) {
?>
<div class="<?php echo $datos['usuario'] == 1 ? 'comentario adminc' : 'comentario'; ?>">
<cite><?php echo gmdate('d/m/Y @ h:i a', $datos['fecha']-5*3600); //GMT-5 ?></cite>
<h5>Comentario de <b><?php
if(!empty($datos['url']))
echo '<a href="'.htmlentities($datos['url'], ENT_QUOTES).'" target="_blank" rel="nofollow">';
echo htmlentities($datos['nombre'], ENT_QUOTES);
if(!empty($datos['url']))
echo '</a>';
?></b></h5>
<div class="comentario_cuerpo">
<?php echo bbcode($datos['comentario']); ?>
</div>
</div>
<?php
}
// Imprimimos la barra de navegación
echo "<div class=\"cnavegacion\">".$paging->fetchNavegacion()."</div>";
} else {
echo "No se encontraron comentarios publicados";
}
} else {
echo "No se pudo extraer los datos de la base de datos";
}
?>