Gruppenberechtigung
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
- gn#36
- Ehrenadmin
- Beiträge: 9313
- Registriert: 01.10.2006 16:20
- Wohnort: Ganz in der Nähe...
- Kontaktdaten:
Kleine Änderung, damit das auch mit der Suche funktioniert und auch nicht per direktem Zugriff auf die Posts zugegriffen werden kann:
Finde in der viewtopic.php
füge in dieser Zeile direkt nach dem Ausschnitt ein:
Dann ein paar Zeilen später das bereits eingefügte
ersetzen durch
Jetzt ist der direkte Zugriff auch gesperrt.
Um die Suche anzupassen sind ein paar Anpassungen an der search.php notwendig.
Suche hier nach
Danach hinzufügen:
Direkt darunter nach
muss das hier:
Wieder ein paar Zeilen später dann nach dem hier:
dann dass:
Dieser kurze Block:
wird ersetzt durch das hier:
Das hier:
wird ersetzt durch
Zum Abschluss muss noch nach
und nach
jeweils das hier:
Ich hoffe dass ich da jetzt keine der vielen Änderungen in der Datei vergessen habe, auf jeden Fall sollte im Anschluss auch die Suche nur noch die Themen zeigen die man tatsächlich sehen darf.
Und das ganze hat sich mal wieder in Richtung eines kleinen Mods entwickelt
Finde in der viewtopic.php
Code: Alles auswählen
$sql = "SELECT t.topic_id, t.topic_title, t.topic_status,
Code: Alles auswählen
t.topic_poster,
Code: Alles auswählen
if( $is_auth['auth_read_self_topics'] )
Code: Alles auswählen
if( $is_auth['auth_read_self_topics'] && $forum_topic_data['topic_poster'] == $userdata['user_id'] )
Um die Suche anzupassen sind ein paar Anpassungen an der search.php notwendig.
Suche hier nach
Code: Alles auswählen
if ( $search_forum != -1 )
{
$is_auth = auth(AUTH_READ, $search_forum, $userdata);
Code: Alles auswählen
$auth_read_self = auth(AUTH_READ_SELF_TOPICS, $search_forum, $userdata);
Code: Alles auswählen
if ( !$is_auth['auth_read'] )
{
message_die(GENERAL_MESSAGE, $lang['No_searchable_forums']);
}
Code: Alles auswählen
elseif(($is_auth['auth_read'] === AUTH_SELF && $auth_read_self['auth_read_self_topics'] == false))
{
$auth_self_list[] = $search_forum; //Speichern, dass in dem Forum nur eigene Themen gesehen werden dürfen.
}
Code: Alles auswählen
$is_auth_ary = auth(AUTH_READ, AUTH_LIST_ALL, $userdata);
Code: Alles auswählen
$auth_read_self = auth(AUTH_READ_SELF_TOPICS, AUTH_LIST_ALL, $userdata); //AUTH_READ_SELF
Code: Alles auswählen
if ( !$value['auth_read'] )
{
$ignore_forum_sql .= ( ( $ignore_forum_sql != '' ) ? ', ' : '' ) . $key;
}
Code: Alles auswählen
if ( !$value['auth_read'] || ($value['auth_read'] === AUTH_SELF && $auth_read_self[$key]['auth_read_self_topics'] == false) ) //Foren in denen nur eigene Themen gesehen werden dürfen ignorieren.
{
$ignore_forum_sql .= ( ( $ignore_forum_sql != '' ) ? ', ' : '' ) . $key;
if($value['auth_read'] === AUTH_SELF)//Zwischenspeichern wenn man nur eigene Themen in diesem Forum sehen darf.
{
$auth_self_list[] = $key;
}
}
Code: Alles auswählen
if ( $ignore_forum_sql != '' )
{
$auth_sql .= ( $auth_sql != '' ) ? " AND f.forum_id NOT IN ($ignore_forum_sql) " : "f.forum_id NOT IN ($ignore_forum_sql) ";
}
Code: Alles auswählen
if ( $ignore_forum_sql != '' )
{
if($auth_self_list)
{
$auth_self_list = implode(', ', $auth_self_list);
$auth_sql .= ( $auth_sql != '' ) ? " AND (f.forum_id NOT IN ($ignore_forum_sql) OR (t.topic_poster = ".$userdata['user_id']." AND f.forum_id IN ($auth_self_list) ))" : "(f.forum_id NOT IN ($ignore_forum_sql) OR (t.topic_poster = ".$userdata['user_id']." AND f.forum_id IN ($auth_self_list))) ";
}
else
{
$auth_sql .= ( $auth_sql != '' ) ? " AND f.forum_id NOT IN ($ignore_forum_sql) " : "f.forum_id NOT IN ($ignore_forum_sql) ";
}
}
Code: Alles auswählen
$from_sql = POSTS_TABLE . " p";
Code: Alles auswählen
$select_sql = ( $search_author == '' && $auth_sql == '' ) ? 'post_id' : 'p.post_id';
$from_sql = ( $search_author == '' && $auth_sql == '' ) ? POSTS_TABLE : POSTS_TABLE . ' p';
Code: Alles auswählen
if(isset($auth_self_list) && $auth_self_list) //ADDED
{
$from_sql .= ", " . TOPICS_TABLE . " t";
$where_sql .= " AND t.topic_id = p.topic_id ";
}
Und das ganze hat sich mal wieder in Richtung eines kleinen Mods entwickelt

Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Code: Alles auswählen
, f.auth_reply_self_topics, f.auth_read_self_topics
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it