Blame view

sources/apps/documents/lib/download/simple.php 1.19 KB
d1bafeea1   Kload   [fix] Upgrade to ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
  <?php
  /**
   * ownCloud - Documents App
   *
   * @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.
   */
  
  namespace OCA\Documents;
  
  /**
   * Class processing complete download
   */
  class Download_Simple extends \OCA\Documents\Download {
  
  	public function __construct($owner, $filepath){
  		$this->view = $this->getView($owner);
  		$this->filepath = $filepath;
  	}
  	
  	/**
  	 * Send the whole file content as a response
  	 */
  	public function sendResponse(){
  		$mimetype = $this->getMimeType();
  		$content = $this->view->file_get_contents($this->filepath);
  		$data = Filter::read($content, $mimetype);
  		
  		header( 'Content-Type:' . $data['mimetype'] );
  		
  		$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 . '"');
  		}
  		
  		header('Content-Length: ' . strlen($data['content']));
  
  		\OC_Util::obEnd();
  		
  		echo $data['content'];
  	}
  }