J'ai un peu regarder le problème pour l'Upload du Logo.
J'ai pas encore craqué le bug, mais au moins, j'ai trouvé où cela coince.
En fait, lorsque l'on valide le formulaire, on ne rentre pas dans le "if" de de l'Upload du logo :
Code : Tout sélectionner
if($_POST['submit_general'])
{
//upload logo file
if($_FILES['logo']['name']) <<<<<<<<<<<<<<<<< Ici, la valeur renvoyer par $_FILES['logo']['name'] est FALSE
{
$filename = $_FILES['logo']['name'];
//secure upload excluding certain extension files
$blacklist = array('php','php3' ,'php4', 'js', 'htm', 'html', 'phtml');
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if(!in_array($ext,$blacklist) ) {
$repertoireDestination = "./upload/logo/";
if (move_uploaded_file($_FILES['logo']['tmp_name'], $repertoireDestination.$filename) )
{
} else {
echo "Erreur de transfert vérifier le chemin ".$repertoireDestination;
}
} else {
echo '<div class="alert alert-danger"><strong><i class="icon-remove"></i>Blocage de sécurité:</strong> Type de fichier interdit.<br></div>';
$filename='logo.png';
}
}
else {
$filename=$rparameters['logo'];
}
La valeur renvoyer par $_FILES['logo']['name'] est FALSE.
J'ai fait le test en mettant if(
!$_FILES['logo']['name']) : on voit bien apparaitre le message d'erreur "Erreur de transfert vérifier le chemin ./upload/logo/".
Le problème doit donc être plus bas, dans le formulaire HTML, quelque part par là :
Code : Tout sélectionner
<label for="logo">Logo: </label>
<?php
if ($rparameters['logo']!="")
{
echo '
<img src="./upload/logo/'.$rparameters['logo'].'" />
<a title="Supprimer ce logo" href="./index.php?page=admin&subpage=parameters&tab=general&action=deletelogo">
<i class="icon-trash red bigger-160"></i>
</a>
';
} else {
echo "<input type=\"file\" id=\"logo\" name=\"logo\" />";
}
?>
Mais j'ai beau retourner le code dans tous les sens, pour le moment, j'ai pas mis le doigt sur le problème.
PS : Flox, pourrais-tu déplacer le sujet dans Bugtrack ? Il me semble qu'il y serait plus à sa place
[EDIT] :
à noter que je viens de tester sur la démo (qui est en 3.1.5).
Ca "marche" un petit peu mieux. C'est à dire qu'il rentre bien dans le "if" (donc la valeur renvoyer par $_FILES['logo']['name'] est TRUE).
Par contre j'ai le message d'erreur "Erreur de transfert vérifier le chemin ./upload/logo/".
Malgré tout il met bien à jour la valeur dans la base de donnée.
Je vais essayer de récupérer le fichier parameters.php de la 3.1.5 pour l'étudier un peu.
[EDIT 2] :
J'ai étudié vite fait le fichier parameters.php de la 3.1.5 : rien de différent concernant le code extrait ci dessus.
Donc le problème est ailleurs... et je l'ai pas encore trouvé.