Übernahme woanders erstellter Änderungen
This commit is contained in:
@@ -63,6 +63,21 @@ $messages=array();
|
||||
);
|
||||
}
|
||||
|
||||
if($_GET['veranstaltungsArt']=="Feier"){
|
||||
$queryGals =
|
||||
"SELECT id,datum,name,url,typ,teaserBildUrl ".
|
||||
"FROM cwsvjudo.wkGalerien ".
|
||||
"WHERE veranstaltungsArt = 'Feier' ORDER BY datum DESC;";
|
||||
}
|
||||
|
||||
if($_GET['veranstaltungsArt']=="Zelten"){
|
||||
$queryGals =
|
||||
"SELECT id,datum,name,url,typ,teaserBildUrl ".
|
||||
"FROM cwsvjudo.wkGalerien ".
|
||||
"WHERE veranstaltungsArt = 'Zelten' ORDER BY datum DESC;";
|
||||
}
|
||||
|
||||
|
||||
$galListe = array();
|
||||
$mysqlResults = $mysqlConn->query($queryGals);
|
||||
if( !$mysqlResults ){
|
||||
@@ -75,30 +90,50 @@ $messages=array();
|
||||
}
|
||||
}
|
||||
|
||||
echo(
|
||||
"<form class=\"yearSelector\">".
|
||||
"<label for=\"jahr\">Jahresauswahl:</label>".
|
||||
"<select name=\"jahr\" onchange=\"javascript: this.form.submit();\" >".
|
||||
"<optgroup label=\"Jahresauswahl\">".
|
||||
"<option value=\"\"".($galJahr!="" ? "" : " selected")." >Neueste</option>"
|
||||
);
|
||||
|
||||
if( !is_array($galJahresListe) )
|
||||
$messages['error'][] = "<div>Fehler bei der Jahreszahlenabfrage!</div>";
|
||||
else{
|
||||
foreach($galJahresListe as $jahr){
|
||||
echo(
|
||||
"<option value=\"".$jahr."\"".($galJahr==$jahr ? " selected" : "").">".$jahr."</option>"
|
||||
);
|
||||
// Für den Fall einer ampSeite darf ich kein form ohne https verwenden
|
||||
if( strpos( $_SERVER['ORIG_PATH_TRANSLATED'], "pages/amp" ) !== false ){
|
||||
if( !is_array($galJahresListe) )
|
||||
$messages['error'][] = "<div>Fehler bei der Jahreszahlenabfrage!</div>";
|
||||
else{
|
||||
echo("<ol class=\"yearList\">");
|
||||
foreach($galJahresListe as $jahr){
|
||||
echo(
|
||||
"<li><a class=\"touchLink\" href=\"?jahr=".$jahr."\">".$jahr."</a></li>"
|
||||
);
|
||||
}
|
||||
echo("</ol>");
|
||||
}
|
||||
}
|
||||
else{
|
||||
echo(
|
||||
"<form class=\"yearSelector\">".
|
||||
"<label for=\"jahrId\">Jahresauswahl:</label>".
|
||||
"<select id=\"jahrId\" name=\"jahr\" onchange=\"javascript: this.form.submit();\" >".
|
||||
"<optgroup label=\"Jahresauswahl\">".
|
||||
"<option value=\"\"".($galJahr!="" ? "" : " selected")." >Neueste</option>"
|
||||
);
|
||||
|
||||
if( !is_array($galJahresListe) )
|
||||
$messages['error'][] = "<div>Fehler bei der Jahreszahlenabfrage!</div>";
|
||||
else{
|
||||
foreach($galJahresListe as $jahr){
|
||||
echo(
|
||||
"<option value=\"".$jahr."\"".($galJahr==$jahr ? " selected" : "").">".$jahr."</option>"
|
||||
);
|
||||
}
|
||||
}
|
||||
echo(
|
||||
"</optgroup>".
|
||||
"</select>".
|
||||
"<noscript>".
|
||||
"<button type=\"submit\">wählen</button>".
|
||||
"</noscript>".
|
||||
"</form>"
|
||||
);
|
||||
|
||||
}// Ende responsiver Jahresselector
|
||||
|
||||
echo(
|
||||
"</optgroup>".
|
||||
"</select>".
|
||||
"<noscript>".
|
||||
"<button type=\"submit\">wählen</button>".
|
||||
"</noscript>".
|
||||
"</form>".
|
||||
"<table class=\"galTable\">".
|
||||
"<thead><tr><th>Datum</th><th>Link zur Galerie</th></tr></thead>".
|
||||
"<tbody>"
|
||||
@@ -123,8 +158,16 @@ $messages=array();
|
||||
"</td>".
|
||||
// "<td class=\"floatClearBoth\">".
|
||||
"<td >".
|
||||
"<a href=\"".mb_convert_encoding($gal['url'], 'UTF-8', 'ISO-8859-1')."?galId=".$gal['id']."\">".
|
||||
($gal['teaserBildUrl'] != "" ? "<div><img title=\"".mb_convert_encoding($gal['name'], 'UTF-8', 'ISO-8859-1')." - Bilder der Judoka des Chemnitzer WSV\" alt=\"Teaserbild ".mb_convert_encoding($gal['name'], 'UTF-8', 'ISO-8859-1')."\" src=\"".mb_convert_encoding($gal['teaserBildUrl'], 'UTF-8', 'ISO-8859-1')."\"/></div>" : "").
|
||||
"<a href=\"".mb_convert_encoding($gal['url'], 'UTF-8', 'ISO-8859-1')."?galId=".$gal['id']."\">"
|
||||
);
|
||||
$tempString = ($gal['teaserBildUrl'] != "" ? "<div><img title=\"".mb_convert_encoding($gal['name'], 'UTF-8', 'ISO-8859-1')." - Bilder der Judoka des Chemnitzer WSV\" alt=\"Teaserbild ".mb_convert_encoding($gal['name'], 'UTF-8', 'ISO-8859-1')."\" src=\"".mb_convert_encoding($gal['teaserBildUrl'], 'UTF-8', 'ISO-8859-1')."\"/></div>" : "");
|
||||
//echo($_SERVER['ORIG_PATH_TRANSLATED']);
|
||||
if( strpos( $_SERVER['ORIG_PATH_TRANSLATED'], "pages/amp" ) !== false ){
|
||||
$tempString = str_replace("<img", "<amp-img layout=\"responsive\" width=\"200\" height=\"133\"", $tempString);
|
||||
$tempString = str_replace("/>", "></amp-img>", $tempString);
|
||||
}
|
||||
echo( $tempString );
|
||||
echo(
|
||||
"<div>".mb_convert_encoding($gal['name'], 'UTF-8', 'ISO-8859-1')." (".mb_convert_encoding($gal['typ'], 'UTF-8', 'ISO-8859-1').")</div></a>".
|
||||
"</td>".
|
||||
"</tr>"
|
||||
|
||||
@@ -89,6 +89,8 @@ $options = getKeyValueArray($someOptions);
|
||||
$retHtml .= "</div>";
|
||||
$retHtml .= "<div class=\"newsBody\">";
|
||||
|
||||
$aNews['nachricht'] = str_replace("\r\n", "\n", $aNews['nachricht']);
|
||||
|
||||
if( !filter_var($aNews['promoImg'], FILTER_VALIDATE_URL) ){
|
||||
$domDoc = new DOMDocument();
|
||||
$domDoc->loadHTML( mb_convert_encoding($aNews['nachricht'], 'HTML-ENTITIES', "UTF-8") );
|
||||
@@ -100,7 +102,16 @@ $options = getKeyValueArray($someOptions);
|
||||
$anchorDad->removeChild($anchor);
|
||||
break;
|
||||
}
|
||||
$aNews['nachricht'] = get_inner_html( $domDoc->getElementsByTagName('body')[0] );
|
||||
$xpath = new DOMXPath($domDoc);
|
||||
|
||||
foreach( $xpath->query('//*[not(node())]') as $node ) {
|
||||
$node->parentNode->removeChild($node);
|
||||
}
|
||||
|
||||
$domDoc->formatOutput = true;
|
||||
$aNews['nachricht'] = get_inner_html( $domDoc->getElementsByTagName('body')[0] );
|
||||
// $aNews['nachricht'] = str_replace(" ", "", $aNews['nachricht']);
|
||||
// var_dump($aNews);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,8 +122,15 @@ $options = getKeyValueArray($someOptions);
|
||||
.( empty($aNews['promoImg']['alt'])?"":("alt =\"".$aNews['promoImg']['alt']."\" ") )
|
||||
."/>";
|
||||
}
|
||||
if( filter_var($aNews['promoImg'], FILTER_VALIDATE_URL) )
|
||||
if( filter_var($aNews['promoImg'], FILTER_VALIDATE_URL) ){
|
||||
$retHtml .= "<img class=\"newsPromoImage\" src=\"".$aNews['promoImg']."\" />";
|
||||
}
|
||||
|
||||
// Für den Fall einer ampSeite müssen die imgTags angepasst werden
|
||||
if( strpos( $_SERVER['ORIG_PATH_TRANSLATED'], "pages/amp" ) !== false ){
|
||||
$retHtml = str_replace("<img", "<amp-img layout=\"responsive\" width=\"200\" height=\"133\"", $retHtml);
|
||||
$retHtml = str_replace("/>", "></amp-img>", $retHtml);
|
||||
}
|
||||
}
|
||||
$retHtml .= "<div class=\"newsText\">" . $aNews['nachricht'] . "</div>";
|
||||
$retHtml .= "</div>";
|
||||
|
||||
@@ -28,6 +28,7 @@ $limit = is_positive_integer($someOptions['limit'])?$someOptions['limit']:1;
|
||||
// News abfragen
|
||||
// @todo: woher das limit nehmen?
|
||||
$newsList = getNews($db_connection, array('limit'=>$limit));
|
||||
// $newsList = getNews($db_connection, $someOptions);
|
||||
|
||||
if( is_array( $newsList ) || is_object( $newsList ) )
|
||||
foreach($newsList as $news)
|
||||
|
||||
@@ -128,23 +128,23 @@ $htmlWkTableString = "";
|
||||
|
||||
if($lastMonthName != strftime("%B %Y", strtotime($wk['Datum']) )){
|
||||
$lastMonthName = strftime("%B %Y", strtotime($wk['Datum']) );
|
||||
$htmlWkTableString .= "<tr><th colspan=\"5\" >".$lastMonthName."</th></tr><tr style=\"display:none;\" ><th colspan=\"5\"></th></tr>";
|
||||
$htmlWkTableString .= "<tr><th colspan=\"5\" >".$lastMonthName."</th></tr><tr class=\"displayNone\" ><th colspan=\"5\"></th></tr>";
|
||||
}
|
||||
|
||||
$htmlWkTableString .=
|
||||
"<tr>".
|
||||
"<script type=\"application/ld+json\">".wkArray2jsonSdEvent($wk)."</script>".
|
||||
"<td data-title=\"Datum\" class=\"noWrap\">".
|
||||
"<time class=\"kalenderDatum\" datetime=".$wk['Datum'].">".
|
||||
"<span>".strftime("%Y", strtotime($wk['Datum']))."</span>".
|
||||
"<span>".strftime("%B", strtotime($wk['Datum']))."</span>".
|
||||
"<span>".strftime("%d", strtotime($wk['Datum']))."</span>".
|
||||
"<span>".strftime("%A", strtotime($wk['Datum']))."</span>".
|
||||
"</time>".
|
||||
"</time>".
|
||||
"<time datetime=\"".$wk['Datum']."\">".strftime("%Y-%m-%d (%a)", strtotime($wk['Datum']) )."</time>".
|
||||
// "<time class=\"date-as-calendar position-pixels\" datetime=".$wk['Datum'].">".
|
||||
// "<span class=\"weekday\">".strftime("%A", strtotime($wk['Datum']))."</span>".
|
||||
// "<span class=\"day\">".strftime("%d", strtotime($wk['Datum']))."</span>".
|
||||
// "<span class=\"month\">".strftime("%B", strtotime($wk['Datum']))."</span>".
|
||||
// "<span class=\"year\">".strftime("%Y", strtotime($wk['Datum']))."</span>".
|
||||
// "</time>".
|
||||
"</td>".
|
||||
"<td data-title=\"Ausschreibung\" class=\"hyphenate\">".
|
||||
"<a title=\"Ausschreibung ".$wk['Veranstaltung']."\" href=\"".$wk['Ausschreibung']."\"><span property=\"name\">".$wk['Veranstaltung']."</span></a>".
|
||||
"<a title=\"Ausschreibung ".$wk['Veranstaltung']."\" href=\"http://cwsvjudo.bplaced.net".$wk['Ausschreibung']."\"><span property=\"name\">".$wk['Veranstaltung']."</span></a>".
|
||||
"</td>".
|
||||
"<td data-title=\"Wegbeschreibung\">".
|
||||
"<a title=\"Wegbeschreibung ".$wk['Veranstaltung']."\" href=\"".$wk['Routenplaner']."\"><span>".$wk['Ort']."</span></a>".
|
||||
@@ -153,7 +153,7 @@ $htmlWkTableString = "";
|
||||
$wk['Altersklassen'].
|
||||
"</td>".
|
||||
"<td data-title=\"iCal\">".
|
||||
"<a title=\"Termin für ".$wk['Veranstaltung']." in Kalender übernehmen\" href=\"/ressourcen/phpLib/calendar.php?wkID=".$wk['lfdeNr']."\">iCal</a>".
|
||||
"<a title=\"Termin für ".$wk['Veranstaltung']." in Kalender übernehmen\" href=\"http://cwsvjudo.bplaced.net/ressourcen/phpLib/calendar.php?wkID=".$wk['lfdeNr']."\">iCal</a>".
|
||||
"</td>".
|
||||
"</tr>\n";
|
||||
}
|
||||
@@ -293,8 +293,8 @@ function wkTableHtml(){
|
||||
$siteData['mainContent'] .= wkList2htmlWkTable($ergebnis);
|
||||
|
||||
$siteData['mainContent'] .=
|
||||
"<div style=\"font-size:xx-small\">Alle Angaben ohne Gewähr! Fehler und Ergänzungen dürfen gerne gemeldet werden.</div>".
|
||||
"<a href=\"/downloads/Ausschreibungen/\">Link zum Archiv mit allen Ausschreibungen</a>.";
|
||||
"<div class=\"fontSizeXxSmall\">Alle Angaben ohne Gewähr! Fehler und Ergänzungen dürfen gerne gemeldet werden.</div>".
|
||||
"<a href=\"http://cwsvjudo.bplaced.net/downloads/Ausschreibungen/\">Link zum Archiv mit allen Ausschreibungen</a>.";
|
||||
/* @todo: Wettkampfselektor wieder ergänzen
|
||||
<hr />
|
||||
<div class="wkSelektor">
|
||||
|
||||
@@ -0,0 +1,323 @@
|
||||
<?php
|
||||
|
||||
/// Abfrage der Daten eines Wettkampfes via ID
|
||||
/// Da über den primary key abgefragt wird, erfolgt keine Kontrolle, ob nur ein Ergebnis geliefert wurde
|
||||
function getWkData($anMysqlConn, $anWkId){
|
||||
$query = sprintf(
|
||||
"SELECT * FROM wettkampfkalender WHERE lfdeNr='%s';",
|
||||
$anMysqlConn->real_escape_string($anWkId)
|
||||
);
|
||||
$results = $anMysqlConn->query($query);
|
||||
if( !$results ) die("ERR: Fehler bei Datenbankabfrage (".$query.")!\n");
|
||||
$ret = $results->fetch_assoc();
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/// Einen Gallerie per ID abfragen
|
||||
///
|
||||
/// Der Rückgabewert sollte vor Verwendung (und zur Fehlerbehandlung)
|
||||
/// auf NULL und/oder leeres Array getestet werden.
|
||||
/// Der Zeichensatz wird von "ISO-8859-1" auf "UTF-8" gesetzt
|
||||
/// @aMysqlConn
|
||||
/// mySql-Datenbankverbindung via PDO
|
||||
/// @optionsArray
|
||||
/// dbCharset - Zeichensatz der Datenbank
|
||||
/// outCharset - Ausgabezeichensatz in den konvertiert werden soll
|
||||
/// @return Array von Galleriedaten im Erfolsfalle (evtl. aber leer, wenn in der Datenbank keine entsprechenden Nachrichten gefunden wurden), sonst NULL
|
||||
function getGal($aMysqlConn, $optionsArray = array("dbCharset" => "ISO-8859-1", "outCharset" => "UTF-8", "limit" => "1", "galId" => "0", "wkId"=>"0")){
|
||||
if(!$aMysqlConn) return NULL;
|
||||
|
||||
if( empty($optionsArray['dbCharset']) ) $optionsArray['dbCharset'] = "ISO-8859-1";
|
||||
if( empty($optionsArray['outCharset']) ) $optionsArray['outCharset'] = "UTF-8";
|
||||
|
||||
if( !is_positive_integer($optionsArray['limit']) ) $optionsArray['limit'] = "1";
|
||||
|
||||
$ret = array();
|
||||
|
||||
if( is_positive_integer($optionsArray['wkId']) ){
|
||||
// datenbank.tabelle könnte noch vaiabel gestaltet werden
|
||||
$pdoStatementForQuerryingGalById = $aMysqlConn->prepare(
|
||||
"SELECT * FROM cwsvjudo.wkGalerien WHERE wkGalerien.datum <= (SELECT wkGalerien.datum FROM wkGalerien WHERE wkGalerien.wkId = :wkId ) ORDER BY wkGalerien.datum DESC LIMIT :limit OFFSET 0;"
|
||||
);
|
||||
$pdoStatementForQuerryingGalById->bindParam(':limit', intval($optionsArray['limit']), PDO::PARAM_INT);
|
||||
$pdoStatementForQuerryingGalById->bindParam(':wkId', intval($optionsArray['wkId']), PDO::PARAM_INT);
|
||||
$pdoStatementForQuerryingGalById->execute();
|
||||
$ret = $pdoStatementForQuerryingGalById->fetchAll(PDO::FETCH_ASSOC);
|
||||
}
|
||||
else{
|
||||
$pdoStatementForQuerryingGalById = $aMysqlConn->prepare(
|
||||
"SELECT * FROM wkGalerien ORDER BY datum DESC, id DESC LIMIT :limit;"
|
||||
);
|
||||
$pdoStatementForQuerryingGalById->bindParam(':limit', intval($optionsArray['limit']), PDO::PARAM_INT);
|
||||
$pdoStatementForQuerryingGalById->execute();
|
||||
$ret = $pdoStatementForQuerryingGalById->fetchAll(PDO::FETCH_ASSOC);
|
||||
}
|
||||
// Zeichensatzkonvertierung
|
||||
foreach($ret as &$entry){
|
||||
array_walk(
|
||||
$entry,
|
||||
function (&$value, $key, $optionsArray) {
|
||||
$value = iconv($optionsArray['dbCharset'], $optionsArray['outCharset'], $value);
|
||||
},
|
||||
$optionsArray
|
||||
);
|
||||
}
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
// Ausgabe der Wettkampftabelle
|
||||
// @todo: elaborieren
|
||||
function wkTableHtml(){
|
||||
global $cwsvJudoConfig;
|
||||
// Vermutung ist, dass $__GET sowieso (?super?)global
|
||||
// global $__GET
|
||||
global $basePath;
|
||||
//require_once($basePath."/bonus/db.inc");
|
||||
//include_once($basePath."/bonus/db.inc");
|
||||
|
||||
// Deutsches Datumsformat
|
||||
setlocale(LC_ALL, 'de_DE');
|
||||
|
||||
$message = array();
|
||||
|
||||
if(is_positive_integer($_GET['wkId'])){
|
||||
// $sqlConn = @new mysqli($db_server, $db_user, $db_password, $db_name);
|
||||
$sqlConn = @new mysqli(
|
||||
$cwsvJudoConfig["db"]["host"],
|
||||
$cwsvJudoConfig["db"]["user"],
|
||||
$cwsvJudoConfig["db"]["password"],
|
||||
$cwsvJudoConfig["db"]["name"]
|
||||
);
|
||||
if ($sqlConn->connect_error) {
|
||||
$message['error'] .= "Datenbankverbindung fehlgeschlagen: " . $sqlConn->connect_error . "<br />";
|
||||
}
|
||||
else{
|
||||
$wkData = getWkData($sqlConn, $_GET["wkId"]);
|
||||
if( empty($wkData) ) $message['error'] .= "Fehler: WettkampfId ".$_GET['wkId']." nicht gefunden!<br />";
|
||||
}
|
||||
}
|
||||
// else $message['error'] .= "Fehler: wkId ist kein pos. Int (".$_GET['wkId'].")<br />";
|
||||
|
||||
if(!empty($message['error']))
|
||||
echo( "<div class=\"messageBox\">".$message['error']."</div>" );
|
||||
|
||||
if( !empty($wkData) ){
|
||||
echo( "<h1>Wettkampfdaten ".mb_convert_encoding($wkData['Veranstaltung'], 'UTF-8', 'ISO-8859-1')."</h1>" );
|
||||
|
||||
echo( "<ul>" );
|
||||
echo( "<li>Datum: ".$wkData['Datum']."</li>" );
|
||||
echo( "<li>AK: ".mb_convert_encoding($wkData['Altersklassen'], 'UTF-8', 'ISO-8859-1')."</li>" );
|
||||
echo( "<li>Ort: ".mb_convert_encoding($wkData['Ort'], 'UTF-8', 'ISO-8859-1')."</li>" );
|
||||
echo( "<li><a href=\"".$wkData['Ausschreibung']."\">Ausschreibung</a></li>" );
|
||||
echo( "<li><a href=\"".$wkData['Routenplaner']."\">Routenplaner</a></li>" );
|
||||
echo( "<li>Galerie: ".$wkData['galleryLink']."</li>" );
|
||||
echo( "<li>PromoPic: ".$wkData['promoPic']."</li>" );
|
||||
echo( "</ul>" );
|
||||
}
|
||||
|
||||
try{
|
||||
$db_connection = new PDO('mysql:host='.$db_server.';dbname='.$db_name, $db_user, $db_password);
|
||||
|
||||
// mögliche Werte für das jahr herausfinden
|
||||
$jahre = array();
|
||||
$query = "SELECT DISTINCT DATE_FORMAT( Datum, '%Y') FROM cwsvjudo.wettkampfkalender WHERE 1 ORDER BY DATE_FORMAT( Datum, '%Y' ) DESC";
|
||||
$ergebnis = $db_connection->query($query);
|
||||
foreach($ergebnis as $row){
|
||||
array_push($jahre, $row["DATE_FORMAT( Datum, '%Y')"]);
|
||||
}
|
||||
// ist das übergebene jahr ein gültiges?
|
||||
$jahr = $_GET["jahr"];
|
||||
if($jahr){
|
||||
if(in_array($jahr, $jahre)){
|
||||
$minDate = $jahr."-01-01";
|
||||
$maxDate = $jahr."-12-31";
|
||||
|
||||
echo( "<h1>Wettkampfkalender ".$jahr."</h1>" );
|
||||
}
|
||||
else{
|
||||
echo "Keine Wettkämpfe für das Jahr".$jahr." gefunden!";
|
||||
// die();
|
||||
}
|
||||
}
|
||||
else{
|
||||
$minDate = date("Y-m-d", time());
|
||||
$maxDate = "";
|
||||
|
||||
echo( "<h1>Kommende Wettkämpfe</h1>" );
|
||||
}
|
||||
|
||||
$query="SELECT Datum,Veranstaltung,Ausschreibung,Ort,Routenplaner,Altersklassen,lfdeNr FROM wettkampfkalender WHERE Datum >= \"".$minDate."\" ORDER BY Datum ASC";
|
||||
if($maxDate){
|
||||
$query="SELECT Datum,Veranstaltung,Ausschreibung,Ort,Routenplaner,Altersklassen,lfdeNr FROM wettkampfkalender WHERE Datum >= \"".$minDate."\" AND Datum <= \"".$maxDate."\" ORDER BY Datum ASC";
|
||||
}
|
||||
$ergebnis = $db_connection->query($query);
|
||||
|
||||
echo( "<table class=\"wkKalender\">");
|
||||
echo( "<thead><tr><th>Datum</th><th>Veranstaltung</th><th>Ort</th><th>Altersklasse(n)</th><th>iCal</th></tr></thead>" );
|
||||
echo( "<tbody>" );
|
||||
|
||||
$ergebnis = $db_connection->query($query);
|
||||
|
||||
// echo( "Debug: " . gettype($ergebnis) . " " . count($ergebnis) . "\n" );
|
||||
foreach($ergebnis as $wk){
|
||||
echo( "<tr><script type=\"application/ld+json\">".
|
||||
"{".
|
||||
"\"@context\": \"http://schema.org\",".
|
||||
"\"@type\": \"Event\",".
|
||||
"\"name\": \"".mb_convert_encoding($wk['Veranstaltung'], 'UTF-8', 'ISO-8859-1')."\",".
|
||||
"\"startDate\": \"".mb_convert_encoding($wk['Datum'], 'UTF-8', 'ISO-8859-1')."\",".
|
||||
"\"endDate\": \"".mb_convert_encoding($wk['Datum'], 'UTF-8', 'ISO-8859-1')."\",".
|
||||
"\"url\": \"http://cwsvjudo.bplaced.net".mb_convert_encoding($wk['Ausschreibung'], 'UTF-8', 'ISO-8859-1')."\",".
|
||||
"\"description\": \"Judo-Wettkampf der Altersklasse(n) ".mb_convert_encoding($wk['Altersklassen'], 'UTF-8', 'ISO-8859-1')."\",".
|
||||
"\"location\": {".
|
||||
"\"@type\": \"Place\",".
|
||||
"\"name\": \"".mb_convert_encoding($wk['Ort'], 'UTF-8', 'ISO-8859-1')."\",".
|
||||
"\"address\": {".
|
||||
"\"@type\": \"PostalAddress\",".
|
||||
"\"addressLocality\": \"".mb_convert_encoding($wk['Ort'], 'UTF-8', 'ISO-8859-1')."\"".
|
||||
"}".
|
||||
"}".
|
||||
"}".
|
||||
"</script>"
|
||||
);
|
||||
|
||||
// schlechter Hack solange die Browser nicht von selbst ordentlich trennen
|
||||
$wk['Veranstaltung'] =
|
||||
str_replace("meisterschaft", "­meisterschaft", $wk['Veranstaltung']);
|
||||
$wk['Veranstaltung'] =
|
||||
str_replace("turnier", "­turnier", $wk['Veranstaltung']);
|
||||
$wk['Veranstaltung'] =
|
||||
str_replace("randori", "­randori", $wk['Veranstaltung']);
|
||||
|
||||
echo(
|
||||
"<td class=\"noWrap\">".
|
||||
"<time datetime=".mb_convert_encoding($wk['Datum'], 'UTF-8', 'ISO-8859-1')."\">".strftime("<nobr>%Y-%m-%d</nobr> (%a)", strtotime($wk['Datum']) )."</time>".
|
||||
"</td>".
|
||||
"<td class=\"hyphenate\">".
|
||||
"<a title=\"Ausschreibung ".mb_convert_encoding($wk['Veranstaltung'], 'UTF-8', 'ISO-8859-1')."\" href=\"".mb_convert_encoding($wk['Ausschreibung'], 'UTF-8', 'ISO-8859-1')."\"><span property=\"name\">".mb_convert_encoding($wk['Veranstaltung'], 'UTF-8', 'ISO-8859-1')."</span></a>".
|
||||
"</td>".
|
||||
"<td>".
|
||||
"<a title=\"Wegbeschreibung ".mb_convert_encoding($wk['Veranstaltung'], 'UTF-8', 'ISO-8859-1')."\" href=\"".$wk['Routenplaner']."\"><span>".mb_convert_encoding($wk['Ort'], 'UTF-8', 'ISO-8859-1')."</span></a>".
|
||||
"</td>".
|
||||
"<td>".mb_convert_encoding($wk['Altersklassen'], 'UTF-8', 'ISO-8859-1')."</td>".
|
||||
"<td>".
|
||||
"<a title=\"Termin für ".mb_convert_encoding($wk['Veranstaltung'], 'UTF-8', 'ISO-8859-1')." in Kalender übernehmen\" href=\"/ressourcen/phpLib/calendar.php?wkID=".$wk['lfdeNr']."\">iCal</a>".
|
||||
"</td>".
|
||||
"</tr>" );
|
||||
}
|
||||
echo(
|
||||
"</tbody>".
|
||||
"<tfoot><tr><th>Datum</th><th>Veranstaltung</th><th>Ort</th><th>Altersklasse(n)</th><th>iCal</th></tr></tfoot>".
|
||||
"</table>".
|
||||
"<div style=\"font-size:xx-small\">Alle Angaben ohne Gewähr! Fehler und Ergänzungen dürfen gerne gemeldet werden.</div>".
|
||||
"<a href=\"/downloads/Ausschreibungen/\">Link zum Archiv mit allen Ausschreibungen</a>." );
|
||||
/*
|
||||
<!--Ende dynamische Wettkampfliste-->
|
||||
<hr />
|
||||
<div class="wkSelektor">
|
||||
Im folgendem kann man sich mehrere Wettkampftermine in einer <a href="https://de.wikipedia.org/wiki/ICalendar">ICalendar</a>-Datei zusammenstellen. Zum An-/Abwählen bei gedrückter Strg-Taste mit der linken Maustaste die jeweiligen Wettkämpfe anklicken.
|
||||
<form action="http://cwsvjudo.bplaced.net/ressourcen/phpLib/wkCustomICal.php" method="POST">
|
||||
<label>Kommende Wettkämpfe:</label>
|
||||
<div><select name="wkIDs[]" multiple="multiple" size="5">
|
||||
<?php
|
||||
$ergebnis = $db_connection->query($query);
|
||||
foreach($ergebnis as $wk){
|
||||
?>
|
||||
<option value="<?php echo $wk['lfdeNr'];?>">
|
||||
<?php echo mb_convert_encoding($wk['Datum'], 'UTF-8', 'ISO-8859-1');?>
|
||||
--
|
||||
<?php echo mb_convert_encoding($wk['Veranstaltung'], 'UTF-8', 'ISO-8859-1');?>
|
||||
(<?php echo mb_convert_encoding($wk['Altersklassen'], 'UTF-8', 'ISO-8859-1');?>)
|
||||
</option>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</select></div>
|
||||
<button type="submit">iCal erzeugen</button>
|
||||
</form>
|
||||
<?php
|
||||
// Verbindung wieder schließen
|
||||
$db_connection = NULL;
|
||||
*/
|
||||
}
|
||||
catch(PDOException $db_error){
|
||||
print "Error!: " . $db_error->getMessage() . "<br/>";
|
||||
// die();
|
||||
}
|
||||
/*
|
||||
?>
|
||||
</div>
|
||||
</div> <!-- Ende div id content; des eigentlichen Inhaltes-->
|
||||
<!-- Vertikale Navigationsleiste an der Seite-->
|
||||
<div id="navVerti">
|
||||
<nav><ul>
|
||||
<?php
|
||||
if(!$_GET["jahr"]){
|
||||
echo "<li class=\"activeNav\">kommende Wett­kämpfe</li>";
|
||||
}
|
||||
else{
|
||||
echo "<li><a href=\"/pages/desktop/verein.wettkampfkalender.php\">komm­ende Wett­kämpfe</a></li>";
|
||||
}
|
||||
foreach($jahre as $runner){
|
||||
if($_GET["jahr"] == $runner){
|
||||
echo "<li class=\"activeNav\"> Wett­kämpfe ".$runner."</li>";
|
||||
}
|
||||
else{
|
||||
echo "<li><a href=\"/pages/desktop/verein.wettkampfkalender.php?jahr=".$runner."\">Wett­kämpfe ".$runner."</a></li>";
|
||||
}
|
||||
}
|
||||
?>
|
||||
</ul></nav>
|
||||
<hr />
|
||||
<!--Anfang der Einbindung des Counters; die Zeile 'TEMPLATE;' DARF NICHT EINGERÜCKT SEIN-->
|
||||
<div>
|
||||
<?php
|
||||
$chCounter_template = <<<TEMPLATE
|
||||
<span class="bold">Besucher</span><br/>
|
||||
Online: {V_VISITORS_CURRENTLY_ONLINE}<br/>
|
||||
Heute: {V_VISITORS_TODAY}<br/>
|
||||
Gestern: {V_VISITORS_YESTERDAY}<br/>
|
||||
Tagesrekord: {V_MAX_VISITORS_PER_DAY}<br/>
|
||||
Insgesamt: {V_TOTAL_VISITORS}<br/>
|
||||
<span class="bold">Seitenaufrufe</span><br/>
|
||||
Diese Seite: {V_PAGE_VIEWS_THIS_PAGE}<br/>
|
||||
Insgesamt: {V_TOTAL_PAGE_VIEWS}<br/>
|
||||
TEMPLATE;
|
||||
$chCounter_page_title = "Wettkampfkalender";
|
||||
if($_GET["jahr"]){
|
||||
$chCounter_page_title = "Wettkampfkalender ".$_GET["jahr"];
|
||||
}
|
||||
$chCounter_visible=1;
|
||||
include($_SERVER['DOCUMENT_ROOT']."/expCounter/counter.php");
|
||||
?>
|
||||
<!--Ende der Einbindung des Counters-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include($_SERVER['DOCUMENT_ROOT']."/pages/shared/sponsorList.html.inc");?>
|
||||
|
||||
<footer>
|
||||
<p>
|
||||
<?php
|
||||
if($_GET["jahr"]){
|
||||
?>
|
||||
<a href="http://validator.w3.org/check?uri=http%3A%2F%2Fcwsvjudo.bplaced.net%2Fpages%2Fdesktop%2Fverein.wettkampfkalender.php?jahr=<?php echo $_GET["jahr"]?>">Valid <img src="http://www.w3.org/html/logo/downloads/HTML5_1Color_Black.svg" alt="HTML 5" style="height:1em"></a>
|
||||
<?php
|
||||
}
|
||||
else{
|
||||
?>
|
||||
<a href="http://validator.w3.org/check?uri=http%3A%2F%2Fcwsvjudo.bplaced.net%2Fpages%2Fdesktop%2Fverein.wettkampfkalender.php">Valid <img src="http://www.w3.org/html/logo/downloads/HTML5_1Color_Black.svg" alt="HTML 5" style="height:1em"></a>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</p>
|
||||
</footer>
|
||||
<link rel="stylesheet" media="screen and (min-width: 641px)" href="/ressourcen/css/cwsvJudo.css" />
|
||||
<link rel="stylesheet" media="screen and (max-width: 640px)" href="/ressourcen/css/cwsvJudoMobile.css" />
|
||||
</body>
|
||||
</html>
|
||||
*/
|
||||
return;
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,191 @@
|
||||
<?php
|
||||
// Daten der Datenbank laden
|
||||
require_once($_SERVER['DOCUMENT_ROOT']."/bonus/db.inc");
|
||||
|
||||
/// Hinzufügen eines Eintrages
|
||||
function addPickedImages($aMysqlConn, $aGalId, $anUserId, $somePickedImages){
|
||||
$retMessage = array();
|
||||
$galPickedImages = array();
|
||||
/// Erstmal bisher ausgewählte Bilder abfragen ...
|
||||
$queryPickedImages = sprintf(
|
||||
"SELECT * FROM cwsvjudo.galImgPicker WHERE galId = '%s' AND userId = '%s';",
|
||||
$aMysqlConn->real_escape_string($aGalId),
|
||||
$aMysqlConn->real_escape_string($anUserId)
|
||||
);
|
||||
|
||||
$resultsPickedImages = $aMysqlConn->query($queryPickedImages);
|
||||
if( !$resultsPickedImages ){
|
||||
$retMessage['error'] .= "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'<br />";
|
||||
}
|
||||
/// @todo Eigentlich sollte hier ja nur ein Ergebnis zurückgeliefert werden, das sollte auch überprüft werden
|
||||
else{
|
||||
while( $pickedImagesResult = $resultsPickedImages->fetch_assoc() ){
|
||||
$galPickedImages = array_merge($galPickedImages, explode(',', $pickedImagesResult['pickedImages']) );
|
||||
}
|
||||
}
|
||||
|
||||
/// @todo Anzahl der ausgewählten Bilder auf 6 beschränken
|
||||
if( empty($galPickedImages) ){
|
||||
if( count($galPickedImages) < 6 ){
|
||||
$queryAddImages = sprintf(
|
||||
"INSERT INTO cwsvjudo.galImgPicker (galId, userId, pickedImages) values ('%s', '%s', '%s');",
|
||||
$aMysqlConn->real_escape_string($aGalId),
|
||||
$aMysqlConn->real_escape_string($anUserId),
|
||||
$aMysqlConn->real_escape_string(join(",", $somePickedImages))
|
||||
);
|
||||
|
||||
$resultAddImages = $aMysqlConn->query($queryAddImages);
|
||||
if( $resultAddImages ){
|
||||
$retMessage['info'] .= "(".join(",", $somePickedImages).") ausgewählt!<br />";
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Konnte die Query '".$queryAddImages."' nicht ausführen ('".$aMysqlConn->error."')!<br />";
|
||||
}
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Es dürfen maximal 6 Bilder ausgewählt werden<br />";
|
||||
}
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Es wurden bereits Bilder ausgewählt (".join(",", $galPickedImages).")!<br />";
|
||||
$retMessage['error'] .= "Neue Auswahl: (".join(",", $somePickedImages).")<br />";
|
||||
$retMessage['error'] .= "<form action=\"http://cwsvjudo.bplaced.net/ressourcen/phpLib/imgGallery/imgPicker.php\" method=\"post\">";
|
||||
$retMessage['error'] .= " <input type=\"hidden\" name=\"galId\" value=\"".$galleryId."\" />";
|
||||
foreach($somePickedImages as $img){
|
||||
$retMessage['error'] .= " <input type=\"hidden\" name=\"pickedImages[]\" value=\"".$img."\" />";
|
||||
}
|
||||
$retMessage['error'] .= " <button type=\"submit\">Bisherige Auswahl überschreiben!</button>";
|
||||
$retMessage['error'] .= "</form>";
|
||||
}
|
||||
return $retMessage;
|
||||
}
|
||||
|
||||
/// Ändern eines bereits erstellten Eintrages
|
||||
function changePickedImages($aMysqlConn, $aGalId, $anUserId, $somePickedImages){
|
||||
|
||||
$retMessage = array();
|
||||
$galPickedImages = array();
|
||||
|
||||
/// Erstmal bisher ausgewählte Bilder abfragen ...
|
||||
$queryPickedImages = sprintf(
|
||||
"SELECT * FROM cwsvjudo.galImgPicker WHERE galId = '%s' AND userId = '%s';",
|
||||
$aMysqlConn->real_escape_string($aGalId),
|
||||
$aMysqlConn->real_escape_string($anUserId)
|
||||
);
|
||||
|
||||
$resultsPickedImages = $aMysqlConn->query($queryPickedImages);
|
||||
if( !$resultsPickedImages ){
|
||||
$retMessage['error'] .= "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'<br />";
|
||||
}
|
||||
/// @todo Eigentlich sollte hier ja nur ein Ergebnis zurückgeliefert werden, das sollte auch überprüft werden
|
||||
else{
|
||||
while( $pickedImagesResult = $resultsPickedImages->fetch_assoc() ){
|
||||
$galPickedImages = array_merge($galPickedImages, explode(',', $pickedImagesResult['pickedImages']) );
|
||||
}
|
||||
}
|
||||
|
||||
if( empty($galPickedImages) )
|
||||
$retMessage['error'] .= "Fehler: Kein Eintrag zum Ändern gefunden!";
|
||||
else{
|
||||
if( count($galPickedImages) < 6 ){
|
||||
$queryAddImages = sprintf(
|
||||
"UPDATE cwsvjudo.galImgPicker pickedImages = '%s' WHERE galId = '%s' AND userId = '%s';",
|
||||
$aMysqlConn->real_escape_string(join(",", $somePickedImages)),
|
||||
$aMysqlConn->real_escape_string($aGalId),
|
||||
$aMysqlConn->real_escape_string($anUserId)
|
||||
);
|
||||
|
||||
$resultAddImages = $aMysqlConn->query($queryAddImages);
|
||||
if( $resultAddImages ){
|
||||
$retMessage['info'] .= "Gewählten Bilder auf (".join(",", $somePickedImages).") geändert!<br />";
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Konnte die Query '".$queryAddImages."' nicht ausführen ('".$aMysqlConn->error."')!<br />";
|
||||
}
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Es dürfen maximal 6 Bilder ausgewählt werden<br />";
|
||||
}
|
||||
}
|
||||
return $retMessage;
|
||||
}
|
||||
|
||||
|
||||
$loginStatus = "false";
|
||||
$galleryId = "0";
|
||||
$galPickedImages = array();
|
||||
|
||||
// Falls der serverseitige Logincookie nicht gesetzt ist ...
|
||||
session_start();
|
||||
session_regenerate_id();
|
||||
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
|
||||
if( !empty($_POST['galId'] ) ) $galleryId = $_POST['galId'];
|
||||
|
||||
$messages['info'] .= "Info: Der Bilderauswahlmodus für Galerie ".$galleryId." ist aktiv!<br />";
|
||||
|
||||
// Datenbankverbindung herstellen
|
||||
/// @todo Ist die Db-Verbindung dann global?
|
||||
$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{/// bereits gewählte Bilder abfragen
|
||||
$queryPickedImages = sprintf(
|
||||
"SELECT * FROM galImgPicker WHERE galId = '%s' AND userId = '%s';",
|
||||
$mysqlConn->real_escape_string($galleryId),
|
||||
$mysqlConn->real_escape_string($_SESSION['user']['userId'])
|
||||
|
||||
);
|
||||
|
||||
$pickedImagesResults = $mysqlConn->query($queryPickedImages);
|
||||
if( !$pickedImagesResults ){
|
||||
$messages['error'] .= "Fehler bei Datenbankabfrage '".$queryPickedImages."'<br />";
|
||||
}
|
||||
/// @todo Eigentlich sollte hier ja nur ein Ergebnis zurückgeliefert werden
|
||||
else{
|
||||
while( $pickedImagesResult = $pickedImagesResults->fetch_assoc() ){
|
||||
//print_r($pickedImagesResult);
|
||||
//print_r($pickedImagesResult['pickedImages']);
|
||||
$galPickedImages = array_merge($galPickedImages, explode(',', $pickedImagesResult['pickedImages']) );
|
||||
}
|
||||
}
|
||||
|
||||
$addRetMessages = addPickedImages($mysqlConn, $galleryId, $_SESSION['user']['userId'], $_POST['pickedImages']);
|
||||
|
||||
$mysqlConn->close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
||||
<html>
|
||||
<body>
|
||||
<div style="border: 1px solid black">
|
||||
<?php
|
||||
if( !empty( $messages['error'] ) ) echo( $messages['error'] );
|
||||
if( !empty( $messages['info'] ) ) echo( $messages['info'] );
|
||||
if( !empty( $addRetMessages['error'] ) ) echo( $addRetMessages['error'] );
|
||||
if( !empty( $addRetMessages['info'] ) ) echo( $addRetMessages['info'] );
|
||||
if( !empty( $addRetMessages['warning'] ) ) echo( $addRetMessages['warning'] );
|
||||
?>
|
||||
</div>
|
||||
<?php //print_r($_POST);?>
|
||||
<?php //print_r($messages);?>
|
||||
<?php //print_r($addRetMessages);?>
|
||||
<?php //print_r($galPickedImages);?>
|
||||
<?php
|
||||
|
||||
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,365 @@
|
||||
<?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" >
|
||||
<a title="Galerien der Judoka des Chemnitzer WSV" href="/galerien">Zur Galerieübersicht</a>
|
||||
<?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 . ");\"".
|
||||
" />";
|
||||
if( $chooseMode == "true" ) echo( "</label>" );
|
||||
echo("</div>");
|
||||
}
|
||||
?>
|
||||
</div><!-- Ende galImgList -->
|
||||
<?php
|
||||
if( $chooseMode == "true" ){
|
||||
echo( "<button type=\"submit\">Eingaben absenden</button>" );
|
||||
echo( "</form>" );
|
||||
}
|
||||
?>
|
||||
<noscript>
|
||||
<div id="links" class="galImgList">
|
||||
<?php
|
||||
$imgSize = count( $imgList );
|
||||
//echo("imgList: ");print_r($imgList);
|
||||
for( $imgIndex = 0; $imgIndex < $imgSize; ++$imgIndex){
|
||||
echo
|
||||
"\t\t\t\t<span>".
|
||||
"<a href=\"view.php?index=".( $imgIndex )."\" >".
|
||||
"<img id=\"Image".( $imgIndex + 1)."\" ".
|
||||
// "src=\"./thumbs/".str_replace(".jpg", ".png", $imgList[$imgIndex])."\" ".
|
||||
// "src=\"./thumbs/r_".( startsWith( $imgList[$imgIndex], "images/")?str_replace("images", "thumbs", str_replace(".jpg", ".png", $imgName)):str_replace(".jpg", ".png", $imgList[$imgIndex]) )."\" ".
|
||||
"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>".
|
||||
"</span>\n";
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</noscript>
|
||||
</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>
|
||||
@@ -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>
|
||||
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
$imgSize = count( $imgList );
|
||||
assert( $imgSize > 0, "Bilder leider nicht verfügbar!");
|
||||
$currIndex = intval( $_GET["index"] );
|
||||
if( $currIndex < 0 ) $currIndex = 0;
|
||||
if( $currIndex >= $imgSize) $currIndex = $imgSize-1;
|
||||
?>
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<title><?php echo $wkName;?> Einzelansicht [<?php echo $currIndex;?>/<?php echo $imgSize;?>]</title>
|
||||
<script type="text/javascript">
|
||||
<!-- Leute mit aktiviertem JavaScript sollen die BlueImpGallery gezeigt bekommen -->
|
||||
<?php
|
||||
echo "window.location = \"index.php?index=".$currIndex."\"";
|
||||
?>
|
||||
</script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="description" content="Die Judoka des Chemnitzer WSV beim Wettkampf <?php echo $wkName;?> (Bild [<?php echo($currIndex);?>/<?php echo $imgSize;?>])">
|
||||
<meta name="keywords" content="Judo, <?php echo $wkName;?>, Bilder, Photos, Album, Galerie, Wettkampf, CWSV, Chemnitz, ">
|
||||
|
||||
<!-- 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'].$_SERVER['REQUEST_QUERY']?>" />
|
||||
</head>
|
||||
<body bgcolor="#FFAE00">
|
||||
<h1><?php echo $wkName;?></h1>
|
||||
<!-- Variante für die Leute ohne JavaScript (Anfang)-->
|
||||
<noscript>
|
||||
<table style="margin-left:auto;margin-right:auto;">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="index.php">
|
||||
<img src="/ressourcen/graphiken/imgGal/nav_topb.png" id="ntop" alt="Album" title="Album">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="view.php?index=0">
|
||||
<img src="/ressourcen/graphiken/imgGal/nav_firstb.png" id="nfirst" alt="Zum Anfang" title="Zum Anfang">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href=<?php echo "\"view.php?index=".( $currIndex-10 >= 0 ? $currIndex - 10 : 0)."\"";?>>
|
||||
<img src="/ressourcen/graphiken/imgGal/nav_prev10b.png" id="nprev10" alt="10 Bilder zurück" title="10 Bilder zurück">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href=<?php echo "\"view.php?index=".( $currIndex-1 >= 0 ? $currIndex - 1 : 0)."\"";?>>
|
||||
<img src="/ressourcen/graphiken/imgGal/nav_prevb.png" id="nprev" alt="Bild zurück" title="Bild zurück">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href=<?php echo "\"view.php?index=".( $currIndex+1 < $imgSize ? $currIndex + 1 : $imgSize-1)."\"";?>>
|
||||
<img src="/ressourcen/graphiken/imgGal/nav_nextb.png" id="nnext" alt="Bild vor" title="Bild vor">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href=<?php echo "\"view.php?index=".( $currIndex+10 < $imgSize ? $currIndex + 10 : $imgSize-1)."\"";?>>
|
||||
<img src="/ressourcen/graphiken/imgGal/nav_next10b.png" id="nnext10" alt="10 Bilder vor" title="10 Bilder vor">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href=<?php echo "\"view.php?index=".( $imgSize-1 )."\""?>>
|
||||
<img src="/ressourcen/graphiken/imgGal/nav_lastb.png" id="nlast" alt="Zum Ende" title="Zum Ende">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<span id="image_name1"><?php echo $imgList[$currIndex]?></span>(<span id="image_num1"><?php echo $currIndex+1?></span>/<?php echo $imgSize;?>)
|
||||
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<a href=<?php echo "\"view.php?index=".( $currIndex+1 < $imgSize ? $currIndex + 1 : $imgSize-1)."\"";?>>
|
||||
<img src=<?php echo "\"".$imgList[$currIndex]."\" alt=\"".$imgList[$currIndex]."\" id=\"main_image\" width=\"100%\""?>>
|
||||
</a>
|
||||
<br />
|
||||
|
||||
</noscript>
|
||||
<!-- Ende der Variante für die Leute ohne JavaScript -->
|
||||
|
||||
<!--Beginn der Einbindung des Counters-->
|
||||
<?php
|
||||
$chCounter_page_title = $wkName." Einzelansicht [".$currIndex."/".$imgSize."]";
|
||||
$chCounter_visible=0;
|
||||
include( $_SERVER['DOCUMENT_ROOT'].'/expCounter/counter.php');?>
|
||||
<!--Ende der Einbindung des Counters-->
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,191 @@
|
||||
<?php
|
||||
// Daten der Datenbank laden
|
||||
require_once($_SERVER['DOCUMENT_ROOT']."/bonus/db.inc");
|
||||
|
||||
/// Hinzufügen eines Eintrages
|
||||
function addPickedImages($aMysqlConn, $aGalId, $anUserId, $somePickedImages){
|
||||
$retMessage = array();
|
||||
$galPickedImages = array();
|
||||
/// Erstmal bisher ausgewählte Bilder abfragen ...
|
||||
$queryPickedImages = sprintf(
|
||||
"SELECT * FROM cwsvjudo.galImgPicker WHERE galId = '%s' AND userId = '%s';",
|
||||
$aMysqlConn->real_escape_string($aGalId),
|
||||
$aMysqlConn->real_escape_string($anUserId)
|
||||
);
|
||||
|
||||
$resultsPickedImages = $aMysqlConn->query($queryPickedImages);
|
||||
if( !$resultsPickedImages ){
|
||||
$retMessage['error'] .= "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'<br />";
|
||||
}
|
||||
/// @todo Eigentlich sollte hier ja nur ein Ergebnis zurückgeliefert werden, das sollte auch überprüft werden
|
||||
else{
|
||||
while( $pickedImagesResult = $resultsPickedImages->fetch_assoc() ){
|
||||
$galPickedImages = array_merge($galPickedImages, explode(',', $pickedImagesResult['pickedImages']) );
|
||||
}
|
||||
}
|
||||
|
||||
/// @todo Anzahl der ausgewählten Bilder auf 6 beschränken
|
||||
if( empty($galPickedImages) ){
|
||||
if( count($galPickedImages) < 6 ){
|
||||
$queryAddImages = sprintf(
|
||||
"INSERT INTO cwsvjudo.galImgPicker (galId, userId, pickedImages) values ('%s', '%s', '%s');",
|
||||
$aMysqlConn->real_escape_string($aGalId),
|
||||
$aMysqlConn->real_escape_string($anUserId),
|
||||
$aMysqlConn->real_escape_string(join(",", $somePickedImages))
|
||||
);
|
||||
|
||||
$resultAddImages = $aMysqlConn->query($queryAddImages);
|
||||
if( $resultAddImages ){
|
||||
$retMessage['info'] .= "(".join(",", $somePickedImages).") ausgewählt!<br />";
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Konnte die Query '".$queryAddImages."' nicht ausführen ('".$aMysqlConn->error."')!<br />";
|
||||
}
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Es dürfen maximal 6 Bilder ausgewählt werden<br />";
|
||||
}
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Es wurden bereits Bilder ausgewählt (".join(",", $galPickedImages).")!<br />";
|
||||
$retMessage['error'] .= "Neue Auswahl: (".join(",", $somePickedImages).")<br />";
|
||||
$retMessage['error'] .= "<form action=\"http://cwsvjudo.bplaced.net/ressourcen/phpLib/imgGallery/imgPicker.php\" method=\"post\">";
|
||||
$retMessage['error'] .= " <input type=\"hidden\" name=\"galId\" value=\"".$galleryId."\" />";
|
||||
foreach($somePickedImages as $img){
|
||||
$retMessage['error'] .= " <input type=\"hidden\" name=\"pickedImages[]\" value=\"".$img."\" />";
|
||||
}
|
||||
$retMessage['error'] .= " <button type=\"submit\">Bisherige Auswahl überschreiben!</button>";
|
||||
$retMessage['error'] .= "</form>";
|
||||
}
|
||||
return $retMessage;
|
||||
}
|
||||
|
||||
/// Ändern eines bereits erstellten Eintrages
|
||||
function changePickedImages($aMysqlConn, $aGalId, $anUserId, $somePickedImages){
|
||||
|
||||
$retMessage = array();
|
||||
$galPickedImages = array();
|
||||
|
||||
/// Erstmal bisher ausgewählte Bilder abfragen ...
|
||||
$queryPickedImages = sprintf(
|
||||
"SELECT * FROM cwsvjudo.galImgPicker WHERE galId = '%s' AND userId = '%s';",
|
||||
$aMysqlConn->real_escape_string($aGalId),
|
||||
$aMysqlConn->real_escape_string($anUserId)
|
||||
);
|
||||
|
||||
$resultsPickedImages = $aMysqlConn->query($queryPickedImages);
|
||||
if( !$resultsPickedImages ){
|
||||
$retMessage['error'] .= "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'<br />";
|
||||
}
|
||||
/// @todo Eigentlich sollte hier ja nur ein Ergebnis zurückgeliefert werden, das sollte auch überprüft werden
|
||||
else{
|
||||
while( $pickedImagesResult = $resultsPickedImages->fetch_assoc() ){
|
||||
$galPickedImages = array_merge($galPickedImages, explode(',', $pickedImagesResult['pickedImages']) );
|
||||
}
|
||||
}
|
||||
|
||||
if( empty($galPickedImages) )
|
||||
$retMessage['error'] .= "Fehler: Kein Eintrag zum Ändern gefunden!";
|
||||
else{
|
||||
if( count($galPickedImages) < 6 ){
|
||||
$queryAddImages = sprintf(
|
||||
"UPDATE cwsvjudo.galImgPicker pickedImages = '%s' WHERE galId = '%s' AND userId = '%s';",
|
||||
$aMysqlConn->real_escape_string(join(",", $somePickedImages)),
|
||||
$aMysqlConn->real_escape_string($aGalId),
|
||||
$aMysqlConn->real_escape_string($anUserId)
|
||||
);
|
||||
|
||||
$resultAddImages = $aMysqlConn->query($queryAddImages);
|
||||
if( $resultAddImages ){
|
||||
$retMessage['info'] .= "Gewählten Bilder auf (".join(",", $somePickedImages).") geändert!<br />";
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Konnte die Query '".$queryAddImages."' nicht ausführen ('".$aMysqlConn->error."')!<br />";
|
||||
}
|
||||
}
|
||||
else{
|
||||
$retMessage['error'] .= "Fehler: Es dürfen maximal 6 Bilder ausgewählt werden<br />";
|
||||
}
|
||||
}
|
||||
return $retMessage;
|
||||
}
|
||||
|
||||
|
||||
$loginStatus = "false";
|
||||
$galleryId = "0";
|
||||
$galPickedImages = array();
|
||||
|
||||
// Falls der serverseitige Logincookie nicht gesetzt ist ...
|
||||
session_start();
|
||||
session_regenerate_id();
|
||||
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
|
||||
if( !empty($_POST['galId'] ) ) $galleryId = $_POST['galId'];
|
||||
|
||||
$messages['info'] .= "Info: Der Bilderauswahlmodus für Galerie ".$galleryId." ist aktiv!<br />";
|
||||
|
||||
// Datenbankverbindung herstellen
|
||||
/// @todo Ist die Db-Verbindung dann global?
|
||||
$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{/// bereits gewählte Bilder abfragen
|
||||
$queryPickedImages = sprintf(
|
||||
"SELECT * FROM galImgPicker WHERE galId = '%s' AND userId = '%s';",
|
||||
$mysqlConn->real_escape_string($galleryId),
|
||||
$mysqlConn->real_escape_string($_SESSION['user']['userId'])
|
||||
|
||||
);
|
||||
|
||||
$pickedImagesResults = $mysqlConn->query($queryPickedImages);
|
||||
if( !$pickedImagesResults ){
|
||||
$messages['error'] .= "Fehler bei Datenbankabfrage '".$queryPickedImages."'<br />";
|
||||
}
|
||||
/// @todo Eigentlich sollte hier ja nur ein Ergebnis zurückgeliefert werden
|
||||
else{
|
||||
while( $pickedImagesResult = $pickedImagesResults->fetch_assoc() ){
|
||||
//print_r($pickedImagesResult);
|
||||
//print_r($pickedImagesResult['pickedImages']);
|
||||
$galPickedImages = array_merge($galPickedImages, explode(',', $pickedImagesResult['pickedImages']) );
|
||||
}
|
||||
}
|
||||
|
||||
$addRetMessages = addPickedImages($mysqlConn, $galleryId, $_SESSION['user']['userId'], $_POST['pickedImages']);
|
||||
|
||||
$mysqlConn->close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
||||
<html>
|
||||
<body>
|
||||
<div style="border: 1px solid black">
|
||||
<?php
|
||||
if( !empty( $messages['error'] ) ) echo( $messages['error'] );
|
||||
if( !empty( $messages['info'] ) ) echo( $messages['info'] );
|
||||
if( !empty( $addRetMessages['error'] ) ) echo( $addRetMessages['error'] );
|
||||
if( !empty( $addRetMessages['info'] ) ) echo( $addRetMessages['info'] );
|
||||
if( !empty( $addRetMessages['warning'] ) ) echo( $addRetMessages['warning'] );
|
||||
?>
|
||||
</div>
|
||||
<?php //print_r($_POST);?>
|
||||
<?php //print_r($messages);?>
|
||||
<?php //print_r($addRetMessages);?>
|
||||
<?php //print_r($galPickedImages);?>
|
||||
<?php
|
||||
|
||||
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,342 @@
|
||||
<?php
|
||||
// Daten der Datenbank laden
|
||||
require_once($_SERVER['DOCUMENT_ROOT']."/bonus/db.inc");
|
||||
|
||||
/// 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']) );
|
||||
}
|
||||
}
|
||||
//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();
|
||||
|
||||
/// Ü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
|
||||
|
||||
if( count($pickedImages) > 24 )
|
||||
$pickedImages = array_rand( $pickedImages, 24);
|
||||
else{
|
||||
$restImages = array_diff( $allImgList, $pickedImages );
|
||||
// echo("restImages: "); print_r($restImages);
|
||||
foreach( array_rand( $restImages, 24-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 ){
|
||||
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" >
|
||||
<a title="Galerien der Judoka des Chemnitzer WSV" href="http://cwsvjudo.bplaced.net/galerien">Zur Galerieübersicht</a>
|
||||
<?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{
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
justify-content: space-around;
|
||||
}
|
||||
.galImgList *{
|
||||
/*flex: auto;*/
|
||||
}
|
||||
|
||||
</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/".str_replace(".jpg", ".png", $imgList[$imgIndex])."\" ".
|
||||
$imgInfos[$imgIndex][3]." ".
|
||||
"alt=\"[".( $imgIndex )."/".( $imgSize )."]\" ".
|
||||
"title=\"".( $wkName )." Bild ".( $imgIndex +1 )." von ".( $imgSize )."\" ".
|
||||
"onclick=\"startGalleryShow(" . $imgIndex . ");\"".
|
||||
" />";
|
||||
if( $chooseMode == "true" ) echo( "</label>" );
|
||||
echo("</div>");
|
||||
}
|
||||
?>
|
||||
</div><!-- Ende galImgList -->
|
||||
<?php
|
||||
if( $chooseMode == "true" ){
|
||||
echo( "<button type=\"submit\">Eingaben absenden</button>" );
|
||||
echo( "</form>" );
|
||||
}
|
||||
?>
|
||||
<noscript>
|
||||
<?php
|
||||
$imgSize = count( $imgList );
|
||||
for( $imgIndex = 0; $imgIndex < $imgSize; ++$imgIndex){
|
||||
echo
|
||||
"\t\t\t\t<span>".
|
||||
"<a href=\"view.php?index=".( $imgIndex )."\" >".
|
||||
"<img id=\"Image".( $imgIndex + 1)."\" ".
|
||||
// "src=\"./thumbs/".str_replace(".jpg", ".png", $imgList[$imgIndex])."\" ".
|
||||
"src=\"./thumbs/r_".str_replace(".jpg", ".png", $imgList[$imgIndex])."\" ".
|
||||
"alt=\"[".( $imgIndex )."/".( $imgSize )."]\" ".
|
||||
"title=\"".( $wkName )." Bild ".( $imgIndex + 1 )." von ".( $imgSize )."\" ".
|
||||
"/>".
|
||||
"</a>".
|
||||
"</span>\n";
|
||||
}
|
||||
?>
|
||||
</noscript>
|
||||
</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>
|
||||
@@ -0,0 +1,165 @@
|
||||
<?php
|
||||
$imgInfos = array();
|
||||
foreach( $imgList as $imgName ){
|
||||
array_push( $imgInfos, getimagesize("thumbs/".str_replace(".jpg", ".png", $imgName)));
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<title><?php echo $wkName?> - Bilderalbum</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="description" content="<?php echo descrName($wkName);?>">
|
||||
<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;}
|
||||
</style>
|
||||
</head>
|
||||
<body style="color: #000000; background-color: #FFAE00" >
|
||||
<?php
|
||||
include( $_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>";
|
||||
?>
|
||||
|
||||
|
||||
<h1 class="centerText" >
|
||||
Photoalbum [<b><?php echo $wkName?></b>]
|
||||
</h1>
|
||||
<p class="centerText smallFont">
|
||||
[<?php echo count($imgList)?> Bilder]
|
||||
</p>
|
||||
<p class="centerText smallFont">
|
||||
Auf die jeweiligen Bilder klicken um eine größere Ansicht zu bekommen.
|
||||
</p>
|
||||
<hr/>
|
||||
<!-- The container for the list of example images -->
|
||||
<div id="links" class="links centerText">
|
||||
<?php
|
||||
$imgSize = count( $imgList );
|
||||
for( $imgIndex = 0; $imgIndex < $imgSize; ++$imgIndex){
|
||||
echo "\t\t\t\t<span>".
|
||||
"<img class=\"lazy\" ".
|
||||
"id=\"Image".( $imgIndex + 1)."\" ".
|
||||
"data-original=\"./thumbs/".str_replace(".jpg", ".png", $imgList[$imgIndex])."\" ".
|
||||
$imgInfos[$imgIndex][3]." ".
|
||||
"alt=\"[".( $imgIndex )."/".( $imgSize )."]\" ".
|
||||
"title=\"".( $wkName )." Bild ".( $imgIndex )." von ".( $imgSize )."\" ".
|
||||
"onclick=\"startGalleryShow(" . $imgIndex . ");\"".
|
||||
"/>".
|
||||
"</span>\n";
|
||||
}
|
||||
?>
|
||||
<noscript>
|
||||
<?php
|
||||
$imgSize = count( $imgList );
|
||||
for( $imgIndex = 0; $imgIndex < $imgSize; ++$imgIndex){
|
||||
echo
|
||||
"\t\t\t\t<span>".
|
||||
"<a href=\"view.php?index=".( $imgIndex )."\" >".
|
||||
"<img id=\"Image".( $imgIndex + 1)."\" ".
|
||||
// "src=\"./thumbs/".str_replace(".jpg", ".png", $imgList[$imgIndex])."\" ".
|
||||
"src=\"./thumbs/r_".str_replace(".jpg", ".png", $imgList[$imgIndex])."\" ".
|
||||
"alt=\"[".( $imgIndex )."/".( $imgSize )."]\" ".
|
||||
"title=\"".( $wkName )." Bild ".( $imgIndex )." von ".( $imgSize )."\" ".
|
||||
"/>".
|
||||
"</a>".
|
||||
"</span>\n";
|
||||
}
|
||||
?>
|
||||
</noscript>
|
||||
</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>
|
||||
@@ -0,0 +1,320 @@
|
||||
<?php
|
||||
// Daten der Datenbank laden
|
||||
require_once($_SERVER['DOCUMENT_ROOT']."/bonus/db.inc");
|
||||
|
||||
/// 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']) );
|
||||
}
|
||||
}
|
||||
//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();
|
||||
|
||||
/// Ü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"){
|
||||
$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
|
||||
|
||||
if( count($pickedImages) > 24 )
|
||||
$pickedImages = array_rand( $pickedImages, 24);
|
||||
else{
|
||||
$restImages = array_diff( $allImgList, $pickedImages );
|
||||
// echo("restImages: "); print_r($restImages);
|
||||
foreach( array_rand( $restImages, 24-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 ){
|
||||
array_push( $imgInfos, getimagesize("thumbs/".str_replace(".jpg", ".png", $imgName)));
|
||||
}
|
||||
|
||||
?>
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<title><?php echo $wkName?> - Bilderalbum</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="description" content="<?php echo descrName($wkName);?>">
|
||||
<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
|
||||
include( $_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\"");?>><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/>
|
||||
<!-- The container for the list of example images -->
|
||||
<div id="links" class="links centerText">
|
||||
<?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."\">" );
|
||||
}
|
||||
$imgSize = count( $imgList );
|
||||
for( $imgIndex = 0; $imgIndex < $imgSize; ++$imgIndex){
|
||||
/// Das Bild soll nur angezeigt werden, falls es ausgewählt ist, oder alle gezeigt werden sollen
|
||||
// if( $chooseMode == "true" || $showAllMode == "true" || in_array($imgList[$imgIndex], $pickedImages) ){
|
||||
echo("<span>");
|
||||
if( $chooseMode == "true" ){
|
||||
echo( "<label><input type=\"checkbox\" name=\"pickedImages[]\" value=\"".$imgList[$imgIndex]."\">" );
|
||||
}
|
||||
echo "<img class=\"lazy\" ".
|
||||
"id=\"Image".( $imgIndex )."\" ".
|
||||
"data-original=\"./thumbs/".str_replace(".jpg", ".png", $imgList[$imgIndex])."\" ".
|
||||
$imgInfos[$imgIndex][3]." ".
|
||||
"alt=\"[".( $imgIndex )."/".( $imgSize )."]\" ".
|
||||
"title=\"".( $wkName )." Bild ".( $imgIndex +1 )." von ".( $imgSize )."\" ".
|
||||
"onclick=\"startGalleryShow(" . $imgIndex . ");\"".
|
||||
"/>".
|
||||
"</span>\n";
|
||||
if( $chooseMode == "true" ){
|
||||
echo( "</label>" );
|
||||
}
|
||||
// }
|
||||
}
|
||||
if( $chooseMode == "true" ){
|
||||
echo( "<button type=\"submit\">Eingaben absenden</button>" );
|
||||
echo( "</form>" );
|
||||
}
|
||||
?>
|
||||
<noscript>
|
||||
<?php
|
||||
$imgSize = count( $imgList );
|
||||
for( $imgIndex = 0; $imgIndex < $imgSize; ++$imgIndex){
|
||||
echo
|
||||
"\t\t\t\t<span>".
|
||||
"<a href=\"view.php?index=".( $imgIndex )."\" >".
|
||||
"<img id=\"Image".( $imgIndex + 1)."\" ".
|
||||
// "src=\"./thumbs/".str_replace(".jpg", ".png", $imgList[$imgIndex])."\" ".
|
||||
"src=\"./thumbs/r_".str_replace(".jpg", ".png", $imgList[$imgIndex])."\" ".
|
||||
"alt=\"[".( $imgIndex )."/".( $imgSize )."]\" ".
|
||||
"title=\"".( $wkName )." Bild ".( $imgIndex + 1 )." von ".( $imgSize )."\" ".
|
||||
"/>".
|
||||
"</a>".
|
||||
"</span>\n";
|
||||
}
|
||||
?>
|
||||
</noscript>
|
||||
</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>
|
||||
@@ -0,0 +1,324 @@
|
||||
<?php
|
||||
// Daten der Datenbank laden
|
||||
require_once($_SERVER['DOCUMENT_ROOT']."/bonus/db.inc");
|
||||
|
||||
/// 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']) );
|
||||
}
|
||||
}
|
||||
//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();
|
||||
|
||||
/// Ü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"){
|
||||
$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
|
||||
|
||||
if( count($pickedImages) > 24 )
|
||||
$pickedImages = array_rand( $pickedImages, 24);
|
||||
else{
|
||||
$restImages = array_diff( $allImgList, $pickedImages );
|
||||
// echo("restImages: "); print_r($restImages);
|
||||
foreach( array_rand( $restImages, 24-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);
|
||||
<<<<<<< HEAD
|
||||
|
||||
if( $showAllMode == "true") $imgList = $allImgList;
|
||||
|
||||
=======
|
||||
|
||||
>>>>>>> d971010d9cd5d2b4b6e4aea87836759422091f96
|
||||
$imgInfos = array();
|
||||
foreach( $imgList as $imgName ){
|
||||
array_push( $imgInfos, getimagesize("thumbs/".str_replace(".jpg", ".png", $imgName)));
|
||||
}
|
||||
|
||||
?>
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<title><?php echo $wkName?> - Bilderalbum</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="description" content="<?php echo descrName($wkName);?>">
|
||||
<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
|
||||
include( $_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\"");?>><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/>
|
||||
<!-- The container for the list of example images -->
|
||||
<div id="links" class="links centerText">
|
||||
<?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."\">" );
|
||||
}
|
||||
$imgSize = count( $imgList );
|
||||
for( $imgIndex = 0; $imgIndex < $imgSize; ++$imgIndex){
|
||||
/// Das Bild soll nur angezeigt werden, falls es ausgewählt ist, oder alle gezeigt werden sollen
|
||||
// if( $chooseMode == "true" || $showAllMode == "true" || in_array($imgList[$imgIndex], $pickedImages) ){
|
||||
if( $chooseMode == "true" ){
|
||||
echo( "<label><input type=\"checkbox\" name=\"pickedImages[]\" value=\"".$imgList[$imgIndex]."\">" );
|
||||
}
|
||||
echo "\t\t\t\t<span>".
|
||||
"<img class=\"lazy\" ".
|
||||
"id=\"Image".( $imgIndex )."\" ".
|
||||
"data-original=\"./thumbs/".str_replace(".jpg", ".png", $imgList[$imgIndex])."\" ".
|
||||
$imgInfos[$imgIndex][3]." ".
|
||||
"alt=\"[".( $imgIndex )."/".( $imgSize )."]\" ".
|
||||
"title=\"".( $wkName )." Bild ".( $imgIndex +1 )." von ".( $imgSize )."\" ".
|
||||
"onclick=\"startGalleryShow(" . $imgIndex . ");\"".
|
||||
"/>".
|
||||
"</span>\n";
|
||||
if( $chooseMode == "true" ){
|
||||
echo( "</label>" );
|
||||
}
|
||||
// }
|
||||
}
|
||||
if( $chooseMode == "true" ){
|
||||
echo( "<button type=\"submit\">Eingaben absenden</button>" );
|
||||
echo( "</form>" );
|
||||
}
|
||||
?>
|
||||
<noscript>
|
||||
<?php
|
||||
$imgSize = count( $imgList );
|
||||
for( $imgIndex = 0; $imgIndex < $imgSize; ++$imgIndex){
|
||||
echo
|
||||
"\t\t\t\t<span>".
|
||||
"<a href=\"view.php?index=".( $imgIndex )."\" >".
|
||||
"<img id=\"Image".( $imgIndex + 1)."\" ".
|
||||
// "src=\"./thumbs/".str_replace(".jpg", ".png", $imgList[$imgIndex])."\" ".
|
||||
"src=\"./thumbs/r_".str_replace(".jpg", ".png", $imgList[$imgIndex])."\" ".
|
||||
"alt=\"[".( $imgIndex )."/".( $imgSize )."]\" ".
|
||||
"title=\"".( $wkName )." Bild ".( $imgIndex + 1 )." von ".( $imgSize )."\" ".
|
||||
"/>".
|
||||
"</a>".
|
||||
"</span>\n";
|
||||
}
|
||||
?>
|
||||
</noscript>
|
||||
</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>
|
||||
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
$imgSize = count( $imgList );
|
||||
assert( $imgSize > 0, "Bilder leider nicht verfügbar!");
|
||||
$currIndex = intval( $_GET["index"] );
|
||||
if( $currIndex < 0 ) $currIndex = 0;
|
||||
if( $currIndex >= $imgSize) $currIndex = $imgSize-1;
|
||||
?>
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<title><?php echo $wkName;?> Einzelansicht [<?php echo $currIndex;?>/<?php echo $imgSize;?>]</title>
|
||||
<script type="text/javascript">
|
||||
<!-- Leute mit aktiviertem JavaScript sollen die BlueImpGallery gezeigt bekommen -->
|
||||
<?php
|
||||
echo "window.location = \"index.php?index=".$currIndex."\"";
|
||||
?>
|
||||
</script>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="description" content="Die Judoka des Chemnitzer WSV beim Wettkampf <?php echo $wkName;?> (Bild [<?php echo($currIndex);?>/<?php echo $imgSize;?>])">
|
||||
<meta name="keywords" content="Judo, <?php echo $wkName;?>, Bilder, Photos, Album, Galerie, Wettkampf, CWSV, Chemnitz, ">
|
||||
|
||||
<!-- 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'].$_SERVER['REQUEST_QUERY']?>" />
|
||||
</head>
|
||||
<body bgcolor="#FFAE00">
|
||||
<h1><?php echo $wkName;?></h1>
|
||||
<!-- Variante für die Leute ohne JavaScript (Anfang)-->
|
||||
<noscript>
|
||||
<table style="margin-left:auto;margin-right:auto;">
|
||||
<tr>
|
||||
<td>
|
||||
<a href="index.php">
|
||||
<img src="nav_topb.png" id="ntop" alt="Album" title="Album">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="view.php?index=0">
|
||||
<img src="nav_firstb.png" id="nfirst" alt="Zum Anfang" title="Zum Anfang">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href=<?php echo "\"view.php?index=".( $currIndex-10 >= 0 ? $currIndex - 10 : 0)."\"";?>>
|
||||
<img src="nav_prev10b.png" id="nprev10" alt="10 Bilder zurück" title="10 Bilder zurück">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href=<?php echo "\"view.php?index=".( $currIndex-1 >= 0 ? $currIndex - 1 : 0)."\"";?>>
|
||||
<img src="nav_prevb.png" id="nprev" alt="Bild zurück" title="Bild zurück">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href=<?php echo "\"view.php?index=".( $currIndex+1 < $imgSize ? $currIndex + 1 : $imgSize-1)."\"";?>>
|
||||
<img src="nav_nextb.png" id="nnext" alt="Bild vor" title="Bild vor">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href=<?php echo "\"view.php?index=".( $currIndex+10 < $imgSize ? $currIndex + 10 : $imgSize-1)."\"";?>>
|
||||
<img src="nav_next10b.png" id="nnext10" alt="10 Bilder vor" title="10 Bilder vor">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href=<?php echo "\"view.php?index=".( $imgSize-1 )."\""?>>
|
||||
<img src="nav_lastb.png" id="nlast" alt="Zum Ende" title="Zum Ende">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<span id="image_name1"><?php echo $imgList[$currIndex]?></span>(<span id="image_num1"><?php echo $currIndex+1?></span>/<?php echo $imgSize;?>)
|
||||
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<a href=<?php echo "\"view.php?index=".( $currIndex+1 < $imgSize ? $currIndex + 1 : $imgSize-1)."\"";?>>
|
||||
<img src=<?php echo "\"".$imgList[$currIndex]."\" alt=\"".$imgList[$currIndex]."\" id=\"main_image\" width=\"100%\""?>>
|
||||
</a>
|
||||
<br />
|
||||
|
||||
</noscript>
|
||||
<!-- Ende der Variante für die Leute ohne JavaScript -->
|
||||
|
||||
<!--Beginn der Einbindung des Counters-->
|
||||
<?php
|
||||
$chCounter_page_title = $wkName." Einzelansicht [".$currIndex."/".$imgSize."]";
|
||||
$chCounter_visible=0;
|
||||
include( $_SERVER['DOCUMENT_ROOT'].'/expCounter/counter.php');?>
|
||||
<!--Ende der Einbindung des Counters-->
|
||||
</body>
|
||||
</html>
|
||||
BIN
homepage/redesign2018/markdownExperiment/phpLib/phplot-6.2.0.zip
Normal file
BIN
homepage/redesign2018/markdownExperiment/phpLib/phplot-6.2.0.zip
Normal file
Binary file not shown.
@@ -0,0 +1,245 @@
|
||||
<?php
|
||||
// Daten der Datenbank laden
|
||||
require_once($_SERVER['DOCUMENT_ROOT']."/bonus/db.inc");
|
||||
|
||||
$vidList = array();
|
||||
foreach( glob("./webm/*.webm") as $vid){
|
||||
$posterSrc = str_replace( ".webm", ".jpg", str_replace("webm/", "thumbnails/", $vid ) );
|
||||
$posterSize = getimagesize( $posterSrc );
|
||||
$vidList[] = array(
|
||||
'vidSrc' => $vid,
|
||||
'posterSrc' => $posterSrc,
|
||||
'width' => $posterSize[0],
|
||||
'height' => $posterSize[1]
|
||||
);
|
||||
}
|
||||
|
||||
/// Hilfsfunktion zum Anpassen der htmlDescription
|
||||
function descrName($aName){
|
||||
$retVal = "Videos der Judoka des Chemnitzer WSV beim Wettkampf ".$aName;
|
||||
if( strpos($aName, "Sommerabschlussgrillen") >= 0 ) $retVal = "Videos der Judoka des Chemnitzer WSV beim ".$aName;
|
||||
if( strpos($aName, "Jahrendefeier") >= 0 ) $retVal = "Videos der Judoka des Chemnitzer WSV bei der ".$aName;
|
||||
return $retVal;
|
||||
}/// Ende descrName
|
||||
|
||||
$messages = array();
|
||||
?>
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<title><?php echo $wkName?> - Videoalbum</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="description" content="<?php echo descrName($wkName);?>">
|
||||
<meta name="keywords" content="Album, Videos">
|
||||
<!-- 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>
|
||||
body{box-sizing: border-box; margin: 0;}
|
||||
.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" >
|
||||
<a title="Galerien der Judoka des Chemnitzer WSV" href="/galerien">Zur Galerieübersicht</a>
|
||||
<?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
|
||||
}
|
||||
?>
|
||||
|
||||
<h1 class="centerText" >
|
||||
<?php echo($wkName);?> - Videoalbum
|
||||
</h1>
|
||||
|
||||
<p class="centerText smallFont">
|
||||
[<?php echo count($vidList)?> Videos]
|
||||
</p>
|
||||
|
||||
<p class="centerText smallFont">
|
||||
Auf die jeweiligen Bilder klicken um das Video anzuwählen.
|
||||
</p>
|
||||
|
||||
<hr/>
|
||||
|
||||
<style type="text/css">
|
||||
body{
|
||||
margin: 0;
|
||||
}
|
||||
.galImgList{
|
||||
font-size: 0;
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
justify-content: center;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.galImgList div{
|
||||
flex: auto;
|
||||
width: 100%;
|
||||
padding: 1vw 0;
|
||||
}
|
||||
.galImgList div img{
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
.galImgList div video{
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
@media screen and (min-width: 768px) {
|
||||
.galImgList div{
|
||||
width: calc(100% * (1/3) - 2 * .5vw);
|
||||
margin: .5vw;
|
||||
}
|
||||
.galImgList{
|
||||
padding: .5vw;
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 1024px) {
|
||||
.galImgList div{
|
||||
width: calc(100% * (1/4) - 2 * 1vw);
|
||||
margin: 1vw;
|
||||
}
|
||||
.galImgList{
|
||||
padding: 1vw;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript" charset="utf-8">
|
||||
$(function() {
|
||||
$("img.lazy").show().lazyload();
|
||||
// $("img.lazy").lazyload();
|
||||
});
|
||||
</script>
|
||||
|
||||
<div id="links" class="galImgList">
|
||||
<?php
|
||||
foreach( $vidList as $vidKey => $vidEntry ){
|
||||
echo( "<div>" );
|
||||
echo "<img class=\"lazy\" ".
|
||||
"id=\"Video".( $vidKey )."\" ".
|
||||
"data-original=\"".( $vidEntry['posterSrc'] )."\" ".
|
||||
"width=\"".$vidEntry['width']."\" ".
|
||||
"height=\"".$vidEntry['height']."\" ".
|
||||
"alt=\"[".( $vidKey + 1 )."/".( count($vidList) )."]\" ".
|
||||
"title=\"".( $wkName )." Video ".( $vidKey + 1 )." von ".( count($vidList) )."\" ".
|
||||
"onclick=\"startGalleryShow(" . $vidKey . ");\"".
|
||||
" />";
|
||||
echo(
|
||||
"<noscript>".
|
||||
"<video controls preload=\"none\" poster=\"".$vidEntry['posterSrc']."\" width=\"".$vidEntry['width']."\" height=\"".$vidEntry['height']."\">".
|
||||
"<source src=\"".$vidEntry['vidSrc']."\" type=\"video/webm\">".
|
||||
"Dieser Browser scheint das Video nicht abspielen zu können.".
|
||||
"</video>".
|
||||
"</noscript>"
|
||||
);
|
||||
echo("</div>");
|
||||
}
|
||||
?>
|
||||
</div><!-- Ende galImgList -->
|
||||
|
||||
<!-- 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 videoList = [
|
||||
<?php
|
||||
foreach( $vidList as $vidEntry){
|
||||
echo "{href: '".$vidEntry['vidSrc']."', poster: '".$vidEntry['posterSrc']."', type: 'video/webm'},";
|
||||
}
|
||||
?>
|
||||
];
|
||||
var gallery = blueimp.Gallery(
|
||||
videoList,
|
||||
{
|
||||
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 = "Videoalbum ".$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