You are here

function widgets_token_replace in Widgets 7

Implements hook_token_replace().

Parameters

$template:

$token_data:

Return value

mixed

1 call to widgets_token_replace()
theme_widgets_set_view in ./widgets.module
Returns HTML for a preview of an widget set.

File

./widgets.module, line 1241
Exposes global functionality for creating widget sets.

Code

function widgets_token_replace($template, $token_data) {
  $template = token_replace($template, $token_data);

  // Check if any special operators.
  if (strpos($template, '[|') === FALSE) {
    return $template;
  }
  $pattern = '/\\[\\|(.*?)\\|\\]/';
  preg_match_all($pattern, $template, $matches);
  if (isset($matches[1])) {
    $i = 0;
    foreach ($matches[1] as $match) {
      $elements = explode('||', $match);
      $value = '';
      foreach ($elements as $element) {
        $results = token_scan($element);
        if (count($results) == 0) {
          $value = $element;
          break;
        }
      }
      $template = str_replace($matches[0][$i], $value, $template);
      $i++;
    }
  }
  return $template;
}