[gepi-users] BUG sur le téléchargement de sauvegarde

Stephane Boireau (Animateur TICE Secteur de Bernay/Pont-Audemer) stephane.boireau at ac-rouen.fr
Dim 28 Mai 11:25:51 CEST 2006


Bonjour,

Tests effectués avec GEPI 1.4.2

Le lien 'Télécharger le fichier généré par la sauvegarde' sur la page 
'/gestion/accueil_sauve.php' ne fonctionne pas.
En faisant quelques tests, j'ai eu la surprise de m'apercevoir que la variable 
$url['path'] récupérée n'était pas la même à chaque coup.

Lors de mes premiers essais, c'était /gestion/accueil_sauve.php et la fonction 
checkAccess() avait un retour vide dans la page savebackup.php si bien que 
j'étais renvoyé vers le logout par la partie suivante du code:
======================================
if (!checkAccess()) {
    header("Location: ../logout.php?auto=1");
    die();
}
======================================


Je n'ai pas réussi à repérer pourquoi.
A ce stade, les informations que j'ai pu faire écrire à la fonction 
checkAccess() sont les suivantes:
======================================
$dbCheckAccess=V
$gepiPath=/gepi
strlen(/gepi)=5
$url['path']=/gepi/gestion/accueil_sauve.php
substr($url['path'], 0, strlen(/gepi))=substr(/gepi/gestion/accueil_sauve.php, 
0, strlen(/gepi))=/gepi
======================================
Je ne saisis pas ce qui a pu passer de travers.



Dans les essais suivants, j'ai obtenu de checkAccess la valeur '-1' pour 
$dbCheckAccess lors de la requête SQL.
En effet, l'url retenue alors était /gestion/savebackup.php
Et cette url n'est pas dans la table 'droits'.
Ajouter un droit dans la table devrait régler ce problème, mais pour le 
premier pb, je ne sais pas...

Les infos à ce stade sont:
======================================
$sql=select administrateur
    from droits
    where id = '/gestion/savebackup.php'
    ;
$dbCheckAccess=-1
$gepiPath=/gepi
strlen(/gepi)=5
$url['path']=/gepi/gestion/savebackup.php
substr($url['path'], 0, strlen(/gepi))=substr(/gepi/gestion/savebackup.php, 0, 
strlen(/gepi))=/gepi
3
======================================
Je lui ai fait sortir quelques infos supplémentaires.
Il sort sur le else correspondant à $dbCheckAccess qui ne vaut pas 'V'.

J'ai ajouté un enregistrement dans la table 'droits'.
======================================
INSERT INTO `droits` ( `id` , `administrateur` , `professeur` , `cpe` , 
`scolarite` , `eleve` , `secours` , `description` , `statut` )
VALUES (
'/gestion/savebackup.php', 'V', 'F', 'F', 'F', 'F', 'F', 'Accès au 
téléchargement de la sauvegarde', ''
);
======================================
Et cette fois le téléchargement se fait bien.


Les infos qui en résultent sont les suivantes:
======================================
$sql=select administrateur
    from droits
    where id = '/gestion/savebackup.php'
    ;
$dbCheckAccess=V
$gepiPath=/gepi
strlen(/gepi)=5
$url['path']=/gepi/gestion/savebackup.php
substr($url['path'], 0, strlen(/gepi))=substr(/gepi/gestion/savebackup.php, 0, 
strlen(/gepi))=/gepi
2
======================================




Ceci étant dit, en attendant que le bug soit réglé, on peut toujours 
sauvegarder par 'Retour vers l'interface de sauvegarde/restauration' et 
choisir le fichier SQL à télécharger.


Cordialement.
-- 
Stéphane Boireau
Animateur de secteur RUE de Bernay/Pont-Audemer
Collège Le Hameau à Bernay (27)




Plus d'informations sur la liste de diffusion gepi-users