function rules_ui_import_form_validate
Validation callback for the import form.
File
-
ui/
ui.forms.inc, line 576
Code
function rules_ui_import_form_validate($form, &$form_state) {
if ($rules_config = rules_import($form_state['values']['import'], $error_msg)) {
// Store the successfully imported entity in $form_state.
$form_state['rules_config'] = $rules_config;
// Check for existing entities with the same identifier.
if ($existing_config = rules_config_load($rules_config->name)) {
// Don't import and overwrite the existing configuration unless the user
// has checked the 'overwrite' box.
if (!$form_state['values']['overwrite']) {
$vars = array(
'@entity' => t('Rules configuration'),
'%label' => $rules_config->label(),
);
form_set_error('import', t('Import of @entity %label failed, a @entity with the same machine name already exists. Check the overwrite option to replace it.', $vars));
}
// Don't import if the existing configuration has the status ENTITY_FIXED
// because that means the configuration can't be modified.
if ($existing_config->status == ENTITY_FIXED) {
$vars = array(
'@entity' => t('Rules configuration'),
'%label' => $rules_config->label(),
);
form_set_error('import', t("Import of @entity %label failed, a @entity with the same machine name already exists and is marked as ENTITY_FIXED meaning it can't be mofified.", $vars));
}
}
try {
$rules_config->integrityCheck();
} catch (RulesIntegrityException $e) {
form_set_error('import', t('Integrity check for the imported configuration failed. Error message: %message.', array(
'%message' => $e->getMessage(),
)));
}
if (!user_access('bypass rules access') && !$rules_config->access()) {
form_set_error('import', t('You have insufficient access permissions for importing this Rules configuration.'));
}
}
else {
form_set_error('import', t('Import failed.'));
if ($error_msg) {
drupal_set_message($error_msg, 'error');
}
}
}