rte_footer.lib.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <?php
  2. /* vim: set expandtab sw=4 ts=4 sts=4: */
  3. /**
  4. * Common functions for generating the footer for Routines, Triggers and Events.
  5. *
  6. * @package PhpMyAdmin
  7. */
  8. if (! defined('PHPMYADMIN')) {
  9. exit;
  10. }
  11. /**
  12. * Creates a fieldset for adding a new item, if the user has the privileges.
  13. *
  14. * @param string $docu String used to create a link to the MySQL docs
  15. * @param string $priv Privilege to check for adding a new item
  16. * @param string $name MySQL name of the item
  17. *
  18. * @return string An HTML snippet with the link to add a new item
  19. */
  20. function PMA_RTE_getFooterLinks($docu, $priv, $name)
  21. {
  22. global $db, $url_query, $ajax_class;
  23. $icon = 'b_' . strtolower($name) . '_add.png';
  24. $retval = "";
  25. $retval .= "<!-- ADD " . $name . " FORM START -->\n";
  26. $retval .= "<fieldset class='left'>\n";
  27. $retval .= " <legend>" . _pgettext('Create new procedure', 'New') . "</legend>\n";
  28. $retval .= " <div class='wrap'>\n";
  29. if (PMA_Util::currentUserHasPrivilege($priv, $db)) {
  30. $retval .= " <a {$ajax_class['add']} ";
  31. $retval .= "href='db_" . strtolower($name) . "s.php";
  32. $retval .= "?$url_query&amp;add_item=1'>";
  33. $retval .= PMA_Util::getIcon($icon);
  34. $retval .= PMA_RTE_getWord('add') . "</a>\n";
  35. } else {
  36. $retval .= " " . PMA_Util::getIcon($icon);
  37. $retval .= PMA_RTE_getWord('no_create') . "\n";
  38. }
  39. $retval .= " " . PMA_Util::showMySQLDocu('SQL-Syntax', $docu) . "\n";
  40. $retval .= " </div>\n";
  41. $retval .= "</fieldset>\n";
  42. $retval .= "<!-- ADD " . $name . " FORM END -->\n\n";
  43. return $retval;
  44. } // end PMA_RTE_getFooterLinks()
  45. /**
  46. * Creates a fieldset for adding a new routine, if the user has the privileges.
  47. *
  48. * @return string HTML code with containing the fotter fieldset
  49. */
  50. function PMA_RTN_getFooterLinks()
  51. {
  52. return PMA_RTE_getFooterLinks('CREATE_PROCEDURE', 'CREATE ROUTINE', 'ROUTINE');
  53. }// end PMA_RTN_getFooterLinks()
  54. /**
  55. * Creates a fieldset for adding a new trigger, if the user has the privileges.
  56. *
  57. * @return string HTML code with containing the fotter fieldset
  58. */
  59. function PMA_TRI_getFooterLinks()
  60. {
  61. return PMA_RTE_getFooterLinks('CREATE_TRIGGER', 'TRIGGER', 'TRIGGER');
  62. } // end PMA_TRI_getFooterLinks()
  63. /**
  64. * Creates a fieldset for adding a new event, if the user has the privileges.
  65. *
  66. * @return string HTML code with containing the fotter fieldset
  67. */
  68. function PMA_EVN_getFooterLinks()
  69. {
  70. global $db, $url_query;
  71. /**
  72. * For events, we show the usual 'Add event' form and also
  73. * a form for toggling the state of the event scheduler
  74. */
  75. // Init options for the event scheduler toggle functionality
  76. $es_state = PMA_DBI_fetch_value(
  77. "SHOW GLOBAL VARIABLES LIKE 'event_scheduler'",
  78. 0,
  79. 1
  80. );
  81. $es_state = strtolower($es_state);
  82. $options = array(
  83. 0 => array(
  84. 'label' => __('OFF'),
  85. 'value' => "SET GLOBAL event_scheduler=\"OFF\"",
  86. 'selected' => ($es_state != 'on')
  87. ),
  88. 1 => array(
  89. 'label' => __('ON'),
  90. 'value' => "SET GLOBAL event_scheduler=\"ON\"",
  91. 'selected' => ($es_state == 'on')
  92. )
  93. );
  94. // Generate output
  95. $retval = "<!-- FOOTER LINKS START -->\n";
  96. $retval .= "<div class='doubleFieldset'>\n";
  97. // show the usual footer
  98. $retval .= PMA_RTE_getFooterLinks('CREATE_EVENT', 'EVENT', 'EVENT');
  99. $retval .= " <fieldset class='right'>\n";
  100. $retval .= " <legend>\n";
  101. $retval .= " " . __('Event scheduler status') . "\n";
  102. $retval .= " </legend>\n";
  103. $retval .= " <div class='wrap'>\n";
  104. // show the toggle button
  105. $retval .= PMA_Util::toggleButton(
  106. "sql.php?$url_query&amp;goto=db_events.php" . urlencode("?db=$db"),
  107. 'sql_query',
  108. $options,
  109. 'PMA_slidingMessage(data.sql_query);'
  110. );
  111. $retval .= " </div>\n";
  112. $retval .= " </fieldset>\n";
  113. $retval .= " <div style='clear: both;'></div>\n";
  114. $retval .= "</div>";
  115. $retval .= "<!-- FOOTER LINKS END -->\n";
  116. return $retval;
  117. } // end PMA_EVN_getFooterLinks()
  118. ?>