Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 330 lines (306 sloc) 9.96 kB
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
1 <?php
cb89bd2 @lem9 invalid vim modeline
lem9 authored
2 /* vim: set expandtab sw=4 ts=4 sts=4: */
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
3 /**
4dea5b6 new Class PMA_Index;
Sebastian Mendel authored
4 * Displays index edit/creation form and handles it
71d4904 bug #1627210, #1083301, #1482401 [data] warning on duplicate indexes
Sebastian Mendel authored
5 *
e56949f @nijel Use package name PhpMyAdmin
nijel authored
6 * @package PhpMyAdmin
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
7 */
8
9 /**
71d4904 bug #1627210, #1083301, #1482401 [data] warning on duplicate indexes
Sebastian Mendel authored
10 * Gets some core libraries
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
11 */
b2fd866 Leading ./ paths for includes can be omitted, part 2
Jo Michael authored
12 require_once 'libraries/common.inc.php';
13 require_once 'libraries/Index.class.php';
14 require_once 'libraries/tbl_common.php';
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
15
16 // Get fields and stores their name/type
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
17 $fields = array();
4e2cd5e @Crack Fix broken column list in index creation
Crack authored
18 foreach (PMA_DBI_get_columns_full($db, $table) as $row) {
c2b46ac Final batch of PHP3-Compatibility fixes. Please test. :-)
Garvin Hicking authored
19 if (preg_match('@^(set|enum)\((.+)\)$@i', $row['Type'], $tmp)) {
3332151 @madhuracj Fix Checkstyle Warnings - Type: CloseBracketLine (Closing parenthesis…
madhuracj authored
20 $tmp[2] = substr(
21 preg_replace('@([^,])\'\'@', '\\1\\\'', ',' . $tmp[2]), 1
22 );
2466594 Fix checkstyle ControlStructures warnings
Jo Michael authored
23 $fields[$row['Field']] = $tmp[1] . '('
24 . str_replace(',', ', ', $tmp[2]) . ')';
6a76b2c improved the fix against bug #489440
Loïc Chapeaux authored
25 } else {
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
26 $fields[$row['Field']] = $row['Type'];
6a76b2c improved the fix against bug #489440
Loïc Chapeaux authored
27 }
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
28 } // end while
29
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
30 // Prepares the form values
31 if (isset($_REQUEST['index'])) {
32 if (is_array($_REQUEST['index'])) {
33 // coming already from form
34 $index = new PMA_Index($_REQUEST['index']);
35 } else {
36 $index = PMA_Index::singleton($db, $table, $_REQUEST['index']);
37 }
38 } else {
39 $index = new PMA_Index;
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
40 }
41
42 /**
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
43 * Process the data from the edit/create index form,
44 * run the query to build the new index
45 * and moves back to "tbl_sql.php"
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
46 */
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
47 if (isset($_REQUEST['do_save_data'])) {
48 $error = false;
84ae042 @nijel Adding @package, third part.
nijel authored
49
b93e258 @nijel Cleaner solution for showing query after changing index
nijel authored
50 // $sql_query is the one displayed in the query box
6281b4f @roccivic Fixed query generation for index editor (was broken in 03cb36142033f0…
roccivic authored
51 $sql_query = 'ALTER TABLE ' . PMA_backquote($db) . '.' . PMA_backquote($table);
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
52
53 // Drops the old index
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
54 if (! empty($_REQUEST['old_index'])) {
55 if ($_REQUEST['old_index'] == 'PRIMARY') {
b93e258 @nijel Cleaner solution for showing query after changing index
nijel authored
56 $sql_query .= ' DROP PRIMARY KEY,';
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
57 } else {
2466594 Fix checkstyle ControlStructures warnings
Jo Michael authored
58 $sql_query .= ' DROP INDEX '
59 . PMA_backquote($_REQUEST['old_index']) . ',';
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
60 }
61 } // end if
62
63 // Builds the new one
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
64 switch ($index->getType()) {
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
65 case 'PRIMARY':
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
66 if ($index->getName() == '') {
67 $index->setName('PRIMARY');
68 } elseif ($index->getName() != 'PRIMARY') {
2466594 Fix checkstyle ControlStructures warnings
Jo Michael authored
69 $error = PMA_Message::error(__(
70 'The name of the primary key must be "PRIMARY"!'));
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
71 }
72 $sql_query .= ' ADD PRIMARY KEY';
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
73 break;
74 case 'FULLTEXT':
75 case 'UNIQUE':
76 case 'INDEX':
f2569ac @madhuracj Spatial indexes added.
madhuracj authored
77 case 'SPATIAL':
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
78 if ($index->getName() == 'PRIMARY') {
632211d @lem9 gettext conversion
lem9 authored
79 $error = PMA_Message::error(__('Can\'t rename index to PRIMARY!'));
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
80 }
81 $sql_query .= ' ADD ' . $index->getType() . ' '
82 . ($index->getName() ? PMA_backquote($index->getName()) : '');
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
83 break;
84 } // end switch
84ae042 @nijel Adding @package, third part.
nijel authored
85
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
86 $index_fields = array();
87 foreach ($index->getColumns() as $key => $column) {
88 $index_fields[$key] = PMA_backquote($column->getName());
89 if ($column->getSubPart()) {
90 $index_fields[$key] .= '(' . $column->getSubPart() . ')';
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
91 }
92 } // end while
84ae042 @nijel Adding @package, third part.
nijel authored
93
25bda8e @nijel Fix spacing on opening code block
nijel authored
94 if (empty($index_fields)) {
632211d @lem9 gettext conversion
lem9 authored
95 $error = PMA_Message::error(__('No index parts defined!'));
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
96 } else {
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
97 $sql_query .= ' (' . implode(', ', $index_fields) . ')';
98 }
84ae042 @nijel Adding @package, third part.
nijel authored
99
6281b4f @roccivic Fixed query generation for index editor (was broken in 03cb36142033f0…
roccivic authored
100 $sql_query .= ';';
101
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
102 if (! $error) {
103 PMA_DBI_query($sql_query);
2466594 Fix checkstyle ControlStructures warnings
Jo Michael authored
104 $message = PMA_Message::success(__(
105 'Table %1$s has been altered successfully'));
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
106 $message->addParam($table);
9bcb83a @madhuracj File is being conditionally included; use "include" instead
madhuracj authored
107
219ec73 @nijel Spacing around if
nijel authored
108 if ( $GLOBALS['is_ajax_request'] == true) {
0cb77d1 @lgtkaushalya Ajaxify Index edit in table structure
lgtkaushalya authored
109 $extra_data['index_table'] = PMA_Index::getView($table, $db);
13adb5a @madhuracj Use lower case for true, false and null
madhuracj authored
110 $extra_data['sql_query'] = PMA_showMessage(null, $sql_query);
0cb77d1 @lgtkaushalya Ajaxify Index edit in table structure
lgtkaushalya authored
111 PMA_ajaxResponse($message, $message->isSuccess(), $extra_data);
112 }
9bcb83a @madhuracj File is being conditionally included; use "include" instead
madhuracj authored
113
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
114 $active_page = 'tbl_structure.php';
b2fd866 Leading ./ paths for includes can be omitted, part 2
Jo Michael authored
115 include 'tbl_structure.php';
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
116 exit;
117 } else {
219ec73 @nijel Spacing around if
nijel authored
118 if ( $GLOBALS['is_ajax_request'] == true) {
ddb7769 @lgtkaushalya Fixed bugs od index edit in table structure
lgtkaushalya authored
119 $extra_data['error'] = $error;
9bcb83a @madhuracj File is being conditionally included; use "include" instead
madhuracj authored
120 PMA_ajaxResponse($error, false);
ddb7769 @lgtkaushalya Fixed bugs od index edit in table structure
lgtkaushalya authored
121 }
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
122 $error->display();
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
123 }
124 } // end builds the new index
125
126
127 /**
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
128 * Display the form to edit/create an index
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
129 */
bf3be70 @lem9 bug 725711 FULLTEXT index type
lem9 authored
130
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
131 // Displays headers (if needed)
132 $GLOBALS['js_include'][] = 'indexes.js';
b2fd866 Leading ./ paths for includes can be omitted, part 2
Jo Michael authored
133 require_once 'libraries/tbl_info.inc.php';
f607d8a @roccivic table structure: Do not send #topmenucontainer in ajax requests
roccivic authored
134 if ($GLOBALS['is_ajax_request'] != true) {
b2fd866 Leading ./ paths for includes can be omitted, part 2
Jo Michael authored
135 include_once 'libraries/tbl_links.inc.php';
a97eeae @roccivic Ajaxified "Create index" dialog
roccivic authored
136 }
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
137
58d05ac @lem9 undefined where starting to create an index
lem9 authored
138 if (isset($_REQUEST['index']) && is_array($_REQUEST['index'])) {
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
139 // coming already from form
35b18e5 @madhuracj Coding style improvements - Multiline assignments
madhuracj authored
140 $add_fields
141 = count($_REQUEST['index']['columns']['names']) - $index->getColumnCount();
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
142 if (isset($_REQUEST['add_fields'])) {
143 $add_fields += $_REQUEST['added_fields'];
144 }
145 } elseif (isset($_REQUEST['create_index'])) {
146 $add_fields = $_REQUEST['added_fields'];
147 } else {
148 $add_fields = 1;
149 }
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
150
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
151 // end preparing form values
152 ?>
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
153
2466594 Fix checkstyle ControlStructures warnings
Jo Michael authored
154 <form action="tbl_indexes.php" method="post" name="index_frm" id="index_frm" <?php
155 echo ($GLOBALS['cfg']['AjaxEnable']
156 ? ' class="ajax"'
157 : ''); ?>
2ec0de3 @roccivic Fix for bug #3350790 - JS error in Table->Structure->Index->Edit
roccivic authored
158 onsubmit="if (typeof(this.elements['index[Key_name]'].disabled) != 'undefined') {
159 this.elements['index[Key_name]'].disabled = false}">
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
160 <?php
161 $form_params = array(
162 'db' => $db,
163 'table' => $table,
164 );
165
166 if (isset($_REQUEST['create_index'])) {
167 $form_params['create_index'] = 1;
168 } elseif (isset($_REQUEST['old_index'])) {
169 $form_params['old_index'] = $_REQUEST['old_index'];
170 } elseif (isset($_REQUEST['index'])) {
171 $form_params['old_index'] = $_REQUEST['index'];
172 }
0237ab7 revised XHTML output
Sebastian Mendel authored
173
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
174 echo PMA_generate_common_hidden_inputs($form_params);
175 ?>
37641b3 @lgtkaushalya Fixed bugs in index edit
lgtkaushalya authored
176 <fieldset id="index_edit_fields">
fc22faa @roccivic Improved index editor
roccivic authored
177 <?php
178 if ($GLOBALS['is_ajax_request'] != true) {
179 ?>
0237ab7 revised XHTML output
Sebastian Mendel authored
180 <legend>
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
181 <?php
fc22faa @roccivic Improved index editor
roccivic authored
182 if (isset($_REQUEST['create_index'])) {
183 echo __('Add index');
184 } else {
185 echo __('Edit index');
186 }
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
187 ?>
0237ab7 revised XHTML output
Sebastian Mendel authored
188 </legend>
39cb4d4 @roccivic Fix for bug #3353811 - Info message has "error" class
roccivic authored
189 <?php
fc22faa @roccivic Improved index editor
roccivic authored
190 }
39cb4d4 @roccivic Fix for bug #3353811 - Info message has "error" class
roccivic authored
191 ?>
af322da @roccivic Fixed IE bug in the new index editor
roccivic authored
192 <div class='index_info'>
193 <div>
194 <div class="label">
195 <strong>
196 <label for="input_index_name">
197 <?php echo __('Index name:'); ?>
2466594 Fix checkstyle ControlStructures warnings
Jo Michael authored
198 <?php echo PMA_showhint(PMA_Message::notice(__(
199 '("PRIMARY" <b>must</b> be the name of and <b>only of</b> a primary key!)'))); ?>
af322da @roccivic Fixed IE bug in the new index editor
roccivic authored
200 </label>
201 </strong>
202 </div>
203 <input type="text" name="index[Key_name]" id="input_index_name" size="25"
2466594 Fix checkstyle ControlStructures warnings
Jo Michael authored
204 value="<?php echo htmlspecialchars($index->getName()); ?>"
205 onfocus="this.select()" />
af322da @roccivic Fixed IE bug in the new index editor
roccivic authored
206 </div>
207 <div>
208 <div class="label">
209 <strong>
210 <label for="select_index_type">
211 <?php echo __('Index type:'); ?>
212 <?php echo PMA_showMySQLDocu('SQL-Syntax', 'ALTER_TABLE'); ?>
213 </label>
214 </strong>
215 </div>
216 <select name="index[Index_type]" id="select_index_type" >
217 <?php echo $index->generateIndexSelector(); ?>
218 </select>
219 </div>
220 <div class="clearfloat"></div>
0237ab7 revised XHTML output
Sebastian Mendel authored
221 </div>
222
0cb77d1 @lgtkaushalya Ajaxify Index edit in table structure
lgtkaushalya authored
223 <table id="index_columns">
0237ab7 revised XHTML output
Sebastian Mendel authored
224 <thead>
caa9844 @lem9 conform to relational terminology regarding columns and rows
lem9 authored
225 <tr><th><?php echo __('Column'); ?></th>
f55823f @lem9 strings to gettext, first batch
lem9 authored
226 <th><?php echo __('Size'); ?></th>
0237ab7 revised XHTML output
Sebastian Mendel authored
227 </tr>
228 </thead>
229 <tbody>
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
230 <?php
231 $odd_row = true;
f2569ac @madhuracj Spatial indexes added.
madhuracj authored
232 $spatial_types = array(
233 'geometry', 'point', 'linestring', 'polygon', 'multipoint',
234 'multilinestring', 'multipolygon', 'geomtrycollection'
235 );
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
236 foreach ($index->getColumns() as $column) {
237 ?>
fc22faa @roccivic Improved index editor
roccivic authored
238 <tr class="<?php echo $odd_row ? 'odd' : 'even'; ?> noclick">
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
239 <td><select name="index[columns][names][]">
f55823f @lem9 strings to gettext, first batch
lem9 authored
240 <option value="">-- <?php echo __('Ignore'); ?> --</option>
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
241 <?php
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
242 foreach ($fields as $field_name => $field_type) {
2466594 Fix checkstyle ControlStructures warnings
Jo Michael authored
243 if (($index->getType() != 'FULLTEXT'
244 || preg_match('/(char|text)/i', $field_type))
245 && ($index->getType() != 'SPATIAL'
246 || in_array($field_type, $spatial_types))
f2569ac @madhuracj Spatial indexes added.
madhuracj authored
247 ) {
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
248 echo '<option value="' . htmlspecialchars($field_name) . '"'
2466594 Fix checkstyle ControlStructures warnings
Jo Michael authored
249 . (($field_name == $column->getName())
250 ? ' selected="selected"'
251 : '') . '>'
252 . htmlspecialchars($field_name) . ' ['
253 . htmlspecialchars($field_type) . ']'
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
254 . '</option>' . "\n";
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
255 }
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
256 } // end foreach $fields
257 ?>
0237ab7 revised XHTML output
Sebastian Mendel authored
258 </select>
259 </td>
260 <td><input type="text" size="5" onfocus="this.select()"
f08f9bc @madhuracj On creation or alteration spatial indexes do not allow 1. Multiple co…
madhuracj authored
261 name="index[columns][sub_parts][]"
2466594 Fix checkstyle ControlStructures warnings
Jo Michael authored
262 value="<?php
263 if ($index->getType() != 'SPATIAL') {
264 echo $column->getSubPart();
265 } ?>" />
0237ab7 revised XHTML output
Sebastian Mendel authored
266 </td>
0b6975f @derrabus Patch #947190
derrabus authored
267 </tr>
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
268 <?php
269 $odd_row = !$odd_row;
270 } // end foreach $edited_index_info['Sequences']
271 for ($i = 0; $i < $add_fields; $i++) {
0237ab7 revised XHTML output
Sebastian Mendel authored
272 ?>
fc22faa @roccivic Improved index editor
roccivic authored
273 <tr class="<?php echo $odd_row ? 'odd' : 'even'; ?> noclick">
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
274 <td><select name="index[columns][names][]">
f55823f @lem9 strings to gettext, first batch
lem9 authored
275 <option value="">-- <?php echo __('Ignore'); ?> --</option>
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
276 <?php
277 foreach ($fields as $field_name => $field_type) {
278 echo '<option value="' . htmlspecialchars($field_name) . '">'
2466594 Fix checkstyle ControlStructures warnings
Jo Michael authored
279 . htmlspecialchars($field_name) . ' ['
280 . htmlspecialchars($field_type) . ']'
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
281 . '</option>' . "\n";
282 } // end foreach $fields
283 ?>
284 </select>
285 </td>
286 <td><input type="text" size="5" onfocus="this.select()"
287 name="index[columns][sub_parts][]" value="" />
288 </td>
289 </tr>
290 <?php
291 $odd_row = !$odd_row;
292 } // end foreach $edited_index_info['Sequences']
293 ?>
0237ab7 revised XHTML output
Sebastian Mendel authored
294 </tbody>
ca5b16f @nijel Change look of adding fields into table (bug #991095).
nijel authored
295 </table>
0237ab7 revised XHTML output
Sebastian Mendel authored
296 </fieldset>
297 <fieldset class="tblFooters">
fc22faa @roccivic Improved index editor
roccivic authored
298 <?php
299 if ($GLOBALS['is_ajax_request'] != true) {
300 ?>
f55823f @lem9 strings to gettext, first batch
lem9 authored
301 <input type="submit" name="do_save_data" value="<?php echo __('Save'); ?>" />
f08f9bc @madhuracj On creation or alteration spatial indexes do not allow 1. Multiple co…
madhuracj authored
302 <span id="addMoreColumns">
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
303 <?php
f55823f @lem9 strings to gettext, first batch
lem9 authored
304 echo __('Or') . ' ';
fc22faa @roccivic Improved index editor
roccivic authored
305 printf(
306 __('Add to index &nbsp;%s&nbsp;column(s)') . "\n",
307 '<input type="text" name="added_fields" size="2" value="1" />'
308 );
309 echo '<input type="submit" name="add_fields" value="' . __('Go') . '" />' . "\n";
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
310 ?>
f08f9bc @madhuracj On creation or alteration spatial indexes do not allow 1. Multiple co…
madhuracj authored
311 </span>
fc22faa @roccivic Improved index editor
roccivic authored
312 <?php
313 } else {
314 $btn_value = sprintf(__('Add %d column(s) to index'), 1);
315 echo '<div class="slider"></div>';
316 echo '<div class="add_fields">';
317 echo '<input type="submit" value="' . $btn_value . '" />';
318 echo '</div>';
319 }
320 ?>
0237ab7 revised XHTML output
Sebastian Mendel authored
321 </fieldset>
0b6975f @derrabus Patch #947190
derrabus authored
322 </form>
bda5a21 more cleanup/refactoring on index code
Sebastian Mendel authored
323 <?php
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
324
325 /**
326 * Displays the footer
327 */
b2fd866 Leading ./ paths for includes can be omitted, part 2
Jo Michael authored
328 require 'libraries/footer.inc.php';
9d3ecd3 commited patch #458014 - Advanced index generation/editing thanks to …
Loïc Chapeaux authored
329 ?>
Something went wrong with that request. Please try again.