index.twig 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <form id="rteListForm" class="ajax" action="{{ url('/database/events') }}">
  2. {{ get_hidden_inputs(db) }}
  3. <fieldset>
  4. <legend>
  5. {% trans 'Events' %}
  6. {{ show_mysql_docu('EVENTS') }}
  7. </legend>
  8. <div id="nothing2display"{{ items is not empty ? ' class="hide"' }}>
  9. {% trans 'There are no events to display.' %}
  10. </div>
  11. <table id="eventsTable" class="table table-light table-striped table-hover{{ items is empty ? ' hide' }} w-auto data">
  12. <thead class="thead-light">
  13. <tr>
  14. <th></th>
  15. <th>{% trans 'Name' %}</th>
  16. <th>{% trans 'Status' %}</th>
  17. <th colspan="3">{% trans 'Action' %}</th>
  18. <th>{% trans 'Type' %}</th>
  19. </tr>
  20. </thead>
  21. <tbody>
  22. <tr class="hide">{% for i in 0..6 %}<td></td>{% endfor %}</tr>
  23. {% for event in items %}
  24. <tr{{ is_ajax ? ' class="ajaxInsert hide"' }}>
  25. <td>
  26. <input type="checkbox" class="checkall" name="item_name[]" value="{{ event.name }}">
  27. </td>
  28. <td>
  29. <span class="drop_sql hide">{{ 'DROP EVENT IF EXISTS %s'|format(backquote(event.name)) }}</span>
  30. <strong>{{ event.name }}</strong>
  31. </td>
  32. <td>
  33. {{ event.status }}
  34. </td>
  35. <td>
  36. {% if has_privilege %}
  37. <a class="ajax edit_anchor" href="{{ url('/database/events', {
  38. 'db': db,
  39. 'edit_item': true,
  40. 'item_name': event.name
  41. }) }}">
  42. {{ get_icon('b_edit', 'Edit'|trans) }}
  43. </a>
  44. {% else %}
  45. {{ get_icon('bd_edit', 'Edit'|trans) }}
  46. {% endif %}
  47. </td>
  48. <td>
  49. <a class="ajax export_anchor" href="{{ url('/database/events', {
  50. 'db': db,
  51. 'export_item': true,
  52. 'item_name': event.name
  53. }) }}">
  54. {{ get_icon('b_export', 'Export'|trans) }}
  55. </a>
  56. </td>
  57. <td>
  58. {% if has_privilege %}
  59. {{ link_or_button(
  60. url('/sql', {
  61. 'db': db,
  62. 'sql_query': 'DROP EVENT IF EXISTS %s'|format(backquote(event.name)),
  63. 'goto': url('/database/events', {'db': db})
  64. }),
  65. get_icon('b_drop', 'Drop'|trans),
  66. {'class': 'ajax drop_anchor'}
  67. ) }}
  68. {% else %}
  69. {{ get_icon('bd_drop', 'Drop'|trans) }}
  70. {% endif %}
  71. </td>
  72. <td>
  73. {{ event.type }}
  74. </td>
  75. </tr>
  76. {% endfor %}
  77. </tbody>
  78. </table>
  79. {% if items is not empty %}
  80. <div class="withSelected">
  81. <img class="selectallarrow" src="{{ select_all_arrow_src }}" width="38" height="22" alt="{% trans 'With selected:' %}">
  82. <input type="checkbox" id="rteListForm_checkall" class="checkall_box" title="{% trans 'Check all' %}">
  83. <label for="rteListForm_checkall">{% trans 'Check all' %}</label>
  84. <em class="with-selected">{% trans 'With selected:' %}</em>
  85. <button class="btn btn-link mult_submit" type="submit" name="submit_mult" value="export" title="{% trans 'Export' %}">
  86. {{ get_icon('b_export', 'Export'|trans) }}
  87. </button>
  88. <button class="btn btn-link mult_submit" type="submit" name="submit_mult" value="drop" title="{% trans 'Drop' %}">
  89. {{ get_icon('b_drop', 'Drop'|trans) }}
  90. </button>
  91. </div>
  92. {% endif %}
  93. </fieldset>
  94. </form>
  95. <div class="doubleFieldset">
  96. <fieldset class="left">
  97. <legend>{% trans %}New{% context %}Create new event{% endtrans %}</legend>
  98. <div class="wrap">
  99. {% if has_privilege %}
  100. <a class="ajax add_anchor" href="{{ url('/database/events', {'db': db, 'add_item': true}) }}">
  101. {{ get_icon('b_event_add') }}
  102. {% trans 'Add event' %}
  103. </a>
  104. {% else %}
  105. {{ get_icon('bd_event_add') }}
  106. {% trans 'Add event' %}
  107. {% endif %}
  108. {{ show_mysql_docu('CREATE_EVENT') }}
  109. </div>
  110. </fieldset>
  111. <fieldset class="right">
  112. <legend>{% trans 'Event scheduler status' %}</legend>
  113. <div class="wrap">
  114. <div class="wrapper toggleAjax hide">
  115. <div class="toggleButton">
  116. <div title="{% trans 'Click to toggle' %}" class="toggle-container {{ scheduler_state ? 'on' : 'off' }}">
  117. <img src="{{ theme_image_path }}toggle-{{ text_dir }}.png">
  118. <table class="pma-table nospacing nopadding">
  119. <tbody>
  120. <tr>
  121. <td class="toggleOn">
  122. <span class="hide">
  123. {{- url('/sql', {
  124. 'db': db,
  125. 'goto': url('/database/events', {'db': db}),
  126. 'sql_query': 'SET GLOBAL event_scheduler="ON"',
  127. }) -}}
  128. </span>
  129. <div>{% trans 'ON' %}</div>
  130. </td>
  131. <td><div>&nbsp;</div></td>
  132. <td class="toggleOff">
  133. <span class="hide">
  134. {{- url('/sql', {
  135. 'db': db,
  136. 'goto': url('/database/events', {'db': db}),
  137. 'sql_query': 'SET GLOBAL event_scheduler="OFF"',
  138. }) -}}
  139. </span>
  140. <div>{% trans 'OFF' %}</div>
  141. </td>
  142. </tr>
  143. </tbody>
  144. </table>
  145. <span class="hide callback">Functions.slidingMessage(data.sql_query);</span>
  146. <span class="hide text_direction">{{ text_dir }}</span>
  147. </div>
  148. </div>
  149. </div>
  150. </div>
  151. </fieldset>
  152. <div class="clearfloat"></div>
  153. </div>