Arkadaşlar Biraz kastı, fakat hallettim, tamamen kendi buluşum, kaç gündür sitede olmamamın nedeni bu idi, fırtına öncesi sessizlik misali size kodu yazdım :D, hiçbir sitede yok :)
şimdi vereceğim mod sayesinde sitenizde emule linkleri verebilirsiniz.. (bu modu uygulayınca ayrıca siteniz linkleri otomatik de algılayacak)
yapmanız gerekenler:
Bu başlık altındakileri uygulayın (bu emule linki vermenizi sağlayacak kodun temeli aslında otomatik linkden hariç)
maincore.php yi açın
şu satırı bulun
$text = preg_replace('#\[b\](.*?)\[/b\]#si', '<b>\1</b>', $text);üstüne ekleyin:
//Emule Link Mod By SoulSmasher
//www.phpfusion-tr.com
$text = preg_replace("#(^|(?<=[^\w\"']))(ed2k://\|file\|([^\\/\|:<>\*\?\"]+?)\|(\d+?)\|([a-f0-9]{32})\|(.*?)/?)(?![\"'])(?=([,\.]*?[\s<\[])|[,\.]*?$)#i", "<a href=\"\\2\">\\3</a>", $text);
//Emule Link Modu Sonuşu satırı bulun:
$text = make_clickable($text);
altına ekleyin:
$text = make_addalled2k_link($text,$post_id);
şimdi, önceki linkden uygulamış olduğumuz modda gelen dosya olan
includes/automatic_linking.php yi açın
şu satırları bulun:
function make_clickable($text)
{altına ekleyin
//Emule Mod. Yazan: SoulSmasher
//automatic_linking.php ye de ekliyoruz ki düzgün çalışsın
$ret = ' ' . $text;
$ret = preg_replace("#(^|(?<=[^\w\"']))(ed2k://\|file\|([^\\/\|:<>\*\?\"]+?)\|(\d+?)\|([a-f0-9]{32})\|(.*?)/?)(?![\"'])(?=([,\.]*?[\s<\[])|[,\.]*?$)#i", "<a href=\"\\2\">\\3</a>", $ret);
//Emule mod Link Algılama Bölümü Bitişşu kodu bulun:
return($ret);
}
altına ekleyin:
//emule mod By SoulSmasher
function make_addalled2k_link($text,$post_id)
{
$ret = ' ' . $text;
// Mesajları Algılamak için
$t_ed2k_raw = explode("ed2k:",$text);
// İlk item gereksiz
unset($t_ed2k_raw[0]);
$t_ed2k_possibles = count($t_ed2k_raw);
if ($t_ed2k_possibles > 1)
{
unset($t_ed2k_reallinks);
foreach ($t_ed2k_raw as $t_ed2k_raw_line)
{
$t_ed2k_parts = explode("|",$t_ed2k_raw_line);
// This looks now like this (only important parts included
/*
[1]=>
string(4) "file"
[2]=>
string(46) "some-filename-here.txt"
[3]=>
string(9) "321456789"
[4]=>
string(32) "112233445566778899AABBCCDDEEFF11"
*/
// linki algılamak
if (strlen($t_ed2k_parts[1]) == 4 AND $t_ed2k_parts[1] === "file" AND strlen($t_ed2k_parts[2]) > 0 AND strlen($t_ed2k_parts[4]) == 32 AND floatval($t_ed2k_parts[3]) > 0)
{
// gerçek linkin yapısı bu. yapışırıp algılamasını sağlıyor
$t_ed2k_reallinks[] = "ed2k://|file|".str_replace("'","\'",$t_ed2k_parts[2])."|".$t_ed2k_parts[3]."|".$t_ed2k_parts[4]."|";
}
}
//2 veya daha fazla link için düzenleme
$t_ed2k_confirmed = count($t_ed2k_reallinks);
if ($t_ed2k_confirmed > 1)
{
$t_ed2kinsert = " \n";
$t_ed2kinsert .= "<SCRIPT> ";
$t_ed2kinsert .= "filearray".$post_id."=new Array; ";
$t_ed2kinsert .= "n=0; ";
$i = 0;
foreach($t_ed2k_reallinks as $t_ed2klink)
{
$t_ed2kinsert .= "filearray".$post_id."[".$i."]='".$t_ed2klink."'; ";
$i++;
}
$t_ed2kinsert .= "iv=false; ";
$t_ed2kinsert .= "function addfile".$post_id."(){ ";
$t_ed2kinsert .= " var s=filearray".$post_id."[n]; ";
$t_ed2kinsert .= " n++; ";
$t_ed2kinsert .= " if(n==filearray".$post_id.".length && iv){ ";
$t_ed2kinsert .= " top.clearInterval(iv); ";
$t_ed2kinsert .= " n=0; ";
$t_ed2kinsert .= " } ";
$t_ed2kinsert .= " top.document.location=s; ";
$t_ed2kinsert .= " return true; ";
$t_ed2kinsert .= "} ";
$t_ed2kinsert .= "function addall".$post_id."(){iv=top.setInterval('addfile".$post_id."()',250)} ";
$t_ed2kinsert .= "</SCRIPT> ";
//$t_ed2kinsert .= "<a href='javascript:addall".$post_id."()'>Büyün ".$t_ed2k_confirmed." linki de ekleyin</a> ";
$ret = $ret . $t_ed2kinsert;
}
}
// kodu kapayalım
$ret = substr($ret, 1);
return($ret);
}Bu Mod sayesinde artık hem bi link yazdığınız zaman otomatik url içine alacak vbulletindeki gibi, hem de emule linkini çalıştırabileceksiniz.
Afiyet olsun ;)
kaynak:
PHP-Fusion Türkiye | php fusion türkiye resmi destek sitesi