To jestem w kropce. Chyba szczegółowo to wszystko przetestuję i dam znać, jak to rzeczywiście wygląda. Pooglądam też kod, bo nie daje mi to spokoju.
W takim razie proszę o jakieś 2-3 dni, przejrzę to i napiszę ostatecznie, jak to wygląda, by ew. inni mogli w przyszłości także skorzystać z tematu.
//ban delete
if(isset($_POST["del_ban_x"]) && isset($_POST["bid"])) {
if ( !has_access("bans_edit") ) { // (3)
$error = "_ACCESSINVALID";
$smarty->assign("_ACCESSINVALID", $error);
header("Location:index.php");
exit;
}
function has_access($value) {
if($_SESSION["loggedin"]) {
return $_SESSION[$value]=="yes"; // (2)
}
return 0;
}
$query = mysql_query("SELECT * FROM `".$config->db_prefix."_levels` WHERE level=".$_SESSION["level"]." LIMIT 1") or die (mysql_error());
while($result = mysql_fetch_object($query)) {
$_SESSION['bans_add'] = $result->bans_add;
$_SESSION['bans_edit'] = $result->bans_edit;
$_SESSION['bans_delete'] = $result->bans_delete; // (1)
$_SESSION['bans_unban'] = $result->bans_unban;
$_SESSION['bans_import'] = $result->bans_import;
$_SESSION['bans_export'] = $result->bans_export;
$_SESSION['amxadmins_view'] = $result->amxadmins_view;
$_SESSION['amxadmins_edit'] = $result->amxadmins_edit;
$_SESSION['webadmins_view'] = $result->webadmins_view;
$_SESSION['webadmins_edit'] = $result->webadmins_edit;
$_SESSION['websettings_view'] = $result->websettings_view;
$_SESSION['websettings_edit'] = $result->websettings_edit;
$_SESSION['permissions_edit'] = $result->permissions_edit;
$_SESSION['prune_db'] = $result->prune_db;
$_SESSION['servers_edit'] = $result->servers_edit;
$_SESSION['ip_view'] = $result->ip_view;
}

Albo to ja już kompletnie niczego nie rozumiem, albo poziom "własny" czyli "own" jest przypisywany do (dla przykładu dostęp do usuwania własnych banów) $_SESSION['bans_delete'] (1), następnie funckja has_access nie daje nam dostępu, gdyż "own"!="yes" (2), więc nie możemy usunąć własnego bana pomimo wartości "own" przy bans_delete (3). Dalej jestem w kropce.
edit. Proszę o scalenie powyższych postów, gdyż nie mogłem powyższego edytować. Dziękuję.
Użytkownik sebul edytował ten post 05.04.2012 21:34