Changes to be committed:
- hotfix für einzelansicht der news modified: htaccess/cwsvjudo.bplaced.net/.htaccess new file: htaccess/cwsvjudo.bplaced.net/.htaccess-backup2018-08-14 - Hilfssfunktion für saubere Url modified: phpLib/cwsvJudo/miscAssis.php - news jetzt mit struturierten daten (article) modified: phpLib/cwsvJudo/newsLib.php modified: phpLib/cwsvJudo/newsTableHtml.php - kleinere korrekturen und erweiterungen: modified: phpLib/cwsvJudo/wkKalender.php modified: src/css/cwsvJudo-2018-layout.css modified: src/md/news.md modified: src/md/verein.md modified: wkParticipo/admin/newsLetter.php modified: wkParticipo/showWkEvent.php
This commit is contained in:
@@ -19,6 +19,8 @@ ExpiresDefault "access 1 month"
|
||||
# Weiterleitungen
|
||||
###
|
||||
|
||||
## Hotfixes
|
||||
|
||||
## www auf nichtwww umleiten
|
||||
|
||||
RewriteEngine On
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
## EXPIRES CACHING ##
|
||||
<IfModule mod_expires.c>
|
||||
ExpiresActive On
|
||||
ExpiresByType image/jpg "access 1 year"
|
||||
ExpiresByType image/jpeg "access 1 year"
|
||||
ExpiresByType image/gif "access 1 year"
|
||||
ExpiresByType image/png "access 1 year"
|
||||
ExpiresByType text/css "access 1 month"
|
||||
ExpiresByType text/html "access 1 month"
|
||||
ExpiresByType application/pdf "access 1 month"
|
||||
ExpiresByType text/x-javascript "access 1 month"
|
||||
ExpiresByType application/x-shockwave-flash "access 1 month"
|
||||
ExpiresByType image/x-icon "access 1 year"
|
||||
ExpiresDefault "access 1 month"
|
||||
</IfModule>
|
||||
## EXPIRES CACHING ##
|
||||
|
||||
###
|
||||
# Weiterleitungen
|
||||
###
|
||||
|
||||
## www auf nichtwww umleiten
|
||||
|
||||
RewriteEngine On
|
||||
RewriteBase /
|
||||
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
|
||||
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
|
||||
|
||||
RewriteRule ^wk/([0-9]+)$ pages/desktop/verein.wettkampf.php?wkId=$1
|
||||
|
||||
RewriteRule ^gallery/([0-9]+)$ ?galId=$1 [L]
|
||||
RewriteRule ^gallery/([0-9]+)/.*$ ?galId=$1 [L]
|
||||
|
||||
RewriteRule ^galerie/([0-9]+)$ ?galId=$1 [L]
|
||||
RewriteRule ^galerie/([0-9]+)/.*$ ?galId=$1 [L]
|
||||
|
||||
|
||||
<IfModule mod_headers.c>
|
||||
Header set Content-Security-Policy "script-src 'self'"
|
||||
</IfModule>
|
||||
<IfModule mod_headers.c>
|
||||
Header always set X-FRAME-OPTIONS "DENY"
|
||||
</IfModule>
|
||||
|
||||
|
||||
# Auf die Fontdatei wird von der Subdomain aus zugegriffen
|
||||
# - das gesamte ressourcenVerzeichnis wird auf die Maindomain umgeleitet
|
||||
# - die mainDomain erlaubt aber anscheinend nicht, das fremde domains bei ihr anfragen startet
|
||||
# - deshalb zumindest für das otf-File den cross domain zugriff erlauben
|
||||
# (seltsam, dass der Zugriff auf die Bilder unter Photoalben aber erlaubt wird...)
|
||||
<IfModule mod_headers.c>
|
||||
<FilesMatch "\.(otf)$">
|
||||
Header set Access-Control-Allow-Origin "*"
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
|
||||
|
||||
###
|
||||
# redesign2018 Test
|
||||
###
|
||||
|
||||
|
||||
# Url-Rewriting aktivieren
|
||||
RewriteEngine on
|
||||
# Das Request ist für diese Domain
|
||||
# Für uns eigentlich irrelevant, da alle Domains (mit/ohne
|
||||
# www/ch/de/net) auf das Unterverzeichnis geleitet werden soll, aber
|
||||
# interessant zu wissen
|
||||
# Und jetzt nützlich: Ich kann es unter der .de-Domain testen!
|
||||
#RewriteCond %{HTTP_HOST} ^(www.)?cwsvjudo.bplaced.de$ [NC]
|
||||
|
||||
# einige hotfixes
|
||||
RewriteRule ^pages/desktop/verein.wettkampfkalender.php$ pages/responsive/wkKalender.php [L]
|
||||
RewriteRule ^ressourcen/(.*)$ ressourcen/$1 [L]
|
||||
RewriteRule ^photoalben/(.*)$ photoalben/$1 [L]
|
||||
RewriteRule ^videoalben/(.*)$ videoalben/$1 [L]
|
||||
RewriteRule ^downloads/(.*)$ downloads/$1 [L]
|
||||
RewriteRule ^temp/(.*)$ temp/$1 [L]
|
||||
RewriteRule ^admin/(.*)$ admin/$1 [L]
|
||||
|
||||
|
||||
RewriteCond %{REQUEST_URI} ^/$
|
||||
RewriteCond %{QUERY_STRING} ^wkId=([0-9]+)$
|
||||
RewriteRule ^(.*)$ /pages/responsive/wkKalender.php [L]
|
||||
|
||||
|
||||
# Die angeforderte Ressource ist nicht bereits in dem Zielverzeichnis:
|
||||
RewriteCond %{REQUEST_URI} !^/pages/responsive/
|
||||
|
||||
# Die angeforderte Ressource (als Datei) ist nicht im Rootverzeichnis
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
|
||||
# Die angeforderte Ressource (als Verzeichnis) ist nicht im
|
||||
# Rootverzeichnis
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
|
||||
# An die angeforderte Ressource das Zielverzeichnis präfixen
|
||||
RewriteRule ^(.*)$ /pages/responsive/$1
|
||||
|
||||
RewriteRule ^(.*)wkKalender/([0-9]+)(.*)$ $1/wkKalender?wkId=$2
|
||||
#RewriteCond %{HTTP_HOST} ^(www.)?cwsvjudo.bplaced.de$ [NC]
|
||||
RewriteRule ^gallery/([0-9]+)$ ?galId=$1 [L]
|
||||
RewriteRule ^galerie/([0-9]+)$ ?galId=$1 [L]
|
||||
|
||||
|
||||
# Ein Request für die Root-Ressource auf die index.php im
|
||||
# Zielverzeichnis umleiten
|
||||
|
||||
#RewriteCond %{HTTP_HOST} ^(www.)?cwsvjudo.bplaced.de$ [NC]
|
||||
RewriteRule ^(/)?$ pages/responsive/index.php [L]
|
||||
|
||||
|
||||
# Ende redesign2018-Test
|
||||
@@ -20,7 +20,6 @@ global $cwsvJudoConfig;
|
||||
return $db_connection;
|
||||
}
|
||||
|
||||
|
||||
/// Gibt entweder das erste, nichtleere Element zurück, oder null
|
||||
function firstNonEmptyOf($somePossibleEmptyStuff){
|
||||
if (is_array($somePossibleEmptyStuff) || $somePossibleEmptyStuff instanceof Traversable){
|
||||
@@ -93,7 +92,6 @@ if( empty($optionsArray['outCharset']) ) $optionsArray['outCharset'] = "UTF-8";
|
||||
return $retZitat;
|
||||
}
|
||||
|
||||
|
||||
/// filtert aus einem Array einträge in der gegebenen Reihenfolge
|
||||
function arrayKeyFilter($anArray, $someKeys){
|
||||
// var_dump($anArray, $someKeys);
|
||||
@@ -126,11 +124,27 @@ return arrayKeyFilter(
|
||||
function echoThisOrThat($This, $that){
|
||||
echo( !empty($This) ? $This : $that );
|
||||
}
|
||||
|
||||
function echoThisWhenThat($This, $that){
|
||||
if( !empty($that) ) echo( $This );
|
||||
}
|
||||
|
||||
function thisWhenThat($This, $that){
|
||||
if( empty($that) ) return "";
|
||||
return $This;
|
||||
}
|
||||
|
||||
setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
|
||||
function toAscii($str, $replace=array(), $delimiter='-') {
|
||||
if( !empty($replace) ) {
|
||||
$str = str_replace((array)$replace, ' ', $str);
|
||||
}
|
||||
|
||||
$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
|
||||
$clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
|
||||
$clean = strtolower(trim($clean, '-'));
|
||||
$clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean);
|
||||
|
||||
return $clean;
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -84,6 +84,7 @@ $options = getKeyValueArray($someOptions);
|
||||
|
||||
$retHtml = "";
|
||||
$retHtml .= "<article class=\"newsArtikel\">";
|
||||
$retHtml .= "<script type=\"application/ld+json\">".news2jsonSdArticle($aNews)."</script>";
|
||||
$retHtml .= "<div class=\"newsHeader\">";
|
||||
$retHtml .= "<div class=\"newsDatum\"><time datetime=\"" . $aNews['datum'] . "\">" . $aNews['datum'] . "</time></div>";
|
||||
$retHtml .= "<div class=\"newsBetreff\" ><h".(!empty($options["headingLevel"])?$options["headingLevel"]:"3").">" . $aNews['betreff'] . "</h".(!empty($options["headingLevel"])?$options["headingLevel"]:"3")."></div>";
|
||||
@@ -147,4 +148,36 @@ $options = getKeyValueArray($someOptions);
|
||||
$retHtml .= "</article>";
|
||||
return $retHtml;
|
||||
}
|
||||
|
||||
function news2jsonSdArticle($aNews){
|
||||
return json_encode(
|
||||
array(
|
||||
'@context'=>"http://schema.org",
|
||||
'@type'=>"NewsArticle",
|
||||
'mainEntityOfPage'=>array(
|
||||
'@type'=>"WebPage",
|
||||
'@id'=>"https://cwsvjudo.bplaced.net/news/".$aNews['nr']."/".toAscii($aNews['datum']."-".$aNews['betreff'])
|
||||
),
|
||||
'headline'=>"Article headline",
|
||||
'image'=>array(
|
||||
"http://cwsvjudo.bplaced.net/ressourcen/graphiken/logos/cwsvJudoLogoWappen.256w.png"
|
||||
),
|
||||
'datePublished'=>$aNews['datum'],
|
||||
'dateModified'=>$aNews['datum'],
|
||||
'author'=>array(
|
||||
'@type'=>"Person",
|
||||
'name'=>$aNews['autor']
|
||||
),
|
||||
'publisher'=>array(
|
||||
'@type'=>"Organization",
|
||||
'name'=>"cwsvJudo",
|
||||
'logo'=>array(
|
||||
'@type'=>"ImageObject",
|
||||
'url'=>"http://cwsvjudo.bplaced.net/ressourcen/graphiken/logos/cwsvJudoLogoWappen.256w.png"
|
||||
)
|
||||
),
|
||||
'description'=>$aNews['betreff']
|
||||
)
|
||||
);
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -7,8 +7,6 @@ global $basePath;
|
||||
|
||||
// Sammlung von Fehlermeldungen o.ä.
|
||||
$message = array();
|
||||
//require_once($basePath."/bonus/db.inc");
|
||||
//include_once($basePath."/config/db.inc");
|
||||
|
||||
$limit = is_positive_integer($someOptions['limit'])?$someOptions['limit']:1;
|
||||
|
||||
@@ -30,6 +28,12 @@ $limit = is_positive_integer($someOptions['limit'])?$someOptions['limit']:1;
|
||||
// $newsList = getNews($db_connection, array('limit'=>$limit));
|
||||
$newsList = getNews($db_connection, $someOptions);
|
||||
|
||||
$newsHeading = "Aktuelle Meldungen";
|
||||
//var_dump($options);
|
||||
if($someOptions['newsId']) $newsHeading=$newsList[0]['betreff'];
|
||||
if($someOptions['jahr']) $newsHeading="Nachrichten des Jahres ".$someOptions['jahr'];
|
||||
|
||||
echo("<h1>".$newsHeading."</h1>");
|
||||
if( is_array( $newsList ) || is_object( $newsList ) )
|
||||
foreach($newsList as $news)
|
||||
echo( getHtmlNews($news, "headingLevel=2")."<hr />" );
|
||||
|
||||
@@ -178,6 +178,8 @@ $htmlWkTableString = "";
|
||||
$htmlWkTableString .= "<tr><th colspan=\"5\" >".$lastMonthName."</th></tr><tr class=\"displayNone\" ><th colspan=\"5\"></th></tr>";
|
||||
}
|
||||
|
||||
$wkJsonSd = wkArray2jsonSdEvent($wk);
|
||||
|
||||
// schlechter Hack solange die Browser nicht von selbst ordentlich trennen
|
||||
$wk['Veranstaltung'] =
|
||||
str_replace("meisterschaft", "­meisterschaft", $wk['Veranstaltung']);
|
||||
@@ -192,7 +194,7 @@ $htmlWkTableString = "";
|
||||
|
||||
$htmlWkTableString .=
|
||||
"<tr>".
|
||||
"<script type=\"application/ld+json\">".wkArray2jsonSdEvent($wk)."</script>".
|
||||
"<script type=\"application/ld+json\">".$wkJsonSd."</script>".
|
||||
"<td data-title=\"Datum\" class=\"noWrap\">".
|
||||
"<time class=\"kalenderDatum\" datetime=".$wk['Datum'].">".
|
||||
"<span>".strftime("%Y", strtotime($wk['Datum']))."</span>".
|
||||
@@ -231,18 +233,29 @@ $htmlWkTableString = "";
|
||||
return $htmlWkTableString;
|
||||
}
|
||||
|
||||
|
||||
function nicerAkList($akArray){
|
||||
$ret=explode( " ", $akArray );
|
||||
|
||||
$last = array_slice($ret, -1);
|
||||
$first = join(', ', array_slice($ret, 0, -1));
|
||||
$both = array_filter(array_merge(array($first), $last), 'strlen');
|
||||
|
||||
$ret = join(' und ', $both);
|
||||
return $ret;
|
||||
}
|
||||
/// Wettkampfdaten als json-formatierte strukturierte Event-Daten
|
||||
function wkArray2jsonSdEvent($wk){
|
||||
return
|
||||
"{".
|
||||
"\"@context\": \"http://schema.org\",".
|
||||
"\"@type\": \"Event\",".
|
||||
"\"name\": \"".$wk['Veranstaltung']."\",".
|
||||
"\"name\": \"".html_entity_decode( $wk['Veranstaltung'] )."\",".
|
||||
"\"startDate\": \"".$wk['Datum']."\",".
|
||||
"\"endDate\": \"".$wk['Datum']."\",".
|
||||
// "\"url\": \"http://cwsvjudo.bplaced.net/pages/desktop/verein.wettkampfkalender.php?wkId=".$wk['lfdeNr']."\",".
|
||||
"\"url\": \"http://cwsvjudo.bplaced.net/wkKalender/".$wk['lfdeNr']."\",".
|
||||
"\"description\": \"Judo-Wettkampf der Altersklasse(n) ".$wk['Altersklassen']."\",".
|
||||
"\"url\": \"http://cwsvjudo.bplaced.net/wkKalender/".$wk['lfdeNr']."/".toAscii( html_entity_decode( $wk['Veranstaltung'] ))."\",".
|
||||
"\"description\": \"Judo-Wettkampf der Altersklasse(n) ".nicerAkList( $wk['Altersklassen'] )."\",".
|
||||
"\"location\": {".
|
||||
"\"@type\": \"Place\",".
|
||||
"\"name\": \"".$wk['Ort']."\",".
|
||||
|
||||
@@ -44,6 +44,7 @@ body > * {
|
||||
.sideNotes{
|
||||
float: right;
|
||||
width: 33%;
|
||||
clear: right;
|
||||
}
|
||||
.footerBar{
|
||||
clear: both;
|
||||
|
||||
@@ -8,5 +8,5 @@ keywords:
|
||||
- News
|
||||
description: "Bekanntmachungen und Meldungen der Judoka des Chemnitzer WSV"
|
||||
...
|
||||
|
||||
<?php if($_GET['jahr']) $options['jahr']=$_GET['jahr']; else $options['limit']=6; echoNewsTableHtml( $options );?>
|
||||
<?php if($_GET['newsId']){$options['newsId']=$_GET['newsId']; echoNewsTableHtml( $options );}?>
|
||||
<?php $options=array(); if($_GET['jahr']) $options['jahr']=$_GET['jahr']; else $options['limit']=6; echoNewsTableHtml( $options );?>
|
||||
|
||||
@@ -6,7 +6,7 @@ keywords:
|
||||
- Judo
|
||||
- Chemnitz
|
||||
- Chemnitzer Freizeit- und Wohngebietssportverein
|
||||
description: "Informationen und weiterführende Links des Chemniitzer Freizeit- und Wohngebitssportvereines"
|
||||
description: "Informationen und weiterführende Links des Chemnitzer Freizeit- und Wohngebitssportvereines"
|
||||
canonicalLink: "http://cwsvjudo.bplaced.net/verein"
|
||||
ampVersionLink: "http://amp.cwsvjudo.bplaced.net/verein"
|
||||
...
|
||||
|
||||
@@ -24,7 +24,8 @@
|
||||
"cwsvjudo.wettkampfkalender.Altersklassen, ".
|
||||
"cwsvjudo.wkParticipo_Events.id, ".
|
||||
"cwsvjudo.wkParticipo_Events.meldefrist, ".
|
||||
"cwsvjudo.wkParticipo_Events.wkId ".
|
||||
"cwsvjudo.wkParticipo_Events.wkId, ".
|
||||
"cwsvjudo.wkParticipo_Events.bemerkungen ".
|
||||
"FROM cwsvjudo.wettkampfkalender JOIN cwsvjudo.wkParticipo_Events ".
|
||||
"ON cwsvjudo.wettkampfkalender.lfdeNr = cwsvjudo.wkParticipo_Events.wkId ".
|
||||
"WHERE cwsvjudo.wkParticipo_Events.meldefrist > CURDATE() AND cwsvjudo.wkParticipo_Events.meldefrist <= DATE_ADD(CURDATE(), INTERVAL 1 WEEK) ".
|
||||
@@ -42,7 +43,8 @@
|
||||
"cwsvjudo.wettkampfkalender.Altersklassen, ".
|
||||
"cwsvjudo.wkParticipo_Events.id, ".
|
||||
"cwsvjudo.wkParticipo_Events.meldefrist, ".
|
||||
"cwsvjudo.wkParticipo_Events.wkId ".
|
||||
"cwsvjudo.wkParticipo_Events.wkId, ".
|
||||
"cwsvjudo.wkParticipo_Events.bemerkungen ".
|
||||
"FROM cwsvjudo.wettkampfkalender JOIN cwsvjudo.wkParticipo_Events ".
|
||||
"ON cwsvjudo.wettkampfkalender.lfdeNr = cwsvjudo.wkParticipo_Events.wkId ".
|
||||
// "WHERE cwsvjudo.wkParticipo_Events.meldefrist > CURDATE() AND cwsvjudo.wkParticipo_Events.meldefrist <= DATE_ADD(CURDATE(), INTERVAL 1 WEEK) ".
|
||||
@@ -85,6 +87,8 @@
|
||||
$newsletter['message'] .= "\tAltersklassen: ".mb_convert_encoding($event['Altersklassen'], 'UTF-8', 'ISO-8859-1')."\r\n";
|
||||
$newsletter['message'] .= "\tMeldefrist: ".mb_convert_encoding($event['meldefrist'], 'UTF-8', 'ISO-8859-1')."\r\n";
|
||||
$newsletter['message'] .= "\tLink: http://cwsvjudo.bplaced.net/pages/desktop/wkParticipo/showWkEvent.php?eventId=".$event['id']."\r\n";
|
||||
if(!empty($event['bemerkungen']))
|
||||
$newsletter['message'] .= "\tBemerkungen: ".$event['bemerkungen']."\r\n";
|
||||
$newsletter['message'] .= "\t\r\n";
|
||||
}
|
||||
|
||||
@@ -98,6 +102,8 @@
|
||||
$newsletter['message'] .= "\tAltersklassen: ".mb_convert_encoding($event['Altersklassen'], 'UTF-8', 'ISO-8859-1')."\r\n";
|
||||
$newsletter['message'] .= "\tMeldefrist: ".mb_convert_encoding($event['meldefrist'], 'UTF-8', 'ISO-8859-1')."\r\n";
|
||||
$newsletter['message'] .= "\tLink: http://cwsvjudo.bplaced.net/pages/desktop/wkParticipo/showWkEvent.php?eventId=".$event['id']."\r\n";
|
||||
if(!empty($event['bemerkungen']))
|
||||
$newsletter['message'] .= "\tBemerkungen: ".$event['bemerkungen']."\r\n";
|
||||
$newsletter['message'] .= "\t\r\n";
|
||||
}
|
||||
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
<li>Frist zum Einschreiben: <time datetime="<?php echo mb_convert_encoding($eventData['meldefrist'], 'UTF-8', 'ISO-8859-1');?>"><?php echo mb_convert_encoding($eventData['meldefrist'], 'UTF-8', 'ISO-8859-1');?></time> <a class="touchLink" href ="<?php echo(addToGcalUrl(mb_convert_encoding($eventData['Veranstaltung'], 'UTF-8', 'ISO-8859-1'), mb_convert_encoding($eventData['meldefrist'], 'UTF-8', 'ISO-8859-1') ));?>">Einschreibefrist in den Google Calendar übernehmen</a></li>
|
||||
<li>Altersklassen: <?php echo mb_convert_encoding($eventData['Altersklassen'], 'UTF-8', 'ISO-8859-1');?></li>
|
||||
<li>Ort: <a class="touchLink" href="<?php echo $eventData['Routenplaner'];?>"><?php echo mb_convert_encoding($eventData['Ort'], 'UTF-8', 'ISO-8859-1');?></a></li>
|
||||
<li>Bemerkungen: <?php echo $eventData['bemerkungen'];?></li>
|
||||
</ul>
|
||||
|
||||
<nav>
|
||||
|
||||
Reference in New Issue
Block a user