Fix bug reported by Alexey Baturin on admin page + small ergonomy changes
authorGuillaume (ioguix) de Rorthais <ioguix@free.fr>
Sun, 16 May 2010 21:47:07 +0000 (23:47 +0200)
committerGuillaume (ioguix) de Rorthais <ioguix@free.fr>
Sun, 16 May 2010 21:47:07 +0000 (23:47 +0200)
In the "Autovacuum setup per table" section:
 * removed useless schema and table column when on a table's admin page
 * added links to related schema and table when on a database's admin page

admin.php

index 3dd05494733d6c79c2abbfecb6625c16b944133f..38eb42b12725eed5e4d46d731c11ef2dd799caa0 100644 (file)
--- a/admin.php
+++ b/admin.php
                
                // Cluster
                if ($data->hasRecluster()){
+                       $disabled = '';
                        echo "<td class=\"data1\" style=\"text-align: center; vertical-align: bottom\">\n";
                        echo "<form action=\"{$script}\" method=\"post\">\n";
                        echo $misc->form;
                        if ($type == 'table') {
                                echo "<input type=\"hidden\" name=\"table\" value=\"", htmlspecialchars($_REQUEST['object']), "\" />\n";
                                echo "<input type=\"hidden\" name=\"subject\" value=\"table\" />\n";
-                               if ($data->alreadyClustered($_REQUEST['object'])) {
-                                       $disabled = '';
-                               }
-                               else {
+                               if (!$data->alreadyClustered($_REQUEST['object'])) {
                                        $disabled = 'disabled="disabled" ';
                                        echo "{$lang['strnoclusteravailable']}<br />";
                                }
                        else $autovac = $data->getTableAutovacuum();
 
                        echo "<br /><br /><h2>{$lang['strvacuumpertable']}</h2>";
-                       echo '<p>' . (($defaults->fields['autovacuum'] == 'on') ? $lang['strturnedon'] : $lang['strturnedoff'] ) . '</p>';
+                       echo '<p>' . (($defaults['autovacuum'] == 'on') ? $lang['strturnedon'] : $lang['strturnedoff'] ) . '</p>';
                        echo "<p class=\"message\">{$lang['strnotdefaultinred']}</p>";
                        
                        function enlight($f, $p) {
                                'namespace' => array(
                                        'title' => $lang['strschema'],
                                        'field' => field('nspname'),
+                                       'url'   => "redirect.php?subject=schema&amp;{$misc->href}&amp;",
+                                       'vars'  => array('schema' => 'nspname'),
                                ),      
                                'relname' => array(
                                        'title' => $lang['strtable'],
                                        'field' => field('relname'),
+                                       'url'   => "redirect.php?subject=table&amp;{$misc->href}&amp;",
+                                       'vars'  => array('table' => 'relname', 'schema' => 'nspname'),
                                ),
                                'autovacuum_enabled' => array(
                                        'title' => $lang['strenabled'],
                        );
                        
                        if ($type == 'table') {
-                               unset($actions['edit']['vars']['schema'], $actions['delete']['vars']['schema']);
+                               unset($actions['edit']['vars']['schema'], 
+                                       $actions['delete']['vars']['schema'],
+                                       $columns['namespace'],
+                                       $columns['relname']
+                               );
                        }
 
                        $misc->printTable($autovac, $columns, $actions, $lang['strnovacuumconf']);