'', 'query' => '', 'fragment' => '');
$form['settings']['path'] = array(
'#type' => 'textfield',
'#size' => 30,
'#prefix' => '
',
'#title' => t('To'),
'#suffix' => '?',
'#default_value' => $settings['path'],
);
$form['settings']['query'] = array(
'#type' => 'textfield',
'#size' => 12,
'#default_value' => $settings['query'],
'#suffix' => '#',
);
$form['settings']['fragment'] = array(
'#type' => 'textfield',
'#size' => 12,
'#default_value' => $settings['fragment'],
'#suffix' => '
',
);
}
/**
* Action adjust weight configuration form.
*/
function rules_forms_action_adjust_weight_form($settings, &$form) {
$form['settings']['weight']['#type'] = 'weight';
$form['settings']['weight']['#delta'] = 50;
if (isset($settings['weight'])) {
$form['settings']['weight']['#default_value'] = $settings['weight'];
}
else {
$form['settings']['weight']['#default_value'] = 0;
}
}
/**
* Action prefix/suffix code configuration form.
*/
function rules_forms_action_prefix_suffix_html_form($settings, &$form) {
$form['settings']['element']['#required'] = FALSE;
$form['settings']['element']['#description'] = t('ID of the form element to be targeted. Leave empty to apply prefix/suffix code to the whole form.');
$form['settings']['prefix']['#type'] = 'textarea';
$form['settings']['prefix']['#required'] = FALSE;
$form['settings']['suffix']['#type'] = 'textarea';
$form['settings']['suffix']['#required'] = FALSE;
}
/**
* Action set error configuration form.
*/
function rules_forms_action_set_error_form($settings, &$form) {
$form['settings']['element']['#required'] = FALSE;
$form['settings']['message']['#type'] = 'textarea';
}
/**
* Condition form element value configuration form.
*/
function rules_forms_condition_element_value_form($settings, &$form) {
$form['settings']['value']['#type'] = 'textarea';
}
/**
* Validation of the prefix/suffix action configuration form.
*/
function rules_forms_action_prefix_suffix_html_validate($form, $form_state) {
if (empty($form_state['values']['settings']['prefix']) && empty($form_state['values']['settings']['suffix'])) {
form_set_error('settings][prefix', t('You have to specify at least the prefix or suffix field.'));
}
}
/**
* Action set element configuration form.
*/
function rules_forms_action_set_element_form($settings, &$form) {
$form['settings']['value']['#type'] = 'textarea';
$form['settings']['value']['#required'] = FALSE;
}
/**
* Label callback for adjusting weights action.
*/
function rules_forms_action_adjust_weight_label($settings, $argument_labels) {
return t("Adjust weight of form element '@element' to @weight", array('@element' => $settings['element'], '@weight' => $settings['weight']));
}
/**
* Label callback for hiding form elements action.
*/
function rules_forms_action_hide_element_label($settings, $argument_labels) {
return t("Hide form element '@element'", array('@element' => $settings['hide']));
}
/**
* Label callback for redirect action.
*/
function rules_forms_action_redirect_label($settings, $argument_labels) {
$redirect = $settings['path'];
if (!empty($settings['query'])) {
$redirect .= '?'. $settings['query'];
}
if (!empty($settings['fragment'])) {
$redirect .= '#'. $settings['fragment'];
}
return t("Set form redirect target to '@redirect'", array('@redirect' => $redirect));
}
/**
* Label callback for prefix/suffix action.
*/
function rules_forms_action_prefix_suffix_html_label($settings, $argument_labels) {
if (empty($settings['element'])) {
return t('Insert HTML prefix/suffix code on form');
}
else {
return t("Insert HTML prefix/suffix code on '@element'", array('@element' => $settings['element']));
}
}
/**
* Label callback for set error action.
*/
function rules_forms_action_set_error_label($settings, $argument_labels) {
if (empty($settings['element'])) {
return t('Set a form error');
}
return t("Set form error on element '@element'", array('@element' => $settings['element']));
}
/**
* Label callback for set default value action.
*/
function rules_forms_action_set_element_label($settings, $argument_labels) {
return t("Set default value on form element '@element'", array('@element' => $settings['element']));
}
/**
* Label callback for element value condition.
*/
function rules_forms_condition_element_value_label($settings, $argument_labels) {
return t("Form element '@element' value check", array('@element' => $settings['element']));
}