Пример #1
0
function mactrack_macw()
{
    global $macw_actions, $config, $item_rows;
    /* ================= input validation and session storage ================= */
    $filters = array('rows' => array('filter' => FILTER_VALIDATE_INT, 'pageset' => true, 'default' => '-1'), 'page' => array('filter' => FILTER_VALIDATE_INT, 'default' => '1'), 'filter' => array('filter' => FILTER_CALLBACK, 'pageset' => true, 'default' => '', 'options' => array('options' => 'sanitize_search_string')), 'sort_column' => array('filter' => FILTER_CALLBACK, 'default' => 'name', 'options' => array('options' => 'sanitize_search_string')), 'sort_direction' => array('filter' => FILTER_CALLBACK, 'default' => 'ASC', 'options' => array('options' => 'sanitize_search_string')));
    validate_store_request_vars($filters, 'sess_mactrack_macw');
    /* ================= input validation ================= */
    if (get_request_var('rows') == -1) {
        $row_limit = read_config_option('num_rows_table');
    } elseif (get_request_var('rows') == -2) {
        $row_limit = 999999;
    } else {
        $row_limit = get_request_var('rows');
    }
    html_start_box(__('MacTrack MacWatch Filters'), '100%', '', '3', 'center', 'mactrack_macwatch.php?action=edit');
    mactrack_macw_filter();
    html_end_box();
    $sql_where = '';
    $macw = mactrack_macw_get_macw_records($sql_where, $row_limit);
    $total_rows = db_fetch_cell("SELECT count(*) FROM mac_track_macwatch {$sql_where}");
    $nav = html_nav_bar('mactrack_macwatch.php?filter=' . get_request_var('filter'), MAX_DISPLAY_PAGES, get_request_var('page'), $row_limit, $total_rows, 9, __('Watches'));
    form_start('mactrack_macwatch.php', 'chk');
    print $nav;
    html_start_box('', '100%', '', '3', 'center', '');
    $display_text = array('name' => array(__('Watch Name'), 'ASC'), 'mac_address' => array(__('Mac Address'), 'ASC'), 'ticket_number' => array(__('Ticket Number'), 'ASC'), 'nosort' => array(__('Watch Description'), 'ASC'), 'date_first_seen' => array(__('First Seen'), 'ASC'), 'date_last_seen' => array(__('Last Seen'), 'ASC'));
    html_header_sort_checkbox($display_text, get_request_var('sort_column'), get_request_var('sort_direction'));
    $i = 0;
    if (sizeof($macw)) {
        foreach ($macw as $mac) {
            form_alternate_row('line' . $mac['mac_id'], true);
            form_selectable_cell(filter_value($mac['name'], get_request_var('filter'), 'mactrack_macwatch.php?action=edit&mac_id=' . $mac['mac_id']), $mac['mac_id']);
            form_selectable_cell(filter_value($mac['mac_address'], get_request_var('filter')), $mac['mac_id']);
            form_selectable_cell(filter_value($mac['ticket_number'], get_request_var('filter')), $mac['mac_id']);
            form_selectable_cell(filter_value($mac['description'], get_request_var('filter')), $mac['mac_id']);
            form_selectable_cell($mac['date_first_seen'] == '0000-00-00 00:00:00' ? __('N/A') : $mac['date_first_seen'], $mac['mac_id']);
            form_selectable_cell($mac['date_last_seen'] == '0000-00-00 00:00:00' ? __('N/A') : $mac['date_last_seen'], $mac['mac_id']);
            form_selectable_cell($mac['name'], $mac['mac_id']);
            form_end_row();
        }
    } else {
        print '<tr><td colspan="10"><em>' . __('No MacTrack Watched Macs') . '</em></td></tr>';
    }
    html_end_box(false);
    if (sizeof($macw)) {
        print $nav;
    }
    /* draw the dropdown containing a list of available actions for this form */
    draw_actions_dropdown($macw_actions);
    form_end();
}
Пример #2
0
function mactrack_macw() {
	global $colors, $macw_actions, $config, $item_rows;

	/* ================= input validation ================= */
	input_validate_input_number(get_request_var_request("page"));
	input_validate_input_number(get_request_var("mac_id"));
	input_validate_input_number(get_request_var("rows"));
	/* ==================================================== */

	/* clean up search string */
	if (isset($_REQUEST["filter"])) {
		$_REQUEST["filter"] = sanitize_search_string(get_request_var("filter"));
	}

	/* clean up sort_column */
	if (isset($_REQUEST["sort_column"])) {
		$_REQUEST["sort_column"] = sanitize_search_string(get_request_var("sort_column"));
	}

	/* clean up search string */
	if (isset($_REQUEST["sort_direction"])) {
		$_REQUEST["sort_direction"] = sanitize_search_string(get_request_var("sort_direction"));
	}

	/* if the user pushed the 'clear' button */
	if (isset($_REQUEST["clear_x"])) {
		kill_session_var("sess_mactrack_macw_current_page");
		kill_session_var("sess_mactrack_macw_filter");
		kill_session_var("sess_mactrack_macw_rows");
		kill_session_var("sess_mactrack_macw_sort_column");
		kill_session_var("sess_mactrack_macw_sort_direction");

		$_REQUEST["page"] = 1;
		unset($_REQUEST["filter"]);
		unset($_REQUEST["rows"]);
		unset($_REQUEST["sort_column"]);
		unset($_REQUEST["sort_direction"]);
	}else{
		/* if any of the settings changed, reset the page number */
		$changed = 0;
		$changed += mactrack_check_changed("filter", "sess_mactrack_macw_filter");
		$changed += mactrack_check_changed("detail", "sess_mactrack_macw_detail");
		$changed += mactrack_check_changed("rows", "sess_mactrack_macw_rows");

		if ($changed) {
			$_REQUEST["page"] = "1";
		}
	}

	/* remember these search fields in session vars so we don't have to keep passing them around */
	load_current_session_value("page", "sess_mactrack_macw_current_page", "1");
	load_current_session_value("filter", "sess_mactrack_macw_filter", "");
	load_current_session_value("rows", "sess_mactrack_macw_rows", "-1");
	load_current_session_value("sort_column", "sess_mactrack_macw_sort_column", "name");
	load_current_session_value("sort_direction", "sess_mactrack_macw_sort_direction", "ASC");

	if ($_REQUEST["rows"] == -1) {
		$row_limit = read_config_option("num_rows_mactrack");
	}elseif ($_REQUEST["rows"] == -2) {
		$row_limit = 999999;
	}else{
		$row_limit = $_REQUEST["rows"];
	}

	html_start_box("<strong>MacTrack MacWatch Filters</strong>", "100%", $colors["header"], "3", "center", "mactrack_macwatch.php?action=edit");
	mactrack_macw_filter();
	html_end_box();
	html_start_box("", "100%", $colors["header"], "3", "center", "");

	$sql_where = "";

	$macw = mactrack_macw_get_macw_records($sql_where, $row_limit);

	$total_rows = db_fetch_cell("SELECT count(*)
		FROM mac_track_macwatch
		$sql_where");

	/* generate page list */
	$url_page_select = str_replace("&page", "?page", get_page_list($_REQUEST["page"], MAX_DISPLAY_PAGES, $row_limit, $total_rows, "mactrack_macwatch.php"));

	if (defined("CACTI_VERSION")) {
		/* generate page list navigation */
		$nav = html_create_nav($_REQUEST["page"], MAX_DISPLAY_PAGES, $row_limit, $total_rows, 9, "mactrack_macwatch.php?filter=" . $_REQUEST["filter"]);
	}else{
		$nav = "<tr bgcolor='#" . $colors["header"] . "'>
				<td colspan='9'>
					<table width='100%' cellspacing='0' cellpadding='0' border='0'>
						<tr>
							<td align='left' class='textHeaderDark'>
								<strong>&lt;&lt; "; if ($_REQUEST["page"] > 1) { $nav .= "<a class='linkOverDark' href='mactrack_macwatch.php?page=" . ($_REQUEST["page"]-1) . "'>"; } $nav .= "Previous"; if ($_REQUEST["page"] > 1) { $nav .= "</a>"; } $nav .= "</strong>
							</td>\n
							<td align='center' class='textHeaderDark'>
								Showing Rows " . (($row_limit*($_REQUEST["page"]-1))+1) . " to " . ((($total_rows < $row_limit) || ($total_rows < ($row_limit*$_REQUEST["page"]))) ? $total_rows : ($row_limit*$_REQUEST["page"])) . " of $total_rows [$url_page_select]
							</td>\n
							<td align='right' class='textHeaderDark'>
								<strong>"; if (($_REQUEST["page"] * $row_limit) < $total_rows) { $nav .= "<a class='linkOverDark' href='mactrack_macwatch.php?page=" . ($_REQUEST["page"]+1) . "'>"; } $nav .= "Next"; if (($_REQUEST["page"] * $row_limit) < $total_rows) { $nav .= "</a>"; } $nav .= " &gt;&gt;</strong>
							</td>\n
						</tr>
					</table>
				</td>
			</tr>\n";
	}

	if ($total_rows) {
		print $nav;
	}

	$display_text = array(
		"name" => array("Watch Name", "ASC"),
		"mac_address" => array("Mac Address", "ASC"),
		"ticket_number" => array("Ticket Number", "ASC"),
		"" => array("Watch Description", "ASC"),
		"date_first_seen" => array("First Seen", "ASC"),
		"date_last_seen" => array("Last Seen", "ASC"));

	html_header_sort_checkbox($display_text, $_REQUEST["sort_column"], $_REQUEST["sort_direction"]);

	$i = 0;
	if (sizeof($macw) > 0) {
		foreach ($macw as $mac) {
			form_alternate_row_color($colors["alternate"],$colors["light"],$i); $i++;
				?>
				<td width="20%">
					<a class="linkEditMain" href="mactrack_macwatch.php?action=edit&mac_id=<?php print $mac['mac_id'];?>"><?php print (strlen($_REQUEST["filter"]) ? preg_replace("/(" . preg_quote($_REQUEST["filter"]) . ")/i", "<span style='background-color: #F8D93D;'>\\1</span>", $mac["name"]) : $mac["name"]);?></a>
				</td>
				<td width="10%"><?php print (strlen($_REQUEST["filter"]) ? preg_replace("/(" . preg_quote($_REQUEST["filter"]) . ")/i", "<span style='background-color: #F8D93D;'>\\1</span>", $mac["mac_address"]) : $mac["mac_address"]);?></td>
				<td width="10%"><?php print (strlen($_REQUEST["filter"]) ? preg_replace("/(" . preg_quote($_REQUEST["filter"]) . ")/i", "<span style='background-color: #F8D93D;'>\\1</span>", $mac["ticket_number"]) : $mac["ticket_number"]);?></td>
				<td style='max-width:80%;'><?php print (strlen($_REQUEST["filter"]) ? preg_replace("/(" . preg_quote($_REQUEST["filter"]) . ")/i", "<span style='background-color: #F8D93D;'>\\1</span>", htmlspecialchars($mac["description"])) : htmlspecialchars($mac["description"]));?></td>
				<td width="10%"><?php print ($mac["date_first_seen"] == "0000-00-00 00:00:00" ? "N/A" : $mac["date_first_seen"]);?></td>
				<td width="10%"><?php print ($mac["date_last_seen"] == "0000-00-00 00:00:00" ? "N/A" : $mac["date_last_seen"]);?></td>

				<td style="<?php print get_checkbox_style();?>" width="1%" align="right">
					<input type='checkbox' style='margin: 0px;' name='chk_<?php print $mac["mac_id"];?>' title="<?php print $mac["name"];?>">
				</td>
			</tr>
			<?php
		}

		/* put the nav bar on the bottom as well */
		print $nav;
	}else{
		print "<tr><td colspan='10'><em>No MacTrack Watched Macs</em></td></tr>";
	}
	html_end_box(false);

	/* draw the dropdown containing a list of available actions for this form */
	mactrack_draw_actions_dropdown($macw_actions);
}