| 
									
										
										
										
											2013-07-19 18:52:33 +03:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2013-08-08 00:22:21 +03:00
										 |  |  | /** | 
					
						
							| 
									
										
										
										
											2013-08-28 12:02:27 +02:00
										 |  |  |  * ownCloud - Documents App | 
					
						
							| 
									
										
										
										
											2013-08-08 00:22:21 +03:00
										 |  |  |  * | 
					
						
							|  |  |  |  * @author Victor Dubiniuk | 
					
						
							|  |  |  |  * @copyright 2013 Victor Dubiniuk victor.dubiniuk@gmail.com | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This file is licensed under the Affero General Public License version 3 or | 
					
						
							|  |  |  |  * later. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2013-07-19 18:52:33 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-07 20:05:35 +03:00
										 |  |  | namespace OCA\Documents; | 
					
						
							| 
									
										
										
										
											2013-07-19 18:52:33 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-26 22:55:17 +03:00
										 |  |  | /** | 
					
						
							|  |  |  |  * Class processing complete download | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2013-09-07 20:05:35 +03:00
										 |  |  | class Download_Simple extends \OCA\Documents\Download { | 
					
						
							| 
									
										
										
										
											2013-08-16 18:54:31 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-11-09 17:29:12 +03:00
										 |  |  | 	public function __construct($owner, $filepath){ | 
					
						
							|  |  |  | 		$this->view = $this->getView($owner); | 
					
						
							| 
									
										
										
										
											2013-07-19 18:52:33 +03:00
										 |  |  | 		$this->filepath = $filepath; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	 | 
					
						
							| 
									
										
										
										
											2013-08-16 18:54:31 +03:00
										 |  |  | 	/** | 
					
						
							|  |  |  | 	 * Send the whole file content as a response | 
					
						
							|  |  |  | 	 */ | 
					
						
							| 
									
										
										
										
											2013-07-19 18:52:33 +03:00
										 |  |  | 	public function sendResponse(){ | 
					
						
							| 
									
										
										
										
											2014-01-04 00:24:59 +03:00
										 |  |  | 		$mimetype = $this->getMimeType(); | 
					
						
							|  |  |  | 		$content = $this->view->file_get_contents($this->filepath); | 
					
						
							|  |  |  | 		$data = Filter::read($content, $mimetype); | 
					
						
							|  |  |  | 		 | 
					
						
							|  |  |  | 		header( 'Content-Type:' . $data['mimetype'] ); | 
					
						
							| 
									
										
										
										
											2013-07-19 18:52:33 +03:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		$encodedName = rawurlencode($this->getFilename()); | 
					
						
							|  |  |  | 		if (preg_match("/MSIE/", $_SERVER["HTTP_USER_AGENT"])){ | 
					
						
							|  |  |  | 			header( | 
					
						
							|  |  |  | 					'Content-Disposition: attachment; filepath="' . $encodedName . '"' | 
					
						
							|  |  |  | 					); | 
					
						
							|  |  |  | 		} else { | 
					
						
							|  |  |  | 			header('Content-Disposition: attachment; filepath*=UTF-8\'\'' . $encodedName | 
					
						
							|  |  |  | 					. '; filepath="' . $encodedName . '"'); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		 | 
					
						
							| 
									
										
										
										
											2014-01-04 00:24:59 +03:00
										 |  |  | 		header('Content-Length: ' . strlen($data['content'])); | 
					
						
							| 
									
										
										
										
											2013-07-19 18:52:33 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 		\OC_Util::obEnd(); | 
					
						
							| 
									
										
										
										
											2014-01-04 00:24:59 +03:00
										 |  |  | 		 | 
					
						
							|  |  |  | 		echo $data['content']; | 
					
						
							| 
									
										
										
										
											2013-07-19 18:52:33 +03:00
										 |  |  | 	} | 
					
						
							|  |  |  | } |