Support et annonces PhpMyNewsLetter.
Vous n'êtes pas identifié(e).
Pages :: 1
Au moment du téléchargement j'avais une erreur de type accès interdit :
403 Forbidden You don't have permission to access /upgrade.php
Je semble ne pas être le seul à avoir ce problème, je partage donc ma solution. J'ai modifié le fichier pour le faire fonctionner sur notre serveur mutualisé.
echo "<div align='center'><h4 class='alert_info'><a href='upgrade.php?op=download&p=$PATH_BACKUP_CURRENT_VERSION'
style='color:black'>Cliquer pour continuer / click to continue : téléchargement nouvelle verrsion / Download new version</a></h4></div>";
break;
case 'download':
include_once('include/config.php');
$VERSION_TO_UPGRADE = $pmnl_version;
$PATH_BACKUP_CURRENT_VERSION = (empty($_GET['p']) ? "" : $_GET['p']);
if (!is_dir($PATH_BACKUP_CURRENT_VERSION)) {
die("<h4 class='alert_error'>Erreur sur vérification du répertoire de travail : $PATH_BACKUP_CURRENT_VERSION/ ! Répertoire inconnu<br>
Error while checking for working path : $PATH_BACKUP_CURRENT_VERSION/ ! Bad path</h4>");
}
$URL_FILE_NEW_VERSION = 'https://www.phpmynewsletter.com/versions/' . getVersion() . '/phpmynewsletter.zip';
$FILE_TO_UNZIP = $PATH_BACKUP_CURRENT_VERSION . '/' . $PATH_BACKUP_CURRENT_VERSION . '.zip';
$url = $URL_FILE_NEW_VERSION;
$path = $FILE_TO_UNZIP;
$newfname = $path;
$file = fopen($url, 'rb');
if ($file) {
$newf = fopen($newfname, 'wb');
if ($newf) {
while (!feof($file)) {
fwrite($newf, fread($file, 1024 * 8), 1024 * 8);
}
}
}
if ($file) {
fclose($file);
if ($newf) {
fclose($newf);
echo "<h4 class='alert_success'>Téléchargement nouvelle version OK !<br>
Download new version OK !</h4>";
} else {
die("<h4 class='alert_error'>Erreur sur écriture du fichier téléchargé !<br>
Error while writing downloaded file !</h4>");
}
} else {
die("<h4 class='alert_error'>Erreur sur téléchargement du nouveau fichier !<br>
Error while downloading new file !</h4>");
}
Bonus :
ya une petite erreur ici aussi mais sans gravité (les ; au mauvais endroit ):
<style>
body{margin:50px;padding:50px;}
hr{height:10px;border:0;box-shadow:0 5px 5px -5px #8c8b8b inset;}
p{margin:10px;padding:10px;}
</style>
Dernière modification par Imago (02-06-2017 13:34:45)
Hors ligne
Bonjour Imago, et surtout bienvenue sur le forum de support.
Effectivement, j'ai caffouillé le css, c'est rectifié sur le script upgrade.php disponible pour mise à jour.
Par contre, ligne 386, tu veux parler du file_get_contents ?
OVH mutu ne le connait pas, c'est ça ? (Fonction désactivée ?)
Je ne suis pas sûr de bien comprendre, merci de m'éclairer (et j'améliorerai en conséquence, bien évidemment)
Merci,
Arnaud
Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide
Hors ligne
Ce n'est qu'une supposition, le problème étant aléatoire avec l'hébergeur mais je pense que suivant le niveau de sécurité appliqué l'utilisation du mot clé "wget" dans une requête GET + l'utilisation de "file_get_contents" déclenche le par feu applicatif qui bloque la requête au niveau du serveur.
De plus la fonction file_get_contents est réputée pour poser des problème avec le SSL ou l'UTF-8, et l'utilisation est déconseillé.
j'y pense que maintenant, mais normalement pour ce genre de requête sensible on utilise généralement un/des try{} catch{} plutôt que des if{}
Hors ligne
OK, j'avoue !
Etant un vieux développeur qui fuit les frameworks ( ), certaines bonnes pratiques m'échappent ! Suis plutôt en mode From Scratch...
Je considère donc que ton paragraphe est une proposition d'amélioration, et vais donc la tester pour MEP (Mise en prod).
Merci beaucoup, et à noter que toutes les propositions d'amélioration du code sont les bienvenues (sans framework, l'outil est spécifique).
Arnaud
Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide
Hors ligne
Pages :: 1