From 8848f95fe6b7512a30cacb559a2482343327bedc Mon Sep 17 00:00:00 2001 From: marko Date: Sat, 14 Jun 2025 06:30:00 +0200 Subject: [PATCH] WIP: newssection index --- .../phpLib/cwsvJudo/newsTableHtml.php | 94 ++++++++++++------- homepage/cwsvJudo/src/pages/test/config.php | 4 +- homepage/cwsvJudo/src/pages/test/index.php | 30 +++--- .../src/pages/test/phpLibs/cwsvJudo/news.php | 36 +++++-- .../src/pages/test/phpLibs/cwsvjudo/news.php | 3 + 5 files changed, 108 insertions(+), 59 deletions(-) diff --git a/homepage/cwsvJudo/phpLib/cwsvJudo/newsTableHtml.php b/homepage/cwsvJudo/phpLib/cwsvJudo/newsTableHtml.php index 48d1ddb..5811d95 100644 --- a/homepage/cwsvJudo/phpLib/cwsvJudo/newsTableHtml.php +++ b/homepage/cwsvJudo/phpLib/cwsvJudo/newsTableHtml.php @@ -1,48 +1,72 @@ getMessage(); - } + /// Eine Datenbankverbindung (über pdo) erstellen + try { + $db_connection = new PDO( + "mysql:host=" . + $cwsvJudoConfig["db"]["host"] . + ";" . + "dbname=" . + $cwsvJudoConfig["db"]["name"], + $cwsvJudoConfig["db"]["user"], + $cwsvJudoConfig["db"]["password"] + ); + } catch (PDOException $db_error) { + $messages["errors"][] = "Error: " . $db_error->getMessage(); + } -// News abfragen -// @todo: woher das limit nehmen? -// $newsList = getNews($db_connection, array('limit'=>$limit)); - $newsList = getNews($db_connection, $someOptions); + // News abfragen + // @todo: woher das limit nehmen? + // $newsList = getNews($db_connection, array('limit'=>$limit)); + $newsList = getNews(aMysqlConn: $db_connection, optionsArray: $someOptions); - $newsHeading = "Aktuelle Meldungen"; + $newsHeading = "Aktuelle Meldungen"; - if($someOptions['newsId']??false) $newsHeading=$newsList[0]['betreff']; - if($someOptions['jahr']??false) $newsHeading="Nachrichten des Jahres ".$someOptions['jahr']; + if ($someOptions["newsId"] ?? false) { + $newsHeading = $newsList[0]["betreff"]; + } + if ($someOptions["jahr"] ?? false) { + $newsHeading = "Nachrichten des Jahres " . $someOptions["jahr"]; + } - echo("".$newsHeading.""); - if( is_array( $newsList ) || is_object( $newsList ) ) - foreach($newsList as $news) - echo( getHtmlNews($news, "headingLevel=".strval($headerRootLevel+1))."
" ); - else - $messages['errors'][] = "Fehler: Keine Neuigkeiten gefunden!"; + echo "" . + $newsHeading . + ""; + if (is_array($newsList) || is_object($newsList)) { + foreach ($newsList as $news) { + echo getHtmlNews( + $news, + "headingLevel=" . strval($headerRootLevel + 1) + ) . "
"; + }; + } else { + $messages["errors"][] = "Fehler: Keine Neuigkeiten gefunden!"; + } -// @todo: besser machen! -if(!empty($messages)) - var_dump($messages); -return; + // @todo: besser machen! + if (!empty($messages)) { + var_dump($messages); + } + return; } diff --git a/homepage/cwsvJudo/src/pages/test/config.php b/homepage/cwsvJudo/src/pages/test/config.php index 4856c93..3dc31f3 100644 --- a/homepage/cwsvJudo/src/pages/test/config.php +++ b/homepage/cwsvJudo/src/pages/test/config.php @@ -1,6 +1,6 @@ - diff --git a/homepage/cwsvJudo/src/pages/test/phpLibs/cwsvJudo/news.php b/homepage/cwsvJudo/src/pages/test/phpLibs/cwsvJudo/news.php index f781cde..1ca0c5d 100644 --- a/homepage/cwsvJudo/src/pages/test/phpLibs/cwsvJudo/news.php +++ b/homepage/cwsvJudo/src/pages/test/phpLibs/cwsvJudo/news.php @@ -91,9 +91,20 @@ class PromoImage return $data; } + public function as_html() + { + return ''; + } + private string $src; - private int $width; - private int $height; + private ?int $width; + private ?int $height; public array $data; } @@ -110,13 +121,20 @@ class Entry $this->title = $data["betreff"]; $this->content = $data["nachricht"]; $this->author = $data["autor"]; - // $this->promo = new PromoImage( - // json_encode($data["promoImg"])); + $this->promo = new PromoImage( + json_decode($data["promoImg"], associative: true) + ); } function as_card(): string { - return '
' . + return '
' . + '
' . + '' . + $this->title . + "" . + $this->promo->as_html() . + "
" . '
' . '' . $this->title . @@ -125,7 +143,7 @@ class Entry $this->content . "

" . "
" . - "
"; + "
"; } // private // - member variables @@ -207,15 +225,15 @@ function getNews( function newsBoard(\CwsvJudo\Db\Connector $dbHandle, array $options): string { - $boardHtml = '
'; + $boardHtml = '

Neuigkeiten

'; $entries = getNews(dbHandle: $dbHandle, options: $options); if (!is_null($entries)) { foreach ($entries as $entryData) { $entry = new \CwsvJudo\News\Entry($entryData); - $boardHtml .= $entry->as_card(); + $boardHtml .= '
' . $entry->as_card() . "
"; } } - $boardHtml .= "
"; + $boardHtml .= "
"; return $boardHtml; } diff --git a/homepage/cwsvJudo/src/pages/test/phpLibs/cwsvjudo/news.php b/homepage/cwsvJudo/src/pages/test/phpLibs/cwsvjudo/news.php index e69de29..b2895dd 100644 --- a/homepage/cwsvJudo/src/pages/test/phpLibs/cwsvjudo/news.php +++ b/homepage/cwsvJudo/src/pages/test/phpLibs/cwsvjudo/news.php @@ -0,0 +1,3 @@ +