$dateTripTo = $value['arrivalDateTime']; $tripLocationTo = $value['arrivalAirportName']; $recordLocator = $value['recordLocator']; $port_dest = $value['arrivalAirportCode']; } $i++; } } else { $dateTripFrom = $activeReservationDetailed['departureDateTime']; $dateTripTo = $activeReservationDetailed['arrivalDateTime']; $tripLocationTo = $activeReservationDetailed['arrivalAirportName']; $recordLocator = $activeReservationDetailed['recordLocator']; $port_dest = $activeReservationDetailed['arrivalAirportCode']; } $flightReservationInfo = array('dateTripFrom' => $dateTripFrom, 'dateTripTo' => $dateTripTo, 'tripToLocation' => $tripLocationTo, 'tripFor' => $employee['name'], 'reservationCode' => $recordLocator, 'airLineReservationCode' => ''); $portAgentInfo = getPortInfo($port_dest, $conn); // get the HTML ob_start(); include dirname(__FILE__) . '/modules/mod_empflightdetails/tmpl/profile.php'; $content = ob_get_clean(); // convert to PDF require_once 'api/swift/lib/swift_required.php'; require_once dirname(__FILE__) . '/html2pdf/html2pdf.class.php'; try { $html2pdf = new HTML2PDF('P', 'A4', 'en'); $html2pdf->setDefaultFont('arial'); $html2pdf->writeHTML($content); $html2pdf->Output('/home/httpdocs/api/pdfs/flight_itinerary_' . $username . '.pdf', 'F'); $emailMessage = Swift_Message::newInstance()->setSubject('Travel Details')->setFrom(array('*****@*****.**' => 'RCLCrewTravel Automated Email'))->setTo(array($email => $email))->setBody('Attached is your travel itinerary')->attach(Swift_Attachment::fromPath('/home/httpdocs/api/pdfs/flight_itinerary_' . $username . '.pdf')); // This transport is VERY slow, replaced it with SMTP // $transport = Swift_MailTransport::newInstance();
function updateCableIdAJAX() { global $sic; assertUIntArg('id'); assertStringArg('text', TRUE); $port_info = getPortInfo($sic['id']); fixContext(spotEntity('object', $port_info['object_id'])); assertPermission('object', 'ports', 'editPort'); if (!$port_info['linked']) { throw new RackTablesError('Cant update cable ID: port is not linked'); } if ($port_info['reservation_comment'] !== $sic['text']) { commitUpdatePortLink($sic['id'], $sic['text']); } echo 'OK'; }
function importDPData() { global $sic, $dbxlink; assertUIntArg('nports'); $nignored = $ndone = 0; for ($i = 0; $i < $sic['nports']; $i++) { if (array_key_exists("do_{$i}", $sic)) { $params = array(); assertStringArg("ports_{$i}"); foreach (explode(',', $_REQUEST["ports_{$i}"]) as $item) { $pair = explode(':', $item); if (count($pair) != 2) { continue; } $params[$pair[0]] = $pair[1]; } if (!isset($params['a_id']) || !isset($params['b_id']) || !intval($params['a_id']) || !intval($params['b_id'])) { throw new InvalidArgException("ports_{$i}", $_REQUEST["ports_{$i}"], "can not unpack port ids"); } $porta = getPortInfo($params['a_id']); $portb = getPortInfo($params['b_id']); if ($porta['linked'] or $portb['linked'] or $porta['object_id'] != $sic['object_id'] and $portb['object_id'] != $sic['object_id']) { $nignored++; continue; } $oif_a = intval(@$params['a_oif']); // these parameters are optional $oif_b = intval(@$params['b_oif']); $dbxlink->beginTransaction(); try { if ($oif_a) { commitUpdatePortOIF($params['a_id'], $oif_a); $porta['oif_id'] = $oif_a; } if ($oif_b) { commitUpdatePortOIF($params['b_id'], $oif_b); $portb['oif_id'] = $oif_b; } if (arePortsCompatible($porta, $portb)) { linkPorts($params['a_id'], $params['b_id']); $ndone++; $dbxlink->commit(); } else { $dbxlink->rollback(); $nignored++; } } catch (RTDatabaseError $e) { $dbxlink->rollBack(); $nignored++; } } } showFuncMessage(__FUNCTION__, 'OK', array($nignored, $ndone)); }
function renderPopupPortSelector() { if (isset($_REQUEST['do_link'])) { return handlePopupPortLink(); } assertPermission('depot', 'default'); assertUIntArg('port'); $port_id = $_REQUEST['port']; $port_info = getPortInfo($port_id); $in_rack = isCheckSet('in_rack'); // fill port filter structure $filter = array('racks' => array(), 'objects' => '', 'ports' => '', 'asset_no' => ''); if (isset($_REQUEST['filter-obj'])) { $filter['objects'] = trim($_REQUEST['filter-obj']); } if (isset($_REQUEST['filter-port'])) { $filter['ports'] = trim($_REQUEST['filter-port']); } if (isset($_REQUEST['filter-asset_no'])) { $filter['asset_no'] = trim($_REQUEST['filter-asset_no']); } if ($in_rack) { $object = spotEntity('object', $port_info['object_id']); if ($object['rack_id']) { // the object itself is mounted in a rack $filter['racks'] = getProximateRacks($object['rack_id'], getConfigVar('PROXIMITY_RANGE')); } elseif ($object['container_id']) { $container = spotEntity('object', $object['container_id']); if ($container['rack_id']) { $filter['racks'] = getProximateRacks($container['rack_id'], getConfigVar('PROXIMITY_RANGE')); } } } $spare_ports = array(); if (!empty($filter['racks']) || !empty($filter['objects']) || !empty($filter['ports']) || !empty($filter['asset_no'])) { $spare_ports = findSparePorts($port_info, $filter); } // display search form echo 'Link ' . formatPort($port_info) . ' to...'; echo '<form method=GET>'; startPortlet('Port list filter'); echo '<input type=hidden name="module" value="popup">'; echo '<input type=hidden name="helper" value="portlist">'; echo '<input type=hidden name="port" value="' . $port_id . '">'; echo '<table align="center" valign="bottom"><tr>'; echo '<td class="tdleft"><label>Object name:<br><input type=text size=8 name="filter-obj" value="' . htmlspecialchars($filter['objects'], ENT_QUOTES) . '"></label></td>'; echo '<td class="tdleft"><label>Asset tag:<br><input type=text size=8 name="filter-asset_no" value="' . htmlspecialchars($filter['asset_no'], ENT_QUOTES) . '"></label></td>'; echo '<td class="tdleft"><label>Port name:<br><input type=text size=6 name="filter-port" value="' . htmlspecialchars($filter['ports'], ENT_QUOTES) . '"></label></td>'; echo '<td class="tdleft" valign="bottom"><label><input type=checkbox name="in_rack"' . ($in_rack ? ' checked' : '') . '>Nearest racks</label></td>'; echo '<td valign="bottom"><input type=submit value="show ports"></td>'; echo '</tr></table>'; finishPortlet(); // display results startPortlet('Compatible spare ports'); if (empty($spare_ports)) { echo '(nothing found)'; } else { echo getSelect($spare_ports, array('name' => 'remote_port', 'size' => getConfigVar('MAXSELSIZE')), NULL, FALSE); echo "<p>Cable ID: <input type=text id=cable name=cable>"; // suggest patch cables where it makes sense $heaps = getPatchCableHeapOptionsForOIF($port_info['oif_id']); if (count($heaps)) { // Use + instead of array_merge() to avoid renumbering the keys. echo '<p>Patch cable: ' . getSelect(array(0 => 'none') + $heaps, array('name' => 'heap_id')); } echo "<p><input type='submit' value='Link' name='do_link'>"; } finishPortlet(); echo '</form>'; }
case 'unlink_port': require_once 'inc/init.php'; assertUIntArg('port_id'); commitUnlinkPort($_REQUEST['port_id']); sendAPIResponse(array(), array('message' => 'port unlinked successfully', 'port_id' => $_REQUEST['port_id'])); break; // get data on a given port // UI equivalent: none // UI handler: none // get data on a given port // UI equivalent: none // UI handler: none case 'get_port': require_once 'inc/init.php'; assertUIntArg('port_id'); $port_info = getPortInfo($_REQUEST['port_id']); sendAPIResponse($port_info); break; // delete an object // UI equivalent: /index.php?module=redirect&op=deleteObject&page=depot&tab=addmore&object_id=993 // (typically a link from edit object page) // UI handler: deleteObject() // delete an object // UI equivalent: /index.php?module=redirect&op=deleteObject&page=depot&tab=addmore&object_id=993 // (typically a link from edit object page) // UI handler: deleteObject() case 'delete_object': require_once 'inc/init.php'; assertUIntArg('object_id'); // determine racks the object is in $racklist = getResidentRacksData($_REQUEST['object_id'], FALSE);
function __construct($port_id) { $this->port = getPortInfo($port_id); if ($this->port === false) { return; } /* successfully get port info */ $this->port_id = $port_id; }
function renderPopupPortSelector() { assertUIntArg('port'); $port_id = $_REQUEST['port']; $port_info = getPortInfo($port_id); $in_rack = isCheckSet('in_rack'); // fill port filter structure $filter = array('racks' => array(), 'objects' => '', 'ports' => ''); if (isset($_REQUEST['filter-obj'])) { $filter['objects'] = trim($_REQUEST['filter-obj']); } if (isset($_REQUEST['filter-port'])) { $filter['ports'] = trim($_REQUEST['filter-port']); } if ($in_rack) { $object = spotEntity('object', $port_info['object_id']); if ($object['rack_id']) { $filter['racks'] = getProximateRacks($object['rack_id'], getConfigVar('PROXIMITY_RANGE')); } } $spare_ports = array(); if (!empty($filter['racks']) || !empty($filter['objects']) || !empty($filter['ports'])) { $spare_ports = findSparePorts($port_info, $filter); } // display search form echo 'Link ' . formatPort($port_info) . ' to...'; echo '<form method=GET>'; startPortlet('Port list filter'); echo '<input type=hidden name="module" value="popup">'; echo '<input type=hidden name="helper" value="portlist">'; echo '<input type=hidden name="port" value="' . $port_id . '">'; echo '<table align="center" valign="bottom"><tr>'; echo '<td class="tdleft"><label>Object name:<br><input type=text size=8 name="filter-obj" value="' . htmlspecialchars($filter['objects'], ENT_QUOTES) . '"></label></td>'; echo '<td class="tdleft"><label>Port name:<br><input type=text size=6 name="filter-port" value="' . htmlspecialchars($filter['ports'], ENT_QUOTES) . '"></label></td>'; echo '<td class="tdleft" valign="bottom"><label><input type=checkbox name="in_rack"' . ($in_rack ? ' checked' : '') . '>Nearest racks</label></td>'; echo '<td valign="bottom"><input type=submit value="show ports"></td>'; echo '</tr></table>'; finishPortlet(); // display results startPortlet('Compatible spare ports'); if (empty($spare_ports)) { echo '(nothing found)'; } else { echo getSelect($spare_ports, array('name' => 'remote_port', 'size' => getConfigVar('MAXSELSIZE')), NULL, FALSE); echo "<p>Cable ID: <input type=text id=cable name=cable>"; echo "<p><input type='submit' value='Link' name='do_link'>"; } finishPortlet(); echo '</form>'; }