Seite 2 von 3

Re: Automatisches Update nach Anleitung...

Verfasst: 05.06.2009 22:20
von Mahony
Hallo
Ich sagte ja - der Automatische Updater ist einfacher zu bedienen und Patch macht nichts anderes (zum dritten Mal) als das automatische Update Paket. Du musst in jedem Fall die Dateien Nachbearbeiten. Also tu dir selbst einen Gefallen und nimm das automatische Update Paket. Da kannst du dir die problematischen Dateien direkt ansehen und sogar herunter laden (inclusive der problematischen Codestellen).

Ansonsten steht alles was du zur Patch-Methode wissen musst in der Anleitung http://www.phpbb.de/kb/patch
Schau dir dort das Beispiel an und lerne. Mehr Hilfe kann ich dir dazu auch nicht geben.


Grüße: Mahony

Re: Automatisches Update nach Anleitung...

Verfasst: 06.06.2009 21:48
von markus giersch
OK. Ichhatte da gerade Probleme wegendem"Automatisch". Dachte eswürde dann auch alles automatischmachen.
Naja,wohl nurdann wenn man nichts modifiziert hat.

OK, Ich nehme jetzt das "automatische update packet". Ich nehme mal an das ich im Ordner "New" die Dateien nach modden muss und anschliesend einfach in den Webserver verschieben. Anschliesend noch die DB updaten und dann sollte es klappen, oder?
Oder wieder ein Denkfehler!?

Re: Automatisches Update nach Anleitung...

Verfasst: 06.06.2009 21:59
von Mahony
Hallo
Ich nehme mal an das ich im Ordner "New" die Dateien nach modden muss und anschliesend einfach in den Webserver verschieben.
Nein
Lade das install Verzeichnis hoch und rufe es im Browser auf.

P.S. Warum machst du dir überhaupt solche Sorgen? Lege einfach, bevor du anfängst, Backups der Datenbank und der Dateien an und dann kann in jedem Fall überhaupt nichts schief gehen.


Grüße: Mahony

Re: Automatisches Update nach Anleitung...

Verfasst: 06.06.2009 23:25
von markus giersch
Mahony hat geschrieben:P.S. Warum machst du dir überhaupt solche Sorgen?

Weil ich ANGST habe :lol:

OK, ich habe mal ein identisches Board angelegt, mal sehen was passiert.
Das Datenbankupdate klappt zumindest reibungslos.

EDIT: Scheint wohl zu gehen.Jett erstmal ein Backup machen und dann lege ich los.

Jo, meine Angst ist berechtigt. Die /download/file.php hat Probleme.
Ich kann keine Avatare mehr sehen und keine Dateianhänge herunterladen ->existieren nicht mehr.

Was soll ich da machen?
Da die Datei

download/file.php
Anzahl der Konflikte: 8
[ Download conflicts for this file ]
Search for <<< to spot conflicts

Code: Alles auswählen

<?php
/**
*
* @package phpBB3
<<<<<<< Anfang der derzeitigen Originaldatei
* @version $Id: file.php,v 1.5 2007/11/17 22:35:33 kellanved Exp $
======= Ende der derzeitigen Originaldatei / Anfang der neuen, aktualisierten Datei
* @version $Id: file.php 9460 2009-04-17 15:18:03Z acydburn $
>>>>>>> Ende der neuen, aktualisierten Datei
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
<<<<<<< Anfang der derzeitigen Originaldatei
======= Ende der derzeitigen Originaldatei / Anfang der neuen, aktualisierten Datei


// Thank you sun.
if (isset($_SERVER['CONTENT_TYPE']))
{
	if ($_SERVER['CONTENT_TYPE'] === 'application/x-java-archive')
	{
		exit;
	}
}
else if (isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'Java') !== false)
{
	exit;
}
>>>>>>> Ende der neuen, aktualisierten Datei

if (isset($_GET['avatar']))
{
	require($phpbb_root_path . 'config.' . $phpEx);
	require($phpbb_root_path . 'includes/acm/acm_' . $acm_type . '.' . $phpEx);
	require($phpbb_root_path . 'includes/cache.' . $phpEx);
	require($phpbb_root_path . 'includes/db/' . $dbms . '.' . $phpEx);
	require($phpbb_root_path . 'includes/constants.' . $phpEx);

	$db = new $sql_db();
	$cache = new cache();

	// Connect to DB
	if (!@$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, false))
	{
		exit;
	}
	unset($dbpasswd);
	
	// worst-case default
	$browser = (!empty($_SERVER['HTTP_USER_AGENT'])) ? htmlspecialchars((string) $_SERVER['HTTP_USER_AGENT']) : 'msie 6.0';

	$config = $cache->obtain_config();
	$filename = $_GET['avatar'];
	$avatar_group = false;
<<<<<<< Anfang der derzeitigen Originaldatei
======= Ende der derzeitigen Originaldatei / Anfang der neuen, aktualisierten Datei
	$exit = false;

>>>>>>> Ende der neuen, aktualisierten Datei
	if ($filename[0] === 'g')
	{
		$avatar_group = true;
		$filename = substr($filename, 1);
	}
	
	// '==' is not a bug - . as the first char is as bad as no dot at all
	if (strpos($filename, '.') == false)
	{
		header('HTTP/1.0 403 forbidden');
		if (!empty($cache))
		{
			$cache->unload();
		}
		$db->sql_close();
		exit;
	}
	
	$ext		= substr(strrchr($filename, '.'), 1);
	$stamp		= (int) substr(stristr($filename, '_'), 1);
	$filename	= (int) $filename;
	
	// let's see if we have to send the file at all
	$last_load 	=  isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? strtotime(trim($_SERVER['HTTP_IF_MODIFIED_SINCE'])) : false;
	if (strpos(strtolower($browser), 'msie 6.0') === false)
	{
		if ($last_load !== false && $last_load <= $stamp)
		{
			header('Not Modified', true, 304);
			// seems that we need those too ... browsers
			header('Pragma: public');
			header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 31536000));
			exit();
		} 
		else
		{
			header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $stamp) . ' GMT');
		}
	}
	
	if (!in_array($ext, array('png', 'gif', 'jpg', 'jpeg')))
	{
		// no way such an avatar could exist. They are not following the rules, stop the show.
		header("HTTP/1.0 403 forbidden");
		if (!empty($cache))
		{
			$cache->unload();
		}
		$db->sql_close();
		exit;
	}
<<<<<<< Anfang der derzeitigen Originaldatei
	
	if (!$filename)
======= Ende der derzeitigen Originaldatei / Anfang der neuen, aktualisierten Datei


	if (!$exit)
>>>>>>> Ende der neuen, aktualisierten Datei
	{
		// no way such an avatar could exist. They are not following the rules, stop the show.
		header("HTTP/1.0 403 forbidden");
		if (!empty($cache))
		{
			$cache->unload();
		}
		$db->sql_close();
		exit;
	}

	send_avatar_to_browser(($avatar_group ? 'g' : '') . $filename . '.' . $ext, $browser);

	if (!empty($cache))
	{
		$cache->unload();
	}
	$db->sql_close();
	exit;
}

// implicit else: we are not in avatar mode
include($phpbb_root_path . 'common.' . $phpEx);

$download_id = request_var('id', 0);
$mode = request_var('mode', '');
$thumbnail = request_var('t', false);

// Start session management, do not update session page.
$user->session_begin(false);
$auth->acl($user->data);
$user->setup('viewtopic');

if (!$download_id)
{
	trigger_error('NO_ATTACHMENT_SELECTED');
}

if (!$config['allow_attachments'] && !$config['allow_pm_attach'])
{
	trigger_error('ATTACHMENT_FUNCTIONALITY_DISABLED');
}

$sql = 'SELECT attach_id, in_message, post_msg_id, extension, is_orphan, poster_id
	FROM ' . ATTACHMENTS_TABLE . "
	WHERE attach_id = $download_id";
$result = $db->sql_query_limit($sql, 1);
$attachment = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

if (!$attachment)
{
	trigger_error('ERROR_NO_ATTACHMENT');
}

if ((!$attachment['in_message'] && !$config['allow_attachments']) || ($attachment['in_message'] && !$config['allow_pm_attach']))
{
	trigger_error('ATTACHMENT_FUNCTIONALITY_DISABLED');
}

$row = array();

if ($attachment['is_orphan'])
{
	// We allow admins having attachment permissions to see orphan attachments...
	$own_attachment = ($auth->acl_get('a_attach') || $attachment['poster_id'] == $user->data['user_id']) ? true : false;

	if (!$own_attachment || ($attachment['in_message'] && !$auth->acl_get('u_pm_download')) || (!$attachment['in_message'] && !$auth->acl_get('u_download')))
	{
		trigger_error('ERROR_NO_ATTACHMENT');
	}

	// Obtain all extensions...
	$extensions = $cache->obtain_attach_extensions(true);
}
else
{
	if (!$attachment['in_message'])
	{
		//
		$sql = 'SELECT p.forum_id, f.forum_password, f.parent_id
			FROM ' . POSTS_TABLE . ' p, ' . FORUMS_TABLE . ' f
			WHERE p.post_id = ' . $attachment['post_msg_id'] . '
				AND p.forum_id = f.forum_id';
		$result = $db->sql_query_limit($sql, 1);
		$row = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);

		// Global announcement?
		$f_download = (!$row) ? $auth->acl_getf_global('f_download') : $auth->acl_get('f_download', $row['forum_id']);

		if ($auth->acl_get('u_download') && $f_download)
		{
			if ($row && $row['forum_password'])
			{
				// Do something else ... ?
				login_forum_box($row);
			}
		}
		else
		{
			trigger_error('SORRY_AUTH_VIEW_ATTACH');
		}
	}
	else
	{
		$row['forum_id'] = false;
		if (!$auth->acl_get('u_pm_download'))
		{
			trigger_error('SORRY_AUTH_VIEW_ATTACH');
		}
	}

	// disallowed?
	$extensions = array();
	if (!extension_allowed($row['forum_id'], $attachment['extension'], $extensions))
	{
		trigger_error(sprintf($user->lang['EXTENSION_DISABLED_AFTER_POSTING'], $attachment['extension']));
	}
}

if (!download_allowed())
{
	trigger_error($user->lang['LINKAGE_FORBIDDEN']);
}

$download_mode = (int) $extensions[$attachment['extension']]['download_mode'];

// Fetching filename here to prevent sniffing of filename
$sql = 'SELECT attach_id, is_orphan, in_message, post_msg_id, extension, physical_filename, real_filename, mimetype
	FROM ' . ATTACHMENTS_TABLE . "
	WHERE attach_id = $download_id";
$result = $db->sql_query_limit($sql, 1);
$attachment = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

if (!$attachment)
{
	trigger_error('ERROR_NO_ATTACHMENT');
}

$attachment['physical_filename'] = basename($attachment['physical_filename']);
$display_cat = $extensions[$attachment['extension']]['display_cat'];

if (($display_cat == ATTACHMENT_CATEGORY_IMAGE || $display_cat == ATTACHMENT_CATEGORY_THUMB) && !$user->optionget('viewimg'))
{
	$display_cat = ATTACHMENT_CATEGORY_NONE;
}

if ($display_cat == ATTACHMENT_CATEGORY_FLASH && !$user->optionget('viewflash'))
{
	$display_cat = ATTACHMENT_CATEGORY_NONE;
}

if ($thumbnail)
{
	$attachment['physical_filename'] = 'thumb_' . $attachment['physical_filename'];
}
else if (($display_cat == ATTACHMENT_CATEGORY_NONE/* || $display_cat == ATTACHMENT_CATEGORY_IMAGE*/) && !$attachment['is_orphan'])
{
	// Update download count
	$sql = 'UPDATE ' . ATTACHMENTS_TABLE . '
		SET download_count = download_count + 1
		WHERE attach_id = ' . $attachment['attach_id'];
	$db->sql_query($sql);
}

if ($display_cat == ATTACHMENT_CATEGORY_IMAGE && $mode === 'view' && (strpos($attachment['mimetype'], 'image') === 0) && strpos(strtolower($user->browser), 'msie') !== false)
{
	wrap_img_in_html(append_sid($phpbb_root_path . 'download/file.' . $phpEx, 'id=' . $attachment['attach_id']), $attachment['real_filename']);
	file_gc();
}
else
{
	// Determine the 'presenting'-method
	if ($download_mode == PHYSICAL_LINK)
	{
		// This presenting method should no longer be used
		if (!@is_dir($phpbb_root_path . $config['upload_path']))
		{
			trigger_error($user->lang['PHYSICAL_DOWNLOAD_NOT_POSSIBLE']);
		}
		
		redirect($phpbb_root_path . $config['upload_path'] . '/' . $attachment['physical_filename']);
		exit;
	}
	else
	{
		send_file_to_browser($attachment, $config['upload_path'], $display_cat);
		exit;
	}
}


/**
* A simplified function to deliver avatars
* The argument needs to be checked before calling this function.
*/
function send_avatar_to_browser($file, $browser)
{
	global $config, $phpbb_root_path;

	$prefix = $config['avatar_salt'] . '_';
	$image_dir = $config['avatar_path'];

	// Adjust image_dir path (no trailing slash)
	if (substr($image_dir, -1, 1) == '/' || substr($image_dir, -1, 1) == '\\')
	{
		$image_dir = substr($image_dir, 0, -1) . '/';
	}
	$image_dir = str_replace(array('../', '..\\', './', '.\\'), '', $image_dir);

	if ($image_dir && ($image_dir[0] == '/' || $image_dir[0] == '\\'))
	{
		$image_dir = '';
	}
	$file_path = $phpbb_root_path . $image_dir . '/' . $prefix . $file;

	if ((@file_exists($file_path) && @is_readable($file_path)) && !headers_sent())
	{
		header('Pragma: public');

		$image_data = @getimagesize($file_path);
		header('Content-Type: ' . image_type_to_mime_type($image_data[2]));

		if (strpos(strtolower($browser), 'msie') !== false)
		{
			header('Content-Disposition: attachment; ' . header_filename($file));

			if (strpos(strtolower($browser), 'msie 6.0') !== false)
			{
				header('Expires: -1');
			}
			else
			{
				header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 31536000));
			}
		}
		else
		{
			header('Content-Disposition: inline; ' . header_filename($file));
			header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 31536000));
		}

		$size = @filesize($file_path);
		if ($size)
		{
			header("Content-Length: $size");
		}

		if (@readfile($file_path) === false)
		{
			$fp = @fopen($file_path, 'rb');

			if ($fp !== false)
			{
				while (!feof($fp))
				{
					echo fread($fp, 8192);
				}
				fclose($fp);
			}
		}

		flush();
	}
	else
	{
		header('HTTP/1.0 404 Not Found');
	}
}

/**
* Wraps an url into a simple html page. Used to display attachments in IE.
* this is a workaround for now; might be moved to template system later
* direct any complaints to 1 Microsoft Way, Redmond
*/
function wrap_img_in_html($src, $title)
{
	echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-Strict.dtd">';
	echo '<html>';
	echo '<head>';
	echo '<meta http-equiv="content-type" content="text/html; charset=UTF-8" />';
	echo '<title>' . $title . '</title>';
	echo '</head>';
	echo '<body>';
	echo '<div>';
	echo '<img src="' . $src . '" alt="' . $title . '" />';
	echo '</div>';
	echo '</body>';
	echo '</html>';
}

/**
* Send file to browser
*/
function send_file_to_browser($attachment, $upload_dir, $category)
{
	global $user, $db, $config, $phpbb_root_path;

	$filename = $phpbb_root_path . $upload_dir . '/' . $attachment['physical_filename'];

	if (!@file_exists($filename))
	{
		trigger_error($user->lang['ERROR_NO_ATTACHMENT'] . '<br /><br />' . sprintf($user->lang['FILE_NOT_FOUND_404'], $filename));
	}

	// Correct the mime type - we force application/octetstream for all files, except images
	// Please do not change this, it is a security precaution
	if ($category != ATTACHMENT_CATEGORY_IMAGE || strpos($attachment['mimetype'], 'image') !== 0)
	{
		$attachment['mimetype'] = (strpos(strtolower($user->browser), 'msie') !== false || strpos(strtolower($user->browser), 'opera') !== false) ? 'application/octetstream' : 'application/octet-stream';
	}

	if (@ob_get_length())
	{
		@ob_end_clean();
	}

	// Now send the File Contents to the Browser
	$size = @filesize($filename);

	// To correctly display further errors we need to make sure we are using the correct headers for both (unsetting content-length may not work)

	// Check if headers already sent or not able to get the file contents.
	if (headers_sent() || !@file_exists($filename) || !@is_readable($filename))
	{
		// PHP track_errors setting On?
		if (!empty($php_errormsg))
		{
			trigger_error($user->lang['UNABLE_TO_DELIVER_FILE'] . '<br />' . sprintf($user->lang['TRACKED_PHP_ERROR'], $php_errormsg));
		}

		trigger_error('UNABLE_TO_DELIVER_FILE');
	}

	// Now the tricky part... let's dance
	header('Pragma: public');

	/**
	* Commented out X-Sendfile support. To not expose the physical filename within the header if xsendfile is absent we need to look into methods of checking it's status.
	*
	* Try X-Sendfile since it is much more server friendly - only works if the path is *not* outside of the root path...
	* lighttpd has core support for it. An apache2 module is available at http://celebnamer.celebworld.ws/stuff/mod_xsendfile/
	*
	* Not really ideal, but should work fine...
	* <code>
	*	if (strpos($upload_dir, '/') !== 0 && strpos($upload_dir, '../') === false)
	*	{
	*		header('X-Sendfile: ' . $filename);
	*	}
	* </code>
	*/

	// Send out the Headers. Do not set Content-Disposition to inline please, it is a security measure for users using the Internet Explorer.
<<<<<<< Anfang der derzeitigen Originaldatei
	header('Content-Type: ' . $attachment['mimetype']);
======= Ende der derzeitigen Originaldatei / Anfang der neuen, aktualisierten Datei
	$is_ie8 = (strpos(strtolower($user->browser), 'msie 8.0') !== false);
	header('Content-Type: ' . $attachment['mimetype']);
>>>>>>> Ende der neuen, aktualisierten Datei

<<<<<<< Anfang der derzeitigen Originaldatei
	if (empty($user->browser) || (strpos(strtolower($user->browser), 'msie') !== false))
======= Ende der derzeitigen Originaldatei / Anfang der neuen, aktualisierten Datei
	if ($is_ie8)
>>>>>>> Ende der neuen, aktualisierten Datei
	{
		header('X-Content-Type-Options: nosniff');
	}

	if ($category == ATTACHMENT_CATEGORY_FLASH && request_var('view', 0) === 1)
	{
		// We use content-disposition: inline for flash files and view=1 to let it correctly play with flash player 10 - any other disposition will fail to play inline
		header('Content-Disposition: inline');
	}
	else
	{
<<<<<<< Anfang der derzeitigen Originaldatei
		header('Content-Disposition: ' . ((strpos($attachment['mimetype'], 'image') === 0) ? 'inline' : 'attachment') . '; ' . header_filename(htmlspecialchars_decode($attachment['real_filename'])));
======= Ende der derzeitigen Originaldatei / Anfang der neuen, aktualisierten Datei
		if (empty($user->browser) || (!$is_ie8 && (strpos(strtolower($user->browser), 'msie') !== false)))
		{
			header('Content-Disposition: attachment; ' . header_filename(htmlspecialchars_decode($attachment['real_filename'])));
			if (empty($user->browser) || (strpos(strtolower($user->browser), 'msie 6.0') !== false))
			{
				header('expires: -1');
			}
		}
		else
		{
			header('Content-Disposition: ' . ((strpos($attachment['mimetype'], 'image') === 0) ? 'inline' : 'attachment') . '; ' . header_filename(htmlspecialchars_decode($attachment['real_filename'])));
			if ($is_ie8 && (strpos($attachment['mimetype'], 'image') !== 0))
			{
				header('X-Download-Options: noopen');
			}
		}
>>>>>>> Ende der neuen, aktualisierten Datei
	}
	
	if ($size)
	{
		header("Content-Length: $size");
	}

	// Try to deliver in chunks
	@set_time_limit(0);

	$fp = @fopen($filename, 'rb');

	if ($fp !== false)
	{
		while (!feof($fp))
		{
			echo fread($fp, 8192);
		}
		fclose($fp);
	}
	else
	{
		@readfile($filename);
	}

	flush();
	exit;
}

/**
* Get a browser friendly UTF-8 encoded filename
*/
function header_filename($file)
{
	$user_agent = (!empty($_SERVER['HTTP_USER_AGENT'])) ? htmlspecialchars((string) $_SERVER['HTTP_USER_AGENT']) : '';

	// There be dragons here.
	// Not many follows the RFC...
	if (strpos($user_agent, 'MSIE') !== false || strpos($user_agent, 'Safari') !== false || strpos($user_agent, 'Konqueror') !== false)
	{
		return "filename=" . rawurlencode($file);
	}

	// follow the RFC for extended filename for the rest
	return "filename*=UTF-8''" . rawurlencode($file);
}

/**
* Check if downloading item is allowed
*/
function download_allowed()
{
	global $config, $user, $db;

	if (!$config['secure_downloads'])
	{
		return true;
	}

	$url = (!empty($_SERVER['HTTP_REFERER'])) ? trim($_SERVER['HTTP_REFERER']) : trim(getenv('HTTP_REFERER'));

	if (!$url)
	{
		return ($config['secure_allow_empty_referer']) ? true : false;
	}

	// Split URL into domain and script part
	$url = @parse_url($url);

	if ($url === false)
	{
		return ($config['secure_allow_empty_referer']) ? true : false;
	}

	$hostname = $url['host'];
	unset($url);

	$allowed = ($config['secure_allow_deny']) ? false : true;
	$iplist = array();

	if (($ip_ary = @gethostbynamel($hostname)) !== false)
	{
		foreach ($ip_ary as $ip)
		{
			if ($ip)
			{
				$iplist[] = $ip;
			}
		}
	}
	
	// Check for own server...
	$server_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : getenv('SERVER_NAME');

	// Forcing server vars is the only way to specify/override the protocol
	if ($config['force_server_vars'] || !$server_name)
	{
		$server_name = $config['server_name'];
	}

	if (preg_match('#^.*?' . preg_quote($server_name, '#') . '.*?$#i', $hostname))
	{
		$allowed = true;
	}
	
	// Get IP's and Hostnames
	if (!$allowed)
	{
		$sql = 'SELECT site_ip, site_hostname, ip_exclude
			FROM ' . SITELIST_TABLE;
		$result = $db->sql_query($sql);

		while ($row = $db->sql_fetchrow($result))
		{
			$site_ip = trim($row['site_ip']);
			$site_hostname = trim($row['site_hostname']);

			if ($site_ip)
			{
				foreach ($iplist as $ip)
				{
					if (preg_match('#^' . str_replace('\*', '.*?', preg_quote($site_ip, '#')) . '$#i', $ip))
					{
						if ($row['ip_exclude'])
						{
							$allowed = ($config['secure_allow_deny']) ? false : true;
							break 2;
						}
						else
						{
							$allowed = ($config['secure_allow_deny']) ? true : false;
						}
					}
				}
			}

			if ($site_hostname)
			{
				if (preg_match('#^' . str_replace('\*', '.*?', preg_quote($site_hostname, '#')) . '$#i', $hostname))
				{
					if ($row['ip_exclude'])
					{
						$allowed = ($config['secure_allow_deny']) ? false : true;
						break;
					}
					else
					{
						$allowed = ($config['secure_allow_deny']) ? true : false;
					}
				}
			}
		}
		$db->sql_freeresult($result);
	}
	
	return $allowed;
<<<<<<< Anfang der derzeitigen Originaldatei
======= Ende der derzeitigen Originaldatei / Anfang der neuen, aktualisierten Datei
}

/**
* Check if the browser has the file already and set the appropriate headers-
* @returns false if a resend is in order.
*/
function set_modified_headers($stamp, $browser)
{
	// let's see if we have to send the file at all
	$last_load 	=  isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? strtotime(trim($_SERVER['HTTP_IF_MODIFIED_SINCE'])) : false;
	if ((strpos(strtolower($browser), 'msie 6.0') === false) && (strpos(strtolower($browser), 'msie 8.0') === false))
	{
		if ($last_load !== false && $last_load <= $stamp)
		{
			if (substr(strtolower(@php_sapi_name()),0,3) === 'cgi')
			{
				// in theory, we shouldn't need that due to php doing it. Reality offers a differing opinion, though
				header('Status: 304 Not Modified', true, 304);
			}
			else
			{
				header('HTTP/1.0 304 Not Modified', true, 304);
			}
			// seems that we need those too ... browsers
			header('Pragma: public');
			header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() + 31536000));
			return true;
		}
		else
		{
			header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $stamp) . ' GMT');
		}
	}
	return false;
}

function file_gc()
{
	global $cache, $db;
	if (!empty($cache))
	{
		$cache->unload();
	}
	$db->sql_close();
	exit;
>>>>>>> Ende der neuen, aktualisierten Datei
}

?>

Re: Automatisches Update nach Anleitung...

Verfasst: 06.06.2009 23:33
von Mahony
Hallo
Du musst nun entscheiden, welchen Code du nehmen möchtest. Den alten, oder den neuen.


Grüße: Mahony

Re: Automatisches Update nach Anleitung...

Verfasst: 06.06.2009 23:35
von markus giersch
Supi!

Gehen beide nicht.

Hier mein Testboard
-> http://51996645.de.strato-hosting.eu/fo ... 263&t=2226 (ich weis, sid kaputt usw...)

Re: Automatisches Update nach Anleitung...

Verfasst: 06.06.2009 23:41
von Mahony
Hallo
Nimm die neue Datei und schau nach, welche deiner Modifikationen Änderungen in der /download/file.php nötig machten. Bau dann einfach diese Änderungen in die Datei ein.


Grüße: Mahony

Re: Automatisches Update nach Anleitung...

Verfasst: 06.06.2009 23:43
von markus giersch
Ähm, das ist eine Originale unveränderte phpbb Datei :-?

EDIT: Ich habe die Datei nie geändert. Aber ich sehe selber das die Datei irgendwie einen Wurm drinne hat.
Das ist eine Komplatt andere Datei als im Paket. Ich weis auch nicht wie das geht. Ich weis nur das es im alten geht und im neuen nicht. Was'n da los? Was kann ich machen?
Die Datei ist vom
* @version $Id: file.php,v 1.5 2007/11/17 22:35:33 kellanved Exp $
* @copyright (c) 2005 phpBB Group
OK, dann kann ich auch einfach die neue Datei nehmen. Aber was mache ich mit meinen alten Dateianhängen?
Wie bekomme ich die wieder?

Re: Automatisches Update nach Anleitung...

Verfasst: 07.06.2009 00:10
von Mahony
Hallo
@version $Id: file.php,v 1.5 2007/11/17 22:35:33 kellanved Exp $
Deine Datei stammt noch von der phpBB3.0.0 - Version. Hast du bis jetzt noch nie ein Update durchgeführt?


Grüße: Mahony

Re: Automatisches Update nach Anleitung...

Verfasst: 07.06.2009 00:25
von markus giersch
Doch, deswegen wundert esmich selber.

Ich habe direkt von 3.0.0 auf 3.0.4 gupt. Also DB update von 3.0.0 auf 3.0.2 über 3.0.3 auf 3.0.4
Das Forum hatteich komplett gelöscht dachte ich und phpbb3.0.4 neu aufgespielt :oops:
Was kann ich'n da nu mache?

EDIT: Geht plötzlich
Forum fertig

Jetzt werde ich mich daran machen das auf zu nehmen als video...