Vergleich inc/functions_upload.php - 1.4.0 - 1.4.15

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 6Zeile 6
 * Website: http://www.mybboard.net
* License: http://www.mybboard.net/about/license
*

 * Website: http://www.mybboard.net
* License: http://www.mybboard.net/about/license
*

 * $Id: functions_upload.php 4036 2008-07-24 11:35:12Z ZiNgaBuRgA $

 * $Id: functions_upload.php 5379 2011-02-21 11:06:42Z Tomm $

 */



 */



Zeile 36Zeile 36
	$plugins->run_hooks("remove_attachment_do_delete", $attachment);

$db->delete_query("attachments", "aid='{$attachment['aid']}'");

	$plugins->run_hooks("remove_attachment_do_delete", $attachment);

$db->delete_query("attachments", "aid='{$attachment['aid']}'");

	@unlink($mybb->settings['uploadspath']."/".$attachment['attachname']);
if($attachment['thumbnail'])
{
@unlink($mybb->settings['uploadspath']."/".$attachment['thumbnail']);
}

$date_directory = explode('/', $attachment['attachname']);
if(@is_dir($mybb->settings['uploadspath']."/".$date_directory[0]))
{
@rmdir($mybb->settings['uploadspath']."/".$date_directory[0]);
}

















	
if(defined('IN_ADMINCP'))
{
$uploadpath = '../'.$mybb->settings['uploadspath'];
}
else
{
$uploadpath = $mybb->settings['uploadspath'];
}

// Check if this attachment is referenced in any other posts. If it isn't, then we are safe to delete the actual file.
$query = $db->simple_select("attachments", "COUNT(aid) as numreferences", "attachname='".$db->escape_string($attachment['attachname'])."'");
if($db->fetch_field($query, "numreferences") == 0)
{
@unlink($uploadpath."/".$attachment['attachname']);
if($attachment['thumbnail'])
{
@unlink($uploadpath."/".$attachment['thumbnail']);
}

$date_directory = explode('/', $attachment['attachname']);
if(@is_dir($uploadpath."/".$date_directory[0]))
{
@rmdir($uploadpath."/".$date_directory[0]);
}
}


	if($attachment['visible'] == 1 && $pid)
{
$post = get_post($pid);

	if($attachment['visible'] == 1 && $pid)
{
$post = get_post($pid);

Zeile 64Zeile 79
function remove_attachments($pid, $posthash="")
{
global $db, $mybb, $plugins;

function remove_attachments($pid, $posthash="")
{
global $db, $mybb, $plugins;

	

	

	if($pid)
{
$post = get_post($pid);

	if($pid)
{
$post = get_post($pid);

Zeile 73Zeile 88
	if($posthash != "" && !$pid)
{
$query = $db->simple_select("attachments", "*", "posthash='$posthash'");

	if($posthash != "" && !$pid)
{
$query = $db->simple_select("attachments", "*", "posthash='$posthash'");

	}
else
{

	}
else
{

		$query = $db->simple_select("attachments", "*", "pid='$pid'");

		$query = $db->simple_select("attachments", "*", "pid='$pid'");

 
	}

if(defined('IN_ADMINCP'))
{
$uploadpath = '../'.$mybb->settings['uploadspath'];
}
else
{
$uploadpath = $mybb->settings['uploadspath'];

	}

$num_attachments = 0;

	}

$num_attachments = 0;

Zeile 85Zeile 109
		if($attachment['visible'] == 1)
{
$num_attachments++;

		if($attachment['visible'] == 1)
{
$num_attachments++;

		}

$plugins->run_hooks("remove_attachments_do_delete", $attachment);

		}

$plugins->run_hooks("remove_attachments_do_delete", $attachment);

		
$db->delete_query("attachments", "aid='".$attachment['aid']."'");


		
$db->delete_query("attachments", "aid='".$attachment['aid']."'");


		@unlink($mybb->settings['uploadspath']."/".$attachment['attachname']);
if($attachment['thumbnail'])


		// Check if this attachment is referenced in any other posts. If it isn't, then we are safe to delete the actual file.
$query2 = $db->simple_select("attachments", "COUNT(aid) as numreferences", "attachname='".$db->escape_string($attachment['attachname'])."'");
if($db->fetch_field($query2, "numreferences") == 0)

		{

		{

			@unlink($mybb->settings['uploadspath']."/".$attachment['thumbnail']);
}




			@unlink($uploadpath."/".$attachment['attachname']);
if($attachment['thumbnail'])
{
@unlink($uploadpath."/".$attachment['thumbnail']);
}





		$date_directory = explode('/', $attachment['attachname']);
if(@is_dir($mybb->settings['uploadspath']."/".$date_directory[0]))
{
@rmdir($mybb->settings['uploadspath']."/".$date_directory[0]);


			$date_directory = explode('/', $attachment['attachname']);
if(@is_dir($uploadpath."/".$date_directory[0]))
{
@rmdir($uploadpath."/".$date_directory[0]);
}

		}
}


		}
}


Zeile 175Zeile 204

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


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

	if(!preg_match("#(gif|jpg|jpeg|jpe|bmp|png)$#i", $ext)) 

	if(!preg_match("#^(gif|jpg|jpeg|jpe|bmp|png)$#i", $ext)) 

	{
$ret['error'] = $lang->error_avatartype;

	{
$ret['error'] = $lang->error_avatartype;

		return $ret;
}


		return $ret;
}


	if(defined('IN_ADMINCP'))
{
$avatarpath = '../'.$mybb->settings['avataruploadpath'];

	if(defined('IN_ADMINCP'))
{
$avatarpath = '../'.$mybb->settings['avataruploadpath'];

Zeile 249Zeile 278
				$ret['error'] = $lang->sprintf($lang->error_avatartoobig, $maxwidth, $maxheight);
if($mybb->settings['avatarresizing'] == "user")
{

				$ret['error'] = $lang->sprintf($lang->error_avatartoobig, $maxwidth, $maxheight);
if($mybb->settings['avatarresizing'] == "user")
{

					$ret['error'] .= "<br /<br />".$lang->error_avataruserresize;

					$ret['error'] .= "<br /><br />".$lang->error_avataruserresize;

				}
@unlink($avatarpath."/".$filename);
return $ret;

				}
@unlink($avatarpath."/".$filename);
return $ret;

Zeile 294Zeile 323
		return $ret;		
}
// Everything is okay so lets delete old avatars for this user

		return $ret;		
}
// Everything is okay so lets delete old avatars for this user

	remove_avatars($user['uid'], $filename);

	remove_avatars($uid, $filename);


$ret = array(
"avatar" => $mybb->settings['avataruploadpath']."/".$filename,


$ret = array(
"avatar" => $mybb->settings['avataruploadpath']."/".$filename,

Zeile 385Zeile 414
	}

// Check if an attachment with this name is already in the post

	}

// Check if an attachment with this name is already in the post

	$query = $db->simple_select("attachments", "*", "filename='".$db->escape_string($attachment['name'])."' AND (posthash='$posthash' OR (pid='$pid' AND pid!='0'))");

	$query = $db->simple_select("attachments", "*", "filename='".$db->escape_string($attachment['name'])."' AND (posthash='$posthash' OR (pid='".intval($pid)."' AND pid!='0'))");

	$prevattach = $db->fetch_array($query);
if($prevattach['aid'])
{

	$prevattach = $db->fetch_array($query);
if($prevattach['aid'])
{

Zeile 403Zeile 432
		{
$month_dir = '';
}

		{
$month_dir = '';
}

	}    








	}

// If safe_mode is enabled, don't attempt to use the monthly directories as it won't work
if(ini_get('safe_mode') == 1 || strtolower(ini_get('safe_mode')) == 'on')
{
$month_dir = '';
}


	// All seems to be good, lets move the attachment!

	// All seems to be good, lets move the attachment!

	$filename = "post_".$mybb->user['uid']."_".TIME_NOW.".attach";


	$filename = "post_".$mybb->user['uid']."_".TIME_NOW."_".md5(random_str()).".attach";


	$file = upload_file($attachment, $mybb->settings['uploadspath']."/".$month_dir, $filename);

	$file = upload_file($attachment, $mybb->settings['uploadspath']."/".$month_dir, $filename);

 
	
// Failed to create the attachment in the monthly directory, just throw it in the main directory
if($file['error'] && $month_dir)
{
$file = upload_file($attachment, $mybb->settings['uploadspath'].'/', $filename);
}


if($month_dir)
{


if($month_dir)
{

Zeile 555Zeile 598
		$upload['error'] = 2;
return $upload;
}

		$upload['error'] = 2;
return $upload;
}

	@my_chmod($path."/".$filename, 0644);

	@my_chmod($path."/".$filename, '0644');

	$upload['filename'] = $filename;
$upload['path'] = $path;
$upload['type'] = $file['type'];

	$upload['filename'] = $filename;
$upload['path'] = $path;
$upload['type'] = $file['type'];