Example #1
0
function doGroupsTree()
{
    global $misc;
    $groups = $misc->getServersGroups();
    function escape($fields)
    {
        global $lang;
        if ($fields['id'] === 'all') {
            return $lang['strallservers'];
        } else {
            return value(field('desc'), $fields, 'xml');
        }
    }
    $attrs = array('text' => noEscape(callback('escape')), 'icon' => 'Servers', 'action' => url('servers.php', array('group' => field('id'))), 'branch' => url('servers.php', array('action' => 'tree', 'group' => field('id'))));
    $misc->printTreeXML($groups, $attrs);
    exit;
}
Example #2
0
function doTree()
{
    global $misc, $data, $lang, $slony;
    $reqvars = $misc->getRequestVars('database');
    $tabs = $misc->getNavTabs('database');
    $items = $misc->adjustTabsForTree($tabs);
    $attrs = array('text' => noEscape(field('title')), 'icon' => field('icon'), 'action' => url(field('url'), $reqvars, field('urlvars', array())), 'branch' => url(field('url'), $reqvars, field('urlvars'), array('action' => 'tree')));
    $misc->printTreeXML($items, $attrs);
    exit;
}
Example #3
0
function doSubTree()
{
    global $misc, $data;
    $tabs = $misc->getNavTabs('table');
    $items = $misc->adjustTabsForTree($tabs);
    $reqvars = $misc->getRequestVars('table');
    $attrs = array('text' => noEscape(field('title')), 'icon' => field('icon'), 'action' => url(field('url'), $reqvars, field('urlvars'), array('table' => $_REQUEST['table'])), 'branch' => ifempty(field('branch'), '', url(field('url'), $reqvars, array('action' => 'tree', 'table' => $_REQUEST['table']))));
    $misc->printTreeXML($items, $attrs);
    exit;
}
Example #4
0
/**
 * Generate the somewhat complex Slony tree
 * @param string $subject The tree node to return
 */
function doTree($subject)
{
    global $misc, $data, $lang, $slony;
    $reqvars = $misc->getRequestVars('database');
    if (isset($slony)) {
        $reqvars['slony_cluster'] = $slony->slony_cluster;
    }
    // Determine what actual tree we are building
    switch ($subject) {
        case 'clusters':
            // Clusters
            // Enabled check here is just a hack.
            if ($slony->isEnabled()) {
                $tabs = array('cluster' => array('title' => $slony->slony_cluster, 'url' => 'plugin_slony.php', 'urlvars' => array('subject' => 'clusters_top'), 'icon' => 'Cluster'));
            } else {
                $tabs = array();
            }
            $items = $misc->adjustTabsForTree($tabs);
            $attrs = array('text' => noEscape(field('title')), 'icon' => field('icon'), 'action' => url(field('url'), $reqvars, array('action' => 'cluster_properties')), 'branch' => url(field('url'), $reqvars, field('urlvars'), array('action' => 'clusters_top')));
            $misc->printTreeXML($items, $attrs);
            break;
        case 'clusters_top':
            // Top level Nodes and Replication sets folders
            $tabs = array('nodes' => array('title' => $lang['strnodes'], 'url' => 'plugin_slony.php', 'urlvars' => array('subject' => 'nodes'), 'icon' => 'Nodes'));
            $items = $misc->adjustTabsForTree($tabs);
            $attrs = array('text' => noEscape(field('title')), 'icon' => field('icon'), 'action' => url(field('url'), $reqvars, field('urlvars', array()), array('action' => 'nodes_properties')), 'branch' => url(field('url'), $reqvars, field('urlvars'), array('action' => 'nodes')), 'nofoot' => true);
            $misc->printTreeXML($items, $attrs);
            $tabs = array('sets' => array('title' => $lang['strrepsets'], 'url' => 'plugin_slony.php', 'urlvars' => array('subject' => 'sets'), 'icon' => 'ReplicationSets'));
            $items = $misc->adjustTabsForTree($tabs);
            $attrs = array('text' => noEscape(field('title')), 'icon' => field('icon'), 'action' => url(field('url'), $reqvars, field('urlvars', array()), array('action' => 'sets_properties')), 'branch' => url(field('url'), $reqvars, field('urlvars'), array('action' => 'sets')), 'nohead' => true);
            $misc->printTreeXML($items, $attrs);
            break;
        case 'nodes':
            $nodes = $slony->getNodes();
            $attrs = array('text' => field('no_comment'), 'icon' => 'Node', 'action' => url('plugin_slony.php', $reqvars, array('subject' => 'slony_node', 'action' => 'node_properties', 'no_id' => field('no_id'), 'no_name' => field('no_comment'), 'slony_cluster' => $slony->slony_cluster)), 'branch' => url('plugin_slony.php', $reqvars, array('action' => 'nodes_top', 'no_id' => field('no_id'))));
            $misc->printTreeXML($nodes, $attrs);
            break;
        case 'nodes_top':
            // Nodes paths and listens entries
            $tabs = array('paths' => array('title' => $lang['strpaths'], 'url' => 'plugin_slony.php', 'urlvars' => array('subject' => 'paths'), 'icon' => 'Paths'));
            $items = $misc->adjustTabsForTree($tabs);
            $attrs = array('text' => noEscape(field('title')), 'icon' => field('icon'), 'action' => url(field('url'), $reqvars, field('urlvars', array()), array('action' => 'paths_properties', 'no_id' => $_REQUEST['no_id'])), 'branch' => url(field('url'), $reqvars, field('urlvars'), array('action' => 'paths', 'no_id' => $_REQUEST['no_id'])), 'nofoot' => true);
            $misc->printTreeXML($items, $attrs);
            $tabs = array('listens' => array('title' => $lang['strlistens'], 'url' => 'plugin_slony.php', 'urlvars' => array('subject' => 'listens'), 'icon' => 'Listens'));
            $items = $misc->adjustTabsForTree($tabs);
            $attrs = array('text' => noEscape(field('title')), 'icon' => field('icon'), 'action' => url(field('url'), $reqvars, field('urlvars', array()), array('action' => 'listens_properties', 'no_id' => $_REQUEST['no_id'])), 'branch' => url(field('url'), $reqvars, field('urlvars'), array('action' => 'listens', 'no_id' => $_REQUEST['no_id'])), 'nohead' => true);
            $misc->printTreeXML($items, $attrs);
            break;
        case 'paths':
            $tables = $slony->getPaths($_REQUEST['no_id']);
            $attrs = array('text' => field('no_comment'), 'icon' => 'Path', 'action' => url('plugin_slony.php', $reqvars, array('no_id' => field('pa_client'), 'path_id' => field('no_id'), 'action' => 'path_properties')));
            $misc->printTreeXML($tables, $attrs);
            break;
        case 'listens':
            $tables = $slony->getListens($_REQUEST['no_id']);
            $attrs = array('text' => field('no_comment'), 'icon' => 'Listen', 'action' => url('plugin_slony.php', $reqvars, array('no_id' => field('li_receiver'), 'listen_id' => field('no_id'), 'action' => 'listen_properties')));
            $misc->printTreeXML($tables, $attrs);
            break;
        case 'sets':
            $sets = $slony->getReplicationSets();
            $attrs = array('text' => field('set_comment'), 'icon' => 'AvailableReplicationSet', 'action' => url('plugin_slony.php', $reqvars, array('action' => 'set_properties', 'set_id' => field('set_id'))), 'branch' => url('plugin_slony.php', $reqvars, array('action' => 'sets_top', 'set_id' => field('set_id'))));
            $misc->printTreeXML($sets, $attrs);
            break;
        case 'sets_top':
            // Top level Nodes and Replication sets folders
            $tabs = array('sequences' => array('title' => $lang['strsequences'], 'url' => 'plugin_slony.php', 'urlvars' => array('subject' => 'sequences'), 'icon' => 'Sequences'));
            $items = $misc->adjustTabsForTree($tabs);
            $attrs = array('text' => noEscape(field('title')), 'icon' => field('icon'), 'action' => url(field('url'), $reqvars, field('urlvars', array()), array('action' => 'sequences_properties', 'set_id' => $_REQUEST['set_id'])), 'branch' => url(field('url'), $reqvars, field('urlvars'), array('action' => 'sequences', 'set_id' => $_REQUEST['set_id'])), 'nofoot' => true);
            $misc->printTreeXML($items, $attrs);
            $tabs = array('tables' => array('title' => $lang['strtables'], 'url' => 'plugin_slony.php', 'urlvars' => array('subject' => 'tables'), 'icon' => 'Tables'));
            $items = $misc->adjustTabsForTree($tabs);
            $attrs = array('text' => noEscape(field('title')), 'icon' => field('icon'), 'action' => url(field('url'), $reqvars, field('urlvars', array()), array('action' => 'tables_properties', 'set_id' => $_REQUEST['set_id'])), 'branch' => url(field('url'), $reqvars, field('urlvars'), array('action' => 'tables', 'set_id' => $_REQUEST['set_id'])), 'nohead' => true, 'nofoot' => true);
            $misc->printTreeXML($items, $attrs);
            $tabs = array('subscriptions' => array('title' => $lang['strsubscriptions'], 'url' => 'plugin_slony.php', 'urlvars' => array('subject' => 'subscriptions'), 'icon' => 'Subscriptions'));
            $items = $misc->adjustTabsForTree($tabs);
            $attrs = array('text' => noEscape(field('title')), 'icon' => field('icon'), 'action' => url(field('url'), $reqvars, field('urlvars', array()), array('action' => 'subscriptions_properties', 'set_id' => $_REQUEST['set_id'])), 'branch' => url(field('url'), $reqvars, field('urlvars'), array('action' => 'subscriptions', 'set_id' => $_REQUEST['set_id'])), 'nohead' => true);
            $misc->printTreeXML($items, $attrs);
            break;
        case 'sequences':
            $tables = $slony->getSequences($_REQUEST['set_id']);
            $reqvars = $misc->getRequestVars('sequence');
            $attrs = array('text' => field('qualname'), 'icon' => 'Sequence', 'toolTip' => field('seqcomment'), 'action' => url('sequences.php', $reqvars, array('action' => 'properties', 'sequence' => field('seqname'), 'schema' => field('nspname'))));
            $misc->printTreeXML($tables, $attrs);
            break;
        case 'tables':
            $tables = $slony->getTables($_REQUEST['set_id']);
            $reqvars = $misc->getRequestVars('table');
            $attrs = array('text' => field('qualname'), 'icon' => 'Table', 'toolTip' => field('relcomment'), 'action' => url('redirect.php', $reqvars, array('table' => field('relname'), 'schema' => field('nspname'))));
            $misc->printTreeXML($tables, $attrs);
            break;
        case 'subscriptions':
            $tables = $slony->getSubscribedNodes($_REQUEST['set_id']);
            $attrs = array('text' => field('no_comment'), 'icon' => 'AvailableSubscription', 'action' => url('plugin_slony.php', $reqvars, array('set_id' => field('sub_set'), 'no_id' => field('no_id'), 'action' => 'subscription_properties')));
            $misc->printTreeXML($tables, $attrs);
            break;
    }
    exit;
}
Example #5
0
function doSubTree($what)
{
    global $misc, $data, $lang;
    switch ($what) {
        case 'FtsCfg':
            $items = $data->getFtsConfigurations(false);
            $urlvars = array('action' => 'viewconfig', 'ftscfg' => field('name'));
            break;
        case 'FtsDict':
            $items = $data->getFtsDictionaries(false);
            $urlvars = array('action' => 'viewdicts');
            break;
        case 'FtsParser':
            $items = $data->getFtsParsers(false);
            $urlvars = array('action' => 'viewparsers');
            break;
        default:
            exit;
    }
    $reqvars = $misc->getRequestVars('ftscfg');
    $attrs = array('text' => noEscape(field('name')), 'icon' => $what, 'toolTip' => field('comment'), 'action' => url('fulltext.php', $reqvars, $urlvars), 'branch' => ifempty(field('branch'), '', url('fulltext.php', $reqvars, array('action' => 'subtree', 'ftscfg' => field('name')))));
    $misc->printTreeXML($items, $attrs);
    exit;
}