svenrieger hat geschrieben:Gibt es auch die Möglichkeit die Meldeliste nur in bestimmeten Kategorien anzeigen zu lassen?
Fest eingebaut noch nicht. Allerdings könntest du das durch die Rechteverwaltung regeln, da lassen sich gruppenweise für alle Foren einzeln die Berechtigungen vergeben. Da das ganze etwas anders aufgebaut ist als das übliche Rechtemanagement lassen sich da auch Foren sperren (anders als üblicherweise, normalerweise kann man ja nur zusätzliche Foren erlauben). Der einzige der dann in den anderen Foren noch Meldelisten erstellen könnte wäre dann der Administrator oder die Moderatoren des jeweiligen Forums.
Alternativ kannst du die Datei functions_inout.php bearbeiten:
finde
Code: Alles auswählen
if ( !empty($forum_id) )
{
$sql = "SELECT *
FROM " . FORUMS_TABLE . "
WHERE forum_id = $forum_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
}
}
elseif($topic_id != NULL && $forum_id = get_forum($topic_id))
{
//If there is an TopicId given
$sql = "SELECT *
FROM " . FORUMS_TABLE . "
WHERE forum_id = $forum_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
}
}
Tausche Aus gegen:
Code: Alles auswählen
if ( !empty($forum_id) )
{
//Verbotene Foren ausschließen:
if(in_array($forum_id,array(1,2,3)))
{
return false;
}
$sql = "SELECT *
FROM " . FORUMS_TABLE . "
WHERE forum_id = $forum_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
}
}
elseif($topic_id != NULL && $forum_id = get_forum($topic_id))
{
//Verbotene Foren ausschließen:
if(in_array($forum_id,array(1,2,3)))
{
return false;
}
//If there is an TopicId given
$sql = "SELECT *
FROM " . FORUMS_TABLE . "
WHERE forum_id = $forum_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
}
}
Die Ziffern 1,2,3 sind hierbei gegen die gewünschten Foren auszutauschen in denen die Listen verboten sein sollen. Der Admin bekommt die Möglichkeit, Listen anzuzeigen dann zwar immer noch, allerdings kann kein anderer User sie sehen. Damit der Admin sie auch nicht sieht müsstest du diesen Code
Code: Alles auswählen
//If User is Admin he can certainly post an Inout Topic
if( $user_data['user_level'] == ADMIN )
{
return true;
}
//If the parser gets here, the user can't be Admin
if($state == INOUT_AUTH_ADMIN)
{
return FALSE;
}
finden und nach diesen Code hier verschieben(ein paar Zeilen später):
Code: Alles auswählen
else
{
message_die(GENERAL_MESSAGE, 'Forum_not_exist');
}
EDIT: Zusätzlich muss vor dem obigen Code (else { ... }) noch der folgende eingefügt werden:
Code: Alles auswählen
elseif($user_data['user_level'] == ADMIN && $state == INOUT_AUTH_ADMIN)
{
return true;
}
[/color]
Der andere Fehler war wohl ein Bug der mir auch noch nicht aufgefallen ist:
Es sollte in der groupcp.php statt so:
Code: Alles auswählen
$state = isset($HTTP_POST_VARS['deny']) || isset($HTTP_POST_VARS['remove'])? INOUT_REMOVE:INOUT_NONE;
so aussehen:
Code: Alles auswählen
$state = isset($HTTP_POST_VARS['deny']) || isset($HTTP_POST_VARS['remove'])? INOUT_DELETE:INOUT_NONE;