Manage a config proporty to limit the number of items at first level in navigation panel.
Signed-off-by: Hugues Peccatte <hugues.peccatte@gmail.com>
This commit is contained in:
parent
e0c64783a3
commit
6cb5756e7d
@ -1374,6 +1374,14 @@ Cookie authentication options
|
||||
Navigation panel setup
|
||||
----------------------
|
||||
|
||||
.. config:option:: $cfg['FirstLevelNavigationItems']
|
||||
|
||||
:type: integer
|
||||
:default: 25
|
||||
|
||||
The number of items that can be displayed on each page of the first level
|
||||
of navigation tree.
|
||||
|
||||
.. config:option:: $cfg['MaxNavigationItems']
|
||||
|
||||
:type: integer
|
||||
|
||||
@ -847,6 +847,13 @@ $cfg['Error_Handler']['display'] = false;
|
||||
* Navigation panel setup
|
||||
*/
|
||||
|
||||
/**
|
||||
* maximum number of items displayed on first level in navigation panel
|
||||
*
|
||||
* @global integer $cfg['FirstLevelNavigationItems']
|
||||
*/
|
||||
$cfg['FirstLevelNavigationItems'] = 25;
|
||||
|
||||
/**
|
||||
* maximum number of items displayed in navigation panel
|
||||
*
|
||||
|
||||
@ -211,6 +211,7 @@ $cfg_db['_validators'] = array(
|
||||
'CharTextareaRows' => 'validatePositiveNumber',
|
||||
'ExecTimeLimit' => 'validateNonNegativeNumber',
|
||||
'Export/sql_max_query_size' => 'validatePositiveNumber',
|
||||
'FirstLevelNavigationItems' => 'validatePositiveNumber',
|
||||
'ForeignKeyMaxLimit' => 'validatePositiveNumber',
|
||||
'Import/csv_enclosed' => array(array('validateByRegex', '/^.?$/')),
|
||||
'Import/csv_escaped' => array(array('validateByRegex', '/^.$/')),
|
||||
|
||||
@ -398,6 +398,11 @@ $strConfigMaxDbList_cmt = __('Users cannot set a higher value');
|
||||
$strConfigMaxDbList_desc
|
||||
= __('Maximum number of databases displayed in database list.');
|
||||
$strConfigMaxDbList_name = __('Maximum databases');
|
||||
$strConfigFirstLevelNavigationItems_desc = __(
|
||||
'The number of items that can be displayed on each page on first level of the '
|
||||
. 'navigation tree.'
|
||||
);
|
||||
$strConfigFirstLevelNavigationItems_name = __('Maximum items on first level');
|
||||
$strConfigMaxNavigationItems_desc = __(
|
||||
'The number of items that can be displayed on each page of the navigation tree.'
|
||||
);
|
||||
|
||||
@ -170,6 +170,7 @@ $forms['Navi_panel']['Navi_panel'] = array(
|
||||
'NavigationLogoLink',
|
||||
'NavigationLogoLinkWindow',
|
||||
'NavigationTreePointerEnable',
|
||||
'FirstLevelNavigationItems',
|
||||
'MaxNavigationItems',
|
||||
'NavigationTreeEnableGrouping',
|
||||
'NavigationTreeDisableDatabaseExpansion',
|
||||
|
||||
@ -83,6 +83,7 @@ $forms['Navi_panel']['Navi_panel'] = array(
|
||||
'NavigationLogoLink',
|
||||
'NavigationLogoLinkWindow',
|
||||
'NavigationTreePointerEnable',
|
||||
'FirstLevelNavigationItems',
|
||||
'MaxNavigationItems',
|
||||
'NavigationTreeEnableGrouping',
|
||||
'NavigationTreeDisableDatabaseExpansion',
|
||||
|
||||
@ -360,11 +360,49 @@ class Node
|
||||
*/
|
||||
public function getData($type, $pos, $searchClause = '')
|
||||
{
|
||||
$query = "SELECT `SCHEMA_NAME` ";
|
||||
/*$query = "SELECT `SCHEMA_NAME` ";
|
||||
$query .= "FROM `INFORMATION_SCHEMA`.`SCHEMATA` ";
|
||||
$query .= $this->_getWhereClause($searchClause);
|
||||
$query .= "ORDER BY `SCHEMA_NAME` ASC ";
|
||||
$query .= "LIMIT $pos, {$GLOBALS['cfg']['MaxNavigationItems']}";
|
||||
$query .= "LIMIT $pos, {$GLOBALS['cfg']['MaxNavigationItems']}";*/
|
||||
|
||||
$query = "SELECT `SCHEMA_NAME` ";
|
||||
$query .= "FROM `INFORMATION_SCHEMA`.`SCHEMATA`, ";
|
||||
$query .= " (";
|
||||
$query .= " select DB_first_level ";
|
||||
$query .= " from ( ";
|
||||
$query .= " SELECT distinct SUBSTRING_INDEX(SCHEMA_NAME, ";
|
||||
$query .= "'{$GLOBALS['cfg']['NavigationTreeDbSeparator']}', 1) ";
|
||||
$query .= "DB_first_level ";
|
||||
$query .= " FROM INFORMATION_SCHEMA.SCHEMATA ";
|
||||
$query .= $this->_getWhereClause($searchClause);
|
||||
$query .= " ) t ";
|
||||
$query .= " ORDER BY DB_first_level ASC ";
|
||||
$query .= " LIMIT $pos, {$GLOBALS['cfg']['FirstLevelNavigationItems']}";
|
||||
$query .= " ) t2 ";
|
||||
$query .= "where 1 = locate(concat(DB_first_level, ";
|
||||
$query .= "'{$GLOBALS['cfg']['NavigationTreeDbSeparator']}'), ";
|
||||
$query .= "concat(SCHEMA_NAME, ";
|
||||
$query .= "'{$GLOBALS['cfg']['NavigationTreeDbSeparator']}')) ";
|
||||
$query .= "order by SCHEMA_NAME ASC";
|
||||
/*echo $query;
|
||||
|
||||
SELECT `SCHEMA_NAME`
|
||||
FROM `INFORMATION_SCHEMA`.`SCHEMATA`,
|
||||
(
|
||||
select DB_first_level
|
||||
from (
|
||||
SELECT distinct SUBSTRING_INDEX(SCHEMA_NAME, '_', 1) DB_first_level
|
||||
FROM INFORMATION_SCHEMA.SCHEMATA
|
||||
WHERE TRUE
|
||||
) t
|
||||
ORDER BY DB_first_level ASC
|
||||
LIMIT 0, 5
|
||||
) t2
|
||||
where 1 = locate(concat(DB_first_level, '_'), concat(SCHEMA_NAME, '_'))
|
||||
order by SCHEMA_NAME ASC
|
||||
*/
|
||||
|
||||
return $GLOBALS['dbi']->fetchResult($query);
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user