quand même bien étrange ça.....
Voici le fichier intégral au cas où...
(au fait, y a pas une option pour faire ressortir le code php dans le forum?)
<?php
$id = intval($_GET['id']);
// Ajout de la requete options pour la gestion du grade administrateur
$req_options = reqmysql('SELECT grade_admin as grade_admin FROM articles_2_options');
$option = mysql_fetch_object($req_options);
if ($grade >= $option->grade_admin)
{
# FIN DES MODIFICATIONS
bloc_head('Gestion des articles (module + administrable)');
// Gestion des articles_2
if (isset($faire) == 0)
{
// SOMMAIRE
echo '
<p style="text-align:center"><a href="index.php?mod=articles_2&ac=poster"><img src="./modules/articles_2/images/poster.png" alt="poster" style="border:none; max-width:64px;" /></a>
<a href="index.php?mod=articles_2&ac=options"><img src="./modules/articles_2/images/options.png" alt="Options" style="border:none; max-width:64px;" /></a>
<a href="index.php?mod=articles_2&ac=gestioncat"><img src="./modules/articles_2/images/articles_cat2.png" alt="Rubriques_articles_2" style="border:none; max-width:64px;" /></a>
<a href="index.php?mod=articles_2&ac=aide"><img src="./modules/articles_2/images/aide.png" alt="Aide" style="border:none; max-width:64px;" /></a>
</p>
<hr />';
// articles_2 EN ATTENTE DE VALIDATION
$req_art = reqmysql('
SELECT
articles_2.id as id,
articles_2.ref as ref,
articles_2.titre as titre,
articles_2.auteur as auteur,
articles_2.texte as texte,
articles_2.date as date,
articles_2_cat.titre as cat_titre,
articles_2_cat.id as cat_id
FROM articles_2
LEFT JOIN articles_2_cat
ON articles_2.ref=articles_2_cat.id
WHERE articles_2.validation="1"
ORDER BY articles_2.ref ASC, articles_2.date DESC
');
$nb_attente = mysql_num_rows($req_art);
echo'<h3>articles_2 en attente de validation :</h3>';
// S'il n'y a aucun articles_2 disponible on informe l'admin
if ($nb_attente == 0)
{
echo '<div style="font-style:italic;">Vous n’avez aucun articles_2 en attente de validation.</div>';
}
else
{
// Autrement on affiche tous les articles_2 en attente de validation
echo'<ul style="list-style-type:none; text-indent:0px ! important;">';
while ($art_attente = mysql_fetch_object($req_art))
{
$art_titre = htmlentities(stripslashes($art_attente->titre));
$cat_titre = htmlentities(stripslashes($art_attente->cat_titre));
echo '
<li onmouseover="this.style.backgroundColor=\'#E2EFFC\';" onmouseout="this.style.backgroundColor=\'#FFFFFF\';">
<label style="width:40%; float:left;">- '.$art_titre.'</label>
<label style="width:20%; float:left;">'.$cat_titre.'</label>
<a href="index.php?mod=articles_2&ac=gestion&faire=edit&id='.$art_attente->id.'"><img src="./modules/articles_2/images/edit.png" alt="Editer" style="border:none;" /></a>
<a href="index.php?mod=articles_2&ac=gestion&faire=del&id='.$art_attente->id.'"><img src="./modules/articles_2/images/del.png" alt="Supprimer" style="border:none;" /></a>
<a href="index.php?mod=articles_2&ac=gestion&faire=valid&id='.$art_attente->id.'&date='.$art_attente->date.'"><img src="./modules/articles_2/images/valider.png" alt="Valider" style="border:none;" /></a>
</li>';
}
echo'</ul>';
}
echo'<hr />';
// LISTE DES articles_2 VALIDES
$req_art = reqmysql('
SELECT
articles_2.id as id,
articles_2.position as position,
articles_2.ref as ref,
articles_2.titre as titre,
articles_2.auteur as auteur,
articles_2.texte as texte,
articles_2.date as date,
articles_2_cat.titre as cat_titre,
articles_2_cat.id as cat_id
FROM articles_2
LEFT JOIN articles_2_cat
ON articles_2.ref=articles_2_cat.id
WHERE articles_2.validation="0"
ORDER BY articles_2.ref ASC, articles_2.position ASC
');
$nb_valide = mysql_num_rows($req_art);
echo'<h3>Liste des articles_2 :</h3>';
// S'il n'y a aucun articles_2 disponible on informe l'admin
if ($nb_valide == 0)
{
echo '<div style="font-style:italic;">Vous n’avez aucun articles_2 de validé.</div>';
}else{
// Autrement on affiche tous les articles_2 validés
echo'
<ul style="
margin: 0px;
padding: 0px;
list-style-type:none;
text-indent:0px ! important;">';
while ($art = mysql_fetch_object($req_art))
{
$art_titre = htmlentities(stripslashes($art->titre));
$cat_titre = htmlentities(stripslashes($art->cat_titre));
echo '
<li onmouseover="this.style.backgroundColor=\''.$col3.'\';" onmouseout="this.style.backgroundColor=\''.$col4.'\';" style="border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #CCCCCC; ">
<label style="width:20%; float:left;">- '.$art_titre.'</label>
<label style="width:20%; float:left;">'.$cat_titre.'</label>
<a href="index.php?mod=articles_2&ac=gestion&faire=edit&id='.$art->id.'">
<img src="./modules/articles_2/images/edit.png" alt="Editer" style="border:none;" /></a>
<a href="index.php?mod=articles_2&ac=gestion&faire=del&id='.$art->id.'">
<img src="./modules/articles_2/images/del.png" alt="Supprimer" style="border:none;" /></a>
';
## ??????????????????????????? Modif par VANGARDIS ?????????????????????????? ##
###### ça se joue ici pour l'affichage des fleches up et down#####
echo ' <a href="index.php?mod=articles_2&ac=gestion&faire=up&id='.$art->id.'">
<img src="images/admin/up3.gif" border="0" alt="up" /></a>' ;
echo ' <a href="index.php?mod=articles_2&ac=gestion&faire=down&id='.$art->id.'">
<img src="images/admin/down3.gif" border="0" alt="down" /></a>' ;
## |||||||||||||||||||||||| FIN Modif par VANGARDIS |||||||||||||||||||||||| ##
echo' position de l\'article:'.$art->position.'
</li>';
}
echo'</ul>';
}
close_table ();
echo '<p align="center"><a href="login.php"><strong>Retour</strong></a></p>';
}
else
{
// GESTION DES articles_2
// Validation de l'articles_2
if ($faire == 'valid')
{
reqmysql('UPDATE articles_2 SET articles_2.validation="0" WHERE articles_2.id="'.intval($id).'"');
reqmysql('DELETE FROM `alerte` WHERE `module` ="articles_2" AND `date`="'.intval($_GET['date']).'"');
echo'
<center>
<p>
articles_2 validé.'.$art_attente->date.'<br />
<form action="index.php">
<input type="hidden" name="mod" value="articles_2" />
<input type="hidden" name="ac" value="gestion" /><br />
<input type="submit" value=" Retour " /><br /><br />
</form>
</p>
</center>';
}
## ??????????????????????????? Modif par VANGARDIS ?????????????????????????? ##
//-->DELETE pour ne pas laisser de trou dans les positions
// il faut que je choppe la ref de l'article pour faire l'update uniquement dans cette ref
if ($faire == 'del'){
$req_blocs=mysql_query('SELECT * FROM `articles_2` WHERE `id`='.$id.'');
$result_blocs = mysql_fetch_object($req_blocs) ;
$pos = $result_blocs->position ;
$ref = $result_blocs->ref ;
mysql_query("DELETE FROM `articles_2` WHERE `id`=$id") ;
// Suppression de la table alerte si l'articles_2 n est pas validé
if ($art->validation ==1){reqmysql('DELETE FROM `alerte` WHERE `module` ="articles_2'.$id.'"');}
$req_blocs2=reqmysql("SELECT * FROM `articles_2` WHERE `articles_2`.`ref`=$ref and `articles_2`.`position`>$pos ORDER BY `articles_2`.`position` ASC");
while ($result2_blocs = mysql_fetch_object($req_blocs2)) {
$new_pos = $result2_blocs->position - 1 ;
mysql_query("UPDATE `articles_2` SET `position`=$new_pos WHERE `ref`=$result_blocs->ref and `id`=$result2_blocs->id") ;
}
Header("Location: index.php?mod=articles_2&ac=gestion");
}
## |||||||||||||||||||||||| FIN Modif par VANGARDIS |||||||||||||||||||||||| ##
## ??????????????????????????? Modif par VANGARDIS ?????????????????????????? ##
## Rajout dans l'admin de flèches pour monter ou descendre une catégorie ##
//--> Fonction pour descendre
if ($faire == 'down'){
$req_blocs=mysql_query("SELECT * FROM `articles_2` WHERE `id`=$id");
$result_blocs = mysql_fetch_object($req_blocs) ;
$pos_down = $result_blocs->position ;
$id_down = $id ;
$pos_up = $pos_down + 1 ;
$req_blocs=mysql_query("SELECT * FROM `articles_2` WHERE `position`=$pos_up and `ref`=$result_blocs->ref");
$result_blocs = mysql_fetch_object($req_blocs) ;
$id_up = $result_blocs->id ;
mysql_query("UPDATE `articles_2` SET position=$pos_down WHERE `id`=$id_up") ;
mysql_query("UPDATE `articles_2` SET position=$pos_up WHERE `id`=$id_down") ;
Header("Location: index.php?mod=articles_2&ac=gestion");
}
//--> Fonction pour monter
if ($faire == 'up'){
$req_blocs=mysql_query("SELECT * FROM `articles_2` WHERE `id`=$id");
$result_blocs = mysql_fetch_object($req_blocs) ;
$pos_down = $result_blocs->position ;
$id_down = $id ;
$pos_up = $pos_down - 1 ;
$req_blocs=mysql_query("SELECT * FROM `articles_2` WHERE `position`=$pos_up and `ref`=$result_blocs->ref");
$result_blocs = mysql_fetch_object($req_blocs) ;
$id_up = $result_blocs->id ;
mysql_query("UPDATE `articles_2` SET position=$pos_down WHERE `id`=$id_up") ;
mysql_query("UPDATE `articles_2` SET position=$pos_up WHERE `id`=$id_down") ;
Header("Location: index.php?mod=articles_2&ac=gestion");
}
## |||||||||||||||||||||||| FIN Modif par VANGARDIS |||||||||||||||||||||||| ##
// Edition de l'articles_2
if ($faire == 'edit')
{
$req_art = mysql_query('SELECT titre as titre, texte as texte, id as id, auteur as auteur, ref as ref, position as position, type as type FROM `articles_2` WHERE id="'.$id.'"');
$art = mysql_fetch_object($req_art) ;
$titre = stripslashes(htmlentities($art->titre));
$art->texte = stripslashes($art->texte);
echo '
<script type="text/javascript" src="bbcode.js"></script>
<script type="text/javascript">
function envoyer(formulaire)
{
if (formulaire.titreart.value=="")
{
alert("Veuillez indiquer un titre pour votre articles_2.");
formulaire.titreart.focus();
return false;
}
if (formulaire.texte.value=="")
{
alert("Veuillez indiquer un contenu pour votre articles_2.");
formulaire.texte.focus();
return false;
}
formulaire.submit();
}
</script>
<form name="formulaire" method="post" action="index.php">
<!--## |||||||||||||||||||||||| Modif par VANGARDIS |||||||||||||||||||||||| ##-->
<!--## pour envoyer les valeurs de départ de ref et position et les comparer ##-->
<input type="hidden" name="id_depart" value="'.$art->id.'" />
<input type="hidden" name="ref_depart" value="'.$art->ref.'" />
<input type="hidden" name="position_depart" value="'.$art->position.'" />
<!--## |||||||||||||||||||||||| Fin Modif par VANGARDIS |||||||||||||||||||||||| ##-->
<input type="hidden" name="mod" value="articles_2" />
<input type="hidden" name="ac" value="gestion" />
<input type="hidden" name="faire" value="edit2" />
<input type="hidden" name="id" value="'.intval($_GET['id']).'" />
<p style="text-align:center;">
Titre : <input type="text" size="30" name="titreart" value="'.stripslashes($art->titre).'" /><br /><br />
Auteur : <input type="text" size="30" name="auteurart" value="'.$art->auteur.'" /><br /><br />
position:'.$art->position.'<br /><br />
Rubrique :
<select name="ref">';
$req_articles_2 = mysql_query('SELECT titre as titre, id as id, position as position FROM `articles_2_cat` ORDER BY `articles_2_cat`.`position` ASC');
while ($articles_2 = mysql_fetch_object($req_articles_2)){
echo '<option value="'.$articles_2->id.'"' ;
if ($art->ref == $articles_2->id){
echo ' selected="selected"' ;
}
$articles_2->titre = stripslashes($articles_2->titre);
echo '>'.$articles_2->titre.'</option>';
}
echo '</select></p>';
include ('includes/balises.php');
echo '
<p style="text-align:center;">
Format du texte : <input type="radio" value="0" ';
if ($art->type == 0){
echo 'checked="checked" ' ;
}
echo 'name="type" />html <input type="radio" ';
if ($art->type == 1){
echo 'checked="checked" ' ;
}
echo 'value="1" name="type" />Balises BBcode <input type="radio" ';
if ($art->type == 2)
{
echo 'checked="checked" ' ;
}
echo 'value="2" name="type" />Lien vers une page
Contenu :</p>
<p style="text-align:center;"><textarea rows="13" cols="80" name="texte">'.$art->texte.'</textarea></p>';
afficher_smileys();
echo '
<p style="text-align:center;"><input type="submit" value=" Modifier " onclick="envoyer(this.form);" /> <input type="reset" value=" Annuler " onclick="history.go(-1);" /></p>
</form>
<p style="text-align:center;"<a href="javascript:history.go(-1)"><strong>Retour</strong></a></p>';
}
// Confirmation de la modification de l'articles_2
if ($faire == 'edit2')
{
$texte = addslashes($art->texte);
$titreart = addslashes($titreart);
## ??????????????????????????? Modif par VANGARDIS ?????????????????????????? ##
if (''.$_POST['ref_depart'].'' != ''.$_POST['ref'].'') {// si la ref n'est pas la même.
// je selectionne dans l'ancienne ref
$req_blocs=mysql_query('SELECT *
FROM `articles_2`
WHERE `id`="'.$_POST['id_depart'].'"');
$result_blocs = mysql_fetch_object($req_blocs) ;
$pos = $result_blocs->position ;
$ref = $result_blocs->ref ;
$req_blocs2=mysql_query("SELECT *
FROM `articles_2`
WHERE `articles_2`.`ref`=$ref
and `articles_2`.`position`>$pos
ORDER BY `articles_2`.`position` ASC");
// je selectionne dans la nouvelle ref
$new_pos = '0';
$req2=mysql_query("SELECT position
FROM `articles_2`
WHERE `articles_2`.`ref`=".$_POST['ref']."
ORDER BY position DESC");
$result = mysql_fetch_object($req2) ;
$new_pos = $result->position + 1 ;
// je mets à jour les infos dans la nouvelle catégorie ## probleme: actuellement ça me met +2 au lieu de +1.sous IE et pas sous FF.... ##
mysql_query('UPDATE `articles_2`
SET `titre`="'.$_POST['titreart'].'",
`ref`="'.$_POST['ref'].'",
`position`='.$new_pos.',
`type`="'.$_POST['type'].'",
`texte`="'.$_POST['texte'].'",
`attribut`="'.$_POST['smileys'].'",
`validation`="0"
WHERE id="'.$_POST['id'].'"');
// je comble le "trou" laissé dans l'ancienne catégorie par le déplacement.
while ($result2_blocs = mysql_fetch_object($req_blocs2)) {
$new_pos = $result2_blocs->position - 1 ;
mysql_query("UPDATE `articles_2`
SET `position`=$new_pos
WHERE `ref`=$result_blocs->ref
and `id`=$result2_blocs->id") ;// update en -1 de tous les articles
// dont la position était en dessous
// de l'article déplacé
// dans son ancienne catégorie.
}
}
if (''.$_POST['ref_depart'].'' == ''.$_POST['ref'].'') {// si la ref est la même.
$new_pos = ''.$_POST['position_depart'].'' ;
$req=reqmysql('UPDATE `articles_2`
SET `titre`="'.$_POST['titreart'].'",
`ref`="'.$_POST['ref'].'",
`position`='.$new_pos.',
`type`="'.$_POST['type'].'",
`texte`="'.$_POST['texte'].'",
`attribut`="'.$_POST['smileys'].'",
`validation`="0"
WHERE id="'.$_POST['id'].'"');
}
echo '<center><br />
Modifications prises en compte.<br /><br />
<form action="index.php">
<input type="hidden" name="mod" value="articles_2" />
<input type="hidden" name="ac" value="gestion" />
<input type="submit" value=" Retour " /><br /><br />
</form>
</center>';
}
close_table ();
$aff_drt=1;
}
}
else
{
open_table();
echo '
<p style="text-align:center;">
<strong>Fonction réservée !<br /><br />
Vous n‘avez pas le grade suffisant pour accéder à cette partie du site !</strong><br /><br />
<form action="index.php">
<center><input type="submit" value=" Retour "/></center>
</form>
</p>';
close_table();
}
?>