发新话题
打印

能让diy-page更广泛的支持bbs代码吗?

引用:
原帖由 wenshuang 于 2005-12-29 22:43 发表
PW内置了一些WMV等多媒体代码的
先感谢老大的热心解答!
我就是音乐帖子显示的代码,还有如果我要自己添加代码,比如说在PW论坛的bbscode.php里面修改的,我现在对应的应该是在那个文件内?在在PW论坛的read.htm页面添加的调用代码,应该在那里添加?

TOP

这个,等老大来吧。偶比你还菜呢
^.^
唉,本人无技术,无经验,无能力,无钱无妞……只有一颗炽热的心。^_^
附:
DiY-Page v3.5终极演示论坛!

TOP

引用:
原帖由 marksman 于 2005-12-29 23:11 发表

先感谢老大的热心解答!
我就是音乐帖子显示的代码,还有如果我要自己添加代码,比如说在PW论坛的bbscode.php里面修改的,我现在对应的应该是在那个文件内?在在PW论坛的read.htm页面添加的调用代码,应该在那 ...
DP要改的话也要改文件,
正则表达式你熟不熟?
DiY-Page作者
如有问题请发帖 勿发短消息
中国人民大学 知行二楼

TOP

引用:
原帖由 wenshuang 于 2005-12-30 09:48 发表

DP要改的话也要改文件,
正则表达式你熟不熟?
汗!你让我改html,我也许还能瞎弄出来,正则表达式,实在不懂!
我想的就是支持emule插件,supsite可以支持,但是中文会显示乱码!在论坛中要改的主要就是:

1、修改./data/wind_editor.js

在最后面添加:

function emulelink() {
              if (helpmode){
              alert('ed2k标记\\n使用ed2k标记,可以使输入的ed2k地址以超链接的形式在帖子中显示.\\n使用方法:\\n [ed2k]ed2k下载地址[/ed2k]');
       } else if (nomode || document.selection && document.selection.type == "Text") {
              AddTxt="\n[emule]"+text+"[/emule]\n";
              AddText(AddTxt);
       } else {
               txt=prompt('ed2k链接',"ed2k://");
                 AddTxt="\n[emule]"+txt;
                 AddText(AddTxt);
                 AddTxt="[/emule]\n";
                 AddText(AddTxt);
       }
}


2、修改./require/bbscode.php

查找:

        if(strpos($message,"
复制内容到剪贴板
代码:
") !== false && strpos($message,"
") !== false){
                $message=preg_replace("/\[code\](.+?)\[\/code\]/eis","phpcode('\\1')",$message,$db_cvtimes);
        }

在下面添加:

//------------------------http://www.lenju.net---------------------emule
        if(strpos($message,"[emule]") !== false && strpos($message,"[/emule]") !== false){
                $message=preg_replace("/\[emule\](.+?)\[\/emule\]/eis","emule('\\1')",$message);
        }
//------------------------http://www.lenju.net----- ---------------emule


在最下面的
?>

的上面添加
//------------------------http://www.lenju.net---------------------emule
function emule($code){
        global $num,$code_num,$code_htm,$tablecolor,$readcolorone,$readcolortwo;
        $code=str_replace("<br>","\n",$code);
        $code=str_replace("<br />","\n",$code);
        $code_array=explode("\n",$code);
        $rain="<br><table width=98% align=center cellspacing=1 cellpadding=5 bgcolor=$tablecolor><tr><td style='padding:3px 8px 2px 8px;border-bottom:1px solid #999;filter:progidXImageTransform.Microsoft.Gradient(startColorStr=#0A6CCE, endColorStr=#FFFFFF, gradientType=0);' align='center' colspan='2'><strong>eMule下载链接</strong></td></tr><tr bgcolor=$readcolorone><td align=center colspan='2'>下面是eMule专用的下载链接,您必须安装eMule才能点击下载</td></tr>";
        foreach($code_array as $emule)
        {
                if($emule!=''){
                $emule_array=explode("|",$emule);
                $total+=$emule_array[3];
                $totalper=$emule_array[3];
                if($totalper>(1024*1024*1024*1024)){
                        $totalper=round($totalper/1024/1024/1024/1024,2);
                        $totalper.="TB";
                }elseif($totalper>(1024*1024*1024)){
                        $totalper=round($totalper/1024/1024/1024,2);
                        $totalper.="GB";
                }elseif($totalper>(1024*1024)){
                        $totalper=round($totalper/1024/1024,2);
                        $totalper.="MB";
                }else{
                        $totalper=round($totalper/1024,2);
                        $totalper.="KB";
                        }
                $rain.="<tr bgcolor=$readcolortwo onmouseover=\"this.style.backgroundColor='$readcolorone'\" onmouseout=\"this.style.backgroundColor='$readcolortwo'\"><td class=smalltxt width=88% ><input type=checkbox name=EM42a795bb4b7d5$num value=$emule onclick=\"em_size('EM42a795bb4b7d5$num');\" checked=\"checked\" /><A href=$emule>$emule_array[2]</a></td><td class=smalltxt align=center>$totalper</td></tr>";
        }}
        if($total>(1024*1024*1024*1024)){
                $total=round($total/1024/1024/1024/1024,2);
                $total.="TB";
        }elseif($total>(1024*1024*1024)){
                $total=round($total/1024/1024/1024,2);
                $total.="GB";
        }elseif($total>(1024*1024)){
                $total=round($total/1024/1024,2);
                $total.="MB";
        }else{
                $total=round($total/1024,2);
                $total.="KB";
                }
        $rain.="<tr bgcolor=$readcolorone><td align=left><input type=\"checkbox\" id=\"checkall_EM42a795bb4b7d5$num\" onclick=\"checkAll('EM42a795bb4b7d5$num',this.checked)\" checked=\"checked\"/> <label for=\"checkall_EM42a795bb4b7d5$num\">全选</label> <input type=\"button\" value=\"下载选中的文件\" onclick=\"download('EM42a795bb4b7d5$num',0,1)\"> <input type=\"button\" value=\"复制选中的链接\" onclick=\"copy('EM42a795bb4b7d5$num')\"><div id=\"ed2kcopy_EM42a795bb4b7d5$num\" style=\"position:absolute;height:0px;width:0px;overflow:hidden;\"></div></td><td class=smalltxt align=center id=\"size_EM42a795bb4b7d5$num\">$total</td></tr></table>";
                $code_num++;
                $code_htm[7][$code_num]=$rain;
                $num++;
                unset($emule_array,$total,$rain,$code);
        return "<\twind_code_$code_num\t>";
}
//------------------------http://www.lenju.net--------------------emule

3、修改./wind/read.htm

查找:

<!--<?php
$votedb && require_once PrintEot('vote');
print <<<EOT
-->

在下面添加:
<script language='JavaScript' src='rainnetcnjs/rainnetcnemule.js'></script>


我不知道加在那里?希望老大最好能实现直接调用论坛bbscode文件,这样可以解决很多问题!

[ 本帖最后由 marksman 于 2005-12-30 11:02 编辑 ]

TOP

直接调用还是不太可行的,加入BBCODE代码支持,改动一下 hpmain/module/dbcmd_pw401.php 中

$searcharray['bbcode_regexp']=array(



$replacearray['bbcode_regexp']=array(

加入对应代码即可, 不过对你来说可能太难了, 还是等我有空研究下
DiY-Page作者
如有问题请发帖 勿发短消息
中国人民大学 知行二楼

TOP

至少知道改那里了,我去也试试

TOP

试了几次也没成功,还是等老大有空研究吧!
supsite里面有个bbcode.php包含了上面的代码!

TOP

装的DZ,DIY-PAGE可以播放WMV和RM,FLASH播放不了
但是论坛三者显示都正常

TOP

回复 #18 bbee 的帖子

哦?可以吧?我本地试的时候可以的哦。
唉,本人无技术,无经验,无能力,无钱无妞……只有一颗炽热的心。^_^
附:
DiY-Page v3.5终极演示论坛!

TOP

这是我用diy-page作出来了,由于音乐,emule区都显示的是代码,所有还没替换原先的首页
看看吧,等老大有空解决下!http://snse.org/home.html(注:home.html过两天有可能变成index.html)

TOP

发新话题