⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inc_timespan_settings.php

📁 Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。 它通过snmpget来获取数据
💻 PHP
字号:
<?php/* +-------------------------------------------------------------------------+ | Copyright (C) 2004-2008 The Cacti Group                                 | |                                                                         | | This program is free software; you can redistribute it and/or           | | modify it under the terms of the GNU General Public License             | | as published by the Free Software Foundation; either version 2          | | of the License, or (at your option) any later version.                  | |                                                                         | | This program is distributed in the hope that it will be useful,         | | but WITHOUT ANY WARRANTY; without even the implied warranty of          | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           | | GNU General Public License for more details.                            | +-------------------------------------------------------------------------+ | Cacti: The Complete RRDTool-based Graphing Solution                     | +-------------------------------------------------------------------------+ | This code is designed, written, and maintained by the Cacti Group. See  | | about.php and/or the AUTHORS file for specific developer information.   | +-------------------------------------------------------------------------+ | http://www.cacti.net/                                                   | +-------------------------------------------------------------------------+*//* ================= input validation ================= */input_validate_input_number(get_request_var_request("predefined_timespan"));input_validate_input_number(get_request_var_request("predefined_timeshift"));/* ==================================================== *//* clean up date1 string */if (isset($_REQUEST["date1"])) {	$_REQUEST["date1"] = sanitize_search_string(get_request_var("date1"));}/* clean up date2 string */if (isset($_REQUEST["date2"])) {	$_REQUEST["date2"] = sanitize_search_string(get_request_var("date2"));}include_once("./lib/time.php");/* initialize the timespan array */$timespan = array();/* set variables for first time use */initialize_timespan($timespan);$timeshift = set_timeshift();/* if the user does not want to see timespan selectors */if (read_graph_config_option("timespan_sel") == "") {	set_preset_timespan($timespan);/* the user does want to see them */}else {	process_html_variables();	process_user_input($timespan, $timeshift);}/* save session variables */finalize_timespan($timespan);/* initialize the timespan selector for first use */function initialize_timespan(&$timespan) {	/* initialize the default timespan if not set */	if ((!isset($_SESSION["sess_current_timespan"])) || (isset($_POST["button_clear_x"]))) {		$_SESSION["sess_current_timespan"] = read_graph_config_option("default_timespan");		$_REQUEST["predefined_timespan"] = read_graph_config_option("default_timespan");		$_SESSION["custom"] = 0;	}	/* initialize the date sessions if not set */	if (!isset($_SESSION["sess_current_date1"])) {		set_preset_timespan($timespan);	}}/* preformat for timespan selector */function process_html_variables() {	if (isset($_REQUEST["predefined_timespan"])) {		if (!is_numeric($_REQUEST["predefined_timespan"])) {			if (isset($_SESSION["sess_current_timespan"])) {				if ($_SESSION["custom"]) {					$_REQUEST["predefined_timespan"] = GT_CUSTOM;					$_SESSION["sess_current_timespan"] = GT_CUSTOM;				}else {					$_REQUEST["predefined_timespan"] = $_SESSION["sess_current_timespan"];				}			}else {				$_REQUEST["predefined_timespan"] = read_graph_config_option("default_timespan");				$_SESSION["sess_current_timespan"] = read_graph_config_option("default_timespan");			}		}	} else {		if (isset($_SESSION["sess_current_timespan"])) {			$_REQUEST["predefined_timespan"] = $_SESSION["sess_current_timespan"];		}else {			$_REQUEST["predefined_timespan"] = read_graph_config_option("default_timespan");			$_SESSION["sess_current_timespan"] = read_graph_config_option("default_timespan");		}	}	load_current_session_value("predefined_timespan", "sess_current_timespan", read_graph_config_option("default_timespan"));	# process timeshift	if (isset($_REQUEST["predefined_timeshift"])) {		if (!is_numeric($_REQUEST["predefined_timeshift"])) {			if (isset($_SESSION["sess_current_timeshift"])) {				$_REQUEST["predefined_timeshift"] = $_SESSION["sess_current_timeshift"];			}else {				$_REQUEST["predefined_timeshift"] = read_graph_config_option("default_timeshift");				$_SESSION["sess_current_timeshift"] = read_graph_config_option("default_timeshift");			}		}	} else {		if (isset($_SESSION["sess_current_timeshift"])) {			$_REQUEST["predefined_timeshift"] = $_SESSION["sess_current_timeshift"];		}else {			$_REQUEST["predefined_timeshift"] = read_graph_config_option("default_timeshift");			$_SESSION["sess_current_timeshift"] = read_graph_config_option("default_timeshift");		}	}	load_current_session_value("predefined_timeshift", "sess_current_timeshift", read_graph_config_option("default_timeshift"));}/* when a span time preselection has been defined update the span time fields *//* someone hit a button and not a dropdown */function process_user_input(&$timespan, $timeshift) {	if (isset($_POST["date1"])) {		/* the dates have changed, therefore, I am now custom */		if (($_SESSION["sess_current_date1"] != $_POST["date1"]) || ($_SESSION["sess_current_date2"] != $_POST["date2"])) {			$timespan["current_value_date1"] = $_POST["date1"];			$timespan["begin_now"] =strtotime($timespan["current_value_date1"]);			$timespan["current_value_date2"] = $_POST["date2"];			$timespan["end_now"]=strtotime($timespan["current_value_date2"]);			$_SESSION["sess_current_timespan"] = GT_CUSTOM;			$_SESSION["custom"] = 1;			$_POST["predefined_timespan"] = GT_CUSTOM;		}else {			/* the default button wasn't pushed */			if (!isset($_POST["button_clear_x"])) {				$timespan["current_value_date1"] = $_POST["date1"];				$timespan["current_value_date2"] = $_POST["date2"];				$timespan["begin_now"] = $_SESSION["sess_current_timespan_begin_now"];				$timespan["end_now"] = $_SESSION["sess_current_timespan_end_now"];				/* time shifter: shift left                                           */				if (isset($_POST["move_left_x"])) {					shift_time($timespan, "-", $timeshift);				}				/* time shifter: shift right                                          */				if (isset($_POST["move_right_x"])) {					shift_time($timespan, "+", $timeshift);				}				/* custom display refresh */				if ($_SESSION["custom"]) {					$_SESSION["sess_current_timespan"] = GT_CUSTOM;				/* refresh the display */				}else {					$_SESSION["custom"] = 0;				}			} else {				/* first time in */				set_preset_timespan($timespan);			}		}	}else {		if ((isset($_GET["predefined_timespan"]) && ($_GET["predefined_timespan"] != GT_CUSTOM)) ||			(!isset($_SESSION["custom"])) ||			(!isset($_GET["predefined_timespan"]) && ($_SESSION["custom"] == 0)) ||			(!isset($_SESSION["sess_current_date1"]))) {			set_preset_timespan($timespan);		}else {			$timespan["current_value_date1"] = $_SESSION["sess_current_date1"];			$timespan["current_value_date2"] = $_SESSION["sess_current_date2"];			$timespan["begin_now"] = $_SESSION["sess_current_timespan_begin_now"];			$timespan["end_now"] = $_SESSION["sess_current_timespan_end_now"];				/* custom display refresh */			if ($_SESSION["custom"]) {				$_SESSION["sess_current_timespan"] = GT_CUSTOM;			}		}	}}/* establish graph timespan from either a user select or the default */function set_preset_timespan(&$timespan) {	# no current timespan: get default timespan	if ((!isset($_SESSION["sess_current_timespan"])) || (read_graph_config_option("timespan_sel") == "")) {		$_SESSION["sess_current_timespan"] = read_graph_config_option("default_timespan");	}	# get config option for first-day-of-the-week	$first_weekdayid = read_graph_config_option("first_weekdayid");	# get start/end time-since-epoch for actual time (now()) and given current-session-timespan	get_timespan( $timespan, time(),$_SESSION["sess_current_timespan"] , $first_weekdayid);	$_SESSION["custom"] = 0;}function finalize_timespan(&$timespan) {	if (!isset($timespan["current_value_date1"])) {		/* Default end date is now default time span */		$timespan["current_value_date1"] = date("Y-m-d H:i", $timespan["begin_now"]);	}	if (!isset($timespan["current_value_date2"])) {		/* Default end date is now */		$timespan["current_value_date2"] = date("Y-m-d H:i", $timespan["end_now"]);	}	/* correct bad dates on calendar */	if ($timespan["end_now"] < $timespan["begin_now"]) {		set_preset_timespan($timespan);		$_SESSION["sess_current_timespan"] = read_graph_config_option("default_timespan");		$timespan["current_value_date1"] = date("Y-m-d H:i", $timespan["begin_now"]);		$timespan["current_value_date2"] = date("Y-m-d H:i", $timespan["end_now"]);	}	/* if moved to future although not allow by settings, stop at current time */	if ( ($timespan["end_now"] > time()) && (read_graph_config_option("allow_graph_dates_in_future") == "") ) {		$timespan["end_now"] = time();		# convert end time to human readable format		$timespan["current_value_date2"] = date("Y-m-d H:i", $timespan["end_now"]);	}	$_SESSION["sess_current_timespan_end_now"] = $timespan["end_now"];	$_SESSION["sess_current_timespan_begin_now"] = $timespan["begin_now"];	$_SESSION["sess_current_date1"] = $timespan["current_value_date1"];	$_SESSION["sess_current_date2"] = $timespan["current_value_date2"];	$timespan_sel_pos = strpos(get_browser_query_string(),"&predefined_timespan");	if ($timespan_sel_pos) {		$_SESSION["urlval"] = substr(get_browser_query_string(),0,$timespan_sel_pos);	}else {		$_SESSION["urlval"] = get_browser_query_string();	}}/* establish graph timeshift from either a user select or the default */function set_timeshift() {	global $config;	include($config["include_path"] . "/global_arrays.php");	# no current timeshift: get default timeshift	if ((!isset($_SESSION["sess_current_timeshift"])) ||		(read_graph_config_option("timespan_sel") == "") ||		(isset($_POST["button_clear_x"]))		) {		$_SESSION["sess_current_timeshift"] = read_graph_config_option("default_timeshift");		$_REQUEST["predefined_timeshift"] = read_graph_config_option("default_timeshift");		$_SESSION["custom"] = 0;	}	return $timeshift = $graph_timeshifts[$_SESSION["sess_current_timeshift"]];}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -