Ejemplo n.º 1
0
function api_data_source_path_get($data_source_id, $expand_paths) {
	require_once(CACTI_BASE_PATH . "/lib/sys/variable.php");
	require_once(CACTI_BASE_PATH . "/lib/data_source/data_source_update.php");

	$current_path = db_fetch_cell("select rrd_path from data_source where id = $data_source_id");

	/* generate a new path if needed */
	if ($current_path == "") {
		$current_path = api_data_source_path_get_update($data_source_id);
	}

	if ($expand_paths == true) {
		return substitute_path_variables($current_path);
	}else{
		return $current_path;
	}
}
Ejemplo n.º 2
0
function api_data_source_item_save($data_source_item_id, &$_fields_data_source_item) {
	require_once(CACTI_BASE_PATH . "/lib/data_source/data_source_info.php");

	/* sanity checks */
	validate_id_die($data_source_item_id, "data_source_item_id", true);

	/* sanity check for $data_source_id */
	if ((empty($data_source_item_id)) && (empty($_fields_data_source_item["data_source_id"]))) {
		log_save("Required data_source_id when data_source_item_id = 0", SEV_ERROR);
		return false;
	} else if ((isset($_fields_data_source_item["data_source_id"])) && (!is_numeric($_fields_data_source_item["data_source_id"]))) {
		return false;
	}

	/* field: id */
	$_fields["id"] = array("type" => DB_TYPE_INTEGER, "value" => $data_source_item_id);

	/* field: data_source_id */
	if (!empty($_fields_data_source_item["data_source_id"])) {
		$_fields["data_source_id"] = array("type" => DB_TYPE_INTEGER, "value" => $_fields_data_source_item["data_source_id"]);
	}

	/* field: data_template_item_id */
	if (!empty($_fields_data_source_item["data_template_item_id"])) {
		$_fields["data_template_item_id"] = array("type" => DB_TYPE_INTEGER, "value" => $_fields_data_source_item["data_template_item_id"]);
	}

	/* field: field_input_value */
	if (isset($_fields_data_source_item["field_input_value"])) {
		$_fields["field_input_value"] = array("type" => DB_TYPE_STRING, "value" => $_fields_data_source_item["field_input_value"]);
	}

	/* convert the input array into something that is compatible with db_replace() */
	$_fields += sql_get_database_field_array($_fields_data_source_item, api_data_source_item_form_list());

	/* check for an empty field list */
	if (sizeof($_fields) == 1) {
		return true;
	}

	if (db_replace("data_source_item", $_fields, array("id"))) {
		if (!empty($_fields_data_source_item["data_source_id"])) {
			/* since the data source path is based in part on the data source item name, it makes sense
			 * to update it here */
			api_data_source_path_get_update($_fields_data_source_item["data_source_id"]);
		}

		return true;
	}else{
		return false;
	}
}