ho trovato questo script per anonimizzare i link sulla board MyBB 1.4.9, però ho notato che dentro ai tag non me li prende, ce qualcuno che sa migliorare questo script?
se non uso i tag funziona mi mette davanti al link l'indirizzo anonim.to e poi il link del post, ma se il link si trova dentro il tag non me lo prende!
Codice PHP:
<?php
$plugins->add_hook("parse_message", "linkanonymizer_run");
function linkanonymizer_info()
{
return array(
"name" => "Link Anonymizer",
"description" => "Anonymizes Links in Threads",
"website" => "",
"author" => ".:Sahil:.",
"authorsite" => "",
"version" => "0.0.2",
);
}
function linkanonymizer_activate()
{
}
function linkanonymizer_deactivate()
{
}
function linkanonymizer_run($message)
{
if (preg_match_all("/(\<a href=\")(.[^\"]*)/i", $message, $matches))
{
$preg_search = array();
$preg_replace = array();
//If you leave this setting blank, the value for myBB Settings Cookie Domain will be used.
//Use all the values separated by space
//example
//$ignore_these = "domain.com [url]www.domain.com[/url]";
$ignore_these = "";
$should_force = 1;
$ignore_links = ($ignore_these ? explode(" ", $ignore_these) : ($mybb->settings['cookiedomain'] ? array($mybb->settings['cookiedomain']) : array($_SERVER['SERVER_NAME'])));
foreach ($matches[2] AS $key=>$rawurl)
{
//Testing Begin
// If we have any from $ignore_url, leave that as it is
if (($parsed_url = @parse_url($rawurl)) !== false)
{
$link = $parsed_url['host'];
//Ignore the link if it has local address or ignored link
foreach ($ignore_links AS $ignore_link)
{
//echo "$ignore_link
";
if (substr($ignore_link, 0, 1) == ".")
{
if (preg_match("/$ignore_link$/i", $link))
{
continue 2;
}
}
else
{
if (strtolower($ignore_link) == strtolower($link))
{
continue 2;
}
}
}
}
else
{
if ($should_force != 1)
{
continue;
}
}
//Testing end
$anonymurl = "http://www.anonym.to/?" . $rawurl;
$preg_search["$rawurl"] = "<a href=\"$rawurl";
$preg_replace["$rawurl"] = "<a href=\"" . $anonymurl;
}
if ($preg_search)
{
return str_replace($preg_search, $preg_replace, $message);
}
}
}
?>