| 1 |
<?php |
<?php |
| 2 |
// $Id: db_maintenance.module,v 1.11.2.2.2.1 2008/10/01 05:05:30 jgraham Exp $ |
// $Id: db_maintenance.module,v 1.11.2.2.2.2 2008/10/01 05:14:01 jgraham Exp $ |
| 3 |
|
|
| 4 |
/** |
/** |
| 5 |
* @file |
* @file |
| 304 |
return system_settings_form($form); |
return system_settings_form($form); |
| 305 |
} |
} |
| 306 |
|
|
| 307 |
function db_maintenance_admin_settings_validate($formid, &$form) { |
function db_maintenance_admin_settings_validate($form, &$form_state) { |
|
if (!is_dir($form['db_maintenance_backup_directory'])) { |
|
|
form_set_error('db_maintenance_backup_directory', t('Backup directory does not exist or is not a directory.')); |
|
|
} |
|
|
elseif (!is_writable($form['db_maintenance_backup_directory'])) { |
|
|
form_set_error('db_maintenance_backup_directory', t('Backup directory is not writable.')); |
|
|
} |
|
| 308 |
|
|
| 309 |
if (!is_file($form['db_maintenance_path_to_tar'])) { |
// if -1 then we do not backup so the extra field validation should only happen when appropriate |
| 310 |
form_set_error('db_maintenance_path_to_tar', t('Path to tar is incorrect.')); |
$dbfreq = $form_state['values']['db_maintenance_db_backup_frequency']; |
| 311 |
|
$filesfreq = $form_state['values']['db_maintenance_files_backup_frequency']; |
| 312 |
|
|
| 313 |
|
// only validate backup directory if we need to |
| 314 |
|
if (($dbfreq != -1 || $filesfreq != -1)) { |
| 315 |
|
if (!is_dir($form_state['values']['db_maintenance_backup_directory'])) { |
| 316 |
|
form_set_error('db_maintenance_backup_directory', t('Backup directory does not exist or is not a directory.')); |
| 317 |
|
} |
| 318 |
|
elseif (!is_writable($form_state['values']['db_maintenance_backup_directory'])) { |
| 319 |
|
form_set_error('db_maintenance_backup_directory', t('Backup directory is not writable.')); |
| 320 |
|
} |
| 321 |
} |
} |
| 322 |
elseif(!is_executable($form['db_maintenance_path_to_tar'])) { |
|
| 323 |
form_set_error('db_maintenance_path_to_tar', t('tar is not executable.')); |
if ($filesfreq != -1) { |
| 324 |
|
if (!is_file($form_state['values']['db_maintenance_path_to_tar'])) { |
| 325 |
|
form_set_error('db_maintenance_path_to_tar', t('Path to tar is incorrect.')); |
| 326 |
|
} |
| 327 |
|
elseif(!is_executable($form_state['values']['db_maintenance_path_to_tar'])) { |
| 328 |
|
form_set_error('db_maintenance_path_to_tar', t('tar is not executable.')); |
| 329 |
|
} |
| 330 |
} |
} |
| 331 |
|
|
| 332 |
if (!is_file($form['db_maintenance_path_to_mysqldump'])) { |
if ($dbfreq != -1) { |
| 333 |
form_set_error('db_maintenance_path_to_mysqldump', t('Path to mysqldump is incorrect.')); |
if (!is_file($form_state['values']['db_maintenance_path_to_mysqldump'])) { |
| 334 |
} |
form_set_error('db_maintenance_path_to_mysqldump', t('Path to mysqldump is incorrect.')); |
| 335 |
elseif(!is_executable($form['db_maintenance_path_to_mysqldump'])) { |
} |
| 336 |
form_set_error('db_maintenance_path_to_mysqldump', t('mysqldump is not executable.')); |
elseif(!is_executable($form_state['values']['db_maintenance_path_to_mysqldump'])) { |
| 337 |
|
form_set_error('db_maintenance_path_to_mysqldump', t('mysqldump is not executable.')); |
| 338 |
|
} |
| 339 |
} |
} |
| 340 |
|
|
| 341 |
$emails = explode(',', $form['db_maintenance_email_notify']); |
if (!empty($form_state['values']['db_maintenance_email_notify'])) { |
| 342 |
if (!empty($emails)) { |
$emails = explode(',', $form_state['values']['db_maintenance_email_notify']); |
| 343 |
$bad = array(); |
if (!empty($emails)) { |
| 344 |
foreach($emails as $email) { |
$bad = array(); |
| 345 |
$email = trim($email); |
foreach($emails as $email) { |
| 346 |
if (!valid_email_address($email)) { |
$email = trim($email); |
| 347 |
$bad[] = $email; |
if (!valid_email_address($email)) { |
| 348 |
|
$bad[] = $email; |
| 349 |
|
} |
| 350 |
|
} |
| 351 |
|
if (!empty($bad)) { |
| 352 |
|
form_set_error('db_maintenance_email_notify', t('The following email address(es) were invalid; @badmail', array('@badmail' => implode(', ', $bad)))); |
| 353 |
} |
} |
|
} |
|
|
if (!empty($bad)) { |
|
|
form_set_error('db_maintenance_email_notify', t('The following email address(es) were invalid; @badmail', array('@badmail' => implode(', ', $bad)))); |
|
| 354 |
} |
} |
| 355 |
} |
} |
| 356 |
} |
} |