Implementierung des validators
This commit is contained in:
@@ -1,4 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
require_once __DIR__ . '/../../validators/search-validator.php';
|
||||||
|
|
||||||
if (session_status() === PHP_SESSION_NONE) {
|
if (session_status() === PHP_SESSION_NONE) {
|
||||||
session_start();
|
session_start();
|
||||||
}
|
}
|
||||||
@@ -8,11 +11,16 @@ $query = $_SESSION["search_query"] ?? "";
|
|||||||
$totalResultsCount = count($all_results);
|
$totalResultsCount = count($all_results);
|
||||||
|
|
||||||
$limit = isset($_GET['limit']) ? (int)$_GET['limit'] : 10;
|
$limit = isset($_GET['limit']) ? (int)$_GET['limit'] : 10;
|
||||||
if (!in_array($limit, [10, 20, 50, 100])) {
|
if (!searchLimitValidator($limit)) {
|
||||||
$limit = 10;
|
$limit = 10; // Fallback auf Standardwert bei Manipulation
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($query) && !searchQueryValidator($query)) {
|
||||||
|
$all_results = [];
|
||||||
|
$totalResultsCount = 0;
|
||||||
|
$_SESSION["message"] = "missing_parameters";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gesamtseitenzahl
|
|
||||||
$totalPages = max(1, ceil($totalResultsCount / $limit));
|
$totalPages = max(1, ceil($totalResultsCount / $limit));
|
||||||
|
|
||||||
// Aktuelle Seite auslesen und validieren
|
// Aktuelle Seite auslesen und validieren
|
||||||
@@ -23,11 +31,8 @@ if ($currentPage < 1) {
|
|||||||
$currentPage = $totalPages;
|
$currentPage = $totalPages;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Startpunkt im Array berechnen (Offset)
|
|
||||||
$offset = ($currentPage - 1) * $limit;
|
$offset = ($currentPage - 1) * $limit;
|
||||||
|
|
||||||
// Nur die Ergebnisse für die aktuelle Seite ausschneiden
|
|
||||||
//$results = array_slice($all_results, $offset, $limit);
|
|
||||||
$results = $all_results;
|
$results = $all_results;
|
||||||
$resultCount = count($results);
|
$resultCount = count($results);
|
||||||
|
|
||||||
@@ -78,6 +83,7 @@ $resultCount = count($results);
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Dropdown-Menu fuer Filter-Optionen -->
|
||||||
<div class="s-res-sidebar-box">
|
<div class="s-res-sidebar-box">
|
||||||
<h3 class="s-res-sidebar-title">Kategorie filtern</h3>
|
<h3 class="s-res-sidebar-title">Kategorie filtern</h3>
|
||||||
<select id="category-filter" class="s-res-limit-select" style="width: 100%; padding: 8px; border-radius: 6px; border: 1px solid #cbd5e1;">
|
<select id="category-filter" class="s-res-limit-select" style="width: 100%; padding: 8px; border-radius: 6px; border: 1px solid #cbd5e1;">
|
||||||
|
|||||||
@@ -0,0 +1,75 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prüft, ob ein Vor- oder Nachname gültig ist.
|
||||||
|
*
|
||||||
|
* Erlaubt werden Buchstaben, Umlaute, Leerzeichen und Bindestriche.
|
||||||
|
* Die Länge muss zwischen 2 und 20 Zeichen liegen.
|
||||||
|
*
|
||||||
|
* @param string $name Zu prüfender Name
|
||||||
|
*
|
||||||
|
* @return bool true wenn der Name gültig ist, sonst false
|
||||||
|
*/
|
||||||
|
function userNameValidator($name)
|
||||||
|
{
|
||||||
|
$name = trim($name);
|
||||||
|
$namePattern = '/^[a-zA-ZäöüÄÖÜß\s-]{2,20}$/u';
|
||||||
|
|
||||||
|
return preg_match($namePattern, $name) === 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prüft, ob eine E-Mail-Adresse gültig ist.
|
||||||
|
*
|
||||||
|
* Die E-Mail-Adresse muss dem Standardformat entsprechen
|
||||||
|
* und darf höchstens 100 Zeichen lang sein.
|
||||||
|
*
|
||||||
|
* @param string $email Zu prüfende E-Mail-Adresse
|
||||||
|
*
|
||||||
|
* @return bool true wenn die E-Mail-Adresse gültig ist, sonst false
|
||||||
|
*/
|
||||||
|
function userEmailValidator($email)
|
||||||
|
{
|
||||||
|
$email = trim($email);
|
||||||
|
|
||||||
|
return filter_var($email, FILTER_VALIDATE_EMAIL) !== false
|
||||||
|
&& mb_strlen($email) <= 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prüft, ob ein Passwort die Längenanforderungen erfüllt.
|
||||||
|
*
|
||||||
|
* Das Passwort muss zwischen 5 und 12 Zeichen lang sein.
|
||||||
|
*
|
||||||
|
* @param string $password Zu prüfendes Passwort
|
||||||
|
*
|
||||||
|
* @return bool true wenn das Passwort gültig ist, sonst false
|
||||||
|
*/
|
||||||
|
function userPasswordValidator($password)
|
||||||
|
{
|
||||||
|
$zeichenAnzahl = mb_strlen($password);
|
||||||
|
|
||||||
|
return $zeichenAnzahl >= 5 && $zeichenAnzahl <= 12;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prüft ein optionales Passwort.
|
||||||
|
*
|
||||||
|
* Ein leeres Passwort ist erlaubt und bedeutet,
|
||||||
|
* dass das bestehende Passwort unverändert bleibt.
|
||||||
|
* Falls ein Passwort angegeben wurde, wird es
|
||||||
|
* mit den normalen Passwortregeln geprüft.
|
||||||
|
*
|
||||||
|
* @param string|null $password Zu prüfendes Passwort
|
||||||
|
*
|
||||||
|
* @return bool true wenn das Passwort gültig oder leer ist,
|
||||||
|
* sonst false
|
||||||
|
*/
|
||||||
|
function userOptionalPasswordValidator($password)
|
||||||
|
{
|
||||||
|
if (!isset($password) || $password === '') {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return userPasswordValidator($password);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user