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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[补丁] 首发-Player's UBB Tags for Discuz! 论坛用播放器UBB标签[适用于4.xx]第二次更新

[复制链接]
haohao036 发表于 2006-2-28 22:16:44 | 显示全部楼层 |阅读模式
作    者:  kinpoo
发    布: haohao036
发布时间: 2006/02/21
支持版本: For Discuz!4.x/2.x


增加一种格式,比如放连续据的连接最好。:

多地址插入格式如:
[wmv]
http://.../001.MP3
http://.../002.MP3|无尽的爱
[/wmv]



插入单集的方式照旧

  1. [mp]url[/mp]
  2. [mp=1]url[/mp]
  3. [rm]url[/rm]
  4. [rm=450,350,1]url[/rm]
  5. [wmv]url[/wmv]
  6. [wmv=450,350,1]url[/wmv]
复制代码


以下仅演示多集插入播放器标签有

  1. [标签]
  2. url1|名称1//"|名称" 可省略
  3. url2|名称2
  4. url3|名称3
  5. [/标签]
复制代码



插入示例
  1. [mp=1]
  2. http://www.adamleisy.com/audio/Linkin%20Park%20-%20Numb.mp3|Numb
  3. http://fjsm.net/exobud/music/LinkinPark-SomewhereIBelong.mp3|Somewhere I belong
  4. http://www.mmyz.net/xnxy/upload/forum/2006114202438.mp3|Don't stay
  5. [/mp]
复制代码


图例:





修改Discuz!::include/discuzcode.func.php

将原来的(在文件的末尾~)

  1. [code]/*------------------------------------------------PLAYER UBB CODE--BY KINPOO--HTTP://www.CNGUY.com---BEGIN*/
  2. ################################################config begin############################
  3. //...此处为省略的代码...
  4. /*------------------------------------------------PLAYER UBB CODE--BY KINPOO--HTTP://www.CNGUY.com-----END*/
复制代码


替换为


  1. /*------------------------------------------------PLAYER UBB CODE--BY KINPOO--HTTP://www.CNGUY.com---BEGIN*/
  2. ################################################config begin############################
  3. //"true" or "1" is on,"false" or "0" is off
  4. $player_file=true;                //是否显示影片地址
  5. $player_color='#80cbf9';        //播放器颜色~
  6. $player_ubb_on=true;        //是否使用此UBBs for Discuz!
  7. #################################################config end#############################
  8. $player_num=0;
  9. $player_pre=mt_rand();
  10. function realplayer($url,$width=450,$height=350,$auto=0){
  11.         global $player_pre,$player_num;
  12.         $pid=$player_pre.'_'.$player_num;

  13.         $fullscreen ="function Full_{$pid}(){if(!document.all.I_{$pid}.CanStop()){alert('影片未开始,无法全屏!');}else{alert('将进入全屏模式,按Esc键退出全屏!');document.all.I_{$pid}.SetFullScreen();}}";

  14.         $player ="<OBJECT classid='clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA' id='I_{$pid}' width='$width' height='$height'>";
  15.         $player.="<PARAM NAME='SRC' VALUE='#url#'>";
  16.         $player.="<PARAM NAME='CONSOLE' VALUE='P_{$pid}'>";
  17.         $player.="<PARAM NAME='CONTROLS' VALUE='Imagewindow'>";
  18.         $player.="<PARAM NAME='AUTOSTART' VALUE='1'></OBJECT>";
  19.         $player.="<br><OBJECT classid='CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA' id='C_{$pid}' width='$width' height='32'>";
  20.         $player.="<PARAM NAME='SRC' VALUE='#url#'>";
  21.         $player.="<PARAM NAME='CONSOLE' VALUE='P_{$pid}'>";
  22.         $player.="<PARAM NAME='CONTROLS' VALUE='controlpanel'>";
  23.         $player.="<PARAM NAME='AUTOSTART' VALUE='1'></OBJECT>";

  24.         $htmlcode=get_player_html($player,$pid,$fullscreen,$url,$auto);

  25.         $player_num++;
  26.         return $htmlcode;
  27. }

  28. function mediaplayer($url,$auto,$width=450,$height=350){
  29.         global $player_num,$player_pre;
  30.         $pid=$player_pre.'_'.$player_num;

  31.         $fullscreen="function Full_{$pid}(){alert('将进入全屏模式!双击,退出全屏!\\n若影片未加载成功将无法进入全屏!');document.all.P_{$pid}.DisplaySize=3;}";

  32.         if($auto=="-01" || $width=="-01"){
  33.                 $fullscreen="";
  34.                 $width=350;
  35.                 $height=69;
  36.         }
  37.         ($auto==="-00" || $auto=="-01") && $auto=0;

  38.         $player ="<OBJECT align='middle' classid='CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95' id='P_{$pid}' width='$width' height='$height'>";
  39.         $player.="<param name='autostart' value='1'>";
  40.         $player.="<param name='ShowStatusBar' value='-1'>";
  41.         $player.="<param name='EnableContextMenu' value='0'>";
  42.         $player.="<param name='Filename' value='#url#'></OBJECT>";

  43.         $htmlcode=get_player_html($player,$pid,$fullscreen,$url,$auto);
  44.         
  45.         $player_num++;
  46.         return $htmlcode;
  47. }

  48. function get_player_html($player,$pid,$full,$url,$auto){
  49.         global $player_file,$player_color,$discuz_uid,$groupid;
  50.         
  51.         if($player_file){
  52.                 if(!defined('IN_DISCUZ') && $groupid=='guest'){
  53.                         $show_url="<a name='A_$pid'></a><a href='./login.php'><font color='#FFFFFF'><b>[ 下载-登陆 ]</b></font></a>";
  54.                 }elseif (defined('IN_DISCUZ') && !$discuz_uid){
  55.                         $show_url="<a name='A_$pid'></a><a href='./logging.php?action=login'><font color='#FFFFFF'><b>[ 下载-登陆 ]</b></font></a>";
  56.                 }else{
  57.                         $show_url="<a name='A_$pid' href='#url#' style='color=orangered'><font color='#FFFFFF'><b>[ 下载-媒体 ]</b></font></a>";
  58.                 }
  59.         }else{
  60.                 $show_url="<a name='A_$pid'></a>";
  61.         }
  62.         if(!defined('IN_DISCUZ')) {
  63.                 $crlf="<br>";
  64.         }else {
  65.                 $crlf="\r\n";
  66.         }
  67.         $url = trim($url);
  68.         $url = explode($crlf,$url);
  69.         $player_select = "<select name='SELECT_{$pid}' onChange="HTML_{$pid}(0);"><option value=''>  === 选择播放 ===  </option>";
  70.         foreach ($url as $key => $value) {
  71.                 if(!defined('IN_DISCUZ')) {
  72.                         global $wind_version;
  73.                         if ($wind_version<'4') {
  74.                                 $value=preg_replace("/\[\twind_code_([0-9]+)\t\]/eis","PHPWind3_URL_Back('\\1')",$value);
  75.                         }
  76.                 }
  77.                 $value=str_replace('"','"',$value);
  78.                 $value=preg_replace("/<a href=["']{1}(.[^"']+)["']{1}(.+)<\/a>/i","\\1",$value);
  79.                 $url[$key]=explode('|',$value);
  80.                 $url[$key][0] = trim($url[$key][0]);
  81.                 if(!$url[$key][0]) continue;
  82.                 ++$count;
  83.                 $url[$key][1] = " $count ".trim($url[$key][1]);
  84.                 $player_select.="<option value="{$url[$key][0]}">{$url[$key][1]}</option>";
  85.         }
  86.         $player_select .= '</select>';
  87.         $count = "<font color='$player_color'><b>共有 $count 集</b></font>";
  88.         $show_url = str_replace("#url#",$url[0][0],$show_url);
  89.         
  90.         if ($full!='') $full_btn=""<input type='button' name='btn_{$pid}_B_1' onclick='javascript:Full_{$pid}()' value='全屏播放'" + btn_end";
  91.         else $full_btn="""";

  92.         $btn_end =" style='background-color: $player_color;color: #FFFFFF;cursor: hand;filter: Alpha(Opacity=100, FinishOpacity=0, Style=3, StartX=70, StartY=70, FinishX=100, FinishY=100);font-weight: bolder;width: 100px;height:18px;border: 0px;'";
  93.         $btn_end.=" onmouseover=\\"this.style.filter='';this.style.color='#666666';this.style.background='#EEFFFF';\\"";
  94.         $btn_end.=" onmouseout=\\"this.style.filter='Alpha(Opacity=100, FinishOpacity=0, Style=3, StartX=70, StartY=70, FinishX=100, FinishY=100)';this.style.color='#FFFFFF';this.style.background='$player_color';\\">";

  95.         $code ="<script language='javascript'>var btn_end="$btn_end";";
  96.         $code.="var HTM_{$pid}_A_0="<input type='button' name='btn_{$pid}_A_0' onclick='javascript:HTML_{$pid}(0)' value='观看媒体'" + btn_end;";
  97.         $code.="var HTM_{$pid}_A_1="<input type='button' name='btn_{$pid}_A_1' onclick='javascript:HTML_{$pid}(1)' value='关闭媒体'" + btn_end;";
  98.         $code.="var HTM_{$pid}_B_0="$count";";
  99.         $code.="var HTM_{$pid}_B_1=$full_btn;";
  100.         $code.="var HTM_{$pid}_C_0='';";
  101.         $code.="var HTM_{$pid}_C_1="$player";";
  102.         $code.="function ChangeUrl_{$pid}(url){";
  103.         $code.="A_{$pid}.href=url;";
  104.         $code.="document.all.TD_{$pid}_C.innerHTML=HTM_{$pid}_C_1.replace(/#url#/ig,url);";
  105.         $code.="}";
  106.         $code.="function HTML_{$pid}(close){";
  107.         $code.="if(close){";
  108.         $code.="document.all.TD_{$pid}_A.innerHTML=HTM_{$pid}_A_0;";
  109.         $code.="document.all.TD_{$pid}_B.innerHTML=HTM_{$pid}_B_0;";
  110.         $code.="document.all.TD_{$pid}_C.innerHTML=HTM_{$pid}_C_0;";
  111.         $code.="}else{";
  112.         $code.="document.all.TD_{$pid}_A.innerHTML=HTM_{$pid}_A_1;";
  113.         $code.="document.all.TD_{$pid}_B.innerHTML=HTM_{$pid}_B_1;";
  114.         $code.="var url=document.all.SELECT_{$pid}.options[document.all.SELECT_{$pid}.selectedIndex].value;";
  115.         $code.="if(!url) {url=document.all.SELECT_{$pid}.options[1].value;}";
  116.         $code.="ChangeUrl_{$pid}(url);";
  117.         $code.="}} $full</script>";
  118.         $code.="<table width='50%' style='border:4px double $player_color;background:#FFFFFF;' cellspacing='0' cellpadding='4'>";
  119.         $code.="<tr bgcolor='$player_color'><td><font color='#FFFFFF'><b>[ 播放媒体文件 ]</b></font></td> <td align='right'>$show_url</td></tr>";
  120.         $code.="<tr><td id='TD_{$pid}_A'></td> <td align='right' id='TD_{$pid}_B'></td></tr>";
  121.                 $code.="<tr><td colspan='2'>$player_select</td></tr>";
  122.         $code.="<tr><td colspan='2' id='TD_{$pid}_C'></td></tr></table>";
  123.         $code.="<script language='javascript'>HTML_{$pid}(".($auto?0:1).");</script>";

  124.         if (!defined('IN_DISCUZ')) {
  125.                 global $code_num,$code_htm,$wind_version;
  126.                 if ($wind_version<'4') {
  127.                         $code_num++;
  128.                         $code_htm[2][$code_num]=$code;
  129.                         return "[\twind_code_$code_num\t]";
  130.                 }
  131.         }
  132.         return $code;
  133. }
  134. function PHPWind3_URL_Back($key) {
  135.         global $code_htm;
  136.         $temp = $code_htm[0][$key];
  137.         unset($code_htm[0][$key]);
  138.         return $temp;
  139. }
  140. /*------------------------------------------------PLAYER UBB CODE--BY KINPOO--HTTP://www.CNGUY.com-----END*/
复制代码



下面的附件只适合全新安装

下面附件是最新4.10版 大家只要上传到自已的论坛就可以用了。




用utf版本的论坛程序,

打开config.inc.php(这个强制字符集)



  1. $headercharset
复制代码


替换

  1. $headercharset = 1;
复制代码




  1. $charset
复制代码


替换

  1. $charset = 'utf-8';
复制代码

[ 本帖最后由 haohao036 于 2006-4-20 12:37 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

1

查看全部评分

zjcx 发表于 2006-2-28 22:21:50 | 显示全部楼层
沙发
回复

使用道具 举报

泡海椒 发表于 2006-2-28 22:25:10 | 显示全部楼层
板凳 支持ing。。。。。
回复

使用道具 举报

zjcx 发表于 2006-2-28 22:29:18 | 显示全部楼层
怎样发布多集?

[ 本帖最后由 zjcx 于 2006-2-28 22:31 编辑 ]
回复

使用道具 举报

精彩无限 发表于 2006-2-28 22:30:57 | 显示全部楼层
下水道
回复

使用道具 举报

野天 发表于 2006-2-28 22:33:02 | 显示全部楼层
能在前台加个按钮吗?
回复

使用道具 举报

 楼主| haohao036 发表于 2006-2-28 22:41:16 | 显示全部楼层
演示图片已加上。
回复

使用道具 举报

zjcx 发表于 2006-2-28 22:41:28 | 显示全部楼层
插入单集的格式
[wmv=450,350,1]url[/wmv]

原来是需要点击观看媒体才播放的
回复

使用道具 举报

 楼主| haohao036 发表于 2006-2-28 22:42:31 | 显示全部楼层
原帖由 zjcx 于 2006-2-28 22:41 发表
插入单集的格式
url

原来是需要点击观看媒体才播放的



原来的不变。。
回复

使用道具 举报

zjcx 发表于 2006-2-28 22:45:49 | 显示全部楼层
原帖由 haohao036 于 2006-2-28 22:42 发表



原来的不变。。



格式是不变

但是原来的播放器窗口默认是关闭的,现在如果添加时用自动播放音乐时默认是打开的
我想无论什么时候都是关闭窗口
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-22 09:19 , Processed in 0.038129 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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