diff options
Diffstat (limited to 'phpBB/phpbb/avatar/driver/upload.php')
| -rw-r--r-- | phpBB/phpbb/avatar/driver/upload.php | 41 | 
1 files changed, 23 insertions, 18 deletions
diff --git a/phpBB/phpbb/avatar/driver/upload.php b/phpBB/phpbb/avatar/driver/upload.php index 1939a91cfe..a0c23cb624 100644 --- a/phpBB/phpbb/avatar/driver/upload.php +++ b/phpBB/phpbb/avatar/driver/upload.php @@ -24,43 +24,43 @@ class upload extends \phpbb\avatar\driver\driver  	protected $filesystem;  	/** -	* @var \phpbb\mimetype\guesser -	*/ -	protected $mimetype_guesser; - -	/**  	* @var \phpbb\event\dispatcher_interface  	*/  	protected $dispatcher;  	/** +	 * @var \phpbb\files\factory +	 */ +	protected $files_factory; + +	/**  	* Construct a driver object  	*  	* @param \phpbb\config\config $config phpBB configuration  	* @param string $phpbb_root_path Path to the phpBB root  	* @param string $php_ext PHP file extension -	* @param \phpbb\filesystem\filesystem_interface phpBB filesystem helper +	* @param \phpbb\filesystem\filesystem_interface $filesystem phpBB filesystem helper  	* @param \phpbb\path_helper $path_helper phpBB path helper -	* @param \phpbb\mimetype\guesser $mimetype_guesser Mimetype guesser  	* @param \phpbb\event\dispatcher_interface $dispatcher phpBB Event dispatcher object +	* @param \phpbb\files\factory $files_factory File classes factory  	* @param \phpbb\cache\driver\driver_interface $cache Cache driver  	*/ -	public function __construct(\phpbb\config\config $config, $phpbb_root_path, $php_ext, \phpbb\filesystem\filesystem_interface $filesystem, \phpbb\path_helper $path_helper, \phpbb\mimetype\guesser $mimetype_guesser, \phpbb\event\dispatcher_interface $dispatcher, \phpbb\cache\driver\driver_interface $cache = null) +	public function __construct(\phpbb\config\config $config, $phpbb_root_path, $php_ext, \phpbb\filesystem\filesystem_interface $filesystem, \phpbb\path_helper $path_helper, \phpbb\event\dispatcher_interface $dispatcher, \phpbb\files\factory $files_factory, \phpbb\cache\driver\driver_interface $cache = null)  	{  		$this->config = $config;  		$this->phpbb_root_path = $phpbb_root_path;  		$this->php_ext = $php_ext;  		$this->filesystem = $filesystem;  		$this->path_helper = $path_helper; -		$this->mimetype_guesser = $mimetype_guesser;  		$this->dispatcher = $dispatcher; +		$this->files_factory = $files_factory;  		$this->cache = $cache;  	}  	/**  	* {@inheritdoc}  	*/ -	public function get_data($row, $ignore_config = false) +	public function get_data($row)  	{  		$root_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? generate_board_url() . '/' : $this->path_helper->get_web_root_path(); @@ -99,19 +99,24 @@ class upload extends \phpbb\avatar\driver\driver  			return false;  		} -		if (!class_exists('fileupload')) -		{ -			include($this->phpbb_root_path . 'includes/functions_upload.' . $this->php_ext); -		} - -		$upload = new \fileupload($this->filesystem, 'AVATAR_', $this->allowed_extensions, $this->config['avatar_filesize'], $this->config['avatar_min_width'], $this->config['avatar_min_height'], $this->config['avatar_max_width'], $this->config['avatar_max_height'], (isset($this->config['mime_triggers']) ? explode('|', $this->config['mime_triggers']) : false)); +		/** @var \phpbb\files\upload $upload */ +		$upload = $this->files_factory->get('upload') +			->set_error_prefix('AVATAR_') +			->set_allowed_extensions($this->allowed_extensions) +			->set_max_filesize($this->config['avatar_filesize']) +			->set_allowed_dimensions( +				$this->config['avatar_min_width'], +				$this->config['avatar_min_height'], +				$this->config['avatar_max_width'], +				$this->config['avatar_max_height']) +			->set_disallowed_content((isset($this->config['mime_triggers']) ? explode('|', $this->config['mime_triggers']) : false));  		$url = $request->variable('avatar_upload_url', '');  		$upload_file = $request->file('avatar_upload_file');  		if (!empty($upload_file['name']))  		{ -			$file = $upload->form_upload('avatar_upload_file', $this->mimetype_guesser); +			$file = $upload->handle_upload('files.types.form', 'avatar_upload_file');  		}  		else if (!empty($this->config['allow_avatar_remote_upload']) && !empty($url))  		{ @@ -141,7 +146,7 @@ class upload extends \phpbb\avatar\driver\driver  				return false;  			} -			$file = $upload->remote_upload($url, $this->mimetype_guesser); +			$file = $upload->handle_upload('files.types.remote', $url);  		}  		else  		{  | 
