Seite 1 von 3
Selbstregulierende Communities
Verfasst: 30.05.2004 22:48
von tomparis
Hallo!
Ich möchte eine selbstregulierende Community erstellen.
Das heißt, dass User die eigenen Threads schließen/öffnen können, diese löschen können und evtl. auch Beiträge in diesem Thread löschen kann.
Gibt es evtl. einen Hack mit dem sich dies bewerkstelligen lässt?
Verfasst: 31.05.2004 03:28
von Wuppi
Hi
versteh ich jetzt nicht so ganz ... reicht es da net, wenn du eine Mod-Gruppe erstellst und alle User darein packst - dann der Gruppe die entsprechenden Rechte geben?
Bis denne
Wuppi
Verfasst: 31.05.2004 10:21
von PhilippK
Verstehen lässt sich das schon: der Ersteller eines Themas sollte in diesem Thema Moderator sein - und eben nur in diesem.
Machbar ist das sicherlich, es dürfte aber etwas Aufwand sein. Hast du bei phpbbhacks.com schon mal nach 'nem passenden Mod gesucht?
Gruß, Philipp
Verfasst: 31.05.2004 10:43
von Crack02
er meint warscheinlich so ne funktion wie beim ehemaligen YaBB SE. da konnte der themenstarter seinen eigenen topic schließen
Verfasst: 31.05.2004 14:01
von tomparis
Ich hab natürlich schon überall gesucht...
Jo, der Starter soll sein Thema selber schließen/löschen können, am besten aber auch noch es komplett moderieren können (also Beiträge im Thema löschen können).
Verfasst: 31.05.2004 17:49
von PhilippK
Das müssen wir wohl schrittweise lösen.
Such mal folgende Zeile in der
viewtopic.php:
Code: Alles auswählen
$sql = "SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments" . $count_sql . "
Dort fügst du nach
ein.
Dann suche den Block
Code: Alles auswählen
if ( $is_auth['auth_mod'] )
{
$s_auth_can .= sprintf($lang['Rules_moderate'], "<a href=\"modcp.$phpEx?" . POST_FORUM_URL . "=$forum_id&sid=" . $userdata['session_id'] . '">', '</a>');
$topic_mod .= "<a href=\"modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=delete&sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_delete'] . '" alt="' . $lang['Delete_topic'] . '" title="' . $lang['Delete_topic'] . '" border="0" /></a> ';
$topic_mod .= "<a href=\"modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=move&sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_move'] . '" alt="' . $lang['Move_topic'] . '" title="' . $lang['Move_topic'] . '" border="0" /></a> ';
$topic_mod .= ( $forum_topic_data['topic_status'] == TOPIC_UNLOCKED ) ? "<a href=\"modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=lock&sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_lock'] . '" alt="' . $lang['Lock_topic'] . '" title="' . $lang['Lock_topic'] . '" border="0" /></a> ' : "<a href=\"modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=unlock&sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_unlock'] . '" alt="' . $lang['Unlock_topic'] . '" title="' . $lang['Unlock_topic'] . '" border="0" /></a> ';
$topic_mod .= "<a href=\"modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=split&sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_split'] . '" alt="' . $lang['Split_topic'] . '" title="' . $lang['Split_topic'] . '" border="0" /></a> ';
}
und füge danach ein:
Code: Alles auswählen
elseif ( $forum_topic_data['topic_poster'] == $userdata['user_id'] )
{
$topic_mod .= "<a href=\"modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=delete&sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_delete'] . '" alt="' . $lang['Delete_topic'] . '" title="' . $lang['Delete_topic'] . '" border="0" /></a> ';
$topic_mod .= "<a href=\"modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=move&sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_move'] . '" alt="' . $lang['Move_topic'] . '" title="' . $lang['Move_topic'] . '" border="0" /></a> ';
$topic_mod .= ( $forum_topic_data['topic_status'] == TOPIC_UNLOCKED ) ? "<a href=\"modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=lock&sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_lock'] . '" alt="' . $lang['Lock_topic'] . '" title="' . $lang['Lock_topic'] . '" border="0" /></a> ' : "<a href=\"modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=unlock&sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_unlock'] . '" alt="' . $lang['Unlock_topic'] . '" title="' . $lang['Unlock_topic'] . '" border="0" /></a> ';
$topic_mod .= "<a href=\"modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=split&sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_split'] . '" alt="' . $lang['Split_topic'] . '" title="' . $lang['Split_topic'] . '" border="0" /></a> ';
}
Dann suche die Zeile
Code: Alles auswählen
if ( $userdata['user_id'] == $poster_id && $is_auth['auth_delete'] && $forum_topic_data['topic_last_post_id'] == $postrow[$i]['post_id'] )
und ersetze sie durch
Code: Alles auswählen
if ( ( $userdata['user_id'] == $poster_id && $is_auth['auth_delete'] && $forum_topic_data['topic_last_post_id'] == $postrow[$i]['post_id'] ) || $forum_topic_data['topic_poster'] == $userdata['user_id'] )
Das sollte für den Beitragsersteller die notwendigen Schaltflächen (die vier unter dem Beitrag und die Löschen-Schaltfläche bei jedem Beitrag) aktivieren. Prüf das doch bitte, ob das so klappt - dann würden wir im nächsten Schritt die Schaltflächen noch funktionsfähig machen.
Gruß, Philipp
Verfasst: 31.05.2004 19:25
von tomparis
Wenn ich mich als normaler User anmelde seh ich die DInger leider nicht.
Ich benutze das 2.0.8
Verfasst: 31.05.2004 19:30
von shwepsi
meintest du eigentlich jeder User darf alles editieren, oder nur jeder seinen Thread (mit allen Antworten, auch den der User)
bei 2. müsstest du erst einen Thread eröffnen
Verfasst: 31.05.2004 19:33
von tomparis
shwepsi hat geschrieben:meintest du eigentlich jeder User darf alles editieren, oder nur jeder seinen Thread (mit allen Antworten, auch den der User)
bei 2. müsstest du erst einen Thread eröffnen
Jeder soll den von ihm eröffneten Thread moderieren können.
Ganz blöd bin auch nich, nen Thread hab ich schon noch eröffnet...
Verfasst: 31.05.2004 19:35
von shwepsi
sorry wenns so rüberkam, aber alle machen mal Fehler, und meist dann dumme (wie man an den meisten meiner eröffneten Threads sehen kann)