$propbag->add('description', PLUGIN_EVENT_TRACKBACK_DESC);
$propbag->add('stackable', false);
$propbag->add('author', 'Serendipity Team');
- $propbag->add('version', '1.1');
+ $propbag->add('version', '1.2');
$propbag->add('requirements', array(
'serendipity' => '0.8',
'smarty' => '2.6.7',
$element = $temp['element'];
$eventData[$element] = preg_replace_callback(
- "#<a(.*)href=(\"|')http(s?)://([^\"']+)(\"|')#isUm",
+ "#<a(.*)href=(\"|')http(s?)://([^\"']+)(\"|')([^>]*)>#isUm",
array($this, '_encodeExitsCallback'),
$eventData[$element]
);
);
}
+ $is_title = (stristr($buffer[0], 'title=') !== false ? true : false);
+ $is_over = (stristr($buffer[0], 'onmouseover=') !== false ? true : false);
+ $is_out = (stristr($buffer[0], 'onmouseout=') !== false ? true : false);
+
+ $link = '<a%shref="%sexit.php?url_id=%s%s" ' . (!$is_title ? 'title="%s" ' : '%s') . (!$is_over ? ' onmouseover="window.status=\'%s\';return true;" ' : '%s') . (!$is_out ? 'onmouseout="window.status=\'\';return true;"' : '') . '%s>';
+
if (is_array($this->links) && isset($this->links[$url])) {
return sprintf(
- '<a%shref="%sexit.php?url_id=%s%s" title="%s" onmouseover="window.status=\'%s\';return true;" onmouseout="window.status=\'\';return true;"',
+ $link,
$buffer[1],
$serendipity['baseURL'],
$this->links[$url],
($entry_id != 0) ? '&entry_id=' . $entry_id : '',
- $url,
- $url
+ (!$is_title ? $url : ''),
+ (!$is_over ? $url : ''),
+ $buffer[6]
);
} else {
return sprintf(
- '<a%shref="%sexit.php?url=%s%s" title="%s" onmouseover="window.status=\'%s\';return true;" onmouseout="window.status=\'\';return true;"',
+ $link,
$buffer[1],
$serendipity['baseURL'],
base64_encode($url),
($entry_id != 0) ? '&entry_id=' . $entry_id : '',
- $url,
- $url
+ (!$is_title ? $url : ''),
+ (!$is_over ? $url : ''),
+ $buffer[6]
);
}
}