mirror of
https://github.com/DzzXH/DzzOffice.git
synced 2026-03-01 12:32:42 +08:00
修复应用权限检测bug和修改按钮链接等样式,加入loading效果
This commit is contained in:
@@ -2416,7 +2416,7 @@ c4a3bf9b5186325ae81a0c459f14798a *dzz/system/ueditor/third-party/webuploader/web
|
||||
527c3d756b0d22aeb122dc5d8da33e17 *dzz/system/ueditor/third-party/webuploader/webuploader.flashonly.min.js
|
||||
2cdc7bb54db94e5c8f842da451b46e93 *dzz/system/ueditor/third-party/webuploader/webuploader.html5only.js
|
||||
e11d9bc7dee10f72092a0867203251e8 *dzz/system/ueditor/third-party/webuploader/webuploader.html5only.min.js
|
||||
6c75aae8048de3d23cee4b255278a437 *dzz/system/ueditor/third-party/webuploader/webuploader.js
|
||||
6c75aae8048de3d23cee4b255278a437 *dzz/system/ueditor/third-party/webuploader/webuploader.min.js
|
||||
43487dfd7e2db6a93302608a16bb9424 *dzz/system/ueditor/third-party/webuploader/webuploader.min.js
|
||||
ac30cd2e245e5988d8cfb2dc6f185ec2 *dzz/system/ueditor/third-party/webuploader/webuploader.withoutimage.js
|
||||
3c3e8c363933509550c4a3709d514ee1 *dzz/system/ueditor/third-party/webuploader/webuploader.withoutimage.min.js
|
||||
|
||||
@@ -86,70 +86,90 @@
|
||||
</div>
|
||||
<div class="bs-main-container clearfix">
|
||||
<div class="main-content">
|
||||
<div class="dagai">
|
||||
<dl>
|
||||
<h2 class="title">用户信息</h2>
|
||||
<table class="tb">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="padleft">当前在线数</th>
|
||||
<th class="padleft">总用户数</th>
|
||||
<th class="padleft">停用人数</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padleft">$zaixianrenshu</td>
|
||||
<td class="padleft">$yonghurenshu</td>
|
||||
<td class="w pdleft1">$tingyongrenshu</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</dl>
|
||||
<dl>
|
||||
<h2 class="title">文件信息</h2>
|
||||
<table class="tb">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="padleft">文件个数</th>
|
||||
<th class="padleft">空间使用</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padleft">$wenjiangeshu</td>
|
||||
<td class="padleft">$kongjianshiyong</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</dl>
|
||||
<dl>
|
||||
<h2 class="title">版本信息</h2>
|
||||
<table class="tb">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="padleft">官方版本</th>
|
||||
<th class="padleft">小胡版本</th>
|
||||
<th class="padleft">小胡版更新日期</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padleft">$about[version]</td>
|
||||
<td class="padleft">$about[xhversion]</td>
|
||||
<td class="w pdleft1">$about[XHFIXBUG]</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</dl>
|
||||
</div>
|
||||
<dl>
|
||||
<!--{eval echo shuchu();}-->
|
||||
</dl>
|
||||
<dl>
|
||||
<h3>PHP扩展信息<a href="{MOD_URL}&op=xtxx&do=phpinfo" target="_blank" style="position: relative;">PHP详情</a></h3>
|
||||
<div class="container">
|
||||
<!--{eval echo kuozhan();}-->
|
||||
</div>
|
||||
<div>已加载的扩展:</div>
|
||||
<div class="container">
|
||||
$extensions
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="card bg-primary text-white">
|
||||
<div class="card-body">
|
||||
<h2 class="title">用户信息</h2>
|
||||
<table class="tb">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="padleft">当前在线数</th>
|
||||
<th class="padleft">总用户数</th>
|
||||
<th class="padleft">停用人数</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padleft">$zaixianrenshu</td>
|
||||
<td class="padleft">$yonghurenshu</td>
|
||||
<td class="w pdleft1">$tingyongrenshu</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</dl>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card bg-primary text-white">
|
||||
<div class="card-body">
|
||||
<h2 class="title">文件信息</h2>
|
||||
<table class="tb">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="padleft">文件个数</th>
|
||||
<th class="padleft">空间使用</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padleft">$wenjiangeshu</td>
|
||||
<td class="padleft">$kongjianshiyong</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card bg-primary text-white">
|
||||
<div class="card-body">
|
||||
<h2 class="title">版本信息</h2>
|
||||
<table class="tb">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="padleft">官方版本</th>
|
||||
<th class="padleft">小胡版本</th>
|
||||
<th class="padleft">小胡版更新日期</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padleft">$about[version]</td>
|
||||
<td class="padleft">$about[xhversion]</td>
|
||||
<td class="w pdleft1">$about[XHFIXBUG]</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="card bg-primary text-white">
|
||||
<div class="card-body">
|
||||
<!--{eval echo shuchu();}-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="card bg-primary text-white">
|
||||
<div class="card-body">
|
||||
<h3>PHP扩展信息<a href="{MOD_URL}&op=xtxx&do=phpinfo" target="_blank" style="position: relative;">PHP详情</a></h3>
|
||||
<div class="container">
|
||||
<!--{eval echo kuozhan();}-->
|
||||
</div>
|
||||
<div>已加载的扩展:</div>
|
||||
<div class="container">
|
||||
$extensions
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<dl>
|
||||
<div class="main-header clearfix">
|
||||
<ul class="nav nav-pills " style="padding:4px 10px 0 10px">
|
||||
|
||||
@@ -606,22 +606,25 @@ class dzz_app extends dzz_base{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$this->var['member']['adminid'] && $appidxu = C::t('app_market')->fetch_by_identifier(CURMODULE)) {
|
||||
$uid = null;
|
||||
if ($this->var['member']['uid']) {
|
||||
$uid = $this->var['member']['uid'];
|
||||
} elseif ($_GET['uidtoken']) {
|
||||
$uid=intval(dzzdecode($_GET['uidtoken']));
|
||||
}
|
||||
if (!$appidxu['available']) {
|
||||
showmessage(lang('该应用已关闭,请联系管理员。'));
|
||||
} elseif ($appidxu['group'] == 0) {
|
||||
// 全员使用跳过
|
||||
} elseif ($uid) {
|
||||
try {
|
||||
$config = dzz_userconfig_init();
|
||||
} else {
|
||||
if ($this->var['member']['uid']) {
|
||||
$uid = $this->var['member']['uid'];
|
||||
} elseif ($_GET['uidtoken']) {
|
||||
$uid = intval(dzzdecode($_GET['uidtoken']));
|
||||
}
|
||||
if ($uid) {
|
||||
$config = array();
|
||||
if(!$config=C::t('user_field')->fetch($uid)){
|
||||
$config= dzz_userconfig_init();
|
||||
}
|
||||
if ($config && isset($config['applist'])) {
|
||||
$applist = explode(',', $config['applist'] ?: '');
|
||||
$applist = explode(',', $config['applist']);
|
||||
if (in_array($appidxu['appid'], $applist, true)) {
|
||||
// 用户配置中包含该应用,有权限
|
||||
} else {
|
||||
@@ -630,16 +633,14 @@ class dzz_app extends dzz_base{
|
||||
} else {
|
||||
showmessage(lang('您无权限使用该应用,请联系管理员。'));
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
// 处理数据库操作异常,例如记录日志或显示错误信息
|
||||
showmessage(lang('系统错误,请联系管理员。'));
|
||||
} elseif ($appidxu['group'] == -1) {
|
||||
// 游客可以使用,跳过
|
||||
} else {
|
||||
Hook::listen('check_login');
|
||||
}
|
||||
} elseif ($appidxu['group'] == -1) {
|
||||
// 游客可以使用,跳过
|
||||
} else {
|
||||
Hook::listen('check_login');
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($this->var['setting']['nocacheheaders']) && $this->var['setting']['nocacheheaders']) {
|
||||
@header("Expires: -1");
|
||||
@header("Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0", FALSE);
|
||||
|
||||
@@ -54,7 +54,7 @@ class helper_security {
|
||||
$replaces[] = '>';
|
||||
|
||||
if($ms[1]) {
|
||||
$allowtags = 'img|a|font|div|table|tbody|caption|tr|td|th|br|p|b|strong|i|u|em|span|ol|ul|li|blockquote|pre|hr|embed|h1|h2|h3|h4|h5|h6|iframe';
|
||||
$allowtags = 'img|a|font|div|table|tbody|caption|tr|td|th|br|p|b|strong|i|u|em|span|ol|ul|li|blockquote|pre|hr|embed|h1|h2|h3|h4|h5|h6|iframe|audio';
|
||||
$ms[1] = array_unique($ms[1]);
|
||||
foreach ($ms[1] as $value) {
|
||||
$searchs[] = "<".$value.">";
|
||||
|
||||
@@ -1315,7 +1315,6 @@ class io_dzz extends io_api
|
||||
'title' => $attach['filename'],
|
||||
'desc' => '',
|
||||
'aid' => $attach['aid'],
|
||||
'img' => geticonfromext($icoarr['ext'], $icoarr['type'])
|
||||
);
|
||||
|
||||
if (C::t('resources_attr')->insert_attr($icoarr['rid'], $icoarr['vid'], $sourcedata)) {
|
||||
@@ -1369,7 +1368,6 @@ class io_dzz extends io_api
|
||||
'title' => $attach['filename'],
|
||||
'desc' => '',
|
||||
'aid' => $attach['aid'],
|
||||
'img' => geticonfromext($icoarr['ext'], $icoarr['type'])
|
||||
);
|
||||
C::t('attachment')->update($attach['aid'], array('copys' => $attach['copys'] + 1));
|
||||
if (C::t('resources_attr')->insert_attr($icoarr['rid'], $icoarr['vid'], $sourcedata)) {
|
||||
|
||||
@@ -199,7 +199,6 @@ class table_resources_version extends dzz_table
|
||||
'postip' => $_G['clientip'],
|
||||
'title' => $filename,
|
||||
'aid' => isset($setarr['aid']) ? $setarr['aid'] : '',
|
||||
'img'=>geticonfromext($setarr['ext'],$setarr['type'])
|
||||
);
|
||||
//插入属性表
|
||||
if (C::t('resources_attr')->insert_attr($rid,$vid,$sourceattrdata)) {
|
||||
|
||||
@@ -14,7 +14,7 @@ if(!defined('CORE_VERSION')) {
|
||||
define('CORE_VERSION', '2.02');
|
||||
define('CORE_RELEASE', '20180909');
|
||||
define('CORE_FIXBUG' , '20000000');
|
||||
define('CORE_XHVERSION', '1.87.9');
|
||||
define('CORE_XHVERSION', '1.88');
|
||||
define('CORE_XHRELEASE', '20240709');
|
||||
define('CORE_XHFIXBUG' , '20240706');
|
||||
}
|
||||
@@ -6,9 +6,29 @@
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
|
||||
<script type="text/javascript" src="../internal.js"></script>
|
||||
<style type="text/css">
|
||||
*{margin:0;padding:0;color: #838383;}
|
||||
table{font-size: 12px;margin: 10px;line-height: 30px}
|
||||
.txt{width:300px;height:21px;line-height:21px;border:1px solid #d7d7d7;}
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #838383;
|
||||
}
|
||||
|
||||
table {
|
||||
font-size: 12px;
|
||||
margin: 10px;
|
||||
line-height: 36px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.txt {
|
||||
box-sizing: border-box;
|
||||
width: 90%;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
border: 1px solid #d7d7d7;
|
||||
border-radius: 3px;
|
||||
padding: 0 5px;
|
||||
outline: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@@ -36,84 +56,91 @@
|
||||
</tr>
|
||||
</table>
|
||||
<script type="text/javascript">
|
||||
|
||||
editor.setOpt('allowLinkProtocols', ['http:', 'https:', '#', '/', 'ftp:', 'mailto:', 'tel:']);
|
||||
var allowLinkProtocols = editor.getOpt('allowLinkProtocols');
|
||||
|
||||
var range = editor.selection.getRange(),
|
||||
link = range.collapsed ? editor.queryCommandValue( "link" ) : editor.selection.getStart(),
|
||||
link = range.collapsed ? editor.queryCommandValue("link") : editor.selection.getStart(),
|
||||
url,
|
||||
text = $G('text'),
|
||||
rangeLink = domUtils.findParentByTagName(range.getCommonAncestor(),'a',true),
|
||||
rangeLink = domUtils.findParentByTagName(range.getCommonAncestor(), 'a', true),
|
||||
orgText;
|
||||
link = domUtils.findParentByTagName( link, "a", true );
|
||||
if(link){
|
||||
url = utils.html(link.getAttribute( '_href' ) || link.getAttribute( 'href', 2 ));
|
||||
|
||||
if(rangeLink === link && !link.getElementsByTagName('img').length){
|
||||
link = domUtils.findParentByTagName(link, "a", true);
|
||||
|
||||
if (link) {
|
||||
url = utils.html(link.getAttribute('_href') || link.getAttribute('href', 2));
|
||||
|
||||
if (rangeLink === link && !link.getElementsByTagName('img').length) {
|
||||
text.removeAttribute('disabled');
|
||||
orgText = text.value = link[browser.ie ? 'innerText':'textContent'];
|
||||
}else{
|
||||
text.setAttribute('disabled','true');
|
||||
orgText = text.value = link[browser.ie ? 'innerText' : 'textContent'];
|
||||
} else {
|
||||
text.setAttribute('disabled', 'true');
|
||||
text.value = lang.validLink;
|
||||
}
|
||||
|
||||
}else{
|
||||
if(range.collapsed){
|
||||
} else {
|
||||
if (range.collapsed) {
|
||||
text.removeAttribute('disabled');
|
||||
text.value = '';
|
||||
}else{
|
||||
text.setAttribute('disabled','true');
|
||||
} else {
|
||||
text.setAttribute('disabled', 'true');
|
||||
text.value = lang.validLink;
|
||||
}
|
||||
|
||||
}
|
||||
$G("title").value = url ? link.title : "";
|
||||
$G("href").value = url ? url: '';
|
||||
$G("target").checked = url && link.target == "_blank" ? true : false;
|
||||
$G("href").value = url ? url : '';
|
||||
$G("target").checked = url && link.target == "_blank" ? true : false;
|
||||
$focus($G("href"));
|
||||
|
||||
function handleDialogOk(){
|
||||
var href =$G('href').value.replace(/^\s+|\s+$/g, '');
|
||||
if(href){
|
||||
if(!hrefStartWith(href,["http","/","ftp://",'#'])) {
|
||||
href = "http://" + href;
|
||||
function handleDialogOk() {
|
||||
var href = $G('href').value.replace(/^\s+|\s+$/g, '');
|
||||
if (href) {
|
||||
if (!hrefStartWith(href, allowLinkProtocols)) {
|
||||
href = "http://" + href;
|
||||
}
|
||||
var obj = {
|
||||
'href' : href,
|
||||
'target' : $G("target").checked ? '_self' : '_blank',
|
||||
'title' : $G("title").value.replace(/^\s+|\s+$/g, ''),
|
||||
'_href':href
|
||||
'href': href,
|
||||
'target': $G("target").checked ? "_blank" : '_blank',
|
||||
'title': $G("title").value.replace(/^\s+|\s+$/g, ''),
|
||||
'_href': href
|
||||
};
|
||||
//修改链接内容的情况太特殊了,所以先做到这里了
|
||||
//todo:情况多的时候,做到command里
|
||||
if(orgText && text.value != orgText){
|
||||
link[browser.ie ? 'innerText' : 'textContent'] = obj.textValue = text.value;
|
||||
if (orgText && text.value != orgText) {
|
||||
link[browser.ie ? 'innerText' : 'textContent'] = obj.textValue = text.value;
|
||||
range.selectNode(link).select()
|
||||
}
|
||||
if(range.collapsed){
|
||||
if (range.collapsed) {
|
||||
obj.textValue = text.value;
|
||||
}
|
||||
editor.execCommand('link',utils.clearEmptyAttrs(obj) );
|
||||
editor.execCommand('link', utils.clearEmptyAttrs(obj));
|
||||
dialog.close();
|
||||
}
|
||||
}
|
||||
|
||||
dialog.onok = handleDialogOk;
|
||||
$G('href').onkeydown = $G('title').onkeydown = function(evt){
|
||||
$G('href').onkeydown = $G('title').onkeydown = function (evt) {
|
||||
evt = evt || window.event;
|
||||
if (evt.keyCode == 13) {
|
||||
handleDialogOk();
|
||||
return false;
|
||||
}
|
||||
};
|
||||
$G('href').onblur = function(){
|
||||
if(!hrefStartWith(this.value,["http","/","ftp://",'#'])){
|
||||
$G("msg").innerHTML = "<span style='color: red'>"+lang.httpPrompt+"</span>";
|
||||
}else{
|
||||
$G('href').onblur = function () {
|
||||
if (!hrefStartWith(this.value, allowLinkProtocols)) {
|
||||
$G("msg").innerHTML = "<span style='color: red'>" + lang.httpPrompt + "</span>";
|
||||
} else {
|
||||
$G("msg").innerHTML = "";
|
||||
}
|
||||
};
|
||||
|
||||
function hrefStartWith(href,arr){
|
||||
function hrefStartWith(href, arr) {
|
||||
href = href.replace(/^\s+|\s+$/g, '');
|
||||
for(var i=0,ai;ai=arr[i++];){
|
||||
if(href.indexOf(ai)==0){
|
||||
for (var i = 0, ai; ai = arr[i++];) {
|
||||
if (href.indexOf(ai) == 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<div id="videoTab">
|
||||
<div id="tabHeads" class="tabhead">
|
||||
<span tabSrc="video" class="focus" data-content-id="video"><var id="lang_tab_insertV"></var></span>
|
||||
<span tabSrc="upload" data-content-id="upload"><var id="lang_tab_uploadV"></var></span>
|
||||
</div>
|
||||
<div id="tabBodys" class="tabbody">
|
||||
<div id="video" class="panel focus">
|
||||
@@ -22,19 +23,61 @@
|
||||
<tr><td><label for="videoWidth"><var id="lang_videoW"></var></label></td><td><input class="txt" id="videoWidth" type="text"/></td></tr>
|
||||
<tr><td><label for="videoHeight"><var id="lang_videoH"></var></label></td><td><input class="txt" id="videoHeight" type="text"/></td></tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><var id="lang_alignment"></var></legend>
|
||||
<div id="videoFloat"></div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<div id="upload" class="panel">
|
||||
<div id="upload_left">
|
||||
<div id="queueList" class="queueList">
|
||||
<div class="statusBar element-invisible">
|
||||
<div class="progress">
|
||||
<span class="text">0%</span>
|
||||
<span class="percentage"></span>
|
||||
</div><div class="info"></div>
|
||||
<div class="btns">
|
||||
<div id="filePickerBtn"></div>
|
||||
<div class="uploadBtn"><var id="lang_start_upload"></var></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="dndArea" class="placeholder">
|
||||
<div class="filePickerContainer">
|
||||
<div id="filePickerReady"></div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="filelist element-invisible">
|
||||
<li id="filePickerBlock" class="filePickerBlock"></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="uploadVideoInfo">
|
||||
<fieldset>
|
||||
<legend><var id="lang_upload_size"></var></legend>
|
||||
<table>
|
||||
<tr><td><label><var id="lang_upload_width"></var></label></td><td><input class="txt" id="upload_width" type="text"/></td></tr>
|
||||
<tr><td><label><var id="lang_upload_height"></var></label></td><td><input class="txt" id="upload_height" type="text"/></td></tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend><var id="lang_upload_alignment"></var></legend>
|
||||
<div id="upload_alignment"></div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- jquery-->
|
||||
<!-- jquery -->
|
||||
<script type="text/javascript" src="../../third-party/jquery-1.10.2.min.js"></script>
|
||||
|
||||
<!-- webuploader -->
|
||||
<script type="text/javascript" src="../../third-party/webuploader/webuploader.min.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../../third-party/webuploader/webuploader.css">
|
||||
|
||||
<!-- video -->
|
||||
<script type="text/javascript" src="video.js"></script>
|
||||
</body>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
$focus($G("videoUrl"));
|
||||
initTabs();
|
||||
initVideo();
|
||||
/*initUpload();*/
|
||||
initUpload();
|
||||
};
|
||||
|
||||
/* 初始化tab标签 */
|
||||
@@ -41,7 +41,7 @@
|
||||
}
|
||||
|
||||
function initVideo(){
|
||||
createAlignButton( ["videoFloat"] );
|
||||
createAlignButton( ["videoFloat", "upload_alignment"] );
|
||||
addUrlChangeListener($G("videoUrl"));
|
||||
addOkListener();
|
||||
|
||||
@@ -119,7 +119,6 @@
|
||||
url=$G('videoUrl').value,
|
||||
align = findFocus("videoFloat","name");
|
||||
if(!url) return false;
|
||||
|
||||
if ( !checkNum( [width, height] ) ) return false;
|
||||
editor.execCommand('insertvideo', {
|
||||
url: convert_url(url),
|
||||
@@ -168,7 +167,7 @@
|
||||
function convert_url(url){
|
||||
if ( !url ) return '';
|
||||
url = utils.trim(url)
|
||||
.replace(/v\.youku\.com\/v_show\/id_([\w\-=]+)\.html(.*?)$/i, 'player.youku.com/player.php/sid/$1/v.swf')
|
||||
.replace(/v\.youku\.com\/v_show\/id_([\w\-=]+)\.html/i, 'player.youku.com/player.php/sid/$1/v.swf')
|
||||
.replace(/(www\.)?youtube\.com\/watch\?v=([\w\-]+)/i, "www.youtube.com/v/$2")
|
||||
.replace(/youtu.be\/(\w+)$/i, "www.youtube.com/v/$1")
|
||||
.replace(/v\.ku6\.com\/.+\/([\w\.]+)\.html.*$/i, "player.ku6.com/refer/$1/v.swf")
|
||||
@@ -265,11 +264,15 @@
|
||||
/**
|
||||
* 根据url生成视频预览
|
||||
* @param url
|
||||
*/
|
||||
*/
|
||||
function createPreviewVideo(url){
|
||||
if ( !url )return;
|
||||
var conUrl = convert_url(url);
|
||||
$G("preview").innerHTML = '<video controls="controls" style="width:100%;height:280px;" src="' + conUrl + '"></video>';
|
||||
conUrl = utils.unhtml(conUrl);
|
||||
$G("preview").innerHTML = '<div class="previewMsg"><span>' + lang.urlError + '</span></div>' +
|
||||
'<iframe class="previewVideo" ' +
|
||||
' src="' + conUrl + '"style="width:100%;height:280px;" frameborder=0 allowfullscreen>' +
|
||||
'</iframe>';
|
||||
}
|
||||
|
||||
|
||||
@@ -707,7 +710,9 @@
|
||||
|
||||
uploader.on('uploadBeforeSend', function (file, data, header) {
|
||||
//这里可以通过data对象添加POST参数
|
||||
header['X_Requested_With'] = 'XMLHttpRequest';
|
||||
if (actionUrl.toLowerCase().indexOf('jsp') != -1) {
|
||||
header['X_Requested_With'] = 'XMLHttpRequest';
|
||||
}
|
||||
});
|
||||
|
||||
uploader.on('uploadProgress', function (file, percentage) {
|
||||
|
||||
@@ -404,7 +404,7 @@ div.edui-box {
|
||||
|
||||
.edui-default .edui-toolbar .edui-combox-body .edui-arrow {
|
||||
background: url(../images/icons.png) -741px 0;
|
||||
_background: url(../images/icons.gif) -741px 0;
|
||||
background: url(../images/icons.gif) -741px 0;
|
||||
height: 20px;
|
||||
width: 9px;
|
||||
}
|
||||
@@ -932,7 +932,7 @@ div.edui-box {
|
||||
.edui-default .edui-toolbar .edui-splitbutton-body .edui-arrow,
|
||||
.edui-default .edui-toolbar .edui-menubutton-body .edui-arrow {
|
||||
background: url(../images/icons.png) -741px 0;
|
||||
_background: url(../images/icons.gif) -741px 0;
|
||||
background: url(../images/icons.gif) -741px 0;
|
||||
height: 20px;
|
||||
width: 9px;
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
BIN
dzz/system/ueditor/third-party/video-js/video-js.swf
vendored
BIN
dzz/system/ueditor/third-party/video-js/video-js.swf
vendored
Binary file not shown.
@@ -497,18 +497,6 @@ UEDITOR_CONFIG.mode = {
|
||||
'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify',
|
||||
'insertorderedlist', 'insertunorderedlist','|','simpleupload','dzzfile'
|
||||
]
|
||||
],
|
||||
mini_exam: [
|
||||
['bold', 'italic', 'underline', 'strikethrough','superscript', 'subscript','removeformat', '|',
|
||||
'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify',
|
||||
'insertorderedlist', 'insertunorderedlist','|','spechars','inserttable', 'scrawl','wordimage','kityformula','|','simpleupload','dzzfile'
|
||||
]
|
||||
],
|
||||
mini_shou: [
|
||||
['bold', 'italic', 'underline', 'strikethrough','superscript', 'subscript','removeformat', '|',
|
||||
'justifyleft', 'justifycenter', 'justifyright', 'justifyjustify',
|
||||
'insertorderedlist', 'insertunorderedlist','|','spechars','inserttable', 'scrawl','wordimage','kityformula','|','simpleupload','attachment'
|
||||
]
|
||||
],
|
||||
xiaohuxiugai: [
|
||||
['fullscreen','source', 'undo', 'redo','drafts','|','bold', 'italic', 'underline', 'fontborder', 'strikethrough', 'superscript', 'subscript', 'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|', 'forecolor', 'backcolor', 'insertorderedlist', 'insertunorderedlist', 'selectall', 'cleardoc', '|','rowspacingtop', 'rowspacingbottom', 'lineheight', '|', 'paragraph', 'fontfamily', 'fontsize', '|','directionalityltr', 'directionalityrtl', 'indent', '|','justifyleft', 'justifycenter', 'justifyright', 'justifyjustify', '|', 'touppercase', 'tolowercase', '|','link', 'unlink','|','simpleupload', 'emotion', 'scrawl', 'insertvideo', 'attachment','dzzfile', 'map', 'insertframe', 'insertcode', 'template', 'background','|','horizontal', 'date', 'time', 'spechars', 'searchreplace', '|','inserttable','insertcharts', 'charts','|','print', 'preview', 'help', 'kityminder', 'kityformula'
|
||||
|
||||
2
static/bootstrap/css/bootstrap.min.css
vendored
2
static/bootstrap/css/bootstrap.min.css
vendored
@@ -7675,6 +7675,7 @@ textarea.form-control.is-invalid {
|
||||
.btn {
|
||||
display: inline-block;
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
color: #212529;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
@@ -7691,7 +7692,6 @@ textarea.form-control.is-invalid {
|
||||
-webkit-border-radius: var(--radius);
|
||||
transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
|
||||
margin: 1px;
|
||||
opacity: 0.8;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
||||
4
static/js/main.min.js
vendored
4
static/js/main.min.js
vendored
@@ -1,13 +1,15 @@
|
||||
$(document).ready( function() {
|
||||
$("button:submit,input:submit, .nav-link, .btn,.nav-item a").click(function(){
|
||||
$("button:submit,input:submit, .nav-link, .btn,a").click(function(){
|
||||
$(this).attr('disable', 'true');
|
||||
var l = $(this).lyearloading({
|
||||
opacity: 0.2,
|
||||
spinnerSize: 'nm',
|
||||
});
|
||||
l.addClass('disabled');
|
||||
setTimeout(function() {
|
||||
$(this).prop('disable', 'false');
|
||||
l.destroy(); // 可以使用hide,页面中如果有多个loading,最好用destroy,避免后面的loading设置不生效
|
||||
l.removeClass('disabled');
|
||||
}, 1e3);
|
||||
});
|
||||
// 停止
|
||||
|
||||
Reference in New Issue
Block a user