reg. User die Möglichkeit geben Ihr Post selbst zu schließen
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.1, 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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
reg. User die Möglichkeit geben Ihr Post selbst zu schließen
Hallo!
Kann man irgendwie reg. Benutzer die Möglichkeit geben NUR Ihr eigenes Thema zu schließen?
mfg
Ulthi..
Kann man irgendwie reg. Benutzer die Möglichkeit geben NUR Ihr eigenes Thema zu schließen?
mfg
Ulthi..
- Simpson
- Ehemaliges Teammitglied
- Beiträge: 1088
- Registriert: 20.05.2002 17:35
- Wohnort: Göttingen
- Kontaktdaten:
Fände ich auch nicht schlecht.
Nachteil war allerdings damals im WBB, das wenn man seinen Usern das erlaubt hat, das die auch wieder Beiträge die vom Admin geschlossen wurden, wieder öffnen konnten
böse Falle.
Nachteil war allerdings damals im WBB, das wenn man seinen Usern das erlaubt hat, das die auch wieder Beiträge die vom Admin geschlossen wurden, wieder öffnen konnten

Da geht noch was!
Unread Post Information to Database Mod Version 3 mit vielen neuen Features!
Scrolling down automaticly Mod
Unread Post Information to Database Mod Version 3 mit vielen neuen Features!
Scrolling down automaticly Mod
Variante I: (siehe auch weiter unten Variante II)
Jeder Benutzer egal ob Admin oder Moderator kann das Thema das er eröffnet hat schließen/locken bzw. auch wieder öffnen. Man beachte die von Simpson erwähnte Problematik falls ein Admin/Moderator das Thema geschlossen hat.
phpBB2/language/lang_xxx/lang_main.php
suche nach
und füge in die nächste Zeile ein:
phpBB2/viewtopic.php
suche nach
und füge danach ein:
phpBB2/modcp.php
suche nach
und ersetze dies durch
Ich weiß, dass da ein paar Sachen doppelt durchgecheckt werden, aber ich hab jetzt nicht die Lust das weiter auseinander zunehmen, bei meinen kurzen Tests ging alles ohne Probleme, der Themenstarter kann ohne Probleme sein Thema schließen bzw. öffnen.
@Simpson es sollte auch möglich sein, dass der Themenstarter sein Thema NUR schließen kann, aber nicht mehr öffnen.
Bitte probiert diesen Code in Ruhe aus, irgendeine Sicherheitslück sollte nicht entstehen (wie gesagt manches checke ich ja sogar mehrfach durch), falls ich etwas übersehen haben sollte bitte melden!
Jeder Benutzer egal ob Admin oder Moderator kann das Thema das er eröffnet hat schließen/locken bzw. auch wieder öffnen. Man beachte die von Simpson erwähnte Problematik falls ein Admin/Moderator das Thema geschlossen hat.
phpBB2/language/lang_xxx/lang_main.php
suche nach
Code: Alles auswählen
$lang['Rules_moderate']
Code: Alles auswählen
$lang['Rules_openclose'] = 'You <b>can</b> lock/unlock <b>this</b> topic';
suche nach
Code: Alles auswählen
$topic_mod = '';
Code: Alles auswählen
$sql = "SELECT t.topic_id, t.topic_first_post_id, p.post_id, p.poster_id
FROM " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p
WHERE t.topic_id = " . $topic_id . "
AND t.topic_first_post_id = p.post_id";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
if ($row['poster_id'] == $userdata['user_id'] AND $userdata['user_id'] != '-1' AND !$is_auth['auth_mod'])
{
$s_auth_can .= $lang['Rules_openclose'];
$topic_mod .= ( $forum_topic_data['topic_status'] == TOPIC_UNLOCKED ) ? '<a href="' . append_sid("modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=lock") . '"><img src="' . $images['topic_mod_lock'] . '" alt="' . $lang['Lock_topic'] . '" title="' . $lang['Lock_topic'] . '" border="0" /></a> ' : '<a href="' . append_sid("modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=unlock") . '"><img src="' . $images['topic_mod_unlock'] . '" alt="' . $lang['Unlock_topic'] . '" title="' . $lang['Unlock_topic'] . '" border="0" /></a> ';
}
suche nach
Code: Alles auswählen
if ( !$is_auth['auth_mod'] )
{
message_die(GENERAL_MESSAGE, $lang['Not_Moderator'], $lang['Not_Authorised']);
}
Code: Alles auswählen
$sql = "SELECT t.topic_id, t.topic_first_post_id, p.post_id, p.poster_id
FROM " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p
WHERE t.topic_id = " . $topic_id . "
AND t.topic_first_post_id = p.post_id";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
if ($row['poster_id'] == $userdata['user_id'] AND $userdata['user_id'] != '-1' AND !$is_auth['auth_mod'] AND ($mode == 'lock' OR $mode == 'unlock'))
{
if ($mode == 'lock')
{
if ( empty($topic_id) )
{
message_die(GENERAL_MESSAGE, $lang['None_selected']);
}
$sql = "UPDATE " . TOPICS_TABLE . "
SET topic_status = " . TOPIC_LOCKED . "
WHERE topic_id = " . $topic_id . "
AND topic_moved_id = 0";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update topics table', '', __LINE__, __FILE__, $sql);
}
if ( !empty($topic_id) )
{
$redirect_page = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id");
$message = sprintf($lang['Click_return_topic'], '<a href="' . $redirect_page . '">', '</a>');
}
$message = $message . '<br \><br \>' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');
$template->assign_vars(array(
'META' => '<meta http-equiv="refresh" content="3;url=' . $redirect_page . '">')
);
message_die(GENERAL_MESSAGE, $lang['Topics_Locked'] . '<br /><br />' . $message);
}
if ($mode == 'unlock')
{
if ( empty($topic_id) )
{
message_die(GENERAL_MESSAGE, $lang['None_selected']);
}
$sql = "UPDATE " . TOPICS_TABLE . "
SET topic_status = " . TOPIC_UNLOCKED . "
WHERE topic_id = " . $topic_id . "
AND topic_moved_id = 0";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update topics table', '', __LINE__, __FILE__, $sql);
}
if ( !empty($topic_id) )
{
$redirect_page = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id");
$message = sprintf($lang['Click_return_topic'], '<a href="' . $redirect_page . '">', '</a>');
}
$message = $message . '<br \><br \>' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');
$template->assign_vars(array(
'META' => '<meta http-equiv="refresh" content="3;url=' . $redirect_page . '">')
);
message_die(GENERAL_MESSAGE, $lang['Topics_Unlocked'] . '<br /><br />' . $message);
}
else
{
message_die(GENERAL_MESSAGE, $lang['Not_Moderator'], $lang['Not_Authorised']);
}
//nur zur Sicherheit nochmal exit ;)
exit;
}
else
{
if ( !$is_auth['auth_mod'] )
{
message_die(GENERAL_MESSAGE, $lang['Not_Moderator'], $lang['Not_Authorised']);
}
}
@Simpson es sollte auch möglich sein, dass der Themenstarter sein Thema NUR schließen kann, aber nicht mehr öffnen.
Bitte probiert diesen Code in Ruhe aus, irgendeine Sicherheitslück sollte nicht entstehen (wie gesagt manches checke ich ja sogar mehrfach durch), falls ich etwas übersehen haben sollte bitte melden!
Zuletzt geändert von Mister_X am 18.12.2002 17:00, insgesamt 1-mal geändert.
- Simpson
- Ehemaliges Teammitglied
- Beiträge: 1088
- Registriert: 20.05.2002 17:35
- Wohnort: Göttingen
- Kontaktdaten:
Funktioniert super
klasse Arbeit - habs gerade ausprobiert.
Das ganze hat nur einen winzig kleinen Schönheitfehler (den ich oben schon erwähnte, also erwartet habe), wenn man seinen Usern diese Möglichkeit gibt dann können die Themenstartet Threads wieder öffnen welche vom Admin geschlossen worden.

Das ganze hat nur einen winzig kleinen Schönheitfehler (den ich oben schon erwähnte, also erwartet habe), wenn man seinen Usern diese Möglichkeit gibt dann können die Themenstartet Threads wieder öffnen welche vom Admin geschlossen worden.
Da geht noch was!
Unread Post Information to Database Mod Version 3 mit vielen neuen Features!
Scrolling down automaticly Mod
Unread Post Information to Database Mod Version 3 mit vielen neuen Features!
Scrolling down automaticly Mod
Variante II:
Jeder Benutzer egal ob Admin oder Moderator kann das Thema das er eröffnet hat schließen bzw. locken.
phpBB2/language/lang_xxx/lang_main.php
suche nach
und füge in die nächste Zeile ein:
phpBB2/viewtopic.php
suche nach
und füge danach ein:
phpBB2/modcp.php
suche nach
und ersetze dies durch
Jeder Benutzer egal ob Admin oder Moderator kann das Thema das er eröffnet hat schließen bzw. locken.
phpBB2/language/lang_xxx/lang_main.php
suche nach
Code: Alles auswählen
$lang['Rules_moderate']
Code: Alles auswählen
$lang['Rules_close'] = 'You <b>can</b> lock <b>this</b> topic';
phpBB2/viewtopic.php
suche nach
Code: Alles auswählen
$topic_mod = '';
Code: Alles auswählen
$sql = "SELECT t.topic_id, t.topic_first_post_id, p.post_id, p.poster_id
FROM " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p
WHERE t.topic_id = " . $topic_id . "
AND t.topic_first_post_id = p.post_id";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
if ($row['poster_id'] == $userdata['user_id'] AND $userdata['user_id'] != '-1' AND !$is_auth['auth_mod'])
{
$s_auth_can .= $lang['Rules_close'];
$topic_mod .= ( $forum_topic_data['topic_status'] == TOPIC_UNLOCKED ) ? '<a href="' . append_sid("modcp.$phpEx?" . POST_TOPIC_URL . "=$topic_id&mode=lock") . '"><img src="' . $images['topic_mod_lock'] . '" alt="' . $lang['Lock_topic'] . '" title="' . $lang['Lock_topic'] . '" border="0" /></a>' : '';
}
phpBB2/modcp.php
suche nach
Code: Alles auswählen
if ( !$is_auth['auth_mod'] )
{
message_die(GENERAL_MESSAGE, $lang['Not_Moderator'], $lang['Not_Authorised']);
}
Code: Alles auswählen
$sql = "SELECT t.topic_id, t.topic_first_post_id, p.post_id, p.poster_id
FROM " . TOPICS_TABLE . " t, " . POSTS_TABLE . " p
WHERE t.topic_id = " . $topic_id . "
AND t.topic_first_post_id = p.post_id";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
if ($row['poster_id'] == $userdata['user_id'] AND $userdata['user_id'] != '-1' AND !$is_auth['auth_mod'] AND $mode == 'lock')
{
if ($mode == 'lock')
{
if ( empty($topic_id) )
{
message_die(GENERAL_MESSAGE, $lang['None_selected']);
}
$sql = "UPDATE " . TOPICS_TABLE . "
SET topic_status = " . TOPIC_LOCKED . "
WHERE topic_id = " . $topic_id . "
AND topic_moved_id = 0";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update topics table', '', __LINE__, __FILE__, $sql);
}
if ( !empty($topic_id) )
{
$redirect_page = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id");
$message = sprintf($lang['Click_return_topic'], '<a href="' . $redirect_page . '">', '</a>');
}
$message = $message . '<br \><br \>' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');
$template->assign_vars(array(
'META' => '<meta http-equiv="refresh" content="3;url=' . $redirect_page . '">')
);
message_die(GENERAL_MESSAGE, $lang['Topics_Locked'] . '<br /><br />' . $message);
}
else
{
message_die(GENERAL_MESSAGE, $lang['Not_Moderator'], $lang['Not_Authorised']);
}
//nur zur Sicherheit nochmal exit ;)
exit;
}
else
{
if ( !$is_auth['auth_mod'] )
{
message_die(GENERAL_MESSAGE, $lang['Not_Moderator'], $lang['Not_Authorised']);
}
}
Zuletzt geändert von Mister_X am 18.12.2002 17:08, insgesamt 3-mal geändert.
- Simpson
- Ehemaliges Teammitglied
- Beiträge: 1088
- Registriert: 20.05.2002 17:35
- Wohnort: Göttingen
- Kontaktdaten:
Danke vielmals, das ist perfekt - bau ich gleich morgen ein, habs mir schon mal auskopiert 

Da geht noch was!
Unread Post Information to Database Mod Version 3 mit vielen neuen Features!
Scrolling down automaticly Mod
Unread Post Information to Database Mod Version 3 mit vielen neuen Features!
Scrolling down automaticly Mod