超酷播放器UBB标签 FOR Discuz! 6.0正式版本发布 - 网络营销工具 - 西谷社区
 
ARP欺骗和防护技术轻松建站自动赚钱的秘密中文网址之家|www.3721.cc电脑故障速查方法集萃[精华]
微软盗版用户xp黑屏集中解决方法500元/月;5000元/年--招租!IT人士如何保养?IT人士低投入零风险创业,月赚5000
 14 12
发新话题
打印

超酷播放器UBB标签 FOR Discuz! 6.0正式版本发布

本主题由 寂寞坛主 于 2009-12-21 11:08 移动

超酷播放器UBB标签 FOR Discuz! 6.0正式版本发布

标题:超酷播放器UBB标签 FOR Discuz! 6.0正式版
=========================
插件名称:超酷播放器UBB标签
适合版本:Discuz! 6.0正式版
发布日期:2007-9-5
发  布 人: 2046
演     示:http://club.cimgoo.com/thread-230779-1-1.html
技术支持:Discuz!官方论坛
=========================

A、手动修改方法见下面的详细步骤,强烈推荐;你也可以直接下载我们做好的相应版本完整插件包直接上传覆盖你的原来文件,但记得一定要备份原始文件以防意外;如果你装过其他播放器插件,建议先删除(与DZ系统内置的所有播放标签都没有冲突,而且可以同时使用!)。
B、大家在安装过程中有什么问题直接到我站发贴提问  http://club.cimgoo.com/forum-60-1.html  ,我会第一时间答疑帮助,有什么建议和BUG希望大家提出,我会努力改进。
C、插件在“西谷IT社区”正式应用,而且永久和官方版本同步更新,关注本插件最新版本直接到
http://club.cimgoo.com/thread-230778-1-1.html免费下载。
D、此次版本较以前版本在安全机制上改动较大,对JavaScript嵌入攻击、钓鱼做过很好的防御,强烈建议更新。
E、插入要在Discuz!代码模式下进行。

一、需要添加的文件:

复制下面附件的 ubb_dialog.php 文件到根目录
ubb_dialog.php (2.16 KB)
复制下面附件的 bb_player.gif 图片到 ./images/common/目录下


二、需要修改的代码:

1、打开./include/discuzcode.func.php文件,查找:

复制内容到剪贴板
代码:

for($i = 0; $i <= $discuzcodes['pcodecount']; $i++) {
在他前面加如以下代码:
复制内容到剪贴板
代码:

/*--------------------------------------------- CIMGOO --------------------------------------->>>---*/
$allowplayercode = $allowsmilies;
if(!$bbcodeoff && $allowplayercode && $GLOBALS['player_ubb_on']) {
  if(empty($discuzcodes['searcharray']['playercode'])) {
   $discuzcodes['searcharray']['playercode'] = array(
    "/\[mp\](.+?)\[\/mp\]/eis",
    "/\[mp=(\d)\](.+?)\[\/mp\]/eis",
    "/\[wmv\](.+?)\[\/wmv\]/eis",
    "/\[wmv=(\d{1,3})\,(\d{1,3})\,(\d)\](.+?)\[\/wmv\]/eis",
    "/\[rm\](.+?)\[\/rm\]/eis",
    "/\[rm=(\d{1,3})\,(\d{1,3})\,(\d)\](.+?)\[\/rm\]/eis"
   );
   $discuzcodes['replacearray']['playercode'] = array(
    "media_player('mp', '\\1')",
    "media_player('mp', '\\2', '\\1')",
    "media_player('wmv', '\\1')",
    "media_player('wmv', '\\4', '\\3', '\\1', '\\2')",
    "media_player('rm' , '\\1')",
    "media_player('rm' , '\\4', '\\3', '\\1', '\\2')"
   );
  }
  $message = preg_replace($discuzcodes['searcharray']['playercode'], $discuzcodes['replacearray']['playercode'], $message);
}
/*--------------------------------------------- CIMGOO ---------------------------------------<<<---*/
在文件尾("?>"之前) 添加以下代码:
复制内容到剪贴板
代码:

/*--------------------------------------------- CIMGOO --------------------------------------->>>---*/
$player_ubb_on = true;       //是否开启
$player_num = 0;
$player_pre = mt_rand();
function media_player($type, $url, $auto = 0, $width = 450, $height = 340) {//需默认自动开始播放,请将$auto = 0改为$auto = 1
global $player_pre, $player_num;
$pid = $player_pre.'_'.$player_num;
if($type == 'rm') {
  $player = <<<html
<object classid="CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA" width="$width" height="$height" id="player_{$pid}">
<param name="Console" value="Console_{$pid}">
<param name="Controls" value="ImageWindow">
<param name="AutoStart" value="0">
<param name="Src" value="http://cnguy.com/">
</object>

<object classid="CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA" width="$width" height="32">
<param name="Console" value="Console_{$pid}">
<param name="Controls" value="ControlPanel">
</object>
html;
} else {
  if ($type == 'mp') {
   $width = 280; $height = 69;
  }else {
   $height += 69;
  }
  $player = <<<html
<object classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" width="$width" height="$height" id="player_{$pid}">
<param name="AutoStart" value="0">
<param name="ShowStatusBar" value="1">
<!--param name="EnableContextMenu" value="0"-->
<param name="FileName" value="http://cnguy.com/">
</object>
html;
}
$url = explode("\r\n", trim($url));
$select = "播放> <select id=\"select_{$pid}\" onchange=\"player_change('$pid', '$type')\">";
foreach ($url as $key => $value) {
  $value = preg_replace("/<a href=\"(.[^\"']+)\"(.+?)<\/a>/i","\\1", str_replace('\"','"',$value));
  $one = explode('|', $value);
  $one[0] = str_replace('"', '"', trim($one[0]));
  if(!$one[0]) continue;
  ++$count;
  $select .= "<option value=\"{$one[0]}\"> $count ".cutstr(trim($one[1]), 20)." </option>";
}
$select .= '</select>';
if($type != 'mp') {
  $full = "<a href=\"###\" onclick=\"javascript:player_fullscreen('$pid', '$type')\">全屏播放</a> ";
} else { $full = ''; }
$prev_next = "<a href=\"###\" onclick=\"player_prev('$pid', '$type');\">上一集</a> ";
$prev_next .= "<a href=\"###\" onclick=\"player_next('$pid', '$type');\">下一集</a> ";
$cp = '&copy; CIMGOO.COM';
if($count == 1) {
  $select = "<div style=\"display:none\">$select</div>";
  $select .= $cp;
  $prev_next = '';
}
$player = <<<html
<table class="msgborder" style="width:auto;">
<tr class="msgheader"><td style="padding:5px;">
  Web Media Player ( x$count )
</td><td align="right">
  <a href="###" id="expand_{$pid}" onclick="player_expand('$pid', '$type')">展开</a>
</td></tr>
<tbody id="tbody_$pid" style="display:none;">
<tr><td colspan="2">
  $player
</td></tr>
</tbody>
<tr><td colspan="2">
  <span id="cp_$pid" style="float:right">$cp</span>
  <span id="buttons_$pid" style="display:none;">
   <div style="float:right;">$select</div>{$full}{$prev_next}
  </span>
  <a href="###" id="download_$pid" onclick="player_showurl('$pid');">显示地址</a>
</td></tr>
<tr><td colspan="2" id="url_$pid" style="display:none;">
</td></tr>
</table>
html;
if ($auto) {
  $player .= "<script type=\"text/javascript\">player_change('$pid', '$type');</script>";
}
$player_num ++;
//$player = str_replace(array("\t","\r","\n"), '', $player);
$player = preg_replace("/\s+/s", ' ', $player);
return $player;
}
/*--------------------------------------------- CIMGOO ---------------------------------------<<<---*/
2、打开./include/javascript/common.js文件。在末尾添加以下代码:
复制内容到剪贴板
代码:

/*--------------------------------------------- CIMGOO --------------------------------------->>>---*/
function player_fullscreen(pid, t)
{
var p = $('player_' + pid);
if(t == 'rm') {
  if(!p.CanStop()) {
   alert('影片未开始,无法全屏!');
  } else {
   alert('将进入全屏模式,按Esc键退出全屏!');
   p.SetFullScreen();
  }
} else if(t == 'wmv' || t == 'mp') {
  if(p.playstate != 2) {
   alert('影片未开始,无法全屏!');
  } else {
   alert('将进入全屏模式,双击可退出全屏!');
   p.DisplaySize = 3;
  }
}
}
function player_expand(pid, t)
{
var pl = $('player_' + pid);
var tb = $('tbody_' + pid);
var bt = $('buttons_' + pid);
var ep = $('expand_' + pid);
var cp = $('cp_' + pid);
if(tb.style.display == 'none') {
  tb.style.display = 'block';
  bt.style.display = 'inline';
  cp.style.display = 'none';
  ep.innerHTML = '关闭';
  if(t == 'rm') {
   if(pl.GetSource() == 'http://cnguy.com/') {
    player_change(pid, t);
   }
   pl.DoPlay();
  } else if(t == 'wmv' || t == 'mp') {
   pl.autostart = true;
   if(pl.filename == 'http://cnguy.com/') {
    player_change(pid, t);
   }
   pl.play();
  }
} else {
  tb.style.display = 'none';
  bt.style.display = 'none';
  ep.innerHTML = '展开';
  cp.style.display = 'inline';
  if(t == 'rm') {
   pl.DoPause();
  } else if(t == 'wmv' || t == 'mp') {
   pl.pause();
  }
}
}
function player_change(pid, t)
{
var p = $('player_'+pid);
var s = $('select_'+pid);
if($('tbody_'+pid).style.display == 'none') {
  player_expand(pid, t);
}
if(t == 'rm') {
  p.DoStop();
  p.SetSource(s.options[s.selectedIndex].value);
  p.DoPlay();
} else if(t == 'wmv' || t == 'mp') {
  p.stop();
  p.filename = s.options[s.selectedIndex].value;
  p.play();
}
self.focus();
}
function player_prev(pid, t)
{
var s = $('select_' + pid);
if(s.selectedIndex == 0) {
  alert('这已经是第一集了!'); return;
}
s.selectedIndex = s.selectedIndex - 1;
player_change(pid, t);
}
function player_next(pid, t)
{
var s = $('select_' + pid);
if(s.selectedIndex == s.options.length - 1) {
  alert('这已经是最后一集了!'); return;
}
s.selectedIndex = s.selectedIndex + 1;
player_change(pid, t);
}
function player_showurl(pid)
{
var u = $('url_' + pid);
if(u.style.display == 'none')
{
  var s = $('select_' + pid);
  var temp = '';
  for(i=0; i<s.options.length ;i++)
  {
   temp += s.options.text + ' <a href="' + s.options.value + '" target="_blank">' + s.options.value + '</a>
';
  }
  u.innerHTML = temp;
  u.style.display = 'block';
  $('download_' + pid).innerHTML = '隐藏地址';
} else {
  u.innerHTML = '';
  u.style.display = 'none';
  $('download_' + pid).innerHTML = '显示地址'
}
}
/*---------------------------------------------CIMGOO---------------------------------------<<<---*/


3、打开./include/javascript/editor.js文件。在文件尾添加以下代码:
复制内容到剪贴板
代码:

/*--------------------------------------------- CIMGOO --------------------------------------->>>---*/
function CNGUY_UBB(mod) {
if(wysiwyg) {
  alert('请在代码模式下使用');
  return false;
}
var selection = getSel();
if(selection === false) {
  selection = '';
} else {
  selection += '';
}
var text = showModalDialog("./ubb_dialog.php?mod="+mod, selection, "dialogWidth:28em; dialogHeight:21em; status:yes; help:no; scroll:no");
if (text === undefined) {
  return false;
}
addSnapshot(getEditorContents());
checkFocus();
insertText(text, mb_strlen(text), 0);
addSnapshot(getEditorContents());
checkFocus();
return false;
}
/*---------------------------------------------CIMGOO---------------------------------------<<<---*/

4、打开./template/default/post_editor.htm文件(如果你改模板也改过该文件,就到相应位置改这个文件),查找以下:
复制内容到剪贴板
代码:

<!--{if $allowhidecode}--><td><a id="{$editorid}_cmd_hide"><img
src="images/common/bb_hide.gif" title="{lang post_discuzcode_hide}" alt="Hide" /></a></td><!--{/if}-->
在下面添加:
复制内容到剪贴板
代码:

<td><div class="editor_buttonnormal" id="{$editorid}_cmd_insertplayer" onclick="CNGUY_UBB('player')" onMouseOver="buttonContext(this, 'mouseover')" onMouseOut="buttonContext(this, 'mouseout')"><img src="images/common/bb_player.gif" width="21" height="20"  alt="插入UBB播放器" /></div></td>
到此你的播放器就完成了,如果你想修改播放器样式,让他变的更酷更个性化,可以修改include\discuzcode.func.php下的相应代码实现(在上面加入的代码里面找)。关于播放器样式代码可以参考: http://club.cimgoo.com/thread-8389-1-1.html ,文章有详细解释。

下面是完整插件包(直接覆盖),做插件不容易啊(又是两个通宵,专门做个压力和攻击测试),希望大家支持下!>>

附件

UBB.rar (24.58 KB)

2007-9-5 12:51, 下载次数: 157

武汉交友网 http://www.dwhquan.com

禁右键的方法

.include/discuzcode.func.php文件
查找:
复制内容到剪贴板
代码:
<!--param name="EnableContextMenu" value="0"-->
修改为:
复制内容到剪贴板
代码:
<param name="EnableContextMenu" value="0">
即可禁右键。
后面的value值,1为显示,0为隐藏
武汉交友网 http://www.dwhquan.com
严重支持。  想问下 附件包   楼主 安装了官方9月4号的补丁了没?   呵呵  


管理员辛苦了。
加了4号的最新补丁
8-28和9-5的在./include/discuzcode.func.php有较大改动
如果你直接修改代码就适合8-28和9-5的任意版本
武汉交友网 http://www.dwhquan.com
格式好象会乱。没有上个版本的漂亮了。
视频 关闭功能不起作用

回复 5# 的帖子

格式没有做过美化 5.0和5.5时我用的黑色风格 专门美化过播放器
现在6.0的用得默认模板 所以未做格式处理 你可以自己修改适合自己站的播放风格啊
武汉交友网 http://www.dwhquan.com

回复 6# 的帖子

你是说WMV视频播放吗 是可以关闭和展开的
我看过你发的演示都可以
武汉交友网 http://www.dwhquan.com
引用:
原帖由 2046 于 2007-9-7 20:07 发表
格式没有做过美化 5.0和5.5时我用的黑色风格 专门美化过播放器
现在6.0的用得默认模板 所以未做格式处理 你可以自己修改适合自己站的播放风格啊
我是说播放器表格可以像这样的效果吗?

附件

12.jpg (37.03 KB)

2007-9-7 20:20

12.jpg

http://www.xmoc.net/thread-235-1-1.html

我自己改成这样子  但是表格太大了。  
 14 12
发新话题
最近访问的版块