function domain_settings_reset in Domain Access 6.2
Same name and namespace in other branches
- 7.3 domain_settings/domain_settings.module \domain_settings_reset()
- 7.2 domain_settings/domain_settings.module \domain_settings_reset()
Erase Domain Conf and Batch settings but keep those set by this module.
Parameters
$domain_id: The domain_id to reset.
2 calls to domain_settings_reset()
- domain_settings_batch_form_submit in domain_settings/
domain_settings.module - Submit handler for batch domain settings.
- domain_settings_reset_form_submit in domain_settings/
domain_settings.module - Form submit handler to batch reset custom settings.
File
- domain_settings/
domain_settings.module, line 377 - Allows domain-specific use of Drupal system settings forms.
Code
function domain_settings_reset($domain_id) {
// Get the conf elements and erase them from the record.
$batch = module_invoke_all('domainbatch');
$conf = module_invoke_all('domainconf');
$list = array_merge(array_keys($batch), array_keys($conf));
// Get the existing data.
$data = db_fetch_array(db_query("SELECT settings FROM {domain_conf} WHERE domain_id = %d", $domain_id));
if (empty($data)) {
return;
}
// Erase the settings by key.
$settings = domain_unserialize($data['settings']);
foreach ($list as $item) {
if (isset($settings[$item])) {
unset($settings[$item]);
}
}
// Write the update.
$sql = "UPDATE {domain_conf} SET settings = %b WHERE domain_id = %d";
db_query($sql, serialize($settings), $domain_id);
}