fastadmin/application/admin/view/addon/index.html

336 lines
17 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<style type="text/css">
.noimage {width:100%;text-align: center;background:#18bc9c;color:#fff;padding-bottom:66.66%;position:relative;}
.noimage > div {position: absolute;top:48%;width:100%;text-align:center;}
.addon {position: relative;border-color:#e4e4e4;}
.addon > span {position:absolute;left:15px;top:15px;z-index:9;}
.addon > span a{opacity: 0.5;border:none;color:#fff;}
.layui-layer-pay .layui-layer-content {padding:0;height:600px!important;}
.layui-layer-pay {border:none;}
.payimg{position:relative;width:800px;height:600px;}
.payimg .alipaycode {position:absolute;left:265px;top:442px;}
.payimg .wechatcode {position:absolute;left:660px;top:442px;}
.thumbnail img{width:100%;}
.fixed-table-toolbar .pull-right.search {
min-width: 300px;
}
.status-disabled .noimage {
background:#d2d6de;
}
@media (min-width: 992px) {
.addon {
-webkit-transition:all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;
}
.addon:hover {
border-color: #dddddd;
-webkit-box-shadow: 0 26px 40px -24px rgba(0,36,100,0.3);
-moz-box-shadow: 0 26px 40px -24px rgba(0,36,100,0.3);
box-shadow: 0 26px 40px -24px rgba(0,36,100,0.3);
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;
}
}
</style>
<div class="panel panel-default panel-intro">
<div class="panel-heading">
{:build_heading(null,FALSE)}
<ul class="nav nav-tabs nav-category">
<li class="active"><a href="javascript:;" data-id="">{:__('All')}</a></li>
<li><a href="javascript:;" data-id="0">{:__('Uncategoried')}</a></li>
</ul>
</div>
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="one">
<div class="widget-body no-padding">
<div id="toolbar" class="toolbar">
{:build_toolbar('refresh')}
<button type="button" id="plupload-addon" class="btn btn-danger plupload" data-url="addon/local" data-mimetype="application/zip" data-multiple="false"><i class="fa fa-upload"></i> {:__('Offline install')}</button>
<div class="btn-group">
<a href="#" class="btn btn-info btn-switch active" data-type="all" data-url="{$config.fastadmin.api_url}/addon/index"><i class="fa fa-list"></i> {:__('全部')}</a>
<a href="#" class="btn btn-info btn-switch" data-type="free" data-url="{$config.fastadmin.api_url}/addon/index"><i class="fa fa-gift"></i> {:__('免费')}</a>
<a href="#" class="btn btn-info btn-switch" data-type="price" data-url="{$config.fastadmin.api_url}/addon/index"><i class="fa fa-rmb"></i> {:__('付费')}</a>
<a href="#" class="btn btn-info btn-switch" data-type="local" data-url="addon/downloaded"><i class="fa fa-laptop"></i> {:__('Local addon')}</a>
</div>
<a class="btn btn-primary btn-userinfo" href="javascript:;"><i class="fa fa-user"></i> {:__('Userinfo')}</a>
</div>
<table id="table" class="table table-striped table-hover" width="100%">
</table>
</div>
</div>
</div>
</div>
</div>
<script id="searchformtpl" type="text/html">
<form action="" class="form-commonsearch hide">
<div class="well" style="box-shadow:none;border-radius:2px;margin-bottom:10px;">
<div class="row">
<div class="col-xs-12 col-sm-6 col-md-3">
<div class="form-group">
<label class="control-label">标题</label>
<input class="operate" type="hidden" data-name="title" value="like"/>
<input class="form-control" type="text" name="title" placeholder="请输入查找的标题" value=""/>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-3">
<div class="form-group">
<label class="control-label">类型</label>
<input class="operate" type="hidden" data-name="type" value="="/>
<input class="form-control" type="text" name="type" placeholder="all" value=""/>
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-3">
<div class="form-group">
<label class="control-label">分类</label>
<input type="hidden" class="operate" data-name="category_id" value="="/>
<input class="form-control" name="category_id" type="text" value="">
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-3">
<div class="form-group">
<label class="control-label">版本号</label>
<input type="hidden" class="operate" data-name="faversion" value="="/>
<input class="form-control" name="faversion" type="text" value="{$config.fastadmin.version}">
</div>
</div>
<div class="col-xs-12 col-sm-6 col-md-3">
<div class="form-group">
<label class="control-label"></label>
<div class="row">
<div class="col-xs-6">
<input type="submit" class="btn btn-success btn-block" value="提交"/>
</div>
<div class="col-xs-6">
<input type="reset" class="btn btn-primary btn-block" value="重置"/>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</script>
<script id="logintpl" type="text/html">
<div>
<form class="form-horizontal">
<fieldset>
<div class="alert alert-dismissable alert-danger">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>{:__('Warning')}</strong><br />{:__('Login tips')}
</div>
<div class="form-group">
<label for="inputAccount" class="col-lg-3 control-label">{:__('Username')}</label>
<div class="col-lg-9">
<input type="text" class="form-control" id="inputAccount" value="" placeholder="{:__('Your username or email')}">
</div>
</div>
<div class="form-group">
<label for="inputPassword" class="col-lg-3 control-label">{:__('Password')}</label>
<div class="col-lg-9">
<input type="password" class="form-control" id="inputPassword" value="" placeholder="{:__('Your password')}">
</div>
</div>
</fieldset>
</form>
</div>
</script>
<script id="userinfotpl" type="text/html">
<div>
<form class="form-horizontal">
<fieldset>
<div class="alert alert-dismissable alert-success">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>{:__('Warning')}</strong><br />{:__('Logined tips', '<%=username%>')}
</div>
</fieldset>
</form>
</div>
</script>
<script id="addoninfotpl" type="text/html">
<div style="font-size:13px;">
<table class="table table-striped">
<thead>
<tr>
<th colspan="2"><h4><%=item.title%></h4></th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">{:__('Price')}</th>
<td><div class="text-<%=item.price>0?'danger':'success'%>"><b><%=item.price%></b></div></td>
</tr>
<tr>
<th scope="row">{:__('Author')}</th>
<td><a href="<%=item.url?item.url:'javascript:;'%>" target="_blank"><%=item.author%></a></td>
</tr>
<tr>
<th scope="row">{:__('Identify')}</th>
<td><%=item.name%></td>
</tr>
<tr>
<th scope="row">{:__('Homepage')}</th>
<td><a href="https://www.fastadmin.net/store/<%=item.name%>.html" target="_blank">https://www.fastadmin.net/store/<%=item.name%>.html</a></td>
</tr>
<tr>
<th scope="row">{:__('Intro')}</th>
<td><%=item.intro%></td>
</tr>
<tr>
<th scope="row">{:__('Version')}</th>
<td><%=# addon && item && addon.version!=item.version?'<span class="label label-danger">'+addon.version+'</span> -> <span class="label label-success">'+item.version+'</span>':item.version%></td>
</tr>
<tr>
<th scope="row">{:__('Createtime')}</th>
<td><%=Moment(item.createtime*1000).format("YYYY-MM-DD HH:mm:ss")%></td>
</tr>
<tr>
<th scope="row">{:__('Releasetime')}</th>
<td><%=Moment(item.releasetime*1000).format("YYYY-MM-DD HH:mm:ss")%></td>
</tr>
</tbody>
</table>
</div>
</script>
<script id="paytpl" type="text/html">
<div class="payimg" style="background:url('<%=payimg%>') 0 0 no-repeat;background-size:cover;">
<%if(paycode){%>
<div class="alipaycode">
<%=paycode%>
</div>
<div class="wechatcode">
<%=paycode%>
</div>
<%}%>
</div>
</script>
<script id="conflicttpl" type="text/html">
<div class="alert alert-dismissable alert-danger">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>{:__('Warning')}</strong> {:__('Conflict tips')}
</div>
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>{:__('File')}</th>
</tr>
</thead>
<tbody>
<%for(var i=0;i < conflictlist.length;i++){%>
<tr>
<th scope="row"><%=i+1%></th>
<td><%=conflictlist[i]%></td>
</tr>
<%}%>
</tbody>
</table>
</script>
<script id="itemtpl" type="text/html">
<% var labelarr = ['primary', 'success', 'info', 'danger', 'warning']; %>
<% var label = labelarr[item.id % 5]; %>
<% var addon = typeof addons[item.name]!= 'undefined' ? addons[item.name] : null; %>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-3 mt-4 status-<%=addon ? (addon.state==1?'enabled':'disabled') : 'uninstalled'%>">
<div class="thumbnail addon">
<%if(addon){%>
<span>
<a href="<%=addon.url%>" target="_blank" class="btn btn-xs">
<i class="fa fa-home"></i>
</a>
</span>
<%}%>
<a href="<%=item.url%>" class="btn-addonindex" target="_blank">
<%if(item.image){%>
<img src="<%=item.image%>" class="img-responsive" alt="<%=item.title%>">
<%}else{%>
<div class="noimage"><div>{:__('No image')}</div></div>
<%}%>
</a>
<div class="caption">
<h4><%=item.title?item.title:'{:__('None')}'%>
<% if(item.flag.indexOf("recommend")>-1){%>
<span class="label label-success">{:__('Recommend')}</span>
<% } %>
<% if(item.flag.indexOf("hot")>-1){%>
<span class="label label-danger">{:__('Hot')}</span>
<% } %>
<% if(item.flag.indexOf("free")>-1){%>
<span class="label label-info">{:__('Free')}</span>
<% } %>
<% if(item.flag.indexOf("sale")>-1){%>
<span class="label label-warning">{:__('Sale')}</span>
<% } %>
</h4>
<p class="text-<%=item.price>0?'danger':'success'%>"><b><%=item.price%></b></p>
<p class="text-muted">{:__('Author')}: <a href="<%=item.url?item.url:'javascript:;'%>" target="_blank"><%=item.author%></a></p>
<p class="text-muted">{:__('Intro')}: <%=item.intro%></p>
<p class="text-muted">{:__('Version')}: <%=# addon && item && addon.version!=item.version?'<span class="label label-danger">'+addon.version+'</span> -> <span class="label label-success">'+item.version+'</span>':item.version%></p>
<p class="text-muted">{:__('Createtime')}: <%=Moment(item.createtime*1000).format("YYYY-MM-DD HH:mm:ss")%></p>
<div class="operate" data-id="<%=item.id%>" data-name="<%=item.name%>">
<% if(!addon){ %>
<% if(typeof item.releaselist !="undefined" && item.releaselist.length>1){%>
<span class="btn-group">
<a href="javascript:;" class="btn btn-primary btn-success btn-install" data-type="<%=item.price<=0?'free':'price';%>" data-donateimage="<%=item.donateimage%>" data-version="<%=item.version%>"><i class="fa fa-cloud-download"></i> {:__('Install')}</a>
<a class="btn btn-success dropdown-toggle" data-toggle="dropdown" href="javascript:;">
<span class="fa fa-caret-down"></span>
</a>
<ul class="dropdown-menu">
<% for(var j=0;j< item.releaselist.length;j++){ %>
<li><a href="javascript:;" class="btn-install" data-type="<%=item.price<=0?'free':'price';%>" data-donateimage="<%=item.donateimage%>" data-version="<%=item.releaselist[j].version%>"><%=item.releaselist[j].version%></a></li>
<% } %>
</ul>
</span>
<% }else{%>
<a href="javascript:;" class="btn btn-primary btn-success btn-install" data-type="<%=item.price<=0?'free':'price';%>" data-donateimage="<%=item.donateimage%>" data-version="<%=item.version%>"><i class="fa fa-cloud-download"></i> {:__('Install')}</a>
<% } %>
<% if(item.demourl){ %>
<a href="<%=item.demourl%>" class="btn btn-primary btn-info btn-demo" target="_blank"><i class="fa fa-flash"></i> {:__('Demo')}</a>
<% } %>
<% } %>
<% if(addon){ %>
<% if(addon.config){ %>
<a href="javascript:;" class="btn btn-primary btn-config"><i class="fa fa-pencil"></i> {:__('Setting')}</a>
<% } %>
<% if(addon.state == "1"){ %>
<a href="javascript:;" class="btn btn-warning btn-disable" data-action="disable"><i class="fa fa-times"></i> {:__('Disable')}</a>
<% }else{ %>
<a href="javascript:;" class="btn btn-success btn-enable" data-action="enable"><i class="fa fa-check"></i> {:__('Enable')}</a>
<a href="javascript:;" class="btn btn-danger btn-uninstall"><i class="fa fa-times"></i> {:__('Uninstall')}</a>
<% } %>
<% } %>
<% if(addon && item && addon.version!=item.version){%>
<% if(typeof item.releaselist !="undefined" && item.releaselist.length>1){%>
<span class="btn-group">
<a href="javascript:;" class="btn btn-info btn-success btn-upgrade" data-version="<%=item.version%>"><i class="fa fa-cloud"></i> {:__('Upgrade')}</a>
<a class="btn btn-info dropdown-toggle" data-toggle="dropdown" href="javascript:;">
<span class="fa fa-caret-down"></span>
</a>
<ul class="dropdown-menu">
<% for(var j=0;j< item.releaselist.length;j++){ %>
<li><a href="javascript:;" class="btn-upgrade" data-version="<%=item.releaselist[j].version%>"><%=item.releaselist[j].version%></a></li>
<% } %>
</ul>
</span>
<% }else{%>
<a href="javascript:;" class="btn btn-info btn-upgrade" data-version="<%=item.version%>"><i class="fa fa-cloud"></i> {:__('Upgrade')}</a>
<% }%>
<% }%>
<span class="pull-right" style="margin-top:10px;">
<a href="javascript:;" class="btn-addoninfo text-gray" data-index="<%=i%>" title="<%=item.title?item.title:'{:__('None')}'%>"><i class="fa fa-bars"></i></a>
</span>
</div>
</div>
</div>
</div>
</script>