Repair mime types only when upgrading from OC 8.0
This commit is contained in:
parent
9fbd3fa6c1
commit
0bda4d54c5
|
@ -103,7 +103,7 @@ class Repair extends BasicEmitter {
|
|||
*/
|
||||
public static function getRepairSteps() {
|
||||
return [
|
||||
new RepairMimeTypes(),
|
||||
new RepairMimeTypes(\OC::$server->getConfig()),
|
||||
new RepairLegacyStorages(\OC::$server->getConfig(), \OC::$server->getDatabaseConnection()),
|
||||
new RepairConfig(),
|
||||
new AssetCache(),
|
||||
|
|
|
@ -29,6 +29,17 @@ namespace OC\Repair;
|
|||
use OC\Hooks\BasicEmitter;
|
||||
|
||||
class RepairMimeTypes extends BasicEmitter implements \OC\RepairStep {
|
||||
/**
|
||||
* @var \OCP\IConfig
|
||||
*/
|
||||
protected $config;
|
||||
|
||||
/**
|
||||
* @param \OCP\IConfig $config
|
||||
*/
|
||||
public function __construct($config) {
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
public function getName() {
|
||||
return 'Repair mime types';
|
||||
|
@ -243,6 +254,14 @@ class RepairMimeTypes extends BasicEmitter implements \OC\RepairStep {
|
|||
* Fix mime types
|
||||
*/
|
||||
public function run() {
|
||||
|
||||
$ocVersionFromBeforeUpdate = $this->config->getSystemValue('version', '0.0.0');
|
||||
|
||||
// NOTE TO DEVELOPERS: when adding new mime types, please make sure to
|
||||
// add a version comparison to avoid doing it every time
|
||||
|
||||
// only update mime types if necessary as it can be expensive
|
||||
if (version_compare($ocVersionFromBeforeUpdate, '8.2.0', '<')) {
|
||||
if ($this->fixOfficeMimeTypes()) {
|
||||
$this->emit('\OC\Repair', 'info', array('Fixed office mime types'));
|
||||
}
|
||||
|
@ -276,3 +295,4 @@ class RepairMimeTypes extends BasicEmitter implements \OC\RepairStep {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,8 +26,17 @@ class RepairMimeTypes extends \Test\TestCase {
|
|||
$this->savedMimetypeLoader = \OC::$server->getMimeTypeLoader();
|
||||
$this->mimetypeLoader = \OC::$server->getMimeTypeLoader();
|
||||
|
||||
$config = $this->getMockBuilder('OCP\IConfig')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$config->expects($this->any())
|
||||
->method('getSystemValue')
|
||||
->with('version')
|
||||
->will($this->returnValue('8.0.0.0'));
|
||||
|
||||
$this->storage = new \OC\Files\Storage\Temporary([]);
|
||||
$this->repair = new \OC\Repair\RepairMimeTypes();
|
||||
|
||||
$this->repair = new \OC\Repair\RepairMimeTypes($config);
|
||||
}
|
||||
|
||||
protected function tearDown() {
|
||||
|
|
Loading…
Reference in New Issue