|
Server : Apache System : Linux iZ6xhqomji47p1Z 5.10.134-15.al8.x86_64 #1 SMP Thu Jul 20 00:44:04 CST 2023 x86_64 User : www ( 1000) PHP Version : 8.1.30 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv Directory : /www/wwwroot/fsjlkj.cn/application/admin/template/media/ |
{include file="public/layout" /}
{eq name="$editor.editor_select" value="1"}
{load href="__PUBLIC__/plugins/Ueditor/ueditor.config.js" /}
{load href="__PUBLIC__/plugins/Ueditor/ueditor.all.min.js" /}
{load href="__PUBLIC__/plugins/Ueditor/lang/zh-cn/zh-cn.js" /}
{else/}
{load href="__PUBLIC__/plugins/ckeditor/ckeditor.js" /}
{/eq}
<body class="bodysy-w">
<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
<div id="append_parent"></div>
<div id="ajaxwaitid"></div>
<div id="geduan_div" class="h10"></div>
<div id="page_div" class="page min-hg-c mb-20" style="min-width:auto;box-shadow:none;">
<div class="fixed-bar">
<div class="item-title">
<a class="back_xin" href="javascript:history.back();" title="返回"><i class="iconfont e-fanhui"></i></a>
<a class="back_sz" href="javascript:void(0);" data-href="{:url('Media/help')}" onclick="openHelpframe(this, '设置与帮助', '500px', '100%', 'r');" title="设置与帮助"><i class="iconfont e-shezhi-tongyong"></i></a>
<div class="subject">
<h3>编辑文档</h3>
<h5></h5>
</div>
<ul class="tab-base nc-row">
<li><a href="javascript:void(0);" data-index='1' class="tab current"><span>基础内容</span></a></li>
<li><a href="javascript:void(0);" data-index='2' class="tab"><span>SEO优化</span></a></li>
<li><a href="javascript:void(0);" data-index='3' class="tab"><span>更多设置</span></a></li>
<!-- #weapp_demontrate_li# -->
</ul>
</div>
</div>
<form class="form-horizontal" id="post_form" action="{:url('Media/edit')}" method="post">
<!-- 常规信息 -->
<div class="ncap-form-default tab_div_1">
<dl class="row">
<dt class="tit">
<label for="title"><em>*</em>文档标题</label>
</dt>
<dd class="opt">
<input type="text" name="title" value="{$field.title}" id="title" class="input-txt" maxlength="200" {eq name="$channelRow.is_repeat_title" value="0"} oninput="check_title_repeat(this,'{$field.aid}');" {/eq}>
副标题:<input type="text" name="subtitle" value="{$field.subtitle}" id="subtitle" class="w200">
<span class="err"></span>
<p class="notic"></p>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label for="title"><em>*</em>栏目分类</label>
</dt>
<dd class="opt">
<input type="hidden" name="attr[typeid]" id="attr_typeid" value="{$field.typeid}">
<select name="typeid" id="typeid">
{$arctype_html}
</select>
<span class="err"></span>
</dd>
</dl>
{notempty name='$global.web_stypeid_open'}
<dl class="row">
<dt class="tit">
<label for="stypeid">副栏目分类</label>
</dt>
<dd class="opt">
<input type="hidden" name="stypeid" id="stypeid" value="{$field.stypeid}" class="input-txt" onkeyup="this.value=this.value.replace(/[^\d\,]/g,'');" onpaste="this.value=this.value.replace(/[^\d\,]/g,'');" placeholder="">
<a href="javascript:void(0);" data-channel="{$channeltype}" onclick="select_stypeid(this);" class="ncap-btn ncap-btn-green">选择副栏目</a>
<span class="err"></span>
<div id="stypeid_txt" class="pt5">
{volist name='$stypeid_arr' id='vo'}{gt name='$key' value='0'} | {/gt}<span>{$vo.typename}</span>{/volist}
</div>
</dd>
</dl>
{/notempty}
<dl class="row">
<dt class="tit">
<label>文档属性</label>
</dt>
<dd class="opt">
{volist name="archives_flags" id="vo"}
<input type="hidden" name="attr[{$vo.flag_fieldname}]" {if $field[$vo.flag_fieldname] == 1}value="1"{else/}value="0"{/if}>
<label><input type="checkbox" name="{$vo.flag_fieldname}" value="1" {if $field[$vo.flag_fieldname] == 1}checked{/if}>{$vo.flag_name}<!-- [{$vo.flag_attr}] --></label>
{/volist}
<span class="err"></span>
<p class="notic">如需管理,请点击右上角设置与帮助按钮</p>
</dd>
</dl>
<dl class="row {if condition="$field.is_jump != 1"}none{/if} dl_jump">
<dt class="tit">
<label>跳转网址</label>
</dt>
<dd class="opt">
<input type="text" value="{$field.jumplinks}" name="jumplinks" id="jumplinks" class="input-txt" placeholder="http://">
<span class="err"></span>
</dd>
</dl>
<dl class="row" style="z-index:2;">
<dt class="tit">
<label>文档标签</label>
</dt>
<dd class="opt">
<input type="text" value="{$field.tags}" name="tags" id="tags" class="input-txt" placeholder="多个标签之间以逗号隔开" autocomplete="off" oninput="get_common_tagindex_input(this);" onfocus="$('#often_tags').hide();" onkeyup="this.value=this.value.replace(/[\,]/g,',');" onpaste="this.value=this.value.replace(/[\,]/g,',')">
<a href="javascript:void(0);" onclick="get_common_tagindex(this);">显示常用标签</a> <img id="tag_loading" src="__STATIC__/common/images/loading.gif" style="display: none;" />
<div class="often_tags" id="often_tags" data-opt="edit" style="display: none;"></div>
<div class="often_tags" id="often_tags_input" style="display: none;"></div>
<input type="hidden" id="tags_click_count">
</dd>
</dl>
<dl class="row {empty name="$global.web_citysite_open"} none {/empty} ">
<dt class="tit">
<label for="title">所属区域</label>
</dt>
<dd class="opt">
<select name="province_id" id="province_id" onchange="set_city_list(0);">
<option value="0">全国</option>
{volist name=':get_site_province_list()' id='vo'}
<option value="{$vo.id}" {eq name="$field.province_id" value="$vo.id" } selected {/eq} >{$vo.name}</option>
{/volist}
</select>
<select name="city_id" id="city_id" class="none ml5" onchange="set_area_list(0);">
<option value="">--请选择--</option>
</select>
<select name="area_id" id="area_id" class="none ml5">
<option value="">--请选择--</option>
</select>
<span class="err"></span>
<p class="notic"></p>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label>封面图片</label>
</dt>
<dd class="opt">
<div class="input-file-show div_litpic_local" {neq name="$field.is_remote" value="0"}style="display: none;"{/neq}>
<span class="show">
<a id="img_a" target="_blank" class="nyroModal" rel="gal" href="{$field.litpic_local|default='javascript:void(0);'}">
<i id="img_i" class="fa fa-picture-o" {notempty name="$field.litpic_local"}onmouseover="layer_tips=layer.tips('<img src={$field.litpic_local} class=\'layer_tips_img\'>',this,{tips: [1, '#fff']});"{/notempty} onmouseout="layer.close(layer_tips);"></i>
</a>
</span>
<span class="type-file-box">
<input type="text" id="litpic_local" name="litpic_local" value="{$field.litpic_local|default=''}" class="type-file-text" autocomplete="off">
<input type="button" name="button" id="button1" value="选择上传..." class="type-file-button">
<input class="type-file-file" onClick="GetUploadify(1,'','allimg','img_call_back')" size="30" hidefocus="true" nc_type="change_site_logo"
title="点击前方预览图可查看大图,点击按钮选择文件并提交表单后上传生效">
</span>
</div>
<input type="text" id="litpic_remote" name="litpic_remote" value="{$field.litpic_remote|default=''}" placeholder="http://" class="input-txt" onKeyup="keyupRemote(this, 'litpic');" {neq name="$field.is_remote" value="1"}style="display: none;"{/neq}>
<label><input type="checkbox" name="is_remote" id="is_remote" value="1" {eq name="$field.is_remote" value="1"}checked="checked"{/eq} onClick="clickRemote(this, 'litpic');">远程图片</label>
<span class="err"></span>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label>付费限制</label>
</dt>
<dd class="opt">
<label class="curpoin"><input type="radio" name="restric_type" value="0" {empty name="$field.restric_type"} checked="checked" {/empty}>免费</label>
<label class="curpoin"><input type="radio" name="restric_type" value="1" {eq name="$field.restric_type" value="1"} checked="checked" {/eq}>付费</label>
<label class="curpoin"><input type="radio" name="restric_type" value="2" {eq name="$field.restric_type" value="2"} checked="checked" {/eq}>指定会员</label>
<label class="curpoin"><input type="radio" name="restric_type" value="3" {eq name="$field.restric_type" value="3"} checked="checked" {/eq}>会员付费</label>
</dd>
</dl>
<dl class="row {if condition='!in_array($field.restric_type, [2,3])'} none {/if}" id="dl_arc_level_id">
<dt class="tit">
<label><em>*</em>会员等级</label>
</dt>
<dd class="opt">
<select name="arc_level_id" id="arc_level_id">
{volist name="users_level" id="vo"}
<option value="{$vo.level_id}" level_value="{$vo.level_value}" {eq name='$vo.level_id' value='$field.arc_level_id'} selected {/eq}>{$vo.level_name}</option>
{/volist}
</select>
<label id="no_vip_pay_label" class="{neq name="$field.restric_type" value="2"} none {/neq}" ><input type="checkbox" name="no_vip_pay" id="no_vip_pay" value="1" {eq name="$field.no_vip_pay" value="1"}checked="checked"{/eq} onClick="clickNoVipPay(this);">开启非会员付费</label>
</dd>
</dl>
<dl class="row {if condition='in_array($field.restric_type, [0]) || ($field.restric_type == 2 && $field.no_vip_pay == 0) '} none {/if}" id="dl_users_price">
<dt class="tit">
<label for="users_price"><em>*</em>购买价格</label>
</dt>
<dd class="opt">
<input type="text" name="users_price" id="users_price" value="{$field.users_price}" class="input-txt" autocomplete="off" onkeyup="this.value=this.value.replace(/[^\d\.]/g,'');" onpaste="this.value=this.value.replace(/[^\d\.]/g,'')" style="width: 100px !important;text-align: right;"> 元
<span class="err"></span>
<p class="notic"></p>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label>视频上传</label>
</dt>
<dd class="opt">
<a href="javascript:void(0);" onclick="addUrlSys();" class="ncap-btn ncap-btn-green" id="a_add_url_sys">新增</a>
<a href="javascript:void(0);" onclick="batch_import_url();" class="ncap-btn ncap-btn-green">批量导入</a>
<a href="JavaScript:void(0);" id="label_tech" onclick="click_to_eyou_1575506523('https://www.eyoucms.com/plus/view.php?aid=9993&origin_eycms=1','视频模型的模板标签调用')" style="font-size: 12px;">标签教程</a>
<div id="url-box_sys" style="padding: 10px 0">
</div>
<span class="err"></span>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label>附件地址</label>
</dt>
<dd class="opt">
<input type="text" name="addonFieldExt[courseware]" value="{$field['addonFieldExt']['courseware']|default=''}" id="addonFieldExt_courseware" class="input-txt">
<input type="file" id="courseware_file" data-type='local' onchange="upload_file_courseware_1585641738(this)" style="display: none;">
{if isset($channelRow.data.qiniuyun_open) && $channelRow.data.qiniuyun_open == 1}
<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_addonFieldExt_courseware_qiniu" onclick="$('#courseware_file').attr('data-type','qiniu').trigger('click');">七牛云上传</a>
{/if}
{if isset($channelRow.data.oss_open) && $channelRow.data.oss_open == 1}
<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_addonFieldExt_courseware_oss" onclick="$('#courseware_file').attr('data-type','oss').trigger('click');">oss上传</a>
{/if}
{if isset($channelRow.data.cos_open) && $channelRow.data.cos_open == 1}
<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_addonFieldExt_courseware_cos" onclick="$('#courseware_file').attr('data-type', 'cos').trigger('click');">cos上传</a>
{/if}
<a href="javascript:void(0);" class="ncap-btn ncap-btn-green " id="upload_addonFieldExt_courseware_local" onclick="$('#courseware_file').attr('data-type','local').trigger('click');">本地上传</a>
<span class="err"></span>
</dd>
</dl>
{include file="archives/get_field_addonextitem" /}
</div>
<!-- 常规信息 -->
<!-- SEO参数 -->
<div class="ncap-form-default tab_div_2" style="display:none;">
<dl class="row">
<dt class="tit">
<label for="seo_title">SEO标题</label>
</dt>
<dd class="opt">
<input type="text" value="{$field.seo_title}" name="seo_title" id="seo_title" class="input-txt">
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label>SEO关键词</label>
</dt>
<dd class="opt">
<textarea rows="5" cols="60" id="seo_keywords" name="seo_keywords" style="height:20px;">{$field.seo_keywords}</textarea>
<span class="err"></span>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label>SEO描述</label>
</dt>
<dd class="opt">
<textarea rows="5" cols="60" id="seo_description" name="seo_description" style="height:130px;">{$field.seo_description}</textarea>
<p><label><input type="checkbox" name="basic_update_seo_description" value="1" {if condition="!empty($global['basic_update_seo_description'])"} checked="checked" {/if}>勾选后SEO描述将随正文内容更新</label></p>
<span class="err"></span>
</dd>
</dl>
</div>
<!-- SEO参数 -->
<!-- 其他参数 -->
<div class="ncap-form-default tab_div_3" style="display:none;">
<dl class="row">
<dt class="tit">
<label for="author">作者</label>
</dt>
<dd class="opt origin-hot">
<input type="hidden" value="{$field.users_id}" name="users_id" class="input-txt">
<input type="text" value="{$field.author}" name="author" id="author" class="input-txt">
</dd>
</dl>
<dl class="row dl_origin">
<dt class="tit">
<label>来源</label>
</dt>
<dd class="opt origin-hot">
<input type="text" value="{$field.origin}" name="origin" id="origin" class="input-txt" onclick="searchOrigin(this);" autocomplete="off">
<div class="origin-hot-list" style="display: none;" id="search_keywords_list_origin"></div>
<textarea id="system_originlist_str" style="display: none;">{$system_originlist_str}</textarea>
<span class="setting" onclick="set_originlist();">设置</span>
<span class="err"></span>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label>点击数</label>
</dt>
<dd class="opt">
<input type="text" value="{$field.click}" name="click" id="click" class="input-txt">
<span class="err"></span>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label>阅读权限</label>
</dt>
<dd class="opt">
<input type="hidden" value="{$field.arcrank}" name="old_arcrank" class="input-txt">
<select name="arcrank" id="arcrank" {if $field.arcrank < 0 && $admin_info.role_id > 0 && $auth_role_info.check_oneself < 1} disabled="disabled" {/if}>
{volist name="arcrank_list" id="vo"}
<option value="{$vo.rank}" {eq name="$vo.rank" value="$field.arcrank"}selected{/eq}>{$vo.name}</option>
{/volist}
</select>
<span class="err"></span>
</dd>
</dl>
<!-- #weapp_UsersGroup_content_users_id={$field.users_id}#--><!-- #weapp_UsersGroup_content# -->
<dl class="row">
<dt class="tit">
<label for="articleForm">发布时间</label>
</dt>
<dd class="opt">
<input type="text" class="input-txt" id="add_time" name="add_time" value="{$field.add_time|date='Y-m-d H:i:s',###}" autocomplete="off">
<span class="add-on input-group-addon">
<i class="glyphicon glyphicon-calendar fa fa-calendar"></i>
</span>
<span class="err"></span>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label for="tempview">文档模板</label>
</dt>
<dd class="opt">
<select name="tempview" id="tempview">
{volist name='$templateList' id='vo'}
<option value="{$vo}" {eq name='$vo' value='$tempview'}selected{/eq}>{$vo}</option>
{/volist}
</select>
<input type="hidden" name="type_tempview" value="{$tempview}" />
<span class="err"></span>
</dd>
</dl>
<dl class="row {notin name='$seo_pseudo' value='2,3'}no-grey{/notin}">
<dt class="tit">
<label>自定义文件名</label>
</dt>
<dd class="opt">
<input type="text" {notin name='$seo_pseudo' value='2,3'}readonly="readonly" title="动态模式下不支持自定义文档url"{/notin} value="{$field.htmlfilename}" name="htmlfilename" id="htmlfilename" autocomplete="off" onkeyup="this.value=this.value.replace(/[^\w\-]/g,'-');" onpaste="this.value=this.value.replace(/[^\w\-]/g,'-');" class="input-txt {notin name='$seo_pseudo' value='2,3'}no-drop{/notin}">.html
<span class="err"></span>
</dd>
</dl>
</div>
<!-- 其他参数 -->
<!-- #weapp_demontrate_div# -->
<div class="ncap-form-default">
<div class="bot2">
<input type="hidden" id="num">
<input type="hidden" name="gourl" value="{$gourl|default=''}">
<input type="hidden" name="aid" value="{$field.aid|default='0'}">
<textarea class="none" name="video" id="video" cols="30" rows="10"></textarea>
<textarea style="display: none;" id="video_group_list">{$video_group_list|default=""}</textarea>
<input type="hidden" id="editor_addonFieldExt" value="">
<a href="JavaScript:void(0);" onclick="check_submit();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a>
<a class="ncap-btn-big ncap-btn-no" href="javascript:history.back();" title="返回">返回</a>
</div>
</div>
</form>
</div>
<script type="text/javascript">
layui.use('laydate', function() {
var laydate = layui.laydate;
//常规用法
laydate.render({
elem: '#add_time'
,type: 'datetime'
});
})
$(function () {
try {
var web_citysite_open = {$global['web_citysite_open']|default=0};
if (web_citysite_open > 0) {
var province_id = {$field.province_id|default=0};
var city_id = {$field.city_id|default=0};
var area_id = {$field.area_id|default=0};
if (province_id > 0) {
set_city_list(city_id);
}
if (city_id > 0) {
set_area_list(area_id);
}
}
}catch(e){}
//选项卡切换列表
$('.tab-base').find('.tab').click(function(){
$('.tab-base').find('.tab').each(function(){
$(this).removeClass('current');
});
$(this).addClass('current');
var tab_index = $(this).data('index');
$(".tab_div_1, .tab_div_2, .tab_div_3").hide();
$(".tab_div_"+tab_index).show();
layer.closeAll();
});
$('input[name=is_jump]').click(function(){
if ($(this).is(':checked')) {
$('.dl_jump').show();
} else {
$('.dl_jump').hide();
}
});
var dftypeid = {$field.typeid|default='0'};
$('#typeid').change(function(){
var current_channel = $(this).find('option:selected').data('current_channel');
if (0 < $(this).val() && {$channeltype} != current_channel) {
showErrorMsg('请选择对应模型的栏目!');
$(this).val(dftypeid);
} else if ({$channeltype} == current_channel) {
layer.closeAll();
}
var aid = $("input[name=aid]").val();
GetAddonextitem(1, $(this).val(), {$channeltype}, aid, true);
});
var data = '{$video_file|default=""}';
var num = length = media_chapter_length = 0;
data = JSON.parse(data);
//如果开启分组并且数据不为空则隐藏原新增按钮
var is_open_videogroup = {$is_open_videogroup|default=0};
if (is_open_videogroup == 1) {
$("#label_tech").attr('onclick',"click_to_eyou_1575506523('https://www.eyoucms.com/plus/view.php?aid=28671&origin_eycms=1', '视频章节分组插件使用指南');");
// if (0 < data.length) {
// $('#a_add_url_sys').hide();
// }
}
$("#num").val(data.length);
if(data){
data.forEach(function(v){
num++;
if (is_open_videogroup == 1 && v.video_group_id) {
length = $("#url-box_sys .video_group_"+v.video_group_id).length;
if (length == 0){
media_chapter_length = $("#url-box_sys .media_chapter").length;
if (0 == media_chapter_length) {
$("#url-box_sys").append("<div class=\"media_chapter video_group_"+v.video_group_id+"\" data-group='"+v.video_group_id+"'><span class=\"chapter_name\">"+v.group_name+"</span><span class=\"fr\"><a class=\"mr20 curpoin\" onclick=\"addGroupUrlSys("+v.video_group_id+");\">新增</a><a class=\"curpoin show_and_hide_"+v.video_group_id+"\" onclick=\"showAndHide("+v.video_group_id+");\" data-status='1'>收缩</a></span></div>");
}else{
$("#url-box_sys").append("<div class=\"media_chapter video_group_"+v.video_group_id+"\" data-group='"+v.video_group_id+"'><span class=\"chapter_name\">"+v.group_name+"</span><span class=\"fr\"><a class=\"mr20 curpoin\" onclick=\"addGroupUrlSys("+v.video_group_id+");\">新增</a><a class=\"curpoin show_and_hide_"+v.video_group_id+"\" onclick=\"showAndHide("+v.video_group_id+");\" data-status='0'>展开</a></span></div>");
}
}
}
addUrlSys(num,v,media_chapter_length);
});
}
$(document).click(function(){
$('#often_tags').hide();
$('#often_tags_input').hide();
event.stopPropagation();
});
$('#often_tags').click(function(){
$('#often_tags').show();
event.stopPropagation();
});
$('input[name=restric_type]').click(function(){
$('#dl_arc_level_id').hide();
$('#dl_users_price').hide();
$('#no_vip_pay_label').hide();
var restric_type = $(this).val();
$('#arc_level_id').find('option:eq(0)').attr('selected',true);
if (-1 < $.inArray(restric_type, ['1','3'])) {
$('#dl_users_price').show();
}
if (-1 < $.inArray(restric_type, ['2','3'])) {
$('#dl_arc_level_id').show();
if (2 == restric_type) {
$('#no_vip_pay_label').show();
if ($('#no_vip_pay').is(':checked')){
$('#dl_users_price').show();
}
}
}
});
});
function showAndHide(group_id) {
var status = $(".show_and_hide_"+group_id).attr('data-status');
if (0 == status) {
//展开
$(".upload_box_group_"+group_id).show();
$(".show_and_hide_"+group_id).text('收缩');
$(".show_and_hide_"+group_id).attr('data-status',"1");
}else{
$(".upload_box_group_"+group_id).hide();
$(".show_and_hide_"+group_id).text('展开');
$(".show_and_hide_"+group_id).attr('data-status',"0");
}
}
// 判断输入框是否为空
function check_submit(){
urlToStr();
if($.trim($('input[name=title]').val()) == ''){
$($('.tab-base').find('.tab')[0]).trigger('click');
showErrorMsg('标题不能为空!');
$('input[name=title]').focus();
return false;
}
if ($('#typeid').val() == 0) {
$($('.tab-base').find('.tab')[0]).trigger('click');
showErrorMsg('请选择栏目…!');
$('#typeid').focus();
return false;
}
var restric_type = $('input[name=restric_type]:checked').val()
if ( restric_type == 1 || restric_type == 3 || (restric_type == 2 && $('#no_vip_pay').is(':checked'))){
var users_price = $('#users_price').val();
if (parseFloat(users_price).toString() == "NaN") {
users_price = 0;
}
if (0 == users_price || users_price == '') {
showErrorMsg('购买价格不能为空或0');
$('#users_price').focus();
return false;
} else {
var exp = /^(([1-9]\d*)|\d)(\.\d{1,2})?$/;
if (!exp.test(users_price)) {
showErrorMsg('购买价格格式不正确!');
$('#users_price').focus();
return false;
}
}
}
var htmlfilename = $.trim($('input[name=htmlfilename]').val());
if (htmlfilename != '') {
var exp = /^\d{1,}$/;
if (exp.test(htmlfilename)) {
showErrorAlert('自定义文件名不能纯数字,会与文档ID冲突!');
$('input[name=htmlfilename]').focus();
return false;
}
}
layer_loading('正在处理');
if(!ajax_check_htmlfilename())
{
layer.closeAll();
showErrorMsg('自定义文件名已存在!');
$('input[name=htmlfilename]').focus();
return false;
}
setTimeout(function (){
editor_auto_210607();
$('#post_form').submit();
}, 1);
}
function img_call_back(fileurl_tmp)
{
$("#litpic_local").val(fileurl_tmp);
$("#img_a").attr('href', fileurl_tmp);
$("#img_i").attr('onmouseover', "layer_tips=layer.tips('<img src="+fileurl_tmp+" class=\\'layer_tips_img\\'>',this,{tips: [1, '#fff']});");
$("input[name=is_litpic]").attr('checked', true); // 自动勾选属性[图片]
}
function addGroupUrlSys(group_id){
var is_show_qiniuyun = {$channelRow.data.qiniuyun_open|default=0};
var is_show_oss = {$channelRow.data.oss_open|default=0};
var is_show_cos = {$channelRow.data.cos_open|default=0};
//点击新增的时候展开
$(".upload_box_group_"+group_id).show();
$(".show_and_hide_"+group_id).text('收缩');
$(".show_and_hide_"+group_id).attr('data-status',"1");
$("#num").val();
var now_group_id = 0;
var obj = '';
var action = 'before';
$('#url-box_sys .media_chapter').each(function(){
if (now_group_id == group_id) {
obj = $(this);
action = 'before';
return false;
}else{
now_group_id = $(this).data('group');
obj = $(this);
action = 'append';
}
});
var num = $("#num").val();
if (!num){
num=0;
}
num++;
$("#num").val(num);
var html = "";
//upload_box_group_? 用来做展开收缩的
html += "<div id='num_upload_box_sys' class='media_del_1586481014_"+num+" upload_box_group_"+group_id+"' data-num='"+num+"' style='margin-bottom: 10px;'>\n" +
" <span> 链接地址:</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_url_sys_" + num + "\" style=\"width: 300px !important;\" >\n" +
" <span> 选集名称:</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_title_sys_" + num + "\" style=\"width: 150px !important;\">\n";
// 视频章节分组插件
var is_open_videogroup = {$is_open_videogroup|default=0};
if (is_open_videogroup == 1) {
html += " <span> 所在章节:</span>\n";
html += " <select class=\"video_group_id_sys\" id=\"video_group_id_sys_"+num+"\">\n";
html += " <option value=\"0\">--请选择--</option>\n";
var video_group_str = $('#video_group_list').val();
if (video_group_str != '') {
var video_group_list = jQuery.parseJSON(video_group_str);
var selected = "";
$.each(video_group_list, function(index, item){
if (group_id == item.group_id) {
selected = 'selected';
}else{
selected = '';
}
html += " <option value=\""+item.group_id+"\" "+selected+">"+item.group_name+"</option>\n";
});
}
html += " </select>\n";
}
html += " <span> 时长(秒):</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_time_sys_" + num + "\" style=\"width: 50px !important;\">\n" +
" <span> 排序:</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_sort_order_"+num+"\" value=\"100\" style=\"width: 50px !important;\">\n" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_size_sys_"+num+"\">" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_mime_sys_"+num+"\">" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_name_sys_"+num+"\">" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_file_id_"+num+"\">" +
" <input type=\"file\" class=\"input-txt\" id=\"qiniu_click_sys_"+num+"\" onchange=\"QiniuUpload('"+num+"');\" style=\"display: none;\">\n"+
" <input type=\"file\" class=\"input-txt\" id=\"oss_click_sys_"+num+"\" onchange=\"OssUpload('"+num+"');\" style=\"display: none;\">\n"+
" <input type=\"file\" class=\"input-txt\" id=\"cos_click_sys_"+num+"\" onchange=\"CosUpload('"+num+"');\" style=\"display: none;\">\n";
if (is_show_qiniuyun == 1) {
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"qiniu_upload_video_sys_" + num + "\" onclick=\"click_qiniu_sys('" + num + "')\">七牛云上传</a>\n";
}
if (is_show_oss == 1) {
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"oss_upload_video_sys_" + num + "\" onclick=\"click_oss_sys('" + num + "')\">oss上传</a>\n";
}
if (is_show_cos == 1) {
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"cos_upload_video_sys_" + num + "\" onclick=\"click_cos_sys('" + num + "')\">cos上传</a>\n";
}
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"upload_video_sys_" + num + "\" data-num='" + num + "'>本地上传</a>\n" +
" <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" onclick=\"media_del('"+num+"')\">删除</a>\n" +
" <label onselectstart='return false'><input type='checkbox' id='video_gratis_sys_"+num+"' value='1'>试看</label>" +
" </div>";
if ('before' == action) {
obj.before(html);
}else{
$('#url-box_sys').append(html);
}
layui.use('upload', function(){
var upload = layui.upload;
var xhrOnProgress=function(fun) {
xhrOnProgress.onprogress = fun;
return function() {
var xhr = $.ajaxSettings.xhr();
if (typeof xhrOnProgress.onprogress !== 'function') {
return xhr;
}
if (xhrOnProgress.onprogress && xhr.upload) {
xhr.upload.onprogress = xhrOnProgress.onprogress;
}
return xhr;
}
};
upload.render({
elem: "#upload_video_sys_"+num
,url: "{:url('Ueditor/upVideo', ['savepath'=>'media'])}"
,accept: 'video' //视频
,exts: '{$media_type}'
,size: {$upload_max_filesize} //限制文件大小,单位 KB
,before: function(obj){
$("#upload_video_sys_"+num).text('等待中...');
}
,xhr:xhrOnProgress
,progress: function(percent) {
$("#upload_video_sys_"+num).text('上传中...'+percent+'%');
}
,done: function(res){
if ("SUCCESS" == res.state) {
var n = $(this.item).attr('data-num');
$("#video_url_sys_"+n).val(res.url);
$("#video_time_sys_"+n).val(res.time);
$("#video_size_sys_"+n).val(res.size);
$("#video_mime_sys_"+n).val(res.mime);
$("#video_name_sys_"+n).val(res.title);
$("#upload_video_sys_"+num).text('上传成功');
setTimeout(function(){
$('#upload_video_sys_'+num).text('本地上传');
}, 2000 );
}else {
$("#upload_video_sys_"+num).text('上传失败');
setTimeout(function(){
$('#upload_video_sys_'+num).text('本地上传');
}, 2000 );
layer.msg(res.state,{icon: 2});
}
}
,error: function(){
// layer.close(load); //关闭loading
}
});
});
}
function addUrlSys(n,v,l){
var is_show_qiniuyun = {$channelRow.data.qiniuyun_open|default=0};
var is_show_oss = {$channelRow.data.oss_open|default=0};
var is_show_cos = {$channelRow.data.cos_open|default=0};
if (n){
var num = n;
var html = "";
var is_open_videogroup = {$is_open_videogroup|default=0};
var class_none = '';
//默认展开第一条
if (0 < v.video_group_id && is_open_videogroup == 1 && 0 < l){
class_none = 'none';
}
html += "<div id=\"num_upload_box_sys\" class='"+class_none+" media_del_1586481014_"+num+" upload_box_group_"+v.video_group_id+"' data-num='"+num+"' style='margin-bottom: 10px;'>\n" +
" <span> 链接地址:</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_url_sys_"+num+"\" value=\""+v.file_url+"\" style=\"width: 300px !important;\" >\n" +
" <span> 选集名称:</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_title_sys_"+num+"\" value=\""+v.file_title+"\" style=\"width: 150px !important;\">\n";
// 视频章节分组插件
if (is_open_videogroup == 1) {
html += " <span> 所在章节:</span>\n";
html += " <select class=\"video_group_id_sys\" id=\"video_group_id_sys_"+num+"\">\n";
html += " <option value=\"0\">--请选择--</option>\n";
var video_group_str = $('#video_group_list').val();
if (video_group_str != '') {
var video_group_list = jQuery.parseJSON(video_group_str);
$.each(video_group_list, function(index, item){
html += " <option value=\""+item.group_id+"\" ";
if (item.group_id == v.video_group_id) {
html += " selected=\"true\" ";
}
html += " >"+item.group_name+"</option>\n";
});
}
html += " </select>\n";
}
html += " <span> 时长(秒):</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_time_sys_"+num+"\" value=\""+v.file_time+"\" style=\"width: 50px !important;\">\n" +
" <span> 排序:</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_sort_order_"+num+"\" value=\""+v.sort_order+"\" style=\"width: 50px !important;\">\n" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_size_sys_"+num+"\" value=\""+v.file_size+"\">" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_mime_sys_"+num+"\" value=\""+v.file_mime+"\">" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_name_sys_"+num+"\" value=\""+v.file_name+"\">" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_file_id_"+num+"\" value=\""+v.file_id+"\">" +
" <input type=\"file\" class=\"input-txt\" id=\"qiniu_click_sys_"+num+"\" onchange=\"QiniuUpload('"+num+"');\" style=\"display: none;\">\n"+
" <input type=\"file\" class=\"input-txt\" id=\"oss_click_sys_"+num+"\" onchange=\"OssUpload('"+num+"');\" style=\"display: none;\">\n"+
" <input type=\"file\" class=\"input-txt\" id=\"cos_click_sys_"+num+"\" onchange=\"CosUpload('"+num+"');\" style=\"display: none;\">\n";
if (is_show_qiniuyun == 1) {
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"qiniu_upload_video_sys_"+num+"\" onclick=\"click_qiniu_sys('"+num+"')\">七牛云上传</a>\n";
}
if (is_show_oss == 1) {
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"oss_upload_video_sys_"+num+"\" onclick=\"click_oss_sys('"+num+"')\">oss上传</a>\n";
}
if (is_show_cos == 1) {
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"cos_upload_video_sys_"+num+"\" onclick=\"click_cos_sys('"+num+"');\">cos上传</a>\n";
}
var IsGratis = 1 == v.gratis ? 'checked' : '';
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"upload_video_sys_"+num+"\" data-num='"+num+"'>本地上传</a>\n" +
" <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" onclick=\"media_del('"+num+"')\">删除</a>\n" +
" <label onselectstart='return false'><input type='checkbox' id='video_gratis_sys_"+num+"' value='1' "+IsGratis+">试看</label>" +
" </div>";
$('#url-box_sys').append(html);
} else {
var num = $("#num").val();
if (!num){
num=0;
}
num++;
$("#num").val(num);
var html = "";
html += "<div id=\"num_upload_box_sys\" class='media_del_1586481014_"+num+"' data-num='"+num+"' style='margin-bottom: 10px;'>\n" +
" <span> 链接地址:</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_url_sys_" + num + "\" style=\"width: 300px !important;\" >\n" +
" <span> 选集名称:</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_title_sys_" + num + "\" style=\"width: 150px !important;\">\n";
// 视频章节分组插件
var is_open_videogroup = {$is_open_videogroup|default=0};
if (is_open_videogroup == 1) {
html += " <span> 所在章节:</span>\n";
html += " <select class=\"video_group_id_sys\" id=\"video_group_id_sys_"+num+"\">\n";
html += " <option value=\"0\">--请选择--</option>\n";
var video_group_str = $('#video_group_list').val();
if (video_group_str != '') {
var video_group_list = jQuery.parseJSON(video_group_str);
$.each(video_group_list, function(index, item){
html += " <option value=\""+item.group_id+"\">"+item.group_name+"</option>\n";
});
}
html += " </select>\n";
}
html += " <span> 时长(秒):</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_time_sys_" + num + "\" style=\"width: 50px !important;\">\n" +
" <span> 排序:</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_sort_order_"+num+"\" value=\"100\" style=\"width: 50px !important;\">\n" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_size_sys_"+num+"\">" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_mime_sys_"+num+"\">" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_name_sys_"+num+"\">" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_file_id_"+num+"\">" +
" <input type=\"file\" class=\"input-txt\" id=\"qiniu_click_sys_"+num+"\" onchange=\"QiniuUpload('"+num+"');\" style=\"display: none;\">\n"+
" <input type=\"file\" class=\"input-txt\" id=\"oss_click_sys_"+num+"\" onchange=\"OssUpload('"+num+"');\" style=\"display: none;\">\n"+
" <input type=\"file\" class=\"input-txt\" id=\"cos_click_sys_"+num+"\" onchange=\"CosUpload('"+num+"');\" style=\"display: none;\">\n";
if (is_show_qiniuyun == 1) {
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"qiniu_upload_video_sys_" + num + "\" onclick=\"click_qiniu_sys('" + num + "')\">七牛云上传</a>\n";
}
if (is_show_oss == 1) {
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"oss_upload_video_sys_" + num + "\" onclick=\"click_oss_sys('" + num + "')\">oss上传</a>\n";
}
if (is_show_cos == 1) {
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"cos_upload_video_sys_" + num + "\" onclick=\"click_cos_sys('" + num + "')\">cos上传</a>\n";
}
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"upload_video_sys_" + num + "\" data-num='" + num + "'>本地上传</a>\n" +
" <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" onclick=\"media_del('"+num+"')\">删除</a>\n" +
" <label onselectstart='return false'><input type='checkbox' id='video_gratis_sys_"+num+"' value='1'>试看</label>" +
" </div>";
if (is_open_videogroup == 1) {
$('#url-box_sys').prepend(html);
}else{
$('#url-box_sys').append(html);
}
}
layui.use('upload', function(){
var upload = layui.upload;
var xhrOnProgress=function(fun) {
xhrOnProgress.onprogress = fun;
return function() {
var xhr = $.ajaxSettings.xhr();
if (typeof xhrOnProgress.onprogress !== 'function') {
return xhr;
}
if (xhrOnProgress.onprogress && xhr.upload) {
xhr.upload.onprogress = xhrOnProgress.onprogress;
}
return xhr;
}
};
upload.render({
elem: "#upload_video_sys_"+num
,url: "{:url('Ueditor/upVideo', ['savepath'=>'media'])}"
,accept: 'video' //视频
,exts: '{$media_type}'
,size: {$upload_max_filesize} //限制文件大小,单位 KB
,before: function(obj){
$("#upload_video_sys_"+num).text('等待中...');
}
,xhr:xhrOnProgress
,progress: function(percent) {
$("#upload_video_sys_"+num).text('上传中...'+percent+'%');
}
,done: function(res){
if ("SUCCESS" == res.state) {
var n = $(this.item).attr('data-num');
$("#video_url_sys_"+n).val(res.url);
$("#video_time_sys_"+n).val(res.time);
$("#video_size_sys_"+n).val(res.size);
$("#video_mime_sys_"+n).val(res.mime);
$("#video_name_sys_"+n).val(res.title);
$("#upload_video_sys_"+num).text('上传成功');
setTimeout(function(){
$('#upload_video_sys_'+num).text('本地上传');
}, 2000 );
}else {
$("#upload_video_sys_"+num).text('上传失败');
setTimeout(function(){
$('#upload_video_sys_'+num).text('本地上传');
}, 2000 );
layer.msg(res.state,{icon: 2});
}
}
,error: function(){
// layer.close(load); //关闭loading
}
});
});
}
function media_del(num) {
$(".media_del_1586481014_"+num).remove();
}
function click_qiniu_sys(num)
{
$("#qiniu_click_sys_"+num).trigger("click");
}
function QiniuUpload(num)
{
var file = $("#qiniu_click_sys_"+num)[0].files[0];
var fileName = file.name;
var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
var ext = judgeExt(fileExt);
if (ext==-1) {
showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
return false;
}
var size = "{$upload_max_filesize}";
if (file.size > size) {
showErrorMsg('视频大小超过限制,可在附件设置中修改');
return false;
}
$.ajax({
type: 'POST',
url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
data: {_ajax:1},
dataType: "JSON",
success: function(res1){
if (1 == res1.code){
var token = res1.data.token;
var formData = new FormData();
formData.append('file', file);
formData.append('token', token);
fileName = res1.data.filePath + fileExt;
formData.append('key', fileName);
$.ajax({
url: res1.data.uphost,
type: 'POST',
dataType: 'JSON',
data: formData,
timeout: 1200000,
cache: false,
processData: false,
contentType: false,
xhr: function () {
myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) {
myXhr.upload.addEventListener('progress', function(e){
var curr = e.loaded;
var total = e.total;
var process = parseInt(curr / total * 100);
$("#qiniu_upload_video_sys_"+num).text('上传中...'+process+"%");
});
}
return myXhr;
},
success: function(res2){
$("#qiniu_upload_video_sys_"+num).text('上传成功');
var video_url = res1.data.domain+"/"+res2.key;
$("#video_url_sys_"+num).val(video_url);
$("#video_mime_sys_"+num).val('');
$("#video_name_sys_"+num).val(res2.key);
setTimeout(function(){
$('#qiniu_upload_video_sys_'+num).text('七牛云上传');
}, 2000 )
var rx=/^https?:\/\//i;
if (!rx.test(video_url)) {
video_url = 'http:'+video_url;
}
$.ajax({
type: 'GET',
url: video_url+"?avinfo",
data: {},
dataType: "JSON",
success: function (res3) {
$("#video_time_sys_"+num).val(parseInt(res3.format.duration));
$("#video_size_sys_"+num).val(res3.format.size);
}
})
},
error: function(e){
showErrorMsg(e.responseText);
return false;
}
});
}else{
$("#qiniu_click_sys_"+num).val('');
if (res1.data.code == -1) {
showErrorMsg(res1.msg);
} else if (res1.data.code == -2) {
layer.alert(res1.msg, {icon: 5, title: false, btn:['启用']}, function(index){
layer.close(index);
layer_loading('正在启用');
$.ajax({
type: 'POST',
url: "{:url('Index/changeTableVal')}",
data: {table:'weapp', id_name:'id', id_value:res1.data.id, field:'status', value:1, _ajax:1},
dataType: "JSON",
success: function (res) {
layer.closeAll();
if (res.code == 1) {
layer.msg(res.msg, {icon: 1, time:1000});
} else {
showErrorMsg(res.msg);
}
}
})
});
} else if (res1.data.code == -3) {
layer.confirm(res1.msg, {
icon: 5,
title: false,
btn: ['立即配置']
}, function () {
layer.closeAll();
//iframe窗
layer.open({
type: 2,
title: false,
fixed: true,
shadeClose: false,
shade: layer_shade,
maxmin: false,
area: ['80%', '80%'],
content: "{:weapp_url('Qiniuyun/Qiniuyun/index')}"
});
}, function (index) {
layer.closeAll();
});
} else {
showErrorMsg(res1.msg);
}
}
},
error: function(e){
$("#qiniu_click_sys_"+num).val('');
showErrorMsg(e.responseText);
}
});
}
function click_oss_sys(num)
{
$("#oss_click_sys_"+num).trigger("click");
}
function OssUpload(num)
{
var file = $("#oss_click_sys_"+num)[0].files[0]; //获取文件路径名
//获取视频时长start
var url = URL.createObjectURL(file);
var oVideo = document.createElement('video');
var duration = 0;
oVideo.setAttribute('src',url);
oVideo.oncanplay = ()=>{
duration = parseInt(oVideo.duration);
}
//获取视频时长end
var fileName = file.name;
var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
var ext = judgeExt(fileExt);
if (ext==-1) {
showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
return false;
}
var size = "{$upload_max_filesize}";
if (file.size > size) {
showErrorMsg('视频大小超过限制,可在附件设置中修改');
return false;
}
$.ajax({
type: 'POST',
url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
data: {_ajax:1},
dataType: "JSON",
success: function(res1){
if (1 == res1.code){
fileName = res1.data.filePath + fileExt;
//组装发送数据
var request = new FormData();
request.append("OSSAccessKeyId",res1.data.accessid);//Bucket 拥有者的Access Key Id。
request.append("policy",res1.data.policy);//policy规定了请求的表单域的合法性
request.append("Signature",res1.data.signature);//根据Access Key Secret和policy计算的签名信息,OSS验证该签名信息从而验证该Post请求的合法性
request.append("key",fileName);//文件名字,可设置路径
request.append("success_action_status",201);// 让服务端返回200,不然,默认会返回204
request.append('file', file);//需要上传的文件 file
$.ajax({
url : res1.data.host, //上传阿里地址
data : request,
processData: false,
cache: false,
contentType: false,
dataType: 'xml',
type : 'post',
xhr: function () {
myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) {
myXhr.upload.addEventListener('progress', function(e){
var curr = e.loaded;
var total = e.total;
var process = parseInt(curr / total * 100);
$("#oss_upload_video_sys_"+num).text('上传中...'+process+"%");
});
}
return myXhr;
},
success : function(data) {
var res = $(data).find('PostResponse');
if (res) {
var key = res.find('Key').text();
$("#oss_upload_video_sys_"+num).text('上传成功');
setTimeout(function(){
$('#oss_upload_video_sys_'+num).text('oss上传');
}, 2000 )
var video_url = res1.data.domain+"/"+key;
$("#video_url_sys_"+num).val(video_url);
$("#video_mime_sys_"+num).val('');
$("#video_name_sys_"+num).val(key);
$("#video_time_sys_"+num).val(duration);
$("#video_size_sys_"+num).val(file.size);
}else{
$("#oss_upload_video_sys_"+num).text('上传失败');
setTimeout(function(){
$('#oss_upload_video_sys_'+num).text('oss上传');
}, 2000 )
}
},
error : function(e) {
console.log(e.responseText);
}
});
}else{
$("#oss_click_sys_"+num).val('');
showErrorMsg(res1.msg);
}
},
error: function(e){
$("#oss_click_sys_"+num).val('');
showErrorMsg(e.responseText);
}
});
}
// 课件地址上传
function upload_file_courseware_1585641738(e){
var data_type = $(e).attr('data-type');
if ('qiniu' == data_type) {
upload_addonFieldExt_courseware_qiniu(e); // 七牛云上传
} else if ('oss' == data_type) {
upload_addonFieldExt_courseware_oss(e); // OSS上传
} else if ('cos' == data_type) {
upload_addonFieldExt_courseware_cos(e); // COS上传
} else {
var file = $(e)[0].files[0];
if (!file) {
return false;
}
var formData = new FormData();
formData.append('file',file);
$.ajax({
type: 'post',
url: "{:url('Ueditor/DownloadUploadFileAjax')}",
data: formData,
contentType: false,
processData: false,
dataType: 'json',
xhr: function () {
myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) {
myXhr.upload.addEventListener('progress', function(e){
var curr = e.loaded;
var total = e.total;
var process = parseInt(curr / total * 100);
$("#upload_addonFieldExt_courseware_local").html('上传中...'+process+"%");
});
}
return myXhr;
},
success: function (res) {
$("#upload_addonFieldExt_courseware_local").html('上传成功');
setTimeout(function(){
$('#upload_addonFieldExt_courseware_local').html('本地上传');
}, 2000 );
if (res.code==0){
showErrorMsg(res.msg);
}else {
$("#addonFieldExt_courseware").val(res.file_url);
}
}
})
}
}
function upload_addonFieldExt_courseware_qiniu(obj)
{
var file = $("#courseware_file")[0].files[0];
var fileName = file.name;
var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
var ext = judgeExt(fileExt,1);
if (ext==-1) {
showErrorMsg('不支持选中的文件格式,可在附件设置中修改');
return false;
}
var size = "{$upload_max_filesize}";
if (file.size > size) {
showErrorMsg('文件大小超过限制,可在附件设置中修改');
return false;
}
$.ajax({
type: 'POST',
url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
data: {_ajax:1},
dataType: "JSON",
success: function(res1){
if (1 == res1.code){
var token = res1.data.token;
var formData = new FormData();
formData.append('file', file);
formData.append('token', token);
fileName = res1.data.filePath + fileExt;
formData.append('key', fileName);
$.ajax({
url: res1.data.uphost,
type: 'POST',
dataType: 'JSON',
data: formData,
timeout: 1200000,
cache: false,
processData: false,
contentType: false,
xhr: function () {
myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) {
myXhr.upload.addEventListener('progress', function(e){
var curr = e.loaded;
var total = e.total;
var process = parseInt(curr / total * 100);
$("#upload_addonFieldExt_courseware_qiniu").html('上传中...'+process+"%");
});
}
return myXhr;
},
success: function(res2){
$("#upload_addonFieldExt_courseware_qiniu").html('上传成功');
setTimeout(function(){
$('#upload_addonFieldExt_courseware_qiniu').html('七牛云上传');
}, 2000 );
var video_url = res1.data.domain+"/"+res2.key;
$("#addonFieldExt_courseware").val(video_url);
},
error: function(e){
showErrorMsg(e.responseText);
return false;
}
});
}else{
$("#courseware_file").val('');
showErrorMsg(res1.msg);
}
},
error: function(e){
$("#courseware_file").val('');
showErrorMsg(e.responseText);
}
});
}
function upload_addonFieldExt_courseware_oss(obj)
{
var file = $("#courseware_file")[0].files[0];
var fileName = file.name;
var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
var ext = judgeExt(fileExt,1);
if (ext==-1) {
showErrorMsg('不支持选中的文件格式,可在附件设置中修改');
return false;
}
var size = "{$upload_max_filesize}";
if (file.size > size) {
showErrorMsg('文件大小超过限制,可在附件设置中修改');
return false;
}
$.ajax({
type: 'POST',
url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
data: {_ajax:1},
dataType: "JSON",
success: function(res1){
if (1 == res1.code){
fileName = res1.data.filePath + fileExt;
//组装发送数据
var request = new FormData();
request.append("OSSAccessKeyId",res1.data.accessid);//Bucket 拥有者的Access Key Id。
request.append("policy",res1.data.policy);//policy规定了请求的表单域的合法性
request.append("Signature",res1.data.signature);//根据Access Key Secret和policy计算的签名信息,OSS验证该签名信息从而验证该Post请求的合法性
request.append("key",fileName);//文件名字,可设置路径
request.append("success_action_status",201);// 让服务端返回200,不然,默认会返回204
request.append('file', file);//需要上传的文件 file
$.ajax({
url : res1.data.host,
data : request,
processData: false,
cache: false,
contentType: false,
dataType: 'xml',
type : 'post',
xhr: function () {
myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) {
myXhr.upload.addEventListener('progress', function(e){
var curr = e.loaded;
var total = e.total;
var process = parseInt(curr / total * 100);
$("#upload_addonFieldExt_courseware_oss").html('上传中...'+process+"%");
});
}
return myXhr;
},
success: function(res2){
var res = $(res2).find('PostResponse');
if (res) {
var key = res.find('Key').text();
$("#upload_addonFieldExt_courseware_oss").html('上传成功');
setTimeout(function(){
$('#upload_addonFieldExt_courseware_oss').html('oss上传');
}, 2000 );
var video_url = res1.data.domain+"/"+key;
$("#addonFieldExt_courseware").val(video_url);
}else{
$("#upload_addonFieldExt_courseware_oss").html('上传失败');
setTimeout(function(){
$('#upload_addonFieldExt_courseware_oss').html('oss上传');
}, 2000 );
}
},
error: function(e){
showErrorMsg(e.responseText);
return false;
}
});
}else{
$("#courseware_file").val('');
showErrorMsg(res1.msg);
}
},
error: function(e){
$("#courseware_file").val('');
showErrorMsg(e.responseText);
}
});
}
function judgeExt(ext,i) {
var type = '';
if (i==1){
type = "{$file_type}";
}else{
type = "{$media_type}";
}
var extArr = [];
extArr = type.split("|");
var ext = ext.replace(".","");
return extArr.indexOf(ext);
}
//腾讯云COS上传代码-陈风任2021-02-03
function click_cos_sys(num) {
$("#cos_click_sys_"+num).trigger("click");
}
// 上传视频
function CosUpload(num) {
// 获取文件路径名
var file = $("#cos_click_sys_"+num)[0].files[0];
// 获取视频时长start
var url = URL.createObjectURL(file);
var oVideo = document.createElement('video');
var duration = 0;
oVideo.setAttribute('src', url);
oVideo.oncanplay = ()=>{
duration = parseInt(oVideo.duration);
}
var fileName = file.name;
var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
var ext = judgeExt(fileExt);
if (ext == -1) {
showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
return false;
}
var size = "{$upload_max_filesize}";
if (file.size > size) {
showErrorMsg('视频大小超过限制,可在附件设置中修改');
return false;
}
var formData = new FormData();
formData.append('file', file);
formData.append('file_ext', fileExt);
$.ajax({
type: 'post',
url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&_ajax=1',
data: formData,
contentType: false,
processData: false,
dataType: 'json',
xhr: function () {
myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) {
myXhr.upload.addEventListener('progress', function(e){
var curr = e.loaded;
var total = e.total;
process = parseInt(curr / total * 100);
if (100 == process) {
process = 99;
layer_loading('上传腾讯云');
}
$("#cos_upload_video_sys_"+num).text('上传中...'+process+"%");
});
}
return myXhr;
},
success: function(res) {
layer.closeAll();
if (1 == res.code) {
$("#video_url_sys_" + num).val(res.data.url);
$("#video_title_sys_" + num).val(res.data.name);
$("#video_time_sys_" + num).val(duration);
$("#video_size_sys_" + num).val(res.data.size);
$("#cos_upload_video_sys_"+num).text('上传成功');
} else {
$("#cos_upload_video_sys_"+num).text('上传失败');
}
setTimeout(function(){
$('#cos_upload_video_sys_'+num).text('cos上传');
}, 2000);
},
error: function(e){
layer.closeAll();
$("#cos_click_sys_"+num).val('');
showErrorMsg(e.responseText);
}
});
}
// 上传附件
function upload_addonFieldExt_courseware_cos() {
var file = $("#courseware_file")[0].files[0];
var fileName = file.name;
var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
var ext = judgeExt(fileExt,1);
if (ext == -1) {
showErrorMsg('不支持选中的文件格式,可在附件设置中修改');
return false;
}
var size = "{$upload_max_filesize}";
if (file.size > size) {
showErrorMsg('文件大小超过限制,可在附件设置中修改');
return false;
}
var formData = new FormData();
formData.append('file', file);
formData.append('file_ext', fileExt);
$.ajax({
type: 'post',
url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&up_type=1&_ajax=1',
data: formData,
contentType: false,
processData: false,
dataType: 'json',
xhr: function () {
myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) {
myXhr.upload.addEventListener('progress', function(e){
var curr = e.loaded;
var total = e.total;
var process = parseInt(curr / total * 100);
if (100 == process) {
process = 99;
layer_loading('上传腾讯云');
}
$("#upload_addonFieldExt_courseware_cos").html('上传中...'+process+"%");
});
}
return myXhr;
},
success: function(res) {
layer.closeAll();
if (1 == res.code) {
$("#upload_addonFieldExt_courseware_cos").html('上传成功');
$("#addonFieldExt_courseware").val(res.data.url);
} else {
$("#upload_addonFieldExt_courseware_cos").html('上传失败');
}
setTimeout(function() {
$('#upload_addonFieldExt_courseware_cos').html('oss上传');
}, 2000);
},
error: function(e){
layer.closeAll();
$("#courseware_file").val('');
showErrorMsg(e.responseText);
}
});
}
/* END */
//批量导入视频信息
function batch_import_url() {
layer.prompt({
formType: 2,
shade: layer_shade,
value: '参考格式:链接地址$选集名称$时长(秒)$试看(是/否)\r\n示例如下:\r\nhttp://www.xxx.com/1.mp4$名称1$30$是\r\nhttp://www.xxx.com/2.mp4$名称2$50$否',
title: '批量导入视频链接',
area: ['800px', '250px'] //自定义文本域宽高
,id: 'ey_batch_links'
,maxlength: 60000
,success: function(layero, index){
$("#ey_batch_links").find('textarea').attr('placeholder', '参考格式:链接地址$选集名称$时长(秒)$试看(是/否)\r\n示例如下:\r\nhttp://www.xxx.com/1.mp4$名称1$30$是\r\nhttp://www.xxx.com/2.mp4$名称2$50$否');
}
}, function(value, index, elem){
let code = value.split(/[(\r\n)\r\n]+/); // 根据换行或者回车进行识别
code.forEach((item, index) => { // 删除空项
if (!item) {
code.splice(index, 1);
}else{
code[index] = item.split('$');
}
})
code = Array.from(new Set(code)); // 去重
code.forEach((item, index) => { // 删除空项
addImportUrlSys(item[0],item[1],item[2],item[3]);
})
layer.close(index);
});
}
function addImportUrlSys(url,name,time,gratis){
// var first = $('#url-box_sys #num_upload_box_sys:first-child').attr('data-num');
// if('' == $('#video_url_sys_'+first).val()){
// $('#url-box_sys div:first-child').remove();
// }
if ('undefined' == name || !name) {
name = '';
}
if ('undefined' == time || !time) {
time = '';
}
if ('是' == gratis){
gratis = 'checked';
}else{
gratis = '';
}
var is_show_qiniuyun = {$channelRow.data.qiniuyun_open|default=0};
var is_show_oss = {$channelRow.data.oss_open|default=0};
var is_show_cos = {$channelRow.data.cos_open|default=0};
// var num = $("div [id=num_upload_box_sys]").last().attr("data-num");
var num = $("#num").val();
if (!num){
num=0;
}
num++;
$("#num").val(num);
var html = "";
html += "<div id=\"num_upload_box_sys\" class='media_del_1586481014_"+num+"' data-num='"+num+"' style='margin-bottom: 10px;'>\n" +
" <span> 链接地址:</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_url_sys_"+num+"\" value='"+url+"' style=\"width: 300px !important;\" >\n" +
" <span> 选集名称:</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_title_sys_"+num+"\" value='"+name+"' style=\"width: 150px !important;\">\n";
// 视频章节分组插件
var is_open_videogroup = {$is_open_videogroup|default=0};
if (is_open_videogroup == 1) {
html += " <span> 所在章节:</span>\n";
html += " <select class=\"video_group_id_sys\" id=\"video_group_id_sys_"+num+"\">\n";
html += " <option value=\"0\">--请选择--</option>\n";
var video_group_str = $('#video_group_list').val();
if (video_group_str != '') {
var video_group_list = jQuery.parseJSON(video_group_str);
$.each(video_group_list, function(index, item){
html += " <option value=\""+item.group_id+"\" ";
html += " >"+item.group_name+"</option>\n";
});
}
html += " </select>\n";
}
html += " <span> 时长(秒):</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_time_sys_"+num+"\" value='"+time+"' style=\"width: 50px !important;\">\n" +
" <span> 排序:</span>\n" +
" <input type=\"text\" class=\"input-txt\" id=\"video_sort_order_"+num+"\" value='100' style=\"width: 50px !important;\">\n" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_size_sys_"+num+"\">" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_mime_sys_"+num+"\">" +
" <input type=\"hidden\" class=\"input-txt\" id=\"video_name_sys_"+num+"\">" +
" <input type=\"file\" class=\"input-txt\" id=\"qiniu_click_sys_"+num+"\" onchange=\"QiniuUpload('"+num+"');\" style=\"display: none;\">\n"+
" <input type=\"file\" class=\"input-txt\" id=\"oss_click_sys_"+num+"\" onchange=\"OssUpload('"+num+"');\" style=\"display: none;\">\n"+
" <input type=\"file\" class=\"input-txt\" id=\"cos_click_sys_"+num+"\" onchange=\"CosUpload('"+num+"');\" style=\"display: none;\">\n";
if (is_show_qiniuyun == 1) {
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"qiniu_upload_video_sys_"+num+"\" onclick=\"click_qiniu_sys('"+num+"');\">七牛云上传</a>\n";
}
if (is_show_oss == 1) {
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"oss_upload_video_sys_"+num+"\" onclick=\"click_oss_sys('"+num+"');\">oss上传</a>\n";
}
if (is_show_cos == 1) {
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" id=\"cos_upload_video_sys_"+num+"\" onclick=\"click_cos_sys('"+num+"');\">cos上传</a>\n";
}
html += " <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green \" id=\"upload_video_sys_"+num+"\" data-num='"+num+"'>本地上传</a>\n" +
" <a href=\"javascript:void(0);\" class=\"ncap-btn ncap-btn-green\" onclick=\"media_del('"+num+"');\">删除</a>\n" +
" <label onselectstart='return false'><input type='checkbox' id='video_gratis_sys_"+num+"' value='1' "+gratis+">试看</label>" +
" </div>";
if (is_open_videogroup == 1) {
$('#url-box_sys').prepend(html);
}else{
$('#url-box_sys').append(html);
}
layui.use('upload', function(){
var upload = layui.upload;
var xhrOnProgress=function(fun) {
xhrOnProgress.onprogress = fun;
return function() {
var xhr = $.ajaxSettings.xhr();
if (typeof xhrOnProgress.onprogress !== 'function') {
return xhr;
}
if (xhrOnProgress.onprogress && xhr.upload) {
xhr.upload.onprogress = xhrOnProgress.onprogress;
}
return xhr;
}
};
upload.render({
elem: "#upload_video_sys_"+num
,url: "{:url('Ueditor/upVideo', ['savepath'=>'media'])}"
,accept: 'video' //视频
,exts: '{$media_type}'
,size: {$upload_max_filesize} //限制文件大小,单位 KB
,before: function(obj){
$("#upload_video_sys_"+num).text('等待中...');
}
,xhr:xhrOnProgress
,progress: function(percent) {
$("#upload_video_sys_"+num).text('上传中...'+percent+'%');
}
,done: function(res){
if ("SUCCESS" == res.state) {
var n = $(this.item).attr('data-num');
$("#video_url_sys_"+n).val(res.url);
$("#video_time_sys_"+n).val(res.time);
$("#video_size_sys_"+n).val(res.size);
$("#video_mime_sys_"+n).val(res.mime);
$("#video_name_sys_"+n).val(res.title);
$("#upload_video_sys_"+num).text('上传成功');
setTimeout(function(){
$('#upload_video_sys_'+num).text('本地上传');
}, 2000 )
}else {
$("#upload_video_sys_"+num).text('上传失败');
setTimeout(function(){
$('#upload_video_sys_'+num).text('本地上传');
}, 2000 )
layer.msg(res.state,{icon: 2});
}
}
,error: function(){
// layer.close(load); //关闭loading
}
});
});
}
function urlToStr() {
var video = [];
$("#url-box_sys div").each(function(){
var n = $(this).attr('data-num');
var arr ={};
arr.file_url = $("#video_url_sys_"+n).val();
if (!arr.file_url) {
return true
}
arr.file_title = $("#video_title_sys_"+n).val();
arr.file_name = $("#video_name_sys_"+n).val();
arr.file_time = $("#video_time_sys_"+n).val();
arr.file_size = $("#video_size_sys_"+n).val();
arr.file_mime = $("#video_mime_sys_"+n).val();
arr.file_id = $("#video_file_id_"+n).val();
arr.sort_order = $("#video_sort_order_"+n).val();
arr.video_group_id = $("#video_group_id_sys_"+n).val();
var gratis_checked = $("#video_gratis_sys_"+n).is(':checked');
if (gratis_checked == true){
arr.gratis = 1;
} else{
arr.gratis = 0;
}
video.push(arr);
});
video = JSON.stringify(video)
$("#video").val(video)
}
function clickNoVipPay(obj) {
if ($(obj).is(':checked')) {
$('#dl_users_price').show();
} else {
$('#dl_users_price').hide();
}
}
</script>
<script>
try{
var mt20_1649209614 = sessionStorage.getItem("mt20_1649209614");
if (mt20_1649209614 == 1){
$("#geduan_div").removeClass("h10");
}else{
$("#geduan_div").addClass("h10");
}
}catch(e){}
</script>
{include file="public/footer" /}