summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJehan-Guillaume (ioguix) de Rorthais2011-12-29 19:10:15 +0000
committerJehan-Guillaume (ioguix) de Rorthais2011-12-30 10:54:56 +0000
commita52ff2ec0bcbfd433bb2ca11fb9242acd5658061 (patch)
tree521bf5d77fe4765be6148a0a01e1e6ec90ec9bdc
parent3c0c7c0da2e0c7fb6dd73106c396646f7dd1d3bc (diff)
Fix bug #3429633 '"Back" link from "Browse" leads to error'
The old design did not allow to escaped things properly without breaking the return URL. Moreover, it raised some bug as well when the return URL was too long, hitting the GET max length limit. This patch remove the old architecture and introduce the new "return" GET parameter that only holds the name of the section we want to go back.
-rw-r--r--classes/Misc.php205
-rw-r--r--colproperties.php17
-rw-r--r--display.php37
-rw-r--r--reports.php4
-rw-r--r--sql.php6
-rw-r--r--tables.php5
-rw-r--r--tblproperties.php7
-rwxr-xr-xviewproperties.php4
-rw-r--r--views.php10
9 files changed, 207 insertions, 88 deletions
diff --git a/classes/Misc.php b/classes/Misc.php
index 49774ff6..6a2fce8f 100644
--- a/classes/Misc.php
+++ b/classes/Misc.php
@@ -49,6 +49,166 @@
return htmlentities($href);
}
+ function getHREFSubject($subject) {
+
+ $vars = array();
+
+ switch($subject) {
+ case 'root':
+ return 'redirect.php?subject=root';
+ break;
+ case 'server':
+ $vars = array (
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'server'
+ );
+ break;
+ case 'report':
+ return 'reports.php?'. http_build_query(array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'report',
+ 'report' => $_REQUEST['report']
+ ), '', '&');
+ break;
+ case 'role':
+ $vars = array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'role',
+ 'action' => 'properties',
+ 'rolename' => $_REQUEST['rolename']
+ );
+ break;
+ case 'database':
+ $vars = array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'database',
+ 'database' => $_REQUEST['database'],
+ );
+ break;
+ case 'schema':
+ $vars = array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'schema',
+ 'database' => $_REQUEST['database'],
+ 'schema' => $_REQUEST['schema']
+ );
+ break;
+ case 'slony_cluster':
+ $vars = array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'slony_cluster',
+ 'database' => $_REQUEST['database'],
+ 'schema' => $_REQUEST['schema'],
+ 'slony_cluster' => $_REQUEST['slony_cluster']
+ );
+ break;
+ case 'table':
+ $vars = array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'table',
+ 'database' => $_REQUEST['database'],
+ 'schema' => $_REQUEST['schema'],
+ 'table' => $_REQUEST['table']
+ );
+ break;
+ case 'selectrows':
+ return 'tables.php?'. http_build_query(array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'table',
+ 'database' => $_REQUEST['database'],
+ 'schema' => $_REQUEST['schema'],
+ 'table' => $_REQUEST['table'],
+ 'action' => 'confselectrows'
+ ), '', '&');
+ break;
+ case 'view':
+ $vars = array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'view',
+ 'database' => $_REQUEST['database'],
+ 'schema' => $_REQUEST['schema'],
+ 'view' => $_REQUEST['view']
+ );
+ break;
+ case 'fulltext':
+ case 'ftscfg':
+ $vars = array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'fulltext',
+ 'database' => $_REQUEST['database'],
+ 'schema' => $_REQUEST['schema'],
+ 'action' => 'viewconfig',
+ 'ftscfg' => $_REQUEST['ftscfg']
+ );
+ break;
+ case 'function':
+ $vars = array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'function',
+ 'database' => $_REQUEST['database'],
+ 'schema' => $_REQUEST['schema'],
+ 'function' => $_REQUEST['function'],
+ 'function_oid' => $_REQUEST['function_oid']
+ );
+ break;
+ case 'aggregate':
+ $vars = array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'aggregate',
+ 'action' => 'properties',
+ 'database' => $_REQUEST['database'],
+ 'schema' => $_REQUEST['schema'],
+ 'aggrname' => $_REQUEST['aggrname'],
+ 'aggrtype' => $_REQUEST['aggrtype']
+ );
+ break;
+ case 'slony_node':
+ $vars = array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'slony_cluster',
+ 'database' => $_REQUEST['database'],
+ 'schema' => $_REQUEST['schema'],
+ 'no_id' => $_REQUEST['no_id'],
+ 'no_name' => $_REQUEST['no_name']
+ );
+ break;
+ case 'slony_set':
+ $vars = array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'slony_set',
+ 'database' => $_REQUEST['database'],
+ 'schema' => $_REQUEST['schema'],
+ 'slony_set_id' => $_REQUEST['slony_set'],
+ 'slony_set' => $_REQUEST['slony_set']
+ );
+ break;
+ case 'column':
+ if (isset($_REQUEST['table']))
+ $vars = array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'column',
+ 'database' => $_REQUEST['database'],
+ 'schema' => $_REQUEST['schema'],
+ 'table' => $_REQUEST['table'],
+ 'column' => $_REQUEST['column']
+ );
+ else
+ $vars = array(
+ 'server' => $_REQUEST['server'],
+ 'subject' => 'column',
+ 'database' => $_REQUEST['database'],
+ 'schema' => $_REQUEST['schema'],
+ 'view' => $_REQUEST['view'],
+ 'column' => $_REQUEST['column']
+ );
+ break;
+ default:
+ return false;
+ }
+
+ return 'redirect.php?'. http_build_query($vars, '', '&');
+ }
+
/**
* Sets the form tracking variable
*/
@@ -1191,7 +1351,7 @@
$crumblink = "<a";
if (isset($crumb['url']))
- $crumblink .= ' href="' . $this->printVal($crumb['url'], 'nbsp') . '"';
+ $crumblink .= " href=\"{$crumb['url']}\"";
if (isset($crumb['title']))
$crumblink .= " title=\"{$crumb['title']}\"";
@@ -1240,12 +1400,11 @@
if ($subject == 'root') $done = true;
if (!$done) {
- $vars = 'server='.urlencode($_REQUEST['server']).'&';
$server_info = $this->getServerInfo();
$trail['server'] = array(
'title' => $lang['strserver'],
'text' => $server_info['desc'],
- 'url' => "redirect.php?subject=server&{$vars}",
+ 'url' => $this->getHREFSubject('server'),
'help' => 'pg.server',
'icon' => 'Server'
);
@@ -1253,30 +1412,27 @@
if ($subject == 'server') $done = true;
if (isset($_REQUEST['report']) && !$done) {
- $vars .= 'report='.urlencode($_REQUEST['report']).'&';
$trail['report'] = array(
'title' => $lang['strreport'],
'text' => $_REQUEST['report'],
- 'url' => "reports.php?subject=report&{$vars}",
+ 'url' => $this->getHREFSubject('report'),
'icon' => 'Report'
);
}
if (isset($_REQUEST['database']) && !$done) {
- $vars .= 'database='.urlencode($_REQUEST['database']).'&';
$trail['database'] = array(
'title' => $lang['strdatabase'],
'text' => $_REQUEST['database'],
- 'url' => "redirect.php?subject=database&{$vars}",
+ 'url' => $this->getHREFSubject('database'),
'help' => 'pg.database',
'icon' => 'Database'
);
} elseif (isset($_REQUEST['rolename']) && !$done) {
- $vars .= "subject=role&action=properties&rolename=".urlencode($_REQUEST['rolename']);
$trail['role'] = array(
'title' => $lang['strrole'],
'text' => $_REQUEST['rolename'],
- 'url' => "redirect.php?{$vars}",
+ 'url' => $this->getHREFSubject('role'),
'help' => 'pg.role',
'icon' => 'Roles'
);
@@ -1284,11 +1440,10 @@
if ($subject == 'database' || $subject == 'role' || $subject == 'report') $done = true;
if (isset($_REQUEST['schema']) && !$done) {
- $vars .= 'schema='.urlencode($_REQUEST['schema']).'&';
$trail['schema'] = array(
'title' => $lang['strschema'],
'text' => $_REQUEST['schema'],
- 'url' => "redirect.php?subject=schema&{$vars}",
+ 'url' => $this->getHREFSubject('schema'),
'help' => 'pg.schema',
'icon' => 'Schema'
);
@@ -1296,11 +1451,10 @@
if ($subject == 'schema') $done = true;
if (isset($_REQUEST['slony_cluster']) && !$done) {
- $vars .= 'slony_cluster='.urlencode($_REQUEST['slony_cluster']).'&';
$trail['slony_cluster'] = array(
'title' => 'Slony Cluster',
'text' => $_REQUEST['slony_cluster'],
- 'url' => "redirect.php?subject=slony_cluster&{$vars}",
+ 'url' => $this->getHREFSubject('slony_cluster'),
'help' => 'sl.cluster',
'icon' => 'Cluster'
);
@@ -1308,29 +1462,26 @@
if ($subject == 'slony_cluster') $done = true;
if (isset($_REQUEST['table']) && !$done) {
- $vars .= "table=".urlencode($_REQUEST['table']);
$trail['table'] = array(
'title' => $lang['strtable'],
'text' => $_REQUEST['table'],
- 'url' => "redirect.php?subject=table&{$vars}",
+ 'url' => $this->getHREFSubject('table'),
'help' => 'pg.table',
'icon' => 'Table'
);
} elseif (isset($_REQUEST['view']) && !$done) {
- $vars .= "view=".urlencode($_REQUEST['view']);
$trail['view'] = array(
'title' => $lang['strview'],
'text' => $_REQUEST['view'],
- 'url' => "redirect.php?subject=view&{$vars}",
+ 'url' => $this->getHREFSubject('view'),
'help' => 'pg.view',
'icon' => 'View'
);
} elseif (isset($_REQUEST['ftscfg']) && !$done) {
- $vars .= "action=viewconfig&ftscfg=".urlencode($_REQUEST['ftscfg']);
$trail['ftscfg'] = array(
'title' => $lang['strftsconfig'],
'text' => $_REQUEST['ftscfg'],
- 'url' => "fulltext.php?{$vars}",
+ 'url' => $this->getHREFSubject('ftscfg'),
'help' => 'pg.ftscfg.example',
'icon' => 'Fts'
);
@@ -1340,55 +1491,45 @@
if (!$done && !is_null($subject)) {
switch ($subject) {
case 'function':
- $vars .= "{$subject}_oid=".urlencode($_REQUEST[$subject.'_oid']).'&';
- $vars .= "subject={$subject}&{$subject}=".urlencode($_REQUEST[$subject]);
$trail[$subject] = array(
'title' => $lang['str'.$subject],
'text' => $_REQUEST[$subject],
- 'url' => "redirect.php?{$vars}",
+ 'url' => $this->getHREFSubject('function'),
'help' => 'pg.function',
'icon' => 'Function'
);
break;
case 'aggregate':
- $vars .= "subject=aggregate&action=properties&aggrname=".urlencode($_REQUEST['aggrname']);
- $vars .= "&aggrtype=".urlencode($_REQUEST['aggrtype']);
$trail[$subject] = array(
'title' => $lang['straggregate'],
'text' => $_REQUEST['aggrname'],
- 'url' => "redirect.php?{$vars}",
+ 'url' => $this->getHREFSubject('aggregate'),
'help' => 'pg.aggregate',
'icon' => 'Aggregate'
);
break;
case 'slony_node':
- $vars .= 'no_id='.urlencode($_REQUEST['no_id']).'&no_name='.urlencode($_REQUEST['no_name']);
$trail[$subject] = array(
'title' => 'Slony Node',
'text' => $_REQUEST['no_name'],
- 'url' => "redirect.php?{$vars}",
'help' => 'sl.'.$subject,
'icon' => 'Node'
);
break;
case 'slony_set':
- $vars .= "{$subject}_id=".urlencode($_REQUEST[$subject]).'&';
- $vars .= "subject={$subject}&{$subject}=".urlencode($_REQUEST[$subject]);
$trail[$subject] = array(
'title' => $lang['str'.$subject],
'text' => $_REQUEST[$subject],
- 'url' => "redirect.php?{$vars}",
'help' => 'sl.'.$subject,
'icon' => 'AvailableReplicationSet'
);
break;
case 'column':
- $vars .= "&column=". urlencode($_REQUEST['column']) ."&subject=column";
$trail['column'] = array (
'title' => $lang['strcolumn'],
'text' => $_REQUEST['column'],
'icon' => 'Column',
- 'url' => "redirect.php?{$vars}"
+ 'url' => $this->getHREFSubject('column')
);
break;
default:
diff --git a/colproperties.php b/colproperties.php
index 9aa7f729..c16ae900 100644
--- a/colproperties.php
+++ b/colproperties.php
@@ -240,30 +240,27 @@
$query_url = urlencode("SELECT \"{$f_attname}\", count(*) AS \"count\" FROM \"{$f_schema}\".\"{$f_table}\" GROUP BY \"{$f_attname}\" ORDER BY \"{$f_attname}\"") ;
if ($isTable) {
- $return_url = urlencode("colproperties.php?{$misc->href}&amp;table=". urlencode($tableName)
- ."&amp;column=". urlencode($_REQUEST['column']));
-
/* Browse link */
/* FIXME browsing a col should somehow be a action so we don't
* send an ugly SQL in the URL */
echo "\t<li><a href=\"display.php?{$misc->href}&amp;subject=column&amp;table=",
urlencode($_REQUEST['table']),
"&amp;column=", urlencode($_REQUEST['column']),
- "&amp;return_url={$return_url}&amp;return_desc=", urlencode($lang['strback']),
+ "&amp;return=column",
"&amp;query={$query_url}\">{$lang['strbrowse']}</a></li>\n";
/* Edit link */
echo "\t<li><a href=\"colproperties.php?action=properties&amp;{$misc->href}&amp;table=", urlencode($tableName),
"&amp;column=", urlencode($_REQUEST['column']) . "\">{$lang['stralter']}</a></li>\n";
- echo "\t<li><a href=\"tblproperties.php?action=confirm_drop&amp;{$misc->href}&amp;table=", urlencode($tableName),
- "&amp;column=" . urlencode($_REQUEST['column']) . "\">{$lang['strdrop']}</a></li>\n";
+ echo "\t<li><a href=\"tblproperties.php?action=confirm_drop&amp;{$misc->href}&amp;table=", urlencode($tableName),
+ "&amp;column=" . urlencode($_REQUEST['column']) . "\">{$lang['strdrop']}</a></li>\n";
} else {
- $return_url = urlencode("colproperties.php?{$misc->href}&amp;view=". urlencode($tableName)
- ."&amp;column=". urlencode($_REQUEST['column']));
/* Browse link */
- echo "\t<li><a href=\"display.php?{$misc->href}&amp;subject=column&amp;column=",
- urlencode($_REQUEST['column']), "&amp;return_url={$return_url}&amp;return_desc=", urlencode($lang['strback']),
+ echo "\t<li><a href=\"display.php?{$misc->href}&amp;subject=column&amp;view=",
+ urlencode($_REQUEST['view']),
+ "&amp;column=", urlencode($_REQUEST['column']),
+ "&amp;return=column",
"&amp;query={$query_url}\">{$lang['strbrowse']}</a></li>\n";
}
diff --git a/display.php b/display.php
index b7a31ced..41bcfab0 100644
--- a/display.php
+++ b/display.php
@@ -5,8 +5,7 @@
* tables, reports, arbitrary queries, etc. to avoid code duplication.
* @param $query The SQL SELECT string to execute
* @param $count The same SQL query, but only retrieves the count of the rows (AS total)
- * @param $return_url The return URL
- * @param $return_desc The return link name
+ * @param $return The return section
* @param $page The current page
*
* $Id: display.php,v 1.68 2008/04/14 12:44:27 ioguix Exp $
@@ -143,10 +142,8 @@
echo "<input type=\"hidden\" name=\"query\" value=\"", htmlspecialchars($_REQUEST['query']), "\" />\n";
if (isset($_REQUEST['count']))
echo "<input type=\"hidden\" name=\"count\" value=\"", htmlspecialchars($_REQUEST['count']), "\" />\n";
- if (isset($_REQUEST['return_url']))
- echo "<input type=\"hidden\" name=\"return_url\" value=\"", htmlspecialchars($_REQUEST['return_url']), "\" />\n";
- if (isset($_REQUEST['return_desc']))
- echo "<input type=\"hidden\" name=\"return_desc\" value=\"", htmlspecialchars($_REQUEST['return_desc']), "\" />\n";
+ if (isset($_REQUEST['return']))
+ echo "<input type=\"hidden\" name=\"return\" value=\"", htmlspecialchars($_REQUEST['return']), "\" />\n";
echo "<input type=\"hidden\" name=\"page\" value=\"", htmlspecialchars($_REQUEST['page']), "\" />\n";
echo "<input type=\"hidden\" name=\"sortkey\" value=\"", htmlspecialchars($_REQUEST['sortkey']), "\" />\n";
echo "<input type=\"hidden\" name=\"sortdir\" value=\"", htmlspecialchars($_REQUEST['sortdir']), "\" />\n";
@@ -206,10 +203,8 @@
echo "<input type=\"hidden\" name=\"query\" value=\"", htmlspecialchars($_REQUEST['query']), "\" />\n";
if (isset($_REQUEST['count']))
echo "<input type=\"hidden\" name=\"count\" value=\"", htmlspecialchars($_REQUEST['count']), "\" />\n";
- if (isset($_REQUEST['return_url']))
- echo "<input type=\"hidden\" name=\"return_url\" value=\"", htmlspecialchars($_REQUEST['return_url']), "\" />\n";
- if (isset($_REQUEST['return_desc']))
- echo "<input type=\"hidden\" name=\"return_desc\" value=\"", htmlspecialchars($_REQUEST['return_desc']), "\" />\n";
+ if (isset($_REQUEST['return']))
+ echo "<input type=\"hidden\" name=\"return\" value=\"", htmlspecialchars($_REQUEST['return']), "\" />\n";
echo "<input type=\"hidden\" name=\"page\" value=\"", htmlspecialchars($_REQUEST['page']), "\" />\n";
echo "<input type=\"hidden\" name=\"sortkey\" value=\"", htmlspecialchars($_REQUEST['sortkey']), "\" />\n";
echo "<input type=\"hidden\" name=\"sortdir\" value=\"", htmlspecialchars($_REQUEST['sortdir']), "\" />\n";
@@ -243,16 +238,7 @@
$constraints = $data->getConstraintsWithFields($_REQUEST['table']);
if ($constraints->recordCount() > 0) {
- /* build the common parts of the url for the FK */
- $fk_return_url = "{$misc->href}&amp;subject=table&amp;table=". urlencode($_REQUEST['table']);
- if (isset($_REQUEST['page'])) $fk_return_url .= "&amp;page=" . urlencode($_REQUEST['page']);
- if (isset($_REQUEST['query'])) $fk_return_url .= "&amp;query=" . urlencode($_REQUEST['query']);
- if (isset($_REQUEST['search_path'])) $fk_return_url .= "&amp;search_path=" . urlencode($_REQUEST['search_path']);
-
- /* yes, we double urlencode fk_return_url so parameters here don't
- * overwrite real one when included in the final url */
- $fkey_information['common_url'] = $misc->getHREF('schema') .'&amp;subject=table&amp;return_url=display.php?'
- . urlencode($fk_return_url) .'&amp;return_desc='. urlencode($lang['strback']);
+ $fkey_information['common_url'] = $misc->getHREF('schema') .'&amp;subject=table';
/* build the FK constraints data structure */
while (!$constraints->EOF) {
@@ -492,8 +478,7 @@
if (isset($_REQUEST['query'])) $gets .= "&amp;query=" . urlencode($_REQUEST['query']);
if (isset($_REQUEST['report'])) $gets .= "&amp;report=" . urlencode($_REQUEST['report']);
if (isset($_REQUEST['count'])) $gets .= "&amp;count=" . urlencode($_REQUEST['count']);
- if (isset($_REQUEST['return_url'])) $gets .= "&amp;return_url=" . urlencode($_REQUEST['return_url']);
- if (isset($_REQUEST['return_desc'])) $gets .= "&amp;return_desc=" . urlencode($_REQUEST['return_desc']);
+ if (isset($_REQUEST['return'])) $gets .= "&amp;return=" . urlencode($_REQUEST['return']);
if (isset($_REQUEST['search_path'])) $gets .= "&amp;search_path=" . urlencode($_REQUEST['search_path']);
if (isset($_REQUEST['table'])) $gets .= "&amp;table=" . urlencode($_REQUEST['table']);
@@ -577,8 +562,12 @@
echo "<ul class=\"navlink\">\n";
// Return
- if (isset($_REQUEST['return_url']) && isset($_REQUEST['return_desc']))
- echo "\t<li><a href=\"". htmlspecialchars($_REQUEST['return_url']) ."\">". htmlspecialchars($_REQUEST['return_desc']) ."</a></li>\n";
+ if (isset($_REQUEST['return'])) {
+ $return_url = $misc->getHREFSubject($_REQUEST['return']);
+
+ if ($return_url)
+ echo "\t<li><a href=\"{$return_url}\">{$lang['strback']}</a></li>\n";
+ }
// Edit SQL link
if (isset($_REQUEST['query']))
diff --git a/reports.php b/reports.php
index 3e13ad5b..148ff5c9 100644
--- a/reports.php
+++ b/reports.php
@@ -282,12 +282,10 @@
),
);
- $return_url = urlencode("reports.php?{$misc->href}");
-
$actions = array(
'run' => array(
'title' => $lang['strexecute'],
- 'url' => "sql.php?subject=report&amp;{$misc->href}&amp;return_url={$return_url}&amp;return_desc=".urlencode($lang['strback'])."&amp;",
+ 'url' => "sql.php?subject=report&amp;{$misc->href}&amp;return=report&amp;",
'vars' => array('report' => 'report_name', 'database' => 'db_name', 'reportid' => 'report_id', 'paginate' => 'paginate'),
),
'edit' => array(
diff --git a/sql.php b/sql.php
index 8280e3d2..9ab6fc59 100644
--- a/sql.php
+++ b/sql.php
@@ -194,8 +194,10 @@
echo "<ul class=\"navlink\">\n";
// Return
- if (isset($_REQUEST['return_url']) && isset($_REQUEST['return_desc']))
- echo "\t<li><a href=\"{$_REQUEST['return_url']}\">{$_REQUEST['return_desc']}</a></li>\n";
+ if (isset($_REQUEST['return'])) {
+ $return_url = $misc->getHREFSubject($_REQUEST['return']);
+ echo "\t<li><a href=\"{$return_url}\">{$lang['strback']}</a></li>\n";
+ }
// Edit
echo "\t<li><a href=\"database.php?database=", urlencode($_REQUEST['database']),
diff --git a/tables.php b/tables.php
index 46945719..0ba0edc7 100644
--- a/tables.php
+++ b/tables.php
@@ -438,8 +438,7 @@
$query = $data->getSelectSQL($_REQUEST['table'], array_keys($_POST['show']),
$_POST['values'], $_POST['ops']);
$_REQUEST['query'] = $query;
- $_REQUEST['return_url'] = "tables.php?action=confselectrows&amp;{$misc->href}&amp;table={$_REQUEST['table']}";
- $_REQUEST['return_desc'] = $lang['strback'];
+ $_REQUEST['return'] = 'selectrows';
$_no_output = true;
include('./display.php');
@@ -772,7 +771,7 @@
),
'browse' => array(
'title' => $lang['strbrowse'],
- 'url' => "display.php?{$misc->href}&amp;subject=table&amp;return_url=".urlencode("tables.php?{$misc->href}")."&amp;return_desc=".urlencode($lang['strback'])."&amp;",
+ 'url' => "display.php?{$misc->href}&amp;subject=table&amp;return=schema&amp;",
'vars' => array('table' => 'relname'),
),
'select' => array(
diff --git a/tblproperties.php b/tblproperties.php
index f65e284b..c9aa64be 100644
--- a/tblproperties.php
+++ b/tblproperties.php
@@ -540,12 +540,10 @@
return $str;
}
- $return_url = urlencode("tblproperties.php?{$misc->href}&amp;table=". urlencode($_REQUEST['table']));
-
$actions = array(
'browse' => array(
'title' => $lang['strbrowse'],
- 'url' => "display.php?{$misc->href}&amp;subject=column&amp;return_url={$return_url}&amp;table=".urlencode($_REQUEST['table'])."&amp;return_desc=" . urlencode($lang['strback']) . '&amp;',
+ 'url' => "display.php?{$misc->href}&amp;subject=column&amp;return=table&amp;table=".urlencode($_REQUEST['table']).'&amp;',
'vars' => array('column' => 'attname'),
),
'alter' => array(
@@ -568,8 +566,7 @@
$misc->printTable($attrs, $columns, $actions, null, 'attPre');
echo "<ul class=\"navlink\">\n";
- echo "\t<li><a href=\"display.php?{$misc->href}&amp;table=", urlencode($_REQUEST['table']), "&amp;subject=table&amp;return_url={$return_url}&amp;return_desc=",
- urlencode($lang['strback']), "\">{$lang['strbrowse']}</a></li>\n";
+ echo "\t<li><a href=\"display.php?{$misc->href}&amp;table=", urlencode($_REQUEST['table']), "&amp;subject=table&amp;return=table\">{$lang['strbrowse']}</a></li>\n";
echo "\t<li><a href=\"tables.php?action=confselectrows&amp;{$misc->href}&amp;table=", urlencode($_REQUEST['table']),"\">{$lang['strselect']}</a></li>\n";
echo "\t<li><a href=\"tables.php?action=confinsertrow&amp;{$misc->href}&amp;table=", urlencode($_REQUEST['table']),"\">{$lang['strinsert']}</a></li>\n";
echo "\t<li><a href=\"tables.php?action=confirm_empty&amp;{$misc->href}&amp;table=", urlencode($_REQUEST['table']),"\">{$lang['strempty']}</a></li>\n";
diff --git a/viewproperties.php b/viewproperties.php
index 5d973665..3073352c 100755
--- a/viewproperties.php
+++ b/viewproperties.php
@@ -432,9 +432,7 @@
echo "<br />\n";
echo "<ul class=\"navlink\">\n";
- $return_url = urlencode("viewproperties.php?{$misc->href}&amp;view=" . urlencode($_REQUEST['view']));
- echo "\t<li><a href=\"display.php?{$misc->href}&amp;view=", urlencode($_REQUEST['view']), "&amp;subject=view&amp;return_url={$return_url}&amp;return_desc=",
- urlencode($lang['strback']), "\">{$lang['strbrowse']}</a></li>\n";
+ echo "\t<li><a href=\"display.php?{$misc->href}&amp;view=", urlencode($_REQUEST['view']), "&amp;subject=view&amp;return=view\">{$lang['strbrowse']}</a></li>\n";
echo "\t<li><a href=\"views.php?action=confselectrows&amp;{$misc->href}&amp;view=", urlencode($_REQUEST['view']),"\">{$lang['strselect']}</a></li>\n";
echo "\t<li><a href=\"views.php?action=confirm_drop&amp;{$misc->href}&amp;view=", urlencode($_REQUEST['view']),"\">{$lang['strdrop']}</a></li>\n";
echo "\t<li><a href=\"viewproperties.php?action=confirm_alter&amp;{$misc->href}&amp;view=", urlencode($_REQUEST['view']),"\">{$lang['stralter']}</a></li>\n";
diff --git a/views.php b/views.php
index e7841031..e20ff80c 100644
--- a/views.php
+++ b/views.php
@@ -109,12 +109,10 @@
else {
// Generate query SQL
$query = $data->getSelectSQL($_REQUEST['view'], array_keys($_POST['show']),
- $_POST['values'], $_POST['ops']);
+ $_POST['values'], $_POST['ops']);
$_REQUEST['query'] = $query;
- $_REQUEST['return_url'] = "views.php?action=confselectrows&amp;{$misc->href}&amp;view=". urlencode($_REQUEST['view']);
- $_REQUEST['return_desc'] = $lang['strback'];
-
- $_no_output = true;
+ $_REQUEST['return'] = "schema";
+ $_no_output = true;
include('./display.php');
exit;
}
@@ -588,7 +586,7 @@
),
'browse' => array(
'title' => $lang['strbrowse'],
- 'url' => "display.php?{$misc->href}&amp;subject=view&amp;return_url=".urlencode("views.php?{$misc->href}")."&amp;return_desc=".urlencode($lang['strback'])."&amp;",
+ 'url' => "display.php?{$misc->href}&amp;subject=view&amp;return=schema&amp;",
'vars' => array('view' => 'relname'),
),
'select' => array(