Entities Not Stripped from URL
The first URL on the page, which is the article when viewing an article, only removes entities if there is a URL replacement set for the current language. Additionally, if any other URL on the page contains HTML entities, they will not be stripped before being encoded.
Fixed for the next build. $vbulletin is not available in the scope of the URL builder. Moved the conditional to inside the cleaner. Use $haslang instead to check for existing replacements.
In
vault/special_class_wiki.php, find:
Code:
static $badchars, $replacer;
Replace with:
Code:
static $badchars, $replacer, $haslang;
Find:
Code:
$replacer["$langid"]["$lookup[0]"] = $lookup[1];
Add after:
Code:
$haslang["$langid"] = $langid;
Find:
Code:
if (!empty($vbulletin->options['vault_replaces']["$langid"]))
{
$text = preg_replace('#&\#?\w+;#e', '\$this->replace_test(\$replacer[' . $langid . '], "\0");', $text);
}
Replace with:
Code:
$text = preg_replace('#&\#?\w+;#e', '\$this->replace_test(' . ($haslang["$langid"] ? '\$replacer[' . $langid . ']' : 'array()') . ', "\0");', $text);