patch #1987593 [interface] Table list pagination in navi
This commit is contained in:
@@ -61,6 +61,10 @@ danbarry
|
|||||||
see http://store.swekey.com/index.php?promo=pma
|
see http://store.swekey.com/index.php?promo=pma
|
||||||
(todo: Documentation.html, improve code formatting)
|
(todo: Documentation.html, improve code formatting)
|
||||||
|
|
||||||
|
2.11.8.0 (not yet released)
|
||||||
|
- patch #1987593 [interface] Table list pagination in navi,
|
||||||
|
thanks to Jason Day - jday29
|
||||||
|
|
||||||
2.11.7.0 (not yet released)
|
2.11.7.0 (not yet released)
|
||||||
- bug #1908719 [interface] New field cannot be auto-increment and primary key
|
- bug #1908719 [interface] New field cannot be auto-increment and primary key
|
||||||
- [dbi] Incorrect interpretation for some mysqli field flags
|
- [dbi] Incorrect interpretation for some mysqli field flags
|
||||||
|
@@ -63,11 +63,19 @@ function PMA_exitNavigationFrame()
|
|||||||
if (! isset($_SESSION['userconf']['navi_limit_offset'])) {
|
if (! isset($_SESSION['userconf']['navi_limit_offset'])) {
|
||||||
$_SESSION['userconf']['navi_limit_offset'] = 0;
|
$_SESSION['userconf']['navi_limit_offset'] = 0;
|
||||||
}
|
}
|
||||||
|
if (! isset($_SESSION['userconf']['table_limit_offset'])) {
|
||||||
|
$_SESSION['userconf']['table_limit_offset'] = 0;
|
||||||
|
}
|
||||||
if (isset($_REQUEST['pos'])) {
|
if (isset($_REQUEST['pos'])) {
|
||||||
|
if (isset($_REQUEST['tpos'])) {
|
||||||
|
$_SESSION['userconf']['table_limit_offset'] = (int) $_REQUEST['pos'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
$_SESSION['userconf']['navi_limit_offset'] = (int) $_REQUEST['pos'];
|
$_SESSION['userconf']['navi_limit_offset'] = (int) $_REQUEST['pos'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$pos = $_SESSION['userconf']['navi_limit_offset'];
|
$pos = $_SESSION['userconf']['navi_limit_offset'];
|
||||||
|
$tpos = $_SESSION['userconf']['table_limit_offset'];
|
||||||
// free the session file, for the other frames to be loaded
|
// free the session file, for the other frames to be loaded
|
||||||
// but only if debugging is not enabled
|
// but only if debugging is not enabled
|
||||||
if (empty($_SESSION['debug'])) {
|
if (empty($_SESSION['debug'])) {
|
||||||
@@ -105,10 +113,19 @@ require_once './libraries/header_http.inc.php';
|
|||||||
if (! isset($_SESSION['userconf']['navi_limit_offset'])) {
|
if (! isset($_SESSION['userconf']['navi_limit_offset'])) {
|
||||||
$_SESSION['userconf']['navi_limit_offset'] = 0;
|
$_SESSION['userconf']['navi_limit_offset'] = 0;
|
||||||
}
|
}
|
||||||
|
if (! isset($_SESSION['userconf']['table_limit_offset'])) {
|
||||||
|
$_SESSION['userconf']['table_limit_offset'] = 0;
|
||||||
|
}
|
||||||
if (isset($_REQUEST['pos'])) {
|
if (isset($_REQUEST['pos'])) {
|
||||||
|
if (isset($_REQUEST['tpos'])) {
|
||||||
|
$_SESSION['userconf']['table_limit_offset'] = (int) $_REQUEST['pos'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
$_SESSION['userconf']['navi_limit_offset'] = (int) $_REQUEST['pos'];
|
$_SESSION['userconf']['navi_limit_offset'] = (int) $_REQUEST['pos'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$pos = $_SESSION['userconf']['navi_limit_offset'];
|
$pos = $_SESSION['userconf']['navi_limit_offset'];
|
||||||
|
$tpos = $_SESSION['userconf']['table_limit_offset'];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Displays the frame
|
* Displays the frame
|
||||||
@@ -299,18 +316,22 @@ if ($GLOBALS['cfg']['LeftFrameLight'] && strlen($GLOBALS['db'])) {
|
|||||||
* This helps reducing the navi panel size; in the right panel,
|
* This helps reducing the navi panel size; in the right panel,
|
||||||
* user can find a navigator to page thru all tables.
|
* user can find a navigator to page thru all tables.
|
||||||
*
|
*
|
||||||
* @todo instead of the 0 parameter, keep track of the
|
|
||||||
* offset in the list of tables ($_SESSION['userconf']['table_limit_offset'])
|
|
||||||
* and use PMA_listNavigator(); do not just check pos in REQUEST
|
|
||||||
* but add another hidden param to see if it's the pos of databases
|
|
||||||
* or the pos of tables.
|
|
||||||
*/
|
*/
|
||||||
$table_list = array_slice($table_list, 0, $cfg['MaxTableList']);
|
$table_list = array_slice($table_list, $tpos, $cfg['MaxTableList']);
|
||||||
if (! empty($table_list)) {
|
if (! empty($table_list)) {
|
||||||
|
if (count($table_list) <= $GLOBALS['cfg']['MaxTableList'] && $table_count > $GLOBALS['cfg']['MaxTableList']) {
|
||||||
|
$_url_params = array(
|
||||||
|
'tpos' => 'true',
|
||||||
|
'pos' => $tpos,
|
||||||
|
'db' => $GLOBALS['db']
|
||||||
|
);
|
||||||
|
PMA_listNavigator($table_count, $tpos, $_url_params, 'navigation.php', 'frame_navigation', $GLOBALS['cfg']['MaxTableList']);
|
||||||
|
}
|
||||||
PMA_displayTableList($table_list, true, '', $GLOBALS['db']);
|
PMA_displayTableList($table_list, true, '', $GLOBALS['db']);
|
||||||
// hint user that the table list is larger, until the todo is done
|
// hint user that the table list is larger
|
||||||
if (count($table_list) <= $GLOBALS['cfg']['MaxTableList'] && $table_count > $GLOBALS['cfg']['MaxTableList']) {
|
if (count($table_list) <= $GLOBALS['cfg']['MaxTableList'] && $table_count > $GLOBALS['cfg']['MaxTableList']) {
|
||||||
echo ' ( 1 .. ', $GLOBALS['cfg']['MaxTableList'], ' / ', $table_count, ' )';
|
echo ' ( 1 .. ', $GLOBALS['cfg']['MaxTableList'], ' / ', $table_count, ' )';
|
||||||
|
PMA_listNavigator($table_count, $tpos, $_url_params, 'navigation.php', 'frame_navigation', $GLOBALS['cfg']['MaxTableList']);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
echo $GLOBALS['strNoTablesFound'];
|
echo $GLOBALS['strNoTablesFound'];
|
||||||
|
Reference in New Issue
Block a user