function _webform2pdf_filter_values in Webform2PDF 7.3
1 call to _webform2pdf_filter_values()
File
- ./
webform2pdf.module, line 486
Code
function _webform2pdf_filter_values($string, $node, $submission) {
$tokens = array();
foreach ($node->webform['components'] as $component) {
if (isset($component['type']) && $component['type'] == 'select') {
$values = isset($submission->data[$component['cid']]['value']) ? $submission->data[$component['cid']]['value'] : '';
if (is_array($values)) {
$items = explode("<nl2br>", preg_replace("/(\r\n)+|(\n|\r)+/", "<nl2br>", $component['extra']['items']));
$options = array();
foreach ($items as $item) {
if (strpos($item, '|') === FALSE) {
$key = $option = $item;
}
else {
$key = drupal_substr($item, 0, strpos($item, '|'));
$option = drupal_substr($item, strpos($item, '|') + 1);
}
$options[$key] = $option;
}
$nl = $all = $nl_all = array();
foreach ($options as $key => $option) {
if (in_array($option, $values) || in_array($key, $values)) {
if (!empty($option)) {
$nl[] = ' - ' . $option . "<br />\n";
$all[] = '<u><b><span class="selected">' . $option . '</span></b></u>';
$nl_all[] = ' [X] ' . $option . "<br />\n";
}
}
else {
if (!empty($option)) {
$all[] = $option;
$nl_all[] = ' [ ] ' . $option . "<br />\n";
}
}
}
// select_or_other module support
if (module_exists('select_or_other')) {
$potential_values = array_merge(array_keys($options), array_values($options));
$diff = array_diff($values, $potential_values);
if (count($diff)) {
foreach ($diff as $value) {
if (!empty($value)) {
$nl[] = ' - ' . check_plain($value) . "<br />\n";
$all[] = '<u><b><span class="selected">' . check_plain($value) . '</span></b></u>';
$nl_all[] = ' [X] ' . check_plain($value) . "<br />\n";
}
}
}
}
$tokens['%label_nl[' . $component['form_key'] . ']'] = $component['name'] . ": <br />\n" . implode('', $nl);
$tokens['%label_all[' . $component['form_key'] . ']'] = $component['name'] . ': ' . implode(', ', $all);
$tokens['%label_all_nl[' . $component['form_key'] . ']'] = $component['name'] . ": <br />\n" . implode('', $nl_all);
$tokens['%nl[' . $component['form_key'] . ']'] = implode('', $nl);
$tokens['%all[' . $component['form_key'] . ']'] = implode(', ', $all);
$tokens['%all_nl[' . $component['form_key'] . ']'] = implode('', $nl_all);
}
else {
$tokens['%label_nl[' . $component['form_key'] . ']'] = $tokens['%label_all[' . $component['form_key'] . ']'] = $tokens['%label_all_nl[' . $component['form_key'] . ']'] = $tokens['%nl[' . $component['form_key'] . ']'] = $tokens['%all[' . $component['form_key'] . ']'] = $tokens['%all_nl[' . $component['form_key'] . ']'] = '';
}
}
}
drupal_alter('webform2pdf_tokens', $tokens, $node, $submission);
return strtr($string, $tokens);
}