function db_maintenance_admin_settings in DB Maintenance 5.2
Same name and namespace in other branches
- 8.2 db_maintenance.admin.inc \db_maintenance_admin_settings()
- 5 db_maintenance.module \db_maintenance_admin_settings()
- 6.2 db_maintenance.module \db_maintenance_admin_settings()
- 6 db_maintenance.module \db_maintenance_admin_settings()
- 7.2 db_maintenance.admin.inc \db_maintenance_admin_settings()
- 7 db_maintenance.admin.inc \db_maintenance_admin_settings()
Administration settings
options: log each optimization multi-select list of tables to optimize
Return value
array
1 call to db_maintenance_admin_settings()
1 string reference to 'db_maintenance_admin_settings'
- db_maintenance_menu in ./
db_maintenance.module - Implementation of hook_menu().
File
- ./
db_maintenance.module, line 190 - Optimizes database tables during cron runs.
Code
function db_maintenance_admin_settings() {
global $db_url;
$form = array();
$form['db_maintenance_log'] = array(
'#type' => 'checkbox',
'#title' => 'Log OPTIMIZE queries',
'#default_value' => variable_get('db_maintenance_log', 0),
'#description' => t('If enabled, a watchdog entry will be made each time tables are optimized, containing information which tables were involved.'),
);
$form['db_maintenance_repair'] = array(
'#type' => 'checkbox',
'#title' => 'Attempt REPAIR of table if OPTIMIZE is problematic',
'#default_value' => variable_get('db_maintenance_repair', 0),
'#description' => t('If enabled and a table receives a non-okay status from the OPTIMIZE then a repair of that table will be attempted. In the case of REPAIR all resulting status are logged via watchdog.'),
);
// array keyed by time (in seconds) with 0 indicating never
$frequency = array(
0 => t('Never'),
3600 => t('Hourly'),
86400 => t('Daily'),
604800 => t('Weekly'),
2592000 => t('Monthly'),
);
$form['db_maintenance_cron_frequency'] = array(
'#type' => 'select',
'#title' => t('Optimize tables'),
'#options' => $frequency,
'#default_value' => variable_get('db_maintenance_cron_frequency', 86400),
'#description' => t('Select how often database tables should be optimized.') . ' ' . l(t('Optimize now.'), 'db_maintenance/optimize'),
);
// Set the databases array if not already set in $db_url.
if (is_array($db_url)) {
$databases = $db_url;
}
else {
$databases['default'] = $db_url;
}
// Loop through each database and list the possible tables to optimize.
foreach ($databases as $db => $connection) {
$options = _db_maintenance_list_mysql_tables($db);
$form['db_maintenance_table_list_' . $db] = array(
'#type' => 'select',
'#title' => t('Tables in the !db database', array(
'!db' => $db == 'default' ? 'Drupal' : $db,
)),
'#options' => $options,
'#default_value' => variable_get('db_maintenance_table_list_' . $db, ''),
'#description' => t('Selected tables will be optimized during cron runs.'),
'#multiple' => true,
'#attributes' => array(
'size' => count($options),
),
);
}
$form['db_maintenance_db_backup_frequency'] = array(
'#type' => 'select',
'#title' => t('Database Backup frequency'),
'#description' => t('How often to backup the database. This is the most frequent this will run, but no more often than the frequency of the drupal cron script.'),
'#options' => $frequency,
'#default_value' => variable_get('db_maintenance_db_backup_frequency', 0),
);
$form['db_maintenance_files_backup_frequency'] = array(
'#type' => 'select',
'#title' => t('Files Backup frequency'),
'#description' => t('How often to backup the files directory. This is the most frequent this will run, but no more often than the frequency of the drupal cron script.'),
'#options' => $frequency,
'#default_value' => variable_get('db_maintenance_files_backup_frequency', 0),
);
$form['db_maintenance_backup_directory'] = array(
'#type' => 'textfield',
'#title' => t('Backup directory'),
'#description' => t('Directory to store backup files in'),
'#default_value' => variable_get('db_maintenance_backup_directory', '/tmp'),
);
$form['db_maintenance_path_to_tar'] = array(
'#type' => 'textfield',
'#title' => t('Path to tar'),
'#default_value' => variable_get('db_maintenance_path_to_tar', '/bin/tar'),
);
$form['db_maintenance_path_to_mysqldump'] = array(
'#type' => 'textfield',
'#title' => t('Path to mysqldump'),
'#default_value' => variable_get('db_maintenance_path_to_mysqldump', '/usr/bin/mysqldump'),
);
$form['db_maintenance_email_notify'] = array(
'#type' => 'textfield',
'#title' => t('Email address to notify'),
'#default_value' => variable_get('db_maintenance_email_notify', ''),
'#description' => t('List of email addresses to notify when tasks run. Seperate multiple addressses with a comma. Leave empty for no notification'),
);
return system_settings_form($form);
}