im Feature Tracker wurde das auch schon gewünscht: alle Bilder eines Albums als Archiv laden.
Da ich das auch brauchte, habe ich mich nun ans Werk gemacht und schon mal ein (simples) Addon geschrieben.
Was macht das Addon?
- Es wird für jedes Album ein ZIP Archiv generiert und in dem Album zum Download angeboten. Die Dateigröße des ZIP wird neben dem Link angezeigt.
- Das ZIP wird jedes mal automatisch generiert / aktualisiert, wenn ein Bild hochgeladen oder gelöscht wird.
- Der Name des Archivs wird anhand des Albumnamens generiert.
Automatisch "linkkonform", Leerzeichen werden z.B. durch Unterstriche ersetzt, Umlaute werden umgeschrieben und alles klein geschrieben. - Die Dateinamen in dem Archiv werden anhand der Bildnamen in der Galerie generiert.
Ebenfalls "linkkonform", bzw "ZIP-konform", wie oben beschrieben.
Demo: http://www.harmony-remote-forum.de/gall ... album_id=1
--> Oben, die Box "Das ganze Album als ZIP herunter laden"
Was macht das Addon nicht?
- Keine Einstellmöglichkeiten im ACP - alle Einstellungen müssten in den Dateien vorgenommen werden (was aber nicht nötig sein sollte).
- Es werden keinerlei Daten in der Datenbank abgelegt.
- Verschieben von Bildern wird nicht berücksichtigt.
Sollten Bilder verschoben worden sein, müssten die Archive durch hochladen / löschen eines "Dummy-Bildes" in den Quell- Ziel-Alben händisch aktualisiert werden. - Umbenennen der Galerien wird nicht berücksichtigt.
Da der Name eines vorhandenen Archivs anhand des Albumnamens generiert wurde, wird das ZIP nach dem umbenennen eines Albums nicht mehr gefunden, was zu einer Fehlermeldung führt.
In diesem Fall kann man das ZIP mit dem alten Namen löschen und das neue Archiv durch hochladen / löschen eines Dummy-Bildes neu generieren lassen. - Es lassen sich nicht einzelne Alben für die ZIP-Archive aktivieren - es werden für alle Galerien ZIP erstellt, auch für private Galerien.
- Kein subsilver2 Support - müsst ihr euch selbst basteln.
Für meine Zwecke reicht das aber erstmal.
Bitte auch beachten:
Denkt bitte dran, das nun bei jedem Upload ein neues ZIP vom Server generiert wird. Dadurch würde ich vom Einsatz dieses Addons in Galerien mit sehr viel Bildern eher abraten. Es bestehen zumindest keine Erfahrungen damit.
Installation
Benötigte Dateien: http://www.board3.de/temp/phpbb_gallery ... _alben.zip
Beinhaltet drei Dateien, diese bitte an diese Stelle laden:
- root/gallery/includes/functions_compress.php
- root/gallery/includes/functions_compress_links.php
- root/styles/prosilver/template/gallery/zip.html
- Bitte ein Verzeichnis namens "zip" (ohne Hochkomma) in root/gallery/ erstellen. Also:
root/gallery/zip
Wichtig: dies Verzeichnis muss beschreibbar sein! (Chmod 777)
Nun zu den benötigten Änderungen an den Galerie-Dateien:
Öffne:
root/gallery/album.php
suche:
- Code: Select all
'S_WATCHING_TOPIC' => ($album_data['watch_id']) ? true : false,
));
füge danach ein:
- Code: Select all
// Das ZIP bereit stellen....
include_once($phpbb_root_path . $gallery_root_path . 'includes/functions_compress_links.' . $phpEx);
Öffne:
root/gallery/posting.php
suche:
- Code: Select all
gallery_notification('album', $album_id, $image_name);
handle_image_counter($image_id_ary, true);
$sql = 'UPDATE ' . GALLERY_ALBUMS_TABLE . "
SET album_images_real = album_images_real + $images
WHERE album_id = $album_id";
$db->sql_query($sql);
füge danach ein:
- Code: Select all
// Ein ZIP bereit stellen....
include_once($phpbb_root_path . $gallery_root_path . 'includes/functions_compress.' . $phpEx);
suche:
- Code: Select all
$sql = 'DELETE FROM ' . GALLERY_IMAGES_TABLE . "
WHERE image_id = $image_id";
$db->sql_query($sql);
update_album_info($album_id);
füge danach ein:
- Code: Select all
// Ein ZIP bereit stellen....
include_once($phpbb_root_path . $gallery_root_path . 'includes/functions_compress.' . $phpEx);
Öffne:
root/styles/prosilver/template/gallery/album_body.html
suche:
- Code: Select all
<!-- IF U_CREATE_ALBUM --><br /><strong><a href="{U_CREATE_ALBUM}">{L_CREATE_SUBALBUM}</a></strong><!-- ENDIF -->
</div>
<!-- ENDIF -->
füge danach ein:
- Code: Select all
<!-- INCLUDE gallery/zip.html -->
Das sollte es gewesen sein - viel Spaß damit!
Gruß
Kevin



