index.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  1. <style type="text/css">
  2. .layui-layer-pay .layui-layer-content {
  3. padding: 0;
  4. height: 600px !important;
  5. }
  6. .layui-layer-pay {
  7. border: none;
  8. }
  9. .payimg {
  10. position: relative;
  11. width: 800px;
  12. height: 600px;
  13. }
  14. .payimg .alipaycode {
  15. position: absolute;
  16. left: 265px;
  17. top: 442px;
  18. }
  19. .payimg .wechatcode {
  20. position: absolute;
  21. left: 660px;
  22. top: 442px;
  23. }
  24. .thumbnail img {
  25. width: 100%;
  26. }
  27. .fixed-table-toolbar .pull-right.search {
  28. min-width: 300px;
  29. }
  30. a.title {
  31. color: #444;
  32. }
  33. .releasetips {
  34. position: relative;
  35. }
  36. .releasetips i {
  37. display: block;
  38. background: #f00;
  39. border-radius: 50%;
  40. width: 0.3em;
  41. height: 0.3em;
  42. top: 0px;
  43. right: -8px;
  44. position: absolute;
  45. box-shadow: 0px 0px 2px #f11414;
  46. }
  47. .form-userinfo .breadcrumb {
  48. margin-bottom: 10px;
  49. }
  50. .btn-toggle {
  51. padding: 0;
  52. }
  53. </style>
  54. <div class="panel panel-default panel-intro">
  55. <div class="panel-heading">
  56. {:build_heading(null,FALSE)}
  57. {if $Think.config.fastadmin.api_url}
  58. <ul class="nav nav-tabs nav-category">
  59. <li class="active"><a href="javascript:;" data-id="">{:__('All')}</a></li>
  60. <li><a href="javascript:;" data-id="0">{:__('Uncategoried')}</a></li>
  61. </ul>
  62. {/if}
  63. </div>
  64. <div class="panel-body">
  65. <div id="myTabContent" class="tab-content">
  66. <div class="tab-pane fade active in" id="one">
  67. <div class="widget-body no-padding">
  68. <div id="toolbar" class="toolbar">
  69. <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" data-force-refresh="false"><i class="fa fa-refresh"></i> </a>
  70. {if $Think.config.fastadmin.api_url}
  71. <button type="button" id="faupload-addon" class="btn btn-danger faupload btn-mini-xs" data-url="addon/local" data-chunking="false" data-mimetype="zip,fastaddon" data-multiple="false"><i class="fa fa-upload"></i>
  72. {:__('Offline install')}
  73. </button>
  74. <div class="btn-group">
  75. <a href="#" class="btn btn-info btn-switch active btn-mini-xs" data-type="all"><i class="fa fa-list"></i> {:__('All')}</a>
  76. <a href="#" class="btn btn-info btn-switch btn-mini-xs" data-type="free"><i class="fa fa-gift"></i> {:__('Free')}</a>
  77. <a href="#" class="btn btn-info btn-switch btn-mini-xs" data-type="price"><i class="fa fa-rmb"></i> {:__('Paying')}</a>
  78. <a href="#" class="btn btn-info btn-switch btn-mini-xs" data-type="local" data-url="addon/downloaded"><i class="fa fa-laptop"></i> {:__('Local addon')}</a>
  79. </div>
  80. <a class="btn btn-primary btn-userinfo btn-mini-xs" href="javascript:;"><i class="fa fa-user"></i> {:__('Userinfo')}</a>
  81. {/if}
  82. </div>
  83. <table id="table" class="table table-striped table-bordered table-hover" width="100%">
  84. </table>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. <script id="searchformtpl" type="text/html">
  91. <form action="" class="form-commonsearch hide">
  92. <div class="well" style="box-shadow:none;border-radius:2px;margin-bottom:10px;">
  93. <div class="row">
  94. <div class="col-xs-12 col-sm-6 col-md-3">
  95. <div class="form-group">
  96. <label class="control-label">{:__('Title')}</label>
  97. <input class="operate" type="hidden" data-name="title" value="like"/>
  98. <input class="form-control" type="text" name="title" placeholder="" value=""/>
  99. </div>
  100. </div>
  101. <div class="col-xs-12 col-sm-6 col-md-3">
  102. <div class="form-group">
  103. <label class="control-label">{:__('Type')}</label>
  104. <input class="operate" type="hidden" data-name="type" value="="/>
  105. <input class="form-control" type="text" name="type" placeholder="all" value=""/>
  106. </div>
  107. </div>
  108. <div class="col-xs-12 col-sm-6 col-md-3">
  109. <div class="form-group">
  110. <label class="control-label">{:__('Category')}</label>
  111. <input type="hidden" class="operate" data-name="category_id" value="="/>
  112. <input class="form-control" name="category_id" type="text" value="">
  113. </div>
  114. </div>
  115. <div class="col-xs-12 col-sm-6 col-md-3">
  116. <div class="form-group">
  117. <label class="control-label">{:__('Version')}</label>
  118. <input type="hidden" class="operate" data-name="faversion" value="="/>
  119. <input class="form-control" name="faversion" type="text" value="{$Think.config.fastadmin.version}">
  120. </div>
  121. </div>
  122. <div class="col-xs-12 col-sm-6 col-md-3">
  123. <div class="form-group">
  124. <label class="control-label"></label>
  125. <div class="row">
  126. <div class="col-xs-6">
  127. <input type="submit" class="btn btn-success btn-block" value="{:__('Submit')}"/>
  128. </div>
  129. <div class="col-xs-6">
  130. <input type="reset" class="btn btn-primary btn-block" value="{:__('Reset')}"/>
  131. </div>
  132. </div>
  133. </div>
  134. </div>
  135. </div>
  136. </div>
  137. </form>
  138. </script>
  139. <script id="logintpl" type="text/html">
  140. <div>
  141. <form class="form-horizontal">
  142. <fieldset>
  143. <div class="alert alert-dismissable alert-danger">
  144. <button type="button" class="close" data-dismiss="alert">×</button>
  145. <strong>{:__('Warning')}</strong><br/>{:__('Login tips')}
  146. </div>
  147. <div class="form-group">
  148. <div class="col-lg-12">
  149. <div class="input-group">
  150. <span class="input-group-addon"><i class="fa fa-user"></i></span>
  151. <input type="text" class="form-control" id="inputAccount" value=""
  152. placeholder="{:__('Your username or email')}">
  153. </div>
  154. </div>
  155. </div>
  156. <div class="form-group">
  157. <div class="col-lg-12">
  158. <div class="input-group">
  159. <span class="input-group-addon"><i class="fa fa-lock"></i></span>
  160. <input type="password" class="form-control" id="inputPassword" value=""
  161. placeholder="{:__('Your password')}">
  162. </div>
  163. </div>
  164. </div>
  165. </fieldset>
  166. </form>
  167. </div>
  168. </script>
  169. <script id="userinfotpl" type="text/html">
  170. <div>
  171. <form class="form-horizontal form-userinfo">
  172. <fieldset>
  173. <div class="alert alert-dismissable alert-success">
  174. <button type="button" class="close" data-dismiss="alert">×</button>
  175. <strong>{:__('Warning')}</strong><br/>{:__('Logined tips', '<%=username%>')}
  176. </div>
  177. </fieldset>
  178. <div class="breadcrumb"><a href="https://www.fastadmin.net/user/myaddon.html" target="_blank"><i class="fa fa-money"></i> {:__('My addons')}</a></div>
  179. </form>
  180. </div>
  181. </script>
  182. <script id="paytpl" type="text/html">
  183. <div class="payimg" style="background:url('<%=payimg%>') 0 0 no-repeat;background-size:cover;">
  184. <%if(paycode){%>
  185. <div class="alipaycode">
  186. <%=paycode%>
  187. </div>
  188. <div class="wechatcode">
  189. <%=paycode%>
  190. </div>
  191. <%}%>
  192. </div>
  193. </script>
  194. <script id="uninstalltpl" type="text/html">
  195. <div class="">
  196. <div class=""><%=#__("Are you sure you want to unstall %s?", addon['title'])%>
  197. <p class="text-danger">{:__('Delete all the addon file and cannot be recovered!')} </p>
  198. {if config('app_debug')}
  199. <p class="text-danger"><input type="checkbox" name="droptables" id="droptables" data-name="<%=addon['name']%>"/> {:__('Delete all the addon database and cannot be recovered!')} </p>
  200. {/if}
  201. <p class="text-danger">{:__('Please backup important data manually before uninstall!')}</p>
  202. </div>
  203. </div>
  204. </script>
  205. <script id="conflicttpl" type="text/html">
  206. <div class="alert alert-dismissable alert-danger">
  207. <button type="button" class="close" data-dismiss="alert">×</button>
  208. <strong>{:__('Warning')}</strong> {:__('Conflict tips')}
  209. </div>
  210. <table class="table table-striped">
  211. <thead>
  212. <tr>
  213. <th>#</th>
  214. <th>{:__('File')}</th>
  215. </tr>
  216. </thead>
  217. <tbody>
  218. <%for(var i=0;i < conflictlist.length;i++){%>
  219. <tr>
  220. <th scope="row"><%=i+1%></th>
  221. <td><%=conflictlist[i]%></td>
  222. </tr>
  223. <%}%>
  224. </tbody>
  225. </table>
  226. </script>
  227. <!--@formatter:off-->
  228. <script id="operatetpl" type="text/html">
  229. <% var labelarr = ['primary', 'success', 'info', 'danger', 'warning']; %>
  230. <% var label = labelarr[item.id % 5]; %>
  231. <% var addon = item.addon; %>
  232. <div class="operate" data-id="<%=item.id%>" data-name="<%=item.name%>">
  233. <% if(!addon){ %>
  234. <% if(typeof item.releaselist !="undefined" && item.releaselist.length>1){%>
  235. <span class="btn-group">
  236. <a href="javascript:;" class="btn btn-xs btn-primary btn-success btn-install"
  237. data-type="<%=item.price<=0?'free':'price';%>" data-donateimage="<%=item.donateimage%>"
  238. data-version="<%=item.version%>"><i class="fa fa-cloud-download"></i> {:__('Install')}</a>
  239. <a class="btn btn-xs btn-success dropdown-toggle" data-toggle="dropdown" href="javascript:;">
  240. <span class="fa fa-caret-down"></span>
  241. </a>
  242. <ul class="dropdown-menu">
  243. <% for(var j=0;j< item.releaselist.length;j++){ %>
  244. <li><a href="javascript:;" class="btn-install" data-type="<%=item.price<=0?'free':'price';%>"
  245. data-donateimage="<%=item.donateimage%>"
  246. data-version="<%=item.releaselist[j].version%>"><%=item.releaselist[j].version%></a></li>
  247. <% } %>
  248. </ul>
  249. </span>
  250. <% }else if(typeof item.releaselist !="undefined" && item.releaselist.length>0){%>
  251. <a href="javascript:;" class="btn btn-xs btn-primary btn-success btn-install"
  252. data-type="<%=item.price<=0?'free':'price';%>" data-donateimage="<%=item.donateimage%>"
  253. data-version="<%=item.version%>"><i class="fa fa-cloud-download"></i> {:__('Install')}</a>
  254. <% } %>
  255. <% if(item.demourl){ %>
  256. <a href="<%=item.demourl%>" class="btn btn-xs btn-primary btn-info btn-demo" target="_blank">
  257. <i class="fa fa-flash"></i> {:__('Demo')}
  258. </a>
  259. <% } %>
  260. <% if(item.button){ %>
  261. <a href="<%=item.url%>" class="btn btn-xs btn-primary btn-info" target="_blank">
  262. <%=item.button%>
  263. </a>
  264. <% } %>
  265. <% } else {%>
  266. <% if(addon.version!=item.version){%>
  267. <% if(typeof item.releaselist !="undefined" && item.releaselist.length>1){%>
  268. <span class="btn-group">
  269. <a href="javascript:;" class="btn btn-xs btn-info btn-success btn-upgrade"
  270. data-version="<%=item.version%>"><i class="fa fa-cloud"></i> {:__('Upgrade')}</a>
  271. <a class="btn btn-xs btn-info dropdown-toggle" data-toggle="dropdown"
  272. href="javascript:;">
  273. <span class="fa fa-caret-down"></span>
  274. </a>
  275. <ul class="dropdown-menu">
  276. <% for(var j=0;j< item.releaselist.length;j++){ %>
  277. <li><a href="javascript:;" class="btn-upgrade"
  278. data-version="<%=item.releaselist[j].version%>"><%=item.releaselist[j].version%></a></li>
  279. <% } %>
  280. </ul>
  281. </span>
  282. <% }else{%>
  283. <a href="javascript:;" class="btn btn-xs btn-info btn-upgrade" title="{:__('Upgrade')}" data-version="<%=item.version%>"><i
  284. class="fa fa-cloud"></i> {:__('Upgrade')}</a>
  285. <% }%>
  286. <% }%>
  287. <% if(addon.config){ %>
  288. <a href="javascript:;" class="btn btn-xs btn-primary btn-config" title="{:__('Setting')}"><i class="fa fa-pencil"></i>
  289. {:__('Setting')}</a>
  290. <% } %>
  291. <a href="javascript:;" class="btn btn-xs btn-danger btn-uninstall" title="{:__('Uninstall')}"><i class="fa fa-times"></i>
  292. {:__('Uninstall')}</a>
  293. <% } %>
  294. </div>
  295. </script>
  296. <!--@formatter:on-->