Moderatoren können Avatare löschen

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Hm... die Forumskategorie ist jedoch ein Forum mit mehreren Unterforen, wobei das Hauptforum im nächsten Jahr zu einem Unterforum wird.
Weder ist der CH Mod noch Simple Subforum MOD installiert, sondern irgendein selfmade.
Das könnte zu Problemen führen. Gruppenbezogen wäre da vorteilhafter, zumal die besagte Gruppe auch in weitere versteckte Foren Einblick hat, dort u.U. (keine) Moderatorenrechte besitzt.

Allerdings wäre es imho denkbar, den Part aus der viewtopic.php ganz zu entfernen und Avatarlöschungen nur über das Profil möglich zu machen. Bei der Bearbeitung von Benutzermeldungen wird man eh durch den Advanced Report Hack v4 (S2B-Project) auf das Profil verwiesen.
Wäre nur die Frage, wie die SQL Erweiterung hier innerhalb der profile.php aussehen müsste?
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dort müsste man grundsätzlich mehr machen, denn dort muss ja erst einmal festgestellt werden, wer denn überhaupt Moderator ist.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Also alles nicht so einfach :(
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nun, eine Anfrage auf die Gruppenzugehörigkeit in der viewtopic.php wäre noch das einfachste. Also wenn der User dieser Gruppe angehört, dann die Avatar-Delete-Funktion nicht erlauben.

Um welche Gruppe handelt es sich?
Und häng bitte Deine viewtopic.php an, dann baue ich das dort ein.
Zumal es sich ja auch wirklich nur um die User dreht, die bereits Moderatorstatus, also User-Level = 2, haben.
Somit würde sich die zusätzliche Query nicht sooo oft einstellen, die Topicansicht also weiterhin schnell bleiben.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Danke für das Angebot. Viell kannst du dir folgendes mal ansehen.
Moderatoren können Avatare bei uns mittlerweile nur noch im Profil löschen.

Das Snippet (noch nicht veröffentlicht) kommt von S2B für den Advanced Report Hack 4.0.1

Code: Alles auswählen

//
// Checks if the current user is a member of the specified deny groups
//
function report_group_auth()
{
	global $db, $userdata;

	// here you can specify the deny groups
	$deny_groups = array(3925, 8333, 943, 4376);

	if (empty($deny_groups))
	{
		return true;
	}

	$user_id = $userdata['user_id'];

	$sql = 'SELECT COUNT(g.group_id) AS count
		FROM ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g
		WHERE g.group_id = ug.group_id
			AND (ug.user_id = ' . intval($user_id) . '
				OR g.group_moderator = ' . intval($user_id) . ')
			AND ug.group_id IN(' . implode(', ', $deny_groups) . ')
		GROUP BY g.group_id';
	if (!$result = $db->sql_query($sql))
	{
		message_die(GENERAL_ERROR, 'Could not check group auth', '', __LINE__, __FILE__, $sql);
	}

	$count = $db->sql_fetchfield('count', 0, $result);
	$db->sql_freeresult($result);

	return ($count > 0) ? false : true;
}
Untergebracht in der usercp_viewprofile.php kommt das gewünschte Ergebnis.

Code: Alles auswählen

// Directly delete avatar by mod or admin
if ($avatar_img && ($userdata['user_level'] == ADMIN || $userdata['user_level'] == MOD))
{
	include_once($phpbb_root_path . "includes/functions_report.$phpEx");

         if (!report_group_auth())
	{
                 $avatar_img;
	}
         else
         {
         $poster_id = $profiledata['user_id'];
	$avatar_img = '<a href="javascript:void(0);" onclick="javascript:if (confirm(\''.$lang['Delete_Image'].'?\')) top.location.href=\'' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$poster_id&del_avatar=1") . '\';">' . $avatar_img . '</a>';
         }
}
Wie würde deine Alternative aussehen?
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Naja, so ähnlich hätte ich es auch gemacht.
An dieser Version ist nichts auszusetzen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

>Nichts auszusetzen
Ausser jemand ist in unterschiedlichen Gruppen, wobei die eine können soll, die andere nicht - dann hat darf nicht Prio ;)
Antworten