view_operations.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <?php
  2. /* vim: set expandtab sw=4 ts=4 sts=4: */
  3. /**
  4. * View manipulations
  5. *
  6. * @package PhpMyAdmin
  7. */
  8. /**
  9. *
  10. */
  11. require_once './libraries/common.inc.php';
  12. $pma_table = new PMA_Table($GLOBALS['table'], $GLOBALS['db']);
  13. /**
  14. * functions implementation for this script
  15. */
  16. require_once 'libraries/operations.lib.php';
  17. /**
  18. * Runs common work
  19. */
  20. require './libraries/tbl_common.inc.php';
  21. $url_query .= '&amp;goto=view_operations.php&amp;back=view_operations.php';
  22. $url_params['goto'] = $url_params['back'] = 'view_operations.php';
  23. /**
  24. * Gets tables informations
  25. */
  26. require './libraries/tbl_info.inc.php';
  27. $reread_info = false;
  28. /**
  29. * Updates if required
  30. */
  31. if (isset($_REQUEST['submitoptions'])) {
  32. $_message = '';
  33. $warning_messages = array();
  34. if (isset($_REQUEST['new_name'])) {
  35. if ($pma_table->rename($_REQUEST['new_name'])) {
  36. $_message .= $pma_table->getLastMessage();
  37. $result = true;
  38. $GLOBALS['table'] = $pma_table->getName();
  39. $reread_info = true;
  40. $reload = true;
  41. } else {
  42. $_message .= $pma_table->getLastError();
  43. $result = false;
  44. }
  45. }
  46. }
  47. if (isset($result)) {
  48. // set to success by default, because result set could be empty
  49. // (for example, a table rename)
  50. $_type = 'success';
  51. if (empty($_message)) {
  52. $_message = $result
  53. ? __('Your SQL query has been executed successfully.')
  54. : __('Error');
  55. // $result should exist, regardless of $_message
  56. $_type = $result ? 'success' : 'error';
  57. }
  58. if (! empty($warning_messages)) {
  59. $_message = new PMA_Message;
  60. $_message->addMessages($warning_messages);
  61. $_message->isError(true);
  62. unset($warning_messages);
  63. }
  64. echo PMA_Util::getMessage(
  65. $_message, $sql_query, $_type, $is_view = true
  66. );
  67. unset($_message, $_type);
  68. }
  69. $url_params['goto'] = 'view_operations.php';
  70. $url_params['back'] = 'view_operations.php';
  71. /**
  72. * Displays the page
  73. */
  74. ?>
  75. <!-- Table operations -->
  76. <div class="operations_half_width">
  77. <form method="post" action="view_operations.php">
  78. <?php echo PMA_URL_getHiddenInputs($GLOBALS['db'], $GLOBALS['table']); ?>
  79. <input type="hidden" name="reload" value="1" />
  80. <fieldset>
  81. <legend><?php echo __('Operations'); ?></legend>
  82. <table>
  83. <!-- Change view name -->
  84. <tr><td><?php echo __('Rename view to'); ?></td>
  85. <td><input type="text" size="20" name="new_name" onfocus="this.select()"
  86. value="<?php echo htmlspecialchars($GLOBALS['table']); ?>"
  87. required />
  88. </td>
  89. </tr>
  90. </table>
  91. </fieldset>
  92. <fieldset class="tblFooters">
  93. <input type="hidden" name="submitoptions" value="1" />
  94. <input type="submit" value="<?php echo __('Go'); ?>" />
  95. </fieldset>
  96. </form>
  97. </div>
  98. <?php
  99. $drop_view_url_params = array_merge(
  100. $url_params,
  101. array(
  102. 'sql_query' => 'DROP VIEW ' . PMA_Util::backquote($GLOBALS['table']),
  103. 'goto' => 'tbl_structure.php',
  104. 'reload' => '1',
  105. 'purge' => '1',
  106. 'message_to_show' => sprintf(
  107. __('View %s has been dropped.'),
  108. htmlspecialchars($GLOBALS['table'])
  109. ),
  110. 'table' => $GLOBALS['table']
  111. )
  112. );
  113. echo '<div class="operations_half_width">';
  114. echo '<fieldset class="caution">';
  115. echo '<legend>' . __('Delete data or table') . '</legend>';
  116. echo '<ul>';
  117. echo PMA_getDeleteDataOrTableLink(
  118. $drop_view_url_params,
  119. 'DROP VIEW',
  120. __('Delete the view (DROP)'),
  121. 'drop_view_anchor'
  122. );
  123. echo '</ul>';
  124. echo '</fieldset>';
  125. echo '</div>';