function lockr_uninstall in Lockr 7.3
Same name and namespace in other branches
- 7 lockr.install \lockr_uninstall()
- 7.2 lockr.install \lockr_uninstall()
Implements hook_uninstall().
Delete any keys that use Lockr as the key provider.
File
- ./
lockr.install, line 23 - Install, uninstall, and update functions for lockr.
Code
function lockr_uninstall() {
// Load the key configurations.
$configs = db_query("SELECT * FROM {key_config} WHERE key_provider = :provider", [
':provider' => 'lockr',
])
->fetchAllAssoc('id', PDO::FETCH_ASSOC);
// If no keys use Lockr, don't bother to continue.
if (empty($configs)) {
return;
}
// Load the module and plugin.
drupal_load('module', 'lockr');
require_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'lockr') . "/plugins/key_provider/lockr.inc";
$deleted_keys = [];
// Delete each Lockr key and the key value.
foreach ($configs as $id => $config) {
db_delete('key_config')
->condition('id', $id)
->execute();
key_provider_lockr_delete_key_value($config);
$deleted_keys[] = $config['label'];
}
drupal_set_message(t('The following Lockr keys were deleted: %keys', [
'%keys' => implode(', ', $deleted_keys),
]), 'warning');
}