fix theming images when using primary storage

Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
Robin Appelman 2016-10-27 14:48:42 +02:00
parent 4235b18a88
commit eb21dc2bd3
No known key found for this signature in database
GPG Key ID: 425003AC385454C5
1 changed files with 17 additions and 10 deletions

View File

@ -32,9 +32,12 @@ use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataDownloadResponse;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\Http\NotFoundResponse;
use OCP\AppFramework\Http\StreamResponse;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Files\File;
use OCP\Files\IRootFolder;
use OCP\Files\NotFoundException;
use OCP\IConfig;
use OCP\IL10N;
use OCP\IRequest;
@ -255,15 +258,17 @@ class ThemingController extends Controller {
* @PublicPage
* @NoCSRFRequired
*
* @return StreamResponse|DataResponse
* @return StreamResponse|NotFoundResponse
*/
public function getLogo() {
$pathToLogo = $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data/') . '/themedinstancelogo';
if(!file_exists($pathToLogo)) {
return new DataResponse();
try {
/** @var File $file */
$file = $this->rootFolder->get('themedinstancelogo');
} catch (NotFoundException $e) {
return new NotFoundResponse();
}
$response = new Http\StreamResponse($pathToLogo);
$response = new Http\StreamResponse($file->fopen('r'));
$response->cacheFor(3600);
$response->addHeader('Expires', date(\DateTime::RFC2822, $this->timeFactory->getTime()));
$response->addHeader('Content-Disposition', 'attachment');
@ -276,15 +281,17 @@ class ThemingController extends Controller {
* @PublicPage
* @NoCSRFRequired
*
* @return StreamResponse|DataResponse
* @return StreamResponse|NotFoundResponse
*/
public function getLoginBackground() {
$pathToLogo = $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data/') . '/themedbackgroundlogo';
if(!file_exists($pathToLogo)) {
return new DataResponse();
try {
/** @var File $file */
$file = $this->rootFolder->get('themedbackgroundlogo');
} catch (NotFoundException $e) {
return new NotFoundResponse();
}
$response = new StreamResponse($pathToLogo);
$response = new StreamResponse($file->fopen('r'));
$response->cacheFor(3600);
$response->addHeader('Expires', date(\DateTime::RFC2822, $this->timeFactory->getTime()));
$response->addHeader('Content-Disposition', 'attachment');