Ejemplo n.º 1
0
    function displayRow($row)
    {
        global $__FM_CONFIG;
        $class = $row->server_status == 'disabled' ? 'disabled' : null;
        $os_image = setOSIcon($row->server_os_distro);
        $edit_status = $edit_actions = null;
        $edit_actions = $row->server_status == 'active' ? '<a href="preview.php" onclick="javascript:void window.open(\'preview.php?server_serial_no=' . $row->server_serial_no . '\',\'1356124444538\',\'width=700,height=500,toolbar=0,menubar=0,location=0,status=0,scrollbars=1,resizable=1,left=0,top=0\');return false;">' . $__FM_CONFIG['icons']['preview'] . '</a>' : null;
        $checkbox = currentUserCan(array('manage_servers', 'build_server_configs'), $_SESSION['module']) ? '<td><input type="checkbox" name="server_list[]" value="' . $row->server_serial_no . '" /></td>' : null;
        if (currentUserCan('build_server_configs', $_SESSION['module']) && $row->server_installed == 'yes') {
            if ($row->server_build_config == 'yes' && $row->server_status == 'active' && $row->server_installed == 'yes') {
                $edit_actions .= $__FM_CONFIG['icons']['build'];
                $class = 'build';
            }
        }
        if (currentUserCan('manage_servers', $_SESSION['module'])) {
            $edit_status = '<a class="edit_form_link" href="#">' . $__FM_CONFIG['icons']['edit'] . '</a>';
            if ($row->server_installed == 'yes') {
                $edit_status .= '<a class="status_form_link" href="#" rel="';
                $edit_status .= $row->server_status == 'active' ? 'disabled' : 'active';
                $edit_status .= '">';
                $edit_status .= $row->server_status == 'active' ? $__FM_CONFIG['icons']['disable'] : $__FM_CONFIG['icons']['enable'];
                $edit_status .= '</a>';
            }
            $edit_status .= '<a href="#" class="delete">' . $__FM_CONFIG['icons']['delete'] . '</a>';
        }
        $edit_name = currentUserCan(array('manage_policies', 'view_all'), $_SESSION['module']) ? '<a href="config-policy.php?server_serial_no=' . $row->server_serial_no . '">' . $row->server_name . '</a>' : $row->server_name;
        if (isset($row->server_client_version) && version_compare($row->server_client_version, getOption('client_version', 0, $_SESSION['module']), '<')) {
            $edit_actions = __('Client Upgrade Available') . '<br />';
            $class = 'attention';
        }
        if ($row->server_installed != 'yes') {
            $edit_actions = __('Client Install Required') . '<br />';
            $edit_name = $row->server_name;
        }
        $edit_status = $edit_actions . $edit_status;
        $port = $row->server_update_method != 'cron' ? '(tcp/' . $row->server_update_port . ')' : null;
        if ($class) {
            $class = 'class="' . $class . '"';
        }
        echo <<<HTML
\t\t<tr id="{$row->server_id}" {$class}>
\t\t\t{$checkbox}
\t\t\t<td>{$os_image}</td>
\t\t\t<td title="{$row->server_serial_no}">{$edit_name}</td>
\t\t\t<td>{$row->server_update_method} {$port}</td>
\t\t\t<td>{$row->server_type}</td>
\t\t\t<td>{$row->server_version}</td>
\t\t\t<td>{$row->server_config_file}</td>
\t\t\t<td id="edit_delete_img">{$edit_status}</td>
\t\t</tr>

HTML;
    }
Ejemplo n.º 2
0
    function displayRow($row, $type)
    {
        global $fmdb, $__FM_CONFIG;
        $class = $row->server_status == 'disabled' || $row->group_status == 'disabled' ? 'disabled' : null;
        $edit_status = $edit_actions = null;
        if ($type == 'servers') {
            $os_image = setOSIcon($row->server_os_distro);
            $edit_actions = $row->server_status == 'active' ? '<a href="preview.php" onclick="javascript:void window.open(\'preview.php?server_serial_no=' . $row->server_serial_no . '\',\'1356124444538\',\'width=700,height=500,toolbar=0,menubar=0,location=0,status=0,scrollbars=1,resizable=1,left=0,top=0\');return false;">' . $__FM_CONFIG['icons']['preview'] . '</a>' : null;
            $checkbox = currentUserCan(array('manage_servers', 'build_server_configs'), $_SESSION['module']) ? '<td><input type="checkbox" name="server_list[]" value="' . $row->server_serial_no . '" /></td>' : null;
            if (currentUserCan('build_server_configs', $_SESSION['module']) && $row->server_installed == 'yes') {
                if ($row->server_build_config == 'yes' && $row->server_status == 'active' && $row->server_installed == 'yes') {
                    $edit_actions .= $__FM_CONFIG['icons']['build'];
                    $class = 'build';
                }
            }
            if (currentUserCan('manage_servers', $_SESSION['module'])) {
                $edit_status = '<a class="edit_form_link" name="' . $type . '" href="#">' . $__FM_CONFIG['icons']['edit'] . '</a>';
                if ($row->server_installed == 'yes') {
                    $edit_status .= '<a class="status_form_link" href="#" rel="';
                    $edit_status .= $row->server_status == 'active' ? 'disabled' : 'active';
                    $edit_status .= '">';
                    $edit_status .= $row->server_status == 'active' ? $__FM_CONFIG['icons']['disable'] : $__FM_CONFIG['icons']['enable'];
                    $edit_status .= '</a>';
                }
                $query = "SELECT group_id FROM fm_{$__FM_CONFIG['fmDNS']['prefix']}server_groups WHERE account_id='{$_SESSION['user']['account_id']}' AND group_status!='deleted' AND \n\t\t\t\t\t(group_masters='{$row->server_id}' OR group_masters LIKE '{$row->server_id};%' OR group_masters LIKE '%;{$row->server_id};%' OR group_masters LIKE '%;{$row->server_id}'\n\t\t\t\t\tOR group_slaves='{$row->server_id}' OR group_slaves LIKE '{$row->server_id};%' OR group_slaves LIKE '%;{$row->server_id};%' OR group_slaves LIKE '%;{$row->server_id}')";
                $result = $fmdb->get_results($query);
                if (!$fmdb->num_rows) {
                    $edit_status .= '<a href="#" class="delete" name="' . $type . '">' . $__FM_CONFIG['icons']['delete'] . '</a>';
                }
            }
            if (isset($row->server_client_version) && version_compare($row->server_client_version, getOption('client_version', 0, $_SESSION['module']), '<')) {
                $edit_actions = __('Client Upgrade Available') . '<br />';
                $class = 'attention';
            }
            if ($row->server_installed != 'yes') {
                $edit_actions = __('Client Install Required') . '<br />';
            }
            $edit_status = $edit_actions . $edit_status;
            $edit_name = $row->server_name;
            $key = $row->server_key ? getNameFromID($row->server_key, 'fm_' . $__FM_CONFIG['fmDNS']['prefix'] . 'keys', 'key_', 'key_id', 'key_name') : 'none';
            $runas = $row->server_run_as_predefined == 'as defined:' ? $row->server_run_as : $row->server_run_as_predefined;
            $port = $row->server_update_method != 'cron' ? '(tcp/' . $row->server_update_port . ')' : null;
            if ($class) {
                $class = 'class="' . $class . '"';
            }
            echo <<<HTML
\t\t<tr id="{$row->server_id}" {$class}>
\t\t\t{$checkbox}
\t\t\t<td>{$os_image}</td>
\t\t\t<td title="{$row->server_serial_no}">{$edit_name}</td>
\t\t\t<td>{$row->server_update_method} {$port}</td>
\t\t\t<td>{$key}</td>
\t\t\t<td>{$row->server_type}</td>
\t\t\t<td>{$row->server_version}</td>
\t\t\t<td>{$runas}</td>
\t\t\t<td>{$row->server_config_file}</td>
\t\t\t<td>{$row->server_root_dir}</td>
\t\t\t<td>{$row->server_zones_dir}</td>
\t\t\t<td id="edit_delete_img">{$edit_status}</td>
\t\t</tr>

HTML;
        } elseif ($type == 'groups') {
            $checkbox = currentUserCan(array('manage_servers', 'build_server_configs'), $_SESSION['module']) ? '<td><input type="checkbox" name="group_list[]" value="' . $row->group_id . '" /></td>' : null;
            if (currentUserCan('manage_servers', $_SESSION['module'])) {
                $edit_status = '<a class="edit_form_link" name="' . $type . '" href="#">' . $__FM_CONFIG['icons']['edit'] . '</a>';
                $edit_status .= '<a class="status_form_link" href="#" rel="';
                $edit_status .= $row->group_status == 'active' ? 'disabled' : 'active';
                $edit_status .= '">';
                $edit_status .= $row->group_status == 'active' ? $__FM_CONFIG['icons']['disable'] : $__FM_CONFIG['icons']['enable'];
                $edit_status .= '</a>';
                $query = "SELECT domain_id FROM fm_{$__FM_CONFIG['fmDNS']['prefix']}domains WHERE account_id='{$_SESSION['user']['account_id']}' AND domain_status!='deleted' AND \n\t\t\t\t\t(domain_name_servers='g_{$row->group_id}' OR domain_name_servers LIKE 'g_{$row->group_id};%' OR domain_name_servers LIKE '%;g_{$row->group_id};%' OR domain_name_servers LIKE '%;g_{$row->group_id}')";
                $result = $fmdb->get_results($query);
                if (!$fmdb->num_rows) {
                    $edit_status .= '<a href="#" class="delete" name="' . $type . '">' . $__FM_CONFIG['icons']['delete'] . '</a>';
                }
            }
            /** Process group masters */
            foreach (explode(';', $row->group_masters) as $server_id) {
                $masters[] = getNameFromID($server_id, 'fm_' . $__FM_CONFIG['fmDNS']['prefix'] . 'servers', 'server_', 'server_id', 'server_name');
            }
            $group_masters = implode('; ', array_map(function ($value) {
                return $value == null ? sprintf('<i>%s</i>', __('missing')) : $value;
            }, $masters));
            if (empty($group_masters) || !count($masters) || count($masters) == 1 && empty($masters[0])) {
                $group_masters = __('None');
            }
            /** Process group slaves */
            foreach (explode(';', $row->group_slaves) as $server_id) {
                $slaves[] = getNameFromID($server_id, 'fm_' . $__FM_CONFIG['fmDNS']['prefix'] . 'servers', 'server_', 'server_id', 'server_name');
            }
            $group_slaves = implode('; ', $slaves);
            if (empty($group_slaves)) {
                $group_slaves = __('None');
            }
            if ($class) {
                $class = 'class="' . $class . '"';
            }
            $group_masters = wordwrap($group_masters);
            $group_slaves = wordwrap($group_slaves);
            echo <<<HTML
\t\t<tr id="{$row->group_id}" {$class}>
\t\t\t{$checkbox}
\t\t\t<td>{$row->group_name}</td>
\t\t\t<td>{$group_masters}</td>
\t\t\t<td>{$group_slaves}</td>
\t\t\t<td id="edit_delete_img">{$edit_status}</td>
\t\t</tr>

HTML;
        }
    }