setName(v($_REQUEST["name"])); $editor->loadTable(true, true, false); if ($action == "alter") { $result = alterTableIndexes($db, v($_REQUEST["query"]), $editor); $formatted_query = preg_replace("/[\\n|\\r]?[\\n]+/", "
", htmlspecialchars($editor->getSql())); if ($result) print '
1
' .'
The command executed successfully.
' .'
'.$formatted_query.'
' .'
'; else print '
0
' .'
Error occured while executing the query:
' .'
'.$formatted_query.'
' .'
'.htmlspecialchars($db->getError()).'
' .'
'; } else displayIndexesForm($db, $editor); } function displayIndexesForm(&$db, &$editor) { $indexes = $editor->getIndexes(); $fields = $editor->getFields(); $replace = array( 'ID' => v($_REQUEST["id"]) ? htmlspecialchars($_REQUEST["id"]) : '', 'MESSAGE' => __('Changes are not saved until you press [Save All Changes]'), 'INDEXES' => count($indexes) > 0 ? json_encode($indexes) : '{}', 'FIELDS' => json_encode($fields), 'TABLE_NAME' => htmlspecialchars($editor->getName()) ); echo view('indexes', $replace); } function alterTableIndexes(&$db, $info, &$editor) { $info = json_decode($info); if (!is_object($info)) return false; if (v($info->indexes)) $editor->setIndexes($info->indexes); $sql = $editor->getAlterIndexStatement(); if (!$db->query($sql)) return false; return true; } ?>