-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathinnerSystemCatalog.php
87 lines (71 loc) · 2.59 KB
/
innerSystemCatalog.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
/**
* View of the system catalog selected postgresql server
*
* PHP versions 4 and 5
*
* LICENSE: Permission to use, copy, modify, and distribute this software and
* its documentation for any purpose and without fee is hereby
* granted, provided that the above copyright notice appear in all
* copies and that both that copyright notice and this permission
* notice appear in supporting documentation, and that the name of the
* author not be used in advertising or publicity pertaining to
* distribution of the software without specific, written prior
* permission. The author makes no representations about the
* suitability of this software for any purpose. It is provided "as
* is" without express or implied warranty.
*
* @author Ryuma Ando <[email protected]>
* @copyright 2003-2015 PgPool Global Development Group
* @version CVS: $Id$
*/
require_once('common.php');
/* --------------------------------------------------------------------- */
/* InnerSystemCatalog.php */
/* --------------------------------------------------------------------- */
// Check login status
if (!isset($_SESSION[SESSION_LOGIN_USER])) {
exit();
}
// Get node num
$pgCatalog = pg_escape_string($_GET['catalog']);
$nodeNum = $_GET['num'];
if ($pgCatalog == '') {
return;
}
// Get Data From Database
$params = readConfigParams(array(
'backend_hostname', 'backend_port', 'backend_weight',
'health_check_user', 'health_check_password'
));
$conn = openDBConnection(array(
'host' => $params['backend_hostname'][$nodeNum],
'port' => $params['backend_port'][$nodeNum],
'dbname' => 'template1',
'user' => $params['health_check_user'],
'password' => $params['health_check_password'],
'connect_timeout' => _PGPOOL2_PG_CONNECT_TIMEOUT,
));
$rs = execQuery($conn, 'SHOW pool_status');
if (! pg_result_status($rs) == PGSQL_TUPLES_OK) {
$rs = execQuery($conn, "SELECT * FROM $pgCatalog");
$tpl->assign('catalog', $pgCatalog);
} else {
$tpl->assign('catalog', 'pool_status');
}
if (! pg_result_status($rs) == PGSQL_TUPLES_OK) {
$errorCode = 'e8001';
$tpl->assign('errorCode', $errorCode);
$tpl->display('innerError.tpl');
exit();
}
$results = pg_fetch_all($rs);
closeDBConnection($conn);
// Set vars
$tpl->assign('hostname', $params['backend_hostname'][$nodeNum]);
$tpl->assign('port', $params['backend_port'][$nodeNum]);
$tpl->assign('results', $results);
$tpl->assign('nodeNum', $nodeNum);
// Display
$tpl->display('innerSystemCatalog.tpl');