if (!$archive = _request('archive')) {
$erreurs['archive'] = _T('info_obligatoire');
} else {
- // calcul du répertoire de destination
- if (!$destination = _request('destination')) {
- $destination = pathinfo($archive);
- $destination = $destination['filename'];
+ // Validité de l'url de l'archive
+ $infos_archive = pathinfo($archive);
+ if (!isset($infos_archive['extension'])) {
+ $erreurs['archive'] = _T('svp:message_nok_url_archive');
}
- $destination = str_replace('../', '', $destination);
- set_request('destination', $destination);
+ else {
+ // calcul du répertoire de destination
+ if (!$destination = _request('destination')) {
+ $destination = $infos_archive['filename'];
+ }
+ $destination = str_replace('../', '', $destination);
+ set_request('destination', $destination);
- // si la destination existe, on demande confirmation de l'ecrasement.
- $dir = _DIR_PLUGINS_AUTO . $destination;
- if (is_dir($dir) and !_request('confirmer')) {
- $base = dirname($dir);
- $nom = basename($dir);
- $backup = "$base/.$nom.bck";
- $erreurs['confirmer'] = _T("svp:confirmer_telecharger_dans", array(
- 'dir' => joli_repertoire($dir),
- 'dir_backup' => joli_repertoire($backup)));
+ // si la destination existe, on demande confirmation de l'ecrasement.
+ $dir = _DIR_PLUGINS_AUTO . $destination;
+ if (is_dir($dir) and !_request('confirmer')) {
+ $base = dirname($dir);
+ $nom = basename($dir);
+ $backup = "$base/.$nom.bck";
+ $erreurs['confirmer'] = _T("svp:confirmer_telecharger_dans", array(
+ 'dir' => joli_repertoire($dir),
+ 'dir_backup' => joli_repertoire($backup)));
+ }
}
}