mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-01 22:40:39 +02:00
change the way we do chmodd'ing. I know, my implementation really sucked... good we have motivated community members who point this out. ;) Thanks to faw for providing a way better function and for discussing and also abiding to our needs. :) LEW21 should maybe credited too... he gave the inspiration without knowing it.
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@8780 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -263,11 +263,10 @@ class filespec
|
||||
*
|
||||
* @param string $destination_path Destination path, for example $config['avatar_path']
|
||||
* @param bool $overwrite If set to true, an already existing file will be overwritten
|
||||
* @param string $chmod Permission mask for chmodding the file after a successful move. The mode entered here reflects the mode of phpbb_chmod()
|
||||
* @param string $chmod Permission mask for chmodding the file after a successful move. The mode entered here reflects the mode of {@inline phpbb_chmod()}
|
||||
* @access public
|
||||
* @see phpbb_chmod()
|
||||
*/
|
||||
function move_file($destination, $overwrite = false, $skip_image_check = false, $chmod = 'rwrite')
|
||||
function move_file($destination, $overwrite = false, $skip_image_check = false, $chmod = false)
|
||||
{
|
||||
global $user, $phpbb_root_path;
|
||||
|
||||
@@ -276,6 +275,8 @@ class filespec
|
||||
return false;
|
||||
}
|
||||
|
||||
$chmod = ($chmod === false) ? CHMOD_READ | CHMOD_WRITE : $chmod;
|
||||
|
||||
// We need to trust the admin in specifying valid upload directories and an attacker not being able to overwrite it...
|
||||
$this->destination_path = $phpbb_root_path . $destination;
|
||||
|
||||
@@ -346,15 +347,7 @@ class filespec
|
||||
break;
|
||||
}
|
||||
|
||||
// Backward compatibility - in versions prior to 3.0.3 $chmod was an octal
|
||||
if (!is_string($chmod))
|
||||
{
|
||||
@chmod($this->destination_file, $chmod);
|
||||
}
|
||||
else
|
||||
{
|
||||
phpbb_chmod($this->destination_file, $chmod);
|
||||
}
|
||||
phpbb_chmod($this->destination_file, $chmod);
|
||||
}
|
||||
|
||||
// Try to get real filesize from destination folder
|
||||
|
Reference in New Issue
Block a user