Files
cwsvJudo/homepage/redesign2018/markdownExperiment/phpLib/cwsvJudo/galTable.php
2018-06-25 20:09:57 +02:00

205 lines
6.4 KiB
PHP

<?php
setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
function echoGalTable(){
global $cwsvJudoConfig;
$messages=array();
//include_once($_SERVER['DOCUMENT_ROOT']."/config/db.inc");
// Datenbankverbindung herstellen
// $mysqlConn = @new mysqli($db_server, $db_user, $db_password, $db_name);
$mysqlConn = @new mysqli(
$cwsvJudoConfig["db"]["host"],
$cwsvJudoConfig["db"]["user"],
$cwsvJudoConfig["db"]["password"],
$cwsvJudoConfig["db"]["name"]
);
if($mysqlConn->connect_error){
$messages['error'][] = "Datenbankverbindung fehlgeschlagen: " . $mysqlConn->connect_error . "<br />";
}
else{
// mögliche Werte für das Jahr herausfinden
$galJahresListe = array();
$queryJahresListe = "
SELECT DISTINCT DATE_FORMAT( datum, '%Y')
AS jahr
FROM cwsvjudo.wkGalerien
WHERE 1
ORDER BY DATE_FORMAT( datum, '%Y' ) DESC;
";
$mysqlResults = $mysqlConn->query($queryJahresListe);
if( !$mysqlResults ){
$messages['error'][] = "Fehler bei Datenbankabfrage '".$queryJahresListe."'<br />";
}
else{
while( $mysqlResult = $mysqlResults->fetch_assoc() ){
array_push( $galJahresListe, $mysqlResult['jahr']);
}
}
// standardmäßig frage die letzten 12 Galerien ab
$queryGals = "
SELECT id,datum,name,url,typ,teaserBildUrl
FROM cwsvjudo.wkGalerien
WHERE 1
ORDER BY datum DESC LIMIT 12
";
// Falls ein Konkretes Jahr angegebe wurde, fragen wir dies ab
$galJahr=( is_positive_integer($_GET['jahr'])?$_GET['jahr']:"" );
if($galJahr != ""){
$minDate = $galJahr."-01-01";
$maxDate = $galJahr."-12-31";
$queryGals = sprintf("
SELECT id,datum,name,url,typ,teaserBildUrl
FROM cwsvjudo.wkGalerien
WHERE datum >= '%s' AND datum <= '%s' ORDER BY datum ASC;",
$mysqlConn->real_escape_string($minDate),
$mysqlConn->real_escape_string($maxDate)
);
}
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 ){
$messages['error'][] = "Fehler bei Datenbankabfrage '".$queryGals."'<br />";
}
else{
while( $mysqlResult = $mysqlResults->fetch_assoc() ){
array_push( $galListe, $mysqlResult);
}
}
}
// 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(
"<table class=\"galTable\">".
"<thead><tr><th>Datum</th><th>Link zur Galerie</th></tr></thead>".
"<tbody>"
);
if( !is_array($galListe) )
$messages['error'][] = "<div>Fehler bei der Galerienabfrage!</div>";
else{
foreach($galListe as $gal){
$galDate = mb_convert_encoding($gal['datum'], 'UTF-8', 'ISO-8859-1');
echo(
"<tr onclick=\"window.document.location='".mb_convert_encoding($gal['url'], 'UTF-8', 'ISO-8859-1')."';\">".
// "<td class=\"noWrap\">".
"<td >".
"<time datetime=\"".mb_convert_encoding($gal['datum'], 'UTF-8', 'ISO-8859-1')."\">".mb_convert_encoding($gal['datum'], 'UTF-8', 'ISO-8859-1')."</time>".
// "<time class=\"date-as-calendar position-pixels\" datetime=".$gal['datum'].">".
// "<span class=\"weekday\">".strftime("%A", strtotime($galDate))."</span>".
// "<span class=\"day\">".strftime("%d", strtotime($galDate))."</span>".
// "<span class=\"month\">".utf8_encode(strftime("%B", strtotime($galDate)))."</span>".
// "<span class=\"year\">".strftime("%Y", strtotime($galDate))."</span>".
// "</time>".
"</td>".
// "<td class=\"floatClearBoth\">".
"<td >".
"<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>"
);
}
}
echo(
"</tbody>".
"</table>"
);
return;
}
function getGalleryLink( $aGallerId ){
if( is_positive_integer($aGalleryId) ){
try{
$db_connection = new PDO('mysql:host='.$db_server.';dbname='.$db_name, $db_user, $db_password);
$query="SELECT url FROM wkGalerien WHERE id = \"".$_aGalleryId."\" ORDER BY Datum ASC LIMIT 1;";
$ergebnis = $db_connection->query( $query );
$galleryLink = $ergebnis->fetchAll();
return $galleryLink[0]['url'];
$db_connection = NULL;
}
catch(PDOException $db_error){
print "Error!: " . $db_error->getMessage() . "<br/>";
// echoGalTable();
}
}
return "";
}
?>