Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] eMule 发布插件 for Discuz!4.0.0正式版

[复制链接]
童虎 发表于 2005-12-12 04:04:03 | 显示全部楼层 |阅读模式
修改自
https://discuz.dismall.com/viewthread.php?tid=133866

STEP 1

打开 include/discuzcode.func.php
搜索

  1. $message = preg_replace("/\s*\[code\](.+?)\[\/code\]\s*/ies", "codedisp('\\1')", $message);
复制代码


在下面添加

  1. $message = preg_replace("/\s*\[emule\](.+?)\[\/emule\]\s*/ies", "emu('\\1')", $message);
复制代码


搜索

  1. return $htmlon || $allowhtml ? $message : nl2br(str_replace(array("\t", '   ', '  '), array('        ', '   ', '  '), $message));
复制代码


修改为
  1. $message = $htmlon || $allowhtml ? $message : nl2br(str_replace(array("\t", '   ', '  '), array('        ', '   ', '  '), $message));
  2. return  str_replace("/<br />","/\n",$message);
复制代码


搜索

  1. "/\[url=(https?|ftp|gopher|news|telnet|rtsp|mms|callto|ed2k){1}:\/\/([^\["']+?)\](.+?)\[\/url\]/is",
复制代码


改成

  1. "/\[url=(https?|ftp|gopher|news|telnet|rtsp|mms|callto){1}:\/\/([^\["']+?)\](.+?)\[\/url\]/is",
复制代码


在?>上面添加
  1. function emu($code){
  2.         global $discuzcodes;      
  3.         $searcharray = explode("\n",$code);
  4.                 $view = "<br><br><table width=80% align=center cellspacing=1 cellpadding=5 class=tableborder><tr><td colspan=2 align=center class=header>下面是eMule专用的下载链接,您必须安装eMule才能点击下载</td></tr>";

  5.         foreach($searcharray as $emule) {
  6.                 if($emule!=''){
  7.                         $emule = dhtmlspecialchars($emule);
  8.                         $emule_array=explode("|",$emule);
  9.                         $total+=$emule_array[3];
  10.                         $totalper=$emule_array[3];
  11.                         
  12.                         if($totalper>(1024*1024*1024*1024)){
  13.                                 $totalper=round($totalper/1024/1024/1024/1024,2);
  14.                                 $totalper.="TB";
  15.                         }elseif($totalper>(1024*1024*1024)){
  16.                                 $totalper=round($totalper/1024/1024/1024,2);
  17.                                 $totalper.="GB";
  18.                         }elseif($totalper>(1024*1024)){
  19.                                 $totalper=round($totalper/1024/1024,2);
  20.                                 $totalper.="MB";
  21.                         }else{
  22.                                 $totalper=round($totalper/1024,2);
  23.                                 $totalper.="KB";
  24.                         }
  25. $view.="<tr class=category><td class=smalltxt width=88%><input type="checkbox" name="EM42a795bb4b7d5$codecount" value="$emule" onclick="em_size('EM42a795bb4b7d5$codecount');" checked="checked"><a href="$emule">$emule_array[2]</a></td><td class=smalltxt align=center>$totalper</td></tr>";
  26.         }
  27.         }
  28.         if($total>(1024*1024*1024*1024)){
  29.                 $total=round($total/1024/1024/1024/1024,2);
  30.                 $total.="TB";
  31.         }elseif($total>(1024*1024*1024)){
  32.                 $total=round($total/1024/1024/1024,2);
  33.                 $total.="GB";
  34.         }elseif($total>(1024*1024)){
  35.                 $total=round($total/1024/1024,2);
  36.                 $total.="MB";
  37.         }else{
  38.                 $total=round($total/1024,2);
  39.                 $total.="KB";
  40.         }
  41.         
  42.         $view.="<tr><td align=left><input type="checkbox" id="checkall_EM42a795bb4b7d5$codecount" onclick="checkAll('EM42a795bb4b7d5$codecount',this.checked)" checked="checked"/> <label for="checkall_EM42a795bb4b7d5$codecount">全选</label> <input type="button" value="下载选中的文件" onclick="download('EM42a795bb4b7d5$codecount',0,1)"> <input type="button" value="复制选中的链接" onclick="copy('EM42a795bb4b7d5$codecount')"><div id="ed2kcopy_EM42a795bb4b7d5$codecount" style="position:absolute;height:0px;width:0px;overflow:hidden;"></div></td><td class=smalltxt align=center id="size_EM42a795bb4b7d5$codecount">$total</td></tr></table><br>";
  43.         $discuzcodes['pcodecount']++;
  44.         $discuzcodes['codehtml'][$discuzcodes['pcodecount']] = $view;
  45.         $codecount++;

  46.         return "[\tDISCUZ_CODE_$discuzcodes[pcodecount]\t]";
  47. }
复制代码


STEP 2

打开include\common.js
在结尾添加

  1. function checkAll(str,checked) {
  2.     var a = document.getElementsByName(str);
  3.     var n = a.length;

  4.     for (var i = 0; i < n; i++) {
  5.         a[i].checked = checked;
  6.     }
  7.     em_size(str);
  8. }

  9. function download(str, i, first) {
  10.     var a = document.getElementsByName(str);
  11.     var n = a.length;

  12.     for (var i = i; i < n; i++) {
  13.         if(a[i].checked) {
  14.             window.location=a[i].value;
  15.             if (first)
  16.                 timeout = 6000;
  17.             else
  18.                 timeout = 500;
  19.             i++;
  20.             window.setTimeout("download('"+str+"', "+i+", 0)", timeout);
  21.             break;
  22.         }
  23.     }

  24. }

  25. function copy(str) {
  26.     var a = document.getElementsByName(str);
  27.     var n = a.length;
  28.     var ed2kcopy = document.getElementById("ed2kcopy_"+str)
  29.     ed2kcopy.innerHTML = ""
  30.     for (var i = 0; i < n; i++) {
  31.         if(a[i].checked)
  32.         {
  33.             ed2kcopy.innerHTML += a[i].value;
  34.             ed2kcopy.innerHTML += "<br />";
  35.         }
  36.     }
  37.         var rng = document.body.createTextRange();
  38.         rng.moveToElementText(ed2kcopy)
  39.         rng.scrollIntoView();
  40.         rng.select();
  41.         rng.execCommand("Copy");
  42.         rng.collapse(false);
  43. }

  44. function em_size(str) {
  45.     var a = document.getElementsByName(str);
  46.     var n = a.length;
  47.     try {
  48.         var input_checkall = document.getElementById("checkall_"+str);
  49.         var size = 0;
  50.         input_checkall.checked = true ;
  51.         for (var i=0; i < n; i++) {
  52.             if (a[i].checked) {
  53.                 var piecesArray = a[i].value.split( "|" );
  54.                 size += piecesArray[3]*1;
  55.             } else {
  56.                 input_checkall.checked = false;
  57.             }
  58.         }
  59.         test = document.getElementById("size_"+str);
  60.         test.innerHTML = gen_size(size, 3, 2);
  61.     } catch (e) {

  62.     }
  63. }

  64. function gen_size(val, li, sepa ) {
  65.     sep = Math.pow(10, sepa); //小数点后的位数
  66.     li = Math.pow(10, li); //开始截断的长度
  67.     retval  = val;
  68.     unit    = 'Bytes';
  69.     if (val >= li*1000000000) {
  70.         val = Math.round( val / (1099511627776/sep) ) / sep;
  71.         unit  = 'TB';
  72.     } else if (val >= li*1000000) {
  73.         val = Math.round( val / (1073741824/sep) ) / sep;
  74.         unit  = 'GB';
  75.     } else if (val >= li*1000) {
  76.         val = Math.round( val / (1048576/sep) ) / sep;
  77.         unit  = 'MB';
  78.     } else if (val >= li) {
  79.         val = Math.round( val / (1024/sep) ) / sep;
  80.         unit  = 'KB';
  81.     }
  82.     return val + unit;
  83. }
复制代码


STEP 3
将附件的图片,上传到论坛的图片目录下

打开模版 post_bbinsert.htm
搜索

  1. <a href="javascript:list()"><img src="{IMGDIR}/bb_list.gif" border="0" alt="{lang post_discuzcode_list}"></a>
复制代码


在下面添加

  1. <a href="javascript:emulelink()"><img src="{IMGDIR}/bb_emule.gif" border="0" alt="发布 ed2k 连接"></a>
复制代码


STEP 3
打开 include/bbcode.js
在最下方增加

  1. function emulelink() {
  2.        if (helpmode){
  3.               alert('ed2k标记\\n使用ed2k标记,可以使输入的ed2k地址以超链接的形式在帖子中显示.\\n使用方法:\\n [ed2k]ed2k下载地址[/ed2k]');
  4.        } else if (document.selection && document.selection.type == "Text") {
  5.               var  range = document.selection.createRange();
  6.               range.text = "[emule]" +  range.text + "[/emule]";
  7.        } else if (advmode)        {
  8.                         AddTxt="[emule] [/emule]";
  9.                         AddText(AddTxt);
  10.            } else {
  11.                txt=prompt('ed2k链接',"ed2k://");
  12.                    if (txt!=null) {
  13.                  AddTxt="\r[emule]"+txt;
  14.                         AddText(AddTxt);
  15.                         AddText("[/emule]");
  16.                    }
  17.        }
  18. }
复制代码


完成了,擦擦汗~~~

最后注意一点发布的格式如下,要仔细看啊:)

  1. [emule]连接1
  2. 连接2
  3. 连接3[/emule]
复制代码


一定要注意格式啊

https://discuz.dismall.com/attachments/month_0506/bb_emule_KDzDL2kRqCt6.gif

评分

1

查看全部评分

fazai168 发表于 2005-12-12 04:17:20 | 显示全部楼层
看样子也要搞的电炉版了
回复

使用道具 举报

泡哥 发表于 2005-12-12 04:20:26 | 显示全部楼层
童虎 不是说商业版也开放嘛?  转贴补救行了  不用发的!
回复

使用道具 举报

eyecoco 发表于 2005-12-12 04:28:04 | 显示全部楼层
谢谢童虎!
回复

使用道具 举报

Trangerinfo 发表于 2005-12-12 04:57:54 | 显示全部楼层
多谢,童虎老大辛苦了~~帮忙敲敲背~~
回复

使用道具 举报

eghawk 发表于 2005-12-12 06:05:13 | 显示全部楼层
感谢童虎老大
回复

使用道具 举报

5025488.net 发表于 2005-12-12 08:25:00 | 显示全部楼层
多谢老大
回复

使用道具 举报

haohao036 发表于 2005-12-12 08:32:09 | 显示全部楼层
真好啊。。。早上一来就有惊喜。。。
回复

使用道具 举报

yjflq2002 发表于 2005-12-12 08:46:03 | 显示全部楼层
支持支持。
回复

使用道具 举报

haohao036 发表于 2005-12-12 08:54:54 | 显示全部楼层
童虎老大。。。。把BT的也发一下。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-6-16 10:23 , Processed in 0.171680 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表