Seite 1 von 1
Beitragsbearbeitungszeit für ein Forum aushebeln
Verfasst: 23.05.2013 09:01
von Maugrim
Hallo!
Ich habe in meinem Forum eingestellt, dass die Mitglieder ihre Beiträge nur 3 Stunden bearbeiten dürfen
allerdings habe ich ein Forum, in welchem ich gerne uneingeschränkt zulassen würde, dass die User ihre Beiträge bearbeiten dürfen.
Ich denke am ehesten komme ich da hin, wenn ich in der posting.php folgende Zeile einfach aushebel oder?
Code: Alles auswählen
if (!($post_data['post_time'] > time() - ($config['edit_time'] * 60) || !$config['edit_time']))
{
trigger_error('CANNOT_EDIT_TIME');
}
Da müsste man vorher noch abfragen, ob man in Forum Nr 14 bearbeiten will oder nicht
reicht das?
Und wie könnte ich das bewerkstelligen? Meine php-Kenntnisse halten sich leider in Grenzen
Code: Alles auswählen
$edit_allowed = ($user->data['is_registered'] && ($auth->acl_get('m_edit', $forum_id) || (
$user->data['user_id'] == $poster_id &&
$auth->acl_get('f_edit', $forum_id) &&
!$row['post_edit_locked'] &&
($row['post_time'] > time() - ($config['edit_time'] * 60) || !$config['edit_time'])
)));
Analog müsste dann dieser Teil aus der viewtopic.php auch geändert werden, damit das icon angezeigt wird
Re: Beitragsbearbeitungszeit für ein Forum aushebeln
Verfasst: 23.05.2013 13:31
von HabNurNeFrage
Hi,
ich glaube, die beiden Stellen müssten ausreichen.
Kannst Du ja ausprobieren, ob es schon reicht, wenn Du Folgendes machst:
1) Deinen Fund in
posting.php ersetzen mit:
Code: Alles auswählen
// Foren von Editzeitbeschränkung ausschließen (Edit Warnung für bestimmte Foren deaktivieren)
$erlaubte_foren = array(24, 38, 71); // hier in den Klammern alle Foren IDs, die Du von der Zeitbeschränkung ausschließen willst
if (!in_array($forum_id, $erlaubte_foren))
{
if (!($post_data['post_time'] > time() - ($config['edit_time'] * 60) || !$config['edit_time']))
{
trigger_error('CANNOT_EDIT_TIME');
}
}
// Foren von Editzeitbeschränkung ausschließen (Edit Warnung für bestimmte Foren deaktivieren)
2) Deinen Fund in
viewtopic.php ersetzen mit:
Code: Alles auswählen
// bestimmte Foren von Editzeitbeschränkung ausschließen
$erlaubte_foren = array(24, 38, 71); // hier in den Klammern alle Foren IDs, die Du von der Edit-Beschränkung ausschließen willst
if (!in_array($forum_id, $erlaubte_foren))
{
$edit_allowed = ($user->data['is_registered'] && ($auth->acl_get('m_edit', $forum_id) || (
$user->data['user_id'] == $poster_id &&
$auth->acl_get('f_edit', $forum_id) &&
!$row['post_edit_locked'] &&
($row['post_time'] > time() - ($config['edit_time'] * 60) || !$config['edit_time'])
)));
}
if (in_array($forum_id, $erlaubte_foren))
{
$edit_allowed = ($user->data['is_registered'] && ($auth->acl_get('m_edit', $forum_id) || (
$user->data['user_id'] == $poster_id &&
$auth->acl_get('f_edit', $forum_id) &&
!$row['post_edit_locked']
)));
}
// bestimmte Foren von Editzeitbeschränkung ausschließen
LG
Re: Beitragsbearbeitungszeit für ein Forum aushebeln
Verfasst: 24.05.2013 16:10
von Maugrim
Habs mal eingebaut

Wenns Probleme gibt, meld ich mich ^^
lieben Dank

Re: Beitragsbearbeitungszeit für ein Forum aushebeln
Verfasst: 26.04.2015 02:32
von redbull254
Hallo erstmal,
ich benötige auch die Möglichkeit, bestimmten Foren eine abweichende Bearbeitungszeit zuzuordnen. Wie kann ich nun für ein bestimmtes Forum vierundzwanzig (24) Stunden einstellen?
Re: Beitragsbearbeitungszeit für ein Forum aushebeln
Verfasst: 04.05.2015 23:46
von gn#36
In der Variablen $config['edit_time'] steht die Zeit in Sekunden. Du kannst vor
beide oben genannten Stellen ohne dass du obige Änderung benötigst oder beeinflusst einfach folgendes einfügen:
Code: Alles auswählen
if(in_array($forum_id, array(1,2,3)))
{
$config['edit_time'] = 84600; // 24*60*60 Sekunden
}
1,2,3 sind die IDs der Foren die du auf 24 Stunden setzen willst.
Falls du nur ein Forum ändern willst, dann kannst du auch
if($forum_id == 1)
statt der obigen if Zeile verwenden. Wenn du eine andere Zeit in Sekunden einsetzt kannst du beliebige Zeiten einsetzen. Wenn du mehrere Foren mit verschiedenen Zeiten ausstatten willst kannst du auch mehrere von diesen Abfragen hintereinander hängen (am besten aber dann die folgenden
if
durch
elseif
ersetzen, für die Übersichtlichkeit macht es ab einer gewissen Menge auch Sinn, eine Switch Anweisung zu verwenden statt if/elseif).
Re: Beitragsbearbeitungszeit für ein Forum aushebeln
Verfasst: 05.05.2015 02:54
von redbull254
Hallo gn#36,
vielen Dank für die ausführliche Erklärung.
