Système de pagination sous template
|
<?php
/**
* @author D34Th4Rt
* @copyright 2011
*/
?>
<?php
if (!isset($_SESSION['membre_pseudo_admin'])) {
?>
<div id="login-form">
<form method="post" action="?Page=Connexion&Etape=2">
<table>
<tr>
<td align="right"><label for="log">Identifiant :</label></td>
<td align="left"><input id="log" name="log" tabindex="1" type="text" /></td>
</tr>
<tr>
<td align="right"><label for="pwd">Mot de passe:</label></td>
<td align="left"><input id="pwd" name="pwd" tabindex="2" type="password" /></td>
</tr>
<tr>
<td></td>
<!--
<td align="left">
<label for="autologin"><input id="autologin" name="autologin" tabindex="4" type="checkbox" value="1" /> Rester connecté</label>
</td>
-->
</tr>
<tr>
<td align="left">
<a href="#">Mot de passe perdu</a>
</td>
<td align="right">
<input type="submit" name="login" value="Connexion »" tabindex="5"/>
</td>
</tr>
</table>
<script type="text/javascript">
//<![CDATA[
Form.Element.focus('username');
//]]>
</script>
</form>
</div>
<?php
}
else {
mysql_select_db($database['site']) or die('La DB '.$database['site'].' N\'existe pas');
$retour_total = mysql_query('SELECT COUNT(*) AS total FROM '.$table['news_admin'].'');
$messagesParPage = 5;
$donnees_total = mysql_fetch_assoc($retour_total);
$total = $donnees_total['total'];
$nombreDePages = ceil($total/$messagesParPage);
if(isset($_GET['News'])) {
$pageActuelle = intval($_GET['News']);
if($pageActuelle > $nombreDePages){
$pageActuelle = $nombreDePages;
}
}
else{
$pageActuelle = 1;
}
$premiereEntree = ($pageActuelle-1) * $messagesParPage;
$retour_messages = mysql_query('SELECT * FROM '.$table['news_admin'].' ORDER BY dates DESC LIMIT '.$premiereEntree.','.$messagesParPage.'');
while($rep_news = mysql_fetch_array($retour_messages)) {
echo ('<center><fieldset id="contentf"><legend><strong><b>'.nl2br(stripslashes(htmlspecialchars($rep_news['titre']))).'</b> - Par : <b>'.nl2br(stripslashes(htmlspecialchars($rep_news['auteur']))).'</b> - Le : <b>'.$rep_news['dates'].'</b>');
mysql_select_db($database['comptes']) or die('La DB '.$database['comptes'].' N\'existe pas');
$gmlevel_sql = mysql_query("SELECT * FROM ".$table['comptes']." WHERE `id` = '".$_SESSION["membre_id_admin"]."'") or exit(mysql_error());
$gmlevel_afficher = mysql_fetch_array($gmlevel_sql);
if($gmlevel_afficher['gmlevel'] >= '5') {
echo (' - Action: <b><a href="?Page=NewsAdmin&Action=Modifier&Etape=2&ID='.$rep_news['id'].'" title="Éditer la News"><img src=\'images/edit.png\' /></a></b> / <b><a href="?Page=NewsAdmin&Action=Supprimer&Etape=2&ID='.$rep_news['id'].'" title="Supprimer la News"><img src=\'images/delete.gif\' /></a></b></legend></strong>');
}
else {
echo (' - <img src=\'images/edit.png\' />/<img src=\'images/delete.gif\' /></legend></strong>');
}
$message = stripslashes($rep_news['message']); // On enl�ve les slash qui se seraient ajout�s automatiquement
$message = htmlspecialchars($message); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
$message = nl2br($message); // On cr�e des <br /> pour conserver les retours � la ligne
$message = preg_replace('#<gras>(.+)</gras>#isU', '<strong>$1</strong>', $message);
$message = preg_replace('#<italique>(.+)\</italique>#isU', '<em>$1</em>', $message);
$message = preg_replace('#<barre>(.+)\</barre>#isU', '<del>$1</del>', $message);
$message = preg_replace('#<lien url=(.+?)>(.+?)\</lien\>#isU', '<a href="$1" title="$2" target="_blank">$2</a>', $message);
$message = preg_replace('#<images>(.+)\</images\>#isU', '<img src="$1" alt="Image" />', $message);
$message = preg_replace('#<citation nom=(.+?)>(.+?)\</citation\>#isU', "<table border= \"1\" width=\"100%\"><tr><th align=\"left\">Citation de: $1</th></tr><tr><td align=\"left\">$2</td></tr></table>", $message);
$message = preg_replace('#<color=(.+?)>(.+?)\</color\>#isU', '<span style="color:$1;">$2</span>', $message);
$message = preg_replace('#<ttpetit>(.+)\</ttpetit\>#isU', '<span style="font-size: 7px">$1</span>', $message);
$message = preg_replace('#<tpetit>(.+)\</tpetit\>#isU', '<span style="font-size: 12px">$1</span>', $message);
$message = preg_replace('#<petit>(.+)\</petit\>#isU', '<span style="font-size: 15px">$1</span>', $message);
$message = preg_replace('#<gros>(.+)\</gros\>#isU', '<span style="font-size: 20px">$1</span>', $message);
$message = preg_replace('#<tgros>(.+)\</tgros\>#isU', '<span style="font-size: 30px">$1</span>', $message);
$message = preg_replace('#<ttgros>(.+)\</ttgros\>#isU', '<span style="font-size: 40px">$1</span>', $message);
$message = preg_replace('`\n`isU', '<br />', $message);
// parsage des smilies
$smiliesName = array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '>_<', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':\\-�');
$smiliesUrl = array('magicien.png', 'angry.gif', 'diable.png', 'ange.png', 'ninja.png', 'pinch.png', 'pirate.png', 'zorro.png', 'rouge.png', 'soleil.png', 'pleure.png', 'waw.png', 'smile.png', 'heureux.png', 'clin.png', 'langue.png', 'rire.gif', 'unsure.gif', 'triste.png', 'huh.png', 'mechant.png', 'blink.gif', 'hihi.png', 'siffle.png');
$smiliesPath = "http://www.siteduzero.com/Templates/images/smilies/";
for ($i = 0, $c = count($smiliesName); $i < $c; $i++) {
$message = preg_replace('`' . $smiliesName[$i] . '`isU', '<img src="' . $smiliesPath . $smiliesUrl[$i] . '" alt="smiley" />', $message);
}
echo $message;
echo ('<br /><br />');
$retour_membre_sign = mysql_query("SELECT id FROM ".$table['comptes']." WHERE `username` = '".$rep_news['auteur']."'");
$rep_membre_sign = mysql_fetch_array($retour_membre_sign);
$retour_messages_sign = mysql_query("SELECT membre_signature FROM ".$table['membres']." WHERE `id` = '".$rep_membre_sign['id']."'");
while($rep_news_sign = mysql_fetch_array($retour_messages_sign)) {
echo nl2br($rep_news_sign['membre_signature']);
}
?>
<div align="right">Modifié le <?php echo nl2br(stripslashes(htmlspecialchars($rep_news['dates_edite']))); ?> par <?php echo nl2br(stripslashes(htmlspecialchars($rep_news['auteur_edite']))); ?></div>
</fieldset></center>
<?php
}
for($i=1; $i<=$nombreDePages; $i++)
{
if($i==$pageActuelle)
{
echo ' [ '.$i.' ] ';
}
else
{
echo ' <a href="?Page=Accueil&News='.$i.'">'.$i.'</a> ';
}
}
echo '<br /><br />';
}
?>
public function News($Template){
$this->messagesParPage = "5";
$this->retour_total = mysql_query('SELECT COUNT(*) AS total FROM '.$this->NewsTables.'');
$this->donnees_total = mysql_fetch_assoc($this->retour_total);
$this->total = $this->donnees_total['total'];
$this->nombreDePages = ceil($this->total/$this->messagesParPage);
if(isset($_GET['Liste']) && is_numeric($_GET['Liste'])) {
$this->pageActuelle = (isset($_GET['Liste']) && is_numeric($_GET['Liste'])) ? $_GET['Liste'] : 1;
if($this->pageActuelle > $this->nombreDePages){
$this->pageActuelle = $this->nombreDePages;
}
}
else{
$this->pageActuelle = 1;
}
$this->premiereEntree = ($this->pageActuelle-1) * $this->messagesParPage;
$this->RequeteRecupTitreNews = mysql_query('SELECT * FROM '.$this->NewsTables.' ORDER BY dates DESC LIMIT '.$this->premiereEntree.','.$this->messagesParPage.'');
while ($this->ResultRecupTitreNews = mysql_fetch_assoc($this->RequeteRecupTitreNews)) {
$this->Message = stripslashes($this->ResultRecupTitreNews['Message']); // On enl?ve les slash qui se seraient ajout?s automatiquement
$this->Message = htmlspecialchars($this->Message); // On rend inoffensives les balises HTML que le visiteur a pu rentrer
$this->Message = nl2br($this->Message); // On cr?e des <br /> pour conserver les retours ? la ligne
$this->Message = preg_replace('#<gras>(.+)</gras>#isU', '<strong>$1</strong>', $this->Message);
$this->Message = preg_replace('#<italique>(.+)\</italique>#isU', '<em>$1</em>', $this->Message);
$this->Message = preg_replace('#<barre>(.+)\</barre>#isU', '<del>$1</del>', $this->Message);
$this->Message = preg_replace('#<clignote>(.+)\</clignote>#isU', '<blink>$1</blink>', $this->Message);
$this->Message = preg_replace('#<lien="(.+)">(.+)\</lien\>#isU', '<a href="$1" target="_blank">$2</a>', $this->Message);
$this->Message = preg_replace('#http://(.+)#isU', '<a href="$1" target="_blank">$2</a>', $this->Message);
$this->Message = preg_replace('#<images>(.+)\</images\>#isU', '<img src="$1" alt="$1" />', $this->Message);
$this->Message = preg_replace('#<citation nom=(.+)>(.+)\</citation\>#isU', "<table border= \"1\" width=\"100%\"><tr><th align=\"left\">Citation de: $1</th></tr><tr><td align=\"left\">$2</td></tr></table>", $this->Message);
$this->Message = preg_replace('#<ttpetit>(.+)\</ttpetit\>#isU', '<span style="font-size: 7px">$1</span>', $this->Message);
$this->Message = preg_replace('#<tpetit>(.+)\</tpetit\>#isU', '<span style="font-size: 12px">$1</span>', $this->Message);
$this->Message = preg_replace('#<petit>(.+)\</petit\>#isU', '<span style="font-size: 15px">$1</span>', $this->Message);
$this->Message = preg_replace('#<gros>(.+)\</gros\>#isU', '<span style="font-size: 20px">$1</span>', $this->Message);
$this->Message = preg_replace('#<tgros>(.+)\</tgros\>#isU', '<span style="font-size: 30px">$1</span>', $this->Message);
$this->Message = preg_replace('#<ttgros>(.+)\</ttgros\>#isU', '<span style="font-size: 40px">$1</span>', $this->Message);
$this->Message = preg_replace('#<ttgros>(.+)\</ttgros\>#isU', '<span style="font-size: 40px">$1</span>' , $this->Message);
$this->Message = preg_replace('#\<align=(left|center|right)\>(.+)\</align\>#isU', '<div style="float:$1">$2</span>', $this->Message);
$this->Message = preg_replace('#\<color=(red|green|blue|yellow|purple|olive)\>(.+)\</color\>#isU', '<span style="color:$1">$2</span>', $this->Message);
$this->SmiliesName = array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '>_<', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':sifflote:');
$this->SmiliesUrl = array('magicien.png', 'angry.gif', 'diable.png', 'ange.png', 'ninja.png', 'pinch.png', 'pirate.png', 'zorro.png', 'rouge.png', 'soleil.png', 'pleure.png', 'waw.png', 'smile.png', 'heureux.png', 'clin.png', 'langue.png', 'rire.gif', 'unsure.gif', 'triste.png', 'huh.png', 'mechant.png', 'blink.gif', 'hihi.png', 'siffle.png');
$this->SmiliesPath = "http://www.siteduzero.com/Templates/images/smilies/";
for ($this->i = 0, $this->c = count($this->SmiliesName); $this->i < $this->c; $this->i++) {
$this->Message = preg_replace('`' . $this->SmiliesName[$this->i] . '`isU', '<img src="' . $this->SmiliesPath . $this->SmiliesUrl[$this->i] . '" title="'. $this->SmiliesName[$this->i] .'" alt="smiley" />', $this->Message);
}
$this->Final['Titre'] = $this->ResultRecupTitreNews['Titre'];
$this->Final['Id'] = $this->ResultRecupTitreNews['Id'];
$this->Final['Auteur'] = $this->ResultRecupTitreNews['Auteur'];
$this->Final['Message'] = $this->Message;
$this->Final['Dates'] = $this->ResultRecupTitreNews['Dates'];
$Template->setVar('News', $this->Final);
$Template->render('News');
}
for($this->iPage = 1; $this->iPage <= $this->nombreDePages; $this->iPage ++) {
if($this->iPage == $this->pageActuelle) {
echo ' [ '.$Template->setVar("MessagePagination", $this->iPage).' ] ';
}
else {
echo ' <a href="?Page=Accueil&News='.$Template->setVar("MessagePagination", $this->iPage).'">'.$Template->setVar("MessagePagination", $this->iPage).'</a> ';
}
}
}
Citation :[ ]
Citation :Page : 2Hors je suis à le page 1