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; }
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) )); }