Problem nach Update von 2.0.18 auf 2.0.19

Eine Neuinstallation von phpBB 2.0 wird auf phpBB.de nicht mehr unterstützt.
Siehe auch Entwicklungs-Ende von phpBB 2.0 - Auswirkungen auf phpBB.de
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.

Eine Neuinstallation von phpBB 2.0 wird auf phpBB.de nicht mehr unterstützt.
Siehe auch Entwicklungs-Ende von phpBB 2.0 - Auswirkungen auf phpBB.de
Gesperrt
Tupamaro
Mitglied
Beiträge: 67
Registriert: 23.03.2005 12:56

Problem nach Update von 2.0.18 auf 2.0.19

Beitrag von Tupamaro »

Hallo ihr,
habe vorhin angefangen mein Forum Schritt für Schritt auf die Version 2.0.22 upzudaten. Anfangs lief alles ganz gut nur beim Update von 2.0.18 auf 2.0.19 fing plötzlich mein Admin-Panel an zu spinnen.

Wenn ich jetzt in den Admin-Bereich gehe dann ist meine Kontroll-Leiste (im linken Frame) ein paar Bildschirmseiten weit unten und der Bereich darüber ist mit folgendem Geschreibsel gefüllt:
'Users']['Account_inactive'] = $file .'?action=inactive'; $module['Users']['Account_active'] = $file .'?action=active'; return; } $phpbb_root_path = "./../"; require($phpbb_root_path . 'extension.inc'); require('./pagestart.' . $phpEx); if( !function_exists('period') ) { function period($date) // borrowed from birthday mod { global $lang; $years = floor($date/31536000); $date = $date - ($years*31536000); $weeks = floor($date/604800); $date = $date - ($weeks*604800); $days = floor($date/86400); $date = $date - ($days*86400); $hours = floor($date/3600); $result = (( $years ) ? $years .' '. (( $years == '1' ) ? $lang['Account_year'] : $lang['Account_years']) .', ' : ''). (( $years || $weeks ) ? $weeks .' '. (( $weeks == '1' ) ? $lang['Account_week'] : $lang['Account_weeks']) .', ' : ''). (( $years || $weeks || $days ) ? $days .' '. (( $days == '1' ) ? $lang['Account_day'] : $lang['Account_days']) .', ' : '') . (( $years || $weeks || $days || $hours ) ? $hours .' '. (( $hours == '1' ) ? $lang['Account_hour'] : $lang['Account_hours']) : ''); return $result; } } $submit_wait = ( isset($HTTP_POST_VARS['submit_wait']) ) ? TRUE : 0; $confirm = ( isset($HTTP_POST_VARS['confirm']) ) ? TRUE : 0; $delete = ( isset($HTTP_POST_VARS['delete']) ) ? TRUE : 0; $activate = ( isset($HTTP_POST_VARS['activate']) ) ? TRUE : 0; $mark_list = ( !empty($HTTP_POST_VARS['mark']) ) ? $HTTP_POST_VARS['mark'] : 0; if( isset($HTTP_POST_VARS['letter']) ) { $by_letter = ( $HTTP_POST_VARS['letter'] ) ? $HTTP_POST_VARS['letter'] : 'all'; } else if( isset($HTTP_GET_VARS['letter']) ) { $by_letter = ( $HTTP_GET_VARS['letter'] ) ? $HTTP_GET_VARS['letter'] : 'all'; } if( isset($HTTP_POST_VARS['action']) || isset($HTTP_GET_VARS['action']) ) { $action = ( isset($HTTP_POST_VARS['action']) ) ? $HTTP_POST_VARS['action'] : $HTTP_GET_VARS['action']; if( $action != 'inactive' && $action != 'active' ) { $action = 'inactive'; } } else { $action = 'inactive'; } if( !empty($HTTP_POST_VARS['mode']) || !empty($HTTP_GET_VARS['mode']) ) { $mode = ( !empty($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode']; } else { $mode = ''; } $start = ( !empty($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0; if( isset($HTTP_POST_VARS[POST_USERS_URL]) || isset($HTTP_GET_VARS[POST_USERS_URL]) ) { $user_id = ( isset($HTTP_POST_VARS[POST_USERS_URL]) ) ? intval($HTTP_POST_VARS[POST_USERS_URL]) : intval($HTTP_GET_VARS[POST_USERS_URL]); } else { $user_id = ''; } if( (($delete && $confirm) || $activate) && $mark_list ) { if( count($mark_list) ) { $email_id = ''; for( $i = 0; $i < count($mark_list); $i++ ) { $email_id .= (($email_id != '') ? ', ' : '') . intval($mark_list[$i]); } $sql_mail = "SELECT username, user_email, user_lang, user_active FROM ". USERS_TABLE ." WHERE user_id IN ($email_id)"; if( !($result_mail = $db->sql_query($sql_mail)) ) { message_die(GENERAL_ERROR, 'could not get mail addresses', '', __LINE__, __FILE__, $sql_mail); } while( $mail = $db->sql_fetchrow($result_mail) ) { if( $delete ) { $subject = $lang['Account_deleted']; $text = $lang['Account_deleted_text']; } else if( $activate ) { $subject = ( $mail['user_active'] == '0' ) ? $lang['Account_activated'] : $lang['Account_deactivated']; $text = ( $mail['user_active'] == '0' ) ? $lang['Account_activated_text'] : $lang['Account_deactivated_text']; } include_once($phpbb_root_path .'includes/emailer.'.$phpEx); $emailer = new emailer($board_config['smtp_delivery']); $emailer->from($board_config['board_email']); $emailer->replyto($board_config['board_email']); $emailer->use_template('admin_account_action', stripslashes($mail['user_lang'])); $emailer->email_address($mail['user_email']); $emailer->set_subject($subject); $emailer->assign_vars(array( 'SUBJECT' => $subject, 'TEXT' => sprintf($text, $board_config['sitename']), 'USERNAME' => $mail['username'], 'EMAIL_SIG' => ( !empty($board_config['board_email_sig']) ) ? str_replace('
', "\n", "-- \n" . $board_config['board_email_sig']) : '', )); $emailer->send(); $emailer->reset(); } $db->sql_freeresult($result_mail); } } if( $delete && $mark_list ) { if( isset($mark_list) && !is_array($mark_list) ) { $mark_list = array(); } if( !$confirm ) { $s_hidden_fields = ''; $s_hidden_fields .= ''; for( $i = 0; $i < count($mark_list); $i++ ) { $s_hidden_fields .= ''; } $template->set_filenames(array( 'confirm_body' => 'confirm_body.tpl') ); $template->assign_vars(array( 'MESSAGE_TITLE' => $lang['Information'], 'MESSAGE_TEXT' => ( count($mark_list) == '1' ) ? $lang['Account_delete_user'] : $lang['Account_delete_users'], 'L_YES' => $lang['Yes'], 'L_NO' => $lang['No'], 'S_CONFIRM_ACTION' => append_sid("admin_account.$phpEx?action=$action"), 'S_HIDDEN_FIELDS' => $s_hidden_fields, )); $template->pparse('confirm_body'); include('./page_footer_admin.'.$phpEx); } else if( $confirm ) { if( count($mark_list) ) { $delete_id = ''; for( $i = 0; $i < sizeof($mark_list); $i++ ) { $delete_id .= (($delete_id != '') ? ', ' : '') . intval($mark_list[$i]); } $delete_u_sql = "DELETE FROM ". USERS_TABLE ." WHERE user_id IN ($delete_id) AND user_id <> ". ANONYMOUS ." AND "; switch( $action ) { case 'inactive': $delete_u_sql .= "user_active = '0'"; break; case 'active': $delete_u_sql .= "user_active = '1'"; break; } if( !$db->sql_query($delete_u_sql, BEGIN_TRANSACTION) ) { message_die(GENERAL_ERROR, 'could not delete users.', '', __LINE__, __FILE__, $delete_u_sql); } $delete_ug_sql = "DELETE FROM ". USER_GROUP_TABLE ." WHERE user_id IN ($delete_id) AND user_id <> ". ANONYMOUS; if ( !$db->sql_query($delete_ug_sql, END_TRANSACTION) ) { message_die(GENERAL_ERROR, 'could not delete user groups.', '', __LINE__, __FILE__, $delete_ug_sql); } $select_g_sql = "SELECT g.group_id FROM ". GROUPS_TABLE ." g LEFT JOIN ". USER_GROUP_TABLE ." ug ON g.group_id = ug.group_id WHERE group_single_user = 1 AND ug.group_id IS NULL"; if( !($result = $db->sql_query($select_g_sql)) ) { message_die(GENERAL_ERROR, 'could not obtain group information.', '', __LINE__, __FILE__, $select_g_sql); } while( $group = $db->sql_fetchrow($result) ) { $delete_g_sql = "DELETE FROM ". GROUPS_TABLE ." WHERE group_id = '". $group['group_id'] ."'"; if( !($db->sql_query($delete_g_sql)) ) { message_die(GENERAL_ERROR, 'could not delete group.', '', __LINE__, __FILE__, $delete_g_sql); } } $db->sql_freeresult($result); $template->assign_vars(array('MESSAGE' => (( count($mark_list) == '1' ) ? $lang['Account_user_deleted'] : $lang['Account_users_deleted']).' '. $lang['Account_notification'])); $template->assign_block_vars("switch_message", array() ); } } } else if( $activate && $mark_list ) { if( sizeof($mark_list) ) { $activate_id = ''; for ($i = 0; $i < sizeof($mark_list); $i++) { $activate_id .= (($activate_id != '') ? ', ' : '') . intval($mark_list[$i]); } $activate_sql = "UPDATE ". USERS_TABLE; switch( $action ) { case 'inactive': $activate_sql .= " SET user_active = '1' WHERE user_active = '0'"; break; case 'active': $activate_sql .= " SET user_active = '0' WHERE user_active = '1'"; break; } $activate_sql .= " AND user_id IN ($activate_id)"; if( !$db->sql_query($activate_sql) ) { message_die(GENERAL_ERROR, 'could not activate users.', '', __LINE__, __FILE__, $activate_sql); } $template->assign_vars(array('MESSAGE' => (( count($mark_list) == '1' ) ? (( $action == 'active' ) ? $lang['Account_user_deactivated'] : $lang['Account_user_activated']) : (( $action == 'active' ) ? $lang['Account_users_deactivated'] : $lang['Account_users_activated'])).' '. $lang['Account_notification'])); $template->assign_block_vars("switch_message", array() ); } } // // Output // $template->set_filenames(array('body' => 'admin/admin_account_body.tpl')); $others_sql = ''; $select_letter = ''; for( $i = 97; $i <= 122; $i++ ) { $others_sql .= " AND username NOT LIKE '" . chr($i) . "%' "; $select_letter .= ( $by_letter == chr($i) ) ? strtoupper(chr($i)) .' ' : ''. strtoupper(chr($i)) .' '; } $select_letter .= ( $by_letter == 'others' ) ? $lang['Account_others'] .' ' : ''. $lang['Account_others'] .' '; $select_letter .= ( $by_letter == 'all' ) ? $lang['Account_all'] : ''. $lang['Account_all'] .''; if( $by_letter == 'all' ) { $letter_sql = ''; } else if( $by_letter == 'others' ) { $letter_sql = $others_sql; } else { $letter_sql = " AND username LIKE '$by_letter%' "; } $sql_count = "SELECT COUNT(user_id) AS total_users FROM ". USERS_TABLE ." "; $sql = "SELECT username, user_id, user_actkey, user_regdate, user_email FROM ". USERS_TABLE ." "; switch( $action ) { case 'inactive': $sql_count .= "WHERE user_id <> ". ANONYMOUS ." AND user_active != '1' $letter_sql"; $sql .= "WHERE user_id <> ". ANONYMOUS ." AND user_active != '1' $letter_sql"; break; case 'active': $sql_count .= "WHERE user_id <> ". ANONYMOUS ." AND user_active != '0' $letter_sql"; $sql .= "WHERE user_id <> ". ANONYMOUS ." AND user_active != '0' $letter_sql"; break; default: message_die(GENERAL_MESSAGE, $lang['No_mode']); break; } if( $submit_wait && (!empty($HTTP_POST_VARS['days']) || !empty($HTTP_GET_VARS['days'])) ) { $days = ( !empty($HTTP_POST_VARS['days']) ) ? intval($HTTP_POST_VARS['days']) : intval($HTTP_GET_VARS['days']); $awaits = time() - ($days * 86400); $limit_awaits_count = " AND user_regdate > $awaits"; $limit_awaits = " AND user_regdate > $awaits "; if( !empty($HTTP_POST_VARS['days']) ) { $start = 0; } } else { $limit_awaits = ''; $post_days = 0; } $sql .= $limit_awaits ." ORDER BY user_regdate DESC LIMIT $start, ". $board_config['posts_per_page']; $sql_all = $sql_count; $sql_count .= $limit_awaits_count; if( !($result = $db->sql_query($sql_count)) ) { message_die(GENERAL_ERROR, 'could not query users information.', '', __LINE__, __FILE__, $sql_count); } $total_users = ( $row = $db->sql_fetchrow($result) ) ? $row['total_users'] : 0; if( !($result = $db->sql_query($sql_all)) ) { message_die(GENERAL_ERROR, 'could not query users information.', '', __LINE__, __FILE__, $sql_all); } $all_total_users = ( $row = $db->sql_fetchrow($result) ) ? $row['total_users'] : 0; $previous_days = array(0, 1, 7, 14, 30, 90, 180, 364); $previous_days_text = array($lang['Account_all'], $lang['1_Day'], $lang['7_Days'], $lang['2_Weeks'], $lang['1_Month'], $lang['3_Months'], $lang['6_Months'], $lang['1_Year']); $select_days = ''; for( $i = 0; $i < count($previous_days); $i++ ) { $selected = ( $days == $previous_days[$i] ) ? ' selected="selected"' : ''; $select_days .= ''. $previous_days_text[$i] .''; } $l_activation = $lang['Account_activation'] .': '. (( $board_config['require_activation'] == USER_ACTIVATION_SELF ) ? $lang['Acc_User'] : (( $board_config['require_activation'] == USER_ACTIVATION_ADMIN ) ? $lang['Acc_Admin'] : $lang['None'])) .''; $template->assign_vars(array( 'L_ACCOUNT_ACTIONS' => $lang['Account_actions'], 'L_ACCOUNT_ACTIONS_EXPLAIN' => ( $action == 'inactive' ) ? $lang['Account_inactive_explain'] : $lang['Account_active_explain'], 'L_MARK' => $lang['Mark'], 'L_MARK_ALL' => $lang['Mark_all'], 'L_UNMARK_ALL' => $lang['Unmark_all'], 'L_DELETE_MARKED' => $lang['Delete_marked'], 'L_DE_ACTIVATE_MARKED' => ( $action == 'inactive' ) ? $lang['Account_activate'] : $lang['Account_deactivate'], 'L_EDIT_USER' => $lang['Edit'], 'L_USER_AUTH' => $lang['Permissions'], 'L_SORT_PER_LETTER' => $lang['Account_sort_letter'], 'L_GO' => $lang['Go'], 'L_USERNAME' => $lang['Username'], 'L_EMAIL' => $lang['Email'], 'L_JOINED' => $lang['Joined'], 'L_REGISTERED_AWAITS' => ( $action == 'inactive' ) ? $lang['Account_awaits'] : $lang['Account_registered'], 'L_ACTIVATION' => $l_activation, 'TOTAL_USERS' => ( $total_users == '1' ) ? sprintf($lang['Account_total_user'], $total_users) : sprintf($lang['Account_total_users'], $total_users), 'PAGINATION' => ( $total_users == '0' ) ? '' : generate_pagination("admin_account.$phpEx?action=$action&letter=$letter", $total_users, $board_config['posts_per_page'], $start), 'PAGE_NUMBER' => ( $total_users == '0' ) ? '' : sprintf($lang['Page_of'], ( floor( $start / $board_config['posts_per_page'] ) + 1 ), ceil( $total_users / $board_config['posts_per_page'] )), 'S_LETTER_SELECT' => $select_letter, 'S_LETTER_HIDDEN' => '', 'S_ACCOUNT_ACTION' => append_sid("admin_account.$phpEx?action=$action"), 'S_HIDDEN_FIELDS' => '', 'S_SELECT_DAYS' => $select_days, )); if( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'could not query users.', '', __LINE__, __FILE__, $sql); } if( $row = $db->sql_fetchrow($result) ) { $i = 0; do { $user_id = $row['user_id']; $email_url = ( $board_config['board_email_form'] ) ? append_sid("../profile.$phpEx?mode=email&". POST_USERS_URL ."=$user_id") : 'mailto:'. $row['user_email']; $email = ''. $row['user_email'] .''; $i++; $template->assign_block_vars('admin_account', array( 'ROW_NUMBER' => $i + ( $HTTP_GET_VARS['start'] + 1 ), 'ROW_CLASS' => ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'], 'USERNAME' => $row['username'], 'U_PROFILE' => append_sid("../profile.$phpEx?mode=viewprofile&". POST_USERS_URL ."=$user_id"), 'EMAIL' => $email, 'JOINED' => create_date($board_config['default_dateformat'], $row['user_regdate'], $board_config['board_timezone']), 'PERIOD' => period(time() - $row['user_regdate']), 'U_EDIT_USER' => append_sid("admin_users.$phpEx?mode=edit&". POST_USERS_URL ."=$user_id"), 'U_USER_AUTH' => append_sid("admin_ug_auth.$phpEx?mode=user&". POST_USERS_URL ."=$user_id"), 'S_MARK_ID' => $user_id, )); } while( $row = $db->sql_fetchrow($result) ); $db->sql_freeresult($result); } else { $template->assign_vars(array('L_NO_USERS' => $lang['Account_none'])); $template->assign_block_vars("switch_no_users", array() ); } $template->pparse('body'); include('./page_footer_admin.'.$phpEx); ?>
Woher kommt das alles und welche Datei beeinflusst den linken Admin-Frame? Dann könnte ich wenigstens schonmal einkreisen wo mein Fehler liegt. Ansonsten muss ich wohl das komplette Update per Hand rückgängig machen und nochmal neu anfangen.

Danke schonmal
Lumpi007
Mitglied
Beiträge: 639
Registriert: 23.05.2005 21:25
Wohnort: Hasbergen
Kontaktdaten:

Beitrag von Lumpi007 »

Sag mal, hast du viele Mods installiert. Könntest dir sonst die Updateschritte sparen.
never touch a running System
Tupamaro
Mitglied
Beiträge: 67
Registriert: 23.03.2005 12:56

Beitrag von Tupamaro »

Ja, hab einiges laufen.

Attachment-Mod
Kleinanzeigen-Mod
Add new user over ACP
Alterskontrolle
Forum active
Passwort vergessen
Impressum
Last visit
Last Topic
Upload Pic-Mod
Modify Profile
Online-Status in Signatur
Smilie Creator
Ranganzeige im Faq

etc.

Das Update hat auch perfekt geklappt. Dann hab ich ein Backup auf meine HDD gemacht. Danach wollte ich es mal mit ner Patch-Datei probieren, hab diese aber fälschlicherweise ins Webverzeichnis auf dem Server entpackt. Alles gelöscht und HDD-Backup aufgespielt und seitdem läufts nicht mehr richtig.
Tupamaro
Mitglied
Beiträge: 67
Registriert: 23.03.2005 12:56

Beitrag von Tupamaro »

Folgende Dateien musste ich verändern:

## admin/admin_board.php
## admin/admin_db_utilities.php
## admin/admin_disallow.php
## admin/admin_ranks.php
## admin/admin_styles.php
## admin/admin_users.php
## admin/admin_words.php
## admin/index.php
## includes/bbcode.php
## common.php
## includes/functions.php
## includes/functions_post.php
## includes/usercp_confirm.php
## includes/usercp_register.php
## language/lang_english/lang_admin.php
## language/lang_english/lang_main.php
## login.php
## privmsg.php
## templates/subSilver/admin/board_config_body.tpl
## templates/subSilver/admin/index_body.tpl
Tupamaro
Mitglied
Beiträge: 67
Registriert: 23.03.2005 12:56

Beitrag von Tupamaro »

Tadaaaa,
hier die Lösung:

Ich habe mit einem Suchprogramm (z.B. FIND) nach der Datei gesucht in der Wörter aus dem von mir geposteten Hickhack vorkamen.
Rauskam, dass es die "Admin_account.php" war. Als ich die aufgemacht habe hat sich herausgestellt, dass der Anfang davon gefehlt hat.

So gehört sie:

Code: Alles auswählen

<?php
define('IN_PHPBB', 1);
if( !empty($setmodules) )
{
	$file = basename(__FILE__);
	$module['Users']['Account_inactive'] = $file .'?action=inactive';
	$module['Users']['Account_active'] = $file .'?action=active';
	return;
}

und so war sie:

Code: Alles auswählen

'Users']['Account_inactive'] = $file .'?action=inactive';
	$module['Users']['Account_active'] = $file .'?action=active';
	return;
}
Dadurch machte der Rest natürlich keinen Sinn mehr.

Puuuh. Aber wer sucht.... der findet. Auch wenn er wie ich keinen blassen Schimmer von PHP hat.
Lumpi007
Mitglied
Beiträge: 639
Registriert: 23.05.2005 21:25
Wohnort: Hasbergen
Kontaktdaten:

Beitrag von Lumpi007 »

Na ist doch gut :grin:
never touch a running System
Benutzeravatar
Stefane
Mitglied
Beiträge: 784
Registriert: 04.02.2006 22:43
Wohnort: Rathenow
Kontaktdaten:

Beitrag von Stefane »

interessant...
Aber was ich viel Krasser finde...dass du "KB:Knigge" anscheinend kein Stück gelesen hast...sonst wüsstest du, wie man ordentlich einen längeeren Code postet und was passiert, wenn man sein Topic so krass wie du bumpt.

Gott sei Dank bist du wenigstens allein auf Lösung bekommen. ;-)
Tupamaro
Mitglied
Beiträge: 67
Registriert: 23.03.2005 12:56

Beitrag von Tupamaro »

Entschuldigung, da ist wohl die Begeisterung mit mir durchgegangen.
Wird nicht wieder vorkommen.
Gesperrt

Zurück zu „phpBB 2.0: Installation und Update“