// $app->get('/deviceport/:deviceid/patchcandidates', function ($deviceid) use($app) { $s = new stdClass(); $s->portnumber = $app->request->get('portnumber'); $s->connectto = $app->request->get('connectto'); $s->listports = $app->request->get('listports'); $s->patchpanels = $app->request->get('patchpanels'); $s->limiter = $app->request->get('limiter'); $response['error'] = false; $response['errorcode'] = 200; // I like nulls and wrote this function originally around them foreach ($s as $prop => $val) { $s->{$prop} = !$val ? null : $val; } if (is_null($s->listports)) { $response['device'] = DevicePorts::getPatchCandidates($deviceid, $s->portnumber, null, $s->patchpanels, $s->limiter); } else { $dp = new DevicePorts(); $dp->DeviceID = $s->connectto; $list = $dp->getPorts(); foreach ($list as $key => $port) { if (!is_null($port->ConnectedDeviceID)) { if ($port->ConnectedDeviceID == $deviceid && $port->ConnectedPort == $s->portnumber) { // This is what is currently connected so leave it in the list } else { // Remove any other ports that already have connections unset($list[$key]); } } } // S.U.T. #2342 I touch myself
foreach ($list as $pn => $port) { if ($pn > 0) { $front[$pn] = $port; } else { $rear[$pn] = $port; } } // Positive and negative numbers have different sorts to make sure that 1 is on top of the list ksort($front); krsort($rear); $list = array_replace($front, $rear); } else { $patchpanels = isset($_POST['rear']) ? "true" : null; $portnumber = isset($_POST['pn']) ? $_POST['pn'] : null; $limiter = isset($_POST['limiter']) ? $_POST['limiter'] : null; $list = DevicePorts::getPatchCandidates($_POST['swdev'], $portnumber, null, $patchpanels, $limiter); } header('Content-Type: application/json'); echo json_encode($list); exit; } if (isset($_POST['ESXrefresh'])) { $dev->DeviceID = $_POST['ESXrefresh']; $dev->GetDevice(); if ($dev->Rights == "Write") { ESX::RefreshInventory($_POST['ESXrefresh']); buildESXtable($_POST['ESXrefresh']); } exit; } if (isset($_POST['customattrrefresh'])) {