summaryrefslogtreecommitdiff
path: root/innerNodeServerStatus.php
blob: a35bf4fb797616987be1839348c263b904313c1b (plain)
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
<?php

/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */

/**
 * View of servers status registered in pgpool.conf
 *
 * 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-2013 PgPool Global Development Group
 * @version    CVS: $Id$
 */

require_once('common.php');
require_once('command.php');

/* --------------------------------------------------------------------- */
/* InnerNodeServerStatus.php                                             */
/* --------------------------------------------------------------------- */

// Check login status
if (!isset($_SESSION[SESSION_LOGIN_USER])) {
    exit();
}

// Get backend info
$params = readConfigParams(array('backend_hostname', 'backend_port'));
if (isset($params['backend_hostname'])) {
    $backendHostName = $params['backend_hostname'];
    $backendPort     = $params['backend_port'];

} else {
    $backendHostName = array();
    $backendHostPort = array();
}

$is_pgpool_running = DoesPgpoolPidExist();
$nodeInfo = array();
foreach($backendHostName as $num => $hostname) {
    $nodeInfo[$num]['hostname'] = $backendHostName[$num];
    $nodeInfo[$num]['port']     = $backendPort[$num];
    $nodeInfo[$num]['is_active'] = NodeActive($num);

    if ($is_pgpool_running) {
        $result = getNodeInfo($num);
        $nodeInfo[$num]['status'] = $result['status'];
    }
}

// Get node num
$nodeNum = (isset($_GET['num'])) ? $_GET['num'] : NULL;

// Set vars
$tpl->assign('pgpoolIsRunning',   $is_pgpool_running);
$tpl->assign('nodeServerStatus', $nodeInfo);
$tpl->assign('nodeCount',        count($nodeInfo));
$tpl->assign('nodeNum',          $nodeNum);
$tpl->assign('refreshTime',      (0 <= _PGPOOL2_STATUS_REFRESH_TIME) ?
                                 _PGPOOL2_STATUS_REFRESH_TIME * 1000 : 5000);

// Display
$tpl->display('innerNodeServerStatus.tpl');