Beiträge unter x Zeichen ausblenden

In diesem moderierten Forum werden Code-Schnipsel, die zu klein sind, um richtige Mods zu sein, abgelegt.
Snippets können über unser Kontaktformular eingereicht werden (bitte als vollständiger, Copy&Paste fähiger Beitrag).
Bei Fragen oder Problemen benutze bitte das Forum [3.0.x] Mod Support.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Elsensee
Ehemaliges Teammitglied
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Beiträge unter x Zeichen ausblenden

Beitrag von Elsensee »

Unser diesjähriger Aprilscherz bestand natürlich nicht aus einem komplizierten Algorithmus, sondern wurde lediglich mit einer Zeichenbeschränkung und einigen Ausnahmeregeln davon erreicht. Dies haben wir durch das folgende Snippet umgesetzt:

Öffne: viewtopic.php

Finde:

Code: Alles auswählen

$now = phpbb_gmgetdate(time() + $user->timezone + $user->dst); 
Danach einfügen:

Code: Alles auswählen

// Get users in phpBB.de-Team group
if (!function_exists('group_memberships'))
{
    include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
}
$users_team = group_memberships(15182);

$team_users = array();
foreach ($users_team as $user_team)
{
    $team_users[$user_team['user_id']] = true;
} 
Die Zahl 15182 steht für die Gruppen-ID des phpBB.de-Teams. In diesem Schritt werden also die Mitglieder des phpBB.de-Teams ermittelt, um diese von der später stattfindenen Zeichenbeschränkung auszunehmen.

Finde:

Code: Alles auswählen

$rowset[$row['post_id']] = array( 
Davor einfügen:

Code: Alles auswählen

// APRIL15 - strip bbcode
$stripped_text = $row['post_text'];
strip_bbcode($stripped_text, $row['bbcode_uid']); 
Finde:

Code: Alles auswählen

'hide_post'            => ($row['foe'] && ($view != 'show' || $post_id != $row['post_id'])) ? true : false, 
Danach einfügen:

Code: Alles auswählen

'april15'            => (!$user->data['is_bot'] && $view != 'show' && utf8_strlen($stripped_text) < 500 && !isset($team_users[$row['user_id']])), 
Bots bekommen alle Nachrichten normal angezeigt; wenn &view=show in der URL übergeben wurde, werden alle Nachrichten normal angezeigt; sonst gilt: solange der Poster nicht im phpBB.de-Team ist, wird der Post bei weniger als 500 Zeichen ausgeblendet.

Finde:

Code: Alles auswählen

'S_IGNORE_POST'        => ($row['hide_post']) ? true : false,
'L_IGNORE_POST'        => ($row['hide_post']) ? sprintf($user->lang['POST_BY_FOE'], get_username_string('full', $poster_id, $row['username'], $row['user_colour'], $row['post_username']), '<a href="' . $viewtopic_url . "&p={$row['post_id']}&view=show#p{$row['post_id']}" . '">', '</a>') : '', 
Ersetze mit:

Code: Alles auswählen

'S_IGNORE_POST'        => ($row['hide_post'] || $row['april15']) ? true : false,
'L_IGNORE_POST'        => ($row['hide_post'] || $row['april15']) ? sprintf((($row['hide_post']) ? $user->lang['POST_BY_FOE'] : $user->lang['APRIL15']), get_username_string('full', $poster_id, $row['username'], $row['user_colour'], $row['post_username']), '<a href="' . $viewtopic_url . "&p={$row['post_id']}&view=show#p{$row['post_id']}" . '">', '</a>') : '', 
Wir wollten nicht ganz den Text "Dieser Beitrag wird ausgeblendet, weil er von einem Mitglied geschrieben wurde, das du ignoriert hast." haben, darum haben wir unseren eigenen unter dem Key APRIL15 in die nächstbeste Sprachdatei hinzugefügt:

Code: Alles auswählen

'APRIL15'            => 'Dieser Beitrag von <strong>%1$s</strong> wurde von uns als nicht lesenswert eingestuft und wird daher ausgeblendet. %2$sDiesen Beitrag dennoch anzeigen%3$s.', 
Ihr solltet möglicherweise einiges modifizieren, wenn ihr dieses Snippet bei euch einbauen wollt. :wink:
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)
Antworten

Zurück zu „[3.0.x] Snippets“