index.html 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  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 {font-size:12px;color:#444;}
  18. #resultparent {padding:5px;}
  19. </style>
  20. <div class="panel panel-default panel-intro">
  21. {:build_heading()}
  22. <div class="panel-body">
  23. <div id="database" class="tab-content">
  24. <div class="tab-pane fade active in" id="one">
  25. <div class="widget-body no-padding">
  26. {if $auth->check('general/database/query')}
  27. <div class="row">
  28. <div class="col-xs-4">
  29. <h4>{:__('SQL Result')}:</h4>
  30. </div>
  31. <div class="col-xs-8 text-right">
  32. <form action="{:url('general.database/query')}" method="post" name="infoform" target="resultframe">
  33. <input type="hidden" name="do_action" id="topaction" />
  34. <a href="javascript:;" class="btn btn-success btn-compress"><i class="fa fa-compress"></i> {:__('Backup and Restore')}</a>
  35. <div class="btn-group">
  36. <button data-toggle="dropdown" class="btn btn-primary btn-embossed dropdown-toggle" type="button">{:__('Basic query')} <span class="caret"></span></button>
  37. <div class="row dropdown-menu pull-right" style="width:300px;">
  38. <div class="col-xs-6">
  39. <select class="form-control select-striped" id="tablename" name="tablename[]" multiple="multiple">
  40. {foreach $tables as $table}
  41. <option value="{$table.name}" title="">{$table.name}<!--({$table.rows})--></option>
  42. {/foreach}
  43. </select>
  44. </div>
  45. <div class="col-xs-6">
  46. <ul id="subaction" class="list-unstyled">
  47. <li><input type="submit" name="submit1" value="{:__('View structure')}" rel="viewinfo" class="btn btn-primary btn-embossed btn-sm btn-block"/></li>
  48. <li><input type="submit" name="submit2" value="{:__('View data')}" rel="viewdata" class="btn btn-primary btn-embossed btn-sm btn-block"/></li>
  49. <li><input type="submit" name="submit3" value="{:__('Optimize')}" rel="optimize" class="btn btn-primary btn-embossed btn-sm btn-block" /></li>
  50. <li><input type="submit" name="submit4" value="{:__('Repair')}" rel="repair" class="btn btn-primary btn-embossed btn-sm btn-block"/></li>
  51. <li><input type="submit" name="submit5" value="{:__('Optimize all')}" rel="optimizeall" class="btn btn-primary btn-embossed btn-sm btn-block" /></li>
  52. <li><input type="submit" name="submit6" value="{:__('Repair all')}" rel="repairall" class="btn btn-primary btn-embossed btn-sm btn-block" /></li>
  53. </ul>
  54. </div>
  55. <div class="clear"></div>
  56. </div>
  57. </div>
  58. </form>
  59. </div>
  60. </div>
  61. <div class="well" id="resultparent">
  62. <iframe name="resultframe" frameborder="0" id="resultframe" style="height:100%;" width="100%" height="100%"></iframe>
  63. </div>
  64. <form action="{:url('general.database/query')}" method="post" id="sqlexecute" name="form1" target="resultframe">
  65. <input type="hidden" name="do_action" value="doquery" />
  66. <div class="form-group">
  67. <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>
  68. </div>
  69. <input type="submit" class="btn btn-success btn-embossed" value="{:__('Execute')}" />
  70. <input type="reset" class="btn btn-default btn-embossed" value="{:__('Reset')}" />
  71. </form>
  72. {else /}
  73. <div id="backuplist"></div>
  74. {/if}
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. </div>
  80. <script id="backuptpl" type="text/html">
  81. <p>
  82. <a href="javascript:;" class="btn btn-success btn-backup"><i class="fa fa-compress"></i> {:__('Backup now')}</a>
  83. <span class="text-danger">如果你的数据过大,不建议采用此方式进行备份,会导致内存溢出的错误。</span>
  84. </p>
  85. <table id="dt_basic" class="table table-striped table-bordered table-hover" width="100%" style="min-width:500px;font-size:12px;">
  86. <thead>
  87. <tr>
  88. <th>ID</th>
  89. <th>{:__('File')}</th>
  90. <th>{:__('Size')}</th>
  91. <th>{:__('Date')}</th>
  92. <th>{:__('Operate')}</th>
  93. </tr>
  94. </thead>
  95. <tbody>
  96. <%for (var i=0;i<backuplist.length;i++){%>
  97. <tr>
  98. <td><%=i+1%></td>
  99. <td><%=backuplist[i].file%></td>
  100. <td><%=backuplist[i].size%></td>
  101. <td><%=backuplist[i].date%></td>
  102. <td>
  103. <a href="javascript:;" class="btn btn-primary btn-restore btn-xs" data-file="<%=backuplist[i].file%>"><i class="fa fa-reply"></i> {:__('Restore')}</a>
  104. <a href="javascript:;" class="btn btn-danger btn-delete btn-xs" data-file="<%=backuplist[i].file%>"><i class="fa fa-times"></i> {:__('Delete')}</a>
  105. </td>
  106. </tr>
  107. <%}%>
  108. </tbody>
  109. </table>
  110. </script>