index.html 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <style type="text/css">
  2. #searchfloat {position:absolute;top:40px;right:20px;background:#F7F0A0;padding:10px;}
  3. #saved {position: relative;}
  4. #saved_sql {position:absolute;bottom:0;height:300px;background:#F7F0A0;width:100%;overflow:auto;display:none;}
  5. #saved_sql li {display:block;clear:both;width:100%;float:left;line-height:18px;padding:1px 0}
  6. #saved_sql li a{float:left;text-decoration: none;display:block;padding:0 5px;}
  7. #saved_sql li i{display:none;float:left;color:#06f;font-size: 14px;font-style: normal;margin-left:2px;line-height:18px;}
  8. #saved_sql li:hover{background:#fff;}
  9. #saved_sql li:hover i{display:block;cursor:pointer;}
  10. #database #tablename {height:205px;width:100%;padding:5px;}
  11. #database #tablename option{height:18px;}
  12. #database #subaction {height:210px;width:100%;}
  13. #database .select-striped > option:nth-of-type(odd) {background-color: #f9f9f9;}
  14. #database .dropdown-menu ul {margin:-3px 0;}
  15. #database .dropdown-menu ul li{margin:3px 0;}
  16. #database .dropdown-menu.row .col-xs-6{padding:0 5px;}
  17. #sqlquery {color:#444;}
  18. #resultparent {padding:5px;}
  19. #layui-layer2{width: 96% !important;left: 25px !important}
  20. </style>
  21. <style data-render="darktheme">
  22. body.darktheme #database .select-striped > option:nth-of-type(odd) {
  23. background-color: #262626;
  24. }
  25. body.darktheme #tablename::-webkit-scrollbar {
  26. width: 9px;
  27. height: 9px;
  28. }
  29. body.darktheme #tablename::-webkit-scrollbar-thumb {
  30. background: #999;
  31. }
  32. body.darktheme #tablename::-webkit-scrollbar-track {
  33. background: #333;
  34. }
  35. body.darktheme #sqlquery {
  36. color: #ccc;
  37. }
  38. </style>
  39. <div class="panel panel-default panel-intro">
  40. {:build_heading()}
  41. <div class="panel-body">
  42. <div id="database" class="tab-content">
  43. <div class="tab-pane fade active in" id="one">
  44. <div class="widget-body no-padding">
  45. {if $auth->check('general/database/query')}
  46. <div class="row">
  47. <!-- <div class="col-xs-4">
  48. <h4>{:__('SQL Result')}:</h4>
  49. </div> -->
  50. <div class="col-xs-8 text-right">
  51. <form action="{:url('general.database/query')}" method="post" name="infoform" target="resultframe">
  52. <input type="hidden" name="do_action" id="topaction" />
  53. <a href="javascript:;" class="btn btn-success btn-compress"><i class="fa fa-compress"></i> {:__('Backup and Restore')}</a>
  54. <!-- <div class="btn-group">
  55. <button data-toggle="dropdown" class="btn btn-primary btn-embossed dropdown-toggle" type="button">{:__('Basic query')} <span class="caret"></span></button>
  56. <div class="row dropdown-menu pull-right" style="width:300px;">
  57. <div class="col-xs-6">
  58. <select class="form-control select-striped" id="tablename" name="tablename[]" multiple="multiple">
  59. {foreach $tables as $table}
  60. <option value="{$table.name}" title="">{$table.name}</option>
  61. {/foreach}
  62. </select>
  63. </div>
  64. <div class="col-xs-6">
  65. <ul id="subaction" class="list-unstyled">
  66. <li><input type="submit" name="submit1" value="{:__('View structure')}" rel="viewinfo" class="btn btn-primary btn-embossed btn-sm btn-block"/></li>
  67. <li><input type="submit" name="submit2" value="{:__('View data')}" rel="viewdata" class="btn btn-primary btn-embossed btn-sm btn-block"/></li>
  68. <li><input type="submit" name="submit3" value="{:__('Optimize')}" rel="optimize" class="btn btn-primary btn-embossed btn-sm btn-block" /></li>
  69. <li><input type="submit" name="submit4" value="{:__('Repair')}" rel="repair" class="btn btn-primary btn-embossed btn-sm btn-block"/></li>
  70. <li><input type="submit" name="submit5" value="{:__('Optimize all')}" rel="optimizeall" class="btn btn-primary btn-embossed btn-sm btn-block" /></li>
  71. <li><input type="submit" name="submit6" value="{:__('Repair all')}" rel="repairall" class="btn btn-primary btn-embossed btn-sm btn-block" /></li>
  72. </ul>
  73. </div>
  74. <div class="clear"></div>
  75. </div>
  76. </div> -->
  77. </form>
  78. </div>
  79. </div>
  80. <!-- <div class="well" id="resultparent">
  81. <iframe name="resultframe" frameborder="0" id="resultframe" style="height:100%;" width="100%" height="100%"></iframe>
  82. </div>
  83. <form action="{:url('general.database/query')}" method="post" id="sqlexecute" name="form1" target="resultframe">
  84. <input type="hidden" name="do_action" value="doquery" />
  85. <div class="form-group">
  86. <textarea name="sqlquery" placeholder="{:__('Executes one or multiple queries which are concatenated by a semicolon')}" cols="60" rows="5" class="form-control" id="sqlquery"></textarea>
  87. </div>
  88. <button type="submit" class="btn btn-primary btn-embossed"><i class="fa fa-check"></i> {:__('Execute')}</button>
  89. <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
  90. </form> -->
  91. {else /}
  92. <div id="backuplist"></div>
  93. {/if}
  94. </div>
  95. </div>
  96. </div>
  97. </div>
  98. </div>
  99. <script id="backuptpl" type="text/html">
  100. <p>
  101. <a href="javascript:;" class="btn btn-success btn-backup"><i class="fa fa-compress"></i> {:__('Backup now')}</a>
  102. <span class="text-danger">如果你的数据过大,不建议采用此方式进行备份,会导致内存溢出的错误。</span>
  103. </p>
  104. <table id="dt_basic" class="table table-striped table-bordered table-hover" width="100%" style="min-width:600px;">
  105. <thead>
  106. <tr>
  107. <th>ID</th>
  108. <th>{:__('File')}</th>
  109. <th>{:__('Size')}</th>
  110. <th>{:__('Date')}</th>
  111. <th>{:__('Operate')}</th>
  112. </tr>
  113. </thead>
  114. <tbody>
  115. <%for (var i=0;i<backuplist.length;i++){%>
  116. <tr>
  117. <td><%=i+1%></td>
  118. <td><%=backuplist[i].file%></td>
  119. <td><%=backuplist[i].size%></td>
  120. <td><%=backuplist[i].date%></td>
  121. <td>
  122. <a href="javascript:;" class="btn btn-primary btn-restore btn-xs" data-file="<%=backuplist[i].file%>"><i class="fa fa-reply"></i> {:__('Restore')}</a>
  123. <a href="javascript:;" class="btn btn-danger btn-delete btn-xs" data-file="<%=backuplist[i].file%>"><i class="fa fa-times"></i> {:__('Delete')}</a>
  124. </td>
  125. </tr>
  126. <%}%>
  127. </tbody>
  128. </table>
  129. </script>