Exemplo n.º 1
0
/**
 * Get FedEx meter number
 */
function fn_settings_actions_shippings_fedex_fedex_meter_get(&$new_value, $old_value)
{
    if ($new_value != 'Y') {
        return false;
    }
    echo "Retreiving information from FEDEX server...";
    fn_flush();
    include_once DIR_SHIPPING_FILES . 'fedex/fedexdc.php';
    $shipping_settings = fn_get_settings('Shippings', 'fedex');
    $account_number = $shipping_settings['account_number'];
    $params = array('fedex_uri' => $shipping_settings['test_mode'] == 'Y' ? 'https://gatewaybeta.fedex.com:443/GatewayDC' : 'https://gateway.fedex.com:443/GatewayDC');
    $fed = new FedExDC($shipping_settings['account_number'], '', $params);
    $ship_ret = $fed->subscribe(array(1 => uniqid(TIME), 4003 => $shipping_settings['fedex_meter_name'], 4008 => $shipping_settings['fedex_meter_street'], 4011 => $shipping_settings['fedex_meter_city'], 4012 => $shipping_settings['fedex_meter_state'], 4013 => $shipping_settings['fedex_meter_zipcode'], 4014 => $shipping_settings['fedex_meter_country'], 4015 => $shipping_settings['fedex_meter_phone']));
    echo "<br />Done.";
    fn_flush();
    $error_tr = $fed->lookup('transaction_error_message');
    $error_req = $fed->getError();
    if ($error_tr || $error_req) {
        fn_set_notification('E', fn_get_lang_var('error'), (!empty($error_req) ? $error_req . '<br />' : '') . (!empty($error_tr) ? $error_tr : ''));
    } else {
        $meter_number = $fed->lookup('meter_number');
        db_query("UPDATE ?:settings SET ?u WHERE option_name = 'meter_number' AND section_id = 'Shippings' AND subsection_id = 'fedex'", array('value' => $meter_number));
    }
    $new_value = 'N';
}
Exemplo n.º 2
0
 if ($_POST['service_type'] == 90) {
     $shipData[440] = 'Y';
 } else {
     $shipData[440] = 'N';
 }
 // if it's an oversized shipment...
 if ($oversized) {
     $shipData[3124] = $_POST['oversized'];
 }
 ////
 // if there's no meter number in the database, ask for a new one
 if (!$fedex_vars[498]) {
     $fed = new FedExDC($fedex_keys[10]);
     // variables needed to subscribe
     $requestData = array(0 => 211, 10 => $fedex_vars[10], 4003 => $fedex_vars[4], 4008 => $fedex_vars[5], 4011 => $fedex_vars[7], 4012 => $fedex_vars[8], 4013 => $fedex_vars[9], 4014 => $senders_country, 4015 => $fedex_vars[183]);
     $keyRequest = $fed->subscribe($requestData);
     // todo: add appropriate error checking for at least some of the possible errors
     if ($error = $fed->getError()) {
         echo '<pre>';
         print_r($requestData);
         echo '</pre>';
         echo '<pre>';
         print_r($keyRequest);
         echo '</pre>';
         die("ERROR: " . $error);
     } else {
         tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '" . $keyRequest[498] . "' where configuration_key = 'MODULE_SHIPPING_FEDEX1_METER'");
         $fedex_vars[498] = $keyRequest[498];
     }
 }
 // end meter request
Exemplo n.º 3
0
 function update_meter_number()
 {
     global $vendor_name, $vendor_address, $vendor_city, $vendor_state, $vendor_zip, $vendor_country_2_code, $vendor_phone, $vmLogger;
     $fed = new FedExDC(FEDEX_ACCOUNT_NUMBER);
     $db = new ps_DB();
     $db->query('SELECT `contact_first_name`, `contact_last_name` FROM `#__{vm}_vendor` WHERE `vendor_id` =' . intval($_SESSION['ps_vendor_id']));
     $db->next_record();
     $aRet = $fed->subscribe(array(1 => uniqid('vmFed_'), 4003 => $db->f('contact_first_name') . ' ' . $db->f('contact_last_name'), 4008 => $vendor_address, 4011 => $vendor_city, 4012 => $vendor_state, 4013 => $vendor_zip, 4014 => $vendor_country_2_code, 4015 => $vendor_phone));
     if ($error = $fed->getError()) {
         $vmLogger->err($error);
         return false;
     }
     $meter_number = $aRet[498];
     foreach ($this->config_array as $config_key) {
         $d[$config_key] = constant($config_key);
     }
     $d['FEDEX_METER_NUMBER'] = $meter_number;
     $this->write_configuration($d);
     define('FEDEX_METER_NUMBER_TEMP', $meter_number);
     return true;
 }