ich versuche derzeit, für eine Liste eine Art "zweite Benutzerbefugnisse" zu erstellen, in denen angegeben wird, wer in einer bestimmten Datenbankkategorie lesen/schreiben/löschen/bearbeiten darf.
Die Befugnisse sind dabei ähnlich dem phpBB aufgebaut.
Zur Generierung der einzelnen Selectboxen, in denen man auswählen kann. wer was machen darf(wie bei phpBB) verwende ich eine Funktion cat_auth_list() mit folgendem Inhalt:
Code: Alles auswählen
//
// Generate Cat Auth List
//
function cat_auth_list($cat_id, $auth_view, $auth_read, $auth_edit, $auth_delete )
{
global $db;
$sql = "SELECT *
FROM " . BOOK_CATEGORIES_AUTH_TABLE . "
WHERE cat_id = '$cat_id'";
$result = $db->sql_query($sql);
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Couldn't get Auth Data", "", __LINE__, __FILE__, $sql);
}
while( $row = $db->sql_fetchrow($result) )
{
if ( $row['auth_view'] )
{
$auth_view_select = '<select name="auth_view">';
if( $row['auth_view'] == $auth_view)
{
$selected = "selected='selected'";
}
else
{
$selected = "";
}
$auth_view_select .= '<option value="0"' . $selected . '>ALL</option>';
$auth_view_select .= '<option value="1"' . $selected . '>REG</option>';
$auth_view_select .= '<option value="2"' . $selected . '>MOD</option>';
$auth_view_select .= '<option value="3"' . $selected . '>ADMIN</option>';
$auth_view_select .= "</select>";
return $auth_view_select;
}
if ( $row['auth_read'] )
{
$auth_read_select = '<select name="auth_read">';
if( $row['auth_read'] == $auth_read)
{
$selected = "selected='selected'";
}
else
{
$selected = "";
}
$auth_read_select .= '<option value="0"' . $selected . '>ALL</option>';
$auth_read_select .= '<option value="1"' . $selected . '>REG</option>';
$auth_read_select .= '<option value="2"' . $selected . '>MOD</option>';
$auth_read_select .= '<option value="3"' . $selected . '>ADMIN</option>';
$auth_read_select .= "</select>";
return $auth_read_select;
}
if ( $row['auth_edit'] )
{
$auth_edit_select = '<select name="auth_edit">';
if( $row['auth_edit'] == $auth_edit)
{
$selected = "selected='selected'";
}
else
{
$selected = "";
}
$auth_edit_select .= '<option value="0"' . $selected . '>ALL</option>';
$auth_edit_select .= '<option value="1"' . $selected . '>REG</option>';
$auth_edit_select .= '<option value="2"' . $selected . '>MOD</option>';
$auth_edit_select .= '<option value="3"' . $selected . '>ADMIN</option>';
$auth_edit_select .= "</select>";
return $auth_edit_select;
}
if ( $row['auth_delete'] )
{
$auth_delete_select = '<select name="auth_delete">';
if( $row['auth_delete'] == $auth_delete)
{
$selected = "selected='selected'";
}
else
{
$selected = "";
}
$auth_delete_select .= '<option value="0"' . $selected . '>ALL</option>';
$auth_delete_select .= '<option value="1"' . $selected . '>REG</option>';
$auth_delete_select .= '<option value="2"' . $selected . '>MOD</option>';
$auth_delete_select .= '<option value="3"' . $selected . '>ADMIN</option>';
$auth_delete_select .= "</select>";
return $auth_delete_select;
}
}
}
wer weiß Rat?