$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';
}
Beispiel #3
0
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));
}
Beispiel #4
0
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>';
}
Beispiel #5
0
Datei: api.php Projekt: xtha/salt
 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;
 }
Beispiel #7
0
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>';
}