">
' . htmlspecialchars($field["field"]) . ''; } /** Links after select heading * @param array result of SHOW TABLE STATUS * @return string */ function selectLinks($tableStatus) { global $SELF; return '' . lang('Table structure') . ''; } /** Find backward keys for table * @param string * @return array $return[$target_table][$key_name][$target_column] = $source_column; */ function backwardKeys($table) { return array(); } /** Query printed in select before execution * @param string query to be executed * @return string */ function selectQuery($query) { global $SELF; // it would be nice if $query can be passed by reference and printed value would be returned but call_user() doesn't allow reference parameters return "

" . htmlspecialchars($query) . " " . lang('Edit') . "\n"; } /** Description of a row in a table * @param string * @return string SQL expression, empty string for no description */ function rowDescription($table) { return ""; } /** Get descriptions of selected data * @param array all data to print * @param array * @return array */ function rowDescriptions($rows, $foreignKeys) { return $rows; } /** Value printed in select table * @param string escaped value to print * @param string link to foreign key * @param array single field returned from fields() * @return string */ function selectVal($val, $link, $field) { $return = ($field["type"] == "char" ? "$val" : $val); if (ereg('blob|binary', $field["type"]) && !is_utf8($val)) { $return = lang('%d byte(s)', strlen($val)); } return ($link ? "$return" : $return); } /** Print extra text in the end of a select form * @param array fields holding e-mails * @return null */ function selectExtraDisplay($emailFields) { } /** Process extras in select form * @param array AND conditions * @return bool true if processed, false to process other parts of form */ function selectExtraProcess($where) { return false; } /** Query printed after execution in the message * @param string executed query * @return string */ function messageQuery($query) { global $SELF; $id = "sql-" . count($_SESSION["messages"]); $_SESSION["history"][$_GET["server"]][$_GET["db"]][] = $query; return " " . lang('SQL command') . "

'; } /** Functions displayed in edit form * @param array single field from fields() * @return array */ function editFunctions($field) { $return = array(""); if (!isset($_GET["default"])) { if (ereg('char|date|time', $field["type"])) { $return = (ereg('char', $field["type"]) ? array("", "md5", "sha1", "password", "uuid") : array("", "now")); //! JavaScript for disabling maxlength } if (!isset($_GET["call"]) && (isset($_GET["select"]) || where($_GET))) { // relative functions if (ereg('int|float|double|decimal', $field["type"])) { $return = array("", "+", "-"); } if (ereg('date', $field["type"])) { $return[] = "+ interval"; $return[] = "- interval"; } if (ereg('time', $field["type"])) { $return[] = "addtime"; $return[] = "subtime"; } } } if ($field["null"] || isset($_GET["default"])) { array_unshift($return, "NULL"); } return (isset($_GET["select"]) ? array("orig" => lang('original')) : array()) + $return; } /** Get options to display edit field * @param string table name * @param array single field from fields() * @return array options for */ function editInput($table, $field) { return false; } /** Process sent input * @param string field name * @param array single field from fields() * @return string expression to use in a query */ function processInput($name, $field) { global $dbh; $idf = bracket_escape($name); $function = $_POST["function"][$idf]; $value = $_POST["fields"][$idf]; $return = $dbh->quote($value); if (ereg('^(now|uuid)$', $function)) { $return = "$function()"; } elseif (ereg('^[+-]$', $function)) { $return = idf_escape($name) . " $function $return"; } elseif (ereg('^[+-] interval$', $function)) { $return = idf_escape($name) . " $function " . (preg_match("~^([0-9]+|'[0-9.: -]') [A-Z_]+$~i", $value) ? $value : $return); } elseif (ereg('^(addtime|subtime)$', $function)) { $return = "$function(" . idf_escape($name) . ", $return)"; } elseif (ereg('^(md5|sha1|password)$', $function)) { $return = "$function($return)"; } elseif (ereg('date|time', $field["type"]) && $value == "CURRENT_TIMESTAMP") { $return = $value; } return $return; } /** Prints navigation after Adminer title * @param string can be "auth" if there is no database connection or "db" if there is no database selected * @return null */ function navigation($missing) { global $SELF, $dbh; if ($missing != "auth") { ob_flush(); flush(); $databases = get_databases(); ?>

"> ">

"> "> >

query("SHOW TABLES"); if (!$result->num_rows) { echo "

" . lang('No tables.') . "\n"; } else { echo "

\n"; while ($row = $result->fetch_row()) { echo '' . lang('select') . ' '; echo '' . $this->tableName(array("Name" => $row[0])) . "
\n"; //! Adminer::table_name may work with full table status } } $result->free(); echo '

' . lang('Create new table') . "\n"; } } } }