Browse code

Allows calling system_failure early where no role is set

Hanno Böck authored on02/05/2020 12:03:00
Showing1 changed files
... ...
@@ -18,6 +18,9 @@ require_once("inc/security.php");
18 18
 
19 19
 function system_failure($reason)
20 20
 {
21
+    if (!isset($_SESSION['role'])) {
22
+        $_SESSION['role'] = ROLE_ANONYMOUS;
23
+    }
21 24
     input_error($reason);
22 25
     show_page();
23 26
     die();
Browse code

accept integer parameters in filter_*() and use filter_output_html() in html_* functions

Bernd Wurst authored on14/10/2019 11:50:19
Showing1 changed files
... ...
@@ -75,7 +75,7 @@ function get_messages()
75 75
     <ul>
76 76
     ';
77 77
         foreach ($input_error as $error) {
78
-            $messages .= '<li>'.nl2br(filter_input_general($error))."</li>\n";
78
+            $messages .= '<li>'.nl2br(filter_output_html($error))."</li>\n";
79 79
         }
80 80
         $messages .= '</ul>
81 81
     </div>';
... ...
@@ -85,7 +85,7 @@ function get_messages()
85 85
     <ul>
86 86
     ';
87 87
         foreach ($_SESSION['warning'] as $msg) {
88
-            $messages .= '<li>'.nl2br(filter_input_general($msg))."</li>\n";
88
+            $messages .= '<li>'.nl2br(filter_output_html($msg))."</li>\n";
89 89
         }
90 90
         $messages .= '</ul>
91 91
     </div>';
... ...
@@ -96,7 +96,7 @@ function get_messages()
96 96
     <ul>
97 97
     ';
98 98
         foreach ($_SESSION['success_msg'] as $msg) {
99
-            $messages .= '<li>'.nl2br(filter_input_general($msg))."</li>\n";
99
+            $messages .= '<li>'.nl2br(filter_output_html($msg))."</li>\n";
100 100
         }
101 101
         $messages .= '</ul>
102 102
     </div>';
Browse code

Warnungen nicht wie Fehler formatieren

Bernd Wurst authored on20/05/2019 17:04:35
Showing1 changed files
... ...
@@ -81,7 +81,7 @@ function get_messages()
81 81
     </div>';
82 82
     }
83 83
     if (isset($_SESSION['warning'])) {
84
-        $messages .= '<div class="error">
84
+        $messages .= '<div class="warning">
85 85
     <ul>
86 86
     ';
87 87
         foreach ($_SESSION['warning'] as $msg) {
Browse code

add brute force protection to login

Bernd Wurst authored on10/04/2019 07:56:36
Showing1 changed files
... ...
@@ -135,6 +135,12 @@ function require_role($roles)
135 135
 
136 136
 function login_screen($why = null)
137 137
 {
138
+    $failed = count_failed_logins();
139
+    if ($failed > 5) {
140
+        global $title;
141
+        $title = '';
142
+        system_failure("Zu viele fehlgeschlagenen Login-Versuche! Bitte warten Sie einige Minuten bis zum nächsten Versuch!");
143
+    }
138 144
     if (! $why) {
139 145
         if (isset($_COOKIE['CLIENTCERT_AUTOLOGIN']) && $_COOKIE['CLIENTCERT_AUTOLOGIN'] == '1') {
140 146
             redirect("/certlogin/index.php?destination=".urlencode($_SERVER['REQUEST_URI']));
Browse code

Fix coding style with php-cs-checker, see https://cs.sensiolabs.org/

Hanno authored on26/06/2018 13:58:19
Showing1 changed files
... ...
@@ -8,7 +8,7 @@ Written 2008-2018 by schokokeks.org Hosting, namely
8 8
 
9 9
 To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.
10 10
 
11
-You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see 
11
+You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see
12 12
 http://creativecommons.org/publicdomain/zero/1.0/
13 13
 
14 14
 Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
... ...
@@ -18,137 +18,132 @@ require_once("inc/security.php");
18 18
 
19 19
 function system_failure($reason)
20 20
 {
21
-	input_error($reason);
22
-	show_page();
23
-        die();
21
+    input_error($reason);
22
+    show_page();
23
+    die();
24 24
 }
25 25
 
26 26
 
27 27
 function input_error($reason)
28 28
 {
29
-  global $input_error;
30
-  if (!isset($input_error))
31
-    $input_error = array();
32
-  array_push($input_error, $reason);
29
+    global $input_error;
30
+    if (!isset($input_error)) {
31
+        $input_error = array();
32
+    }
33
+    array_push($input_error, $reason);
33 34
 }
34 35
 
35 36
 function warning($msg)
36 37
 {
37
-  if (!isset($_SESSION['warning']))
38
-    $_SESSION['warning'] = array();
39
-  array_push($_SESSION['warning'], $msg);
40
-  $backtrace = debug_backtrace();
41
-  DEBUG('WARNING:<br>'.$backtrace[0]['file'].':'.$backtrace[0]['line'].': '.$msg);
38
+    if (!isset($_SESSION['warning'])) {
39
+        $_SESSION['warning'] = array();
40
+    }
41
+    array_push($_SESSION['warning'], $msg);
42
+    $backtrace = debug_backtrace();
43
+    DEBUG('WARNING:<br>'.$backtrace[0]['file'].':'.$backtrace[0]['line'].': '.$msg);
42 44
 }
43 45
 
44 46
 function success_msg($msg)
45 47
 {
46
-  if (!isset($_SESSION['success_msg']))
47
-    $_SESSION['success_msg'] = array();
48
-  array_push($_SESSION['success_msg'], $msg);
48
+    if (!isset($_SESSION['success_msg'])) {
49
+        $_SESSION['success_msg'] = array();
50
+    }
51
+    array_push($_SESSION['success_msg'], $msg);
49 52
 }
50 53
 
51 54
 
52 55
 function we_have_an_error()
53 56
 {
54
-  global $input_error;
57
+    global $input_error;
55 58
 
56
-  if (isset($input_error))
57
-    return (count($input_error) > 0);
58
-  else
59
-    return 0;
59
+    if (isset($input_error)) {
60
+        return (count($input_error) > 0);
61
+    } else {
62
+        return 0;
63
+    }
60 64
 }
61 65
 
62 66
 
63 67
 function get_messages()
64 68
 {
65
-  $messages = '';
66
-  global $input_error;
67
-  if (isset($input_error))
68
-  {
69
-    $messages .= '<div class="error">
69
+    $messages = '';
70
+    global $input_error;
71
+    if (isset($input_error)) {
72
+        $messages .= '<div class="error">
70 73
     <h3>Fehler</h3>
71 74
     <p>Folgende Fehler wurden festgestellt: </p>
72 75
     <ul>
73 76
     ';
74
-    foreach ($input_error as $error)
75
-    {
76
-      $messages .= '<li>'.nl2br(filter_input_general($error))."</li>\n";
77
-    }
78
-    $messages .= '</ul>
77
+        foreach ($input_error as $error) {
78
+            $messages .= '<li>'.nl2br(filter_input_general($error))."</li>\n";
79
+        }
80
+        $messages .= '</ul>
79 81
     </div>';
80
-  }
81
-  if (isset($_SESSION['warning']))
82
-  {
83
-    $messages .= '<div class="error">
82
+    }
83
+    if (isset($_SESSION['warning'])) {
84
+        $messages .= '<div class="error">
84 85
     <ul>
85 86
     ';
86
-    foreach ($_SESSION['warning'] as $msg)
87
-    {
88
-      $messages .= '<li>'.nl2br(filter_input_general($msg))."</li>\n";
89
-    }
90
-    $messages .= '</ul>
87
+        foreach ($_SESSION['warning'] as $msg) {
88
+            $messages .= '<li>'.nl2br(filter_input_general($msg))."</li>\n";
89
+        }
90
+        $messages .= '</ul>
91 91
     </div>';
92
-    unset($_SESSION['warning']);
93
-  }
94
-  if (isset($_SESSION['success_msg']))
95
-  {
96
-    $messages .= '<div class="success">
92
+        unset($_SESSION['warning']);
93
+    }
94
+    if (isset($_SESSION['success_msg'])) {
95
+        $messages .= '<div class="success">
97 96
     <ul>
98 97
     ';
99
-    foreach ($_SESSION['success_msg'] as $msg)
100
-    {
101
-      $messages .= '<li>'.nl2br(filter_input_general($msg))."</li>\n";
102
-    }
103
-    $messages .= '</ul>
98
+        foreach ($_SESSION['success_msg'] as $msg) {
99
+            $messages .= '<li>'.nl2br(filter_input_general($msg))."</li>\n";
100
+        }
101
+        $messages .= '</ul>
104 102
     </div>';
105
-    unset($_SESSION['success_msg']);
106
-  }
107
-  return $messages;
103
+        unset($_SESSION['success_msg']);
104
+    }
105
+    return $messages;
108 106
 }
109 107
 
110
-function show_messages() 
108
+function show_messages()
111 109
 {
112
-  echo get_messages();
110
+    echo get_messages();
113 111
 }
114 112
 
115 113
 function require_role($roles)
116 114
 {
117
-  if (! is_array($roles)) {
118
-    $roles = array($roles);
119
-  }
120
-  $allow = false;
121
-  foreach ($roles as $role) {
122
-    if ($role & $_SESSION['role']) {
123
-      $allow = true;
115
+    if (! is_array($roles)) {
116
+        $roles = array($roles);
124 117
     }
125
-  }
126
-  if (! $allow) {
127
-    if ($_SESSION['role'] == ROLE_ANONYMOUS) {
128
-      login_screen();
129
-    } else {
130
-      $backtrace = debug_backtrace();
131
-      DEBUG($backtrace[0]['file'].':'.$backtrace[0]['line'].': Current user does not have any of the required roles: '.implode(",",$roles));
132
-      login_screen("Diese Seite können Sie mit Ihren aktuellen Zugriffsrechten nicht benutzen, bitte melden Sie sich mit den benötigten Zugriffsrechten an!");
118
+    $allow = false;
119
+    foreach ($roles as $role) {
120
+        if ($role & $_SESSION['role']) {
121
+            $allow = true;
122
+        }
123
+    }
124
+    if (! $allow) {
125
+        if ($_SESSION['role'] == ROLE_ANONYMOUS) {
126
+            login_screen();
127
+        } else {
128
+            $backtrace = debug_backtrace();
129
+            DEBUG($backtrace[0]['file'].':'.$backtrace[0]['line'].': Current user does not have any of the required roles: '.implode(",", $roles));
130
+            login_screen("Diese Seite können Sie mit Ihren aktuellen Zugriffsrechten nicht benutzen, bitte melden Sie sich mit den benötigten Zugriffsrechten an!");
131
+        }
133 132
     }
134
-  }
135 133
 }
136 134
 
137 135
 
138
-function login_screen($why = NULL)
136
+function login_screen($why = null)
139 137
 {
140
-  if (! $why) {
141
-      if (isset($_COOKIE['CLIENTCERT_AUTOLOGIN']) && $_COOKIE['CLIENTCERT_AUTOLOGIN'] == '1') {
142
-          redirect("/certlogin/index.php?destination=".urlencode($_SERVER['REQUEST_URI']));
143
-      }
144
-  }
145
-  require_once('inc/theme.php');
146
-  if ($why) {
147
-    warning($why);
148
-  }
149
-  show_page('login');
150
-  die();
138
+    if (! $why) {
139
+        if (isset($_COOKIE['CLIENTCERT_AUTOLOGIN']) && $_COOKIE['CLIENTCERT_AUTOLOGIN'] == '1') {
140
+            redirect("/certlogin/index.php?destination=".urlencode($_SERVER['REQUEST_URI']));
141
+        }
142
+    }
143
+    require_once('inc/theme.php');
144
+    if ($why) {
145
+        warning($why);
146
+    }
147
+    show_page('login');
148
+    die();
151 149
 }
152
-
153
-
154
-?>
Browse code

Ermögliche das Umziehen von Domains die schon vorher als extern eingetragen waren

Bernd Wurst authored on09/02/2018 05:30:51
Showing1 changed files
... ...
@@ -37,6 +37,8 @@ function warning($msg)
37 37
   if (!isset($_SESSION['warning']))
38 38
     $_SESSION['warning'] = array();
39 39
   array_push($_SESSION['warning'], $msg);
40
+  $backtrace = debug_backtrace();
41
+  DEBUG('WARNING:<br>'.$backtrace[0]['file'].':'.$backtrace[0]['line'].': '.$msg);
40 42
 }
41 43
 
42 44
 function success_msg($msg)
Browse code

Blende Aktionen aus, wenn die Rechte nicht reichen oder wenn die Domain-API nicht verfügbar ist

Bernd Wurst authored on09/02/2018 05:16:15
Showing1 changed files
... ...
@@ -112,17 +112,24 @@ function show_messages()
112 112
 
113 113
 function require_role($roles)
114 114
 {
115
-  if (! is_array($roles))
115
+  if (! is_array($roles)) {
116 116
     $roles = array($roles);
117
+  }
117 118
   $allow = false;
118
-  foreach ($roles as $role)
119
-    if ($role & $_SESSION['role'])
119
+  foreach ($roles as $role) {
120
+    if ($role & $_SESSION['role']) {
120 121
       $allow = true;
121
-  if (! $allow)
122
-    if ($_SESSION['role'] == ROLE_ANONYMOUS)
122
+    }
123
+  }
124
+  if (! $allow) {
125
+    if ($_SESSION['role'] == ROLE_ANONYMOUS) {
123 126
       login_screen();
124
-    else
127
+    } else {
128
+      $backtrace = debug_backtrace();
129
+      DEBUG($backtrace[0]['file'].':'.$backtrace[0]['line'].': Current user does not have any of the required roles: '.implode(",",$roles));
125 130
       login_screen("Diese Seite können Sie mit Ihren aktuellen Zugriffsrechten nicht benutzen, bitte melden Sie sich mit den benötigten Zugriffsrechten an!");
131
+    }
132
+  }
126 133
 }
127 134
 
128 135
 
Browse code

Entferne Javascript-Konstrukt für den automatischen Certlogin, das kann man auch voll transparent über PHP machen.

Bernd Wurst authored on13/02/2018 12:31:52
Showing1 changed files
... ...
@@ -120,7 +120,7 @@ function require_role($roles)
120 120
       $allow = true;
121 121
   if (! $allow)
122 122
     if ($_SESSION['role'] == ROLE_ANONYMOUS)
123
-      login_screen("Diese Seite können Sie erst benutzen, wenn Sie sich mit Ihren Zugangsdaten anmelden.");
123
+      login_screen();
124 124
     else
125 125
       login_screen("Diese Seite können Sie mit Ihren aktuellen Zugriffsrechten nicht benutzen, bitte melden Sie sich mit den benötigten Zugriffsrechten an!");
126 126
 }
... ...
@@ -129,12 +129,9 @@ function require_role($roles)
129 129
 function login_screen($why = NULL)
130 130
 {
131 131
   if (! $why) {
132
-    if (have_module('index')) {
133 132
       if (isset($_COOKIE['CLIENTCERT_AUTOLOGIN']) && $_COOKIE['CLIENTCERT_AUTOLOGIN'] == '1') {
134
-        require_once('modules/index/include/x509.php');
135
-        do_ajax_cert_login();
133
+          redirect("/certlogin/index.php?destination=".urlencode($_SERVER['REQUEST_URI']));
136 134
       }
137
-    }
138 135
   }
139 136
   require_once('inc/theme.php');
140 137
   if ($why) {
Browse code

Copyright year update

Bernd Wurst authored on13/01/2018 06:07:05
Showing1 changed files
... ...
@@ -2,7 +2,7 @@
2 2
 /*
3 3
 This file belongs to the Webinterface of schokokeks.org Hosting
4 4
 
5
-Written 2008-2014 by schokokeks.org Hosting, namely
5
+Written 2008-2018 by schokokeks.org Hosting, namely
6 6
   Bernd Wurst <bernd@schokokeks.org>
7 7
   Hanno Böck <hanno@schokokeks.org>
8 8
 
Browse code

Merge branch 'master' of zucker.schokokeks.org:webinterface

schokokeks.org web services authored on01/12/2017 14:00:17
Showing0 changed files
Browse code

changes to cert login stuff

schokokeks.org web services authored on01/12/2017 14:00:04
Showing1 changed files
... ...
@@ -123,12 +123,14 @@ function require_role($roles)
123 123
 }
124 124
 
125 125
 
126
-function login_screen($why)
126
+function login_screen($why = NULL)
127 127
 {
128
-  if (have_module('index')) {
129
-    if (isset($_COOKIE['CLIENTCERT_AUTOLOGIN']) && $_COOKIE['CLIENTCERT_AUTOLOGIN'] == '1') {
130
-      require_once('modules/index/include/x509.php');
131
-      do_ajax_cert_login();
128
+  if (! $why) {
129
+    if (have_module('index')) {
130
+      if (isset($_COOKIE['CLIENTCERT_AUTOLOGIN']) && $_COOKIE['CLIENTCERT_AUTOLOGIN'] == '1') {
131
+        require_once('modules/index/include/x509.php');
132
+        do_ajax_cert_login();
133
+      }
132 134
     }
133 135
   }
134 136
   require_once('inc/theme.php');
Browse code

avoid warnings about uncountable object in php 7.2

Hanno Böck authored on01/12/2017 12:36:04
Showing1 changed files
... ...
@@ -51,7 +51,10 @@ function we_have_an_error()
51 51
 {
52 52
   global $input_error;
53 53
 
54
-  return (count($input_error) > 0);
54
+  if (isset($input_error))
55
+    return (count($input_error) > 0);
56
+  else
57
+    return 0;
55 58
 }
56 59
 
57 60
 
Browse code

Lizenzinfos in eigenes Modul ausgelagert und Copyright auf 2014 angepasst

Bernd Wurst authored on08/02/2014 05:45:07
Showing1 changed files
... ...
@@ -2,7 +2,7 @@
2 2
 /*
3 3
 This file belongs to the Webinterface of schokokeks.org Hosting
4 4
 
5
-Written 2008-2013 by schokokeks.org Hosting, namely
5
+Written 2008-2014 by schokokeks.org Hosting, namely
6 6
   Bernd Wurst <bernd@schokokeks.org>
7 7
   Hanno Böck <hanno@schokokeks.org>
8 8
 
Browse code

Cookie-based autologin when previous login was via client cert validation issues

Bernd Wurst authored on26/01/2013 14:49:03
Showing1 changed files
... ...
@@ -125,6 +125,12 @@ function require_role($roles)
125 125
 
126 126
 function login_screen($why)
127 127
 {
128
+  if (have_module('index')) {
129
+    if (isset($_COOKIE['CLIENTCERT_AUTOLOGIN']) && $_COOKIE['CLIENTCERT_AUTOLOGIN'] == '1') {
130
+      require_once('modules/index/include/x509.php');
131
+      do_ajax_cert_login();
132
+    }
133
+  }
128 134
   require_once('inc/theme.php');
129 135
   if ($why) {
130 136
     warning($why);
Browse code

Updated copyright notice (2012 => 2013)

Bernd Wurst authored on19/01/2013 10:49:50
Showing1 changed files
... ...
@@ -2,7 +2,7 @@
2 2
 /*
3 3
 This file belongs to the Webinterface of schokokeks.org Hosting
4 4
 
5
-Written 2008-2012 by schokokeks.org Hosting, namely
5
+Written 2008-2013 by schokokeks.org Hosting, namely
6 6
   Bernd Wurst <bernd@schokokeks.org>
7 7
   Hanno Böck <hanno@schokokeks.org>
8 8
 
Browse code

Added license tags for CC0, README and COPYING

Bernd Wurst authored on11/03/2012 15:40:04
Showing1 changed files
... ...
@@ -1,4 +1,18 @@
1 1
 <?php
2
+/*
3
+This file belongs to the Webinterface of schokokeks.org Hosting
4
+
5
+Written 2008-2012 by schokokeks.org Hosting, namely
6
+  Bernd Wurst <bernd@schokokeks.org>
7
+  Hanno Böck <hanno@schokokeks.org>
8
+
9
+To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.
10
+
11
+You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see 
12
+http://creativecommons.org/publicdomain/zero/1.0/
13
+
14
+Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
15
+*/
2 16
 
3 17
 require_once("inc/security.php");
4 18
 
Browse code

VMail-Quota-Zeug

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@2012 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on20/06/2011 17:46:18
Showing1 changed files
... ...
@@ -37,8 +37,7 @@ function we_have_an_error()
37 37
 {
38 38
   global $input_error;
39 39
 
40
-  return ((count($input_error) + count($_SESSION['warning'])) > 0);
41
-
40
+  return (count($input_error) > 0);
42 41
 }
43 42
 
44 43
 
Browse code

Umstellung auf Theme-Support (Frei nach phptemplate)

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1811 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on18/09/2010 13:35:10
Showing1 changed files
... ...
@@ -4,13 +4,8 @@ require_once("inc/security.php");
4 4
 
5 5
 function system_failure($reason)
6 6
 {
7
-        include('inc/top.php');
8
-        echo '
9
-        <h3>Fehler</h3>
10
-        <div class="error">
11
-          <p>Es ist ein Fehler aufgetreten:<br /> '.filter_input_general($reason).'</p>
12
-        </div>';
13
-        include('inc/bottom.php');
7
+	input_error($reason);
8
+	show_page();
14 9
         die();
15 10
 }
16 11
 
... ...
@@ -47,51 +42,57 @@ function we_have_an_error()
47 42
 }
48 43
 
49 44
 
50
-function show_messages()
45
+function get_messages()
51 46
 {
47
+  $messages = '';
52 48
   global $input_error;
53 49
   if (isset($input_error))
54 50
   {
55
-    echo '<div class="error">
51
+    $messages .= '<div class="error">
56 52
     <h3>Fehler</h3>
57 53
     <p>Folgende Fehler wurden festgestellt: </p>
58 54
     <ul>
59 55
     ';
60 56
     foreach ($input_error as $error)
61 57
     {
62
-      echo '<li>'.nl2br(filter_input_general($error))."</li>\n";
58
+      $messages .= '<li>'.nl2br(filter_input_general($error))."</li>\n";
63 59
     }
64
-    echo '</ul>
60
+    $messages .= '</ul>
65 61
     </div>';
66 62
   }
67 63
   if (isset($_SESSION['warning']))
68 64
   {
69
-    echo '<div class="error">
65
+    $messages .= '<div class="error">
70 66
     <ul>
71 67
     ';
72 68
     foreach ($_SESSION['warning'] as $msg)
73 69
     {
74
-      echo '<li>'.nl2br(filter_input_general($msg))."</li>\n";
70
+      $messages .= '<li>'.nl2br(filter_input_general($msg))."</li>\n";
75 71
     }
76
-    echo '</ul>
72
+    $messages .= '</ul>
77 73
     </div>';
78 74
     unset($_SESSION['warning']);
79 75
   }
80 76
   if (isset($_SESSION['success_msg']))
81 77
   {
82
-    echo '<div class="success">
78
+    $messages .= '<div class="success">
83 79
     <ul>
84 80
     ';
85 81
     foreach ($_SESSION['success_msg'] as $msg)
86 82
     {
87
-      echo '<li>'.nl2br(filter_input_general($msg))."</li>\n";
83
+      $messages .= '<li>'.nl2br(filter_input_general($msg))."</li>\n";
88 84
     }
89
-    echo '</ul>
85
+    $messages .= '</ul>
90 86
     </div>';
91 87
     unset($_SESSION['success_msg']);
92 88
   }
89
+  return $messages;
93 90
 }
94 91
 
92
+function show_messages() 
93
+{
94
+  echo get_messages();
95
+}
95 96
 
96 97
 function require_role($roles)
97 98
 {
... ...
@@ -111,37 +112,12 @@ function require_role($roles)
111 112
 
112 113
 function login_screen($why)
113 114
 {
114
-  global $go;
115
-        $title = 'Login';
116
-        include('inc/top.php');
117
-        if ($why != "")
118
-        {
119
-		// Der User hat einen deeplink benutzt (-> weiß was er tut)
120
-        	echo '<h3>Sie sind nicht am System angemeldet!</h3>';
121
-                echo '<p class="warning"><b>Fehler:</b> '.$why.'</p>';
122
-        }
123
-	else
124
-	{
125
-		// der User hat die Startseite aufgerufen
126
-	        echo '<h3>'.config('company_name').' Webinterface</h3>';
127
-		echo '<p>Auf dieser Seite können Sie diverse Einstellungen Ihres Accounts auf '.config('company_name').' festlegen. Sofern Sie noch kein Kunde von '.config('company_name').' sind, können Sie diese Seite nicht benutzen. Besuchen Sie in diesem Fall bitte unsere <a href="'.config('company_url').'">öffentliche Seite</a>.</p>';
128
-	}
129
-        echo '<form action="" method="post">
130
-        <p><span class="login_label">Benutzer<sup>*</sup>:</span> <input type="text" name="username" size="30" /></p>
131
-        <p><span class="login_label">Passwort:</span> <input type="password" name="password" size="30" /></p>
132
-        <p><span class="login_label">&#160;</span> <input type="submit" value="Anmelden" /></p>
133
-        </form>
134
-        <p><sup>*</sup> Sie können sich hier mit Ihrem System-Benutzernamen, Ihrem IMAP-Account oder Ihrer Kundennummer (jeweils mit zugehörigem Passwort) anmelden. Je nach gewählten Daten erhalten Sie unterschiedliche Zugriffsrechte.</p>
135
-        <p>Sollten Sie Ihr Passwort nicht mehr kennen, wenden Sie sich bitte unter Angabe Ihres Benutzernamens und/oder Ihrer Kundennummer an den Support. Passwörter für E-Mail-Konten kann der Eigentümer des Benutzeraccounts neu setzen.</p>
136
-
137
-        <p><em>'.internal_link('/certlogin?destination=go/'.$go, 'Mit einem Client-Zertifikat anmelden').'</em> ('.internal_link('/go/index/certinfo', 'Wie geht das?').')</p>';
138
-	/*
139
-	<p>Sofern Sie für Ihren Kundenaccount noch kein Passwort festgelegt haben oder Ihres vergessen haben, klicken Sie bitte <a href="new_password.php">hier</a></p>
140
-        <p>Sollten Sie als Benutzer Ihr Passwort vergessen haben, wenden Sie sich bitte an den Inhaber des Kundenaccounts.</p>';
141
-	*/
142
-        include('inc/bottom.php');
143
-        die();
144
-
115
+  require_once('inc/theme.php');
116
+  if ($why) {
117
+    warning($why);
118
+  }
119
+  show_page('login');
120
+  die();
145 121
 }
146 122
 
147 123
 
Browse code

Warnings und Success-Meldungen in der Session speichern

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1802 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on06/09/2010 04:31:16
Showing1 changed files
... ...
@@ -25,27 +25,24 @@ function input_error($reason)
25 25
 
26 26
 function warning($msg)
27 27
 {
28
-  global $warning;
29
-  if (!isset($warning))
30
-    $warning = array();
31
-  array_push($warning, $msg);
28
+  if (!isset($_SESSION['warning']))
29
+    $_SESSION['warning'] = array();
30
+  array_push($_SESSION['warning'], $msg);
32 31
 }
33 32
 
34 33
 function success_msg($msg)
35 34
 {
36
-  global $success_msg;
37
-  if (!isset($success_msg))
38
-    $success_msg = array();
39
-  array_push($success_msg, $msg);
35
+  if (!isset($_SESSION['success_msg']))
36
+    $_SESSION['success_msg'] = array();
37
+  array_push($_SESSION['success_msg'], $msg);
40 38
 }
41 39
 
42 40
 
43 41
 function we_have_an_error()
44 42
 {
45 43
   global $input_error;
46
-  global $warning;
47 44
 
48
-  return ((count($input_error) + count($warning)) > 0);
45
+  return ((count($input_error) + count($_SESSION['warning'])) > 0);
49 46
 
50 47
 }
51 48
 
... ...
@@ -53,8 +50,6 @@ function we_have_an_error()
53 50
 function show_messages()
54 51
 {
55 52
   global $input_error;
56
-  global $success_msg;
57
-  global $warning;
58 53
   if (isset($input_error))
59 54
   {
60 55
     echo '<div class="error">
... ...
@@ -69,29 +64,31 @@ function show_messages()
69 64
     echo '</ul>
70 65
     </div>';
71 66
   }
72
-  if (isset($warning))
67
+  if (isset($_SESSION['warning']))
73 68
   {
74 69
     echo '<div class="error">
75 70
     <ul>
76 71
     ';
77
-    foreach ($warning as $msg)
72
+    foreach ($_SESSION['warning'] as $msg)
78 73
     {
79 74
       echo '<li>'.nl2br(filter_input_general($msg))."</li>\n";
80 75
     }
81 76
     echo '</ul>
82 77
     </div>';
78
+    unset($_SESSION['warning']);
83 79
   }
84
-  if (isset($success_msg))
80
+  if (isset($_SESSION['success_msg']))
85 81
   {
86 82
     echo '<div class="success">
87 83
     <ul>
88 84
     ';
89
-    foreach ($success_msg as $msg)
85
+    foreach ($_SESSION['success_msg'] as $msg)
90 86
     {
91 87
       echo '<li>'.nl2br(filter_input_general($msg))."</li>\n";
92 88
     }
93 89
     echo '</ul>
94 90
     </div>';
91
+    unset($_SESSION['success_msg']);
95 92
   }
96 93
 }
97 94
 
Browse code

Mehr config-optionen und config via Wrapper-Funktion benutzen

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1376 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on23/05/2009 15:24:52
Showing1 changed files
... ...
@@ -126,8 +126,8 @@ function login_screen($why)
126 126
 	else
127 127
 	{
128 128
 		// der User hat die Startseite aufgerufen
129
-	        echo '<h3>'.$config['brand'].' Webinterface</h3>';
130
-		echo '<p>Auf dieser Seite können Sie diverse Einstellungen Ihres Accounts auf schokokeks.org festlegen. Sofern Sie noch kein Kunde von schokokeks.org sind, können Sie diese Seite nicht benutzen. Besuchen Sie in diesem Fall bitte unsere <a href="http://www.schokokeks.org/">öffentliche Seite</a>.</p>';
129
+	        echo '<h3>'.config('company_name').' Webinterface</h3>';
130
+		echo '<p>Auf dieser Seite können Sie diverse Einstellungen Ihres Accounts auf '.config('company_name').' festlegen. Sofern Sie noch kein Kunde von '.config('company_name').' sind, können Sie diese Seite nicht benutzen. Besuchen Sie in diesem Fall bitte unsere <a href="'.config('company_url').'">öffentliche Seite</a>.</p>';
131 131
 	}
132 132
         echo '<form action="" method="post">
133 133
         <p><span class="login_label">Benutzer<sup>*</sup>:</span> <input type="text" name="username" size="30" /></p>
Browse code

Passwort-vergessen-Hinweis gesetzt

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1366 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on06/05/2009 13:11:31
Showing1 changed files
... ...
@@ -135,6 +135,7 @@ function login_screen($why)
135 135
         <p><span class="login_label">&#160;</span> <input type="submit" value="Anmelden" /></p>
136 136
         </form>
137 137
         <p><sup>*</sup> Sie können sich hier mit Ihrem System-Benutzernamen, Ihrem IMAP-Account oder Ihrer Kundennummer (jeweils mit zugehörigem Passwort) anmelden. Je nach gewählten Daten erhalten Sie unterschiedliche Zugriffsrechte.</p>
138
+        <p>Sollten Sie Ihr Passwort nicht mehr kennen, wenden Sie sich bitte unter Angabe Ihres Benutzernamens und/oder Ihrer Kundennummer an den Support. Passwörter für E-Mail-Konten kann der Eigentümer des Benutzeraccounts neu setzen.</p>
138 139
 
139 140
         <p><em>'.internal_link('/certlogin?destination=go/'.$go, 'Mit einem Client-Zertifikat anmelden').'</em> ('.internal_link('/go/index/certinfo', 'Wie geht das?').')</p>';
140 141
 	/*
Browse code

Ermögliche Cert-Login auf der "Sie-sind-nicht-angemeldet"-Seite

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1357 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on30/04/2009 19:35:40
Showing1 changed files
... ...
@@ -114,6 +114,7 @@ function require_role($roles)
114 114
 
115 115
 function login_screen($why)
116 116
 {
117
+  global $go;
117 118
         $title = 'Login';
118 119
         include('inc/top.php');
119 120
         if ($why != "")
... ...
@@ -133,7 +134,9 @@ function login_screen($why)
133 134
         <p><span class="login_label">Passwort:</span> <input type="password" name="password" size="30" /></p>
134 135
         <p><span class="login_label">&#160;</span> <input type="submit" value="Anmelden" /></p>
135 136
         </form>
136
-        <p><sup>*</sup> Sie können sich hier mit Ihrem System-Benutzernamen, Ihrem IMAP-Account oder Ihrer Kundennummer (jeweils mit zugehörigem Passwort) anmelden. Je nach gewählten Daten erhalten Sie unterschiedliche Zugriffsrechte.</p>';
137
+        <p><sup>*</sup> Sie können sich hier mit Ihrem System-Benutzernamen, Ihrem IMAP-Account oder Ihrer Kundennummer (jeweils mit zugehörigem Passwort) anmelden. Je nach gewählten Daten erhalten Sie unterschiedliche Zugriffsrechte.</p>
138
+
139
+        <p><em>'.internal_link('/certlogin?destination=go/'.$go, 'Mit einem Client-Zertifikat anmelden').'</em> ('.internal_link('/go/index/certinfo', 'Wie geht das?').')</p>';
137 140
 	/*
138 141
 	<p>Sofern Sie für Ihren Kundenaccount noch kein Passwort festgelegt haben oder Ihres vergessen haben, klicken Sie bitte <a href="new_password.php">hier</a></p>
139 142
         <p>Sollten Sie als Benutzer Ihr Passwort vergessen haben, wenden Sie sich bitte an den Inhaber des Kundenaccounts.</p>';
Browse code

database config options

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1253 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on23/02/2009 16:15:54
Showing1 changed files
... ...
@@ -125,7 +125,7 @@ function login_screen($why)
125 125
 	else
126 126
 	{
127 127
 		// der User hat die Startseite aufgerufen
128
-	        echo '<h3>schokokeks.org Webinterface</h3>';
128
+	        echo '<h3>'.$config['brand'].' Webinterface</h3>';
129 129
 		echo '<p>Auf dieser Seite können Sie diverse Einstellungen Ihres Accounts auf schokokeks.org festlegen. Sofern Sie noch kein Kunde von schokokeks.org sind, können Sie diese Seite nicht benutzen. Besuchen Sie in diesem Fall bitte unsere <a href="http://www.schokokeks.org/">öffentliche Seite</a>.</p>';
130 130
 	}
131 131
         echo '<form action="" method="post">
Browse code

Passwort anfordern ist obsolet

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1023 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on05/04/2008 15:23:08
Showing1 changed files
... ...
@@ -133,9 +133,11 @@ function login_screen($why)
133 133
         <p><span class="login_label">Passwort:</span> <input type="password" name="password" size="30" /></p>
134 134
         <p><span class="login_label">&#160;</span> <input type="submit" value="Anmelden" /></p>
135 135
         </form>
136
-        <p><sup>*</sup> Sie können sich hier mit Ihrem System-Benutzernamen, Ihrem IMAP-Account oder Ihrer Kundennummer (jeweils mit zugehörigem Passwort) anmelden. Je nach gewählten Daten erhalten Sie unterschiedliche Zugriffsrechte.</p>
137
-        <p>Sofern Sie für Ihren Kundenaccount noch kein Passwort festgelegt haben oder Ihres vergessen haben, klicken Sie bitte <a href="new_password.php">hier</a></p>
136
+        <p><sup>*</sup> Sie können sich hier mit Ihrem System-Benutzernamen, Ihrem IMAP-Account oder Ihrer Kundennummer (jeweils mit zugehörigem Passwort) anmelden. Je nach gewählten Daten erhalten Sie unterschiedliche Zugriffsrechte.</p>';
137
+	/*
138
+	<p>Sofern Sie für Ihren Kundenaccount noch kein Passwort festgelegt haben oder Ihres vergessen haben, klicken Sie bitte <a href="new_password.php">hier</a></p>
138 139
         <p>Sollten Sie als Benutzer Ihr Passwort vergessen haben, wenden Sie sich bitte an den Inhaber des Kundenaccounts.</p>';
140
+	*/
139 141
         include('inc/bottom.php');
140 142
         die();
141 143
 
Browse code

Info-Text auf Startseite

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@826 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on01/12/2007 13:59:43
Showing1 changed files
... ...
@@ -116,17 +116,24 @@ function login_screen($why)
116 116
 {
117 117
         $title = 'Login';
118 118
         include('inc/top.php');
119
-        echo '<h3>Sie sind nicht am System angemeldet!</h3>';
120 119
         if ($why != "")
121 120
         {
121
+		// Der User hat einen deeplink benutzt (-> weiß was er tut)
122
+        	echo '<h3>Sie sind nicht am System angemeldet!</h3>';
122 123
                 echo '<p class="warning"><b>Fehler:</b> '.$why.'</p>';
123 124
         }
125
+	else
126
+	{
127
+		// der User hat die Startseite aufgerufen
128
+	        echo '<h3>schokokeks.org Webinterface</h3>';
129
+		echo '<p>Auf dieser Seite können Sie diverse Einstellungen Ihres Accounts auf schokokeks.org festlegen. Sofern Sie noch kein Kunde von schokokeks.org sind, können Sie diese Seite nicht benutzen. Besuchen Sie in diesem Fall bitte unsere <a href="http://www.schokokeks.org/">öffentliche Seite</a>.</p>';
130
+	}
124 131
         echo '<form action="" method="post">
125 132
         <p><span class="login_label">Benutzer<sup>*</sup>:</span> <input type="text" name="username" size="30" /></p>
126 133
         <p><span class="login_label">Passwort:</span> <input type="password" name="password" size="30" /></p>
127 134
         <p><span class="login_label">&#160;</span> <input type="submit" value="Anmelden" /></p>
128 135
         </form>
129
-        <p><sup>*</sup> Sie können sich hier mit Ihrem System-Benutzernamen, Ihrer System-User-ID, Ihrem IMAP-Account oder Ihrer Kundennummer anmelden. Je nach gewählten Daten erhalten Sie unterschiedliche Zugriffsrechte.</p>
136
+        <p><sup>*</sup> Sie können sich hier mit Ihrem System-Benutzernamen, Ihrem IMAP-Account oder Ihrer Kundennummer (jeweils mit zugehörigem Passwort) anmelden. Je nach gewählten Daten erhalten Sie unterschiedliche Zugriffsrechte.</p>
130 137
         <p>Sofern Sie für Ihren Kundenaccount noch kein Passwort festgelegt haben oder Ihres vergessen haben, klicken Sie bitte <a href="new_password.php">hier</a></p>
131 138
         <p>Sollten Sie als Benutzer Ihr Passwort vergessen haben, wenden Sie sich bitte an den Inhaber des Kundenaccounts.</p>';
132 139
         include('inc/bottom.php');
Browse code

Erste Version des vmail-Modul

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@791 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on20/11/2007 10:30:34
Showing1 changed files
... ...
@@ -40,6 +40,16 @@ function success_msg($msg)
40 40
 }
41 41
 
42 42
 
43
+function we_have_an_error()
44
+{
45
+  global $input_error;
46
+  global $warning;
47
+
48
+  return ((count($input_error) + count($warning)) > 0);
49
+
50
+}
51
+
52
+
43 53
 function show_messages()
44 54
 {
45 55
   global $input_error;
... ...
@@ -54,7 +64,7 @@ function show_messages()
54 64
     ';
55 65
     foreach ($input_error as $error)
56 66
     {
57
-      echo '<li>'.filter_input_general($error)."</li>\n";
67
+      echo '<li>'.nl2br(filter_input_general($error))."</li>\n";
58 68
     }
59 69
     echo '</ul>
60 70
     </div>';
... ...
@@ -66,7 +76,7 @@ function show_messages()
66 76
     ';
67 77
     foreach ($warning as $msg)
68 78
     {
69
-      echo '<li>'.filter_input_general($msg)."</li>\n";
79
+      echo '<li>'.nl2br(filter_input_general($msg))."</li>\n";
70 80
     }
71 81
     echo '</ul>
72 82
     </div>';
... ...
@@ -78,7 +88,7 @@ function show_messages()
78 88
     ';
79 89
     foreach ($success_msg as $msg)
80 90
     {
81
-      echo '<li>'.filter_input_general($msg)."</li>\n";
91
+      echo '<li>'.nl2br(filter_input_general($msg))."</li>\n";
82 92
     }
83 93
     echo '</ul>
84 94
     </div>';
Browse code

Auch IMAP-Accounts können sich einloggen (das auch auf die startseite geschrieben)

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@746 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on03/11/2007 09:09:40
Showing1 changed files
... ...
@@ -116,7 +116,7 @@ function login_screen($why)
116 116
         <p><span class="login_label">Passwort:</span> <input type="password" name="password" size="30" /></p>
117 117
         <p><span class="login_label">&#160;</span> <input type="submit" value="Anmelden" /></p>
118 118
         </form>
119
-        <p><sup>*</sup> Sie können sich hier mit Ihrem System-Benutzernamen, Ihrer System-User-ID oder Ihrer Kundennummer anmelden. Je nach gewählten Daten erhalten Sie unterschiedliche Zugriffsrechte.</p>
119
+        <p><sup>*</sup> Sie können sich hier mit Ihrem System-Benutzernamen, Ihrer System-User-ID, Ihrem IMAP-Account oder Ihrer Kundennummer anmelden. Je nach gewählten Daten erhalten Sie unterschiedliche Zugriffsrechte.</p>
120 120
         <p>Sofern Sie für Ihren Kundenaccount noch kein Passwort festgelegt haben oder Ihres vergessen haben, klicken Sie bitte <a href="new_password.php">hier</a></p>
121 121
         <p>Sollten Sie als Benutzer Ihr Passwort vergessen haben, wenden Sie sich bitte an den Inhaber des Kundenaccounts.</p>';
122 122
         include('inc/bottom.php');
Browse code

Entities repariert

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@744 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on02/11/2007 13:06:25
Showing1 changed files
... ...
@@ -114,7 +114,7 @@ function login_screen($why)
114 114
         echo '<form action="" method="post">
115 115
         <p><span class="login_label">Benutzer<sup>*</sup>:</span> <input type="text" name="username" size="30" /></p>
116 116
         <p><span class="login_label">Passwort:</span> <input type="password" name="password" size="30" /></p>
117
-        <p><span class="login_label">&nbsp;</span> <input type="submit" value="Anmelden" /></p>
117
+        <p><span class="login_label">&#160;</span> <input type="submit" value="Anmelden" /></p>
118 118
         </form>
119 119
         <p><sup>*</sup> Sie können sich hier mit Ihrem System-Benutzernamen, Ihrer System-User-ID oder Ihrer Kundennummer anmelden. Je nach gewählten Daten erhalten Sie unterschiedliche Zugriffsrechte.</p>
120 120
         <p>Sofern Sie für Ihren Kundenaccount noch kein Passwort festgelegt haben oder Ihres vergessen haben, klicken Sie bitte <a href="new_password.php">hier</a></p>
Browse code

Fehlermeldungen hübscher

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@623 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on13/08/2007 13:14:32
Showing1 changed files
... ...
@@ -5,9 +5,10 @@ require_once("inc/security.php");
5 5
 function system_failure($reason)
6 6
 {
7 7
         include('inc/top.php');
8
-        echo '<div class="error">
8
+        echo '
9 9
         <h3>Fehler</h3>
10
-        <p>Es ist ein Fehler aufgetreten: '.filter_input_general($reason).'</p>
10
+        <div class="error">
11
+          <p>Es ist ein Fehler aufgetreten:<br /> '.filter_input_general($reason).'</p>
11 12
         </div>';
12 13
         include('inc/bottom.php');
13 14
         die();
Browse code

XSS/CSRF-Bugs behoben

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@574 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on30/07/2007 17:15:58
Showing1 changed files
... ...
@@ -1,11 +1,13 @@
1 1
 <?php
2 2
 
3
+require_once("inc/security.php");
4
+
3 5
 function system_failure($reason)
4 6
 {
5 7
         include('inc/top.php');
6 8
         echo '<div class="error">
7 9
         <h3>Fehler</h3>
8
-        <p>Es ist ein Fehler aufgetreten: '.$reason.'</p>
10
+        <p>Es ist ein Fehler aufgetreten: '.filter_input_general($reason).'</p>
9 11
         </div>';
10 12
         include('inc/bottom.php');
11 13
         die();
... ...
@@ -51,7 +53,7 @@ function show_messages()
51 53
     ';
52 54
     foreach ($input_error as $error)
53 55
     {
54
-      echo '<li>'.$error."</li>\n";
56
+      echo '<li>'.filter_input_general($error)."</li>\n";
55 57
     }
56 58
     echo '</ul>
57 59
     </div>';
... ...
@@ -63,7 +65,7 @@ function show_messages()
63 65
     ';
64 66
     foreach ($warning as $msg)
65 67
     {
66
-      echo '<li>'.$msg."</li>\n";
68
+      echo '<li>'.filter_input_general($msg)."</li>\n";
67 69
     }
68 70
     echo '</ul>
69 71
     </div>';
... ...
@@ -75,7 +77,7 @@ function show_messages()
75 77
     ';
76 78
     foreach ($success_msg as $msg)
77 79
     {
78
-      echo '<li>'.$msg."</li>\n";
80
+      echo '<li>'.filter_input_general($msg)."</li>\n";
79 81
     }
80 82
     echo '</ul>
81 83
     </div>';
Browse code

Nachtrag zum vorigen

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@565 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on30/07/2007 13:02:00
Showing1 changed files
... ...
@@ -89,10 +89,13 @@ function require_role($roles)
89 89
     $roles = array($roles);
90 90
   $allow = false;
91 91
   foreach ($roles as $role)
92
-    if ($role == $_SESSION['role'])
92
+    if ($role & $_SESSION['role'])
93 93
       $allow = true;
94 94
   if (! $allow)
95
-    login_screen("Diese Seite können Sie mit Ihren aktuellen Zugriffsrechten nicht benutzen, bitte melden Sie sich mit den benötigten Zugriffsrechten an!");
95
+    if ($_SESSION['role'] == ROLE_ANONYMOUS)
96
+      login_screen("Diese Seite können Sie erst benutzen, wenn Sie sich mit Ihren Zugangsdaten anmelden.");
97
+    else
98
+      login_screen("Diese Seite können Sie mit Ihren aktuellen Zugriffsrechten nicht benutzen, bitte melden Sie sich mit den benötigten Zugriffsrechten an!");
96 99
 }
97 100
 
98 101
 
Browse code

webinterface => /webinterface

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@362 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on27/03/2007 07:40:51
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,122 @@
1
+<?php
2
+
3
+function system_failure($reason)
4
+{
5
+        include('inc/top.php');
6
+        echo '<div class="error">
7
+        <h3>Fehler</h3>
8
+        <p>Es ist ein Fehler aufgetreten: '.$reason.'</p>
9
+        </div>';
10
+        include('inc/bottom.php');
11
+        die();
12
+}
13
+
14
+
15
+function input_error($reason)
16
+{
17
+  global $input_error;
18
+  if (!isset($input_error))
19
+    $input_error = array();
20
+  array_push($input_error, $reason);
21
+}
22
+
23
+function warning($msg)
24
+{
25
+  global $warning;
26
+  if (!isset($warning))
27
+    $warning = array();
28
+  array_push($warning, $msg);
29
+}
30
+
31
+function success_msg($msg)
32
+{
33
+  global $success_msg;
34
+  if (!isset($success_msg))
35
+    $success_msg = array();
36
+  array_push($success_msg, $msg);
37
+}
38
+
39
+
40
+function show_messages()
41
+{
42
+  global $input_error;
43
+  global $success_msg;
44
+  global $warning;
45
+  if (isset($input_error))
46
+  {
47
+    echo '<div class="error">
48
+    <h3>Fehler</h3>
49
+    <p>Folgende Fehler wurden festgestellt: </p>
50
+    <ul>
51
+    ';
52
+    foreach ($input_error as $error)
53
+    {
54
+      echo '<li>'.$error."</li>\n";
55
+    }
56
+    echo '</ul>
57
+    </div>';
58
+  }
59
+  if (isset($warning))
60
+  {
61
+    echo '<div class="error">
62
+    <ul>
63
+    ';
64
+    foreach ($warning as $msg)
65
+    {
66
+      echo '<li>'.$msg."</li>\n";
67
+    }
68
+    echo '</ul>
69
+    </div>';
70
+  }
71
+  if (isset($success_msg))
72
+  {
73
+    echo '<div class="success">
74
+    <ul>
75
+    ';
76
+    foreach ($success_msg as $msg)
77
+    {
78
+      echo '<li>'.$msg."</li>\n";
79
+    }
80
+    echo '</ul>
81
+    </div>';
82
+  }
83
+}
84
+
85
+
86
+function require_role($roles)
87
+{
88
+  if (! is_array($roles))
89
+    $roles = array($roles);
90
+  $allow = false;
91
+  foreach ($roles as $role)
92
+    if ($role == $_SESSION['role'])
93
+      $allow = true;
94
+  if (! $allow)
95
+    login_screen("Diese Seite können Sie mit Ihren aktuellen Zugriffsrechten nicht benutzen, bitte melden Sie sich mit den benötigten Zugriffsrechten an!");
96
+}
97
+
98
+
99
+function login_screen($why)
100
+{
101
+        $title = 'Login';
102
+        include('inc/top.php');
103
+        echo '<h3>Sie sind nicht am System angemeldet!</h3>';
104
+        if ($why != "")
105
+        {
106
+                echo '<p class="warning"><b>Fehler:</b> '.$why.'</p>';
107
+        }
108
+        echo '<form action="" method="post">
109
+        <p><span class="login_label">Benutzer<sup>*</sup>:</span> <input type="text" name="username" size="30" /></p>
110
+        <p><span class="login_label">Passwort:</span> <input type="password" name="password" size="30" /></p>
111
+        <p><span class="login_label">&nbsp;</span> <input type="submit" value="Anmelden" /></p>
112
+        </form>
113
+        <p><sup>*</sup> Sie können sich hier mit Ihrem System-Benutzernamen, Ihrer System-User-ID oder Ihrer Kundennummer anmelden. Je nach gewählten Daten erhalten Sie unterschiedliche Zugriffsrechte.</p>
114
+        <p>Sofern Sie für Ihren Kundenaccount noch kein Passwort festgelegt haben oder Ihres vergessen haben, klicken Sie bitte <a href="new_password.php">hier</a></p>
115
+        <p>Sollten Sie als Benutzer Ihr Passwort vergessen haben, wenden Sie sich bitte an den Inhaber des Kundenaccounts.</p>';
116
+        include('inc/bottom.php');
117
+        die();
118
+
119
+}
120
+
121
+
122
+?>