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:
@@ -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']."\",".
|
||||
|
||||
Reference in New Issue
Block a user