Inital commit

This commit is contained in:
Tilman
2011-10-26 10:11:42 +02:00
commit c0da376199
888 changed files with 44367 additions and 0 deletions
+49
View File
@@ -0,0 +1,49 @@
<?php
/*
* security.php enthält Funktionen für Sicherheitsabfragen
*/
/*
* Gibt true zurück, wenn der Nutzer die Erlaubnis hat die durch $item
* bezeichnete Resource zu öffen, sonst false.
* $item enthält den Startverzeichnis-relativen Pfad zur Ressource.
*/
function itemAccessible($item) {
if (isset($_SESSION['gruppen']) & is_array($_SESSION['gruppen'])){
// superuser aus der Gruppe admin dürfen alles
if (in_array('admin', $_SESSION['gruppen'])) return true;
mysql_connect('localhost', 'dbu1022769', 'fuB0gar7') or die ('Database error: Unable to connect to database.');
mysql_select_db('db1022769-php') or die ('Database error: Unable to select database.');
$result = mysql_query('SELECT gruppen FROM securepages WHERE pfad="'.$item.'"');
if (!$result) {
die('Database error: Unable to get user groups for '.$item);
}
else if (mysql_num_rows($result) > 0) {
$erlaubte_gruppen = explode(',',mysql_result($result,0));
foreach ($_SESSION['gruppen'] as $gruppe) {
if (in_array($gruppe, $erlaubte_gruppen)) return true;
}
}
}
return false;
}
/*
* Generiert einen gesicherten Link. Das Aussehen verändert sich, je nachdem, ob der
* Nutzer die Erlaubnis hat, die Seite hinter dem Link aufzurufen, oder nicht.
*/
function secLink($item, $text) {
// relative Links in Startverzeichnis-relative umwandeln
if (getHomePath(dirname($_SERVER['SCRIPT_FILENAME'])) != dirname($item)) {
$item = getHomePath(dirname($_SERVER['SCRIPT_FILENAME'])).SEPARATOR.$item;
}
if (!itemAccessible($item)) {
// return '<a href="'.$item.'" style="color:#666666;" rel="nofollow">'.$text.'</a> <img src="/daten/lock.gif" alt="passwortgeschützt" />';
return '<span style="color:#666666;">'.$text.'</span> <img src="/daten/lock.gif" alt="gesichert" />';
}
return '<a href="'.$item.'">'.$text.'</a>';
}
?>