Script de news PHP qui présente un bug pour affichage date
Posté : 14 janv. 2012, 22:47
Bonjour,
J'ai installer un module de news sur mon site, mais voilà qu'une erreur affiche sur la page test dont je me sert pour le moment.
Voici le code qui apparaît en erreur
Voici le fichier référé à l'erreur
Quelqu'un à une idée de ce qui cloche? Car le créateur du module de news, ne semble plus faire de support, où il à changé d'adresse email sans modifier l'information dans son "ReadMe" de fichier
Note: (page où on peut voir cela: http://www.lnvhv.com/test)
J'ai installer un module de news sur mon site, mais voilà qu'une erreur affiche sur la page test dont je me sert pour le moment.
Voici le code qui apparaît en erreur
Code : Tout sélectionner
Warning: date() expects [/download/telecharger-34076286-parameter parameter] 2 to be long, string given in /[/download/telecharger-34085672-home home]/lnvhv/www/niouz/functions.php on line 84Code : Tout sélectionner
<?php
/*
© Rémi JEAN, 2009
[email protected]
http://niouzproject.free.fr/
Ce logiciel est un programme informatique servant à gérer des
news dynamiquement sans aucune base de données sql.
Ce logiciel est régi par la licence CeCILL-B soumise au droit français et
respectant les principes de diffusion des logiciels libres. Vous pouvez
utiliser, modifier et/ou redistribuer ce programme sous les conditions
de la licence CeCILL-B telle que diffusée par le CEA, le CNRS et l'INRIA
sur le site "http://www.cecill.info".
En contrepartie de l'accessibilité au code source et des droits de copie,
de modification et de redistribution accordés par cette licence, il n'est
offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
seule une responsabilité restreinte pèse sur l'auteur du programme, le
titulaire des droits patrimoniaux et les concédants successifs.
A cet égard l'attention de l'utilisateur est attirée sur les risques
associés au chargement, à l'utilisation, à la modification et/ou au
développement et à la reproduction du logiciel par l'utilisateur étant
donné sa spécificité de logiciel libre, qui peut le rendre complexe à
manipuler et qui le réserve donc à des développeurs et des professionnels
avertis possédant des connaissances informatiques approfondies. Les
utilisateurs sont donc invités à charger et tester l'adéquation du
logiciel à leurs besoins dans des conditions permettant d'assurer la
sécurité de leurs systèmes et ou de leurs données et, plus généralement,
à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
pris connaissance de la licence CeCILL-B, et que vous en avez accepté les
termes.
*/
//* CONFIGURATION - Vous pouvez modifier les données librement *//
$CONFIG=array(
'XXXXX', // Mot de passe (laissez vide pour désactiver la protection)
(int)3, // Nombre de niouz par page (laissez le (int) devant le nombre de niouz)
'\L\e d/m/Y \à H:i', // Format des dates (utiliser le format de la fonction PHP date();)
'niouz', // Répertoire contenant le script
'DESC' // Ordre d'affichage des niouz (ASC ou DESC)
);
//* SECURITE *//
session_start();
function security() {
global $CONFIG;
if(!empty($CONFIG[0])) {
if(isset($_POST['password'])&&$_POST['password']==$CONFIG[0]) {
$_SESSION['NIOUZ']=md5(sha1($_POST['password']));
$_SESSION['SID']=session_id();
} elseif(@$_SESSION['NIOUZ']!=md5(sha1($CONFIG[0]))||@$_SESSION['SID']!=session_id()) {
header('location:./connexion.php');
exit;
}
}
}
//* SYSTEME *//
if(is_file('./secure/database.dat')) $DATABASE=unserialize(file_get_contents('./secure/database.dat'));
elseif(is_file("./$CONFIG[3]/secure/database.dat")) $DATABASE=unserialize(file_get_contents("./$CONFIG[3]/secure/database.dat"));
else die('Erreur fatale, assurez vous que le répertoire contenant le script est correctement indiqué dans la configuration, ou alors vérifiez l\'existence du fichier database.dat.');
if(!empty($DATABASE)) {
foreach($DATABASE as $key=>$value) { $e[]=$key; $f[]=$value['date']; }
if($CONFIG[4]=='ASC') array_multisort($f,SORT_ASC,SORT_NUMERIC,$e);
else array_multisort($f,SORT_DESC,SORT_NUMERIC,$e);
}
$nbniouz=count($DATABASE);
$nbpages=ceil($nbniouz/$CONFIG[1]);
$niouz=isset($_GET['niouz'])&&is_numeric($_GET['niouz'])&&$_GET['niouz']>0&&$_GET['niouz']<=$nbpages?(int)$_GET['niouz']:1;
$lastniouz=$CONFIG[1]*$niouz;
$firstniouz=$lastniouz>0?$lastniouz-$CONFIG[1]:0;
$SYSTEM=array($nbniouz,$nbpages,$niouz,$lastniouz,$firstniouz);
function showNiouz($layout) {
global $DATABASE,$CONFIG,$SYSTEM,$i,$e;
if($SYSTEM[0]>=1) {
for($i=$SYSTEM[4];$i<$SYSTEM[3];$i++) {
if(array_key_exists($i,$e)&&array_key_exists($e[$i],$DATABASE)) {
$DATABASE[$e[$i]]['date']=date($CONFIG[2],$DATABASE[$e[$i]]['date']);
@$showniouz.=preg_replace_callback('#\{([a-z]+)\}#i',create_function('$arg','global $DATABASE,$i,$e; return array_key_exists($arg[1],$DATABASE[$e[$i]])?$DATABASE[$e[$i]][$arg[1]]:$e[$i];'),$layout);
}
}
return @$showniouz;
}
}
function showPages() {
global $SYSTEM;
$ib=$SYSTEM[2]-1; $ia=$SYSTEM[2]+1;
$before=($SYSTEM[2]>1)?" <a href='?niouz=$ib'><</a> ":" < "; $after=($SYSTEM[2]<$SYSTEM[1])?" <a href='?niouz=$ia'>></a> ":" > ";
$first=($SYSTEM[2]>1)?" <a href='?niouz=1'><<</a> ":" << "; $last=($SYSTEM[2]<$SYSTEM[1])?" <a href='?niouz=$SYSTEM[1]'>>></a> ":" >> ";;
for($i=1;$i<=$SYSTEM[1];$i++) @$showpage.=($SYSTEM[2]!=$i)?" <a href='?niouz=$i'>$i</a> ":" <strong>$i</strong> ";
if($SYSTEM[0]<1) $showpage=" <strong>$i</strong> ";
return $first.$before.$showpage.$after.$last;
}
//* MODULES *//
function ShowModule() {
if(isset($_GET['delet'])) return moduleDelet();
elseif(isset($_GET['edit'])) return moduleEdit();
elseif(isset($_GET['add'])) return moduleAdd();
}
function moduleDelet() {
global $DATABASE,$SYSTEM;
$get=isset($_GET['id'])?$_GET['id']:'none';
if(array_key_exists($get,$DATABASE)) {
$title=$DATABASE[$get]['title'];
if(isset($_POST['yes'])) {
unset($DATABASE[$get]);
save('./secure/database.dat','w+',$DATABASE);
} else return "<div class='wrapmax'><h1>Suppression de $title</h1><p>Confirmez vous l'ordre de suppression de la niouz <strong>$title</strong> ?</p><form name='form' method='post' action=''><input type='submit' name='yes' value='Oui' /> <input type='button' value='Non' onclick='javascript:window.location.href=\"?niouz=$SYSTEM[2]\";' /></form></div>";
}
}
function moduleEdit() {
global $DATABASE,$SYSTEM;
$get=isset($_GET['id'])?$_GET['id']:'none';
if(array_key_exists($get,$DATABASE)) {
if(isset($_POST['yes'])) {
$title=stripslashes($_POST['title']);
$content=stripslashes($_POST['content']); $content=nl2br($content);
$DATABASE[$get]=array('content'=>$content,'date'=>$DATABASE[$get]['date'],'title'=>$title);
save('./secure/database.dat','w+',$DATABASE);
}
$replace=str_replace('<br />','',$DATABASE[$get]['content']);
return "<div class='wrapmax'><h1>Modification de ".$DATABASE[$get]['title']." (Hauteur : <a href='javascript:textareaRows(+5,\"content\");'>+</a> <a href='javascript:textareaRows(-5,\"content\");'>-</a>)</h1><form name='form' method='post' action=''><table><tr><td><strong>Titre de la niouz</strong></td><td><input type='text' size='40' name='title' value='".$DATABASE[$get]['title']."' /></td></tr><tr><td colspan='2'><textarea cols='85' rows='10' id='content' name='content'>$replace</textarea><br /><small>Vous pouvez utiliser du HTML pour la mise en page de vos niouz.</small></td></tr></table><br /><input type='submit' name='yes' value='Valider' /> <input type='button' value='Fermer' onclick='javascript:window.location.href=\"?niouz=$SYSTEM[2]\";' /></form></div>";
}
}
function moduleAdd() {
global $DATABASE,$SYSTEM; $i=0;
while(array_key_exists($i,$DATABASE)) $i++;
if(isset($_POST['yes'])) {
if(!array_key_exists($_POST['i'],$DATABASE)) {
$title=stripslashes($_POST['title']);
$content=stripslashes($_POST['content']); $content=nl2br($content);
$DATABASE[$_POST['i']]=array('content'=>$content,'date'=>time(),'title'=>$title);
save('./secure/database.dat','w+',$DATABASE);
}
return "<div class='wrapmax'><h1>Ajout d'une niouz</h1><p>Votre nouvelle niouz vient d'être créée avec succès !<p><form name='form' action=''><input type='button' value='Continuer' onclick='javascript:window.location.href=\"?niouz=$SYSTEM[2]&id=$i&edit\";' /></form></div>";
} else return "<div class='wrapmax'><h1>Ajout d'une niouz (Hauteur : <a href='javascript:textareaRows(+5,\"content\");'>+</a> <a href='javascript:textareaRows(-5,\"content\");'>-</a>)</h1><form name='form' method='post' action=''><table><tr><td><strong>Titre de la niouz</strong></td><td><input type='text' size='40' name='title' value='' /></td></tr><td colspan='2'><textarea cols='85' rows='10' id='content' name='content'></textarea><br /><small>Vous pouvez utiliser du HTML pour la mise en page de vos niouz.</small></td></tr></table><br /><input type='submit' name='yes' value='Créer' /> <input type='button' value='Fermer' onclick='javascript:window.location.href=\"?niouz=$SYSTEM[2]\";' /><input type='hidden' name='i' value='$i'</form></div>";
}
//* FONCTIONS *//
function save($path,$method,$subject) {
$fp=fopen($path,$method);
fwrite($fp,serialize($subject));
return fclose($fp);
}
?>Note: (page où on peut voir cela: http://www.lnvhv.com/test)