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; }
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; } }