Seite 36 von 72
Verfasst: 11.09.2008 22:12
von Tom21
HILFE!! Hab das selbe Problem!? Es wird nur der Topic-Titel von einem Unterforum angezeigt.... aber an den Berechtigungen kanns nicht liegen (bin ja Administrator)
EDIT: AHA hab gerade festgestellt das erst Beiträge die NACH der MOD-Installation erstellt oder beantwortet werden, angezeigt werden... Hat sich also erledigt - war wohl etwas übernervös
vielen vielen dank für die MOD - is echt genial!
Einen Schönheitsfehler hab ich aber noch... hab die MOD versehentlich zwei mal installiert.. hab jetzt im ACP zwei mal Konfiguration drin -> hat jemand eine Idee wie ich das wieder reduzieren kann? Vielen Dank im voraus
Verfasst: 11.09.2008 22:46
von kazwo
Einfach löschen
ACP -> System -> Modul-Konfiguration -> Administrationsbereich
Verfasst: 16.09.2008 15:50
von bauplan
Hi
Supa Mod
Bloß, ich habe das Mod mal installiert, das install_altt/install.php ausgeführt und es läuft soweit. Leider nur die letzten Beiträge aber wenn ich es im ACP auf Thema statt Beiträge stelle, sehe ich nichts - auch nach einem neuen Posting nicht...
Was da los?

Verfasst: 16.09.2008 16:21
von nickvergessen
Hast du alle Änderungen an der includes/functions_display.php mal kontrolliert?
Verfasst: 16.09.2008 17:33
von bauplan
Ich schau mal...
Code: Alles auswählen
$forum_id = $row['forum_id'];
//for NV ALTT
$row['nv_permission_forum_id'] = $row['forum_id'];
// Mark forums read?
(...)
$forum_rows[$parent_id]['forum_id_last_post'] = $row['forum_id'];
//for NV ALTT
$forum_rows[$parent_id]['topic_title'] = $row['topic_title'];
$forum_rows[$parent_id]['topic_id'] = $row['topic_id'];
$forum_rows[$parent_id]['nv_permission_forum_id'] = $row['forum_id'];
$forum_rows[$parent_id]['forum_password'] = $row['forum_password'];
///NV ALTT
$forum_rows[$parent_id]['orig_forum_last_post_time'] = $row['forum_last_post_time'];
(...)
//for NV ALTT
if ($config['altt_active'] && (!$row['forum_password'] || $config['altt_ignore_password']) && ($auth->acl_get('f_read', $row['nv_permission_forum_id']) || $config['altt_ignore_rights']))
{
$altt_link_name = ($config['altt_link_name']) ? $row['topic_title'] : $row['forum_last_post_subject'];
$altt_link_name_short = (utf8_strlen($altt_link_name) > $config['altt_char_limit'] + 3 )? (utf8_substr($altt_link_name, 0, $config['altt_char_limit']) . '...') : ($altt_link_name);
$altt_style_bold = $config['altt_style_bold'];
$altt_style_italic = $config['altt_style_italic'];
$altt_style_adv = $config['altt_style_adv'];
$altt_style_adv2 = $config['altt_style_adv2'];
switch ($config['altt_link_url'])
{
case 1:
$altt_link_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id_last_post'] . '&t=' . $row['topic_id']);
break;
case 2:
$altt_link_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id_last_post'] . '&t=' . $row['topic_id'] . '&view=unread') . '#unread';
break;
default:
$altt_link_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id_last_post'] . '&p=' . $row['forum_last_post_id']) . '#p' . $row['forum_last_post_id'];
break;
}
}
else
{
$altt_link_name_short = $altt_link_name = $altt_style_bold = $altt_style_italic = $altt_style_adv = $altt_style_adv2 = $altt_link_url = '';
}
///NV ALTT
$last_post_time = $user->format_date($row['forum_last_post_time']);
(...)
else
{
$last_post_subject = $last_post_time = $last_post_url = '';
//for NV ALTT
$altt_link_name_short = $altt_link_name = $altt_style_bold = $altt_style_italic = $altt_style_adv = $altt_style_adv2 = $altt_link_url = '';
}
(...)
//for NV ALTT
'ALTT_LINK_NAME_SHORT' => str_replace('Re: ', '', censor_text($altt_link_name_short)),
'ALTT_LINK_NAME' => str_replace('Re: ', '', censor_text($altt_link_name)),
'ALTT_STYLE_BOLD' => $altt_style_bold,
'ALTT_STYLE_ITALIC' => $altt_style_italic,
'ALTT_STYLE_ADV' => $altt_style_adv,
'ALTT_STYLE_ADV2' => $altt_style_adv2,
'U_ALTT_LINK' => $altt_link_url,
///NV ALTT
Das sollten alle sein die ich gemacht habe...
Verfasst: 16.09.2008 20:01
von nickvergessen
Genau, du hast die erste Änderung nicht gemacht:
finde:
danach einfügen:
Code: Alles auswählen
$sql_array['LEFT_JOIN'][] = array(//for NV ALTT
'FROM' => array(TOPICS_TABLE => 't'),
'ON' => "f.forum_last_post_id = t.topic_last_post_id AND t.topic_moved_id = 0"
);
$sql_array['SELECT'] .= ', t.topic_title, t.topic_id, t.topic_last_post_id';
Verfasst: 16.09.2008 20:10
von bauplan
oops, doch das hatte ich drinn. Habs nur beim durchsuchen der fuctions_display.php nach "NV ALTT" nich gefunden (weil der Editor abwärts sucht).
Also die Stelle sieht hier so aus:
Code: Alles auswählen
if ($show_active)
{
$sql_array['LEFT_JOIN'][] = array(
'FROM' => array(FORUMS_ACCESS_TABLE => 'fa'),
'ON' => "fa.forum_id = f.forum_id AND fa.session_id = '" . $db->sql_escape($user->session_id) . "'"
);
$sql_array['SELECT'] .= ', fa.user_id';
$sql_array['LEFT_JOIN'][] = array(//for NV ALTT
'FROM' => array(TOPICS_TABLE => 't'),
'ON' => "f.forum_last_post_id = t.topic_last_post_id AND t.topic_moved_id = 0"
);
$sql_array['SELECT'] .= ', t.topic_title, t.topic_id, t.topic_last_post_id';
}
Verfasst: 16.09.2008 20:12
von nickvergessen
Der einzufügende Code muss hinter die geschweifte Klammer und nicht rein!
Verfasst: 17.09.2008 11:35
von bauplan
Oh okay, danke jetzt klappts
Edit:
Hab noch ein kleines Problem gefunden: Wenn in dem Threadtitel HTMLentities drinn waren, und genau an einem solchen Zeichen gekürtz wird, wird aus dem & ein & und das halbe Zeichen wird dagestellt.
Also beispielsweise, wenn ein Thread
Der "e;Tolle Thread"e; heisst, zählt utf8_strlen natürlich jedes zeichen aus "e; mit. Wenn man nu Pech hat, wird das letze quote zerschnitten und steht als &quo da. Das kennt der Parser natürlich nicht und stellt es als &quo da, so dass in der Anzeige dann
Der "Tolle Thread&quo... erscheint.
Ich hab das mal mit html_entity_decode in dieser Zeile gelöst:
Code: Alles auswählen
$altt_link_name_short = (utf8_strlen($altt_link_name) > $config['altt_char_limit'] + 3 )? (utf8_substr(html_entity_decode($altt_link_name), 0, $config['altt_char_limit']) . '...') : ($altt_link_name);
Weiss aber nich ob das gut is. Also es funktioniert jedenfalls...
Verfasst: 17.09.2008 13:04
von nickvergessen
Ich habs für die nächste Version mal im Stile von phpBB3 korrigiert.
includes/functions.php
finde:
Code: Alles auswählen
$altt_link_name_short = (utf8_strlen($altt_link_name) > $config['altt_char_limit'] + 3 )? (utf8_substr($altt_link_name, 0, $config['altt_char_limit']) . '...') : ($altt_link_name);
ersetze mit:
Code: Alles auswählen
$altt_link_name_short = (utf8_strlen(htmlspecialchars_decode($altt_link_name)) > $config['altt_char_limit'] + 3 )? (utf8_substr(htmlspecialchars_decode($altt_link_name), 0, $config['altt_char_limit']) . '...') : ($altt_link_name);