function form_mactrack_save()
{
    global $config;
    if (isset_request_var('save_component_device') && isempty_request_var('add_dq_y')) {
        $device_id = api_mactrack_device_save(get_nfilter_request_var('device_id'), get_nfilter_request_var('host_id'), get_nfilter_request_var('site_id'), get_nfilter_request_var('hostname'), get_nfilter_request_var('device_name'), get_nfilter_request_var('scan_type'), get_nfilter_request_var('snmp_options'), get_nfilter_request_var('snmp_readstring'), get_nfilter_request_var('snmp_version'), get_nfilter_request_var('snmp_username'), get_nfilter_request_var('snmp_password'), get_nfilter_request_var('snmp_auth_protocol'), get_nfilter_request_var('snmp_priv_passphrase'), get_nfilter_request_var('snmp_priv_protocol'), get_nfilter_request_var('snmp_context'), get_nfilter_request_var('snmp_engine_id'), get_nfilter_request_var('snmp_port'), get_nfilter_request_var('snmp_timeout'), get_nfilter_request_var('snmp_retries'), get_nfilter_request_var('max_oids'), get_nfilter_request_var('ignorePorts'), get_nfilter_request_var('notes'), get_nfilter_request_var('user_name'), get_nfilter_request_var('user_password'), get_nfilter_request_var('term_type'), get_nfilter_request_var('private_key_path'), isset_request_var('disabled') ? get_nfilter_request_var('disabled') : '');
        header('Location: mactrack_devices.php?action=edit&device_id=' . (empty($device_id) ? get_filter_request_var('device_id') : $device_id));
    }
    if (isset_request_var('save_component_import')) {
        if ($_FILES['import_file']['tmp_name'] != 'none' && $_FILES['import_file']['tmp_name'] != '') {
            /* file upload */
            $csv_data = file($_FILES['import_file']['tmp_name']);
            /* obtain debug information if it's set */
            $debug_data = mactrack_device_import_processor($csv_data);
            if (sizeof($debug_data) > 0) {
                $_SESSION['import_debug_info'] = $debug_data;
            }
        } else {
            header('Location: mactrack_devices.php?action=import');
            exit;
        }
        header('Location: mactrack_devices.php?action=import');
    }
}
/**
 * perform mactrack_device execute action
 * @arg $action				action to be performed
 * return				-
 *  */
function mactrack_device_action_execute($action)
{
    global $config;
    # it's our turn
    if ($action == 'plugin_mactrack_device') {
        /* mactrack */
        /* find out which (if any) hosts have been checked, so we can tell the user */
        if (isset_request_var('selected_items')) {
            $selected_items = sanitize_unserialize_selected_items(get_nfilter_request_var('selected_items'));
            if ($selected_items != false) {
                /* work on all selected hosts */
                for ($i = 0; $i < count($selected_items); $i++) {
                    # fetch row from host table
                    $device = db_fetch_row_prepared('SELECT * from host WHERE id = ?', array($selected_items[$i]));
                    # now fetch the related device from mac_track_devices, if any
                    $mt_device = db_fetch_row_prepared('SELECT * from mac_track_devices WHERE host_id = ?', array($device['id']));
                    if (is_array($device)) {
                        # update mac_track_device
                        $device_id = api_mactrack_device_save(isset($mt_device['device_id']) ? $mt_device['device_id'] : '0', $device['id'], get_request_var('site_id'), $device['hostname'], $device['description'], get_request_var('scan_type'), get_request_var('snmp_options'), $device['snmp_community'], $device['snmp_version'], $device['snmp_username'], $device['snmp_password'], $device['snmp_auth_protocol'], $device['snmp_priv_passphrase'], $device['snmp_priv_protocol'], $device['snmp_context'], $device['snmp_engine_id'], $device['snmp_port'], $device['snmp_timeout'], get_request_var('snmp_retries'), $device['max_oids'], get_request_var('ignorePorts'), $device['notes'], get_request_var('user_name'), get_request_var('user_password'), get_request_var('term_type'), get_request_var('private_key_path'), isset_request_var('disabled') ? get_request_var('disabled') : '');
                    }
                }
            }
        }
    }
    return $action;
}
示例#3
0
function form_mactrack_save() {
	global $config;
	include_once($config["base_path"] . "/plugins/mactrack/mactrack_actions.php");

	if ((isset($_POST["save_component_device"])) && (empty($_POST["add_dq_y"]))) {
		$device_id = api_mactrack_device_save($_POST["device_id"], $_POST["host_id"], $_POST["site_id"],
			$_POST["hostname"], $_POST["device_name"], $_POST["scan_type"],
			$_POST["snmp_options"], $_POST["snmp_readstring"],
			$_POST["snmp_version"], $_POST["snmp_username"], $_POST["snmp_password"], $_POST["snmp_auth_protocol"],
			$_POST["snmp_priv_passphrase"], $_POST["snmp_priv_protocol"], $_POST["snmp_context"],
			$_POST["snmp_port"], $_POST["snmp_timeout"],
			$_POST["snmp_retries"], $_POST["max_oids"], $_POST["ignorePorts"],
			$_POST["notes"], $_POST["user_name"], $_POST["user_password"], $_POST["term_type"], $_POST["private_key_path"],
			(isset($_POST["disabled"]) ? $_POST["disabled"] : ""));
		
		$scan = exec("php ".$config["base_path"] . "/plugins/mactrack/mactrack_scanner.php -id=".$device_id);

		header("Location: mactrack_devices.php?action=edit&device_id=" . (empty($device_id) ? $_POST["device_id"] : $device_id) . (strpos($scan,"Complete")!==false ? "&scan=1" : "&scan=-1"));
	}

	if (isset($_POST["save_component_import"])) {
		if (($_FILES["import_file"]["tmp_name"] != "none") && ($_FILES["import_file"]["tmp_name"] != "")) {
			/* file upload */
			$csv_data = file($_FILES["import_file"]["tmp_name"]);

			/* obtain debug information if it's set */
			$debug_data = mactrack_device_import_processor($csv_data);
			if(sizeof($debug_data) > 0) {
				$_SESSION["import_debug_info"] = $debug_data;
			}
		}else{
			header("Location: mactrack_devices.php?action=import"); exit;
		}

		header("Location: mactrack_devices.php?action=import");
	}
}
示例#4
0
/**
 * perform mactrack_device execute action
 * @arg $action				action to be performed
 * return				-
 *  */
function mactrack_device_action_execute($action) {
	global $config;
	
	# it's our turn
	if ($action == "plugin_mactrack_device") { /* mactrack */
		/* find out which (if any) hosts have been checked, so we can tell the user */
		if (isset($_POST["selected_items"])) {
			$selected_items = unserialize(stripslashes($_POST["selected_items"]));

			/* work on all selected hosts */
			for ($i=0;($i<count($selected_items));$i++) {
				/* ================= input validation ================= */
				input_validate_input_number($selected_items[$i]);
				/* ==================================================== */

				# fetch row from host table
				$device = db_fetch_row("SELECT * from host WHERE id=" . $selected_items[$i]);
				# now fetch the related device from mac_track_devices, if any
				$mt_device = db_fetch_row("SELECT * from mac_track_devices WHERE host_id=" . $device["id"]);

				if (is_array($device)) {
					# update mac_track_device
					$device_id = api_mactrack_device_save(
					(isset($mt_device["device_id"]) ? $mt_device["device_id"] : "0"), 	# not a host column
					$device["id"],
					$_POST["site_id"],				# not a host column (wait for 088)
					$device["hostname"],
					$device["description"],
					$_POST["scan_type"],			# not a host column
					$_POST["snmp_options"],			# not a host column
					$device["snmp_community"],
					$device["snmp_version"],
					$device["snmp_username"],
					$device["snmp_password"],
					$device["snmp_auth_protocol"],
					$device["snmp_priv_passphrase"],
					$device["snmp_priv_protocol"],
					$device["snmp_context"],
					$device["snmp_port"],
					$device["snmp_timeout"],
					$_POST["snmp_retries"],
					$device["max_oids"],
					$_POST["ignorePorts"],			# not a host column
					$device["notes"],
					$_POST["user_name"], 			# not a host column
					$_POST["user_password"],		# not a host column
					$_POST["term_type"],
					$_POST["private_key_path"],
					(isset($_POST["disabled"]) ? $_POST["disabled"] : "")); # not a host column

				}
			}
		}
	}

	return $action;
}