From ef47f3922779f4ebafd5bcd99c8c6e18b96100da Mon Sep 17 00:00:00 2001 From: Bronco Date: Fri, 21 Jun 2013 10:46:43 +0200 Subject: [PATCH] ajouts et modifications MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit possibilité de télécharger une version zippée d'une page --- design/actions.png | Bin 2806 -> 2831 bytes design/style.css | 7 ++-- index.php | 56 ++++++++++++++++++------------ zip.php | 84 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 123 insertions(+), 24 deletions(-) create mode 100644 zip.php diff --git a/design/actions.png b/design/actions.png index ac00de90c0695c33b66394ab0da704efb79e2559..1e43e39da60a8f259c47319821c90d37f6a8914f 100644 GIT binary patch delta 2758 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 delta 2733 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 diff --git a/design/style.css b/design/style.css index 79953d6..badfce2 100644 --- a/design/style.css +++ b/design/style.css @@ -37,12 +37,13 @@ aside li{margin:5px;list-style:none;vertical-align:middle;border-radius:3px;} aside .public li{background:rgba(100,255,100,0.2);} aside .private li{background:rgba(255,100,100,0.2);} aside .public {background:rgba(100,255,100,0.2);} -aside .private {background:rgba(255,100,100,0.2);} +aside .private {background:rgba(255,100,100,0.2);} aside li em {font-size:10px ; color:#484;} aside li img {vertical-align:bottom;margin:1px;width:16px;height:16px;} -aside li a.suppr, aside li a.origine{opacity:0.5;width:16px;height:16px;display:inline-block;background:url(actions.png) no-repeat 0 -159px ;} +aside li a.suppr, aside li a.origine, aside li a.zip{opacity:0.5;width:16px;height:16px;display:inline-block;background:url(actions.png) no-repeat 0 -159px ;} aside li a.origine{background-position: 0 -396px ;} -aside li a.suppr:hover,aside li a.origine:hover{opacity:1;} +aside li a.zip{background-position: 0 2px ;} +aside li a.suppr:hover,aside li a.origine:hover,aside li a.zip:hover{opacity:1;} aside li a.toprivate,aside li a.topublic{float:right;margin-right:5px;opacity:0.5;} aside li a.toprivate:hover,aside li a.topublic:hover{opacity:1;} diff --git a/index.php b/index.php index e40b680..eb0f3ac 100644 --- a/index.php +++ b/index.php @@ -36,6 +36,7 @@ $bookmarklet=' $link) { $link[1] = trim($link[1]); if (!preg_match('#^(([a-z]+://)|(\#))#', $link[1]) ) { - // absolute path w/o HTTP : add http. if (preg_match('#^//#', $link[1])) { $matches[$i][1] = $url_p['s'].':'.$link[1]; @@ -559,7 +572,8 @@ if ($GLOBALS['done']['d'] !== FALSE) { } else { $titre = 'titre'; $url = '#'; $date = 'date inconnue'; } - echo "\t".'
  • - '.$titre.' ['.$date.']
  • '."\n"; + echo "\t".'
  • - '.$titre.' ['.$date.']'; + if (!$public){echo '
  • '."\n";}else{echo "\n";} } } echo ''."\n"; @@ -590,7 +604,7 @@ if ($GLOBALS['done']['d'] !== FALSE) { } else { $titre = 'titre'; $url = '#'; $date = 'date inconnue'; } - echo "\t".'
  • - '.$titre.' ['.$date.']
  • '."\n"; + echo "\t".'
  • - '.$titre.' ['.$date.']
  • '."\n"; } } echo ''."\n"; diff --git a/zip.php b/zip.php new file mode 100644 index 0000000..54a00b1 --- /dev/null +++ b/zip.php @@ -0,0 +1,84 @@ +open($nom_archive, ZipArchive::CREATE) !== TRUE) { + // La création de l'archive a échouée + return false; + } + } + + if(substr($adr_dossier, -1)!='/') { + // Si l'adresse du dossier ne se termine pas par '/', on le rajoute + $adr_dossier .= '/'; + } + + if($dossier_base=="") { + // Si $dossier_base est vide ça veut dire que l'on rentre + // dans la fonction pour la première fois. Donc on retient + // le tout premier dossier (le dossier racine) dans $dossier_base + $dossier_base=$adr_dossier; + } + + if(file_exists($adr_dossier)) { + if(@$dossier = opendir($adr_dossier)) { + while(false !== ($fichier = readdir($dossier))) { + if($fichier != '.' && $fichier != '..') { + if(is_dir($adr_dossier.$fichier)) { + $zip->addEmptyDir($adr_dossier.$fichier); + zip($nom_archive, $adr_dossier.$fichier, $dossier_destination, $zip, $dossier_base); + } + else { + $zip->addFile($adr_dossier.$fichier); + } + } + } + } + } + + if($dossier_base==$adr_dossier) { + // On ferme la zip + $zip->close(); + + if($dossier_destination!='') { + if(substr($dossier_destination, -1)!='/') { + // Si l'adresse du dossier ne se termine pas par '/', on le rajoute + $dossier_destination .= '/'; + } + + // On déplace l'archive dans le dossier voulu + if(rename($nom_archive, $dossier_destination.$nom_archive)) { + return true; + } + else { + return false; + } + } + else { + return true; + } + } +} + +?>