Der Fehler tritt auch nur auf, wenn man beim Vergleichen von verschiedenen Artikel-Versionen das entsprechende Formular ohne 2 Artikel-Stände gewählt zu haben, absendet.
Diverse Fehler in der phpBB Knowledge Base MOD v1.0.2
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.
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.
- WileCoyote
- Mitglied
- Beiträge: 901
- Registriert: 13.07.2011 07:38
- Wohnort: Österreich
Re: Diverse Fehler in der phpBB Knowledge Base MOD v1.0.2
Weder noch. Das Log wird bei aktivem Debug-Mode von dieser MOD Debug Errors and Notices generiert. Sehr hilfreich zum Debuggen 
Der Fehler tritt auch nur auf, wenn man beim Vergleichen von verschiedenen Artikel-Versionen das entsprechende Formular ohne 2 Artikel-Stände gewählt zu haben, absendet.
Der Fehler tritt auch nur auf, wenn man beim Vergleichen von verschiedenen Artikel-Versionen das entsprechende Formular ohne 2 Artikel-Stände gewählt zu haben, absendet.
Gruß WileCoyote
Re: Diverse Fehler in der phpBB Knowledge Base MOD v1.0.2
Danke für den Hinweis, das werde ich doch glatt mal einbauen. Mal schauen, was da alles bei mir falsch läuft...WileCoyote hat geschrieben:Das Log wird bei aktivem Debug-Mode von dieser MOD Debug Errors and Notices generiert.
- WileCoyote
- Mitglied
- Beiträge: 901
- Registriert: 13.07.2011 07:38
- Wohnort: Österreich
Re: Diverse Fehler in der phpBB Knowledge Base MOD v1.0.2
Bedenke aber, dass der laufende Debug-Mode zu Perfomance-Verlusten führen kann. Speziell deswegen, weil es mit ein paar Stunden debuggen meistens nicht getan ist. Erfahrungsgemäß, sollte man den Debug-Mode ein paar Tagen laufen haben.
Gruß WileCoyote
Re: Diverse Fehler in der phpBB Knowledge Base MOD v1.0.2
Lokal habe ich mir die Debug-MOD mal installiert und prompt tauchen bei mir auch zwei Fehler an drei Stellen in der Versionsgeschichte der KB auf:WileCoyote hat geschrieben:ch habe eben im Debug Log gesehen, dass auch die History Funktion Probleme macht.Und zwar in der includes/kb.php in den Zeilen:
4205, 4206 & 4220: Undefined offset: -1
4225: Undefined index: no_diff
- Datei: [ROOT]/includes/kb.php
Zeile: 4209 Undefined offset: -1 - Datei: [ROOT]/includes/kb.php
Zeile: 4203 in_array() expects parameter 2 to be array, null given - Datei: [ROOT]/includes/kb.php
Zeile: 4203 Undefined offset: -1
'S_CAN_DIFF_T' => (in_array(EDIT_TYPE_CONTENT, $rowset[count($rowset) - 1]['edit_type'])) ? true : false,'U_VIEW_REV' => append_sid("{$phpbb_root_path}kb.$phpEx", 'i=history&e=' . $rowset[count($rowset) - 1]['edit_id']),Wenn ich's mir so anschaue, könnte es daran liegen, daß es keine echte Historie des Artikels gab, sondern nur eine Version.
Sind mehrere Versionen vorhanden, erscheinen diese Fehlermeldungen:
- Datei: [ROOT]/includes/kb.php
Zeile: 4252 Undefined offset: -1 - Datei: [ROOT]/includes/kb.php
Zeile: 4238 Undefined offset: -1 - Datei: [ROOT]/includes/kb.php
Zeile: 4237 Undefined offset: -1
'S_CAN_DIFF_F' => ($can_diff_from && (!$rowset[$parent_id - 1]['nodiff'] || ($diff_from_old && $num == $total_edits))) ? true : false,4238:
'S_CAN_DIFF_T' => ($rowset[$parent_id - 1]['nodiff'] || $num == $total_edits) ? false : true,4252:
if($rowset[$parent_id - 1]['nodiff'] && $can_diff_from)Wenn ich die
- 1 hinter parent_id entferne, gibt es diese Fehlermeldungen nicht mehr. Fehlfunktionen konnte ich da jetzt auch nicht auf die Schnelle feststellen. Was passiert bei dir, wenn du die - 1 entfernst?Hier sollte es stattWileCoyote hat geschrieben:4225: Undefined index: no_diff
Code: Alles auswählen
if(!$edit['no_diff'])
{
$can_diff_from = true;
}Code: Alles auswählen
if(!$edit['nodiff'])
{
$can_diff_from = true;
}- WileCoyote
- Mitglied
- Beiträge: 901
- Registriert: 13.07.2011 07:38
- Wohnort: Österreich
Re: Diverse Fehler in der phpBB Knowledge Base MOD v1.0.2
Das ist klar, dass der Fehler dann weg ist. Das Problem in dem Fall ist, dass wenn nichts zum Vergleichen da ist bzw nichts gewählt wird der Wert 0 ist und 0-1 geht halt nicht ^^modernist hat geschrieben:Wenn ich die - 1 hinter parent_id entferne, gibt es diese Fehlermeldungen nicht mehr. Fehlfunktionen konnte ich da jetzt auch nicht auf die Schnelle feststellen. Was passiert bei dir, wenn du die - 1 entfernst?
Gruß WileCoyote
- WileCoyote
- Mitglied
- Beiträge: 901
- Registriert: 13.07.2011 07:38
- Wohnort: Österreich
Re: Diverse Fehler in der phpBB Knowledge Base MOD v1.0.2
Ich habe weitere Fehler in der Datei
Zeile 2421: undefined variable: sql_where
Zeile 2422: undefined variable: sql_order
Zeile 2442: undefined variable: title
Wenn ich mich nicht irre, liegt es an einem falsch gesetztem "}" in Zeile 2415. Das "}" sollte ans Ende der "function".
functions_kb.php in der Funktion function feed_output($feed, $feed_type, $feed_data = false) entdeckt.Zeile 2421: undefined variable: sql_where
Zeile 2422: undefined variable: sql_order
Zeile 2442: undefined variable: title
Wenn ich mich nicht irre, liegt es an einem falsch gesetztem "}" in Zeile 2415. Das "}" sollte ans Ende der "function".
Gruß WileCoyote
Re: Diverse Fehler in der phpBB Knowledge Base MOD v1.0.2
In der praktischen Anwendung habe ich den ganzen Feed auskommentiert, deshalb macht sich da auch kein Fehler bei mir bemerkbar...
In der Originaldatei ist die function feed_output aber doch durch eine abschliessende Klammer in Zeile 2465 geschlossen. Bei mir sieht die Funktion im Original so aus:
In Zeile 2415 wird die { von switch ($feed_type) geschlossen.
$sql_where, $sql_order und $title werden im Switch definiert. Ist dann nur die Frage, ob es Abfragen geben kann, die nicht vom Switch abgedeckt sind.
In der Originaldatei ist die function feed_output aber doch durch eine abschliessende Klammer in Zeile 2465 geschlossen. Bei mir sieht die Funktion im Original so aus:
Code: Alles auswählen
function feed_output($feed, $feed_type, $feed_data = false)
{
global $template, $phpbb_root_path, $phpEx, $config, $db, $user;
switch ($feed_type)
{
case 'latest':
$title = $user->lang['KB_LATEST'];
$sql_where = 'a.article_status = ' . STATUS_APPROVED;
$sql_order = 'a.article_time DESC';
break;
case 'user':
$title = $feed_data['USERNAME'] . ' ' . $user->lang['ARTICLE'];
$sql_where = 'a.article_user_id = ' . $feed_data['USER_ID'] . ' AND a.article_status = ' . STATUS_APPROVED;
$sql_order = 'a.article_time DESC';
break;
case 'cat':
$title = $user->lang['KB_SORT_CAT'] . ' - ' . $feed_data['CAT_NAME'] . ' ' . $user->lang['ARTICLE'];
$sql_where = 'a.cat_id = ' . $feed_data['CAT_ID'] . ' AND a.article_status = ' . STATUS_APPROVED;
$sql_order = 'a.article_time DESC';
break;
case 'popular':
$title = $user->lang['POPULAR_ART'];
$sql_where = 'a.article_status = ' . STATUS_APPROVED;
$sql_order = 'a.article_views DESC';
break;
}
$sql = $db->sql_build_query('SELECT', array(
'SELECT' => 'a.article_id, a.article_title, a.article_desc, a.article_desc_uid, a.article_user_name, a.article_time',
'FROM' => array(
KB_TABLE => 'a'),
'WHERE' => "$sql_where",
'ORDER_BY' => "$sql_order",
));
$result = $db->sql_query_limit($sql, 10);
while ($row = $db->sql_fetchrow($result))
{
strip_bbcode($row['article_desc'], $row['article_desc_uid']);
$template->assign_block_vars('item', array(
'TITLE' => $row['article_title'],
'URL' => generate_board_url() . '/kb.' . $phpEx . '?a=' . $row['article_id'],
'USERNAME' => $row['article_user_name'],
'MESSAGE' => str_replace("'", ''', $row['article_desc']),
'PUB_DATE' => date('r', $row['article_time']),
'DATE_3339' => ($feed_type == 'ATOM') ? date3339($row['article_time']) : '',
));
}
$db->sql_freeresult($result);
$template->assign_vars(array(
'FEED' => $feed,
'SELF_FULL_URL' => generate_board_url() . '/kb.' . $phpEx . '?i=feed&feed=' . $feed . '&feed_type=' . $feed_type,
'TITLE' => $config['sitename'] . ' ' . $title . ' ' . $user->lang['FEED'],
'SITE_URL' => generate_board_url() . '/kb.' . $phpEx,
'SITE_DESC' => $config['site_desc'],
'SITE_LANG' => $config['default_lang'],
'CURRENT_TIME' => ($feed_type == 'ATOM') ? date3339() : date('r'),
));
// Output time
header('Content-type: application/xml; charset=UTF-8');
header('Cache-Control: private, no-cache="set-cookie"');
header('Expires: 0');
header('Pragma: no-cache');
$template->set_template();
$template->set_filenames(array(
'body' => 'kb/kb_feed.xml'
));
$template->display('body');
garbage_collection();
exit_handler();
}
$sql_where, $sql_order und $title werden im Switch definiert. Ist dann nur die Frage, ob es Abfragen geben kann, die nicht vom Switch abgedeckt sind.
- WileCoyote
- Mitglied
- Beiträge: 901
- Registriert: 13.07.2011 07:38
- Wohnort: Österreich
Re: Diverse Fehler in der phpBB Knowledge Base MOD v1.0.2
Wenn ich das richtige verstehe greift
auf die variablen aus dem switch zurück, also sollte das auch innerhalb des switches sein.
Code: Alles auswählen
$sql = $db->sql_build_query('SELECT', array(
'SELECT' => 'a.article_id, a.article_title, a.article_desc, a.article_desc_uid, a.article_user_name, a.article_time',
'FROM' => array(
KB_TABLE => 'a'),
'WHERE' => "$sql_where",
'ORDER_BY' => "$sql_order",
));
$result = $db->sql_query_limit($sql, 10);
while ($row = $db->sql_fetchrow($result))
{
strip_bbcode($row['article_desc'], $row['article_desc_uid']);
$template->assign_block_vars('item', array(
'TITLE' => $row['article_title'],
'URL' => generate_board_url() . '/kb.' . $phpEx . '?a=' . $row['article_id'],
'USERNAME' => $row['article_user_name'],
'MESSAGE' => str_replace("'", ''', $row['article_desc']),
'PUB_DATE' => date('r', $row['article_time']),
'DATE_3339' => ($feed_type == 'ATOM') ? date3339($row['article_time']) : '',
));
}Gruß WileCoyote