/** * Deny acces to a special section. Sets a deny message and forwards the user to the login site. * @author Clemens John <*****@*****.**> */ public static function denyAccess($permission = false, $owner = false) { // if $permission is != false, then get the Names of the Roles that are wrapped into $permission if ($permission) { $role_string = ""; foreach (Permission::getRolesByPermission($permission) as $key => $role) { if ($key) { $role_string .= ", "; } $role_string .= permission::getRoleNameByRoleNumber($role); } } if ($owner) { $user = new User($owner); $user->fetch(); } // prepare the "permission denied"-message for the user based on the combination of $permission and $owner if ($permission and !$owner) { $message[] = array("Auf diesen Bereich dürfen nur Benutzer mit den folgenden Rechten zugreifen: " . $role_string, 2); } elseif (!$permission and $owner) { $message[] = array("Auf diesen Bereich darf nur der Benutzer " . $user->getNickname() . " zugreifen.", 2); } elseif ($permission and $owner) { $message[] = array("Auf diesen Bereich dürfen nur der Benutzer " . $user->getNickname() . " oder Benutzer mit den folgenden Rechten zugreifen: " . $role_string, 2); } else { $message[] = array("Du darfst auf diesen Bereich nicht zugreifen.", 2); } // set the message Message::setMessage($message); // redirect the user to the last page he visited if it was a page inside netmon // if the page was not inside netmon, redirect to the default path if (!empty($_SESSION['last_page']) and $_SESSION['last_page'] != $_SESSION['current_page']) { header('Location: ' . $_SESSION['last_page']); } else { header('Location: ./'); } }