Themen passwortgeschtzt auch für Mods?

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
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.
Antworten
Benutzeravatar
daruler
Mitglied
Beiträge: 549
Registriert: 14.04.2004 19:42
Kontaktdaten:

Themen passwortgeschtzt auch für Mods?

Beitrag von daruler »

Hallo,

ich habe gerade den "Password-protected topics"-Mod eingebaut, womit man Threads passwortschützen kann. Das klappt bis jetzt wunderbar...aber leider bin ich als Admin der Einzige, der passwortgeschütze Threads aufmachen kann.
Ich würde jedoch gerne auch, dass mein Super-Moderator das auch kann.
Vielleicht so veränder, dass "if( $userdata['user_level'] != ADMIN oder ID von meinem Super-Mod, dann [...]"


Ich denke man müsste diesen Part etwas abändern und seine ID irgendwie einsetzen. Wahrscheinlich der entsprechende Part aus der Installation des Mods:
#
#-----[ OPEN ]--------------------------------------------
#
modcp.php

#
#-----[ FIND ]--------------------------------------------
#
$sql = "SELECT poster_id, COUNT(post_id) AS posts
FROM " . POSTS_TABLE . "
WHERE topic_id IN ($topic_id_sql)
GROUP BY poster_id";

#
#-----[ REPLACE WITH ]-------------------------------------
#
//
// Check for password-protected topics
//
if( $userdata['user_level'] != ADMIN )
{
$sql = "SELECT topic_id FROM " . TOPICS_TABLE . " WHERE topic_id IN ($topic_id_sql) AND topic_password = ''";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not obtain topic list', '', __LINE__, __FILE__, $sql);
}

$topic_id_sql = '';
while( $row = $db->sql_fetchrow($result) )
{
$topic_id_sql .= ( ( $topic_id_sql != '' ) ? ', ' : '' ) . $row['topic_id'];
}
}

if( $topic_id_sql == '' )
{
message_die(GENERAL_MESSAGE, $lang['Not_delete_password_topics']);
}
else
{
$sql = "SELECT poster_id, COUNT(post_id) AS posts
FROM " . POSTS_TABLE . "
WHERE topic_id IN ($topic_id_sql)
GROUP BY poster_id";
}

Kann mir jemand helfen und es vielleicht auch für meinen Sper-Mod ermöglichen? Ich hoffe, es macht nicht zu viel Umstand :roll:
shwepsi
Mitglied
Beiträge: 1697
Registriert: 02.06.2003 14:37
Wohnort: NRW - immer dem Monitorleuchten folgen...
Kontaktdaten:

Beitrag von shwepsi »

ADMIN || SUPERMOD oder so ähnlich

Alt Gr + < ist der |
|| heisst eines von beiden muss zutreffen

ob es wirklich SuperMod ist kannst du in der constants.php nachschauen, da sind die Level aufgeführt, groß und kleinschreibung beachten !!!
Die Weisheit verfolgte mich sekundenlang...
Aber sie überholte mich und war fortan nicht mehr gesehen !!!
Benutzeravatar
daruler
Mitglied
Beiträge: 549
Registriert: 14.04.2004 19:42
Kontaktdaten:

Beitrag von daruler »

Nein, leider habe ich nicht den Super-Moderator-Mod eingebaut, sondern den Junior-Admin. "SUPERMOD" gibt es deshalb nicht in constants.
Müsste wirklich über die ID gehen.

Danke
shwepsi
Mitglied
Beiträge: 1697
Registriert: 02.06.2003 14:37
Wohnort: NRW - immer dem Monitorleuchten folgen...
Kontaktdaten:

Beitrag von shwepsi »

auch die kannst du in der constants.php ablesen, zumindest normalerweise, ansonsten gib direkt die ID ein

ADMIN || 4 als beispiel
Die Weisheit verfolgte mich sekundenlang...
Aber sie überholte mich und war fortan nicht mehr gesehen !!!
Mario Siebert
Mitglied
Beiträge: 2295
Registriert: 09.12.2003 15:02
Wohnort: Irgendwo im Nirgendwo

Beitrag von Mario Siebert »

Das ist relativ einfach, beim Junior Admin musst du die user_id des Benutzers der momentan Online ist erst darauf prüfen ob derjenige Junior Admin ist und die if Abfrage dann entsprechend Modifizieren.

Grüße Mario
Wer gegen eine geringe Gebühr (höhe der Gebühr bestimmst du selbst!!) ein phpBB installiert oder Mods eingebaut haben möchte sollte sich melden unter: netcom_service@gmx.net - Bisherige Aufträge 68.071
Auf Anfrage führe ich auch Reparaturen/Updates und Serverumzüge durch oder baue Mods!
shwepsi
Mitglied
Beiträge: 1697
Registriert: 02.06.2003 14:37
Wohnort: NRW - immer dem Monitorleuchten folgen...
Kontaktdaten:

Beitrag von shwepsi »

Mario Siebert hat geschrieben:Das ist relativ einfach, beim Junior Admin musst du die user_id des Benutzers der momentan Online ist erst darauf prüfen ob derjenige Junior Admin ist und die if Abfrage dann entsprechend Modifizieren.

Grüße Mario
ich glaube das will da jemand genauer, viel genauer ....
Die Weisheit verfolgte mich sekundenlang...
Aber sie überholte mich und war fortan nicht mehr gesehen !!!
Mario Siebert
Mitglied
Beiträge: 2295
Registriert: 09.12.2003 15:02
Wohnort: Irgendwo im Nirgendwo

Beitrag von Mario Siebert »

shwepsi hat geschrieben: ich glaube das will da jemand genauer, viel genauer ....
Hab ich mir schon gedacht, ich poste ihm gleich ne Anleitung, ich hatte nur gerade keine Zeit ;)

Grüße Mario
Wer gegen eine geringe Gebühr (höhe der Gebühr bestimmst du selbst!!) ein phpBB installiert oder Mods eingebaut haben möchte sollte sich melden unter: netcom_service@gmx.net - Bisherige Aufträge 68.071
Auf Anfrage führe ich auch Reparaturen/Updates und Serverumzüge durch oder baue Mods!
shwepsi
Mitglied
Beiträge: 1697
Registriert: 02.06.2003 14:37
Wohnort: NRW - immer dem Monitorleuchten folgen...
Kontaktdaten:

Beitrag von shwepsi »

Mario Siebert hat geschrieben:
shwepsi hat geschrieben: ich glaube das will da jemand genauer, viel genauer ....
Hab ich mir schon gedacht, ich poste ihm gleich ne Anleitung, ich hatte nur gerade keine Zeit ;)

Grüße Mario
wenn ich die Constante für die junior Admins wüsste, oder die Tabelle wo es drinsteht?
habe den Mod jedoch noch nie angeschaut
wollte mal, habe aber dann eine eigene Lösung programmiert
Die Weisheit verfolgte mich sekundenlang...
Aber sie überholte mich und war fortan nicht mehr gesehen !!!
Mario Siebert
Mitglied
Beiträge: 2295
Registriert: 09.12.2003 15:02
Wohnort: Irgendwo im Nirgendwo

Beitrag von Mario Siebert »

So hier die Anleitung:

modcp.php:

[suchen]

Code: Alles auswählen

include($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
[danach einfügen]

Code: Alles auswählen

include_once($phpbb_root_path . 'includes/functions_jr_admin.' . $phpEx);
$jr_admin_userdata = jr_admin_get_user_info($userdata['user_id']);
[suchen]

Code: Alles auswählen

// 
// Check for password-protected topics 
// 
if( $userdata['user_level'] != ADMIN ) 
{ 
$sql = "SELECT topic_id FROM " . TOPICS_TABLE . " WHERE topic_id IN ($topic_id_sql) AND topic_password = ''"; 
if( !$result = $db->sql_query($sql) ) 
{ 
message_die(GENERAL_ERROR, 'Could not obtain topic list', '', __LINE__, __FILE__, $sql); 
} 

$topic_id_sql = ''; 
while( $row = $db->sql_fetchrow($result) ) 
{ 
$topic_id_sql .= ( ( $topic_id_sql != '' ) ? ', ' : '' ) . $row['topic_id']; 
} 
} 

if( $topic_id_sql == '' ) 
{ 
message_die(GENERAL_MESSAGE, $lang['Not_delete_password_topics']); 
} 
else 
{ 
$sql = "SELECT poster_id, COUNT(post_id) AS posts 
FROM " . POSTS_TABLE . " 
WHERE topic_id IN ($topic_id_sql) 
GROUP BY poster_id"; 
}
[ersetzen durch]

Code: Alles auswählen

//
// Check for password-protected topics
//
if( $userdata['user_level'] != ADMIN || !empty($jr_admin_userdata['user_jr_admin']) )
{
$sql = "SELECT topic_id FROM " . TOPICS_TABLE . " WHERE topic_id IN ($topic_id_sql) AND topic_password = ''";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not obtain topic list', '', __LINE__, __FILE__, $sql);
}

$topic_id_sql = '';
while( $row = $db->sql_fetchrow($result) )
{
$topic_id_sql .= ( ( $topic_id_sql != '' ) ? ', ' : '' ) . $row['topic_id'];
}
}

if( $topic_id_sql == '' )
{
message_die(GENERAL_MESSAGE, $lang['Not_delete_password_topics']);
}
else
{
$sql = "SELECT poster_id, COUNT(post_id) AS posts
FROM " . POSTS_TABLE . "
WHERE topic_id IN ($topic_id_sql)
GROUP BY poster_id";
}
Konnte es momentan nicht testen, sollte aber laufen.

Grüße Mario
Wer gegen eine geringe Gebühr (höhe der Gebühr bestimmst du selbst!!) ein phpBB installiert oder Mods eingebaut haben möchte sollte sich melden unter: netcom_service@gmx.net - Bisherige Aufträge 68.071
Auf Anfrage führe ich auch Reparaturen/Updates und Serverumzüge durch oder baue Mods!
Antworten

Zurück zu „phpBB 2.0: Mod Support“