You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1114 lines
51 KiB
1114 lines
51 KiB
<!--{template common/header_ajax}-->
|
|
<!--{if $operation == 'addgroup'}-->
|
|
<!--新建群组-->
|
|
<div class="modal-header">
|
|
<h4 class="modal-title text-truncate">{lang new_group}</h4>
|
|
<button type="button" class="btn-close" data-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<form class="form-horizontal" action="{MOD_URL}&op=ajax&operation=addgroup" method="post" onsubmit="return addgroup_submit(this)">
|
|
<input type="hidden" name="arr[aid]" value="" id="defaultcolor"/>
|
|
<div class="modal-body">
|
|
<div class="row mb-3">
|
|
<label class="col-sm-2">{lang name}</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" class="form-control" name="arr[orgname]">
|
|
<p id="name_error" class="input-error"></p>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-2">{lang introduce}</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" class="form-control" name="arr[desc]">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary cancel" data-dismiss="modal" aria-label="Close">{lang cancel}</button>
|
|
<button type="submit" class="btn btn-primary">{lang newly_build}</button>
|
|
</div>
|
|
</form>
|
|
<script type="text/javascript" reload="1">
|
|
//index添加群组弹出框头像
|
|
jQuery(document).ready(function (e) {
|
|
var colors = ['#6b69d6', '#a966ef', '#e9308d', '#e74856', '#f35b42', '#00cc6a', '#0078d7', '#5290f3', '#00b7c3', '#0099bc', '#018574', '#c77c52', '#ff8c00', '#68768a', '#7083cb', '#26a255'];
|
|
var num = parseInt(Math.random() * 10);
|
|
$('#defaultcolor').val(colors[num]);
|
|
});
|
|
$(document).on('mouseenter', '.head-portrait', function () {
|
|
$(this).addClass('head-hover');
|
|
|
|
})
|
|
$(document).on('mouseleave', '.head-portrait', function () {
|
|
$(this).removeClass('head-hover');
|
|
|
|
})
|
|
function addgroup_submit(form) {
|
|
var groupname = form['arr[orgname]'].value;
|
|
$.post(form.action, $(form).serialize(), function (data) {
|
|
if (data['success']) {
|
|
$('img_error').html();
|
|
$('name_error').html();
|
|
gid = data['gid'];
|
|
newgroupgid = data['gid'];
|
|
var html = '<li class="document-data" data-href="index.php?mod=explorer&op=group" data-hash="group' + gid + '" data-args="gid_' + gid + '">' + groupname + '</li>';
|
|
if ($('#group_menu').find('.document-data').length < 1) {
|
|
$('#group_menu').html(html);
|
|
} else {
|
|
$('#group_menu').append(html);
|
|
}
|
|
hideWindow('newGroup');
|
|
var userhref = 'index.php?mod=system&op=selorguser&template=1&callback=adduser_group&stype=2&moderator=0&range=1&onlymyorg=<!--{if $_G['setting']['explorer_mermoryonlymyorg'] == '1'}-->0<!--{else}-->1<!--{/if}-->&multiple=1&ids={$_G['uid']}';
|
|
showWindow('adduser', userhref, 'get', '0')
|
|
} else if (data['error']) {
|
|
$('#' + data['pos'] + '_error').html(data['msg']);
|
|
}
|
|
}, 'json').fail(function (jqXHR, textStatus, errorThrown) {
|
|
showmessage('操作失败,请稍后再试: ' + textStatus, 'error', 3000, 1);
|
|
});
|
|
return false;
|
|
}
|
|
</script>
|
|
<!--{elseif $operation == 'selectperm'}-->
|
|
<!--目录权限-->
|
|
<div class="modal-header">
|
|
<h4 class="modal-title text-truncate" id="myModalLabel">{lang directory_right}</h4>
|
|
<button type="button" class="btn-close" data-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<form>
|
|
<div class="modal-body">
|
|
<!--{if !$noperm}-->
|
|
<div class="row">
|
|
<div class="col-sm-2 border-end" id="permgroup">
|
|
<h6>{lang select_permissions}:</h6>
|
|
<div class="form-check <!--{if !$inherit}-->hide<!--{/if}-->">
|
|
<input type="radio" class="inputRadios form-check-input" name="inputRadios" value="$inheritperm" id="$inheritperm" <!--{if $groupperm == $inheritperm}-->checked="checked"<!--{/if}-->/>
|
|
<label class="form-check-label" for="$inheritperm">{lang superior_authority}</label>
|
|
</div>
|
|
<!--{loop $permgroups $val}-->
|
|
<div class="form-check">
|
|
<input type="radio" class="inputRadios form-check-input" name="inputRadios" value="$val['perm']" id="$val['perm']" <!--{if $new}--><!--{if $val['default']}-->checked="checked"<!--{/if}--><!--{else}--><!--{if $groupperm && $groupperm == ($val['perm'])}-->checked="checked"<!--{/if}--><!--{/if}-->/>
|
|
<label class="form-check-label" for="$val['perm']">$val[pername]</label>
|
|
</div>
|
|
<!--{/loop}-->
|
|
</div>
|
|
<div class="col-sm-10">
|
|
<h6>{lang permission_illustrate}:</h6>
|
|
<div class="container">
|
|
<div class="row g-0" id="select_perm">
|
|
<!--{loop $perms $k $v}-->
|
|
<div class="form-check col-sm-6">
|
|
<input type="checkbox" class="form-check-input" value="$v[1]" name="selectperm[]" id="$v[1]" <!--{if $v[1] & $groupperm}-->checked="checked" <!--{/if}-->>
|
|
<label class="form-check-label fs-6" for="$v[1]">
|
|
<div class="all-yourself">
|
|
<span class="{$v[2]} view-eidt text-primary pe-1" data-perm="$v[1]"></span><span>$v[0]</span>
|
|
</div>
|
|
</label>
|
|
</div>
|
|
<!--{/loop}-->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">{lang cancel}</button>
|
|
<button type="button" class="btn btn-primary" onclick="chk_create(this.form)">{lang affirm}</button>
|
|
</div>
|
|
</form>
|
|
<script type="text/javascript" reload="1">
|
|
var permval = 0;
|
|
$(function () {
|
|
var perms = $('#permgroup input.inputRadios').filter(':checked').val();
|
|
if (typeof perms != 'undefined') {
|
|
$('#select_perm div input[name="selectperm[]"]').each(function () {
|
|
var perm = $(this).val();
|
|
if (perm & perms) {
|
|
$(this).prop('checked', true);
|
|
} else {
|
|
$(this).prop('checked', false);
|
|
}
|
|
})
|
|
}
|
|
})
|
|
$('#permgroup input.inputRadios').change(function () {
|
|
var perms = $(this).val();
|
|
permval = parseInt(perms);
|
|
$('#select_perm div input[name="selectperm[]"]').each(function () {
|
|
var perm = $(this).val();
|
|
if (perm & perms) {
|
|
$(this).prop('checked', true);
|
|
} else {
|
|
$(this).prop('checked', false);
|
|
}
|
|
})
|
|
})
|
|
|
|
$('#select_perm div input[name="selectperm[]"]').each(function () {
|
|
$(this).change(function () {
|
|
var perm = $(this).val();
|
|
if ($(this).prop('checked')) {
|
|
permval += parseInt(perm);
|
|
} else {
|
|
permval -= parseInt(perm);
|
|
}
|
|
chk_permgroup();
|
|
})
|
|
})
|
|
function chk_permgroup() {
|
|
$('#permgroup input.inputRadios').each(function () {
|
|
var perm = parseInt($(this).val());
|
|
if (permval == perm) {
|
|
$(this).prop('checked', true);
|
|
} else {
|
|
$(this).prop('checked', false);
|
|
}
|
|
})
|
|
}
|
|
function chk_create(form) {
|
|
$.post('index.php?mod=explorer&op=ajax&operation=selectperm&permsubmit=true&fid={$fid}&gid={$gid}&new={$new}&setting={$setting}', $(form).serialize(), function (data) {
|
|
if (data['success']) {
|
|
if ('{$new}' == 1) {
|
|
hideWindow('select_perm');
|
|
var node = $('#position').jstree(true).get_node('#group');
|
|
$('#position').jstree('refresh', node);
|
|
$('#position').jstree('correct_state', node);
|
|
location.hash = '#group&gid={$gid}';
|
|
|
|
} else if ('{$setting}') {
|
|
hideWindow('select_perm');
|
|
location.reload();
|
|
} else {
|
|
hideWindow('select_perm');
|
|
}
|
|
}
|
|
|
|
}, 'json').fail(function (jqXHR, textStatus, errorThrown) {
|
|
showmessage('操作失败,请稍后再试: ' + textStatus, 'error', 3000, 1);
|
|
});
|
|
}
|
|
</script>
|
|
<!--{elseif $operation == 'addsearchcat'}-->
|
|
<!--新建类型-->
|
|
<div class="modal-header">
|
|
<h4 class="modal-title text-truncate" id="myModalLabel"><!--{if $cat[catname]}-->编辑类型<!--{else}-->{lang new_type}<!--{/if}--></h4>
|
|
<button type="button" class="btn-close" data-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<form action="{MOD_URL}&op=ajax&operation=addsearchcat" method="post" onsubmit="addsearchcat(this);return false;">
|
|
<div class="modal-body">
|
|
<div class="row mb-3">
|
|
<label class="col-sm-3">{lang typename}</label>
|
|
<div class="col-sm-9">
|
|
<input type="text" class="form-control" <!--{if $cat}-->value="$cat[catname]"<!--{/if}--> name="arr[catname]" max="20">
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<label class="col-sm-3">{lang filename_extension}<br>({lang more_ext_add_tips})</label>
|
|
<div class="col-sm-9">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control taginput" name="arr[ext]" reload="1" value="$cat[ext]" data-source="">
|
|
</div>
|
|
<span class="form-text">输入文件的扩展名后需要按回车确认</span>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang label}<br>({lang more_tag_add_tips})</label>
|
|
<div class="col-sm-9">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control taginput" name="arr[tag]" value="$cat[tag]">
|
|
</div>
|
|
<span class="form-text">输入标签后需要按回车确认</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<!--{if $cat}-->
|
|
<!--{if !$cat['default']}-->
|
|
<button type="button" class="btn btn-danger" onclick="delete_searchcat('$cat[id]')"><span class="mdi mdi-delete"></span>{lang delete_type}</button>
|
|
<!--{else}-->
|
|
<button type="button" class="btn btn-danger" disabled=""><span class="mdi mdi-delete"></span>{lang system_preinstall_not_allow_delete}</button>
|
|
<!--{/if}-->
|
|
<input type="hidden" name="editcatsearch" value="$cat[id]"/>
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">{lang cancel}</button>
|
|
<button type="button" class="btn btn-primary" onclick="editsearchcat(this.form)">{lang save}</button>
|
|
<!--{else}-->
|
|
<input type="hidden" name="addcatsearch" value="true"/>
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">{lang cancel}</button>
|
|
<button type="button" class="btn btn-primary" onclick="addsearchcat(this.form)">{lang create}</button>
|
|
<!--{/if}-->
|
|
</div>
|
|
</form>
|
|
<script type="text/javascript" reload="1">
|
|
//标签input框
|
|
$(document).ready(function () {
|
|
jQuery('input.taginput').each(function () {
|
|
$(this).tagsInput({
|
|
'width': '100%',
|
|
'height': 'auto',
|
|
'interactive': true,
|
|
'defaultText': '',
|
|
'removeWithBackspace': true,
|
|
'minChars': 0,
|
|
'maxChars': 0,
|
|
'placeholderColor': '#666666',
|
|
'typeahead': {
|
|
source: $(this).data('source')
|
|
}
|
|
});
|
|
});
|
|
});
|
|
function addsearchcat(form) {
|
|
var formdata = $(form).serialize();
|
|
var dataform = $(form).serializeArray();
|
|
$.post(form.action, formdata, function (data) {
|
|
if (data['success']) {
|
|
var html = '<li class="nav-item"><a href="javascript:;" class="nav-link document-data" data-href="{MOD_URL}&op=catsearch" id="searchcat_' + data['insertid'] + '" ' +
|
|
'data-hash="catsearch&do=searchfile&id=' + data['insertid'] + '" data-args="do_searchfile-id_' + data['insertid'] + '"> ' +
|
|
'<i class="mdi mdi-file-cabinet"></i><span>' + dataform[0]['value'] + '</span></a></li>';
|
|
$('.typeaMenu').append(html);
|
|
hideWindow('addsearchcat');
|
|
showmessage('{lang explorer_add_succeed}','success',3000,1);
|
|
location.hash = '#catsearch&do=searchfile&id=' + data['insertid'];
|
|
} else {
|
|
hideWindow('addsearchcat');
|
|
layer.alert(data['msg'], {skin:'lyear-skin-danger'});
|
|
}
|
|
}, 'json').fail(function (jqXHR, textStatus, errorThrown) {
|
|
showmessage('操作失败,请稍后再试: ' + textStatus, 'error', 3000, 1);
|
|
});
|
|
}
|
|
function editsearchcat(form) {
|
|
var formdata = $(form).serialize();
|
|
var dataform = $(form).serializeArray();
|
|
var catid = '$cat[id]';
|
|
$.post(form.action, formdata, function (data) {
|
|
if (data['success']) {
|
|
var html = '<a href="javascript:;" class="nav-link document-data active" data-href="{MOD_URL}&op=catsearch" id="searchcat_' + catid + '" ' +
|
|
'data-hash="catsearch" data-args="do_searchfile-id_' + catid + '"> ' +
|
|
'<i class="mdi mdi-file-cabinet"></i><span>' + dataform[0]['value'] + '</span></a>';
|
|
$('#searchcat_' + catid).replaceWith(html);
|
|
hideWindow('editcatsearch');
|
|
showmessage('{lang update_successfully}','success',3000,1);
|
|
setTimeout(function () {
|
|
location.reload();
|
|
}, 2000);
|
|
return false;
|
|
} else {
|
|
hideWindow('editcatsearch');
|
|
layer.alert(__lang.save_failed, {skin:'lyear-skin-danger'});
|
|
}
|
|
return false;
|
|
}, 'json').fail(function (jqXHR, textStatus, errorThrown) {
|
|
showmessage('操作失败,请稍后再试: ' + textStatus, 'error', 3000, 1);
|
|
});
|
|
return false;
|
|
}
|
|
function delete_searchcat(id, msg, title) {
|
|
layer.confirm(__lang.delete_filenorecover_confirm, {title:__lang.delete_cat_confirm,skin:'lyear-skin-danger'}, function(index){
|
|
layer.msg(__lang.recovering_not_please_close, {offset:'10px',time:0});
|
|
$.post('{MOD_URL}&op=ajax&operation=delsearchcat&id=$cat[id]', {'delcat': true}, function (data) {
|
|
if (data['success']) {
|
|
hideWindow('editcatsearch');
|
|
$('#searchcat_' + data['catid']).remove();
|
|
layer.msg('{lang delete_success}!', {offset:'10px'});
|
|
location.hash = '#catsearch&do=searchfile&id=' + data['previd'];
|
|
} else {
|
|
hideWindow('editcatsearch');
|
|
layer.alert('{lang delete_error}!', {skin:'lyear-skin-danger'});
|
|
}
|
|
}, 'json').fail(function (jqXHR, textStatus, errorThrown) {
|
|
showmessage('操作失败,请稍后再试: ' + textStatus, 'error', 3000, 1);
|
|
});
|
|
});
|
|
}
|
|
</script>
|
|
<!--{elseif $operation == 'newFolder' && $permselect}-->
|
|
<!--{if !isset($arr['error'])}-->
|
|
<!--新建文件夹-->
|
|
<div class="modal-header">
|
|
<h4 class="modal-title text-truncate">{lang newfolder}</h4>
|
|
<button type="button" class="btn-close" data-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<form onsubmit=" return chk_create(this);">
|
|
<div class="modal-body">
|
|
<div class="row mb-3">
|
|
<label for="foldername" class="col-sm-2">{lang name}</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" class="form-control" name="foldername" value="$name" id="foldername">
|
|
<input type="hidden" name="bz" value="$bz"/>
|
|
</div>
|
|
</div>
|
|
<!--{if !$noperm}-->
|
|
<div class="row">
|
|
<div class="col-sm-2 border-end" id="permgroup">
|
|
<h6>{lang select_permissions}:</h6>
|
|
<!--{if $inherit}-->
|
|
<div class="form-check">
|
|
<input type="radio" class="inputRadios form-check-input" name="inputRadios" value="$inheritperm" checked="checked" id="new_{$inheritperm}"/>
|
|
<label class="form-check-label" for="new_{$inheritperm}">{lang inheritperm}</label>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{loop $permgroups $val}-->
|
|
<div class="form-check">
|
|
<input type="radio" class="inputRadios form-check-input" name="inputRadios" value="$val['perm']" id="new_{$val['perm']}" <!--{if $inheritperm == $val['perm']}-->checked="checked"<!--{/if}-->/>
|
|
<label class="form-check-label" for="new_{$val['perm']}">$val[pername]</label>
|
|
</div>
|
|
<!--{/loop}-->
|
|
</div>
|
|
<div class="col-sm-10">
|
|
<h6>{lang permission_illustrate}:</h6>
|
|
<div class="container">
|
|
<div class="row g-0" id="select_perm">
|
|
<!--{loop $perms $k $v}-->
|
|
<div class="form-check col-sm-6">
|
|
<input type="checkbox" class="form-check-input" {if $inheritperm & $v[1]} checked="checked" {/if}value="$v[1]" name="selectperm[]" id="new_{$v[1]}">
|
|
<label class="form-check-label fs-6" for="new_{$v[1]}">
|
|
<div class="all-yourself">
|
|
<span class="{$v[2]} view-eidt text-primary pe-1" data-perm="$v[1]"></span>$v[0]
|
|
</div>
|
|
</label>
|
|
</div>
|
|
<!--{/loop}-->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">{lang cancel}</button>
|
|
<button type="submit" class="btn btn-primary">{lang create}</button>
|
|
</div>
|
|
</form>
|
|
<script type="text/javascript" reload="1">
|
|
var permval = 0;
|
|
$(function () {
|
|
var perms = $('#permgroup input.inputRadios').filter(':checked').val();
|
|
if (perms) {
|
|
$('#select_perm div input[name="selectperm[]"]').each(function () {
|
|
var perm = $(this).val();
|
|
if (perm & perms) {
|
|
$(this).prop('checked', true);
|
|
} else {
|
|
$(this).prop('checked', false);
|
|
}
|
|
})
|
|
}
|
|
|
|
})
|
|
$('#permgroup input.inputRadios').change(function () {
|
|
var perms = $(this).val();
|
|
permval = parseInt(perms);
|
|
$('#select_perm div input[name="selectperm[]"]').each(function () {
|
|
var perm = $(this).val();
|
|
if (perm & perms) {
|
|
$(this).prop('checked', true);
|
|
} else {
|
|
$(this).prop('checked', false);
|
|
}
|
|
})
|
|
})
|
|
|
|
$('#select_perm div input[name="selectperm[]"]').each(function () {
|
|
$(this).change(function () {
|
|
var perm = $(this).val();
|
|
if ($(this).prop('checked')) {
|
|
permval += parseInt(perm);
|
|
} else {
|
|
permval -= parseInt(perm);
|
|
}
|
|
chk_permgroup();
|
|
})
|
|
})
|
|
function chk_permgroup() {
|
|
$('#permgroup input.inputRadios').each(function () {
|
|
var perm = parseInt($(this).val());
|
|
if (permval == perm) {
|
|
$(this).prop('checked', true);
|
|
} else {
|
|
$(this).prop('checked', false);
|
|
}
|
|
})
|
|
}
|
|
function chk_create(form) {
|
|
$.post('{MOD_URL}&op=ajax&operation=newFolder&createfolder=true&fid={$fid}', $(form).serialize(), function (data) {
|
|
if (data.msg == 'success') {
|
|
_explorer.sourcedata.icos[data.rid] = data;
|
|
_filemanage.cons['f-' + '{$fid}'].CreateIcos(data);
|
|
<!--{if !$bz}-->
|
|
var node = jQuery('#u-' + data.pfid + ',#f-' + data.pfid)
|
|
jQuery('#position').jstree('refresh', node);
|
|
jQuery('#position').jstree('correct_state', node);
|
|
<!--{/if}-->
|
|
layer.msg('已创建:'+data.name, {offset:'10px'});
|
|
hideWindow('newFolder');
|
|
} else {
|
|
layer.alert(data.error, {skin:'lyear-skin-danger'});
|
|
}
|
|
|
|
}, 'json').fail(function (jqXHR, textStatus, errorThrown) {
|
|
showmessage('操作失败,请稍后再试: ' + textStatus, 'error', 3000, 1);
|
|
});
|
|
return false;
|
|
}
|
|
</script>
|
|
<!--{else}-->
|
|
<script>
|
|
hideWindow('newFolder');
|
|
layer.alert('{$arr[error]}', {skin:'lyear-skin-danger'});
|
|
</script>
|
|
<!--{/if}-->
|
|
<!--{elseif $operation == 'property'}-->
|
|
<!--{if !$error}-->
|
|
<div class="modal-header">
|
|
<h4 class="modal-title text-truncate"><!--{if $propertys['ismulti']}--><i class="mdi mdi-file-multiple text-primary"></i> {lang more_select}<!--{else}--><!--{if $propertys[name]}-->$propertys[name]<!--{/if}--> {lang property}<!--{/if}--></h4>
|
|
<div class="float-end">
|
|
<button type="button" class="modal-fullscreen-btn"><i class="mdi"></i></button>
|
|
<button type="button" class="btn-close" data-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
</div>
|
|
<div class="modal-body">
|
|
<!--{if $propertys[name]}-->
|
|
<form onsubmit="return editsvae(this);">
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3" for="propertysname">{lang name}</label>
|
|
<div class="col-sm-9">
|
|
<input type="hidden" name="path" value="$propertys[rid]"/>
|
|
<div class="input-group">
|
|
<input type="text" class="form-control" <!--{if !$propertys[editperm]}-->readonly="readonly"<!--{/if}--> name="text" value="$propertys[name]" id="propertysname">
|
|
<!--{if $propertys['editperm']}-->
|
|
<button type="submit" class="btn btn-primary">{lang rename}</button>
|
|
<!--{/if}-->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
<!--{/if}-->
|
|
<!--{if $propertys['type']}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang type}</label>
|
|
<div class="col-sm-9">$propertys['type']</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys[realpath]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang position}</label>
|
|
<div class="col-sm-9">$propertys[realpath]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys['username']}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang possesor}</label>
|
|
<div class="col-sm-9">$propertys['username']</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys['contain']}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang include}</label>
|
|
<div class="col-sm-9">$propertys['contain']</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys['ffsize']}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang big_small}</label>
|
|
<div class="col-sm-9">$propertys['ffsize']</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys[editdateline]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang preceding_edit_time}</label>
|
|
<div class="col-sm-9">$propertys[editdateline]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys[opendateline]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang preceding_open_time}</label>
|
|
<div class="col-sm-9">$propertys[opendateline]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys[fdateline]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang create_time}</label>
|
|
<div class="col-sm-9">$propertys[fdateline]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys[downs]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang download_times}</label>
|
|
<div class="col-sm-9">$propertys[downs]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys[views]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang view_count}</label>
|
|
<div class="col-sm-9">$propertys[views]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys[edits]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang edit_times}</label>
|
|
<div class="col-sm-9">$propertys[edits]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $attachment}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">文件地址</label>
|
|
<div class="col-sm-9 text-break"><!--{if is_array($attachment) && $attachment['error']}--><span class="text-danger">$attachment['error']</span><!--{else}--><a href="$attachment" target="_blank">$attachment</a><!--{/if}--></div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $attrdata['desc']}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">描述说明</label>
|
|
<div class="col-sm-9 text-break">$attrdata['desc']</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">{lang close}</button>
|
|
</div>
|
|
<script type="text/javascript" reload="1">
|
|
function editsvae(form) {
|
|
var text = $(form).find('input[name="text"]').val();
|
|
var path = $(form).find('input[name="path"]').val();
|
|
var ico = _explorer.sourcedata.icos[path];
|
|
filemanage = _filemanage.cons[_filemanage.winid];
|
|
if (text == ico.name) {
|
|
hideWindow('property');
|
|
return false;
|
|
}
|
|
jQuery.ajax({
|
|
type: 'post',
|
|
url: _explorer.appUrl + '&op=dzzcp&do=rename',
|
|
data: {"text": text, "path": ico.dpath, "t": (new Date().getTime())},
|
|
dataType: "json",
|
|
success: function (json) {
|
|
if (json.rid) {
|
|
layer.msg('已重命名为:'+json.name, {offset:'10px'});
|
|
_explorer.sourcedata.icos[json.rid].name = json.name;
|
|
filemanage.data[json.rid].name = json.name;
|
|
filemanage.CreateIcos(_explorer.sourcedata.icos[json.rid], true);
|
|
hideWindow('property');
|
|
} else {
|
|
layer.msg(json.error, {offset:'10px'});
|
|
}
|
|
},
|
|
error: function () {
|
|
layer.msg(__lang.js_network_error, {offset:'10px'});
|
|
}
|
|
});
|
|
return false;
|
|
}
|
|
</script>
|
|
<!--{else}-->
|
|
<script type="text/javascript" reload="1">
|
|
hideWindow('property');
|
|
layer.alert('{$error}', {skin:'lyear-skin-danger'});
|
|
</script>
|
|
<!--{/if}-->
|
|
<!--{elseif $operation == 'share'}-->
|
|
<!--{if !isset($arr['error'])}-->
|
|
<!--创建分享-->
|
|
<form action="{MOD_URL}&op=ajax&operation=share" method="post" onSubmit="return subshare(this);">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title text-truncate"><!--{if $share['id']}-->{lang edit_share}<!--{else}-->{lang create_share}<!--{/if}--></h4>
|
|
<button type="button" class="btn-close" data-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="row mb-3">
|
|
<label class="col-sm-2" for="sharetitle">{lang share_title}</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" class="form-control" name="share[title]" value="$share[title]" id="sharetitle"/>
|
|
<input type="hidden" name="rid" value="$files"/>
|
|
<input type="hidden" name="id" value="$share[id]" id="shareid"/>
|
|
<input type="hidden" name="bz" value="$bz"/>
|
|
<input type="hidden" name="delshare" <!--{if $share['id']}--> value="1"<!--{else}-->value="0"<!--{/if}--> id="delshare" />
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<label class="col-sm-2" for="selecttime">{lang expiration_time}</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" class="form-control" placeholder="{lang expiration_time}" name="share[endtime]" id="selecttime" value="<!--{if $share['endtime']}-->$share['endtime']<!--{/if}-->" value="{eval echo ($share['endtime'] && $share['endtime']!= 0)?$share['endtime']:''}"/>
|
|
<span class="form-text">{lang left_blank_or_0_time_unlimited}</span>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<label class="col-sm-2" for="sharetimes">{lang sharetimes}</label>
|
|
<div class="col-sm-10">
|
|
<input type="text" class="form-control" placeholder="{lang sharing_restriction_times}" name="share[times]" value="$share[times]" id="sharetimes"/>
|
|
<span class="form-text">{lang left_blank_or_0_means_unlimited}</span>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<label class="col-sm-2" for="sharepassword">{lang extract_password}</label>
|
|
<div class="col-sm-10">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control" placeholder="{lang share_password}" name="share[password]" value="$share['password']" id="sharepassword"/>
|
|
<button class="btn btn-primary" type="button" onclick="randomPass()">随机生成</button>
|
|
</div>
|
|
<span class="form-text">{lang leave_blank_to_indicate_the_password_not_set}</span>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-2">分享权限</label>
|
|
<div class="col-sm-10">
|
|
<div class="gallery-grid">
|
|
<div class="gallery-item">
|
|
<input class="form-check-input" type="checkbox" id="sharedownload" name="perm[]" value="1" <!--{if $share['perm']}--><!--{if in_array(1,$share['perm'])}-->checked="checked"<!--{/if}--><!--{/if}-->>
|
|
<label class="form-check-label" for="sharedownload">禁用下载</label>
|
|
</div>
|
|
<div class="gallery-item">
|
|
<input class="form-check-input" type="checkbox" id="shareview" name="perm[]" value="2" <!--{if $share['perm']}--><!--{if in_array(2,$share['perm'])}-->checked="checked"<!--{/if}--><!--{/if}-->>
|
|
<label class="form-check-label" for="shareview">禁用预览</label>
|
|
</div>
|
|
<div class="gallery-item">
|
|
<input class="form-check-input" type="checkbox" id="sharelogin" name="perm[]" value="3" <!--{if $share['perm']}--><!--{if in_array(3,$share['perm'])}-->checked="checked"<!--{/if}--><!--{/if}-->>
|
|
<label class="form-check-label" for="sharelogin">仅登录使用</label>
|
|
</div>
|
|
<div class="gallery-item">
|
|
<input class="form-check-input" type="checkbox" id="shareedit" name="perm[]" value="4" <!--{if $share['perm']}--><!--{if in_array(4,$share['perm'])}-->checked="checked"<!--{/if}--><!--{/if}-->>
|
|
<label class="form-check-label" for="shareedit">允许编辑</label>
|
|
</div>
|
|
<div class="gallery-item">
|
|
<input class="form-check-input" type="checkbox" id="sharecreate" name="perm[]" value="5" <!--{if $share['perm']}--><!--{if in_array(5,$share['perm'])}-->checked="checked"<!--{/if}--><!--{/if}-->>
|
|
<label class="form-check-label" for="sharecreate">可读写(上传,新建)</label>
|
|
</div>
|
|
<div class="gallery-item">
|
|
<input class="form-check-input" type="checkbox" id="sharecomment" name="perm[]" value="6" <!--{if $share['perm']}--><!--{if in_array(6,$share['perm'])}-->checked="checked"<!--{/if}--><!--{/if}-->>
|
|
<label class="form-check-label" for="sharecomment">{lang comment}</label>
|
|
</div>
|
|
</div>
|
|
<span class="form-text">具体权限的有效性取决于相关应用场景的实际使用情况。</span>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-1" id="sharurldiv" <!--{if !$share[shareurl]}-->style="display:none;"<!--{/if}-->>
|
|
<label class="col-sm-2" for="shareurl">{lang share_address}</label>
|
|
<div class="col-sm-10">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control" placeholder="{lang copy_address}" value="$share[shareurl]" id="shareurl" onfocus="this.select()" disabled="disabled"/>
|
|
<span class="input-group-text" onclick="openshare()"><i class="mdi mdi-open-in-new" data-toggle="tooltip" data-placement="bottom" title="{lang open}"></i></span>
|
|
<span class="input-group-text" onclick="copyShareIink()"><i class="mdi mdi-file-document-outline" data-toggle="tooltip" data-placement="bottom" title="复制链接"></i></span>
|
|
<span class="input-group-text" onclick="copyShareInfo()"><i class="mdi mdi-file-document-multiple" data-toggle="tooltip" data-placement="bottom" title="复制信息"></i></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-danger pull-left <!--{if !$share[shareurl]}--> hide <!--{/if}--> delshare" onclick="removeshare(this.form)">{lang delete_share}
|
|
</button>
|
|
<button type="submit" class="btn btn-primary" data-loading-text="{lang create_in}">
|
|
<!--{if $share['id']}-->
|
|
{lang edit_share}
|
|
<!--{else}-->
|
|
{lang create_share}
|
|
<!--{/if}-->
|
|
</button>
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">{lang close}</button>
|
|
</div>
|
|
</form>
|
|
<script type="text/javascript" reload="1">
|
|
jQuery(document).ready(function (e) {
|
|
jQuery('[data-toggle="tooltip"]').tooltip();
|
|
});
|
|
$("#selecttime").datepicker({ //添加日期选择功能
|
|
startDate: new Date(),
|
|
autoclose:true,
|
|
todayHighlight:true,
|
|
clearBtn:true,
|
|
language: 'zh_CN',
|
|
todayBtn: "linked",
|
|
calendarWeeks: true,
|
|
});
|
|
function copyShareIink() {
|
|
var sharelink = $('#shareurl').val();
|
|
var tempInput = document.createElement("input");
|
|
document.body.appendChild(tempInput);
|
|
tempInput.value = sharelink;
|
|
tempInput.select();
|
|
document.execCommand("copy");
|
|
document.body.removeChild(tempInput);
|
|
layer.msg('信息已复制到剪贴板');
|
|
}
|
|
function copyShareInfo() {
|
|
var title = $('#sharetitle').val();
|
|
var sharelink = $('#shareurl').val();
|
|
var password = $('#sharepassword').val();
|
|
var tempInput = document.createElement("input");
|
|
document.body.appendChild(tempInput);
|
|
var copyText = "" + title + "\n 链接:" + sharelink;
|
|
if (password) {
|
|
copyText += " \n提取码: " + password;
|
|
}
|
|
tempInput.value = copyText;
|
|
tempInput.select();
|
|
document.execCommand("copy");
|
|
document.body.removeChild(tempInput);
|
|
layer.msg('信息已复制到剪贴板');
|
|
}
|
|
function openshare() {
|
|
var url = $('#shareurl').val();
|
|
if (url) {
|
|
window.open(url);
|
|
} else {
|
|
layer.msg('分享链接为空', {offset:'10px'});
|
|
}
|
|
|
|
}
|
|
function subshare(form) {
|
|
var button = $(form).find('button[type=submit]')
|
|
button.text('{lang edit_share}').button('loading');
|
|
$.post(form.action, $(form).serialize(), function (data) {
|
|
if (data['success']) {
|
|
button.button('reset');
|
|
$('#sharurldiv').show();
|
|
$('#shareurl').val(data['shareurl']);
|
|
$('.allowContextMenu').attr('dsrc', data['qrcode']);
|
|
$('#copyshare').data('clipboard', data['shareurl']);
|
|
$(form).find('.delshare').removeClass('hide');
|
|
$('#shareid').val(data['shareid']);
|
|
$('#delshare').val(1);
|
|
<!--{if $share['id']}-->
|
|
layer.msg('分享编辑成功', {offset:'10px'});
|
|
<!--{else}-->
|
|
layer.msg('{lang share_creation_success}', {offset:'10px'});
|
|
<!--{/if}-->
|
|
<!--{if $table}-->
|
|
tablereload();
|
|
<!--{/if}-->
|
|
} else if(data['error']) {
|
|
layer.msg(data['error'], {offset:'10px'});
|
|
} else {
|
|
layer.msg('{lang operation_error}', {offset:'10px'});
|
|
}
|
|
}, 'json').fail(function (jqXHR, textStatus, errorThrown) {
|
|
showmessage('操作失败,请稍后再试: ' + textStatus, 'error', 3000, 1);
|
|
});
|
|
return false;
|
|
}
|
|
function removeshare(form) {
|
|
layer.confirm('{lang delete_share_links_lose_efficacy_sure}', {skin:'lyear-skin-danger'}, function(index){
|
|
$.post('{MOD_URL}&op=ajax&operation=share&do=del', $(form).serialize(), function (data) {
|
|
layer.msg(__lang.deleting_not_please_close, {offset:'10px',time:0});
|
|
if (data['success']) {
|
|
<!--{if $table}-->
|
|
tablereload();
|
|
<!--{/if}-->
|
|
layer.msg('{lang delete_share_succeed}', {offset:'10px'});
|
|
hideWindow('share');
|
|
} else {
|
|
layer.msg('删除失败', {offset:'10px'});
|
|
}
|
|
}, 'json').fail(function (jqXHR, textStatus, errorThrown) {
|
|
showmessage('操作失败,请稍后再试: ' + textStatus, 'error', 3000, 1);
|
|
});
|
|
});
|
|
}
|
|
function randomPass() {
|
|
var result = generateRandomCode(4);
|
|
jQuery('#sharepassword').val(result).trigger('blur');
|
|
}
|
|
|
|
</script>
|
|
<!--{else}-->
|
|
<script type="text/javascript">
|
|
hideWindow('share');
|
|
layer.alert('{$arr[error]}', {skin:'lyear-skin-danger'});
|
|
</script>
|
|
<!--{/if}-->
|
|
<!--{elseif $operation == 'showtips'}-->
|
|
<!--群组创建成功或者失败提示框-->
|
|
<div class="modal-body">{$msgtext}</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-primary" data-dismiss="modal" aria-label="Close">{lang confirms}</button>
|
|
</div>
|
|
<!--{elseif $operation == 'newLink'}-->
|
|
<!--{if !isset($arr[error])}-->
|
|
<form onsubmit="return false;">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title text-truncate">{lang add_url}</h4>
|
|
<button type="button" class="btn-close" data-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<input type="text" class="form-control focus" value="http://" name="link">
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">{lang close}</button>
|
|
<button type="button" class="btn btn-primary" onclick="chk_link(this.form)">{lang submit}</button>
|
|
</div>
|
|
</form>
|
|
<script type="text/javascript" reload="1">
|
|
function chk_link(form) {
|
|
$.post(MOD_URL + '&op=ajax&operation=linkadd&createlink=true&fid=' + '{$fid}', $(form).serialize(), function (data) {
|
|
if (data.msg == 'success') {
|
|
_explorer.sourcedata.icos[data.rid] = data;
|
|
_filemanage.cons['f-' + '{$fid}'].CreateIcos(data);
|
|
hideWindow('newLink');
|
|
} else {
|
|
layer.alert(data.error, {skin:'lyear-skin-danger'});
|
|
}
|
|
}, 'json').fail(function (jqXHR, textStatus, errorThrown) {
|
|
showmessage('操作失败,请稍后再试: ' + textStatus, 'error', 3000, 1);
|
|
});
|
|
}
|
|
</script>
|
|
<!--{else}-->
|
|
<script type="text/javascript">
|
|
hideWindow('newLink');
|
|
layer.alert('{$arr[error]}', {skin:'lyear-skin-danger'});
|
|
</script>
|
|
<!--{/if}-->
|
|
<!--{elseif $operation == 'infoversion'}-->
|
|
<!--{if !$error}-->
|
|
<div class="modal-header">
|
|
<h4 class="modal-title text-truncate">$propertys[name] {lang version_information}</h4>
|
|
<button type="button" class="btn-close" data-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang name}</label>
|
|
<div class="col-sm-9 text-break">$propertys[name] <span class="badge badge-outline-primary"><!--{if $propertys['vid'] == $versioninfo['vid']}-->{lang principal_edition}<!--{else}-->V$versioninfo['vid']<!--{/if}--></span></div>
|
|
</div>
|
|
<!--{if $versioninfo[vname]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang version_name}</label>
|
|
<div class="col-sm-9">$versioninfo[vname]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $versioninfo[vdesc]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang version_desc}</label>
|
|
<div class="col-sm-9">$versioninfo[vdesc]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang type}</label>
|
|
<div class="col-sm-9">$propertys['type']</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang position}</label>
|
|
<div class="col-sm-9">$propertys[realpath]</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang possesor}</label>
|
|
<div class="col-sm-9">$propertys['username']</div>
|
|
</div>
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang big_small}</label>
|
|
<div class="col-sm-9">$propertys['ffsize']</div>
|
|
</div>
|
|
<!--{if $propertys[editdateline]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang preceding_edit_time}</label>
|
|
<div class="col-sm-9">$propertys[editdateline]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys[opendateline]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang preceding_open_time}</label>
|
|
<div class="col-sm-9">$propertys[opendateline]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys[fdateline]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang create_time}</label>
|
|
<div class="col-sm-9">$propertys[fdateline]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys[downs]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang download_times}</label>
|
|
<div class="col-sm-9">$propertys[downs]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys[views]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang view_count}</label>
|
|
<div class="col-sm-9">$propertys[views]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $propertys[edits]}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang edit_times}</label>
|
|
<div class="col-sm-9">$propertys[edits]</div>
|
|
</div>
|
|
<!--{/if}-->
|
|
<!--{if $attachment}-->
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">文件地址</label>
|
|
<div class="col-sm-9 text-break"><a href="$attachment" target="_blank">$attachment</a></div>
|
|
</div>
|
|
<!--{/if}-->
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">{lang close}</button>
|
|
</div>
|
|
<!--{else}-->
|
|
<script type="text/javascript" reload="1">
|
|
hideWindow('infoversion');
|
|
layer.alert('{$error}', {skin:'lyear-skin-danger'});
|
|
</script>
|
|
<!--{/if}-->
|
|
<!--{elseif $operation == 'editFileVersionInfo'}-->
|
|
<!--编辑版本信息-->
|
|
<form action="" method="post" onsubmit="return false;">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title text-truncate">{lang edit_version_information}</h4>
|
|
<button type="button" class="btn-close" data-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="row mb-3">
|
|
<label class="col-sm-2">{lang version_name}</label>
|
|
<div class="col-sm-10">
|
|
<input class="form-control" id="vnametestarea" name="vname" value="$versioninfo['vname']">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-2">{lang version_desc}</label>
|
|
<div class="col-sm-10">
|
|
<textarea class="form-control" id="vdesctestarea" name="vdesc" oninput="limitTextarea(this, 120)">$versioninfo['vdesc']</textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<input type="hidden" name="rid" value="$rid"/>
|
|
<input type="hidden" name="vid" value="$vid"/>
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">{lang cancel}</button>
|
|
<button type="submit" class="btn btn-primary saveversioninfo">{lang save}</button>
|
|
</div>
|
|
</form>
|
|
<script type="text/javascript" reload="1">
|
|
function limitTextarea(textarea, maxLength) {
|
|
if (textarea.value.length > maxLength) {
|
|
showmessage('限制120字以内!','error',3000,1);
|
|
textarea.value = textarea.value.substring(0, maxLength);
|
|
}
|
|
}
|
|
//编辑版本信息
|
|
$(document).off('click.versioninfoedit').on('click.versioninfoedit', '.saveversioninfo', function () {
|
|
var obj = $(this);
|
|
var rid = $(this).closest('.modal-footer').find('input[name="rid"]').val();
|
|
var vid = $(this).closest('.modal-footer').find('input[name="vid"]').val();
|
|
var querydata = {};
|
|
//如果未找到版本id,或者版本id为0,即此文件暂无版本,则获取其rid增加版本,并设置版本名称
|
|
querydata['rid'] = rid;
|
|
if (vid && vid != 0) {
|
|
querydata['vid'] = vid;
|
|
}
|
|
var vname = $('#vnametestarea').val();
|
|
var vnamePreg = /^\s*$/;
|
|
if (vnamePreg.test(vname)) {
|
|
layer.alert('{lang input_version_name}', {skin:'lyear-skin-danger'});
|
|
return false;
|
|
} else {
|
|
querydata['vname'] = vname;
|
|
}
|
|
var vdesc = $('#vdesctestarea').val();
|
|
if (vdesc) {
|
|
querydata['vdesc'] = vdesc;
|
|
}
|
|
$.post('{MOD_URL}&op=dzzcp&do=setversionname', querydata, function (data) {
|
|
if (data['vid']) {
|
|
var vdeschtml = '';
|
|
if(vdesc) {
|
|
var vdeschtml = '<span class="form-text text-truncate">' + vdesc + '</span>';
|
|
}
|
|
if (querydata['vid']) {
|
|
if (querydata['vid'] == data['primaryvid']) {
|
|
var html = '<div class="fw-bold text-truncate">' + vname + '</div>'+vdeschtml+'<div class="versioninfos">' + data['fdateline'] +
|
|
'<span class="badge badge-outline-primary">{lang principal_edition}</span></div>';
|
|
} else {
|
|
var html = '<div class="fw-bold text-truncate">' + vname + '</div>'+vdeschtml+'<div class="versioninfos">' + data['fdateline'] + '</div>';
|
|
}
|
|
$('#version_' + data['vid']).find('div.unameMenu-upload').html(html);
|
|
} else {
|
|
var html = '<div class="fw-bold text-truncate">' + vname + '</div>'+vdeschtml+'<div class="versioninfos">' + data['fdateline'] + '</div>';
|
|
$('#version_0').find('div.unameMenu-upload').html(html);
|
|
}
|
|
obj.data('vid', data['vid']);
|
|
hideWindow('editfileversion');
|
|
} else {
|
|
layer.alert(data['error'], {skin:'lyear-skin-danger'});
|
|
}
|
|
}, 'json').fail(function (jqXHR, textStatus, errorThrown) {
|
|
showmessage('操作失败,请稍后再试: ' + textStatus, 'error', 3000, 1);
|
|
});
|
|
return false;
|
|
})
|
|
</script>
|
|
<!--{elseif $operation=='tag'}-->
|
|
<!--编辑标签-->
|
|
<form action="{MOD_URL}&op=ajax&operation=tag" method="post" onsubmit="save_tag(this);return false;">
|
|
<input type="hidden" name="rid" value="$rid"/>
|
|
<input type="hidden" name="addtag" value="1"/>
|
|
<div class="modal-header">
|
|
<h4 class="modal-title text-truncate">{lang edit_label}</h4>
|
|
<button type="button" class="btn-close" data-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="row mb-1">
|
|
<label class="col-sm-3">{lang add_label_return_car}</label>
|
|
<div class="col-sm-9">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control taginput_tag" name="tags" data-source="$tagstr" value="$tagval">
|
|
</div>
|
|
<span class="form-text">输入标签后需要按回车确认</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">{lang cancel}</button>
|
|
<button type="submit" class="btn btn-primary">{lang save}</button>
|
|
</div>
|
|
</form>
|
|
<script type="text/javascript" reload="1">
|
|
//标签input框
|
|
$(document).ready(function () {
|
|
$('.taginput_tag').tagsInput({
|
|
'height': '0px',
|
|
'width': '100%',
|
|
'interactive': true,
|
|
'defaultText': '',
|
|
'removeWithBackspace': true,
|
|
'minChars': 0,
|
|
'maxChars': 0,
|
|
'placeholderColor': '#666666',
|
|
'typeahead': {
|
|
source: $(this).data('source')
|
|
}
|
|
});
|
|
});
|
|
function save_tag(form) {
|
|
|
|
$.post(form.action, jQuery(form).serialize(), function (data) {
|
|
if (data['success']) {
|
|
var html = '';
|
|
for (var o in data['tagsadd']) {
|
|
html += '<span class="layui-badge-rim m-1" data-tid="' + data['tagsadd'][o]['tid'] + '" id="' + rid + '-' + data['tagsadd'][o]['tid'] + '">' + data['tagsadd'][o]['tagname'] + '</span>';
|
|
}
|
|
for (var o in data['tagsdel']) {
|
|
$('#' + rid + '-' + data['tagsdel'][o]['tid']).remove();
|
|
}
|
|
if ($('#taglist-' + rid).children('span').length < 1) {
|
|
$('#taglist-' + rid).html(html);
|
|
} else {
|
|
$('#taglist-' + rid).append(html);
|
|
}
|
|
|
|
hideWindow('$_GET[handlekey]');
|
|
} else {
|
|
layer.alert(data['error'], {skin:'lyear-skin-danger'});
|
|
}
|
|
}, 'json').fail(function (jqXHR, textStatus, errorThrown) {
|
|
showmessage('操作失败,请稍后再试: ' + textStatus, 'error', 3000, 1);
|
|
});
|
|
return false;
|
|
}
|
|
</script>
|
|
<!--{else}-->
|
|
<!--{if !isset($arr[error])}-->
|
|
<script type="text/javascript" reload="1">
|
|
closeModal('#exampleMultipleOne');
|
|
layer.alert('{$arr[error]}', {skin:'lyear-skin-danger'});
|
|
</script>
|
|
<!--{/if}-->
|
|
<!--{/if}-->
|
|
<!--{template common/footer_ajax}-->
|