diff options
author | Lukas Reschke <lukas@owncloud.com> | 2015-09-22 17:37:56 +0200 |
---|---|---|
committer | Lukas Reschke <lukas@owncloud.com> | 2015-09-22 17:37:56 +0200 |
commit | 7222e5fb4d8e165733fac4ac9c85e471c0d34fb7 (patch) | |
tree | d0531c40a33bbfc720707317abdca80ee8e4c0e4 | |
parent | 498e8f712c3512a7e8b054194f82611fae931353 (diff) | |
parent | 4201f59402cfe7dbc9d69912abb19c3c6f19d8a4 (diff) | |
download | nextcloud-server-7222e5fb4d8e165733fac4ac9c85e471c0d34fb7.tar.gz nextcloud-server-7222e5fb4d8e165733fac4ac9c85e471c0d34fb7.zip |
Merge pull request #18893 from owncloud/move-static-data
Move static data from config to resources/config/
-rw-r--r-- | core/js/mimetypelist.js | 57 | ||||
-rw-r--r-- | lib/private/files/type/detection.php | 35 | ||||
-rw-r--r-- | lib/private/http/client/client.php | 2 | ||||
-rw-r--r-- | lib/private/security/certificatemanager.php | 2 | ||||
-rw-r--r-- | lib/private/server.php | 4 | ||||
-rw-r--r-- | lib/private/updater.php | 7 | ||||
-rw-r--r-- | resources/config/ca-bundle.crt (renamed from config/ca-bundle.crt) | 0 | ||||
-rw-r--r-- | resources/config/mimetypealiases.dist.json (renamed from config/mimetypealiases.dist.json) | 2 | ||||
-rw-r--r-- | resources/config/mimetypemapping.dist.json (renamed from config/mimetypemapping.dist.json) | 2 | ||||
-rw-r--r-- | tests/lib/files/type/detection.php | 66 |
10 files changed, 87 insertions, 90 deletions
diff --git a/core/js/mimetypelist.js b/core/js/mimetypelist.js index e49ace6df73..af2ad73c51b 100644 --- a/core/js/mimetypelist.js +++ b/core/js/mimetypelist.js @@ -9,26 +9,23 @@ OC.MimeTypeList={ aliases: { "application/coreldraw": "image", - "application/epub+zip": "text", - "application/font-sfnt": "image", - "application/font-woff": "image", - "application/illustrator": "image", - "application/javascript": "text/code", + "application/font-sfnt": "font", + "application/font-woff": "font", + "application/illustrator": "image/vector", "application/json": "text/code", - "application/msaccess": "file", + "application/msaccess": "database", "application/msexcel": "x-office/spreadsheet", "application/mspowerpoint": "x-office/presentation", "application/msword": "x-office/document", "application/octet-stream": "file", - "application/postscript": "image", - "application/rss+xml": "text/code", + "application/postscript": "image/vector", "application/vnd.android.package-archive": "package/x-generic", "application/vnd.ms-excel": "x-office/spreadsheet", "application/vnd.ms-excel.addin.macroEnabled.12": "x-office/spreadsheet", "application/vnd.ms-excel.sheet.binary.macroEnabled.12": "x-office/spreadsheet", "application/vnd.ms-excel.sheet.macroEnabled.12": "x-office/spreadsheet", "application/vnd.ms-excel.template.macroEnabled.12": "x-office/spreadsheet", - "application/vnd.ms-fontobject": "image", + "application/vnd.ms-fontobject": "font", "application/vnd.ms-powerpoint": "x-office/presentation", "application/vnd.ms-powerpoint.addin.macroEnabled.12": "x-office/presentation", "application/vnd.ms-powerpoint.presentation.macroEnabled.12": "x-office/presentation", @@ -52,56 +49,48 @@ OC.MimeTypeList={ "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "x-office/document", "application/vnd.openxmlformats-officedocument.wordprocessingml.template": "x-office/document", "application/x-7z-compressed": "package/x-generic", - "application/x-cbr": "text", "application/x-compressed": "package/x-generic", "application/x-dcraw": "image", "application/x-deb": "package/x-generic", - "application/x-font": "image", + "application/x-font": "font", "application/x-gimp": "image", "application/x-gzip": "package/x-generic", "application/x-perl": "text/code", "application/x-photoshop": "image", "application/x-php": "text/code", "application/x-rar-compressed": "package/x-generic", - "application/x-shockwave-flash": "application", "application/x-tar": "package/x-generic", "application/x-tex": "text", "application/xml": "text/html", "application/yaml": "text/code", "application/zip": "package/x-generic", - "database": "file", "httpd/unix-directory": "dir", - "image/svg+xml": "image", - "image/vector": "image", + "image/svg+xml": "image/vector", "text/css": "text/code", "text/csv": "x-office/spreadsheet", - "text/html": "text/code", - "text/x-c": "text/code", - "text/x-h": "text/code", - "text/x-python": "text/code", - "text/x-shellscript": "text/code", - "web": "text/code" + "text/x-shellscript": "text/code" }, files: [ - "video", + "application-pdf", + "application", + "audio", + "file", "folder-drag-accept", + "folder-external", "folder-public", + "folder-shared", + "folder-starred", + "folder", + "image", "package-x-generic", - "folder-external", - "text-vcard", - "application", + "text-calendar", "text-code", - "x-office-spreadsheet", - "application-pdf", - "folder", + "text-vcard", + "text", + "video", "x-office-document", - "text-calendar", "x-office-presentation", - "file", - "text", - "folder-shared", - "image", - "audio" + "x-office-spreadsheet" ], themes: [] }; diff --git a/lib/private/files/type/detection.php b/lib/private/files/type/detection.php index 3dc3975fb2a..0c647ab44c6 100644 --- a/lib/private/files/type/detection.php +++ b/lib/private/files/type/detection.php @@ -49,15 +49,22 @@ class Detection implements IMimeTypeDetector { private $urlGenerator; /** @var string */ - private $configDir; + private $customConfigDir; + + /** @var string */ + private $defaultConfigDir; /** * @param IURLGenerator $urlGenerator - * @param string $configDir + * @param string $customConfigDir + * @param string $defaultConfigDir */ - public function __construct(IURLGenerator $urlGenerator, $configDir) { + public function __construct(IURLGenerator $urlGenerator, + $customConfigDir, + $defaultConfigDir) { $this->urlGenerator = $urlGenerator; - $this->configDir = $configDir; + $this->customConfigDir = $customConfigDir; + $this->defaultConfigDir = $defaultConfigDir; } /** @@ -71,7 +78,9 @@ class Detection implements IMimeTypeDetector { * @param string $mimetype * @param string|null $secureMimeType */ - public function registerType($extension, $mimetype, $secureMimeType = null) { + public function registerType($extension, + $mimetype, + $secureMimeType = null) { $this->mimetypes[$extension] = array($mimetype, $secureMimeType); $this->secureMimeTypes[$mimetype] = $secureMimeType ?: $mimetype; } @@ -102,10 +111,10 @@ class Detection implements IMimeTypeDetector { return; } - $this->mimeTypeAlias = json_decode(file_get_contents($this->configDir . '/mimetypealiases.dist.json'), true); + $this->mimeTypeAlias = json_decode(file_get_contents($this->defaultConfigDir . '/mimetypealiases.dist.json'), true); - if (file_exists($this->configDir . '/mimetypealiases.json')) { - $custom = json_decode(file_get_contents($this->configDir . '/mimetypealiases.json'), true); + if (file_exists($this->customConfigDir . '/mimetypealiases.json')) { + $custom = json_decode(file_get_contents($this->customConfigDir . '/mimetypealiases.json'), true); $this->mimeTypeAlias = array_merge($this->mimeTypeAlias, $custom); } } @@ -126,15 +135,15 @@ class Detection implements IMimeTypeDetector { return; } - $mimetypemapping = json_decode(file_get_contents($this->configDir . '/mimetypemapping.dist.json'), true); + $mimetypeMapping = json_decode(file_get_contents($this->defaultConfigDir . '/mimetypemapping.dist.json'), true); //Check if need to load custom mappings - if (file_exists($this->configDir . '/mimetypemapping.json')) { - $custom = json_decode(file_get_contents($this->configDir . '/mimetypemapping.json'), true); - $mimetypemapping = array_merge($mimetypemapping, $custom); + if (file_exists($this->customConfigDir . '/mimetypemapping.json')) { + $custom = json_decode(file_get_contents($this->customConfigDir . '/mimetypemapping.json'), true); + $mimetypeMapping = array_merge($mimetypeMapping, $custom); } - $this->registerTypeArray($mimetypemapping); + $this->registerTypeArray($mimetypeMapping); } /** diff --git a/lib/private/http/client/client.php b/lib/private/http/client/client.php index b0aff10a413..1907937e55e 100644 --- a/lib/private/http/client/client.php +++ b/lib/private/http/client/client.php @@ -62,7 +62,7 @@ class Client implements IClient { $dataDir = $this->config->getSystemValue('datadirectory'); $this->client->setDefaultOption('verify', $dataDir.'/'.$this->certificateManager->getCertificateBundle()); } else { - $this->client->setDefaultOption('verify', \OC::$SERVERROOT . '/config/ca-bundle.crt'); + $this->client->setDefaultOption('verify', \OC::$SERVERROOT . '/resources/config/ca-bundle.crt'); } $this->client->setDefaultOption('headers/User-Agent', 'ownCloud Server Crawler'); diff --git a/lib/private/security/certificatemanager.php b/lib/private/security/certificatemanager.php index 4d470f69a66..ded81863a73 100644 --- a/lib/private/security/certificatemanager.php +++ b/lib/private/security/certificatemanager.php @@ -110,7 +110,7 @@ class CertificateManager implements ICertificateManager { } // Append the default certificates - $defaultCertificates = file_get_contents(\OC::$SERVERROOT . '/config/ca-bundle.crt'); + $defaultCertificates = file_get_contents(\OC::$SERVERROOT . '/resources/config/ca-bundle.crt'); fwrite($fh_certs, $defaultCertificates); fclose($fh_certs); } diff --git a/lib/private/server.php b/lib/private/server.php index d5f4f532c1c..9f99ead849b 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -470,7 +470,9 @@ class Server extends SimpleContainer implements IServerContainer { $this->registerService('MimeTypeDetector', function(Server $c) { return new \OC\Files\Type\Detection( $c->getURLGenerator(), - \OC::$configDir); + \OC::$SERVERROOT . '/config/', + \OC::$SERVERROOT . '/resources/config/' + ); }); $this->registerService('MimeTypeLoader', function(Server $c) { return new \OC\Files\Type\Loader( diff --git a/lib/private/updater.php b/lib/private/updater.php index 71e9732c307..b33180c3425 100644 --- a/lib/private/updater.php +++ b/lib/private/updater.php @@ -279,13 +279,6 @@ class Updater extends BasicEmitter { throw new \Exception($e->getMessage()); } - // FIXME: Some users do not upload the new ca-bundle.crt, let's catch this - // in the update. For a newer release we shall use an integrity check after - // the update. - if(!file_exists(\OC::$configDir .'/ca-bundle.crt')) { - throw new \Exception('Please upload the ca-bundle.crt file into the \'config\' directory.'); - } - // create empty file in data dir, so we can later find // out that this is indeed an ownCloud data directory // (in case it didn't exist before) diff --git a/config/ca-bundle.crt b/resources/config/ca-bundle.crt index c93d3c4d4a7..c93d3c4d4a7 100644 --- a/config/ca-bundle.crt +++ b/resources/config/ca-bundle.crt diff --git a/config/mimetypealiases.dist.json b/resources/config/mimetypealiases.dist.json index 2c9bdaa00c8..3d6c5edc132 100644 --- a/config/mimetypealiases.dist.json +++ b/resources/config/mimetypealiases.dist.json @@ -1,7 +1,7 @@ { "_comment" : "Array of mimetype aliases.", "_comment2": "Any changes you make here will be overwritten on an update of ownCloud.", - "_comment3": "Put any custom aliases in a new file mimetypealiases.json in this directory", + "_comment3": "Put any custom mappings in a new file mimetypealiases.json in the config/ folder of ownCloud", "_comment4": "After any change to mimetypealiases.json run:", "_comment5": "./occ maintenance:mimetypesjs", diff --git a/config/mimetypemapping.dist.json b/resources/config/mimetypemapping.dist.json index 48ec4a56dab..79b0ca65240 100644 --- a/config/mimetypemapping.dist.json +++ b/resources/config/mimetypemapping.dist.json @@ -4,7 +4,7 @@ "_comment3": "and the second (if present] is a secure alternative", "_comment4": "Any changes you make here will be overwritten on an update of ownCloud", - "_comment5": "Put any custom mappings in a new file mimetypemapping.json in this directory", + "_comment5": "Put any custom mappings in a new file mimetypemapping.json in the config/ folder of ownCloud", "3gp": ["video/3gpp"], diff --git a/tests/lib/files/type/detection.php b/tests/lib/files/type/detection.php index 1997fa4dfd6..5800f4eb8e3 100644 --- a/tests/lib/files/type/detection.php +++ b/tests/lib/files/type/detection.php @@ -19,58 +19,64 @@ * */ -namespace OC\Files\Type; +namespace Test\Files\Type; use \OC\Files\Type\Detection; class DetectionTest extends \Test\TestCase { + /** @var Detection */ + private $detection; + + public function setUp() { + parent::setUp(); + $this->detection = new Detection( + \OC::$server->getURLGenerator(), + \OC::$SERVERROOT . '/config/', + \OC::$SERVERROOT . '/resources/config/' + ); + } public function testDetect() { - $detection = new Detection(\OC::$server->getURLGenerator(), \OC::$configDir); $dir = \OC::$SERVERROOT.'/tests/data'; - $result = $detection->detect($dir."/"); + $result = $this->detection->detect($dir."/"); $expected = 'httpd/unix-directory'; $this->assertEquals($expected, $result); - $result = $detection->detect($dir."/data.tar.gz"); + $result = $this->detection->detect($dir."/data.tar.gz"); $expected = 'application/x-gzip'; $this->assertEquals($expected, $result); - $result = $detection->detect($dir."/data.zip"); + $result = $this->detection->detect($dir."/data.zip"); $expected = 'application/zip'; $this->assertEquals($expected, $result); - $result = $detection->detect($dir."/testimagelarge.svg"); + $result = $this->detection->detect($dir."/testimagelarge.svg"); $expected = 'image/svg+xml'; $this->assertEquals($expected, $result); - $result = $detection->detect($dir."/testimage.png"); + $result = $this->detection->detect($dir."/testimage.png"); $expected = 'image/png'; $this->assertEquals($expected, $result); } public function testGetSecureMimeType() { - $detection = new Detection(\OC::$server->getURLGenerator(), \OC::$configDir); - - $result = $detection->getSecureMimeType('image/svg+xml'); + $result = $this->detection->getSecureMimeType('image/svg+xml'); $expected = 'text/plain'; $this->assertEquals($expected, $result); - $result = $detection->getSecureMimeType('image/png'); + $result = $this->detection->getSecureMimeType('image/png'); $expected = 'image/png'; $this->assertEquals($expected, $result); } public function testDetectPath() { - $detection = new Detection(\OC::$server->getURLGenerator(), \OC::$configDir); - - $this->assertEquals('text/plain', $detection->detectPath('foo.txt')); - $this->assertEquals('image/png', $detection->detectPath('foo.png')); - $this->assertEquals('image/png', $detection->detectPath('foo.bar.png')); - $this->assertEquals('application/octet-stream', $detection->detectPath('.png')); - $this->assertEquals('application/octet-stream', $detection->detectPath('foo')); - $this->assertEquals('application/octet-stream', $detection->detectPath('')); + $this->assertEquals('text/plain', $this->detection->detectPath('foo.txt')); + $this->assertEquals('image/png', $this->detection->detectPath('foo.png')); + $this->assertEquals('image/png', $this->detection->detectPath('foo.bar.png')); + $this->assertEquals('application/octet-stream', $this->detection->detectPath('.png')); + $this->assertEquals('application/octet-stream', $this->detection->detectPath('foo')); + $this->assertEquals('application/octet-stream', $this->detection->detectPath('')); } public function testDetectString() { @@ -78,16 +84,14 @@ class DetectionTest extends \Test\TestCase { $this->markTestSkipped('[Windows] Strings have mimetype application/octet-stream on Windows'); } - $detection = new Detection(\OC::$server->getURLGenerator(), \OC::$configDir); - - $result = $detection->detectString("/data/data.tar.gz"); + $result = $this->detection->detectString("/data/data.tar.gz"); $expected = 'text/plain; charset=us-ascii'; $this->assertEquals($expected, $result); } public function testMimeTypeIcon() { if (!class_exists('org\\bovigo\\vfs\\vfsStream')) { - $this->markTestSkipped('Pacakge vfsStream not installed'); + $this->markTestSkipped('Package vfsStream not installed'); } $confDir = \org\bovigo\vfs\vfsStream::setup(); $mimetypealiases_dist = \org\bovigo\vfs\vfsStream::newFile('mimetypealiases.dist.json')->at($confDir); @@ -111,7 +115,7 @@ class DetectionTest extends \Test\TestCase { ->with($this->equalTo('core'), $this->equalTo('filetypes/folder.png')) ->willReturn('folder.svg'); - $detection = new Detection($urlGenerator, $confDir->url()); + $detection = new Detection($urlGenerator, $confDir->url(), $confDir->url()); $mimeType = $detection->mimeTypeIcon('dir'); $this->assertEquals('folder.svg', $mimeType); @@ -130,7 +134,7 @@ class DetectionTest extends \Test\TestCase { ->with($this->equalTo('core'), $this->equalTo('filetypes/folder-shared.png')) ->willReturn('folder-shared.svg'); - $detection = new Detection($urlGenerator, $confDir->url()); + $detection = new Detection($urlGenerator, $confDir->url(), $confDir->url()); $mimeType = $detection->mimeTypeIcon('dir-shared'); $this->assertEquals('folder-shared.svg', $mimeType); @@ -150,7 +154,7 @@ class DetectionTest extends \Test\TestCase { ->with($this->equalTo('core'), $this->equalTo('filetypes/folder-external.png')) ->willReturn('folder-external.svg'); - $detection = new Detection($urlGenerator, $confDir->url()); + $detection = new Detection($urlGenerator, $confDir->url(), $confDir->url()); $mimeType = $detection->mimeTypeIcon('dir-external'); $this->assertEquals('folder-external.svg', $mimeType); @@ -170,7 +174,7 @@ class DetectionTest extends \Test\TestCase { ->with($this->equalTo('core'), $this->equalTo('filetypes/my-type.png')) ->willReturn('my-type.svg'); - $detection = new Detection($urlGenerator, $confDir->url()); + $detection = new Detection($urlGenerator, $confDir->url(), $confDir->url()); $mimeType = $detection->mimeTypeIcon('my-type'); $this->assertEquals('my-type.svg', $mimeType); @@ -200,7 +204,7 @@ class DetectionTest extends \Test\TestCase { } )); - $detection = new Detection($urlGenerator, $confDir->url()); + $detection = new Detection($urlGenerator, $confDir->url(), $confDir->url()); $mimeType = $detection->mimeTypeIcon('my-type'); $this->assertEquals('my.svg', $mimeType); @@ -231,7 +235,7 @@ class DetectionTest extends \Test\TestCase { } )); - $detection = new Detection($urlGenerator, $confDir->url()); + $detection = new Detection($urlGenerator, $confDir->url(), $confDir->url()); $mimeType = $detection->mimeTypeIcon('foo-bar'); $this->assertEquals('file.svg', $mimeType); @@ -250,7 +254,7 @@ class DetectionTest extends \Test\TestCase { ->with($this->equalTo('core'), $this->equalTo('filetypes/foo-bar.png')) ->willReturn('foo-bar.svg'); - $detection = new Detection($urlGenerator, $confDir->url()); + $detection = new Detection($urlGenerator, $confDir->url(), $confDir->url()); $mimeType = $detection->mimeTypeIcon('foo-bar'); $this->assertEquals('foo-bar.svg', $mimeType); $mimeType = $detection->mimeTypeIcon('foo-bar'); @@ -276,7 +280,7 @@ class DetectionTest extends \Test\TestCase { ->with($this->equalTo('core'), $this->equalTo('filetypes/foobar-baz.png')) ->willReturn('foobar-baz.svg'); - $detection = new Detection($urlGenerator, $confDir->url()); + $detection = new Detection($urlGenerator, $confDir->url(), $confDir->url()); $mimeType = $detection->mimeTypeIcon('foo'); $this->assertEquals('foobar-baz.svg', $mimeType); } |