function die_hdr($text) { header('Content-Type: text/html; charset=utf-8'); die($text); } if (!isset($_GET['format'])) { die_hdr('Не выбран формат экспорта!'); } if (!isset($_GET['data'])) { die_hdr('Не выбраны объекты!'); } $res = ['count' => 0]; $fields = array(); if ($_GET['data'] == 'nodes') { $fields = ['id' => 'id', 'name' => 'name', 'lon' => 'longitude', 'lat' => 'lattitude', 'fiberSpliceCount' => 'fiberSpliceCount', 'place' => 'place', 'NBTmarking' => 'marking', 'note' => 'note']; $res = getNetworkNodeList_NetworkBoxName('name', ''); $i = -1; while (++$i < $res['count']) { if (preg_match('/\\(([0-9\\.]+)\\,([0-9\\.]+)\\)/', $res['rows'][$i]['OpenGIS'], $matches)) { $res['rows'][$i]['lon'] = $matches[1]; $res['rows'][$i]['lat'] = $matches[2]; } else { $res['rows'][$i]['lon'] = ''; $res['rows'][$i]['lat'] = ''; } $res['rows'][$i]['place'] = str_replace([';', '"'], [',', '\''], $res['rows'][$i]['place']); $res['rows'][$i]['note'] = str_replace([';', '"'], [',', '\''], $res['rows'][$i]['note']); } } elseif ($_GET['data'] == 'lines') { $fields = ['id' => 'id', 'name' => 'name', 'coords' => 'coordinates', 'fibers' => 'fibers', 'marking' => 'marking', 'manufacturer' => 'manufacturer', 'length' => 'length', 'comment' => 'comment']; $res = getCableLineList(1, '');
$error = 1; } } showMessage($message, $error); } else { $comboBox_Box_Values = array(); $comboBox_Box_Text = array(); if (!isset($_GET['mode'])) { require_once 'backend/CableType.php'; $page = isset($_GET['page']) ? $_GET['page'] : 1; $sort = isset($_GET['sort']) ? $_GET['sort'] : 0; if (!isset($_GET['nodeid'])) { $res = getNetworkNodeList_NetworkBoxName($sort, '', $config['LinesPerPage'], ($page - 1) * $config['LinesPerPage']); } else { $wr['id'] = $_GET['nodeid']; $res = getNetworkNodeList_NetworkBoxName($sort, $wr, $config['LinesPerPage'], ($page - 1) * $config['LinesPerPage']); } if ($res['count'] < 1 && isset($_GET['nodeid'])) { $message = 'Узла с таким ID не существует!<br /> <a href="NetworkNodes.php">Назад</a>'; showMessage($message, 0); } $pages = genPages('NetworkNodes.php?sort=' . $sort . '&', ceil($res['allPages'] / $config['LinesPerPage']), $page); $rows = $res['rows']; $i = -1; $node_arr = array(); while (++$i < $res['count']) { $node_arr[] = $rows[$i]['id']; $node_arr[] = '<a href="NetworkNodes.php?mode=charac&nodeid=' . $rows[$i]['id'] . '">' . $rows[$i]['name'] . '</a>'; $node_arr[] = '<a href="NetworkBox.php?mode=charac&boxid=' . $rows[$i]['NetworkBox'] . '">' . $rows[$i]['inventoryNumber'] . '</a>'; $node_arr[] = '<a href="NetworkBoxType.php?mode=charac&boxtypeid=' . $rows[$i]['NetworkBoxType'] . '">' . $rows[$i]['NBTmarking'] . '</a>';
for ($i = 0; $i < $res['count']; $i++) { $OpenGIS = $rows[$i]['OpenGIS']; if (preg_match_all('/(?<x>[0-9.]+),(?<y>[0-9.]+)/', $OpenGIS, $matches)) { $lat = $matches['y'][0]; $lon = $matches['x'][0]; $title = '<a target="_blank" href="CableLine.php?mode=charac&cablelineid=' . $rows[$i]['CableLine'] . '">' . $rows[$i]['CableLineName'] . '</a>'; $description = '<a target="_blank" href="CableLine.php?mode=charac&cablelineid=' . $rows[$i]['CableLine'] . '">Отметка: ' . $rows[$i]['meterSign'] . '</a>'; $icon = "pic/rhomb_pic.png"; $iconSize = "8,8"; $iconOffset = "-4,-4"; $pois_text .= $lat . "\t" . $lon . "\t" . $title . "\t" . $description . "\t" . $icon . "\t" . $iconSize . "\t" . $iconOffset . "\n"; } } print $pois_text; } elseif ($_GET['mode'] == 'GetNetworkNodesDescription') { $res = getNetworkNodeList_NetworkBoxName('', '', '', -1, -1, TRUE); $rows = $res['rows']; $dom = new DomDocument('1.0', 'UTF-8'); $nodesDescriptions = $dom->appendChild($dom->createElement('nodesDescriptions')); for ($i = 0; $i < $res['count']; $i++) { $nodeDescription = $nodesDescriptions->appendChild($dom->createElement('nodeDescription')); $OpenGIS = $rows[$i]['OpenGIS']; if (preg_match_all('/(?<x>[0-9.]+),(?<y>[0-9.]+)/', $OpenGIS, $matches)) { //$fiberSpliceCount = getFiberSpliceCount_NetworkNode($rows[$i]['id']); $fiberSpliceCount = $rows[$i]['fiberSpliceCount']; $cableLines_row = getCableLineInfo($rows[$i]['id'], 1, TRUE); $cableLinesZeroFibers = 0; $cableLinesNotZeroFibers = 0; for ($j = 0; $j < $cableLines_row['count']; $j++) { if ($cableLines_row['rows'][$j]['fiber'] > 0) { $cableLinesNotZeroFibers++;