$max){ return substr_replace($string, $rep, $leave); } else { return $string; } } function mres($string) { // short function wrapper because the real one is stupidly long and ugly. aestetics. return mysql_real_escape_string($string); } function getifhost($id) { return dbFetchCell("SELECT `device_id` from `ports` WHERE `interface_id` = ?", array($id)); } function gethostbyid($id) { return dbFetchCell("SELECT `hostname` FROM `devices` WHERE `device_id` = ?", array($id)); } function strgen ($length = 16) { $entropy = array(0,1,2,3,4,5,6,7,8,9,'a','A','b','B','c','C','d','D','e', 'E','f','F','g','G','h','H','i','I','j','J','k','K','l','L','m','M','n', 'N','o','O','p','P','q','Q','r','R','s','S','t','T','u','U','v','V','w', 'W','x','X','y','Y','z','Z'); $string = ""; for ($i=0; $i<$length; $i++) { $key = mt_rand(0,61); $string .= $entropy[$key]; } return $string; } function getpeerhost($id) { return dbFetchCell("SELECT `device_id` from `bgpPeers` WHERE `bgpPeer_id` = ?", array($id)); } function getifindexbyid($id) { return dbFetchCell("SELECT `ifIndex` FROM `ports` WHERE `interface_id` = ?", array($id)); } function getifbyid($id) { return dbFetchRow("SELECT * FROM `ports` WHERE `interface_id` = ?", array($id)); } function getifdescrbyid($id) { return dbFetchCell("SELECT `ifDescr` FROM `ports` WHERE `interface_id` = ?", array($id)); } function getidbyname($domain) { return dbFetchCell("SELECT `device_id` FROM `devices` WHERE `hostname` = ?", array($domain)); } function gethostosbyid($id) { return dbFetchCell("SELECT `os` FROM `devices` WHERE `device_id` = ?", array($id)); } function safename($name) { return preg_replace('/[^a-zA-Z0-9,._\-]/', '_', $name); } function zeropad($num, $length = 2) { while (strlen($num) < $length) { $num = '0'.$num; } return $num; } function set_dev_attrib($device, $attrib_type, $attrib_value) { if (dbFetchCell("SELECT COUNT(*) FROM devices_attribs WHERE `device_id` = ? AND `attrib_type` = ?", array($device['device_id'],$attrib_type))) { $return = dbUpdate(array('attrib_value' => $attrib_value), 'devices_attribs', 'device_id=? and attrib_type=?', array($device['device_id'], $attrib_type)); } else { $return = dbInsert(array('device_id' => $device['device_id'], 'attrib_type' => $attrib_type, 'attrib_value' => $attrib_value), 'devices_attribs'); } return $return; } function get_dev_attribs($device) { $attribs = array(); foreach(dbFetchRows("SELECT * FROM devices_attribs WHERE `device_id` = ?", array($device)) as $entry) { $attribs[$entry['attrib_type']] = $entry['attrib_value']; } return $attribs; } function get_dev_attrib($device, $attrib_type) { if ($row = dbFetchRow("SELECT attrib_value FROM devices_attribs WHERE `device_id` = ? AND `attrib_type` = ?", array($device['device_id'], $attrib_type))) { return $row['attrib_value']; } else { return NULL; } } function del_dev_attrib($device, $attrib_type) { return dbDelete('devices_attribs', "`device_id` = ? AND `attrib_type` = ?", array($device['device_id'], $attrib_type)); } function formatRates($rate) { $rate = format_si($rate) . "bps"; return $rate; } function formatStorage($rate, $round = '2') { $rate = format_bi($rate, $round) . "B"; return $rate; } function format_si($rate) { if ($rate >= "0.1") { $sizes = Array('', 'k', 'M', 'G', 'T', 'P', 'E'); $round = Array('2','2','2','2','2','2','2','2','2'); $ext = $sizes[0]; for ($i = 1; (($i < count($sizes)) && ($rate >= 1000)); $i++) { $rate = $rate / 1000; $ext = $sizes[$i]; } } else { $sizes = Array('', 'm', 'u', 'n'); $round = Array('2','2','2','2'); $ext = $sizes[0]; for ($i = 1; (($i < count($sizes)) && ($rate != 0) && ($rate <= 0.1)); $i++) { $rate = $rate * 1000; $ext = $sizes[$i]; } } return round($rate, $round[$i]).$ext; } function format_bi($size, $round = '2') { $sizes = Array('', 'k', 'M', 'G', 'T', 'P', 'E'); $ext = $sizes[0]; for ($i = 1; (($i < count($sizes)) && ($size >= 1024)); $i++) { $size = $size / 1024; $ext = $sizes[$i]; } return round($size, $round).$ext; } ?>