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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[分享] 让SS拥有上传视频并播放的功能,7.5版本

[复制链接]
kofzyb111 发表于 2010-3-25 17:35:25 | 显示全部楼层 |阅读模式
SupeSite插件
插件名称: 视频上传功能
插件简介: 让SS拥有上传视频并播放的功能,7.5版本
语言编码: GBK简体 UTF8简体 BIG5繁体 
插件作者: 小强
废话不多说,上代码

第一步:
language/main.lang.php 41行下 添加一行语言
  1. 'insert_movie' => '插入视频',
复制代码
第二步:
function/common.func.php 1935行 函数getuploadinserthtml 变更,代码如下
  1. //将已上传的附件插入HTML编辑器
  2. function getuploadinserthtml($uploadarr, $noinsert=0, $theaid=0) {
  3.         global $_SCONFIG, $lang, $_SGLOBAL;

  4.         $inserthtml = '';
  5.         $imgstr = '';
  6.         $echojs = true;
  7.         $js = '';
  8.         if(!empty($uploadarr) && is_array($uploadarr)) {
  9.                 $inserthtml .= '<table border="0" cellpadding="0" cellspacing="0" width="100%">';

  10.                 foreach ($uploadarr as $listvalue) {
  11.                         $isimg = false;
  12.                         $ismovie = false;
  13.                         $str = '';
  14.                         if(in_array($listvalue['attachtype'], array('jpg','jpeg','gif','png', 'bmp'))) {
  15.                                 $isimg = true;
  16.                         }
  17.                         if(in_array($listvalue['attachtype'], array('wmv','rmvb','avi'))) {
  18.                                 $ismovie = true;
  19.                         }
  20.                         if(!$noinsert && $isimg) {
  21.                                 if($echojs) {
  22.                                         $js = '<script>setdefaultpic();</script>';
  23.                                         $echojs = false;
  24.                                 }
  25.                                 $str = '<input name="picid" type="radio" id="picid" value="'.$listvalue['aid'].'" />';
  26.                         }
  27.                         $listvalue['uidcode'] = authcode($listvalue['uid'].'|'.$listvalue['aid'], 'ENCODE');
  28.                         $subjectimg = $listvalue['thumbpath'];
  29.                         $listvalue['fileurl'] = A_URL.'/'.$listvalue['filepath'];
  30.                         $listvalue['thumburl'] = A_URL.'/'.$listvalue['thumbpath'];
  31.                         $listvalue['size'] = formatsize($listvalue['size']);
  32.                         $listvalue['dateline'] = sgmdate($listvalue['dateline']);

  33.                         $inserthtml .= '<tr>';
  34.                         $inserthtml .= '<td style="width:60px">'.showpreviewimg($listvalue).'</td>';

  35.                         if(!empty($theaid) && $theaid == $listvalue['aid']) {
  36.                                 $divsubject = '<input type="text" name="editsubject" id="editsubject" size="40" value="'.$listvalue['subject'].'" /><a href="javascript:;" onClick="attacheditsubmit('.$listvalue['aid'].')"><img src="admin/images/icon_succ.gif" style="width:22px;height:23px;border:0px" align="absmiddle" alt="OK" /></a>';
  37.                         } else {
  38.                                 $divsubject = $listvalue['subject'];
  39.                         }
  40.                         $inserthtml .= '<td><div>'.$str.'<span id="div_upload_'.$listvalue['aid'].'" style="font-weight:bold">'.$divsubject.'</span></div>';
  41.                         $inserthtml .= '<a href="'.$listvalue['fileurl'].'" target="_blank">'.$listvalue['filename'].'</a> ('.$listvalue['size'].')<br>';
  42.                         $inserthtml .= '<img src="admin/images/action_icon_edit.gif" style="width:16px;height:15px" align="absmiddle" border="0" /> <a href="batch.upload.php?action=edit&noinsert='.$noinsert.'&aid='.$listvalue['aid'].'&uc='.rawurlencode($listvalue['uidcode']).'" target="phpframe">'.$lang['edit'].'</a>';
  43.                         $inserthtml .= ' | <a href="batch.upload.php?action=delete&noinsert='.$noinsert.'&aid='.$listvalue['aid'].'&uc='.rawurlencode($listvalue['uidcode']).'" target="phpframe">'.$lang['delete'].'</a>';

  44.                         if(!$noinsert) {
  45.                                 $thehtmlsmallpic = '';
  46.                                 $attachurl = S_URL.'/batch.download.php?aid='.$listvalue['aid'];
  47.                                 if($listvalue['isimage']) {
  48.                                         $thehtml = '<a href="'.$attachurl.'" target="_blank"><img src="'.$listvalue['fileurl'].'" border="0"></a>';
  49.                                         $thehtmlsmallpic = '<a href="'.$attachurl.'" target="_blank"><img src="'.$listvalue['thumburl'].'" border="0"></a>';
  50.                                 } elseif ($ismovie){
  51.                                         $thehtml = '<a href="javascript:void(0)"><br >点击观看: <KBD class=showvideo  title="'.$attachurl.'"> '.$listvalue['filename'].'('.$listvalue['size'].')</KBD><BR></a>';
  52.                                 } else {
  53.                                         $thehtml = '<a href="'.$attachurl.'" target="_blank"><img src="'.S_URL.'/images/base/attachment.gif" border="0"> '.$listvalue['filename'].'('.$listvalue['size'].')</a>';
  54.                                 }
  55.                                 if($ismovie){
  56.                                         $inserthtml .= ' | <a href="javascript:;" onClick="insertHtml(\''.shtmlspecialchars($thehtml).'\');return false;">'.$lang['insert_movie'].'</a>';
  57.                                 }else{
  58.                                         $inserthtml .= ' | <a href="javascript:;" onClick="insertHtml(\''.shtmlspecialchars($thehtml).'\');return false;">'.($isimg?$lang['insert']:$lang['insert_attachments']).'</a>';
  59.                                 }
  60.                                 if(!empty($thehtmlsmallpic)) {
  61.                                         $inserthtml .= ' | <a href="javascript:;" onClick="insertHtml(\''.shtmlspecialchars($thehtmlsmallpic).'\');return false;">'.$lang['insertsmall'].'</a>';
  62.                                 }
  63.                         }
  64.                         if($listvalue['attachtype'] == 'jpg' || $listvalue['attachtype'] == 'jpeg') {
  65.                                 //为保障数据合法生成的校验key
  66.                                 if(!empty($listvalue['type'])) {
  67.                                         $_POST['thumbwidth'] = $_SCONFIG['thumbarray'][$listvalue['type']][0];
  68.                                         $_POST['thumbheight'] = $_SCONFIG['thumbarray'][$listvalue['type']][1];
  69.                                 }
  70.                                 $imageauthcode=md5(A_DIR.'/'.$listvalue['filepath'].$_SCONFIG['sitekey'].intval($_POST['thumbwidth']).$listvalue['aid'].intval($_POST['thumbheight']).$_SGLOBAL['authkey'].$listvalue['thumbpath']);
  71.                                 $inserthtml .= ' | <a href="'.S_URL.'/batch.epitome.php?img='.urlencode(A_DIR.'/'.$listvalue['filepath']).'&imageauthcode='.$imageauthcode.'&imgw='.intval($_POST['thumbwidth']).'&imgh='.intval($_POST['thumbheight']).'&thumbimg='.urlencode($listvalue['thumbpath']).'&id='.urlencode($listvalue['aid']).'" target="_blank">'.$lang['slice'].'</a>';
  72.                         }
  73.                         $inserthtml .= '<input name="divupload[]" type="hidden" value="'.$listvalue['aid'].'" />';
  74.                         $inserthtml .= '</td></tr>';
  75.                 }

  76.                 $inserthtml .= '</table>'.$imgstr.$js;
  77.         }
  78.         return $inserthtml;
  79. }
复制代码
第三步:去网站后台,添加新附件类型,wmv,rmvb,avi

最后补充一点,SS默认只让上传2M的附件,如果你服务器够大,可以根据下面的方法修改最大附件尺寸
首先,增加语言
language/admincp.lang.php 176行下面增加
  1.         'attachmenttype_maxsize_5' => '5.0 MB',
  2.         'attachmenttype_maxsize_10' => '10.0 MB',
  3.         'attachmenttype_maxsize_50' => '50.0 MB',
复制代码
然后是admin/admin_attachmenttypes.php 157行 将数组改为
  1.         $maxsizearr = array(
  2.                 '512' => $alang['attachmenttype_maxsize_0_5'],
  3.                 '1024' => $alang['attachmenttype_maxsize_1'],
  4.                 '1536' => $alang['attachmenttype_maxsize_1_5'],
  5.                 '2048' => $alang['attachmenttype_maxsize_2'],
  6.                 '5120' => $alang['attachmenttype_maxsize_5'],
  7.                 '10240' => $alang['attachmenttype_maxsize_10'],
  8.                 '51200' => $alang['attachmenttype_maxsize_50'],
  9.                 '0' => $alang['attachmenttype_maxsize_0']
  10.         );
复制代码
建议有PHP基础的人进行操作,更新前备份相关文件
qdcaishen 发表于 2010-3-25 22:17:48 | 显示全部楼层
支持分享。顶个
回复

使用道具 举报

SSAY 发表于 2010-3-26 00:05:04 | 显示全部楼层
回复

使用道具 举报

yushine 发表于 2010-3-27 22:31:33 | 显示全部楼层
其实,楼上的模型方法根本没实现上传视频功能,也比LZ的方式简单的多。
回复

使用道具 举报

三颗石头 发表于 2010-3-27 22:57:36 | 显示全部楼层
顶一下,占着以后有用。
回复

使用道具 举报

yoyorest 发表于 2010-3-28 09:00:45 | 显示全部楼层
演示:
SSAY 发表于 2010-3-26 00:05

这个视频上传是引用,并没有直接上传,不过这样安全性高一点,对服务器资源节省一点
回复

使用道具 举报

axengine 发表于 2010-3-28 10:11:57 | 显示全部楼层
如何修改模板让视频能够播放才是真的。
回复

使用道具 举报

杰丽 发表于 2010-3-28 20:45:02 | 显示全部楼层
高手强大啊,我正需要的哦,谢谢咯!
回复

使用道具 举报

LeftyYL 发表于 2010-5-28 17:38:09 | 显示全部楼层
占用此资源。。。
回复

使用道具 举报

wbckid 发表于 2011-6-23 21:41:37 | 显示全部楼层
感谢分享
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 13:03 , Processed in 0.036222 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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