diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 2ab874c..bd6b5c0 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -1,12 +1,11 @@
{
"recommendations": [
- "zarifprogrammer.tailwind-snippets",
- "dawhite.mustache",
"otovo-oss.htmx-tags",
"devsense.phptools-vscode",
"bmewburn.vscode-intelephense-client",
"github.copilot",
"github.copilot-chat",
- "bradlc.vscode-tailwindcss"
+ "anbuselvanrocky.bootstrap5-vscode",
+ "hansuxdev.bootstrap5-snippets"
]
}
\ No newline at end of file
diff --git a/web/inc/classes/Page.class.php b/web/inc/classes/Page.class.php
index 68f0e49..f90e185 100644
--- a/web/inc/classes/Page.class.php
+++ b/web/inc/classes/Page.class.php
@@ -18,6 +18,7 @@ class Page
public $menu_text;
public $menu_image;
public $menu_priority;
+ public $menu_classes;
public $submenu;
private $r;
diff --git a/web/inc/core.php b/web/inc/core.php
index 1eddbe5..980443a 100644
--- a/web/inc/core.php
+++ b/web/inc/core.php
@@ -118,7 +118,7 @@ function getMenu()
{
while($arr[$menu_priority])
$menu_priority++;
- $arr[$menu_priority] = array('text'=>$menu_text,'image'=>$instance->menu_image, 'url'=>$file,'menu_class'=>$instance->menu_class,'submenu'=>$instance->submenu);
+ $arr[$menu_priority] = array('text'=>$menu_text,'image'=>$instance->menu_image, 'url'=>$file,'menu_classes'=>$instance->menu_classes,'submenu'=>$instance->submenu);
}
}
}
diff --git a/web/pages/admin/edituser.html b/web/pages/admin/edituser.html
index 0404e31..c07bd74 100644
--- a/web/pages/admin/edituser.html
+++ b/web/pages/admin/edituser.html
@@ -28,7 +28,7 @@
diff --git a/web/pages/demo/controller.php b/web/pages/demo/controller.php
new file mode 100644
index 0000000..ef351ec
--- /dev/null
+++ b/web/pages/demo/controller.php
@@ -0,0 +1,27 @@
+menu_text = 'Demo';
+ $this->menu_image = 'fas fa-do';
+ $this->menu_priority = 5;
+ }
+
+ function setSubmenu()
+ {
+ //$this->addSubmenuItem('Hunde anzeigen','/dogs','far fa-list-alt');
+ //$this->addSubmenuItem('Hund hinzufügen','/dogs/add','fas fa-plus-circle');
+ }
+
+ function index()
+ {
+ $this->set('successTitle','Erfolgreich');
+ $this->set('successMessage','Text davon');
+
+ $this->set('errorMessage','Fehler ohne Titel');
+
+ $this->set('template','demo.html');
+ }
+}
\ No newline at end of file
diff --git a/web/pages/demo/demo.html b/web/pages/demo/demo.html
new file mode 100644
index 0000000..4e0e7da
--- /dev/null
+++ b/web/pages/demo/demo.html
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/web/pages/login/controller.php b/web/pages/login/controller.php
index 6e67328..242edf4 100644
--- a/web/pages/login/controller.php
+++ b/web/pages/login/controller.php
@@ -5,7 +5,9 @@ class Login extends Page {
function setMenu()
{
if($_SESSION['user'])
+ {
$this->menu_text = $_SESSION['userid'];
+ }
else
$this->menu_text = 'Login';
$this->menu_image = 'far fa-user';
@@ -25,7 +27,7 @@ class Login extends Page {
function index()
{
- $this->set('hello','world');
+
$this->set('template', 'login.html');
//return print_r($_REQUEST, true);
}
@@ -47,11 +49,48 @@ class Login extends Page {
function validate()
{
- $email = $_REQUEST['email'];
- $password = $_REQUEST['password'];
+ $email = trim($_REQUEST['email']);
+ $password = trim($_REQUEST['password']);
$remember = $_REQUEST['remember'];
- return print_r(['email'=>$email,'password'=>$password,'remember'=>$remember], true);
+ $error = false;
+
+ $u = new User();
+
+ if(!$email || !$password)
+ $error = 'Bitte gib deine E-Mail-Adresse und dein Passwort ein';
+ else if(!filter_var($email, FILTER_VALIDATE_EMAIL))
+ $error = 'Bitte gib eine gültige E-Mail-Adresse ein';
+ else if(!$u->exists($email))
+ $error = 'Benutzer nicht gefunden. Schon registriert?';
+ else {
+
+ try{
+ $u->load($email);
+ }
+ catch(Exception $e){
+ $error = $e->getMessage();
+ }
+ if(!password_verify($password, $u->data['password']))
+ $error = 'E-Mail-Adresse oder Passwort falsch';
+ else if($u->data['active'] == 0)
+ $error = 'Dein Account ist noch nicht aktiviert';
+ else
+ {
+ $u->login();
+ $this->redirect('/');
+ }
+ }
+
+ if($error)
+ {
+ $this->set('template', '/templates/partials/error.html');
+ $this->set('errorTitle', 'Error');
+ $this->set('errorMessage', $error);
+ }
+
+
+ //return print_r(['email'=>$email,'password'=>$password,'remember'=>$remember], true);
}
}
\ No newline at end of file
diff --git a/web/pages/login/login.html b/web/pages/login/login.html
index 29e2cd8..2af7ce2 100644
--- a/web/pages/login/login.html
+++ b/web/pages/login/login.html
@@ -1,39 +1,20 @@
-
-
-
-
- Sign in to your account
-
-
- = $hello ?>
-
-
-
+
+
+ Password
+
+
+
+
+ Remember me
+
+
Submit
+
+ Don't have an account yet? Sign up
+
+
diff --git a/web/pages/register/register.html b/web/pages/register/register.html
index 200a2c4..1475aaf 100644
--- a/web/pages/register/register.html
+++ b/web/pages/register/register.html
@@ -1,28 +1,19 @@
-
-
+
+ Passwort
+
+
+
+ Passwort wiederholen
+
+
+
Submit
+
diff --git a/web/templates/mainpage.html b/web/templates/mainpage.html
index 8df47f4..0973672 100644
--- a/web/templates/mainpage.html
+++ b/web/templates/mainpage.html
@@ -15,8 +15,8 @@
-
-
+
+
diff --git a/web/templates/menu.html b/web/templates/menu.html
index 6eb6b21..bb15fc4 100644
--- a/web/templates/menu.html
+++ b/web/templates/menu.html
@@ -15,7 +15,7 @@
-
+
-
+
diff --git a/web/templates/partials/error.html b/web/templates/partials/error.html
index 6991915..e6f2e20 100644
--- a/web/templates/partials/error.html
+++ b/web/templates/partials/error.html
@@ -1,4 +1,6 @@
-
-
= $errorTitle ?>
-
= $errorMessage ?>
-
\ No newline at end of file
+
+
+
= $errorTitle ?>
+
+ = $errorMessage ?>
+
\ No newline at end of file
diff --git a/web/templates/partials/info.html b/web/templates/partials/info.html
index 2bed0cc..639f7f9 100644
--- a/web/templates/partials/info.html
+++ b/web/templates/partials/info.html
@@ -1,4 +1,6 @@
-
-
= $infoTitle ?>
-
= $infoMessage ?>
-
\ No newline at end of file
+
+
+
= $infoTitle ?>
+
+ = $infoMessage ?>
+
\ No newline at end of file
diff --git a/web/templates/partials/notice.html b/web/templates/partials/notice.html
index f524c1a..e7a6fb8 100644
--- a/web/templates/partials/notice.html
+++ b/web/templates/partials/notice.html
@@ -1,4 +1,6 @@
-
-
= $title ?>
-
= $message ?>
-
\ No newline at end of file
+
+
+
= $noticeTitle ?>
+
+ = $noticeMessage ?>
+
\ No newline at end of file
diff --git a/web/templates/partials/success.html b/web/templates/partials/success.html
index c3d897d..41db695 100644
--- a/web/templates/partials/success.html
+++ b/web/templates/partials/success.html
@@ -1,4 +1,6 @@
-
-
= $successTitle ?>
-
= $successMessage ?>
-
\ No newline at end of file
+
+
+
= $successTitle ?>
+
+ = $successMessage ?>
+
\ No newline at end of file