Téléverser les fichiers vers "admin"

This commit is contained in:
Alexandre NOEL 2026-08-11 21:36:35 +02:00
commit 5689671844
2 changed files with 621 additions and 0 deletions

524
admin/base.php Normal file
View file

@ -0,0 +1,524 @@
<body>
<div id="general">
<div id="header">
<h1><?php echo $SITE_NOM; ?></h1>
<p><?php echo $SITE_DESC; ?></p>
<ul class="menu">
<li><a href="../"><img src="../themes/defaut/images/icones/return_left.png" alt="icone" class="icon" />Retour au site</a></li>
<?php
if(!isset($_GET['pid'])){$pid=1;} else {$pid=$_GET['pid'];}
$menuItems = array(NULL, 'Général', 'Pages', 'Modules', 'Thèmes', 'Configuration', 'Corbeille', 'Déconnexion');
$menuImages = array(NULL, 'general', 'page', 'module', 'design_red', 'config', 'corbeille', 'logout');
for ($i=1; $i<count($menuItems); $i++)
{
echo "<li>";
if($pid==$i){ echo "<b>";}
echo "<a href='index.php?pid=".$i."'><img src='../themes/defaut/images/icones/".$menuImages[$i].".png' alt='icone' class='icon' />".$menuItems[$i]."</a>";
if($pid==$i){ echo "</b>";}
echo "</li>";
}
?>
</ul>
</div>
<div id="corps">
<div id="contentG">
<?php
switch ($pid){
case 1: // Page général
if(isset($_POST['nom_site']) || isset($_POST['descdusite']))
{
ecriture_xml('../data/config.xml', 'nom_site', $_POST['nom_site']);
ecriture_xml('../data/config.xml', 'description_site', $_POST['description_site']);
if (@$_POST['maintenance']=="on"){$maintenance="on";} else {$maintenance="off";}
ecriture_xml('../data/config.xml', 'maintenance', $maintenance);
ecriture_xml('../data/config.xml', 'message', nl2br($_POST['message']));
echo "<span class='valide'>Mise à jour réussie.</span>";
// Permet le rafraichissement instantané
include('../lib/config.lib.php');
} ?>
<form action="index.php?pid=1" method="post">
<div class="gauche50">
Nom du site:<br />
<input type="text" name="nom_site" class="input_text" value="<?php echo $SITE_NOM; ?>" id="text_input" /><br /><br />
Description du site:<br />
<textarea name="description_site" class="area_text" rows="0" cols="0"><?php echo $SITE_DESC; ?></textarea><br /><br />
</div>
<div class="gauche">
Site en maintenance:
<input type="checkbox" name="maintenance" <?php if($SITE_MAINTENANCE=="on"){echo "checked";} ?>/><br />
<textarea name="message" class="area_text" cols="0" rows="0"><?php echo br2nl($SITE_MESSAGE); ?></textarea><br /><br />
<input type="submit" value="Mise à jour" class="input" />
</div>
</form>
<?php
if (@$_GET['suppresion']=="install")
{
removeFolder("../install/");
?>
<div class="gauche">
<p class="valide">Le dossier INSTALL a été effacé avec succés !</p>
</div>
<?php
}
elseif (file_exists("../install"))
{
?>
<form action="index.php?pid=1&amp;suppresion=install" method="post">
<div class="gauche">
<p class="erreur">Le dossier INSTALL est encore en ligne. ce dossier est dorénavant inutile et peut causer un risque pour la sécurité de votre site. Vous pouvez cliquer sur le bouton ci-dessous afin de l'effacer.</p>
<input type="submit" value="Effacer le dossier INSTALL" class="input" />
</div>
</form>
<?php
}
?>
<?php
break;
case 2: // Page pages
switch(@$_GET['action'])
{
case 'accueil':
ecriture_xml('../data/config.xml', 'accueil', $_GET['id']);
echo "<span class='valide'>Page d'accueil changée.</span>";
break;
case 'affichage':
if ($_GET['aff']=="on")
{
ecriture_xml('../data/pages/'.$_GET['id'].'.xml', 'etat', '1');
}
else
{
if ($_GET['id']==1) echo "<span class='erreur'>Impossible de désafficher la page d'accueil !</span>";
else ecriture_xml('../data/pages/'.$_GET['id'].'.xml', 'etat', '0');
}
break;
case 'ordreplus':
$new=$_GET['id']-1;
$page = lecture_xml("../data/pages/".$_GET['id'].".xml");
if ($page['page']['etat']['#text']==0 && $_GET['id']==2)
{
echo "<span class='erreur'>Vous ne pouvez mettre en page d'accueil, une page non affichée !</span>";
}
else
{
rename ("../data/pages/".$_GET['id'].".xml", "../data/pages/-1.xml");
// 2 devient -1
rename ("../data/pages/".$new.".xml", "../data/pages/".$_GET['id'].".xml");
// 1 devient 2
rename ("../data/pages/-1.xml", "../data/pages/".$new.".xml");
// -1 devient 1
ecriture_xml('../data/pages/'.$_GET['id'].'.xml', 'ordre', $_GET['id']);
// 2 -> 2
ecriture_xml('../data/pages/'.$new.'.xml', 'ordre', $new);
// 1 -> 1
echo "<span class='valide'>Ordre modifié</span>";
}
break;
case 'ordremoins':
$new=$_GET['id']+1;
$page = lecture_xml("../data/pages/".$new.".xml");
if ($page['page']['etat']['#text']==0 && $_GET['id']==1)
{
echo "<span class='erreur'>Vous ne pouvez pas mettre en page d'accueil une page non affichée.</span>";
}
else
{
rename ("../data/pages/".$_GET['id'].".xml", "../data/pages/-1.xml");
rename ("../data/pages/".$new.".xml", "../data/pages/".$_GET['id'].".xml");
rename ("../data/pages/-1.xml", "../data/pages/".$new.".xml");
ecriture_xml('../data/pages/'.$_GET['id'].'.xml', 'ordre', $_GET['id']);
ecriture_xml('../data/pages/'.$new.'.xml', 'ordre', $new);
echo "<span class='valide'>Ordre modifié</span>";
}
break;
case 'ajouter':
if ($_POST['type']=="none") echo "<span class='erreur'>Veuillez choisir un type de page.</span>";
else include("../modules/".$_POST['type']."/edition.php");
break;
case 'modifier':
$page = lecture_xml("../data/pages/".$_GET['id'].".xml");
include("../modules/".strtolower($page['page']['type']['#text'])."/edition.php");
break;
case 'supprimer':
$apres=$_GET['id']+1;
$avant=$_GET['id']-1;
if($_GET['id']==1)
{
echo "<span class='erreur'>Vous ne pouvez pas supprimer la page d'accueil.</span>";
}
else
{
$list=listing_dossier($data_pages);
$nb = sizeof($list); $nb++;
$dateT = date("d-m-Y G\hi\ms\s");
$titre = donnee_xml('../data/pages/'.$_GET['id'].'.xml', 'nom');
rename ("../data/pages/".$_GET['id'].".xml", "../data/corbeille/".$dateT."_".$_GET['id'].".xml");
for ($i=$apres;$i<$nb;$i++)
{
$j=$i-1;
rename ("../data/pages/".$i.".xml", "../data/pages/".$j.".xml");
ecriture_xml('../data/pages/'.$j.'.xml', 'ordre', $j);
}
echo "<span class='valide'>La page \"".$titre."\" a été déplacé dans le dossier corbeille</span>";
}
break;
}
?>
<form action="index.php?pid=2&amp;action=ajouter" method="post">
<p>
<input type="submit" value="Ajouter une page de type:" id="add_but"/>
<select name="type" class="option">
<option value="none">Choisir un type</option>
<option value="none">----------------------</option><?php
$list = listing_dossier("../modules/");
foreach ($list as $pages)
{ ?>
<option value="<?php echo $pages; ?>"><?php echo ucfirst($pages);?></option><?php
} ?>
</select>
</p>
</form>
<table id="tableau" width="100%">
<tr id="en_tete">
<td style="width:35%">Nom de la page</td>
<td style="width:18%">Type de page</td>
<td style="width:8%;" align="center">Modification</td>
<td style="width:8%" align="center">Suppresion</td>
<td style="width:7%" align="center">Ordre</td>
<td style="width:8%" align="center">Affichage</td>
</tr>
<?php
$list=listing_dossier($data_pages);
foreach ($list as &$pages) {
$page = lecture_xml($data_pages.$pages); ?>
<tr>
<td><?php echo $page['page']['nom']['#text']; ?></td>
<td><?php echo ucfirst($page['page']['type']['#text']); ?></td>
<td align="center"><a href="index.php?pid=2&amp;action=modifier&amp;id=<?php echo $page['page']['ordre']['#text']; ?>"><img src="../themes/defaut/images/icones/edit.png" alt="edit" /></a></td>
<td align="center"><a href="index.php?pid=2&amp;action=supprimer&amp;id=<?php echo $page['page']['ordre']['#text']; ?>"><img src="../themes/defaut/images/icones/delete.png" alt="delete" /></a></td>
<td align="center"><?php
if ($pages==1)
{
?><a href="index.php?pid=2&amp;action=ordremoins&amp;id=<?php echo $page['page']['ordre']['#text']; ?>"><img src="../themes/defaut/images/icones/little_down.png" alt="little_down" /></a><?php
} elseif ($pages==end($list)) {
?><a href="index.php?pid=2&amp;action=ordreplus&amp;id=<?php echo $page['page']['ordre']['#text']; ?>"><img src="../themes/defaut/images/icones/little_up.png" alt="little_up" /></a><?php
} else { ?>
<a href="index.php?pid=2&amp;action=ordremoins&amp;id=<?php echo $page['page']['ordre']['#text']; ?>"><img src="../themes/defaut/images/icones/little_down.png" alt="little_down" /></a>
<a href="index.php?pid=2&amp;action=ordreplus&amp;id=<?php echo $page['page']['ordre']['#text']; ?>"><img src="../themes/defaut/images/icones/little_up.png" alt="little_up" /></a><?php
} ?>
</td>
<td align="center"><?php
if ($page['page']['etat']['#text']==1){ ?>
<a href="index.php?pid=2&amp;action=affichage&amp;aff=off&amp;id=<?php echo $page['page']['ordre']['#text']; ?>"><img src="../themes/defaut/images/icones/on.png" alt="aff" /></a><?php
} else { ?>
<a href="index.php?pid=2&amp;action=affichage&amp;aff=on&amp;id=<?php echo $page['page']['ordre']['#text']; ?>"><img src="../themes/defaut/images/icones/off.png" alt="aff" /></a><?php
} ?>
</td>
</tr><?php
} ?>
</table><?php
break;
case 3: // Page modules
switch(@$_GET['action'])
{
case 'ajouter':
if(@$_FILES["zip_file"]["name"])
upload_unzip($_FILES["zip_file"], "../modules/", "modules"); ?>
<form enctype="multipart/form-data" method="post" action="index.php?pid=3&amp;action=ajouter">
<p>
<input type="file" name="zip_file" />
<input type="submit" name="submit" value="Installer" />
</p>
</form><?php
break;
case 'modifier':
include("../modules/".$_GET['dossier']."/edition.php");
break;
case 'supprimer':
if (isset($_GET['del']))
{
removeFolder("../modules/".$_GET['dossier']);
echo "<span class='valide'>Module supprimé avec succés.</span>";
}
else
{
echo "Voulez-vous vraiment supprimer ce module ?"; ?>
<a href="index.php?pid=3&amp;action=supprimer&amp;dossier=<?php echo $_GET['dossier']; ?>&amp;del"><img src="../themes/defaut/images/icones/apply.png" class="icon"/></a>
<a href="index.php?pid=3"><img src="../themes/defaut/images/icones/delete.png" /></a><?php
}
break;
} ?>
<p><a href="index.php?pid=3&amp;action=ajouter" class="link"><img src="../themes/defaut/images/icones/ajout.png" alt="Ajout" /> Ajouter un module</a></p>
<table id="tableau" width="100%">
<tr id="en_tete">
<td style="width:25%">Nom du module</td>
<td style="width:18%">Description</td>
<td style="width:18%">Auteur(s)</td>
<td style="width:8%" align="center">Version</td>
<td style="width:8%" align="center">Modifier</td>
<td style="width:7%" align="center">Supprimer</td>
</tr>
<?php
$list=listing_dossier("../modules/");
foreach ($list as &$pages) {
$page = lecture_xml("../modules/".$pages."/config.xml");
?>
<tr>
<td><?php echo $page['configuration']['nom']['#text']; ?></td>
<td><?php echo $page['configuration']['description']['#text']; ?></td>
<td><?php echo $page['configuration']['auteurs']['#text']; ?></td>
<td align="center"><?php echo $page['configuration']['version']['#text']; ?></td><?php
if (is_file("../themes/".$pages."/modification.xml"))
{ ?>
<td align="center"><a href="index.php?pid=3&amp;action=modifier&amp;dossier=<?php echo $page['configuration']['dossier']['#text']; ?>"><img src="../themes/defaut/images/icones/edit.png" alt="edit" /></a></td><?php
}
else
{ ?>
<td align="center"><img src="../themes/defaut/images/icones/edit_off.png" alt="edit" /></td><?php
} ?>
<td align="center"><a href="index.php?pid=3&amp;action=supprimer&amp;dossier=<?php echo $page['configuration']['dossier']['#text']; ?>"><img src="../themes/defaut/images/icones/delete.png" alt="delete" /></a></td>
</tr><?php
} ?>
</table>
<?php
break;
case 4: // Page thèmes
switch(@$_GET['action'])
{
case 'choix':
ecriture_xml('../data/config.xml', 'theme', $_GET['dossier']);
header ('Location: index.php?pid=4');
break;
case 'supprimer':
if (isset($_GET['del']))
{
removeFolder("../themes/".$_GET['dossier']);
echo "<span class='valide'>Thème supprimé avec succés.</span>";
}
else
{
if ($config['configuration']['theme']['#text']==$_GET['dossier'])
{
echo "<span class='erreur'>Vous ne pouvez pas supprimer le thème utilisé actuellement.</span>";
} else {
echo "Voulez-vous vraiment supprimer ce thème ?"; ?>
<a href="index.php?pid=4&amp;action=supprimer&amp;dossier=<?php echo $_GET['dossier']; ?>&amp;del"><img src="../themes/defaut/images/icones/apply.png" class="icon"/></a>
<a href="index.php?pid=4"><img src="../themes/defaut/images/icones/delete.png" /></a><?php
}
}
break;
case 'ajouter':
if(@$_FILES["zip_file"]["name"])
upload_unzip($_FILES["zip_file"], "../themes/", "thème"); ?>
<form enctype="multipart/form-data" method="post" action="index.php?pid=4&amp;action=ajouter">
<p>
<input type="file" name="zip_file" />
<input type="submit" name="submit" value="Installer" />
</p>
</form><?php
break;
case 'modifier':
include("../themes/".$_GET['dossier']."/edition.php");
break;
} ?>
<p><a href="index.php?pid=4&amp;action=ajouter" class="link"><img src="../themes/defaut/images/icones/ajout.png" alt="Ajout" /> Ajouter un thème</a></p>
<table id="tableau" width="100%">
<tr id="en_tete">
<td style="width:35%">Nom du thème</td>
<td style="width:18%">Auteur(s)</td>
<td style="width:8%" align="center">Version</td>
<td style="width:8%" align="center">Modifier</td>
<td style="width:7%" align="center">Supprimer</td>
<td style="width:8%" align="center">Choix</td>
</tr>
<?php
$list=listing_dossier("../themes/");
foreach ($list as &$pages) {
$page = lecture_xml("../themes/".$pages."/config.xml");
?>
<tr>
<td><?php echo $page['configuration']['nom']['#text']; ?></td>
<td><?php echo $page['configuration']['auteurs']['#text']; ?></td>
<td align="center"><?php echo $page['configuration']['version']['#text']; ?></td><?php
if (is_file("../themes/".$pages."/modification.xml"))
{ ?>
<td align="center"><a href="index.php?pid=4&amp;action=modifier&amp;dossier=<?php echo $page['configuration']['dossier']['#text']; ?>"><img src="../themes/defaut/images/icones/edit.png" alt="edit" /></a></td><?php
}
else
{ ?>
<td align="center"><img src="../themes/defaut/images/icones/edit_off.png" alt="edit" /></td><?php
} ?>
<td align="center"><a href="index.php?pid=4&amp;action=supprimer&amp;dossier=<?php echo $page['configuration']['dossier']['#text']; ?>"><img src="../themes/defaut/images/icones/delete.png" alt="delete" /></a></td>
<td align="center"><?php
if ($config['configuration']['theme']['#text']==$page['configuration']['dossier']['#text'])
{ ?>
<img src="../themes/defaut/images/icones/on.png" alt="aff" /><?php
}
else
{ ?>
<a href="index.php?pid=4&amp;action=choix&amp;dossier=<?php echo $page['configuration']['dossier']['#text']; ?>"><img src="../themes/defaut/images/icones/off.png" alt="aff" /></a><?php
} ?>
</td>
</tr><?php
} ?>
</table><?php
break;
case 5: // Configuration
if(isset($_POST['login']) || isset($_POST['email']) || isset($_POST['mot_de_passe_ex']))
{
if (md5($_POST['mot_de_passe_ex'])==$config['configuration']['mdp_admin']['#text'])
{
if ($_POST['mot_de_passe_new']==$_POST['mot_de_passe_conf'])
{
ecriture_xml('../data/config.xml', 'login_admin', $_POST['login']);
ecriture_xml('../data/config.xml', 'email_admin', $_POST['email']);
ecriture_xml('../data/config.xml', 'mdp_admin', md5($_POST['mot_de_passe_new']));
echo "<span class='valide'>Mise à jour réussie.</span>";
}
else
{
echo "<span class='erreur'>Les mots de passe ne sont pas identiques.</span>";
}
}
elseif ($_POST['mot_de_passe_ex']==NULL)
{
ecriture_xml('../data/config.xml', 'login_admin', $_POST['login']);
ecriture_xml('../data/config.xml', 'email_admin', $_POST['email']);
echo "<span class='valide'>Mise à jour réussie.</span>";
}
else
{
echo "<span class='erreur'>Ancien mot de passe incorrect.</span>";
}
}
include('../lib/config.lib.php');
?>
<form action="index.php?pid=5" method="post">
<p>
Login de l'administrateur:<br />
<input type="text" name="login" class="input_text" value="<?php echo $ADMIN_LOG; ?>" style="width:250px;" /><br /><br />
Email de l'administrateur:<br />
<input type="text" name="email" class="input_text" value="<?php echo $ADMIN_EMAIL; ?>" style="width:250px;" /><br /><br />
Mot de passe de l'administrateur<br />
Ancien MDP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Nouveau MDP&nbsp;&nbsp;
Confirmer MDP<br />
<input type="password" name="mot_de_passe_ex" class="input_text_mini" value="" />
<input type="password" name="mot_de_passe_new" class="input_text_mini" value="" />
<input type="password" name="mot_de_passe_conf" class="input_text_mini" value="" /><br /><br />
<input type="submit" value="Mise à jour" class="input" />
</p>
</form>
<?php
break;
case 6: // Page corbeille
switch(@$_GET['action'])
{
case 'retour':
$list=listing_dossier($data_pages);
$nb = sizeof($list); $nb=$nb+1;
$ancienFichier = "../data/corbeille/".$_GET['fichier'];
$nouveauFichier = "../data/pages/".$nb.".xml";
copy($ancienFichier, $nouveauFichier);
unlink($ancienFichier);
ecriture_xml($nouveauFichier, 'etat', '0');
echo "<span class='valide'>Page restaurée avec succés.</span>";
break;
case 'vider':
clearFolder("../data/corbeille/");
echo "<span class='valide'>La corbeille a été vidé.</span>";
break;
case 'supprimer':
if (isset($_GET['del']))
{
unlink ("../data/corbeille/".$_GET['fichier']);
echo "<span class='valide'>Page supprimée avec succés.</span>";
}
else
{
echo "Voulez-vous vraiment supprimer cette page?"; ?>
<a href="index.php?pid=6&amp;action=supprimer&amp;fichier=<?php echo $_GET['fichier']; ?>&amp;del"><img src="../themes/defaut/images/icones/apply.png" class="petit_decalage"/></a>
<a href="index.php?pid=6"><img src="../themes/defaut/images/icones/delete.png" /></a><?php
}
break;
}?>
<p><a href="index.php?pid=6&amp;action=vider" class="link"><img src="../themes/defaut/images/icones/corbeille_vide.png" alt="Vider" /> Vider la Corbeille</a></p>
<table id="tableau" width="100%">
<tr id="en_tete">
<td style="width:35%;">Titre de la page</td>
<td style="width:18%">Date de suppresion</td>
<td style="width:8%" align="center">Type</td>
<td style="width:8%" align="center">Restaurer</td>
<td style="width:7%" align="center">Supprimer</td>
</tr>
<?php
$list=listing_dossier("../data/corbeille/");
if ($list==TRUE)
{
foreach ($list as &$pages)
{
$page = lecture_xml("../data/corbeille/".$pages);
$fichier_date = explode('_', $pages); ?>
<tr>
<td><?php echo $page['page']['nom']['#text']; ?></td>
<td><?php echo $fichier_date[0]; ?></td>
<td align="center"><?php echo $page['page']['type']['#text']; ?></td>
<td align="center"><a href="index.php?pid=6&amp;action=retour&amp;fichier=<?php echo $fichier_date[0]."_".$fichier_date[1]; ?>"><img src="../themes/defaut/images/icones/retour.png" alt="retour" /></a></td>
<td align="center"><a href="index.php?pid=6&amp;action=supprimer&amp;fichier=<?php echo $fichier_date[0]."_".$fichier_date[1]; ?>"><img src="../themes/defaut/images/icones/delete.png" alt="delete" /></a></td>
</tr><?php
}
} ?>
</table><?php
break;
case 7: // Page déconnexion
session_destroy();
header('Location: ../index.php');
break;
} ?>
</div>
</div>
<div id="footer">
<p>
AEOS v<?php echo $SITE_VERSION; ?> - <?php echo round(microtime(true)-$execTime, 3)."s<br />".$SITE_FOOTER; ?>
</p>
</div>
</div>
</body>