@@ -30,58 +30,58 @@ |
||
30 | 30 | use OCP\Files\Cache\ICacheEntry; |
31 | 31 | |
32 | 32 | class HomeCache extends Cache { |
33 | - /** |
|
34 | - * get the size of a folder and set it in the cache |
|
35 | - * |
|
36 | - * @param string $path |
|
37 | - * @param array $entry (optional) meta data of the folder |
|
38 | - * @return int |
|
39 | - */ |
|
40 | - public function calculateFolderSize($path, $entry = null) { |
|
41 | - if ($path !== '/' and $path !== '' and $path !== 'files' and $path !== 'files_trashbin' and $path !== 'files_versions') { |
|
42 | - return parent::calculateFolderSize($path, $entry); |
|
43 | - } elseif ($path === '' or $path === '/') { |
|
44 | - // since the size of / isn't used (the size of /files is used instead) there is no use in calculating it |
|
45 | - return 0; |
|
46 | - } |
|
33 | + /** |
|
34 | + * get the size of a folder and set it in the cache |
|
35 | + * |
|
36 | + * @param string $path |
|
37 | + * @param array $entry (optional) meta data of the folder |
|
38 | + * @return int |
|
39 | + */ |
|
40 | + public function calculateFolderSize($path, $entry = null) { |
|
41 | + if ($path !== '/' and $path !== '' and $path !== 'files' and $path !== 'files_trashbin' and $path !== 'files_versions') { |
|
42 | + return parent::calculateFolderSize($path, $entry); |
|
43 | + } elseif ($path === '' or $path === '/') { |
|
44 | + // since the size of / isn't used (the size of /files is used instead) there is no use in calculating it |
|
45 | + return 0; |
|
46 | + } |
|
47 | 47 | |
48 | - $totalSize = 0; |
|
49 | - if (is_null($entry)) { |
|
50 | - $entry = $this->get($path); |
|
51 | - } |
|
52 | - if ($entry && $entry['mimetype'] === 'httpd/unix-directory') { |
|
53 | - $id = $entry['fileid']; |
|
54 | - $sql = 'SELECT SUM(`size`) AS f1 ' . |
|
55 | - 'FROM `*PREFIX*filecache` ' . |
|
56 | - 'WHERE `parent` = ? AND `storage` = ? AND `size` >= 0'; |
|
57 | - $result = \OC_DB::executeAudited($sql, array($id, $this->getNumericStorageId())); |
|
58 | - if ($row = $result->fetchRow()) { |
|
59 | - $result->closeCursor(); |
|
60 | - list($sum) = array_values($row); |
|
61 | - $totalSize = 0 + $sum; |
|
62 | - $entry['size'] += 0; |
|
63 | - if ($entry['size'] !== $totalSize) { |
|
64 | - $this->update($id, array('size' => $totalSize)); |
|
65 | - } |
|
66 | - } |
|
67 | - } |
|
68 | - return $totalSize; |
|
69 | - } |
|
48 | + $totalSize = 0; |
|
49 | + if (is_null($entry)) { |
|
50 | + $entry = $this->get($path); |
|
51 | + } |
|
52 | + if ($entry && $entry['mimetype'] === 'httpd/unix-directory') { |
|
53 | + $id = $entry['fileid']; |
|
54 | + $sql = 'SELECT SUM(`size`) AS f1 ' . |
|
55 | + 'FROM `*PREFIX*filecache` ' . |
|
56 | + 'WHERE `parent` = ? AND `storage` = ? AND `size` >= 0'; |
|
57 | + $result = \OC_DB::executeAudited($sql, array($id, $this->getNumericStorageId())); |
|
58 | + if ($row = $result->fetchRow()) { |
|
59 | + $result->closeCursor(); |
|
60 | + list($sum) = array_values($row); |
|
61 | + $totalSize = 0 + $sum; |
|
62 | + $entry['size'] += 0; |
|
63 | + if ($entry['size'] !== $totalSize) { |
|
64 | + $this->update($id, array('size' => $totalSize)); |
|
65 | + } |
|
66 | + } |
|
67 | + } |
|
68 | + return $totalSize; |
|
69 | + } |
|
70 | 70 | |
71 | - /** |
|
72 | - * @param string $path |
|
73 | - * @return ICacheEntry |
|
74 | - */ |
|
75 | - public function get($path) { |
|
76 | - $data = parent::get($path); |
|
77 | - if ($path === '' or $path === '/') { |
|
78 | - // only the size of the "files" dir counts |
|
79 | - $filesData = parent::get('files'); |
|
71 | + /** |
|
72 | + * @param string $path |
|
73 | + * @return ICacheEntry |
|
74 | + */ |
|
75 | + public function get($path) { |
|
76 | + $data = parent::get($path); |
|
77 | + if ($path === '' or $path === '/') { |
|
78 | + // only the size of the "files" dir counts |
|
79 | + $filesData = parent::get('files'); |
|
80 | 80 | |
81 | - if (isset($filesData['size'])) { |
|
82 | - $data['size'] = $filesData['size']; |
|
83 | - } |
|
84 | - } |
|
85 | - return $data; |
|
86 | - } |
|
81 | + if (isset($filesData['size'])) { |
|
82 | + $data['size'] = $filesData['size']; |
|
83 | + } |
|
84 | + } |
|
85 | + return $data; |
|
86 | + } |
|
87 | 87 | } |
@@ -51,8 +51,8 @@ |
||
51 | 51 | } |
52 | 52 | if ($entry && $entry['mimetype'] === 'httpd/unix-directory') { |
53 | 53 | $id = $entry['fileid']; |
54 | - $sql = 'SELECT SUM(`size`) AS f1 ' . |
|
55 | - 'FROM `*PREFIX*filecache` ' . |
|
54 | + $sql = 'SELECT SUM(`size`) AS f1 '. |
|
55 | + 'FROM `*PREFIX*filecache` '. |
|
56 | 56 | 'WHERE `parent` = ? AND `storage` = ? AND `size` >= 0'; |
57 | 57 | $result = \OC_DB::executeAudited($sql, array($id, $this->getNumericStorageId())); |
58 | 58 | if ($row = $result->fetchRow()) { |
@@ -67,7 +67,7 @@ |
||
67 | 67 | if ($sourceEntry->getMimeType() === ICacheEntry::DIRECTORY_MIMETYPE) { |
68 | 68 | $folderContent = $sourceCache->getFolderContentsById($sourceEntry->getId()); |
69 | 69 | foreach ($folderContent as $subEntry) { |
70 | - $subTargetPath = $targetPath . '/' . $subEntry->getName(); |
|
70 | + $subTargetPath = $targetPath.'/'.$subEntry->getName(); |
|
71 | 71 | $this->copyFromCache($sourceCache, $subEntry, $subTargetPath); |
72 | 72 | } |
73 | 73 | } |
@@ -29,63 +29,63 @@ |
||
29 | 29 | * Fallback implementation for moveFromCache |
30 | 30 | */ |
31 | 31 | trait MoveFromCacheTrait { |
32 | - /** |
|
33 | - * store meta data for a file or folder |
|
34 | - * |
|
35 | - * @param string $file |
|
36 | - * @param array $data |
|
37 | - * |
|
38 | - * @return int file id |
|
39 | - * @throws \RuntimeException |
|
40 | - */ |
|
41 | - abstract public function put($file, array $data); |
|
32 | + /** |
|
33 | + * store meta data for a file or folder |
|
34 | + * |
|
35 | + * @param string $file |
|
36 | + * @param array $data |
|
37 | + * |
|
38 | + * @return int file id |
|
39 | + * @throws \RuntimeException |
|
40 | + */ |
|
41 | + abstract public function put($file, array $data); |
|
42 | 42 | |
43 | - /** |
|
44 | - * Move a file or folder in the cache |
|
45 | - * |
|
46 | - * @param \OCP\Files\Cache\ICache $sourceCache |
|
47 | - * @param string $sourcePath |
|
48 | - * @param string $targetPath |
|
49 | - */ |
|
50 | - public function moveFromCache(ICache $sourceCache, $sourcePath, $targetPath) { |
|
51 | - $sourceEntry = $sourceCache->get($sourcePath); |
|
43 | + /** |
|
44 | + * Move a file or folder in the cache |
|
45 | + * |
|
46 | + * @param \OCP\Files\Cache\ICache $sourceCache |
|
47 | + * @param string $sourcePath |
|
48 | + * @param string $targetPath |
|
49 | + */ |
|
50 | + public function moveFromCache(ICache $sourceCache, $sourcePath, $targetPath) { |
|
51 | + $sourceEntry = $sourceCache->get($sourcePath); |
|
52 | 52 | |
53 | - $this->copyFromCache($sourceCache, $sourceEntry, $targetPath); |
|
53 | + $this->copyFromCache($sourceCache, $sourceEntry, $targetPath); |
|
54 | 54 | |
55 | - $sourceCache->remove($sourcePath); |
|
56 | - } |
|
55 | + $sourceCache->remove($sourcePath); |
|
56 | + } |
|
57 | 57 | |
58 | - /** |
|
59 | - * Copy a file or folder in the cache |
|
60 | - * |
|
61 | - * @param \OCP\Files\Cache\ICache $sourceCache |
|
62 | - * @param ICacheEntry $sourceEntry |
|
63 | - * @param string $targetPath |
|
64 | - */ |
|
65 | - public function copyFromCache(ICache $sourceCache, ICacheEntry $sourceEntry, $targetPath) { |
|
66 | - $this->put($targetPath, $this->cacheEntryToArray($sourceEntry)); |
|
67 | - if ($sourceEntry->getMimeType() === ICacheEntry::DIRECTORY_MIMETYPE) { |
|
68 | - $folderContent = $sourceCache->getFolderContentsById($sourceEntry->getId()); |
|
69 | - foreach ($folderContent as $subEntry) { |
|
70 | - $subTargetPath = $targetPath . '/' . $subEntry->getName(); |
|
71 | - $this->copyFromCache($sourceCache, $subEntry, $subTargetPath); |
|
72 | - } |
|
73 | - } |
|
74 | - } |
|
58 | + /** |
|
59 | + * Copy a file or folder in the cache |
|
60 | + * |
|
61 | + * @param \OCP\Files\Cache\ICache $sourceCache |
|
62 | + * @param ICacheEntry $sourceEntry |
|
63 | + * @param string $targetPath |
|
64 | + */ |
|
65 | + public function copyFromCache(ICache $sourceCache, ICacheEntry $sourceEntry, $targetPath) { |
|
66 | + $this->put($targetPath, $this->cacheEntryToArray($sourceEntry)); |
|
67 | + if ($sourceEntry->getMimeType() === ICacheEntry::DIRECTORY_MIMETYPE) { |
|
68 | + $folderContent = $sourceCache->getFolderContentsById($sourceEntry->getId()); |
|
69 | + foreach ($folderContent as $subEntry) { |
|
70 | + $subTargetPath = $targetPath . '/' . $subEntry->getName(); |
|
71 | + $this->copyFromCache($sourceCache, $subEntry, $subTargetPath); |
|
72 | + } |
|
73 | + } |
|
74 | + } |
|
75 | 75 | |
76 | - private function cacheEntryToArray(ICacheEntry $entry) { |
|
77 | - return [ |
|
78 | - 'size' => $entry->getSize(), |
|
79 | - 'mtime' => $entry->getMTime(), |
|
80 | - 'storage_mtime' => $entry->getStorageMTime(), |
|
81 | - 'mimetype' => $entry->getMimeType(), |
|
82 | - 'mimepart' => $entry->getMimePart(), |
|
83 | - 'etag' => $entry->getEtag(), |
|
84 | - 'permissions' => $entry->getPermissions(), |
|
85 | - 'encrypted' => $entry->isEncrypted(), |
|
86 | - 'creation_time' => $entry->getCreationTime(), |
|
87 | - 'upload_time' => $entry->getUploadTime(), |
|
88 | - 'metadata_etag' => $entry->getMetadataEtag(), |
|
89 | - ]; |
|
90 | - } |
|
76 | + private function cacheEntryToArray(ICacheEntry $entry) { |
|
77 | + return [ |
|
78 | + 'size' => $entry->getSize(), |
|
79 | + 'mtime' => $entry->getMTime(), |
|
80 | + 'storage_mtime' => $entry->getStorageMTime(), |
|
81 | + 'mimetype' => $entry->getMimeType(), |
|
82 | + 'mimepart' => $entry->getMimePart(), |
|
83 | + 'etag' => $entry->getEtag(), |
|
84 | + 'permissions' => $entry->getPermissions(), |
|
85 | + 'encrypted' => $entry->isEncrypted(), |
|
86 | + 'creation_time' => $entry->getCreationTime(), |
|
87 | + 'upload_time' => $entry->getUploadTime(), |
|
88 | + 'metadata_etag' => $entry->getMetadataEtag(), |
|
89 | + ]; |
|
90 | + } |
|
91 | 91 | } |
@@ -51,19 +51,19 @@ |
||
51 | 51 | continue; |
52 | 52 | } |
53 | 53 | // create audio result |
54 | - if($fileData['mimepart'] === 'audio'){ |
|
54 | + if ($fileData['mimepart'] === 'audio') { |
|
55 | 55 | $result = new \OC\Search\Result\Audio($fileData); |
56 | 56 | } |
57 | 57 | // create image result |
58 | - elseif($fileData['mimepart'] === 'image'){ |
|
58 | + elseif ($fileData['mimepart'] === 'image') { |
|
59 | 59 | $result = new \OC\Search\Result\Image($fileData); |
60 | 60 | } |
61 | 61 | // create folder result |
62 | - elseif($fileData['mimetype'] === 'httpd/unix-directory'){ |
|
62 | + elseif ($fileData['mimetype'] === 'httpd/unix-directory') { |
|
63 | 63 | $result = new \OC\Search\Result\Folder($fileData); |
64 | 64 | } |
65 | 65 | // or create file result |
66 | - else{ |
|
66 | + else { |
|
67 | 67 | $result = new \OC\Search\Result\File($fileData); |
68 | 68 | } |
69 | 69 | // add to results |
@@ -32,45 +32,45 @@ |
||
32 | 32 | */ |
33 | 33 | class File extends \OCP\Search\Provider { |
34 | 34 | |
35 | - /** |
|
36 | - * Search for files and folders matching the given query |
|
37 | - * @param string $query |
|
38 | - * @return \OCP\Search\Result |
|
39 | - */ |
|
40 | - public function search($query) { |
|
41 | - $files = Filesystem::search($query); |
|
42 | - $results = array(); |
|
43 | - // edit results |
|
44 | - foreach ($files as $fileData) { |
|
45 | - // skip versions |
|
46 | - if (strpos($fileData['path'], '_versions') === 0) { |
|
47 | - continue; |
|
48 | - } |
|
49 | - // skip top-level folder |
|
50 | - if ($fileData['name'] === 'files' && $fileData['parent'] === -1) { |
|
51 | - continue; |
|
52 | - } |
|
53 | - // create audio result |
|
54 | - if($fileData['mimepart'] === 'audio'){ |
|
55 | - $result = new \OC\Search\Result\Audio($fileData); |
|
56 | - } |
|
57 | - // create image result |
|
58 | - elseif($fileData['mimepart'] === 'image'){ |
|
59 | - $result = new \OC\Search\Result\Image($fileData); |
|
60 | - } |
|
61 | - // create folder result |
|
62 | - elseif($fileData['mimetype'] === 'httpd/unix-directory'){ |
|
63 | - $result = new \OC\Search\Result\Folder($fileData); |
|
64 | - } |
|
65 | - // or create file result |
|
66 | - else{ |
|
67 | - $result = new \OC\Search\Result\File($fileData); |
|
68 | - } |
|
69 | - // add to results |
|
70 | - $results[] = $result; |
|
71 | - } |
|
72 | - // return |
|
73 | - return $results; |
|
74 | - } |
|
35 | + /** |
|
36 | + * Search for files and folders matching the given query |
|
37 | + * @param string $query |
|
38 | + * @return \OCP\Search\Result |
|
39 | + */ |
|
40 | + public function search($query) { |
|
41 | + $files = Filesystem::search($query); |
|
42 | + $results = array(); |
|
43 | + // edit results |
|
44 | + foreach ($files as $fileData) { |
|
45 | + // skip versions |
|
46 | + if (strpos($fileData['path'], '_versions') === 0) { |
|
47 | + continue; |
|
48 | + } |
|
49 | + // skip top-level folder |
|
50 | + if ($fileData['name'] === 'files' && $fileData['parent'] === -1) { |
|
51 | + continue; |
|
52 | + } |
|
53 | + // create audio result |
|
54 | + if($fileData['mimepart'] === 'audio'){ |
|
55 | + $result = new \OC\Search\Result\Audio($fileData); |
|
56 | + } |
|
57 | + // create image result |
|
58 | + elseif($fileData['mimepart'] === 'image'){ |
|
59 | + $result = new \OC\Search\Result\Image($fileData); |
|
60 | + } |
|
61 | + // create folder result |
|
62 | + elseif($fileData['mimetype'] === 'httpd/unix-directory'){ |
|
63 | + $result = new \OC\Search\Result\Folder($fileData); |
|
64 | + } |
|
65 | + // or create file result |
|
66 | + else{ |
|
67 | + $result = new \OC\Search\Result\File($fileData); |
|
68 | + } |
|
69 | + // add to results |
|
70 | + $results[] = $result; |
|
71 | + } |
|
72 | + // return |
|
73 | + return $results; |
|
74 | + } |
|
75 | 75 | |
76 | 76 | } |
@@ -29,13 +29,13 @@ |
||
29 | 29 | */ |
30 | 30 | class Image extends File { |
31 | 31 | |
32 | - /** |
|
33 | - * Type name; translated in templates |
|
34 | - * @var string |
|
35 | - */ |
|
36 | - public $type = 'image'; |
|
32 | + /** |
|
33 | + * Type name; translated in templates |
|
34 | + * @var string |
|
35 | + */ |
|
36 | + public $type = 'image'; |
|
37 | 37 | |
38 | - /** |
|
39 | - * @TODO add EXIF information |
|
40 | - */ |
|
38 | + /** |
|
39 | + * @TODO add EXIF information |
|
40 | + */ |
|
41 | 41 | } |
@@ -105,7 +105,7 @@ |
||
105 | 105 | * @param string $path |
106 | 106 | * @return string relative path |
107 | 107 | */ |
108 | - protected function getRelativePath ($path) { |
|
108 | + protected function getRelativePath($path) { |
|
109 | 109 | if (!isset(self::$userFolderCache)) { |
110 | 110 | $user = \OC::$server->getUserSession()->getUser()->getUID(); |
111 | 111 | self::$userFolderCache = \OC::$server->getUserFolder($user); |
@@ -32,85 +32,85 @@ |
||
32 | 32 | */ |
33 | 33 | class File extends \OCP\Search\Result { |
34 | 34 | |
35 | - /** |
|
36 | - * Type name; translated in templates |
|
37 | - * @var string |
|
38 | - */ |
|
39 | - public $type = 'file'; |
|
35 | + /** |
|
36 | + * Type name; translated in templates |
|
37 | + * @var string |
|
38 | + */ |
|
39 | + public $type = 'file'; |
|
40 | 40 | |
41 | - /** |
|
42 | - * Path to file |
|
43 | - * @var string |
|
44 | - */ |
|
45 | - public $path; |
|
41 | + /** |
|
42 | + * Path to file |
|
43 | + * @var string |
|
44 | + */ |
|
45 | + public $path; |
|
46 | 46 | |
47 | - /** |
|
48 | - * Size, in bytes |
|
49 | - * @var int |
|
50 | - */ |
|
51 | - public $size; |
|
47 | + /** |
|
48 | + * Size, in bytes |
|
49 | + * @var int |
|
50 | + */ |
|
51 | + public $size; |
|
52 | 52 | |
53 | - /** |
|
54 | - * Date modified, in human readable form |
|
55 | - * @var string |
|
56 | - */ |
|
57 | - public $modified; |
|
53 | + /** |
|
54 | + * Date modified, in human readable form |
|
55 | + * @var string |
|
56 | + */ |
|
57 | + public $modified; |
|
58 | 58 | |
59 | - /** |
|
60 | - * File mime type |
|
61 | - * @var string |
|
62 | - */ |
|
63 | - public $mime_type; |
|
59 | + /** |
|
60 | + * File mime type |
|
61 | + * @var string |
|
62 | + */ |
|
63 | + public $mime_type; |
|
64 | 64 | |
65 | - /** |
|
66 | - * File permissions: |
|
67 | - * |
|
68 | - * @var string |
|
69 | - */ |
|
70 | - public $permissions; |
|
65 | + /** |
|
66 | + * File permissions: |
|
67 | + * |
|
68 | + * @var string |
|
69 | + */ |
|
70 | + public $permissions; |
|
71 | 71 | |
72 | - /** |
|
73 | - * Create a new file search result |
|
74 | - * @param FileInfo $data file data given by provider |
|
75 | - */ |
|
76 | - public function __construct(FileInfo $data) { |
|
72 | + /** |
|
73 | + * Create a new file search result |
|
74 | + * @param FileInfo $data file data given by provider |
|
75 | + */ |
|
76 | + public function __construct(FileInfo $data) { |
|
77 | 77 | |
78 | - $path = $this->getRelativePath($data->getPath()); |
|
78 | + $path = $this->getRelativePath($data->getPath()); |
|
79 | 79 | |
80 | - $info = pathinfo($path); |
|
81 | - $this->id = $data->getId(); |
|
82 | - $this->name = $info['basename']; |
|
83 | - $this->link = \OC::$server->getURLGenerator()->linkToRoute( |
|
84 | - 'files.view.index', |
|
85 | - [ |
|
86 | - 'dir' => $info['dirname'], |
|
87 | - 'scrollto' => $info['basename'], |
|
88 | - ] |
|
89 | - ); |
|
90 | - $this->permissions = $data->getPermissions(); |
|
91 | - $this->path = $path; |
|
92 | - $this->size = $data->getSize(); |
|
93 | - $this->modified = $data->getMtime(); |
|
94 | - $this->mime_type = $data->getMimetype(); |
|
95 | - } |
|
80 | + $info = pathinfo($path); |
|
81 | + $this->id = $data->getId(); |
|
82 | + $this->name = $info['basename']; |
|
83 | + $this->link = \OC::$server->getURLGenerator()->linkToRoute( |
|
84 | + 'files.view.index', |
|
85 | + [ |
|
86 | + 'dir' => $info['dirname'], |
|
87 | + 'scrollto' => $info['basename'], |
|
88 | + ] |
|
89 | + ); |
|
90 | + $this->permissions = $data->getPermissions(); |
|
91 | + $this->path = $path; |
|
92 | + $this->size = $data->getSize(); |
|
93 | + $this->modified = $data->getMtime(); |
|
94 | + $this->mime_type = $data->getMimetype(); |
|
95 | + } |
|
96 | 96 | |
97 | - /** |
|
98 | - * @var Folder $userFolderCache |
|
99 | - */ |
|
100 | - static protected $userFolderCache = null; |
|
97 | + /** |
|
98 | + * @var Folder $userFolderCache |
|
99 | + */ |
|
100 | + static protected $userFolderCache = null; |
|
101 | 101 | |
102 | - /** |
|
103 | - * converts a path relative to the users files folder |
|
104 | - * eg /user/files/foo.txt -> /foo.txt |
|
105 | - * @param string $path |
|
106 | - * @return string relative path |
|
107 | - */ |
|
108 | - protected function getRelativePath ($path) { |
|
109 | - if (!isset(self::$userFolderCache)) { |
|
110 | - $user = \OC::$server->getUserSession()->getUser()->getUID(); |
|
111 | - self::$userFolderCache = \OC::$server->getUserFolder($user); |
|
112 | - } |
|
113 | - return self::$userFolderCache->getRelativePath($path); |
|
114 | - } |
|
102 | + /** |
|
103 | + * converts a path relative to the users files folder |
|
104 | + * eg /user/files/foo.txt -> /foo.txt |
|
105 | + * @param string $path |
|
106 | + * @return string relative path |
|
107 | + */ |
|
108 | + protected function getRelativePath ($path) { |
|
109 | + if (!isset(self::$userFolderCache)) { |
|
110 | + $user = \OC::$server->getUserSession()->getUser()->getUID(); |
|
111 | + self::$userFolderCache = \OC::$server->getUserFolder($user); |
|
112 | + } |
|
113 | + return self::$userFolderCache->getRelativePath($path); |
|
114 | + } |
|
115 | 115 | |
116 | 116 | } |
@@ -29,13 +29,13 @@ |
||
29 | 29 | */ |
30 | 30 | class Audio extends File { |
31 | 31 | |
32 | - /** |
|
33 | - * Type name; translated in templates |
|
34 | - * @var string |
|
35 | - */ |
|
36 | - public $type = 'audio'; |
|
32 | + /** |
|
33 | + * Type name; translated in templates |
|
34 | + * @var string |
|
35 | + */ |
|
36 | + public $type = 'audio'; |
|
37 | 37 | |
38 | - /** |
|
39 | - * @TODO add ID3 information |
|
40 | - */ |
|
38 | + /** |
|
39 | + * @TODO add ID3 information |
|
40 | + */ |
|
41 | 41 | } |
@@ -29,10 +29,10 @@ |
||
29 | 29 | */ |
30 | 30 | class Folder extends File { |
31 | 31 | |
32 | - /** |
|
33 | - * Type name; translated in templates |
|
34 | - * @var string |
|
35 | - */ |
|
36 | - public $type = 'folder'; |
|
32 | + /** |
|
33 | + * Type name; translated in templates |
|
34 | + * @var string |
|
35 | + */ |
|
36 | + public $type = 'folder'; |
|
37 | 37 | |
38 | 38 | } |
@@ -30,70 +30,70 @@ |
||
30 | 30 | * Very thin wrapper class to make output testable |
31 | 31 | */ |
32 | 32 | class Output implements IOutput { |
33 | - /** @var string */ |
|
34 | - private $webRoot; |
|
33 | + /** @var string */ |
|
34 | + private $webRoot; |
|
35 | 35 | |
36 | - /** |
|
37 | - * @param $webRoot |
|
38 | - */ |
|
39 | - public function __construct($webRoot) { |
|
40 | - $this->webRoot = $webRoot; |
|
41 | - } |
|
36 | + /** |
|
37 | + * @param $webRoot |
|
38 | + */ |
|
39 | + public function __construct($webRoot) { |
|
40 | + $this->webRoot = $webRoot; |
|
41 | + } |
|
42 | 42 | |
43 | - /** |
|
44 | - * @param string $out |
|
45 | - */ |
|
46 | - public function setOutput($out) { |
|
47 | - print($out); |
|
48 | - } |
|
43 | + /** |
|
44 | + * @param string $out |
|
45 | + */ |
|
46 | + public function setOutput($out) { |
|
47 | + print($out); |
|
48 | + } |
|
49 | 49 | |
50 | - /** |
|
51 | - * @param string|resource $path or file handle |
|
52 | - * |
|
53 | - * @return bool false if an error occurred |
|
54 | - */ |
|
55 | - public function setReadfile($path) { |
|
56 | - if (is_resource($path)) { |
|
57 | - $output = fopen('php://output', 'w'); |
|
58 | - return stream_copy_to_stream($path, $output) > 0; |
|
59 | - } else { |
|
60 | - return @readfile($path); |
|
61 | - } |
|
62 | - } |
|
50 | + /** |
|
51 | + * @param string|resource $path or file handle |
|
52 | + * |
|
53 | + * @return bool false if an error occurred |
|
54 | + */ |
|
55 | + public function setReadfile($path) { |
|
56 | + if (is_resource($path)) { |
|
57 | + $output = fopen('php://output', 'w'); |
|
58 | + return stream_copy_to_stream($path, $output) > 0; |
|
59 | + } else { |
|
60 | + return @readfile($path); |
|
61 | + } |
|
62 | + } |
|
63 | 63 | |
64 | - /** |
|
65 | - * @param string $header |
|
66 | - */ |
|
67 | - public function setHeader($header) { |
|
68 | - header($header); |
|
69 | - } |
|
64 | + /** |
|
65 | + * @param string $header |
|
66 | + */ |
|
67 | + public function setHeader($header) { |
|
68 | + header($header); |
|
69 | + } |
|
70 | 70 | |
71 | - /** |
|
72 | - * @param int $code sets the http status code |
|
73 | - */ |
|
74 | - public function setHttpResponseCode($code) { |
|
75 | - http_response_code($code); |
|
76 | - } |
|
71 | + /** |
|
72 | + * @param int $code sets the http status code |
|
73 | + */ |
|
74 | + public function setHttpResponseCode($code) { |
|
75 | + http_response_code($code); |
|
76 | + } |
|
77 | 77 | |
78 | - /** |
|
79 | - * @return int returns the current http response code |
|
80 | - */ |
|
81 | - public function getHttpResponseCode() { |
|
82 | - return http_response_code(); |
|
83 | - } |
|
78 | + /** |
|
79 | + * @return int returns the current http response code |
|
80 | + */ |
|
81 | + public function getHttpResponseCode() { |
|
82 | + return http_response_code(); |
|
83 | + } |
|
84 | 84 | |
85 | - /** |
|
86 | - * @param string $name |
|
87 | - * @param string $value |
|
88 | - * @param int $expire |
|
89 | - * @param string $path |
|
90 | - * @param string $domain |
|
91 | - * @param bool $secure |
|
92 | - * @param bool $httpOnly |
|
93 | - */ |
|
94 | - public function setCookie($name, $value, $expire, $path, $domain, $secure, $httpOnly) { |
|
95 | - $path = $this->webRoot ? : '/'; |
|
96 | - setcookie($name, $value, $expire, $path, $domain, $secure, $httpOnly); |
|
97 | - } |
|
85 | + /** |
|
86 | + * @param string $name |
|
87 | + * @param string $value |
|
88 | + * @param int $expire |
|
89 | + * @param string $path |
|
90 | + * @param string $domain |
|
91 | + * @param bool $secure |
|
92 | + * @param bool $httpOnly |
|
93 | + */ |
|
94 | + public function setCookie($name, $value, $expire, $path, $domain, $secure, $httpOnly) { |
|
95 | + $path = $this->webRoot ? : '/'; |
|
96 | + setcookie($name, $value, $expire, $path, $domain, $secure, $httpOnly); |
|
97 | + } |
|
98 | 98 | |
99 | 99 | } |
@@ -92,7 +92,7 @@ |
||
92 | 92 | * @param bool $httpOnly |
93 | 93 | */ |
94 | 94 | public function setCookie($name, $value, $expire, $path, $domain, $secure, $httpOnly) { |
95 | - $path = $this->webRoot ? : '/'; |
|
95 | + $path = $this->webRoot ?: '/'; |
|
96 | 96 | setcookie($name, $value, $expire, $path, $domain, $secure, $httpOnly); |
97 | 97 | } |
98 | 98 |
@@ -41,7 +41,7 @@ discard block |
||
41 | 41 | * @param array $server $_SERVER |
42 | 42 | * @param string $protocolVersion the http version to use defaults to HTTP/1.1 |
43 | 43 | */ |
44 | - public function __construct($server, $protocolVersion='HTTP/1.1') { |
|
44 | + public function __construct($server, $protocolVersion = 'HTTP/1.1') { |
|
45 | 45 | $this->server = $server; |
46 | 46 | $this->protocolVersion = $protocolVersion; |
47 | 47 | |
@@ -116,16 +116,16 @@ discard block |
||
116 | 116 | * @param string $ETag the etag |
117 | 117 | * @return string |
118 | 118 | */ |
119 | - public function getStatusHeader($status, \DateTime $lastModified=null, |
|
120 | - $ETag=null) { |
|
119 | + public function getStatusHeader($status, \DateTime $lastModified = null, |
|
120 | + $ETag = null) { |
|
121 | 121 | |
122 | - if(!is_null($lastModified)) { |
|
122 | + if (!is_null($lastModified)) { |
|
123 | 123 | $lastModified = $lastModified->format(\DateTime::RFC2822); |
124 | 124 | } |
125 | 125 | |
126 | 126 | // if etag or lastmodified have not changed, return a not modified |
127 | 127 | if ((isset($this->server['HTTP_IF_NONE_MATCH']) |
128 | - && trim(trim($this->server['HTTP_IF_NONE_MATCH']), '"') === (string)$ETag) |
|
128 | + && trim(trim($this->server['HTTP_IF_NONE_MATCH']), '"') === (string) $ETag) |
|
129 | 129 | |
130 | 130 | || |
131 | 131 | |
@@ -139,13 +139,13 @@ discard block |
||
139 | 139 | // we have one change currently for the http 1.0 header that differs |
140 | 140 | // from 1.1: STATUS_TEMPORARY_REDIRECT should be STATUS_FOUND |
141 | 141 | // if this differs any more, we want to create childclasses for this |
142 | - if($status === self::STATUS_TEMPORARY_REDIRECT |
|
142 | + if ($status === self::STATUS_TEMPORARY_REDIRECT |
|
143 | 143 | && $this->protocolVersion === 'HTTP/1.0') { |
144 | 144 | |
145 | 145 | $status = self::STATUS_FOUND; |
146 | 146 | } |
147 | 147 | |
148 | - return $this->protocolVersion . ' ' . $status . ' ' . |
|
148 | + return $this->protocolVersion.' '.$status.' '. |
|
149 | 149 | $this->headers[$status]; |
150 | 150 | } |
151 | 151 |
@@ -33,121 +33,121 @@ |
||
33 | 33 | |
34 | 34 | class Http extends BaseHttp { |
35 | 35 | |
36 | - private $server; |
|
37 | - private $protocolVersion; |
|
38 | - protected $headers; |
|
39 | - |
|
40 | - /** |
|
41 | - * @param array $server $_SERVER |
|
42 | - * @param string $protocolVersion the http version to use defaults to HTTP/1.1 |
|
43 | - */ |
|
44 | - public function __construct($server, $protocolVersion='HTTP/1.1') { |
|
45 | - $this->server = $server; |
|
46 | - $this->protocolVersion = $protocolVersion; |
|
47 | - |
|
48 | - $this->headers = array( |
|
49 | - self::STATUS_CONTINUE => 'Continue', |
|
50 | - self::STATUS_SWITCHING_PROTOCOLS => 'Switching Protocols', |
|
51 | - self::STATUS_PROCESSING => 'Processing', |
|
52 | - self::STATUS_OK => 'OK', |
|
53 | - self::STATUS_CREATED => 'Created', |
|
54 | - self::STATUS_ACCEPTED => 'Accepted', |
|
55 | - self::STATUS_NON_AUTHORATIVE_INFORMATION => 'Non-Authorative Information', |
|
56 | - self::STATUS_NO_CONTENT => 'No Content', |
|
57 | - self::STATUS_RESET_CONTENT => 'Reset Content', |
|
58 | - self::STATUS_PARTIAL_CONTENT => 'Partial Content', |
|
59 | - self::STATUS_MULTI_STATUS => 'Multi-Status', // RFC 4918 |
|
60 | - self::STATUS_ALREADY_REPORTED => 'Already Reported', // RFC 5842 |
|
61 | - self::STATUS_IM_USED => 'IM Used', // RFC 3229 |
|
62 | - self::STATUS_MULTIPLE_CHOICES => 'Multiple Choices', |
|
63 | - self::STATUS_MOVED_PERMANENTLY => 'Moved Permanently', |
|
64 | - self::STATUS_FOUND => 'Found', |
|
65 | - self::STATUS_SEE_OTHER => 'See Other', |
|
66 | - self::STATUS_NOT_MODIFIED => 'Not Modified', |
|
67 | - self::STATUS_USE_PROXY => 'Use Proxy', |
|
68 | - self::STATUS_RESERVED => 'Reserved', |
|
69 | - self::STATUS_TEMPORARY_REDIRECT => 'Temporary Redirect', |
|
70 | - self::STATUS_BAD_REQUEST => 'Bad request', |
|
71 | - self::STATUS_UNAUTHORIZED => 'Unauthorized', |
|
72 | - self::STATUS_PAYMENT_REQUIRED => 'Payment Required', |
|
73 | - self::STATUS_FORBIDDEN => 'Forbidden', |
|
74 | - self::STATUS_NOT_FOUND => 'Not Found', |
|
75 | - self::STATUS_METHOD_NOT_ALLOWED => 'Method Not Allowed', |
|
76 | - self::STATUS_NOT_ACCEPTABLE => 'Not Acceptable', |
|
77 | - self::STATUS_PROXY_AUTHENTICATION_REQUIRED => 'Proxy Authentication Required', |
|
78 | - self::STATUS_REQUEST_TIMEOUT => 'Request Timeout', |
|
79 | - self::STATUS_CONFLICT => 'Conflict', |
|
80 | - self::STATUS_GONE => 'Gone', |
|
81 | - self::STATUS_LENGTH_REQUIRED => 'Length Required', |
|
82 | - self::STATUS_PRECONDITION_FAILED => 'Precondition failed', |
|
83 | - self::STATUS_REQUEST_ENTITY_TOO_LARGE => 'Request Entity Too Large', |
|
84 | - self::STATUS_REQUEST_URI_TOO_LONG => 'Request-URI Too Long', |
|
85 | - self::STATUS_UNSUPPORTED_MEDIA_TYPE => 'Unsupported Media Type', |
|
86 | - self::STATUS_REQUEST_RANGE_NOT_SATISFIABLE => 'Requested Range Not Satisfiable', |
|
87 | - self::STATUS_EXPECTATION_FAILED => 'Expectation Failed', |
|
88 | - self::STATUS_IM_A_TEAPOT => 'I\'m a teapot', // RFC 2324 |
|
89 | - self::STATUS_UNPROCESSABLE_ENTITY => 'Unprocessable Entity', // RFC 4918 |
|
90 | - self::STATUS_LOCKED => 'Locked', // RFC 4918 |
|
91 | - self::STATUS_FAILED_DEPENDENCY => 'Failed Dependency', // RFC 4918 |
|
92 | - self::STATUS_UPGRADE_REQUIRED => 'Upgrade required', |
|
93 | - self::STATUS_PRECONDITION_REQUIRED => 'Precondition required', // draft-nottingham-http-new-status |
|
94 | - self::STATUS_TOO_MANY_REQUESTS => 'Too Many Requests', // draft-nottingham-http-new-status |
|
95 | - self::STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE => 'Request Header Fields Too Large', // draft-nottingham-http-new-status |
|
96 | - self::STATUS_INTERNAL_SERVER_ERROR => 'Internal Server Error', |
|
97 | - self::STATUS_NOT_IMPLEMENTED => 'Not Implemented', |
|
98 | - self::STATUS_BAD_GATEWAY => 'Bad Gateway', |
|
99 | - self::STATUS_SERVICE_UNAVAILABLE => 'Service Unavailable', |
|
100 | - self::STATUS_GATEWAY_TIMEOUT => 'Gateway Timeout', |
|
101 | - self::STATUS_HTTP_VERSION_NOT_SUPPORTED => 'HTTP Version not supported', |
|
102 | - self::STATUS_VARIANT_ALSO_NEGOTIATES => 'Variant Also Negotiates', |
|
103 | - self::STATUS_INSUFFICIENT_STORAGE => 'Insufficient Storage', // RFC 4918 |
|
104 | - self::STATUS_LOOP_DETECTED => 'Loop Detected', // RFC 5842 |
|
105 | - self::STATUS_BANDWIDTH_LIMIT_EXCEEDED => 'Bandwidth Limit Exceeded', // non-standard |
|
106 | - self::STATUS_NOT_EXTENDED => 'Not extended', |
|
107 | - self::STATUS_NETWORK_AUTHENTICATION_REQUIRED => 'Network Authentication Required', // draft-nottingham-http-new-status |
|
108 | - ); |
|
109 | - } |
|
110 | - |
|
111 | - |
|
112 | - /** |
|
113 | - * Gets the correct header |
|
114 | - * @param int Http::CONSTANT $status the constant from the Http class |
|
115 | - * @param \DateTime $lastModified formatted last modified date |
|
116 | - * @param string $ETag the etag |
|
117 | - * @return string |
|
118 | - */ |
|
119 | - public function getStatusHeader($status, \DateTime $lastModified=null, |
|
120 | - $ETag=null) { |
|
121 | - |
|
122 | - if(!is_null($lastModified)) { |
|
123 | - $lastModified = $lastModified->format(\DateTime::RFC2822); |
|
124 | - } |
|
125 | - |
|
126 | - // if etag or lastmodified have not changed, return a not modified |
|
127 | - if ((isset($this->server['HTTP_IF_NONE_MATCH']) |
|
128 | - && trim(trim($this->server['HTTP_IF_NONE_MATCH']), '"') === (string)$ETag) |
|
129 | - |
|
130 | - || |
|
131 | - |
|
132 | - (isset($this->server['HTTP_IF_MODIFIED_SINCE']) |
|
133 | - && trim($this->server['HTTP_IF_MODIFIED_SINCE']) === |
|
134 | - $lastModified)) { |
|
135 | - |
|
136 | - $status = self::STATUS_NOT_MODIFIED; |
|
137 | - } |
|
138 | - |
|
139 | - // we have one change currently for the http 1.0 header that differs |
|
140 | - // from 1.1: STATUS_TEMPORARY_REDIRECT should be STATUS_FOUND |
|
141 | - // if this differs any more, we want to create childclasses for this |
|
142 | - if($status === self::STATUS_TEMPORARY_REDIRECT |
|
143 | - && $this->protocolVersion === 'HTTP/1.0') { |
|
144 | - |
|
145 | - $status = self::STATUS_FOUND; |
|
146 | - } |
|
147 | - |
|
148 | - return $this->protocolVersion . ' ' . $status . ' ' . |
|
149 | - $this->headers[$status]; |
|
150 | - } |
|
36 | + private $server; |
|
37 | + private $protocolVersion; |
|
38 | + protected $headers; |
|
39 | + |
|
40 | + /** |
|
41 | + * @param array $server $_SERVER |
|
42 | + * @param string $protocolVersion the http version to use defaults to HTTP/1.1 |
|
43 | + */ |
|
44 | + public function __construct($server, $protocolVersion='HTTP/1.1') { |
|
45 | + $this->server = $server; |
|
46 | + $this->protocolVersion = $protocolVersion; |
|
47 | + |
|
48 | + $this->headers = array( |
|
49 | + self::STATUS_CONTINUE => 'Continue', |
|
50 | + self::STATUS_SWITCHING_PROTOCOLS => 'Switching Protocols', |
|
51 | + self::STATUS_PROCESSING => 'Processing', |
|
52 | + self::STATUS_OK => 'OK', |
|
53 | + self::STATUS_CREATED => 'Created', |
|
54 | + self::STATUS_ACCEPTED => 'Accepted', |
|
55 | + self::STATUS_NON_AUTHORATIVE_INFORMATION => 'Non-Authorative Information', |
|
56 | + self::STATUS_NO_CONTENT => 'No Content', |
|
57 | + self::STATUS_RESET_CONTENT => 'Reset Content', |
|
58 | + self::STATUS_PARTIAL_CONTENT => 'Partial Content', |
|
59 | + self::STATUS_MULTI_STATUS => 'Multi-Status', // RFC 4918 |
|
60 | + self::STATUS_ALREADY_REPORTED => 'Already Reported', // RFC 5842 |
|
61 | + self::STATUS_IM_USED => 'IM Used', // RFC 3229 |
|
62 | + self::STATUS_MULTIPLE_CHOICES => 'Multiple Choices', |
|
63 | + self::STATUS_MOVED_PERMANENTLY => 'Moved Permanently', |
|
64 | + self::STATUS_FOUND => 'Found', |
|
65 | + self::STATUS_SEE_OTHER => 'See Other', |
|
66 | + self::STATUS_NOT_MODIFIED => 'Not Modified', |
|
67 | + self::STATUS_USE_PROXY => 'Use Proxy', |
|
68 | + self::STATUS_RESERVED => 'Reserved', |
|
69 | + self::STATUS_TEMPORARY_REDIRECT => 'Temporary Redirect', |
|
70 | + self::STATUS_BAD_REQUEST => 'Bad request', |
|
71 | + self::STATUS_UNAUTHORIZED => 'Unauthorized', |
|
72 | + self::STATUS_PAYMENT_REQUIRED => 'Payment Required', |
|
73 | + self::STATUS_FORBIDDEN => 'Forbidden', |
|
74 | + self::STATUS_NOT_FOUND => 'Not Found', |
|
75 | + self::STATUS_METHOD_NOT_ALLOWED => 'Method Not Allowed', |
|
76 | + self::STATUS_NOT_ACCEPTABLE => 'Not Acceptable', |
|
77 | + self::STATUS_PROXY_AUTHENTICATION_REQUIRED => 'Proxy Authentication Required', |
|
78 | + self::STATUS_REQUEST_TIMEOUT => 'Request Timeout', |
|
79 | + self::STATUS_CONFLICT => 'Conflict', |
|
80 | + self::STATUS_GONE => 'Gone', |
|
81 | + self::STATUS_LENGTH_REQUIRED => 'Length Required', |
|
82 | + self::STATUS_PRECONDITION_FAILED => 'Precondition failed', |
|
83 | + self::STATUS_REQUEST_ENTITY_TOO_LARGE => 'Request Entity Too Large', |
|
84 | + self::STATUS_REQUEST_URI_TOO_LONG => 'Request-URI Too Long', |
|
85 | + self::STATUS_UNSUPPORTED_MEDIA_TYPE => 'Unsupported Media Type', |
|
86 | + self::STATUS_REQUEST_RANGE_NOT_SATISFIABLE => 'Requested Range Not Satisfiable', |
|
87 | + self::STATUS_EXPECTATION_FAILED => 'Expectation Failed', |
|
88 | + self::STATUS_IM_A_TEAPOT => 'I\'m a teapot', // RFC 2324 |
|
89 | + self::STATUS_UNPROCESSABLE_ENTITY => 'Unprocessable Entity', // RFC 4918 |
|
90 | + self::STATUS_LOCKED => 'Locked', // RFC 4918 |
|
91 | + self::STATUS_FAILED_DEPENDENCY => 'Failed Dependency', // RFC 4918 |
|
92 | + self::STATUS_UPGRADE_REQUIRED => 'Upgrade required', |
|
93 | + self::STATUS_PRECONDITION_REQUIRED => 'Precondition required', // draft-nottingham-http-new-status |
|
94 | + self::STATUS_TOO_MANY_REQUESTS => 'Too Many Requests', // draft-nottingham-http-new-status |
|
95 | + self::STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE => 'Request Header Fields Too Large', // draft-nottingham-http-new-status |
|
96 | + self::STATUS_INTERNAL_SERVER_ERROR => 'Internal Server Error', |
|
97 | + self::STATUS_NOT_IMPLEMENTED => 'Not Implemented', |
|
98 | + self::STATUS_BAD_GATEWAY => 'Bad Gateway', |
|
99 | + self::STATUS_SERVICE_UNAVAILABLE => 'Service Unavailable', |
|
100 | + self::STATUS_GATEWAY_TIMEOUT => 'Gateway Timeout', |
|
101 | + self::STATUS_HTTP_VERSION_NOT_SUPPORTED => 'HTTP Version not supported', |
|
102 | + self::STATUS_VARIANT_ALSO_NEGOTIATES => 'Variant Also Negotiates', |
|
103 | + self::STATUS_INSUFFICIENT_STORAGE => 'Insufficient Storage', // RFC 4918 |
|
104 | + self::STATUS_LOOP_DETECTED => 'Loop Detected', // RFC 5842 |
|
105 | + self::STATUS_BANDWIDTH_LIMIT_EXCEEDED => 'Bandwidth Limit Exceeded', // non-standard |
|
106 | + self::STATUS_NOT_EXTENDED => 'Not extended', |
|
107 | + self::STATUS_NETWORK_AUTHENTICATION_REQUIRED => 'Network Authentication Required', // draft-nottingham-http-new-status |
|
108 | + ); |
|
109 | + } |
|
110 | + |
|
111 | + |
|
112 | + /** |
|
113 | + * Gets the correct header |
|
114 | + * @param int Http::CONSTANT $status the constant from the Http class |
|
115 | + * @param \DateTime $lastModified formatted last modified date |
|
116 | + * @param string $ETag the etag |
|
117 | + * @return string |
|
118 | + */ |
|
119 | + public function getStatusHeader($status, \DateTime $lastModified=null, |
|
120 | + $ETag=null) { |
|
121 | + |
|
122 | + if(!is_null($lastModified)) { |
|
123 | + $lastModified = $lastModified->format(\DateTime::RFC2822); |
|
124 | + } |
|
125 | + |
|
126 | + // if etag or lastmodified have not changed, return a not modified |
|
127 | + if ((isset($this->server['HTTP_IF_NONE_MATCH']) |
|
128 | + && trim(trim($this->server['HTTP_IF_NONE_MATCH']), '"') === (string)$ETag) |
|
129 | + |
|
130 | + || |
|
131 | + |
|
132 | + (isset($this->server['HTTP_IF_MODIFIED_SINCE']) |
|
133 | + && trim($this->server['HTTP_IF_MODIFIED_SINCE']) === |
|
134 | + $lastModified)) { |
|
135 | + |
|
136 | + $status = self::STATUS_NOT_MODIFIED; |
|
137 | + } |
|
138 | + |
|
139 | + // we have one change currently for the http 1.0 header that differs |
|
140 | + // from 1.1: STATUS_TEMPORARY_REDIRECT should be STATUS_FOUND |
|
141 | + // if this differs any more, we want to create childclasses for this |
|
142 | + if($status === self::STATUS_TEMPORARY_REDIRECT |
|
143 | + && $this->protocolVersion === 'HTTP/1.0') { |
|
144 | + |
|
145 | + $status = self::STATUS_FOUND; |
|
146 | + } |
|
147 | + |
|
148 | + return $this->protocolVersion . ' ' . $status . ' ' . |
|
149 | + $this->headers[$status]; |
|
150 | + } |
|
151 | 151 | |
152 | 152 | |
153 | 153 | } |