date.chapril.org-framadate/admin/index.php

155 lines
6.1 KiB
PHP
Raw Normal View History

2011-05-15 01:32:47 +02:00
<?php
//==========================================================================
//
//Université de Strasbourg - Direction Informatique
//Auteur : Guilhem BORGHESI
//Création : Février 2008
//
//borghesi@unistra.fr
//
//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".
//
//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. Vous pouvez trouver une copie de la licence dans le fichier LICENCE.
//
//==========================================================================
//
//Université de Strasbourg - Direction Informatique
//Author : Guilhem BORGHESI
//Creation : Feb 2008
//
//borghesi@unistra.fr
//
//This software is governed by the CeCILL-B license under French law and
//abiding by the rules of distribution of free software. You can use,
//modify and/ or redistribute the software under the terms of the CeCILL-B
//license as circulated by CEA, CNRS and INRIA at the following URL
//"http://www.cecill.info".
//
//The fact that you are presently reading this means that you have had
//knowledge of the CeCILL-B license and that you accept its terms. You can
//find a copy of this license in the file LICENSE.
//
//==========================================================================
2011-05-15 01:32:47 +02:00
session_start();
include_once('../variables.php');
include_once('../fonctions.php');
include_once('../bandeaux.php');
// Ce fichier index.php se trouve dans le sous-repertoire ADMIN de Studs. Il sert à afficher l'intranet de studs
// pour modifier les sondages directement sans avoir reçu les mails. C'est l'interface d'aministration
// de l'application.
// Affichage des balises standards
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">'."\n";
echo '<html>'."\n";
echo '<head>'."\n";
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">'."\n";
echo '<title>ADMINISTRATEUR de la base '.NOMAPPLICATION.'</title>'."\n";
echo '<link rel="stylesheet" type="text/css" href="../style.css">'."\n";
echo '</head>'."\n";
echo '<body>'."\n";
//Affichage des bandeaux et début du formulaire
framanav();
2011-05-15 01:32:47 +02:00
logo();
bandeau_tete();
bandeau_titre(_("Polls administrator"));
sous_bandeau_admin();
//print_r($_SESSION);
2011-05-15 01:32:47 +02:00
$sondage=$connect->Execute("select * from sondage");
echo'<div class=corps>'."\n";
echo '<form action="index.php" method="POST">'."\n";
// Test et affichage du bouton de confirmation en cas de suppression de sondage
$i=0;
while($dsondage = $sondage->FetchNextObject(false)) {
if (issetAndNoEmpty('supprimersondage'.$i) === true) {
2011-05-15 03:56:54 +02:00
echo '<table>'."\n";
echo '<tr><td bgcolor="#EE0000" colspan="11">'. _("Confirm removal of the poll ") .'"'.$dsondage->id_sondage.'" : <input type="submit" name="confirmesuppression'.$i.'" value="'. _("Remove this poll!") .'">'."\n";
echo '<input type="submit" name="annullesuppression" value="'. _("Keep this poll!") .'"></td></tr>'."\n";
echo '</table>'."\n";
echo '<br>'."\n";
}
// Traitement de la confirmation de suppression
if (issetAndNoEmpty('confirmesuppression'.$i) === true) {
// On inclut la routine de suppression
2011-05-15 03:56:54 +02:00
$date=date('H:i:s d/m/Y');
$req = 'DELETE s, su, u, c
FROM
sondage s LEFT JOIN sujet_studs su
ON su.id_sondage = s.id_sondage
LEFT JOIN user_studs u
ON u.id_sondage = s.id_sondage
LEFT JOIN comments c
ON c.id_sondage = s.id_sondage
WHERE s.id_sondage = '.$connect->Param('id_sondage');
$sql = $connect->Prepare($req);
$connect->Execute($sql, array($dsondage->id_sondage));
2011-05-15 03:56:54 +02:00
// ecriture des traces dans le fichier de logs
error_log($date . " SUPPRESSION: $dsondage->id_sondage\t$dsondage->format\t$dsondage->nom_admin\t$dsondage->mail_admin\n", 3, 'logs_studs.txt');
2011-05-15 03:56:54 +02:00
}
$i++;
2011-05-15 01:32:47 +02:00
}
2011-10-03 02:16:12 +02:00
$sondage=$connect->Execute("select * from sondage ORDER BY date_fin ASC");
2011-05-15 01:32:47 +02:00
$nbsondages=$sondage->RecordCount();
echo $nbsondages.' '. _("polls in the database at this time") .'<br><br>'."\n";
// tableau qui affiche tous les sondages de la base
2011-05-15 03:56:54 +02:00
echo '<table border=1>'."\n";
2011-05-15 01:32:47 +02:00
echo '<tr align=center><td>'. _("Poll ID") .'</td><td>'. _("Format") .'</td><td>'. _("Title") .'</td><td>'. _("Author") .'</td><td>'. _("Expiration's date") .'</td><td>'. _("Users") .'</td><td colspan=3>'. _("Actions") .'</td>'."\n";
$i = 0;
while($dsondage = $sondage->FetchNextObject(false)) {
2011-05-15 03:56:54 +02:00
/* possible en 1 bonne requête dans $sondage */
$sujets=$connect->Execute( "select * from sujet_studs where id_sondage='$dsondage->id_sondage'");
$dsujets=$sujets->FetchObject(false);
$user_studs=$connect->Execute( "select * from user_studs where id_sondage='$dsondage->id_sondage'");
$nbuser=$user_studs->RecordCount();
echo '<tr align=center><td>'.$dsondage->id_sondage.'</td><td>'.$dsondage->format.'</td><td>'. stripslashes($dsondage->titre).'</td><td>'.stripslashes($dsondage->nom_admin).'</td>';
2011-05-15 03:56:54 +02:00
if (strtotime($dsondage->date_fin) > time()) {
echo '<td>'.date("d/m/y",strtotime($dsondage->date_fin)).'</td>';
} else {
echo '<td><font color=#FF0000>'.date("d/m/y",strtotime($dsondage->date_fin)).'</font></td>';
}
echo'<td>'.$nbuser.'</td>'."\n";
echo '<td><a href="'.getUrlSondage($dsondage->id_sondage).'">'. _("See the poll") .'</a></td>'."\n";
echo '<td><a href="'.getUrlSondage($dsondage->id_sondage_admin, true).'">'. _("Change the poll") .'</a></td>'."\n";
2011-05-15 03:56:54 +02:00
echo '<td><input type="submit" name="supprimersondage'.$i.'" value="'. _("Remove the poll") .'"></td>'."\n";
echo '</tr>'."\n";
$i++;
2011-05-15 01:32:47 +02:00
}
2011-05-15 03:56:54 +02:00
echo '</table>'."\n";
2011-05-15 01:32:47 +02:00
echo'</div>'."\n";
// fin du formulaire et de la page web
echo '</form>'."\n";
echo '<div class="separateur">&nbsp;</div>';
2011-05-15 01:32:47 +02:00
echo '</body>'."\n";
echo '</html>'."\n";
// si on annule la suppression, rafraichissement de la page
if (issetAndNoEmpty('annulesuppression') === true) {
2011-05-15 03:56:54 +02:00
}