Vergleich inc/functions_upload.php - 1.8.7 - 1.8.8

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 288Zeile 288
		}
}


		}
}


	// Next check the file size
if($avatar['size'] > ($mybb->settings['avatarsize']*1024) && $mybb->settings['avatarsize'] > 0)
{
delete_uploaded_file($avatarpath."/".$filename);
$ret['error'] = $lang->error_uploadsize;
return $ret;





	// Check a list of known MIME types to establish what kind of avatar we're uploading
$attachtypes = (array)$cache->read('attachtypes');

$allowed_mime_types = array();
foreach($attachtypes as $attachtype)
{
if(defined('IN_ADMINCP') || is_member($attachtype['groups']) && $attachtype['avatarfile'])
{
$allowed_mime_types[$attachtype['mimetype']] = $attachtype['maxsize'];
}

	}


	}


	// Check a list of known MIME types to establish what kind of avatar we're uploading
switch(my_strtolower($avatar['type']))


	$avatar['type'] = my_strtolower($avatar['type']);

switch($avatar['type'])

	{
case "image/gif":
$img_type = 1;

	{
case "image/gif":
$img_type = 1;

			break;

			break;

		case "image/jpeg":
case "image/x-jpg":
case "image/x-jpeg":
case "image/pjpeg":
case "image/jpg":
$img_type = 2;

		case "image/jpeg":
case "image/x-jpg":
case "image/x-jpeg":
case "image/pjpeg":
case "image/jpg":
$img_type = 2;

			break;

			break;

		case "image/png":
case "image/x-png":
$img_type = 3;

		case "image/png":
case "image/x-png":
$img_type = 3;

 
			break;
case "image/bmp":
case "image/x-bmp":
case "image/x-windows-bmp":
$img_type = 6;

			break;
default:
$img_type = 0;
}

// Check if the uploaded file type matches the correct image type (returned by getimagesize)

			break;
default:
$img_type = 0;
}

// Check if the uploaded file type matches the correct image type (returned by getimagesize)

	if($img_dimensions[2] != $img_type || $img_type == 0)

	if(empty($allowed_mime_types[$avatar['type']]) || $img_dimensions[2] != $img_type || $img_type == 0)

	{
$ret['error'] = $lang->error_uploadfailed;
delete_uploaded_file($avatarpath."/".$filename);
return $ret;
}

	{
$ret['error'] = $lang->error_uploadfailed;
delete_uploaded_file($avatarpath."/".$filename);
return $ret;
}

 

// Next check the file size
if(($avatar['size'] > ($mybb->settings['avatarsize']*1024) && $mybb->settings['avatarsize'] > 0) || $avatar['size'] > $allowed_mime_types[$avatar['type']] && !($mybb->settings['avatarsize'] > 0))
{
delete_uploaded_file($avatarpath."/".$filename);
$ret['error'] = $lang->error_uploadsize;
return $ret;
}


	// Everything is okay so lets delete old avatars for this user
remove_avatars($uid, $filename);

	// Everything is okay so lets delete old avatars for this user
remove_avatars($uid, $filename);





	$ret = array(
"avatar" => $mybb->settings['avataruploadpath']."/".$filename,
"width" => (int)$img_dimensions[0],

	$ret = array(
"avatar" => $mybb->settings['avataruploadpath']."/".$filename,
"width" => (int)$img_dimensions[0],

Zeile 386Zeile 405
		return $ret;
}


		return $ret;
}


    $attachtypes = $cache->read('attachtypes');

    $attachtypes = (array)$cache->read('attachtypes');

    $attachment = $plugins->run_hooks("upload_attachment_start", $attachment);

    $attachment = $plugins->run_hooks("upload_attachment_start", $attachment);

 

$allowed_mime_types = array();
foreach($attachtypes as $ext => $attachtype)
{
if(!is_member($attachtype['groups']) || ($attachtype['forums'] != -1 && strpos(','.$attachtype['forums'].',', ','.$forum['fid'].',') === false))
{
unset($attachtypes[$ext]);
}
}


$ext = get_extension($attachment['name']);
// Check if we have a valid extension


$ext = get_extension($attachment['name']);
// Check if we have a valid extension