コード例 #1
0
ファイル: data_template_push.php プロジェクト: songchin/Cacti
function api_data_source_item_propagate($data_template_item_id) {
	require_once(CACTI_BASE_PATH . "/lib/data_source/data_source_info.php");
	require_once(CACTI_BASE_PATH . "/lib/data_template/data_template_info.php");

	/* get information about this data template */
	$data_template_item = api_data_template_item_get($data_template_item_id);

	/* must be a valid data template item */
	if ($data_template_item === false) {
		return false;
	}

	/* retrieve a list of data source item fields */
	$data_source_item_fields = api_data_source_item_form_list();

	$dsi_fields = array();
	/* loop through each data source column name (from the above array) */
	foreach ($data_source_item_fields as $field_name => $field_array) {
		/* are we allowed to push out the column? */
		if ((isset($data_template_item["t_$field_name"])) && (isset($data_template_item[$field_name])) && ($data_template_item["t_$field_name"] == "0")) {
			$dsi_fields[$field_name] = array("type" => $field_array["data_type"], "value" => $data_template_item[$field_name]);
		}
	}

	if (sizeof($dsi_fields) > 0) {
		$dsi_fields["data_template_item_id"] = array("type" => DB_TYPE_STRING, "value" => $data_template_item["id"]);

		return db_update("data_source_item", $dsi_fields, array("data_template_item_id"));
	}

	return true;
}
コード例 #2
0
function api_data_template_item_remove($data_template_item_id) {
	require_once(CACTI_BASE_PATH . "/lib/data_template/data_template_info.php");

	/* sanity checks */
	validate_id_die($data_template_item_id, "data_template_item_id");

	/* retrieve information about this data template */
	$data_template_item = api_data_template_item_get($data_template_item_id);

	$data_sources = db_fetch_assoc("select id from data_source where data_template_id = " . $data_template_item["data_template_id"]);

	/* delete all attached data source items */
	if (is_array($data_sources) > 0) {
		foreach ($data_sources as $item) {
			db_delete("data_source_item",
				array(
					"data_source_id" => array("type" => DB_TYPE_INTEGER, "value" => $item["id"]),
					"data_source_name" => array("type" => DB_TYPE_STRING, "value" => $data_template_item["data_source_name"])
					));
		}
	}

	db_delete("data_template_item",
		array(
			"id" => array("type" => DB_TYPE_INTEGER, "value" => $data_template_item_id)
			));
}