summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorSimon Rettberg2015-03-09 18:08:15 +0100
committerSimon Rettberg2015-03-09 18:08:15 +0100
commitdcb1d7a5b6c057f34f8cc4aa69275cc4ddb109d3 (patch)
tree5d9230b6ba937a272d4e966c9348238667da22f9 /modules
parentFourth Commit (diff)
downloadbwlp-webadmin-dcb1d7a5b6c057f34f8cc4aa69275cc4ddb109d3.tar.gz
bwlp-webadmin-dcb1d7a5b6c057f34f8cc4aa69275cc4ddb109d3.tar.xz
bwlp-webadmin-dcb1d7a5b6c057f34f8cc4aa69275cc4ddb109d3.zip
+AGB, +DeleteUser feature
Diffstat (limited to 'modules')
-rw-r--r--modules/agb.inc.php11
-rw-r--r--modules/deleteuser.inc.php37
-rw-r--r--modules/logout.inc.php6
-rw-r--r--modules/register.inc.php7
4 files changed, 59 insertions, 2 deletions
diff --git a/modules/agb.inc.php b/modules/agb.inc.php
new file mode 100644
index 0000000..09179e3
--- /dev/null
+++ b/modules/agb.inc.php
@@ -0,0 +1,11 @@
+<?php
+
+class Page_Agb extends Page
+{
+
+ public function doRender()
+ {
+ Render::addTemplate('agb/_page');
+ }
+
+} \ No newline at end of file
diff --git a/modules/deleteuser.inc.php b/modules/deleteuser.inc.php
new file mode 100644
index 0000000..5341790
--- /dev/null
+++ b/modules/deleteuser.inc.php
@@ -0,0 +1,37 @@
+<?php
+
+class Page_DeleteUser extends Page
+{
+
+ public function doPreprocess()
+ {
+ if (!User::load()) {
+ Message::addError('Sie sind nicht angemeldet');
+ Util::redirect('?do=Main');
+ }
+ if (!User::isInDatabase()) {
+ Message::addInfo('Sie haben sich nicht für den bwLehrpool-Dienst registriert, daher gibt es auch keine zu löschenden Daten');
+ Util::redirect('?do=Main');
+ }
+ // Dooo it
+ if (Request::post('confirm') === 'on') {
+ Image::deleteOwnedBy(User::getId());
+ if (User::delete()) {
+ Message::addError('All Ihre Daten wurden vom Server gelöscht');
+ } else {
+ Message::addError('Fehler beim Löschen Ihrer Daten');
+ }
+ Util::redirect('?do=Main');
+ }
+ if (Request::post('token') !== false) {
+ Message::addError('Bitte bestätigen Sie, dass Sie ihren Account löschen möchten');
+ Util::redirect();
+ }
+ }
+
+ public function doRender()
+ {
+ Render::addTemplate('deleteuser/_page');
+ }
+
+}
diff --git a/modules/logout.inc.php b/modules/logout.inc.php
index 1f22fb4..f1379d6 100644
--- a/modules/logout.inc.php
+++ b/modules/logout.inc.php
@@ -5,8 +5,10 @@ class Page_Logout extends Page
public function doPreprocess()
{
- if (Request::any('noredirect') === false) {
- User::load();
+ if (!User::load()) {
+ Util::redirect('?do=Main');
+ }
+ if (User::isLocalOnly()) {
User::logout();
}
}
diff --git a/modules/register.inc.php b/modules/register.inc.php
index 3dd3b89..0fec4c7 100644
--- a/modules/register.inc.php
+++ b/modules/register.inc.php
@@ -12,6 +12,13 @@ class Page_Register extends Page
}
if (!User::isShibbolethAuth())
Util::redirect(CONFIG_PREFIX . 'shib/?do=Main');
+
+ if (User::getOrganization() === false) {
+ Message::addError('Ihre Einrichtung {{0}} scheint kein bwIDM zu unterstützen. Bitte wenden Sie sich an den Support.',
+ User::getOrganizationId());
+ Util::redirect('?do=Main');
+ }
+
if (Request::post('agb') === 'on') {
// Put stuff in DB
User::deploy(Request::post('share') !== 'on');