From 2330bb06ececee220d854883a2870a3adf17c277 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 19 Oct 2014 03:54:53 +0200 Subject: Version 4.1. Support for photo galleries and advanced caching. --- functions.php | 419 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 406 insertions(+), 13 deletions(-) (limited to 'functions.php') diff --git a/functions.php b/functions.php index 9f5ff49..31eeb94 100644 --- a/functions.php +++ b/functions.php @@ -24,7 +24,7 @@ function failure($reason, $httpcode, $ajax = true, $heading = NULL){ exit; } - // TODO: Put pretty HTML here, please + // TODO: Put pretty HTML here, please --deprecated? # print full error page if($heading != NULL) @@ -111,8 +111,8 @@ if( isset($_GET["goto"]) && $_GET["goto"] != "" ) { } function print_logout(){ - global $cache; - $cache = false; + global $c; + $c->bypassCache = true; global $user; if ( $user->isLoggedIn() ){ $user->logout(); @@ -348,8 +348,8 @@ function _add_entry(){ function print_404(){ header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found'); - global $cache; - $cache = false; + global $c; + $c->bypassCache=true; ?>

Error 404 - Not Found

@@ -368,7 +368,7 @@ function print_404(){

Wir haben die Seite '' nicht gefunden!

- Geh eins zurück! + Geh eins zurück! bypassCache = true; lredirect("account"); global $user; ?> @@ -619,8 +619,8 @@ function print_recover($option = false){ } function print_download(){ - global $cache; - $cache = false; + global $c; + $c->bypassCache = true; if ( ! isset($_GET["type"]) || $_GET["type"] == "plain" ) $type = "plain"; else @@ -641,12 +641,388 @@ function print_download(){ prepare("SELECT name, description, owner, time FROM " . DBPREFIX . "gallery WHERE id = %d ;", $_GET["gallery"]); + $res = $db->doQuery($sql); + require 'static/modal-new-gallery.html'; + if ( $res->num_rows <= 0 ) { + // Start 404 + $c->bypassCache=true; + +?> +

Keine Galerie gefunden!

+
+

Vielleicht wäre es angebracht eine neue Galerie zu erstellen?

+
+ + + +addHeader( "" ); + $moar->addFooter(''); + + if ( isset($_GET["edit"]) ){ + $moar->addFooter(''); + } + if ( isset($_GET["new"]) ){ + $moar->addFooter(''); + } + + if ( $c->exists2( CACHEPREFIX . "gallery_headline_" . $_SESSION["gallery"] ) ){ + echo $c->get2( CACHEPREFIX . "gallery_headline_" . $_SESSION["gallery"] ); + } else { + ob_start(); + $row = $res->fetch_array(MYSQLI_ASSOC); + $owner = $db->doQuery("SELECT name FROM " . DBPREFIX . "user WHERE id = " . $row["owner"] . ";"); + $owner = $owner->fetch_array(MYSQLI_NUM); + $owner = $owner[0]; + + require 'static/modal-edit-gallery.php'; + require 'static/modal-delete-gallery.php'; + +?> + +
+set2( CACHEPREFIX . "gallery_headline_" . $_SESSION["gallery"], ob_get_contents() ); + ob_end_flush(); + } +?> + + +
+ + +
+ + +
+ + +exists( CACHEPREFIX . "gallery_imagelinks_" . $_SESSION["gallery"] ) ){ + echo $c->get2( CACHEPREFIX . "gallery_imagelinks_" . $_SESSION["gallery"] ); + } else { + ob_start(); + $images = array_diff( scandir(IMAGE_PATH . $_SESSION["gallery"] . '/thumbnail' ), array('..', '.') ); + if ( ! is_null($images) ){ + echo '"; + } else { + echo "

Keine Bilder in der aktuellen Gallerie vorhanden!

"; + } + $c->set2( CACHEPREFIX . "gallery_imagelinks_" . $_SESSION["gallery"], ob_get_contents() ); + ob_end_flush(); + } +?> + +
+addFooter(''); +?> + +
+ +
+ +
+
+ + + + Add files... + + + + + + + + +
+ +
+ +
+
+
+ +
 
+
+
+ + +
+ + + +
+ + + + + +bypassCache = true; + } +?> + +
+ + + +

Liste aller Galerien

+
+ +
+ +
+exists2( CACHEPREFIX . 'list_all_gallery' ) ){ + echo $c->get2( CACHEPREFIX . 'list_all_gallery' ); + } else { + global $db; + $res = $db->doQuery("SELECT * FROM " . DBPREFIX . "gallery;"); + $numb = $db->affectedRows(); + + $class = array('fa fa-camera', 'fa fa-camera-retro', 'fa fa-picture-o'); + ob_start(); + while ( $row = $res->fetch_array(MYSQLI_ASSOC) ){ + + $res_n = $db->doQuery("SELECT name FROM " . DBPREFIX . "user WHERE id = " . $row["owner"] . ";"); + $name = $res_n->fetch_array(MYSQLI_ASSOC); + $name = $name["name"]; + $span = ' '; + +?> + + + +
+$numb Ergebnisse gefunden"; +?> +
+ + +
+set2( CACHEPREFIX . 'list_all_gallery', ob_get_contents() ); + ob_end_flush(); + } +} + function flush_cache(){ lredirect("cache"); global $c; - $c->flush(); - global $cache; - $cache = false; + $c->flushAll(); + $c->bypassCache = true; ?>

Cache flushed!

@@ -670,3 +1046,20 @@ function minify($buffer){ return $buffer; } + +# remove recursive all directories and files +function rrmdir($dir) { + if (is_dir($dir)) { + $objects = scandir($dir); + foreach ($objects as $object) { + if ($object != "." && $object != "..") { + if (filetype($dir."/".$object) == "dir") + rrmdir($dir."/".$object); + else + unlink($dir."/".$object); + } + } + reset($objects); + rmdir($dir); + } +} -- cgit v1.2.3