Revert "Issue #2060405 by Wim Leers: Fixed Impossible to uninstall any module using the file usage service, because it is impossible to delete all file usages by a module."

This reverts commit 858674f0d1.
8.0.x
Alex Pott 2013-08-22 11:19:04 +01:00
parent 410d56a7ba
commit 0e47ce3293
4 changed files with 3 additions and 69 deletions

View File

@ -38,15 +38,6 @@ function file_help($path, $arg) {
}
}
/**
* Implements hook_modules_uninstalled().
*/
function file_modules_uninstalled($modules) {
foreach ($modules as $module) {
file_usage()->deleteByModule($module);
}
}
/**
* Implements hook_menu().
*/

View File

@ -46,7 +46,7 @@ class DatabaseFileUsageBackend extends FileUsageBase {
}
/**
* {@inheritdoc}
* Implements Drupal\file\FileUsage\FileUsageInterface::add().
*/
public function add(File $file, $module, $type, $id, $count = 1) {
$this->connection->merge($this->tableName)
@ -64,7 +64,7 @@ class DatabaseFileUsageBackend extends FileUsageBase {
}
/**
* {@inheritdoc}
* Implements Drupal\file\FileUsage\FileUsageInterface::delete().
*/
public function delete(File $file, $module, $type = NULL, $id = NULL, $count = 1) {
// Delete rows that have a exact or less value to prevent empty rows.
@ -99,7 +99,7 @@ class DatabaseFileUsageBackend extends FileUsageBase {
}
/**
* {@inheritdoc}
* Implements Drupal\file\FileUsage\FileUsageInterface::listUsage().
*/
public function listUsage(File $file) {
$result = $this->connection->select($this->tableName, 'f')
@ -113,14 +113,4 @@ class DatabaseFileUsageBackend extends FileUsageBase {
}
return $references;
}
/**
* {@inheritdoc}
*/
public function deleteByModule($module) {
$this->connection->delete($this->tableName)
->condition('module', $module)
->execute();
}
}

View File

@ -72,13 +72,4 @@ interface FileUsageInterface {
*
*/
public function listUsage(File $file);
/**
* Removes all records for a specific module; useful for uninstalling modules.
*
* @param string $module
* The name of the module using files.
*/
public function deleteByModule($module);
}

View File

@ -52,44 +52,6 @@ class UsageTest extends FileManagedTestBase {
$this->assertEqual($usage['testing']['bar'][2], 2, 'Returned the correct count.');
}
/**
* Tests file_usage()->deleteByModule().
*/
function testDeleteByModule() {
$file = $this->createFile();
db_insert('file_usage')
->fields(array(
'fid' => $file->id(),
'module' => 'testing',
'type' => 'foo',
'id' => 1,
'count' => 1
))
->execute();
db_insert('file_usage')
->fields(array(
'fid' => $file->id(),
'module' => 'testing',
'type' => 'bar',
'id' => 2,
'count' => 2
))
->execute();
db_insert('file_usage')
->fields(array(
'fid' => $file->id(),
'module' => 'file',
'type' => 'bar',
'id' => 2,
'count' => 2
))
->execute();
file_usage()->deleteByModule('testing');
$this->assertIdentical(array('file' => array('bar' => array(2 => '2'))), file_usage()->listUsage($file), 'All records for the "testing" module have been deleted.');
}
/**
* Tests file_usage()->add().
*/