Changeset 5228 in spip-zone for _dev_/spip_loader/spip_loader.php.txt


Ignore:
Timestamp:
Sep 10, 2006, 1:14:08 AM (15 years ago)
Author:
james@…
Message:

Il se peut qu'on ne puisse pas dézipper, même si la lib est là et qu'on peut créer un fichier dans le répertoire courant. pclzip chercher à créer le répertoire '.', ce n'est pas toujours autoriser

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _dev_/spip_loader/spip_loader.php.txt

    r5181 r5228  
    434434                        if ($fichier = $_GET['fichier']
    435435                        AND file_exists($dir_base.$fichier)) {
    436                                 $nom_tmp = substr($fichier, 0, -4);
    437436                                $zip = new PclZip($dir_base.$fichier);
    438437                                $ok = $zip->extract(
     
    440439                                        PCLZIP_OPT_SET_CHMOD, $chmod & ~0111,
    441440                                        PCLZIP_OPT_REMOVE_PATH, "spip/");
    442                                 nettoyer_racine($fichier);
    443                                 if (!$ok) {
     441                                if ($zip->error_code<0) {
    444442                                        debut_html();
    445                                         echo _T('donnees_incorrectes');
     443                                        echo _T('donnees_incorrectes',
     444                                                array('erreur' => $zip->errorInfo()));
    446445                                        fin_html();
    447446                                        exit;
    448447                                }
     448                                nettoyer_racine($fichier);
    449449                                header("Location: ".$dir_base."ecrire/");
    450450                                exit;
     
    467467
    468468                        $contenu = recuperer_page(_URL_PAQUET_ZIP);
    469 
    470                         if(!$contenu) {
     469                        $fichier = basename(_URL_PAQUET_ZIP);
     470
     471                        if(!($contenu AND ecrire_fichier($dir_base.$fichier, $contenu))) {
    471472                                debut_html();
    472473                                echo _T('echec_chargement');
     
    474475                                exit;
    475476                        }
    476 
    477                         $fichier = basename(_URL_PAQUET_ZIP);
    478                         ecrire_fichier($dir_base.$fichier, $contenu);
    479477
    480478                        // Passer a l'etape suivante (desarchivage)
Note: See TracChangeset for help on using the changeset viewer.