inc/error.php
defbfa55
 <?php
 
af8c8976
 require_once("inc/security.php");
 
defbfa55
 function system_failure($reason)
 {
         include('inc/top.php');
eac27125
         echo '
defbfa55
         <h3>Fehler</h3>
eac27125
         <div class="error">
           <p>Es ist ein Fehler aufgetreten:<br /> '.filter_input_general($reason).'</p>
defbfa55
         </div>';
         include('inc/bottom.php');
         die();
 }
 
 
 function input_error($reason)
 {
   global $input_error;
   if (!isset($input_error))
     $input_error = array();
   array_push($input_error, $reason);
 }
 
 function warning($msg)
 {
7cd93137
   if (!isset($_SESSION['warning']))
     $_SESSION['warning'] = array();
   array_push($_SESSION['warning'], $msg);
defbfa55
 }
 
 function success_msg($msg)
 {
7cd93137
   if (!isset($_SESSION['success_msg']))
     $_SESSION['success_msg'] = array();
   array_push($_SESSION['success_msg'], $msg);
defbfa55
 }
 
 
90ff5748
 function we_have_an_error()
 {
   global $input_error;
 
7cd93137
   return ((count($input_error) + count($_SESSION['warning'])) > 0);
90ff5748
 
 }
 
 
defbfa55
 function show_messages()
 {
   global $input_error;
   if (isset($input_error))
   {
     echo '<div class="error">
     <h3>Fehler</h3>
     <p>Folgende Fehler wurden festgestellt: </p>
     <ul>
     ';
     foreach ($input_error as $error)
     {
90ff5748
       echo '<li>'.nl2br(filter_input_general($error))."</li>\n";
defbfa55
     }
     echo '</ul>
     </div>';
   }
7cd93137
   if (isset($_SESSION['warning']))
defbfa55
   {
     echo '<div class="error">
     <ul>
     ';
7cd93137
     foreach ($_SESSION['warning'] as $msg)
defbfa55
     {
90ff5748
       echo '<li>'.nl2br(filter_input_general($msg))."</li>\n";
defbfa55
     }
     echo '</ul>
     </div>';
7cd93137
     unset($_SESSION['warning']);
defbfa55
   }
7cd93137
   if (isset($_SESSION['success_msg']))
defbfa55
   {
     echo '<div class="success">
     <ul>
     ';
7cd93137
     foreach ($_SESSION['success_msg'] as $msg)
defbfa55
     {
90ff5748
       echo '<li>'.nl2br(filter_input_general($msg))."</li>\n";
defbfa55
     }
     echo '</ul>
     </div>';
7cd93137
     unset($_SESSION['success_msg']);
defbfa55
   }
 }
 
 
 function require_role($roles)
 {
   if (! is_array($roles))
     $roles = array($roles);
   $allow = false;
   foreach ($roles as $role)
db10e50b
     if ($role & $_SESSION['role'])
defbfa55
       $allow = true;
   if (! $allow)
db10e50b
     if ($_SESSION['role'] == ROLE_ANONYMOUS)
       login_screen("Diese Seite können Sie erst benutzen, wenn Sie sich mit Ihren Zugangsdaten anmelden.");
     else
       login_screen("Diese Seite können Sie mit Ihren aktuellen Zugriffsrechten nicht benutzen, bitte melden Sie sich mit den benötigten Zugriffsrechten an!");
defbfa55
 }
 
 
 function login_screen($why)
 {
a097ceda
   global $go;
defbfa55
         $title = 'Login';
         include('inc/top.php');
         if ($why != "")
         {
8932a407
 		// Der User hat einen deeplink benutzt (-> weiß was er tut)
         	echo '<h3>Sie sind nicht am System angemeldet!</h3>';
defbfa55
                 echo '<p class="warning"><b>Fehler:</b> '.$why.'</p>';
         }
8932a407
 	else
 	{
 		// der User hat die Startseite aufgerufen
d96a86aa
 	        echo '<h3>'.config('company_name').' Webinterface</h3>';
 		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>';
8932a407
 	}
defbfa55
         echo '<form action="" method="post">
         <p><span class="login_label">Benutzer<sup>*</sup>:</span> <input type="text" name="username" size="30" /></p>
         <p><span class="login_label">Passwort:</span> <input type="password" name="password" size="30" /></p>
ec0c81a8
         <p><span class="login_label">&#160;</span> <input type="submit" value="Anmelden" /></p>
defbfa55
         </form>
a097ceda
         <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>
c302a1b9
         <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>
a097ceda
 
         <p><em>'.internal_link('/certlogin?destination=go/'.$go, 'Mit einem Client-Zertifikat anmelden').'</em> ('.internal_link('/go/index/certinfo', 'Wie geht das?').')</p>';
2c12954c
 	/*
 	<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>
defbfa55
         <p>Sollten Sie als Benutzer Ihr Passwort vergessen haben, wenden Sie sich bitte an den Inhaber des Kundenaccounts.</p>';
2c12954c
 	*/
defbfa55
         include('inc/bottom.php');
         die();
 
 }
 
 
 ?>