Merge /media/sdb1/judoRepo into redesign2018
Conflicts: homepage/redesign2018/markdownExperiment/phpLib/imgGallery/index.php.tmpl
This commit is contained in:
@@ -267,7 +267,6 @@ function wkTableHtml(){
|
||||
$siteData['errors'][] = "Error!: " . $db_error->getMessage();
|
||||
}
|
||||
|
||||
|
||||
// Abfrage der Wettkampfdaten der Einzelansicht
|
||||
if(!empty($_GET['wkId'])){
|
||||
$wkInfo=getWk ($db_connection, array('wkId'=>$_GET['wkId']) );
|
||||
@@ -280,25 +279,30 @@ function wkTableHtml(){
|
||||
if( !empty($wkInfo) ){
|
||||
foreach($wkInfo as $wk){
|
||||
$siteData['mainContent'] .=
|
||||
"<h2>".$wk['Veranstaltung']."</h2>".
|
||||
"<ul>".
|
||||
"<li>Datum: <time datetime=".$wk['Datum'].">".strftime("%a, %d. %B %Y", strtotime($wk['Datum']))."</time></li>".
|
||||
"<li>Altersklassen: ".$wk['Altersklassen']."</li>".
|
||||
"<li>Ort: <a href=\"".$wk['Routenplaner']."\">".$wk['Ort']."</a></li>".
|
||||
"</ul>".
|
||||
"<nav>".
|
||||
"<h1>Einzelansicht</h1>".
|
||||
"<div class\"wkInfoBox\">".
|
||||
"<h2>".$wk['Veranstaltung']."</h2>".
|
||||
"<h3>Veranstaltungsdaten</h3>".
|
||||
"<ul>".
|
||||
"<li><a href =\"".$wk['Ausschreibung']."\"><div>Link zur Ausschreibung</div></a></li>".
|
||||
"<li><a href =\"".$wk['Routenplaner'] ."\"><div>Link zum Routenplaner</div></a></li>".
|
||||
"<li><a href =\"/ressourcen/phpLib/calendar.php?wkID=".$wk['lfdeNr']."\"><div>Termin in Kalender übernehmen</div></a></li>";
|
||||
"<li>Datum: <time datetime=".$wk['Datum'].">".strftime("%a, %d. %B %Y", strtotime($wk['Datum']))."</time></li>".
|
||||
"<li>Altersklassen: ".$wk['Altersklassen']."</li>".
|
||||
"<li>Ort: <a href=\"".$wk['Routenplaner']."\">".$wk['Ort']."</a></li>".
|
||||
"</ul>".
|
||||
"<nav>".
|
||||
"<ul>".
|
||||
"<li><a href =\"".$wk['Ausschreibung']."\"><div>Link zur Ausschreibung</div></a></li>".
|
||||
"<li><a href =\"".$wk['Routenplaner'] ."\"><div>Link zum Routenplaner</div></a></li>".
|
||||
"<li><a href =\"/ressourcen/phpLib/calendar.php?wkID=".$wk['lfdeNr']."\"><div>Termin in Kalender übernehmen</div></a></li>";
|
||||
if( !empty($wkGals) ){
|
||||
foreach($wkGals as $wkGal){
|
||||
$siteData['mainContent'] .= "<li><a href=\"".$wkGal['url']."\">".$wkGal['typ']."galerie</a></li>";
|
||||
$siteData['mainContent'] .=
|
||||
"<li><a href=\"".$wkGal['url']."\">".$wkGal['typ']."galerie</a></li>";
|
||||
}
|
||||
}
|
||||
$siteData['mainContent'] .=
|
||||
"</ul>".
|
||||
"</nav>".
|
||||
"</ul>".
|
||||
"</nav>".
|
||||
"</div>".
|
||||
"<hr />";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,6 @@ $retPickedImages = array();
|
||||
return array_unique( $retPickedImages );
|
||||
}/// Ende getPickedImages
|
||||
|
||||
|
||||
/// Hilfsfunktion zum Anpassen der htmlDescription
|
||||
function descrName($aName){
|
||||
$retVal = "Bilder der Judoka des Chemnitzer WSV beim Wettkampf ".$aName;
|
||||
@@ -149,6 +148,11 @@ return $retVal;
|
||||
?>
|
||||
">
|
||||
<meta name="keywords" content="Album, Fotos">
|
||||
<!-- BluimpGallery Zeug -->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/ressourcen/blueimpGallery/css/blueimp-gallery.css">
|
||||
<link rel="stylesheet" href="/ressourcen/blueimpGallery/css/blueimp-gallery-indicator.css">
|
||||
<link rel="stylesheet" href="/ressourcen/blueimpGallery/css/blueimp-gallery-video.css">
|
||||
|
||||
<!-- favIcon und Co nach der empfehlung von https://github.com/audreyr/favicon-cheat-sheet -->
|
||||
<link rel="shortcut icon" type="image/x-icon" sizes="16x16 32x32 48x48 64x64" href="/ressourcen/graphiken/logos/favicon/favicon.ico">
|
||||
@@ -163,7 +167,6 @@ return $retVal;
|
||||
<!-- BluimpGallery Zeug -->
|
||||
<link rel="stylesheet" href="/ressourcen/blueimpGallery/css/blueimp-gallery.min.css">
|
||||
<script src="/ressourcen/blueimpGallery/js/blueimp-gallery.min.js"></script>
|
||||
|
||||
<style>
|
||||
.smallFont{font-size: small;}
|
||||
.centerText{text-align: center;}
|
||||
|
||||
@@ -0,0 +1,349 @@
|
||||
<?php
|
||||
// Daten der Datenbank laden
|
||||
require_once($_SERVER['DOCUMENT_ROOT']."/bonus/db.inc");
|
||||
|
||||
function startsWith($haystack, $needle){
|
||||
$length = strlen($needle);
|
||||
return (substr($haystack, 0, $length) === $needle);
|
||||
}
|
||||
|
||||
/// Abfrage der ausgewählten Bilder einer Galerie
|
||||
function getPickedImages($aMysqlConn, $aGalId){
|
||||
$retPickedImages = array();
|
||||
/// Erstmal bisher ausgewählte Bilder abfragen ...
|
||||
$queryPickedImages = sprintf(
|
||||
"SELECT * FROM cwsvjudo.galImgPicker WHERE galId = '%s';",
|
||||
$aMysqlConn->real_escape_string($aGalId)
|
||||
);
|
||||
|
||||
// die($queryPickedImages);
|
||||
|
||||
$resultsPickedImages = $aMysqlConn->query($queryPickedImages);
|
||||
|
||||
/// @todo Wie kann ich hier sinnvoll einen Fehler zurückliefern? Nullpointer?
|
||||
if( !$resultsPickedImages ){
|
||||
$retMessage['error'] .= "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'<br />";
|
||||
die( "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'<br />");
|
||||
}
|
||||
else{
|
||||
while( $pickedImagesResult = $resultsPickedImages->fetch_assoc() ){
|
||||
$retPickedImages = array_merge($retPickedImages, explode(',', $pickedImagesResult['pickedImages']) );
|
||||
}
|
||||
}
|
||||
//echo("retPickedImages: ");print_r($retPickedImages); die();
|
||||
return array_unique( $retPickedImages );
|
||||
}/// Ende getPickedImages
|
||||
|
||||
/// Hilfsfunktion zum Anpassen der htmlDescription
|
||||
function descrName($aName){
|
||||
$retVal = "Bilder der Judoka des Chemnitzer WSV beim Wettkampf ".$aName;
|
||||
if( strpos($aName, "Sommerabschlussgrillen") >= 0 ) $retVal = "Bilder der Judoka des Chemnitzer WSV beim ".$aName;
|
||||
if( strpos($aName, "Jahrendefeier") >= 0 ) $retVal = "Bilder der Judoka des Chemnitzer WSV bei der ".$aName;
|
||||
return $retVal;
|
||||
}/// Ende descrName
|
||||
|
||||
$loginStatus = "false";
|
||||
$chooseMode = "false";
|
||||
$showAllMode = "false";
|
||||
$messages = array();
|
||||
$galleryId = "0";
|
||||
$pickedImages = array();
|
||||
|
||||
// echo("imgList: "); print_r($imgList);
|
||||
// foreach($imgList as $img){
|
||||
// echo(" ".$img." startsWith images/ :".startsWith($img, "images/")."\n");
|
||||
// }
|
||||
|
||||
/// Übergebene galleryId abfragen
|
||||
if( !empty($_GET['galId'] ) ) $galleryId = $_GET['galId'];
|
||||
/// @todo Woher erhalte ich die galleryID, wenn sie nicht übergeben wird?
|
||||
|
||||
/// Nachschauen, ob alle Bilder gezeigt werden sollen
|
||||
if( $_GET['showAll'] == "true" )
|
||||
$showAllMode = "true";
|
||||
|
||||
// Testen, ob wir im Bilderauswahlmodus sind...
|
||||
if($_GET['chooseMode'] == "true"){
|
||||
$showAllMode = "true"; // Im Bildauswahlmodus sollten auch alle Bilder angezeigt werden
|
||||
$chooseMode = "true";
|
||||
// Falls ja, dann teste, ob man angemeldet ist
|
||||
/// @todo brauche ich das, wenn ich nur testen will, ob bereits angemeldet ist? -> anscheinend ja!
|
||||
session_start();
|
||||
session_regenerate_id();
|
||||
// Falls der serverseitige Logincookie nicht gesetzt ist
|
||||
if( empty($_SESSION['login']) ){
|
||||
$loginStatus = "false";
|
||||
$messages['info'] .= "Info: Der Bilderauswahlmodus ist nur möglich, wenn man angemeldet ist!<br />";
|
||||
}
|
||||
else{
|
||||
$loginStatus = "true";
|
||||
/// @todo Testen, ob eine intZahl vorliegt
|
||||
/// @todo Testen, ob wir in der richtigen Galerie sind
|
||||
$messages['info'] .= "Info: Der Bilderauswahlmodus für Galerie ".$galleryId." ist aktiv!<br />";
|
||||
}
|
||||
}
|
||||
|
||||
$mysqlConn = @new mysqli($db_server, $db_user, $db_password, $db_name);
|
||||
|
||||
if($mysqlConn->connect_error){
|
||||
$message['error'] .= "Fehler: Datenbankverbindung fehlgeschlagen: " . $mysqlConn->connect_error . "<br />";
|
||||
}
|
||||
else{
|
||||
$pickedImages = getPickedImages( $mysqlConn, $galleryId );
|
||||
$mysqlConn->close();
|
||||
}
|
||||
|
||||
/// Überschreiben der imgList mit den ausgewählten Bildern
|
||||
$allImgList = $imgList; // Sicherungskopie
|
||||
//echo("imgList:");print_r($imgList);
|
||||
// echo("pickedImages: "); print_r($pickedImages);
|
||||
|
||||
if( count($pickedImages) > 24 )
|
||||
$pickedImages = array_rand( $pickedImages, 24);
|
||||
else{
|
||||
$restImages = array_diff( $allImgList, $pickedImages );
|
||||
//echo("restImages: "); print_r($restImages);
|
||||
//echo("count(restImages): ".count($restImages));
|
||||
//echo("count(24-count($pickedImages)): ".(24-count($pickedImages)));
|
||||
foreach( array_rand( $restImages, min(24, count($restImages))-count($pickedImages) ) as $k ) {
|
||||
$pickedImages[] = $restImages[$k];
|
||||
}
|
||||
// echo("pickedImages: "); print_r($pickedImages);
|
||||
}
|
||||
$imgList = $pickedImages;
|
||||
// echo("imgList: "); print_r($imgList);
|
||||
|
||||
/// @todo ein Sortieren nach dem ursprünglichen Index fehlt
|
||||
usort($imgList, function($a, $b) use($allImgList){return array_search($a, $allImgList) > array_search($b, $allImgList);} );
|
||||
$imgList = array_values( $imgList );// Zum reNummerieren
|
||||
// echo("imgList: "); print_r($imgList);
|
||||
|
||||
if( $showAllMode == "true") $imgList = $allImgList;
|
||||
|
||||
$imgInfos = array();
|
||||
foreach( $imgList as $imgName ){
|
||||
if(startsWith($imgName, "images/")){
|
||||
array_push( $imgInfos, getimagesize(str_replace("images", "thumbs", str_replace(".jpg", ".png", $imgName))));
|
||||
}
|
||||
else{
|
||||
array_push( $imgInfos, getimagesize("thumbs/".str_replace(".jpg", ".png", $imgName)));
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<title><?php echo $wkName?> - Bilderalbum<?php echo( !empty($showAllMode)?($showAllMode == "true" ? " - alle Bilder" : "") : "");?></title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="description" content="
|
||||
<?php
|
||||
echo descrName($wkName);
|
||||
echo( !empty($showAllMode)?($showAllMode == "true" ? " - alle Bilder" : "") : "");
|
||||
?>
|
||||
">
|
||||
<meta name="keywords" content="Album, Fotos">
|
||||
<!-- BluimpGallery Zeug -->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/ressourcen/blueimpGallery/css/blueimp-gallery.css">
|
||||
<link rel="stylesheet" href="/ressourcen/blueimpGallery/css/blueimp-gallery-indicator.css">
|
||||
<link rel="stylesheet" href="/ressourcen/blueimpGallery/css/blueimp-gallery-video.css">
|
||||
|
||||
<!-- favIcon und Co nach der empfehlung von https://github.com/audreyr/favicon-cheat-sheet -->
|
||||
<link rel="shortcut icon" type="image/x-icon" sizes="16x16 32x32 48x48 64x64" href="/ressourcen/graphiken/logos/favicon/favicon.ico">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="/ressourcen/graphiken/logos/apple-touch-icon/apple-touch-icon-152.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/ressourcen/graphiken/logos/apple-touch-icon/apple-touch-icon-180.png" />
|
||||
<link rel="manifest" href="/manifest.json">
|
||||
|
||||
<link rel="canonical" href="http://cwsvjudo.bplaced.net<?php echo $_SERVER['REQUEST_URI']?>" />
|
||||
|
||||
<script type="text/javascript" src="/ressourcen/jsLib/jquery-3.1.1.min.js"></script>
|
||||
<script type="text/javascript" src="/ressourcen/jsLib/jquery.lazyload.min.js"></script>
|
||||
<style>
|
||||
.lazy{ display: none;}
|
||||
.smallFont{font-size: small;}
|
||||
.centerText{text-align: center;}
|
||||
.navButton{
|
||||
box-sizing: border-box;
|
||||
border-color: white;
|
||||
border-style: outset;
|
||||
border-radius: 1em;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
padding-left: .5em;
|
||||
padding-right: .5em;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body style="color: #000000; background-color: #FFAE00" >
|
||||
<?php
|
||||
require_once( $_SERVER['DOCUMENT_ROOT'].'/ressourcen/phpLib/is_mobile.php');
|
||||
if(is_mobile()) echo "<a title=\"Galerien der Judoka des Chemnitzer WSV\" href=\"/pages/mobile/verein.wettkampfgalerien.php\">Zur Galerieübersicht</a>";
|
||||
else echo "<a title=\"Galerien der Judoka des Chemnitzer WSV\" href=\"/pages/desktop/verein.galerien.php\">Zur Galerieübersicht</a>";
|
||||
?>
|
||||
<?php
|
||||
/// Eine kleine Messagebox
|
||||
if( !empty($messages) ){
|
||||
?>
|
||||
<div style="border: 1px solid black">
|
||||
<?php
|
||||
if( !empty( $messages['info'] ) ) echo( $messages['info'] );
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
// echo("pickedImages: "); print_r($pickedImages);
|
||||
/// Ende MessageBox
|
||||
?>
|
||||
|
||||
<h1 class="centerText" >
|
||||
Photoalbum [<b><?php echo $wkName?></b>]
|
||||
</h1>
|
||||
<?php
|
||||
if( $showAllMode == "true" ){
|
||||
?>
|
||||
<p class="centerText smallFont">
|
||||
[<?php echo count($imgList)?> Bilder]
|
||||
</p>
|
||||
<?php
|
||||
}
|
||||
else{
|
||||
?>
|
||||
<a href=<?php echo( "\"?galId=".(empty($galleryId)?"0":$galleryId)."&showAll=true".($chooseMode=="true"?"&chooseMode=true":"")."\"");?>><div class="navButton" style="width: 100%;">Alle Bilder einblenden </div></a>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<p class="centerText smallFont">
|
||||
Auf die jeweiligen Bilder klicken um eine größere Ansicht zu bekommen.
|
||||
</p>
|
||||
<hr/>
|
||||
|
||||
<style type="text/css">
|
||||
.galImgList{
|
||||
/*flex: auto;*/
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- The container for the list of example images -->
|
||||
|
||||
<?php
|
||||
if( $chooseMode == "true" ){
|
||||
echo( "<form action=\"http://cwsvjudo.bplaced.net/ressourcen/phpLib/imgGallery/imgPicker.php\" method=\"post\">" );
|
||||
echo( "<input type=\"hidden\" name=\"galId\" value=\"".$galleryId."\" />" );
|
||||
}
|
||||
?>
|
||||
<div id="links" class="galImgList">
|
||||
<?php
|
||||
$imgSize = count( $imgList );
|
||||
for( $imgIndex = 0; $imgIndex < $imgSize; ++$imgIndex){
|
||||
echo( "<div ".( ($chooseMode=="true")?"style=\"border: 1px solid black;\"":"" ).">" );
|
||||
if( $chooseMode == "true" ){
|
||||
echo("<label>");
|
||||
echo( "<input type=\"checkbox\" name=\"pickedImages[]\" value=\"".$imgList[$imgIndex]."\" />" );
|
||||
}
|
||||
echo "<img class=\"lazy\" ".
|
||||
"id=\"Image".( $imgIndex )."\" ".
|
||||
// "data-original=\"./thumbs/".( startsWith( $imgList[$imgIndex], "images/")?str_replace("images/", "", str_replace(".jpg", ".png", $imgName)):str_replace(".jpg", ".png", $imgList[$imgIndex]) )."\" ".
|
||||
// "data-original=\"./thumbs/".str_replace(".jpg", ".png", $imgList[$imgIndex])."\" ".
|
||||
"data-original=\"".( startsWith( $imgList[$imgIndex], "images/")?str_replace("images", "thumbs", str_replace(".jpg", ".png", $imgList[$imgIndex])):"./thumbs/".str_replace(".jpg", ".png", $imgList[$imgIndex]) )."\" ".
|
||||
$imgInfos[$imgIndex][3]." ".
|
||||
"alt=\"[".( $imgIndex )."/".( $imgSize )."]\" ".
|
||||
"title=\"".( $wkName )." Bild ".( $imgIndex +1 )." von ".( $imgSize )."\" ".
|
||||
"onclick=\"startGalleryShow(" . $imgIndex . ");\"".
|
||||
" />";
|
||||
echo "<noscript><a href=\"view.php?index=".( $imgIndex )."\" >".
|
||||
"<img id=\"Image".( $imgIndex + 1)."\" ".
|
||||
"src=\"".( startsWith( $imgList[$imgIndex], "images/")?str_replace("images", "thumbs", str_replace(".jpg", ".png", $imgList[$imgIndex])):"./thumbs/".str_replace(".jpg", ".png", $imgList[$imgIndex]) )."\" ".
|
||||
"alt=\"[".( $imgIndex )."/".( $imgSize )."]\" ".
|
||||
"title=\"".( $wkName )." Bild ".( $imgIndex + 1 )." von ".( $imgSize )."\" ".
|
||||
"/></a></noscript>";
|
||||
if( $chooseMode == "true" ) echo( "</label>" );
|
||||
echo("</div>");
|
||||
}
|
||||
?>
|
||||
</div><!-- Ende galImgList -->
|
||||
<?php
|
||||
if( $chooseMode == "true" ){
|
||||
echo( "<button type=\"submit\">Eingaben absenden</button>" );
|
||||
echo( "</form>" );
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
$(function() {
|
||||
$("img.lazy").show().lazyload();
|
||||
// $("img.lazy").lazyload();
|
||||
});
|
||||
</script>
|
||||
<!-- BluimpGalerry Lightbox Version -->
|
||||
<!-- The Gallery as lightbox dialog, should be a child element of the document body -->
|
||||
<div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls">
|
||||
<div class="slides"></div>
|
||||
<h2 class="title"><?php echo $wkName?></h2>
|
||||
<a class="prev">‹</a>
|
||||
<a class="next">›</a>
|
||||
<a class="close">×</a>
|
||||
<a class="play-pause"></a>
|
||||
<ol class="indicator"></ol>
|
||||
</div>
|
||||
<script type="text/javascript" src="/ressourcen/blueimpGallery/js/blueimp-gallery.min.js"></script>
|
||||
<script type="text/javascript" src="/ressourcen/blueimpGallery/js/jquery.blueimp-gallery.min.js"></script>
|
||||
<script>
|
||||
function startGalleryShow(startIndex = 0){
|
||||
var imgList = [
|
||||
<?php
|
||||
$imgSize = count( $imgList );
|
||||
for( $imgIndex = 0; $imgIndex < $imgSize; ++$imgIndex){
|
||||
echo "\"".( $imgList[ $imgIndex ] )."\", ";
|
||||
}
|
||||
?>];
|
||||
var gallery = blueimp.Gallery(
|
||||
imgList,
|
||||
{
|
||||
onslide: function (index, slide) {
|
||||
var counterUrl = "/expCounter/counter.php";
|
||||
var pageUrl = encodeURIComponent( window.location.href ) + "?index=" + index.toString();
|
||||
var pageTitle = document.title + " [" + index.toString() + "]";
|
||||
var callUrl = counterUrl + "?jscode_version=1.2&chCounter_mode=js&status=active&visible=0&page_title=" + pageTitle + "&page_url=" + pageUrl;
|
||||
|
||||
var xmlHttp = new XMLHttpRequest();
|
||||
xmlHttp.open("GET", callUrl, true); // true for asynchronous
|
||||
xmlHttp.send(null);
|
||||
},
|
||||
startSlideshow: true,
|
||||
stretchImages: true,
|
||||
index: startIndex,
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
window.onload = function () {
|
||||
startGalleryShow();
|
||||
};
|
||||
// startGalleryShow();
|
||||
</script>
|
||||
<hr/>
|
||||
<!--Beginn der Einbindung des Counters-->
|
||||
<?php
|
||||
$chCounter_template = <<<TEMPLATE
|
||||
<table>
|
||||
<tr>
|
||||
<td>Besucher online: {V_VISITORS_CURRENTLY_ONLINE}</td>
|
||||
<td>Besucher bisher: {V_PAGE_VIEWS_THIS_PAGE}</td>
|
||||
</tr>
|
||||
</table>
|
||||
TEMPLATE;
|
||||
$chCounter_page_title = "Photoalbum ".$wkName;
|
||||
$chCounter_visible=1; include( $_SERVER['DOCUMENT_ROOT'].'/expCounter/counter.php');?>
|
||||
<!--Ende der Einbindung des Counters-->
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user