summaryrefslogtreecommitdiff
path: root/hugo/libraries/build_html_for_db.lib.php
diff options
context:
space:
mode:
authorTristan Zur <tzur@web.web.ccwn.org>2014-03-27 22:27:47 +0100
committerTristan Zur <tzur@web.web.ccwn.org>2014-03-27 22:27:47 +0100
commitb62676ca5d3d6f6ba3f019ea3f99722e165a98d8 (patch)
tree86722cb80f07d4569f90088eeaea2fc2f6e2ef94 /hugo/libraries/build_html_for_db.lib.php
Initial commit of intern.ccwn.org contentsHEADmaster
Diffstat (limited to 'hugo/libraries/build_html_for_db.lib.php')
-rw-r--r--hugo/libraries/build_html_for_db.lib.php180
1 files changed, 180 insertions, 0 deletions
diff --git a/hugo/libraries/build_html_for_db.lib.php b/hugo/libraries/build_html_for_db.lib.php
new file mode 100644
index 0000000..21602cc
--- /dev/null
+++ b/hugo/libraries/build_html_for_db.lib.php
@@ -0,0 +1,180 @@
+<?php
+/* vim: set expandtab sw=4 ts=4 sts=4: */
+/**
+ *
+ * @package PhpMyAdmin
+ */
+if (! defined('PHPMYADMIN')) {
+ exit;
+}
+
+/**
+ * Prepares the $column_order array
+ *
+ * @return array
+ */
+function PMA_getColumnOrder()
+{
+
+ $column_order['DEFAULT_COLLATION_NAME'] = array(
+ 'disp_name' => __('Collation'),
+ 'description_function' => 'PMA_getCollationDescr',
+ 'format' => 'string',
+ 'footer' => PMA_getServerCollation(),
+ );
+ $column_order['SCHEMA_TABLES'] = array(
+ 'disp_name' => __('Tables'),
+ 'format' => 'number',
+ 'footer' => 0,
+ );
+ $column_order['SCHEMA_TABLE_ROWS'] = array(
+ 'disp_name' => __('Rows'),
+ 'format' => 'number',
+ 'footer' => 0,
+ );
+ $column_order['SCHEMA_DATA_LENGTH'] = array(
+ 'disp_name' => __('Data'),
+ 'format' => 'byte',
+ 'footer' => 0,
+ );
+ $column_order['SCHEMA_INDEX_LENGTH'] = array(
+ 'disp_name' => __('Indexes'),
+ 'format' => 'byte',
+ 'footer' => 0,
+ );
+ $column_order['SCHEMA_LENGTH'] = array(
+ 'disp_name' => __('Total'),
+ 'format' => 'byte',
+ 'footer' => 0,
+ );
+ $column_order['SCHEMA_DATA_FREE'] = array(
+ 'disp_name' => __('Overhead'),
+ 'format' => 'byte',
+ 'footer' => 0,
+ );
+
+ return $column_order;
+}
+
+/*
+ * Builds the HTML td elements for one database to display in the list
+ * of databases from server_databases.php (which can be modified by
+ * db_create.php)
+ *
+ * @param array $current
+ * @param boolean $is_superuser
+ * @param string $url_query
+ * @param array $column_order
+ * @param array $replication_types
+ * @param array $replication_info
+ *
+ * @return array $column_order, $out
+ */
+function PMA_buildHtmlForDb(
+ $current, $is_superuser, $url_query,
+ $column_order, $replication_types, $replication_info
+) {
+ $out = '';
+ if ($is_superuser || $GLOBALS['cfg']['AllowUserDropDatabase']) {
+ $out .= '<td class="tool">';
+ $out .= '<input type="checkbox" name="selected_dbs[]" class="checkall" '
+ . 'title="' . htmlspecialchars($current['SCHEMA_NAME']) . '" '
+ . 'value="' . htmlspecialchars($current['SCHEMA_NAME']) . '"';
+
+ if (PMA_is_system_schema($current['SCHEMA_NAME'], true)) {
+ $out .= ' disabled="disabled"';
+ }
+ $out .= ' /></td>';
+ }
+ $out .= '<td class="name">'
+ . '<a href="' . $GLOBALS['cfg']['DefaultTabDatabase']
+ . '?' . $url_query . '&amp;db='
+ . urlencode($current['SCHEMA_NAME']) . '" title="'
+ . sprintf(
+ __('Jump to database'),
+ htmlspecialchars($current['SCHEMA_NAME'])
+ )
+ . '">'
+ . ' ' . htmlspecialchars($current['SCHEMA_NAME'])
+ . '</a>'
+ . '</td>';
+
+ foreach ($column_order as $stat_name => $stat) {
+ if (array_key_exists($stat_name, $current)) {
+ if (is_numeric($stat['footer'])) {
+ $column_order[$stat_name]['footer'] += $current[$stat_name];
+ }
+ if ($stat['format'] === 'byte') {
+ list($value, $unit) = PMA_Util::formatByteDown(
+ $current[$stat_name], 3, 1
+ );
+ } elseif ($stat['format'] === 'number') {
+ $value = PMA_Util::formatNumber(
+ $current[$stat_name], 0
+ );
+ } else {
+ $value = htmlentities($current[$stat_name], 0);
+ }
+ $out .= '<td class="value">';
+ if (isset($stat['description_function'])) {
+ $out .= '<dfn title="'
+ . $stat['description_function']($current[$stat_name]) . '">';
+ }
+ $out .= $value;
+ if (isset($stat['description_function'])) {
+ $out .= '</dfn>';
+ }
+ $out .= '</td>';
+ if ($stat['format'] === 'byte') {
+ $out .= '<td class="unit">' . $unit . '</td>';
+ }
+ }
+ }
+ foreach ($replication_types as $type) {
+ if ($replication_info[$type]['status']) {
+ $out .= '<td class="tool" style="text-align: center;">';
+
+ $key = array_search(
+ $current["SCHEMA_NAME"],
+ $replication_info[$type]['Ignore_DB']
+ );
+ if (strlen($key) > 0) {
+ $out .= PMA_Util::getIcon('s_cancel.png', __('Not replicated'));
+ } else {
+ $key = array_search(
+ $current["SCHEMA_NAME"], $replication_info[$type]['Do_DB']
+ );
+
+ if (strlen($key) > 0
+ || ($replication_info[$type]['Do_DB'][0] == ""
+ && count($replication_info[$type]['Do_DB']) == 1)
+ ) {
+ // if ($key != null) did not work for index "0"
+ $out .= PMA_Util::getIcon('s_success.png', __('Replicated'));
+ }
+ }
+
+ $out .= '</td>';
+ }
+ }
+
+ if ($is_superuser && !PMA_DRIZZLE) {
+ $out .= '<td class="tool">'
+ . '<a onclick="'
+ . 'PMA_commonActions.setDb(\''
+ . PMA_jsFormat($current['SCHEMA_NAME']) . '\');'
+ . '" href="server_privileges.php?' . $url_query
+ . '&amp;checkprivs=' . urlencode($current['SCHEMA_NAME'])
+ . '" title="'
+ . sprintf(
+ __('Check privileges for database &quot;%s&quot;.'),
+ htmlspecialchars($current['SCHEMA_NAME'])
+ )
+ . '">'
+ . ' '
+ . PMA_Util::getIcon('s_rights.png', __('Check Privileges'))
+ . '</a></td>';
+ }
+ return array($column_order, $out);
+}
+?>