WIP Suche implementiert, sowie Sortieren der Ergebnisse #19

Merged
niklas.ortmann merged 54 commits from ImplementedSearch into dev 2026-06-03 16:07:42 +02:00
2 changed files with 3 additions and 10 deletions
Showing only changes of commit d58ea953af - Show all commits
+2 -6
View File
@@ -18,10 +18,6 @@ if ($_SERVER["REQUEST_METHOD"] === "GET" && isset($_GET["q"])) {
$results = $articleManager->search($search);
//$_SESSION["search_results"] = $results;
//$_SESSION["search_query"] = $search;
//$_SESSION["message"] = "new_search_results";
$safeArrayResults = [];
foreach ($results as $obj) {
$safeArrayResults[] = [
@@ -35,10 +31,10 @@ if ($_SERVER["REQUEST_METHOD"] === "GET" && isset($_GET["q"])) {
];
}
$_SESSION["search_results"] = $safeArrayResults; // Jetzt liegen hier sichere Arrays!
$_SESSION["search_results"] = $safeArrayResults;
$_SESSION["search_query"] = $search;
$_SESSION["message"] = "new_search_results";
} catch (Exception $e){
$_SESSION["message"] = "internal_error";
}
+1 -4
View File
@@ -169,7 +169,7 @@ class LocalArticleManager implements ArticleManagerDAO {
return $filteredArticles;
}
// getarticlesbyauthor nutzen um auch nach kategorien zu suchen
public function search(string $keyword): array
{
$articles = $this->getAllArticles();
@@ -179,18 +179,15 @@ class LocalArticleManager implements ArticleManagerDAO {
return [];
}
// Verwende strtolower statt mb_strtolower
$cleanKeyword = strtolower(trim($keyword));
foreach ($articles as $article) {
// Sicherstellen, dass die Felder existieren und in Kleinbuchstaben umwandeln
$title = isset($article['title']) ? strtolower((string)$article['title']) : '';
$content = isset($article['content']) ? strtolower((string)$article['content']) : '';
if (($cleanKeyword !== '' && strpos($title, $cleanKeyword) !== false) ||
($cleanKeyword !== '' && strpos($content, $cleanKeyword) !== false)) {
// Falls die Article-Klasse geladen ist, wird das hier fehlerfrei ausgeführt:
$filteredArticles[] = new Article(
intval($article['id'] ?? 0),
$article['title'] ?? '',