[SPIP] ~maj v3.0.14-->v3.0.17
[ptitvelo/web/www.git] / www / plugins-dist / svp / formulaires / charger_plugin_archive.php
index 93d0f32..57c05ea 100644 (file)
@@ -38,23 +38,29 @@ function formulaires_charger_plugin_archive_verifier_dist(){
        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)));
+                       }
                }
        }