Some untested fixes to try, I cannot easily get it to work with 3.8 to try for myself.
If you are having trouble with database errors, try this:
OPEN: websites_who_have_referred_today_(versionnumber).x ml
FIND (it's there more than once!):
Code:
(" . $referrers_db_values . ")
REPLACE WITH:
Code:
(" . $referrers_db_values . ") ON DUPLICATE KEY UPDATE count = count + 1
If you are having trouble with the letter w being incorrectly removed from URLs, try this:
OPEN: websites_who_have_referred_today_(versionnumber).x ml
FIND (it's there more than once!):
Code:
// Catch different prefixes
if (strpos($referrer_short, 'https://') !== False)
{
$referrer_short = str_replace("https://", "", "$referrer_short");
}
else if (strpos($referrer_short, 'ftp://') !== False)
{
$referrer_short = str_replace("ftp://", "", "$referrer_short");
}
else if (strpos($referrer_short, 'http://') !== False)
{
$referrer_short = str_replace("http://", "", "$referrer_short");
}
if (strpos($referrer_short, 'www.') == '0')
{
$referrer_short = ltrim($referrer_short, "www.");
}
REPLACE WITH:
Code:
// Trim down to the domain
$referrer_short = preg_replace('#^[a-z]+://(?:www.)?#iU', '', $referrer_short);
AND
FIND (it's there more than once!):
Code:
// Some might have a trailing / in their forum URL, some might not so do the same
$bburl_match = $vbulletin->options['bburl'];
if (strpos($bburl_match, 'https://') !== False)
{
$bburl_match = str_replace("https://", "", "$bburl_match");
}
else if (strpos($bburl_match, 'ftp://') !== False)
{
$bburl_match = str_replace("ftp://", "", "$bburl_match");
}
else if (strpos($bburl_match, 'http://') !== False)
{
$bburl_match = str_replace("http://", "", "$bburl_match");
}
if (strpos($referrer_short, 'www.') == '0')
{
$bburl_match = ltrim($bburl_match, "www.");
}
REPLACE WITH:
Code:
// Trim down to the domain
$bburl_match = preg_replace('#^[a-z]+://(?:www.)?#iU', '', $bburl_match);