anpassung von controllern und results
search function implementiert, search controller entsprechend angepasst und die results seite angepasst
This commit is contained in:
@@ -3,22 +3,25 @@ session_start();
|
||||
require_once '../model/LocalArticleManager.php';
|
||||
require_once '../model/ArticleManager.php';
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST") {
|
||||
if(!isset($_POST["search"])){
|
||||
if ($_SERVER["REQUEST_METHOD"] === "GET") {
|
||||
if(!isset($_GET["q"])){
|
||||
$_SESSION["message"] = "missing_parameters";
|
||||
header("location: ../../index.php?pfad=search-results");
|
||||
} else {
|
||||
|
||||
$search = $_POST["search"];
|
||||
$search = trim($_GET["q"]);
|
||||
|
||||
try {
|
||||
$articleManager = ArticleManager::getInstance();
|
||||
$articleManager->search($search); // TODO: Methode implementieren.
|
||||
$results = $articleManager->search($search);
|
||||
|
||||
$_SESSION["search_results"] = $results;
|
||||
$_SESSION["search_query"] = $search;
|
||||
$_SESSION["message"] = "new_search_results";
|
||||
} catch (Exception $e){
|
||||
$_SESSION["message"] = "internal_error";
|
||||
}
|
||||
$_SESSION["message"] = "new_search_results";
|
||||
// TODO: Liste mit Artikeln in der Suchreihenfolge übertragen.
|
||||
// Weiterleitung zur Suchergebnisanzeige
|
||||
header("location: ../../index.php?pfad=search-results");
|
||||
exit();
|
||||
|
||||
@@ -44,4 +44,25 @@ class ArticleManager extends LocalArticleManager
|
||||
|
||||
return $articleManager;
|
||||
}
|
||||
|
||||
|
||||
public function search(string $keyword): array
|
||||
{
|
||||
$results = [];
|
||||
$contentFolder = __DIR__ . '/../content/';
|
||||
$files = glob($contentFolder . "*.php");
|
||||
|
||||
foreach ($files as $file) {
|
||||
$content = file_get_contents($file);
|
||||
if (stripos($content, $keyword) !== false) {
|
||||
$filename = basename($file, ".php");
|
||||
$results[] = [
|
||||
'title' => ucfirst($filename),
|
||||
'link' => "index.php?pfad=" . $filename
|
||||
];
|
||||
}
|
||||
}
|
||||
return $results;
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user