update 0.19>0.20 Niet alles via zoeken/vervangen

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
DikkieD
Berichten: 9
Lid geworden op: 30 jun 2006, 13:29

update 0.19>0.20 Niet alles via zoeken/vervangen

Bericht door DikkieD » 30 jun 2006, 14:03

Support template:
  • Wat is het probleem? 0.19 > 0.20 --> Niet alles verwerkt bij handmatige update. Ik kon in het bestand "includes/sessions.php" de betreffende informatie niet vinden, ook niet na intensief zoeken. Ik heb ook in dit bestand niet eens zoveel regels, zie hieronder voor meer info. Heb hetzelfde met het bestand "language/lang_english/lang_admin.php", hier moet ik bij de update wat regels toevoegen, maar ook dit is nergens binnen de file te vinden.
    Wanneer ontstond het probleem? Tijdens
    Adres van je forum: http://forum.veelzijdigmaleisie.nl
    Geïnstalleerde mods: quickreply
    Huidige template: FreeMind 1.1
    phpBB versie: 2.0.20
    Waar is je forum gehost: Lycos
    Heb je onlangs iets verandert aan je forum? Update 0.19 > 0.20
    Heb je gezocht naar een antwoord? Ja? met welke zoekwoorden?
Update, 2.0.20, 2.0.19 > 2.0.20, sessions.php, includes, lang_admin.php (wel om 3 uur 's nachts)
Overige opmerkingen:

# Hieronder de code die ik moest bewerken in het bestand "includes/sessions.php".

Code: Selecteer alles

#-----[ OPEN ]---------------------------------------------
#
includes/sessions.php

#
#-----[ FIND ]---------------------------------------------
# Line 175
		list($sec, $usec) = explode(' ', microtime());
		mt_srand((float) $sec + ((float) $usec * 100000));
		$session_id = md5(uniqid(mt_rand(), true));

#
#-----[ REPLACE WITH ]---------------------------------------------
#
		$session_id = md5(dss_rand());

#
#-----[ FIND ]---------------------------------------------
# Line 208
			list($sec, $usec) = explode(' ', microtime());
			mt_srand(hexdec(substr($session_id, 0, 8)) + (float) $sec + ((float) 
$usec * 1000000));
			$auto_login_key = uniqid(mt_rand(), true);

#
#-----[ REPLACE WITH ]---------------------------------------------
#
			$auto_login_key = dss_rand() . dss_rand();

#
#-----[ FIND ]---------------------------------------------
# Line 488
			WHERE last_login < ' . (time() - (86400 * (int) 
$board_config['max_autologin_time']));
		$db->sql_query($sql);
	}

	return true;

#
#-----[ AFTER, ADD ]---------------------------------------------
#
}

/**
* Reset all login keys for the specified user
* Called on password changes
*/
function session_reset_keys($user_id, $user_ip)
{
	global $db, $userdata;

	$key_sql = ($user_id == $userdata['user_id'] && 
!empty($userdata['session_key'])) ? "AND key_id != '" . 
md5($userdata['session_key']) . "'" : '';

	$sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '
		WHERE user_id = ' . (int) $user_id . "
			$key_sql";

	if ( !$db->sql_query($sql) )
	{
		message_die(CRITICAL_ERROR, 'Error removing auto-login keys', '', 
__LINE__, __FILE__, $sql);
	}

	$where_sql = 'session_user_id = ' . (int) $user_id;
	$where_sql .= ($user_id == $userdata['user_id']) ? " AND session_id <> '" . 
$userdata['session_id'] . "'" : '';
	$sql = 'DELETE FROM ' . SESSIONS_TABLE . "
		WHERE $where_sql";
	if ( !$db->sql_query($sql) )
	{
		message_die(CRITICAL_ERROR, 'Error removing user session(s)', '', 
__LINE__, __FILE__, $sql);
	}

	if ( !empty($key_sql) )
	{
		$auto_login_key = dss_rand() . dss_rand();

		$current_time = time();

		$sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . "
			SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', 
last_login = $current_time
			WHERE key_id = '" . md5($userdata['session_key']) . "'";

		if ( !$db->sql_query($sql) )
		{
			message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, 
__FILE__, $sql);
		}

		// And now rebuild the cookie
		$sessiondata['userid'] = $user_id;
		$sessiondata['autologinid'] = $autologin_id;
		$cookiename = $board_config['cookie_name'];
		$cookiepath = $board_config['cookie_path'];
		$cookiedomain = $board_config['cookie_domain'];
		$cookiesecure = $board_config['cookie_secure'];

		setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 
31536000, $cookiepath, $cookiedomain, $cookiesecure);

		$userdata['session_key'] = $auto_login_key;
		unset($sessiondata);
		unset($auto_login_key);
	}

#
De replace op regel 175 (bij regel 163) is wel gelukt, de andere replaces en adds zijn niet gelukt, de informatie is onvindbaar. Hieronder de complete code van mijn eigen sessions.php, zodat jullie kunnen zien dat het er volgens mij simpelweg niet is?:

zie reply hieronder

Het probleem is dus dat ik bang ben dat ik een eerdere update gemist heb. Ik heb phpbb ooit via Lycos (online tools) laten installeren. Vervolgens kreeg ik zo nu en dan een bericht dat er een update beschikbaar was. Deze heb ik altijd netjes uitgevoerd. Vervolgens begon ik zelf met mods etc, en daarna dus alles handmatig gedaan. Het forum draait gewoon goed (alhoewel ik het nog niet intensief getest heb).

Na de update naar 0.20 zie ik overigens nergens concrete vernieuwingen aan het forum. Kan het zo zijn dat dit komt door gebruik van Freemind ipv SubSilver?

# Verder het volgende probleem. Ik moest het bestand lang_admin.php aanvullen met wat nieuwe informatie. Ook dit kan ik nergens vinden binnen de code op die pagina (language/lang_english/lang_admin.php). Ook hier merk ik geen verschil. Ik heb update_to_new_version gedraaid, alles gewoon ok verlopen. Het forum draait ook prima, maar ik zie simpelweg geen verbeteringen (maar wellicht is er ook niets visueel verbeterd.)

Code: Selecteer alles

#
language/lang_english/lang_admin.php

#
#-----[ FIND ]---------------------------------------------
# Line 339
$lang['Allow_autologin'] = 'Allow automatic logins';
$lang['Allow_autologin_explain'] = 'Determines whether users are allowed to 
select to be automatically logged in when visiting the forum';
$lang['Autologin_time'] = 'Automatic login key expiry';
$lang['Autologin_time_explain'] = 'How long a autologin key is valid for in 
days if the user does not visit the board. Set to zero to disable expiry.';


#
#-----[ AFTER, ADD ]---------------------------------------------
#
// Search Flood Control - added 2.0.20
$lang['Search_Flood_Interval'] = 'Search Flood Interval';
$lang['Search_Flood_Interval_explain'] = 'Number of seconds a user must wait 
between search requests';

#

# Nog een laatste probleem(pje). In de upgrade van 0.18 naar 0.19 kon ik wel bij de engelse lang_admin.php onderstaande informatie toevoegen. Dit lukte echter niet bij de NL pack. Moet ik die pack nu dan opnieuw installeren, of kan ik ergens een vertaling hiervan vinden?

Code: Selecteer alles

language/lang_english/lang_admin.php

FIND - Line 749 
2.0.18 Code: 

//
// That's all Folks!

BEFORE, ADD 
2.0.19 Code: 

//
// Login attempts configuration
//
$lang['Max_login_attempts'] = 'Allowed login attempts';
$lang['Max_login_attempts_explain'] = 'The number of allowed board login attempts.';
$lang['Login_reset_time'] = 'Login lock time';
$lang['Login_reset_time_explain'] = 'Time in minutes the user have to wait until he is allowed to login again after exceeding the number of allowed login attempts.'; 


Ik wil graag dit weekend de upgrade doen van 0.20 naar 0.21, maar wil eerst nagaan of ik niet onnodig risico loop. Straks update ik rommel op rommel, en dan ben ik uiteindelijk toch een keer de pineut..

Alvast bedankt, misschien kan iemand mij op weg helpen.

DikkieD

DikkieD
Berichten: 9
Lid geworden op: 30 jun 2006, 13:29

Bericht door DikkieD » 30 jun 2006, 14:04

Code: Selecteer alles

<?php
/***************************************************************************
 *                                sessions.php
 *                            -------------------
 *   begin                : Saturday, Feb 13, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id: sessions.php,v 1.58.2.14 2005/05/06 20:50:11 acydburn Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

//
// Adds/updates a new session to the database for the given userid.
// Returns the new session ID on success.
//
function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0)
{
	global $db, $board_config;
	global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;

	$cookiename = $board_config['cookie_name'];
	$cookiepath = $board_config['cookie_path'];
	$cookiedomain = $board_config['cookie_domain'];
	$cookiesecure = $board_config['cookie_secure'];

	if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )
	{
		$session_id = isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';
		$sessiondata = isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();
		$sessionmethod = SESSION_METHOD_COOKIE;
	}
	else
	{
		$sessiondata = array();
		$session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';
		$sessionmethod = SESSION_METHOD_GET;
	}

	//
	if (!preg_match('/^[A-Za-z0-9]*$/', $session_id)) 
	{
		$session_id = '';
	}

	$page_id = (int) $page_id;

	$last_visit = 0;
	$current_time = time();
	$expiry_time = $current_time - $board_config['session_length'];

	//
	// Try and pull the last time stored in a cookie, if it exists
	//
	$sql = "SELECT * 
		FROM " . USERS_TABLE . " 
		WHERE user_id = $user_id";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(CRITICAL_ERROR, 'Could not obtain lastvisit data from user table', '', __LINE__, __FILE__, $sql);
	}

	$userdata = $db->sql_fetchrow($result);

	if ( $user_id != ANONYMOUS )
	{
		$auto_login_key = $userdata['user_password'];

		if ( $auto_create )
		{
			if ( isset($sessiondata['autologinid']) && $userdata['user_active'] )
			{
				// We have to login automagically
				if( $sessiondata['autologinid'] === $auto_login_key )
				{
					// autologinid matches password
					$login = 1;
					$enable_autologin = 1;
				}
				else
				{
					// No match; don't login, set as anonymous user
					$login = 0; 
					$enable_autologin = 0; 
					$user_id = $userdata['user_id'] = ANONYMOUS;
				
					$sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = ' . ANONYMOUS;
					$result = $db->sql_query($sql);
					$userdata = $db->sql_fetchrow($result);
					$db->sql_freeresult($result);
				}
			}
			else
			{
				// Autologin is not set. Don't login, set as anonymous user
				$login = 0;
				$enable_autologin = 0;
				$user_id = $userdata['user_id'] = ANONYMOUS;

				$sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = ' . ANONYMOUS;
				$result = $db->sql_query($sql);
				$userdata = $db->sql_fetchrow($result);
				$db->sql_freeresult($result);
			}
		}
		else
		{
			$login = 1;
		}
	}
	else
	{
		$login = 0;
		$enable_autologin = 0;
	}

	//
	// Initial ban check against user id, IP and email address
	//
	preg_match('/(..)(..)(..)(..)/', $user_ip, $user_ip_parts);

	$sql = "SELECT ban_ip, ban_userid, ban_email 
		FROM " . BANLIST_TABLE . " 
		WHERE ban_ip IN ('" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . $user_ip_parts[4] . "', '" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . "ff', '" . $user_ip_parts[1] . $user_ip_parts[2] . "ffff', '" . $user_ip_parts[1] . "ffffff')
			OR ban_userid = $user_id";
	if ( $user_id != ANONYMOUS )
	{
		$sql .= " OR ban_email LIKE '" . str_replace("\'", "''", $userdata['user_email']) . "' 
			OR ban_email LIKE '" . substr(str_replace("\'", "''", $userdata['user_email']), strpos(str_replace("\'", "''", $userdata['user_email']), "@")) . "'";
	}
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(CRITICAL_ERROR, 'Could not obtain ban information', '', __LINE__, __FILE__, $sql);
	}

	if ( $ban_info = $db->sql_fetchrow($result) )
	{
		if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] )
		{
			message_die(CRITICAL_MESSAGE, 'You_been_banned');
		}
	}

	//
	// Create or update the session
	//
	$sql = "UPDATE " . SESSIONS_TABLE . "
		SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin
		WHERE session_id = '" . $session_id . "' 
			AND session_ip = '$user_ip'";
	if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )
	{
		$session_id = md5(dss_rand());

		$sql = "INSERT INTO " . SESSIONS_TABLE . "
			(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin)
			VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)";
		if ( !$db->sql_query($sql) )
		{
			message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);
		}
	}

	if ( $user_id != ANONYMOUS )
	{// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : ( 
		$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time; 

		if (!$admin)
		{
			$sql = "UPDATE " . USERS_TABLE . " 
				SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit
				WHERE user_id = $user_id";
			if ( !$db->sql_query($sql) )
			{
				message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql);
			}
		}

		$userdata['user_lastvisit'] = $last_visit;

		$sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologinid'];
		$sessiondata['userid'] = $user_id;
	}

	$userdata['session_id'] = $session_id;
	$userdata['session_ip'] = $user_ip;
	$userdata['session_user_id'] = $user_id;
	$userdata['session_logged_in'] = $login;
	$userdata['session_page'] = $page_id;
	$userdata['session_start'] = $current_time;
	$userdata['session_time'] = $current_time;
	$userdata['session_admin'] = $admin;

	setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
	setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);

	$SID = 'sid=' . $session_id;

	return $userdata;
}

//
// Checks for a given user session, tidies session table and updates user
// sessions at each page refresh
//
function session_pagestart($user_ip, $thispage_id)
{
	global $db, $lang, $board_config;
	global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;

	$cookiename = $board_config['cookie_name'];
	$cookiepath = $board_config['cookie_path'];
	$cookiedomain = $board_config['cookie_domain'];
	$cookiesecure = $board_config['cookie_secure'];

	$current_time = time();
	unset($userdata);

	if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )
	{
		$sessiondata = isset( $HTTP_COOKIE_VARS[$cookiename . '_data'] ) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();
		$session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';
		$sessionmethod = SESSION_METHOD_COOKIE;
	}
	else
	{
		$sessiondata = array();
		$session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';
		$sessionmethod = SESSION_METHOD_GET;
	}

	// 
	if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))
	{
		$session_id = '';
	}

	$thispage_id = (int) $thispage_id;

	//
	// Does a session exist?
	//
	if ( !empty($session_id) )
	{
		//
		// session_id exists so go ahead and attempt to grab all
		// data in preparation
		//
		$sql = "SELECT u.*, s.*
			FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u
			WHERE s.session_id = '$session_id'
				AND u.user_id = s.session_user_id";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);
		}

		$userdata = $db->sql_fetchrow($result);

		//
		// Did the session exist in the DB?
		//
		if ( isset($userdata['user_id']) )
		{
			//
			// Do not check IP assuming equivalence, if IPv4 we'll check only first 24
			// bits ... I've been told (by vHiker) this should alleviate problems with 
			// load balanced et al proxies while retaining some reliance on IP security.
			//
			$ip_check_s = substr($userdata['session_ip'], 0, 6);
			$ip_check_u = substr($user_ip, 0, 6);

			if ($ip_check_s == $ip_check_u)
			{
				$SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '';

				//
				// Only update session DB a minute or so after last update
				//
				if ( $current_time - $userdata['session_time'] > 60 )
				{
					// A little trick to reset session_admin on session re-usage
					$update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', session_admin = 0' : '';

					$sql = "UPDATE " . SESSIONS_TABLE . " 
						SET session_time = $current_time, session_page = $thispage_id$update_admin
						WHERE session_id = '" . $userdata['session_id'] . "'";
					if ( !$db->sql_query($sql) )
					{
						message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
					}

					if ( $userdata['user_id'] != ANONYMOUS )
					{
						$sql = "UPDATE " . USERS_TABLE . " 
							SET user_session_time = $current_time, user_session_page = $thispage_id
							WHERE user_id = " . $userdata['user_id'];
						if ( !$db->sql_query($sql) )
						{
							message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
						}
					}

					//
					// Delete expired sessions
					//
					$expiry_time = $current_time - $board_config['session_length'];

					$sql = "DELETE FROM " . SESSIONS_TABLE . " 
						WHERE session_time < $expiry_time 
							AND session_id <> '$session_id'";
					if ( !$db->sql_query($sql) )
					{
						message_die(CRITICAL_ERROR, 'Error clearing sessions table', '', __LINE__, __FILE__, $sql);
					}

					setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
					setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
				}

				return $userdata;
			}
		}
	}

	//
	// If we reach here then no (valid) session exists. So we'll create a new one,
	// using the cookie user_id if available to pull basic user prefs.
	//
	$user_id = ( isset($sessiondata['userid']) ) ? intval($sessiondata['userid']) : ANONYMOUS;

	if ( !($userdata = session_begin($user_id, $user_ip, $thispage_id, TRUE)) )
	{
		message_die(CRITICAL_ERROR, 'Error creating user session', '', __LINE__, __FILE__, $sql);
	}

	return $userdata;

}

//
// session_end closes out a session
// deleting the corresponding entry
// in the sessions table
//
function session_end($session_id, $user_id)
{
	global $db, $lang, $board_config;
	global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;

	$cookiename = $board_config['cookie_name'];
	$cookiepath = $board_config['cookie_path'];
	$cookiedomain = $board_config['cookie_domain'];
	$cookiesecure = $board_config['cookie_secure'];

	$current_time = time();

	//
	// Pull cookiedata or grab the URI propagated sid
	//
	if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) )
	{
		$session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';
		$sessionmethod = SESSION_METHOD_COOKIE;
	}
	else
	{
		$session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';
		$sessionmethod = SESSION_METHOD_GET;
	}

	if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))
	{
		return;
	}
	
	//
	// Delete existing session
	//
	$sql = "DELETE FROM " . SESSIONS_TABLE . " 
		WHERE session_id = '$session_id' 
			AND session_user_id = $user_id";
	if ( !$db->sql_query($sql) )
	{
		message_die(CRITICAL_ERROR, 'Error removing user session', '', __LINE__, __FILE__, $sql);
	}

	setcookie($cookiename . '_data', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);
	setcookie($cookiename . '_sid', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);

	return true;
}

//
// Append $SID to a url. Borrowed from phplib and modified. This is an
// extra routine utilised by the session code above and acts as a wrapper
// around every single URL and form action. If you replace the session
// code you must include this routine, even if it's empty.
//
function append_sid($url, $non_html_amp = false)
{
	global $SID;

	if ( !empty($SID) && !preg_match('#sid=#', $url) )
	{
		$url .= ( ( strpos($url, '?') != false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
	}

	return $url;
}

?>

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 30 jun 2006, 14:19

Bij taalbestanden gewoon alles voor plaatsen, maakt voor de rest niet uit waar het staat, het werkt toch wel.

Heb je de update van 2.0.18 goed gedaan, daardoor onstonden wat problemen met latere updates.
... Maar ik modereer (nog) niet.

DikkieD
Berichten: 9
Lid geworden op: 30 jun 2006, 13:29

Bericht door DikkieD » 01 jul 2006, 22:34

Hmmm, the plot thickens.

Ik probeerde zojuist een spamuser te verwijderen (via admin panel). Nu viel mij de volgende twee problemen op:

1) Als ik bij 'gebruikersbeheer' / 'management' een gebruiker opzoek, zie ik bij de details standaard altijd mijn eigen username verschijnen. De rest van de gegevens horen echter wel bij de gebruiker die ik heb opgezocht.

2) Na de upgrades van 0.18 naar 0.19 en van 0.19 naar 0.20 krijg ik nu na een deluser actie de volgende melding in beeld:

Code: Selecteer alles

Could not delete auto-login keys for this user

DEBUG MODE

SQL Error : 1146 Table 'veelzijdigmaleisie_nl_1.SESSIONS_KEYS_TABLE' doesn't exist

DELETE FROM SESSIONS_KEYS_TABLE WHERE user_id = 52

Line : 191
File : admin_users.php
De gebruiker in kwestie is op dat moment dan wel verwijderd, want als ik daarna mijn gebruikers lijst controleer, dan staat de gebruiker er niet meer tussen. Daarnaast zag ik dus eerst altijd mijn naam, nu verschijnt er bij het verwijderen van de gebruiker eerst een pop-up in beeld waar mij gevraagd wordt of ik een keuze wil maken welke van de twee gebruikers ik wil verwijderen: 1) Admin of 2) 'mijn eigen gebruikersnaam' (maar dat is dus de gebruiker die ik wil verwijderen.

Vreemd, lijkt allemaal niet geheel stabiel te zijn. Weet iemand wat die melding precies betekent?

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 01 jul 2006, 22:35

includes/constants.php bij de update van 2.0.17 naar 2.0.18 niet volledig aangepast.
... Maar ik modereer (nog) niet.

DikkieD
Berichten: 9
Lid geworden op: 30 jun 2006, 13:29

Bericht door DikkieD » 01 jul 2006, 22:44

Okies, thanks. Zoals ik al aangaf ging de update tot 0.18 altijd automatisch. Ik heb dus nu de angst dat er destijds e.e.a. niet helemaal goed is gegaan. Heeft iemand suggesties wat ik nu het beste kan doen? Kan ik bv. nu nog een 0.17 > 0.18 upgrade doen?

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 02 jul 2006, 11:15

Hoe bedoel je met automatisch? Overnieuw doen en het blijkt dat veel al gedaan is, en je let niet op, dan krijg je weer problemen.
... Maar ik modereer (nog) niet.

DikkieD
Berichten: 9
Lid geworden op: 30 jun 2006, 13:29

Bericht door DikkieD » 02 jul 2006, 21:13

Via Lycos heb je bij je hosting pakket de mogelijkheid om 'automatisch' webtools te installeren, phpbb is er eentje van. Van tijd tot tijd krijg je een bericht dat er updates beschikbaar zijn. Die heb ik altijd netjes 'uitgevoerd'. (Dit werkt door in de lycos panel op updaten te klikken). Hierdoor had ik altijd het idee dat het wel snor zat, nu blijkt dus e.e.a. niet helemaal goed te zijn gegaan.

Ik twijfel of ik maar gewoon de hele boel opnieuw installeer (kale 0.21) en dan de database opnieuw inlees. In het verleden had een vriendje mij geholpen aan een custom made template (in ieder geval teveel getweaked voor mijn kennis van php etc). Die raak ik dus wrs kwijt, omdat ik al die code-wijzigingen niet meer weet.

Ik twijfel nog....

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 02 jul 2006, 21:14

Je kan de templatebestanden downloaden, 2.0.21 installeren, de bestanden weer terugzetten, en vervolgens zelf nog de template-aanpassingen voor alle versies tot 2.0.21 doen ;)
... Maar ik modereer (nog) niet.

DikkieD
Berichten: 9
Lid geworden op: 30 jun 2006, 13:29

Bericht door DikkieD » 03 jul 2006, 09:33

Bedankt voor het rappe antwoord! Super!

Wat betreft de database, moet ik mijn huidige forum eerst nog updaten naar versie 0.21 zodat ik zeker weet dat de database straks dezelfde is?

Want ik heb nu versie 0.20, en straks dus de database van 0.21 waar ik de dump inlees na herinstallatie.

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 03 jul 2006, 09:40

Ik zou dat inderdaad van te voren doen, loop je iets minder snel tegen foutmeldingen aan. Maak alleen geen backup in phpBB zelf!
... Maar ik modereer (nog) niet.

Gesloten