You are here

function _freelinking_parse_target in Freelinking 7.3

Parse target for secondary link arguments.

$target is raw user input and needs to be checked by check_plain. before rendered.

1 call to _freelinking_parse_target()
_freelinking_process in ./freelinking.module
Implements filter process callback

File

./freelinking.module, line 364

Code

function _freelinking_parse_target($target, $language) {
  $args = array();
  $args['target'] = $target;
  $items = explode('|', $target);

  // first three unnamed args are dest, text, tooltip
  $index = 0;
  foreach ($items as $key => $item) {
    if (strpos($item, '=')) {
      list($name, $value) = explode('=', $item);
      $args[$name] = $value;
    }
    elseif ($index < 3) {
      switch ($index) {
        case '0':
          $args['dest'] = $item;
          break;
        case '1':
          $args['text'] = $item;
          break;
        case '2':
          $args['tooltip'] = $item;
          break;
      }
      $index++;
    }
    else {
      $args['other'][] = $item;
    }
  }

  // Convert URL-encoded text into something readable for link text & tooltip.
  $args['text'] = isset($args['text']) ? urldecode($args['text']) : NULL;
  $args['tooltip'] = isset($args['tooltip']) ? urldecode($args['tooltip']) : NULL;
  $args['language'] = $language;
  return $args;
}