Seite 2 von 2
Verfasst: 22.04.2005 10:34
von reinsle
Hy,
das ist ja super, sowas hab ich gesucht. Mein Problem ist jetzt, wie kann ich steuern, dass ein User beim Forum A immer editieren kann, beim Forum B nur 24 Std, beim Forum C nur 1 Std.
Habt ihr da bereits schon was?
Danke euch.
Verfasst: 22.04.2005 11:24
von Christian_W
Verschiedene Foren verschiedene Zeiten:
Code: Alles auswählen
----- öffne -----
posting.php
----- finde -----
$sql = "SELECT f.*, t.topic_id, t.topic_status, t.topic_type, t.topic_first_post_id, t.topic_last_post_id, t.topic_vote, p.post_id, p.poster_id" . $select_sql . "
----- finde in dieser Zeile -----
p.poster_id
----- füge danach ein -----
, p.post_time
----- finde -----
if ( $post_info['poster_id'] != $userdata['user_id'] && !$is_auth['auth_mod'] )
----- füge davor ein -----
switch($post_info[forum_id])
{
case 1: //Forum mit id 1
$delete_time = 86400; // 60*60*24=86400 - 60 Sekunden * 60 Minuten * 24 Stunden = Zeit in Sekunden
break;
case 3: //Forum mit id 3
$delete_time = 3600; // 60*60*1=86400 - 60 Sekunden * 60 Minuten * 1 Stunden = Zeit in Sekunden
break;
default: //Standard
$delete_time = 1209600; // 60*60*24*14=86400 - 60 Sekunden * 60 Minuten * 24 Stunden * 14 Tage = Zeit in Sekunden
break;
}
----- finde -----
if ( $post_info['poster_id'] != $userdata['user_id'] && !$is_auth['auth_mod'] )
{
$message = ( $delete || $mode == 'delete' ) ? $lang['Delete_own_posts'] : $lang['Edit_own_posts'];
$message .= '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
----- füge danach ein -----
// nur eine bestimmte Zeit editieren oder löschen
else if ( $post_info['post_time']+$delete_time <= time() && !$is_auth['auth_mod'] )
{
$message = ( $delete || $mode == 'delete' ) ? 'Beiträge können nur ' . $delete_time . ' Sekunden lang gelöscht werden.' : 'Beiträge können nur ' . $delete_time . ' Sekunden lang editiert werden.';
$message .= '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
Vorher ein Backup der Datei machen.
Gruß Christian
Verfasst: 22.04.2005 11:31
von reinsle
Hy
danke fuer deine Schnelle Antwort, aber ich bin grad am Nachdenken, wie ich das evtl. so einbauen kann, dass ich das bei den Einstellungen in den Foren selber schon mit angeben kann. So default 0, also keine Zeitliche beschränkung, und sonst angabe in Minuten oder so aehnlich.
Aber nochmals Danke
Verfasst: 23.04.2005 13:20
von reinsle
Hy,
ich hab mir jetzt folgendes Ueberlegt:
Ich erweiter die Tabelle phpbb_forums um ein Feld posts_edit_time, in dem die Zeit gespeichert wird, die man einen Beitrag editieren darf. Dazu gibts auch beim einstellen der Forenseinstellungen eine Feld. 0 bedeutet keine Einschraenkung.
So, dann wird in posting.php eben dieses Feld geprueft, ind je nach Berechtigung darf der User editieren/loeschen, oder es kommt eine Fehlermeldung.
Was meint ihr, ist das machbar??
Bekomme ich sowas hin?? <- blöde Frage *gg*
Verfasst: 23.04.2005 23:04
von Christian_W
reinsle hat geschrieben:Was meint ihr, ist das machbar??
Sicher.
reinsle hat geschrieben:Bekomme ich sowas hin?
Das werden wir ja dann sehen.
Für evtl. auftretenden Fragen wäre dann das das richtige Forum:
MOD - Entwicklung
Gruß Christian
Verfasst: 07.12.2005 09:37
von reinsle
Hy,
also ich hab jetzt einen Mod dafür erstellt.
Man hat jetzt in den Foreneinstellungen dir möglichkeit, eine EditTime zu hinterlegen. Beim Posten wird diese dann abgefragt, und entsprechenderweisse kommt dann eine Fehlermeldung. Hat noch jemand Interesse an diesem MOD??
Verfasst: 26.05.2007 23:32
von niknaim
Hi!
Habe meine posting.php genauso editiert wie beschrieben...aber bei mir können die registrierten User trotzdem die ganze Zeit editieren!
Habe das phpbb2...leigt das daran???