primo commit
This commit is contained in:
		
							
								
								
									
										113
									
								
								libraries/f0f/download/adapter/abstract.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										113
									
								
								libraries/f0f/download/adapter/abstract.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,113 @@ | ||||
| <?php | ||||
| /** | ||||
|  * @package     FrameworkOnFramework | ||||
|  * @subpackage  dispatcher | ||||
|  * @copyright   Copyright (C) 2010-2016 Nicholas K. Dionysopoulos / Akeeba Ltd. All rights reserved. | ||||
|  * @license     GNU General Public License version 2 or later; see LICENSE.txt | ||||
|  */ | ||||
| // Protect from unauthorized access | ||||
| defined('F0F_INCLUDED') or die; | ||||
|  | ||||
| /** | ||||
|  * Abstract base class for download adapters | ||||
|  */ | ||||
| abstract class F0FDownloadAdapterAbstract implements F0FDownloadInterface | ||||
| { | ||||
| 	public $priority = 100; | ||||
|  | ||||
| 	public $name = ''; | ||||
|  | ||||
| 	public $isSupported = false; | ||||
|  | ||||
| 	public $supportsChunkDownload = false; | ||||
|  | ||||
| 	public $supportsFileSize = false; | ||||
|  | ||||
| 	/** | ||||
| 	 * Does this download adapter support downloading files in chunks? | ||||
| 	 * | ||||
| 	 * @return  boolean  True if chunk download is supported | ||||
| 	 */ | ||||
| 	public function supportsChunkDownload() | ||||
| 	{ | ||||
| 		return $this->supportsChunkDownload; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Does this download adapter support reading the size of a remote file? | ||||
| 	 * | ||||
| 	 * @return  boolean  True if remote file size determination is supported | ||||
| 	 */ | ||||
| 	public function supportsFileSize() | ||||
| 	{ | ||||
| 		return $this->supportsFileSize; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Is this download class supported in the current server environment? | ||||
| 	 * | ||||
| 	 * @return  boolean  True if this server environment supports this download class | ||||
| 	 */ | ||||
| 	public function isSupported() | ||||
| 	{ | ||||
| 		return $this->isSupported; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Get the priority of this adapter. If multiple download adapters are | ||||
| 	 * supported on a site, the one with the highest priority will be | ||||
| 	 * used. | ||||
| 	 * | ||||
| 	 * @return  boolean | ||||
| 	 */ | ||||
| 	public function getPriority() | ||||
| 	{ | ||||
| 		return $this->priority; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Returns the name of this download adapter in use | ||||
| 	 * | ||||
| 	 * @return  string | ||||
| 	 */ | ||||
| 	public function getName() | ||||
| 	{ | ||||
| 		return $this->name; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Download a part (or the whole) of a remote URL and return the downloaded | ||||
| 	 * data. You are supposed to check the size of the returned data. If it's | ||||
| 	 * smaller than what you expected you've reached end of file. If it's empty | ||||
| 	 * you have tried reading past EOF. If it's larger than what you expected | ||||
| 	 * the server doesn't support chunk downloads. | ||||
| 	 * | ||||
| 	 * If this class' supportsChunkDownload returns false you should assume | ||||
| 	 * that the $from and $to parameters will be ignored. | ||||
| 	 * | ||||
| 	 * @param   string   $url     The remote file's URL | ||||
| 	 * @param   integer  $from    Byte range to start downloading from. Use null for start of file. | ||||
| 	 * @param   integer  $to      Byte range to stop downloading. Use null to download the entire file ($from is ignored) | ||||
| 	 * @param   array    $params  Additional params that will be added before performing the download | ||||
| 	 * | ||||
| 	 * @return  string  The raw file data retrieved from the remote URL. | ||||
| 	 * | ||||
| 	 * @throws  Exception  A generic exception is thrown on error | ||||
| 	 */ | ||||
| 	public function downloadAndReturn($url, $from = null, $to = null, array $params = array()) | ||||
| 	{ | ||||
| 		return ''; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Get the size of a remote file in bytes | ||||
| 	 * | ||||
| 	 * @param   string  $url  The remote file's URL | ||||
| 	 * | ||||
| 	 * @return  integer  The file size, or -1 if the remote server doesn't support this feature | ||||
| 	 */ | ||||
| 	public function getFileSize($url) | ||||
| 	{ | ||||
| 		return -1; | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user