$out = $params['function']($str, $params);
break;
case 'prettysize':
- $mult = 1;
- $limit = 10 * 1024;
-
- if ($str < $limit * $mult)
- $out = $str.' '.$lang['strbytes'];
+ if ($str == -1)
+ $out = $lang['strnoaccess'];
else
{
- $mult *= 1024;
+ $limit = 10 * 1024;
+ $mult = 1;
if ($str < $limit * $mult)
- $out = floor(($str + $mult / 2) / $mult).' '.$lang['strkb'];
+ $out = $str.' '.$lang['strbytes'];
else
{
$mult *= 1024;
if ($str < $limit * $mult)
- $out = floor(($str + $mult / 2) / $mult).' '.$lang['strmb'];
+ $out = floor(($str + $mult / 2) / $mult).' '.$lang['strkb'];
else
{
$mult *= 1024;
if ($str < $limit * $mult)
- $out = floor(($str + $mult / 2) / $mult).' '.$lang['strgb'];
+ $out = floor(($str + $mult / 2) / $mult).' '.$lang['strmb'];
else
{
$mult *= 1024;
if ($str < $limit * $mult)
- $out = floor(($str + $mult / 2) / $mult).' '.$lang['strtb'];
+ $out = floor(($str + $mult / 2) / $mult).' '.$lang['strgb'];
+ else
+ {
+ $mult *= 1024;
+ if ($str < $limit * $mult)
+ $out = floor(($str + $mult / 2) / $mult).' '.$lang['strtb'];
+ }
}
}
}
SELECT pdb.datname AS datname, pr.rolname AS datowner, pg_encoding_to_char(encoding) AS datencoding,
(SELECT description FROM pg_catalog.pg_shdescription pd WHERE pdb.oid=pd.objoid) AS datcomment,
(SELECT spcname FROM pg_catalog.pg_tablespace pt WHERE pt.oid=pdb.dattablespace) AS tablespace,
- pg_catalog.pg_database_size(pdb.oid) as dbsize, pdb.datcollate, pdb.datctype
+ CASE WHEN pg_catalog.has_database_privilege(current_user, pdb.oid, 'CONNECT')
+ THEN pg_catalog.pg_database_size(pdb.oid)
+ ELSE -1 -- set this magic value, which we will convert to no access later
+ END as dbsize, pdb.datcollate, pdb.datctype
FROM pg_catalog.pg_database pdb
LEFT JOIN pg_catalog.pg_roles pr ON (pdb.datdba = pr.oid)
WHERE true
$lang['strnodatabaseselected'] = 'Please, select a database.';
// Database sizes
+ $lang['strnoaccess'] = 'No Access';
$lang['strsize'] = 'Size';
$lang['strbytes'] = 'bytes';
$lang['strkb'] = 'kB';
$lang['strnodatabaseselected'] = 'Please, select a database.';
// Database sizes
+ $lang['strnoaccess'] = 'No Access';
$lang['strsize'] = 'Size';
$lang['strbytes'] = 'bytes';
$lang['strkb'] = 'kB';
$lang['strinsertrow'] = 'Insert row';
$lang['strrowinserted'] = 'Row inserted.';
$lang['strrowinsertedbad'] = 'Row insert failed.';
- $lang['strnofkref'] = 'There is no matching value for this foreign key in %s.';
+ $lang['strnofkref'] = 'There is no matching value in the foreign key %s.';
$lang['strrowduplicate'] = 'Row insert failed, attempted to do duplicate insert.';
$lang['streditrow'] = 'Edit row';
$lang['strrowupdated'] = 'Row updated.';