function theme_webform_conditional in Webform 7.4
Theme the form for a conditional action.
1 theme call to theme_webform_conditional()
- webform_element_info in ./
webform.module - Implements hook_element_info().
File
- includes/
webform.conditionals.inc, line 897 - Form elements and menu callbacks to provide conditional handling in Webform.
Code
function theme_webform_conditional($variables) {
$element = $variables['element'];
$output = '';
$output .= '<div class="webform-conditional">';
$output .= '<span class="webform-conditional-if">' . t('If') . '</span>';
foreach (element_children($element['rules']) as $rid) {
$rule =& $element['rules'][$rid];
switch ($rule['source_type']['#value']) {
case 'conditional_start':
$source_phrase = '<div class="webform-subconditional">' . t('(') . '</div>';
break;
case 'conditional_end':
$source_phrase = '<div class="webform-subconditional">' . t(')') . '</div>';
break;
default:
// Hide labels.
$rule['source']['#title_display'] = 'invisible';
$rule['operator']['#title_display'] = 'invisible';
$rule['value']['#title_display'] = 'invisible';
$source = '<div class="webform-conditional-source">' . drupal_render($rule['source']) . '</div>';
$operator = '<div class="webform-conditional-operator">' . drupal_render($rule['operator']) . '</div>';
$value = '<div class="webform-conditional-value">' . drupal_render($rule['value']) . '</div>';
$source_phrase = t('!source !operator !value', array(
'!source' => $source,
'!operator' => $operator,
'!value' => $value,
));
}
$output .= '<div class="webform-conditional-rule">';
// Can't use theme('indentation') here because it causes the draghandle to
// be located after the last indentation div.
$output .= str_repeat('<div class="webform-indentation"> </div>', $rule['#level']);
$output .= drupal_render($rule['source_type']);
$output .= '<div class="webform-container-inline webform-conditional-condition">';
$output .= $source_phrase;
$output .= '</div>';
if (isset($rule['andor'])) {
$rule['andor']['#title_display'] = 'invisible';
$output .= '<div class="webform-conditional-andor webform-container-inline">';
$output .= drupal_render($rule['andor']);
$output .= '</div>';
}
if (isset($rule['add']) || isset($rule['remove'])) {
$output .= '<span class="webform-conditional-operations webform-container-inline">';
$output .= drupal_render($rule['add_subconditional']);
$output .= drupal_render($rule['add']);
$output .= drupal_render($rule['remove']);
$output .= '</span>';
}
$output .= '</div>';
}
// Hide labels.
foreach (element_children($element['actions']) as $aid) {
// Hide labels.
$element['actions'][$aid]['target']['#title_display'] = 'invisible';
$element['actions'][$aid]['invert']['#title_display'] = 'invisible';
$element['actions'][$aid]['action']['#title_display'] = 'invisible';
$element['actions'][$aid]['argument']['#title_display'] = 'invisible';
$target = '<div class="webform-conditional-target">' . drupal_render($element['actions'][$aid]['target']) . '</div>';
$invert = '<div class="webform-conditional-invert">' . drupal_render($element['actions'][$aid]['invert']) . '</div>';
$action = '<div class="webform-conditional-action">' . drupal_render($element['actions'][$aid]['action']) . '</div>';
$argument = '<div class="webform-conditional-argument">' . drupal_render($element['actions'][$aid]['argument']) . '</div>';
$target_phrase = t('then !target !invert !action !argument', array(
'!target' => $target,
'!invert' => $invert,
'!action' => $action,
'!argument' => $argument,
));
$output .= '<div class="webform-conditional-action">';
$output .= '<div class="webform-container-inline webform-conditional-condition">';
$output .= $target_phrase;
$output .= '</div>';
if (isset($element['actions'][$aid]['add']) || isset($element['actions'][$aid]['remove'])) {
$output .= '<span class="webform-conditional-operations webform-container-inline">';
$output .= drupal_render($element['actions'][$aid]['add']);
$output .= drupal_render($element['actions'][$aid]['remove']);
$output .= '</span>';
}
$output .= '</div>';
}
$output .= '</div>';
return $output;
}