Translated using Weblate (German)
[phpmyadmin.git] / view_operations.php
bloba778490a402c4dbc93f9fb465b324e3cb901cd9f
1 <?php
2 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 /**
4 * View manipulations
6 * @package PhpMyAdmin
7 */
8 declare(strict_types=1);
10 use PhpMyAdmin\Message;
11 use PhpMyAdmin\Operations;
12 use PhpMyAdmin\Relation;
13 use PhpMyAdmin\Response;
14 use PhpMyAdmin\Table;
15 use PhpMyAdmin\Url;
16 use PhpMyAdmin\Util;
18 /**
21 require_once './libraries/common.inc.php';
23 $pma_table = new Table($GLOBALS['table'], $GLOBALS['db']);
25 /**
26 * Load JavaScript files
28 $response = Response::getInstance();
29 $header = $response->getHeader();
30 $scripts = $header->getScripts();
31 $scripts->addFile('tbl_operations.js');
33 /**
34 * Runs common work
36 require './libraries/tbl_common.inc.php';
37 $url_query .= '&amp;goto=view_operations.php&amp;back=view_operations.php';
38 $url_params['goto'] = $url_params['back'] = 'view_operations.php';
40 $relation = new Relation($GLOBALS['dbi']);
41 $operations = new Operations($GLOBALS['dbi'], $relation);
43 /**
44 * Updates if required
46 $_message = new Message();
47 $_type = 'success';
48 if (isset($_REQUEST['submitoptions'])) {
49 if (isset($_REQUEST['new_name'])) {
50 if ($pma_table->rename($_REQUEST['new_name'])) {
51 $_message->addText($pma_table->getLastMessage());
52 $result = true;
53 $GLOBALS['table'] = $pma_table->getName();
54 /* Force reread after rename */
55 $pma_table->getStatusInfo(null, true);
56 $reload = true;
57 } else {
58 $_message->addText($pma_table->getLastError());
59 $result = false;
63 $warning_messages = $operations->getWarningMessagesArray();
66 if (isset($result)) {
67 // set to success by default, because result set could be empty
68 // (for example, a table rename)
69 if (empty($_message->getString())) {
70 if ($result) {
71 $_message->addText(
72 __('Your SQL query has been executed successfully.')
74 } else {
75 $_message->addText(__('Error'));
77 // $result should exist, regardless of $_message
78 $_type = $result ? 'success' : 'error';
80 if (! empty($warning_messages)) {
81 $_message->addMessagesString($warning_messages);
82 $_message->isError(true);
83 unset($warning_messages);
85 echo Util::getMessage(
86 $_message,
87 $sql_query,
88 $_type
91 unset($_message, $_type);
93 $url_params['goto'] = 'view_operations.php';
94 $url_params['back'] = 'view_operations.php';
96 /**
97 * Displays the page
100 <!-- Table operations -->
101 <div>
102 <form method="post" action="view_operations.php">
103 <?php echo Url::getHiddenInputs($GLOBALS['db'], $GLOBALS['table']); ?>
104 <input type="hidden" name="reload" value="1" />
105 <fieldset>
106 <legend><?php echo __('Operations'); ?></legend>
108 <table>
109 <!-- Change view name -->
110 <tr><td><?php echo __('Rename view to'); ?></td>
111 <td><input type="text" name="new_name" onfocus="this.select()"
112 value="<?php echo htmlspecialchars($GLOBALS['table']); ?>"
113 required />
114 </td>
115 </tr>
116 </table>
117 </fieldset>
118 <fieldset class="tblFooters">
119 <input type="hidden" name="submitoptions" value="1" />
120 <input type="submit" value="<?php echo __('Go'); ?>" />
121 </fieldset>
122 </form>
123 </div>
124 <?php
125 $drop_view_url_params = array_merge(
126 $url_params,
128 'sql_query' => 'DROP VIEW ' . Util::backquote(
129 $GLOBALS['table']
131 'goto' => 'tbl_structure.php',
132 'reload' => '1',
133 'purge' => '1',
134 'message_to_show' => sprintf(
135 __('View %s has been dropped.'),
136 htmlspecialchars($GLOBALS['table'])
138 'table' => $GLOBALS['table']
141 echo '<div>';
142 echo '<fieldset class="caution">';
143 echo '<legend>' , __('Delete data or table') , '</legend>';
145 echo '<ul>';
146 echo $operations->getDeleteDataOrTablelink(
147 $drop_view_url_params,
148 'DROP VIEW',
149 __('Delete the view (DROP)'),
150 'drop_view_anchor'
152 echo '</ul>';
153 echo '</fieldset>';
154 echo '</div>';