"MR7", 2 => "MR14", 3 => "MR16", 4 => "MR20", 5 => "PE32", 6 => "PE40", 7 => "PE50", 8 => "KSR50", 9 => "KSR80", 10 => "KSR100"); public static $type_definition = array(1 => "Enzel", 2 => "Schutzrohr", 3 => "Verband"); public static function find($data) { } public static function create(array $data) { $model = new FiberPlanPipe(); foreach ($data as $field => $value) { if (property_exists(get_called_class(), $field)) { if (substr($field, 0, 5) == "vlan_" && !$value) { $model->$field = null; continue; } $model->$field = $value; } } $me = mfValuecache::singleton()->get("me"); if (!$me) { $me = new User(); $me->loadMe(); mfValuecache::singleton()->set("me", $me); } if ($model->create_by === null) { $model->create_by = $me->id; } if ($model->edit_by === null) { $model->edit_by = $me->id; } return $model; } public static function getOne($id) { if (!is_numeric($id) || !$id) { throw new Exception("Invalid number", 400); } $item = []; $db = FronkDB::singleton(); $res = $db->select("FiberPlanPipe", "*", "id=$id LIMIT 1"); if ($db->num_rows($res)) { $data = $db->fetch_object($res); $item = new FiberPlanPipe($data); } return $item; } public static function getAll() { $items = []; $db = FronkDB::singleton(); $res = $db->select("FiberPlanPipe", "*", "1=1"); if ($db->num_rows($res)) { while ($data = $db->fetch_object($res)) { $items[] = new FiberPlanPipe($data); } } return $items; } public static function getAllPipeManufacturer() { $items = []; $db = FronkDB::singleton(); $res = $db->select("FiberPlanPipeManufacturer", "*", "1=1"); if ($db->num_rows($res)) { while ($data = $db->fetch_object($res)) { $items[] = new FiberPlanPipe($data); } } return $items; } public static function getAllPipe() { $items = []; $db = FronkDB::singleton(); $sql = "SELECT `FiberPlanPipe`.`id`,`FiberPlanPipe`.`description`,`FiberPlanPipe`.`type`,`FiberPlanPipe`.`type_description`,`FiberPlanPipe`.`startpoint_network_id`, `FiberPlanPipe`.`endpoint_network_id`,`FiberPlanPipeTemplate`. `fiberPlanPipeManufacturer_id`,`FiberPlanPipeTemplate`.`pipe7x4`,`FiberPlanPipeTemplate`.`pipe14x10` FROM `FiberPlanPipe` LEFT JOIN `FiberPlanPipeTemplate` ON `FiberPlanPipe`.`fiberPlanPipeTemplate_id`=`FiberPlanPipeTemplate`.id"; $res = $db->query($sql); if ($db->num_rows($res)) { while ($data = $db->fetch_object($res)) { $items[] = new FiberPlanPipe($data); } } return $items; } public static function getFirst() { $db = FronkDB::singleton(); $where = self::getSqlFilter($filter); $res = $db->select("FiberPlanPipe", "*", "$where "); if ($db->num_rows($res)) { $data = $db->fetch_object($res); $item = new FiberPlanPipe($data); if ($item->id) { return $item; } else { return null; } } return null; } public static function search($filter) { $items = []; $db = FronkDB::singleton(); $where = self::getSqlFilter($filter); $res = $db->select("FiberPlanPipe", "*", "$where"); if ($db->num_rows($res)) { while ($data = $db->fetch_object($res)) { $items[] = new FiberPlanPipe($data); } } return $items; } private static function getSqlFilter($filter) { $where = "1=1 "; //var_dump($filter);exit; if (array_key_exists("network_id", $filter)) { $networkid = $filter['network_id']; if (is_numeric($networkid)) { $where .= " AND network_id=$networkid"; } } //var_dump($filter, $where);exit; return $where; } public static function getTemplates() { $items = []; $db = FronkDB::singleton(); $sql = "SELECT `FiberPlanPipeTemplate`.id,FiberPlanPipeTemplate.pipe7x4,FiberPlanPipeTemplate.pipe14x10,FiberPlanPipeManufacturer.name FROM `FiberPlanPipeTemplate` INNER JOIN FiberPlanPipeManufacturer ON FiberPlanPipeManufacturer.id=FiberPlanPipeTemplate.fiberPlanPipeManufacturer_id "; $res = $db->query($sql); if ($db->num_rows($res)) { while ($data = $db->fetch_object($res)) { $items[] = new FiberPlanPipe($data); } } return $items; } public static function getPipeworkerAddresses() { $items = []; $db = FronkDB::singleton(); $sql = "SELECT `Addresstype`.`id`,`Address`.`company` FROM `Addresstype` INNER JOIN `Address` ON (`Address`.`id`=`Addresstype`.`address_id`) WHERE `type` = 'pipeworker' ORDER by `Address`.`company` "; $res = $db->query($sql); if ($db->num_rows($res)) { while ($data = $db->fetch_object($res)) { $items[] = new FiberPlanPipe($data); } } return $items; } public static function getBuildingInfo($network, $bdtype, $api = 1) { $items = []; $db = FronkDB::singleton(); if ($bdtype == "1") { $sql = "SELECT `id`,`description` `name`,`gps_lat`,`gps_long` FROM `FiberPlanDispatcher` WHERE network_id='" . $network . "' AND `object_type`='3' "; } else if ($bdtype == "2") { $sql = "SELECT `Pop`.`id`,`Pop`.`name`,`gps_lat`,`gps_long` FROM `PopNetwork` INNER JOIN `Pop` ON (`Pop`.`id`=`PopNetwork`.`pop_id`) WHERE `PopNetwork`.`network_id`='" . $network . "'"; } else if ($bdtype == "3") { $sql = "SELECT `id`,`code` ,`street`, `zip`, `city` name ,`gps_lat`,`gps_long` FROM Building WHERE network_id='" . $network . "' ORDER by street"; } else if ($bdtype == "4") { $sql = "SELECT `id`,`description` `name`,`gps_lat`,`gps_long` FROM `FiberPlanDispatcher` WHERE network_id='" . $network . "' AND (`object_type`='1' OR `object_type`='2') "; } $res = $db->query($sql); if ($db->num_rows($res)) { $counter = 0; while ($data = $db->fetch_array($res)) { $items[$counter]['id'] = $data['id']; $items[$counter]['gps_lat'] = $data['gps_lat']; $items[$counter]['gps_long'] = $data['gps_long']; if ($bdtype == "3") { $items[$counter]['name'] = $data['street'] . " " . $data['zip'] . " " . $data['city']; } else { $items[$counter]['name'] = $data['name']; } $counter++; } } if ($api === 1) { echo json_encode($items); exit; } else { return $items; } } public static function getBuildingInfoAll() { $items = []; $db = FronkDB::singleton(); $sql = "SELECT `id`, `fiberPlanDispatcher_id`, `name` FROM `FiberPlanDispatchersleeve` ORDER by id"; $res = $db->query($sql); if ($db->num_rows($res)) { while ($data = $db->fetch_array($res)) { $sleeves[$data['fiberPlanDispatcher_id']][$data['id']] = $data['name']; } } $sql = "SELECT '1' as `type`,'Greenfield' as `typename`,`id`,`description` as `name`,`gps_lat`,`gps_long` FROM `FiberPlanDispatcher` WHERE `object_type`='3' UNION SELECT '2' as `type`,'Pop' as `typename`,`id`,`name`,`gps_lat`,`gps_long` FROM `Pop` UNION SELECT '3' as `type`,'Building' as `typename`,`id`,CONCAT_WS(' ',`street`, `zip`, `city`) as name,`gps_lat`,`gps_long` FROM Building UNION SELECT '4' as `type`,'Schacht-Verteiler' as `typename`,`id`,`description` as `name`,`gps_lat`,`gps_long` FROM `FiberPlanDispatcher` WHERE (`object_type`='1' OR `object_type`='2')"; $res = $db->query($sql); if ($db->num_rows($res)) { while ($data = $db->fetch_array($res)) { $items[$data['type']][$data['id']] = $data; if ($data['type'] == 4) { $items[$data['type']][$data['id']]['sleeves'] = $sleeves[$data['id']]; } } } return $items; } public static function generateEndpoints($endpoints, $networks) { foreach ($networks as $network) { $Network[$network->id] = $network->name; } $counter = 1; $endpointuparrow = ""; $Endpointdownarrow = ""; $typeArray[1] = 'Greenfield'; $typeArray[2] = 'POP'; $typeArray[3] = 'Building'; $typeArray[4] = 'Schacht-Verteiler'; // print_r($buildings); $counter = 1; foreach ($endpoints as $Endpoint) { $endpointuparrow = ""; $Endpointdownarrow = ""; if ($Endpoint->pop_id) { $networkid = $Endpoint->pop->network_id; $endpointid = $Endpoint->pop->id; $endpointtype = 2; } else if ($Endpoint->fiberPlanDispatcher_id) { $networkid = $Endpoint->fiberPlanDispatcher->network_id; $endpointid = $Endpoint->fiberPlanDispatcher->id; if ($Endpoint->fiberPlanDispatcher->object_type == 3) { $endpointtype = 1; } else { $endpointtype = 4; } } else if ($Endpoint->building_id) { $networkid = $Endpoint->building->network_id; $endpointid = $Endpoint->building->id; $endpointtype = 3; } $randid = rand(1000, 10000); if (count($endpoints) == $counter) { $Endpointuparrow = ''; } else if ($counter > 1) { $Endpointuparrow = ''; $Endpointdownarrow = ''; } if ($counter == 1) { $endpointType = "Startpunkt"; $endpointsymbol = ''; } else if (count($endpoints) == 2) { $endpointcount = $counter - 1; $endpointType = "Standort " . $endpointcount; $endpointsymbol = ''; } else { $endpointcount = $counter - 1; $endpointType = "Standort " . $endpointcount; $endpointsymbol = ''; } $html = '
'; echo $html; $counter++; } } }