oont-contents/plugins/aramex-shipping-woocommerce/includes/shipment/class-aramex-woocommerce-shipment.php
2025-02-08 15:10:23 +01:00

646 lines
32 KiB
PHP

<?php
/*
Plugin Name: Aramex Shipping WooCommerce
Plugin URI: https://aramex.com
Description: Aramex Shipping WooCommerce plugin
Version: 1.0.0
Author: aramex.com
Author URI: https://www.aramex.com/solutions-services/developers-solutions-center
License: GPL2
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aramex
Domain Path: /languages
*/
include_once __DIR__ . '../../core/class-aramex-helper.php';
/**
* Controller for Shipment functionality
*/
class Aramex_Shipment_Method extends Aramex_Helper
{
/**
* Starting method
*
* @return mixed|string
*/
public function run()
{
check_admin_referer('aramex-shipment-check' . wp_get_current_user()->user_email);
$post = $this->formatPost($_POST);
if ($post['aramex_shipment_shipper_account_show'] == 1) {
$info = $this->getInfo(wp_create_nonce('aramex-shipment-check' . wp_get_current_user()->user_email));
} else {
$info = $this->getInfoCod(wp_create_nonce('aramex-shipment-check' . wp_get_current_user()->user_email));
}
//SOAP object
$soapClient = new SoapClient($info['baseUrl'] . 'shipping.wsdl',
array("trace" => true, 'cache_wsdl' => WSDL_CACHE_NONE));
$aramex_errors = false;
try {
/* here's your form processing */
$order = new WC_Order($post['aramex_shipment_original_reference']);
$items = $order->get_items();
$descriptionOfGoods = '';
foreach ($items as $itemvv) {
$descriptionOfGoods .= $itemvv['product_id'] . ' - ' . trim($itemvv['name'] . ' ');
}
$descriptionOfGoods = substr($descriptionOfGoods, 0, 65);
$aramex_items_counter = 0;
$totalItems = (trim($post['number_pieces']) == '') ? 1 : (int)$post['number_pieces'];
$aramex_atachments = array();
//attachment
for ($i = 1; $i <= 3; $i++) {
$fileName = $_FILES['file' . $i]['name'];
if (isset($fileName) != '') {
$fileName = explode('.', $fileName);
$fileName = $fileName[0]; //filename without extension
$fileData = '';
if ($_FILES['file' . $i]['tmp_name'] != '') {
$fileData = file_get_contents($_FILES['file' . $i]['tmp_name']);
}
$ext = pathinfo($_FILES['file' . $i]['name'], PATHINFO_EXTENSION); //file extension
if ($fileName && $ext && $fileData) {
$aramex_atachments[] = array(
'FileName' => $fileName,
'FileExtension' => $ext,
'FileContents' => $fileData
);
}
}
}
$totalWeight = $post['order_weight'];
$params = array();
if ($post['aramex_shipment_shipper_account_show'] == 1) {
$AccountNumber_1 = ($post['aramex_shipment_info_billing_account'] == 1) ? $post['aramex_shipment_shipper_account'] : $post['aramex_shipment_shipper_account'];
$AccountPin_1 = ($post['aramex_shipment_info_billing_account'] == 1) ? $post['aramex_shipment_shipper_account_pin'] : $post['aramex_shipment_shipper_account_pin'];
$AccountNumber_2 = ($post['aramex_shipment_info_billing_account'] == 2) ? $post['aramex_shipment_shipper_account'] : $post['aramex_shipment_shipper_account'];
$AccountPin_2 = ($post['aramex_shipment_info_billing_account'] == 2) ? $post['aramex_shipment_shipper_account_pin'] : $post['aramex_shipment_shipper_account_pin'];
$AccountNumber_3 = $post['aramex_shipment_shipper_account'];
$AccountPin_3 = $post['aramex_shipment_shipper_account_pin'];
} else {
$AccountNumber_1 = ($post['aramex_shipment_info_billing_account'] == 1) ? $post['aramex_shipment_shipper_account_cod'] : $post['aramex_shipment_shipper_account_cod'];
$AccountPin_1 = ($post['aramex_shipment_info_billing_account'] == 1) ? $post['aramex_shipment_shipper_account_pin_cod'] : $post['aramex_shipment_shipper_account_pin_cod'];
$AccountNumber_2 = ($post['aramex_shipment_info_billing_account'] == 2) ? $post['aramex_shipment_shipper_account_cod'] : '';
$AccountPin_2 = ($post['aramex_shipment_info_billing_account'] == 2) ? $post['aramex_shipment_shipper_account_pin_cod'] : '';
$AccountNumber_3 = $post['aramex_shipment_shipper_account_cod'];
$AccountPin_3 = $post['aramex_shipment_shipper_account_pin_cod'];
}
//shipper parameters
$params['Shipper'] = array(
'Reference1' => $post['aramex_shipment_shipper_reference'], //'ref11111',
'Reference2' => '',
'AccountNumber' => $AccountNumber_1,
'AccountPin' => $AccountPin_1,
//Party Address
'PartyAddress' => array(
'Line1' => addslashes($post['aramex_shipment_shipper_street']), //'13 Mecca St',
'Line2' => '',
'Line3' => '',
'City' => $post['aramex_shipment_shipper_city'], //'Dubai',
'StateOrProvinceCode' => $post['aramex_shipment_shipper_state'], //'',
'PostCode' => str_replace(" ","",$post['aramex_shipment_shipper_postal']),
'CountryCode' => $post['aramex_shipment_shipper_country'], //'AE'
),
//Contact Info
'Contact' => array(
'Department' => '',
'PersonName' => $post['aramex_shipment_shipper_name'], //'Suheir',
'Title' => '',
'CompanyName' => $post['aramex_shipment_shipper_company'], //'Aramex',
'PhoneNumber1' => $post['aramex_shipment_shipper_phone'], //'55555555',
'PhoneNumber1Ext' => '',
'PhoneNumber2' => '',
'PhoneNumber2Ext' => '',
'FaxNumber' => '',
'CellPhone' => $post['aramex_shipment_shipper_phone'],
'EmailAddress' => $post['aramex_shipment_shipper_email'], //'',
'Type' => ''
),
);
//consinee parameters
$params['Consignee'] = array(
'Reference1' => $post['aramex_shipment_receiver_reference'], //'',
'Reference2' => '',
'AccountNumber' => $AccountNumber_2,
'AccountPin' => $AccountPin_2,
//Party Address
'PartyAddress' => array(
'Line1' => $post['aramex_shipment_receiver_street'], //'15 ABC St',
'Line2' => '',
'Line3' => '',
'City' => $post['aramex_shipment_receiver_city'], //'Amman',
'StateOrProvinceCode' => '',
'PostCode' => str_replace(" ","",$post['aramex_shipment_receiver_postal']),
'CountryCode' => $post['aramex_shipment_receiver_country'], //'JO'
),
//Contact Info
'Contact' => array(
'Department' => '',
'PersonName' => $post['aramex_shipment_receiver_name'], //'Mazen',
'Title' => '',
'CompanyName' => $post['aramex_shipment_receiver_company'], //'Aramex',
'PhoneNumber1' => $post['aramex_shipment_receiver_phone'], //'6666666',
'PhoneNumber1Ext' => '',
'PhoneNumber2' => '',
'PhoneNumber2Ext' => '',
'FaxNumber' => '',
'CellPhone' => $post['aramex_shipment_receiver_phone'],
'EmailAddress' => $post['aramex_shipment_receiver_email'], //'mazen@aramex.com',
'Type' => ''
)
);
//new
if ($post['aramex_shipment_info_billing_account'] == 3) {
$params['ThirdParty'] = array(
'Reference1' => $post['aramex_shipment_shipper_reference'], //'ref11111',
'Reference2' => '',
'AccountNumber' => $AccountNumber_3,
'AccountPin' => $AccountPin_3,
//Party Address
'PartyAddress' => array(
'Line1' => $info['clientInfo']['address'],
'Line2' => '',
'Line3' => '',
'City' => $info['clientInfo']['city'],
'StateOrProvinceCode' => $info['clientInfo']['state'],
'PostCode' => str_replace(" ","", $info['clientInfo']['postalcode']),
'CountryCode' => $info['clientInfo']['country'],
),
//Contact Info
'Contact' => array(
'Department' => '',
'PersonName' => $info['clientInfo']['name'],
'Title' => '',
'CompanyName' => $info['clientInfo']['company'],
'PhoneNumber1' => $info['clientInfo']['phone'],
'PhoneNumber1Ext' => '',
'PhoneNumber2' => '',
'PhoneNumber2Ext' => '',
'FaxNumber' => '',
'CellPhone' => $info['clientInfo']['phone'],
'EmailAddress' => $info['clientInfo']['email'],
'Type' => ''
),
);
}
////// add COD
$services = array();
if ($post['aramex_shipment_info_product_type'] == "CDA") {
if ($post['aramex_shipment_info_service_type'] == null) {
array_push($services, "");
} elseif (!in_array("", $post['aramex_shipment_info_service_type'])) {
$services = array_merge($services, $post['aramex_shipment_info_service_type']);
array_push($services, "");
} else {
$services = array_merge($services, $post['aramex_shipment_info_service_type']);
}
} else {
if ($post['aramex_shipment_info_service_type'] == null) {
$post['aramex_shipment_info_service_type'] = array();
}
$services = array_merge($services, $post['aramex_shipment_info_service_type']);
}
$services = implode(',', $services);
$AdditionalPropertyDetails = array();
if (isset($post['aramex_shipment_shipper_country']) && $post['aramex_shipment_shipper_country'] == 'IN') {
if ($post['ShipperTaxIdVATEINNumber'] != null)
{
array_push($AdditionalPropertyDetails,[
'CategoryName' => "CustomsClearance",
'Name' => "ShipperTaxIdVATEINNumber",
'Value' => $post['ShipperTaxIdVATEINNumber']
]);
}
if ($post['ConsigneeTaxIdVATEINNumber'] != null)
{
array_push($AdditionalPropertyDetails,[
'CategoryName' => "CustomsClearance",
'Name' => "ConsigneeTaxIdVATEINNumber",
'Value' => $post['ConsigneeTaxIdVATEINNumber']
]);
}
if ($post['TaxPaid'] != null)
{
array_push($AdditionalPropertyDetails,[
'CategoryName' => "CustomsClearance",
'Name' => "TaxPaid",
'Value' => $post['TaxPaid']
]);
}
if ($post['InvoiceDate'] != null)
{
$orgDate = $post['InvoiceDate'];
$newDate = date("m/d/Y", strtotime($orgDate));
array_push($AdditionalPropertyDetails,[
'CategoryName' => "CustomsClearance",
'Name' => "InvoiceDate",
'Value' => $newDate
]);
}
if ($post['InvoiceNumber'] != null)
{
array_push($AdditionalPropertyDetails,[
'CategoryName' => "CustomsClearance",
'Name' => "InvoiceNumber",
'Value' => $post['InvoiceNumber']
]);
}
if ($post['TaxAmount'] != null)
{
array_push($AdditionalPropertyDetails,[
'CategoryName' => "CustomsClearance",
'Name' => "TaxAmount",
'Value' => $post['TaxAmount']
]);
}
if ($post['ExporterType'] != null)
{
array_push($AdditionalPropertyDetails,[
'CategoryName' => "CustomsClearance",
'Name' => "ExporterType",
'Value' => $post['ExporterType']
]);
}
}
if ($post['aramex_shipment_ioss_number'] != null){
array_push($AdditionalPropertyDetails,[
'CategoryName' => "CustomsClearance",
'Name' => "IOSS",
'Value' => $post['aramex_shipment_ioss_number']
]);
}
if ($post['aramex_shipment_shipper_taxidvat'] != null){
array_push($AdditionalPropertyDetails,[
'CategoryName' => "CustomsClearance",
'Name' => "ShipperTaxIdVATEINNumber",
'Value' => $post['aramex_shipment_shipper_taxidvat']
]);
}
if ($post['aramex_shipment_receiver_taxidvat'] != null){
array_push($AdditionalPropertyDetails,[
'CategoryName' => "CustomsClearance",
'Name' => "ReceiverTaxIdVATEINNumber",
'Value' => $post['aramex_shipment_receiver_taxidvat']
]);
}
$itemNumbers = explode(',',$post['item_details']);
$itemDetails = array();
$PiecesDimensions = array();
foreach ($itemNumbers as $val)
{
$itemTitle = "aramex_items_Title_".$val;
$itemQuantity = "aramex_items_total_".$val;
$itemPrice = "aramex_items_base_price_".$val;
$itemWeight = "aramex_items_base_weight_".$val;
$product_id = $val;
// Get product length
$product_length = get_post_meta($product_id, '_length', true);
// Get product width
$product_width = get_post_meta($product_id, '_width', true);
// Get product height
$product_height = get_post_meta($product_id, '_height', true);
$product_unit = get_option('woocommerce_dimension_unit');
$product = wc_get_product($product_id);
$attribute_value = $product->get_attribute('hscode');
if(empty($attribute_value )){
$attribute_value = "";
}
array_push($itemDetails,[
'Quantity' => $post[$itemQuantity],
'Weight' => [
'Value' => $post[$itemWeight],
'Unit' => $post['weight_unit']
],
'CommodityCode' => $attribute_value,
'GoodsDescription' => $post[$itemTitle],
'CustomsValue' => [
'Value' => $post[$itemPrice],
'CurrencyCode' => $post['aramex_shipment_currency_code_custom_hidden_item']
],
]);
$ActualWeight = (float) $post[$itemQuantity] * (float) $post[$itemWeight];
array_push($PiecesDimensions,[
'Length' => $product_length,
'Width' => $product_width,
'Height' => $product_height,
'ActualWeight' => array(
'Value' => $ActualWeight,
'Unit' => $post['weight_unit']
),
'NumberOfPieces' => $post[$itemQuantity],
'Unit' => $product_unit,
]);
}
///// add COD end
// Other Main Shipment Parameters
$params['ForeignHAWB'] = $post['aramex_shipment_info_foreignhawb'];
$params['Reference1'] = $post['aramex_shipment_info_reference']; //'Shpt0001';
$params['Reference2'] = '';
$params['Reference3'] = '';
$params['ForeignHAWB'] = $post['aramex_shipment_info_foreignhawb'];
$params['TransportType'] = 0;
$params['ShippingDateTime'] = time();
$params['DueDate'] = time() + (7 * 24 * 60 * 60);
$params['PickupLocation'] = 'Reception';
$params['PickupGUID'] = '';
$params['Comments'] = $post['aramex_shipment_info_comment'];
$params['AccountingInstrcutions'] = '';
$params['OperationsInstructions'] = '';
$params['Details'] = array(
'Dimensions' => array(
'Length' => '0',
'Width' => '0',
'Height' => '0',
'Unit' => 'cm'
),
'PieceDimensions' => [
'Dimensions' => $PiecesDimensions
],
'ActualWeight' => array(
'Value' => $totalWeight,
'Unit' => $post['weight_unit']
),
'ProductGroup' => $post['aramex_shipment_info_product_group'],
//'EXP',
'ProductType' => $post['aramex_shipment_info_product_type'],
//,'PDX'
'PaymentType' => $post['aramex_shipment_info_payment_type'],
'PaymentOptions' => $post['aramex_shipment_info_payment_option'],
'Services' => $services,
'NumberOfPieces' => $totalItems,
'DescriptionOfGoods' => (trim($post['aramex_shipment_description']) == '') ? $descriptionOfGoods : trim(substr($post['aramex_shipment_description'], 0, 65)),
'GoodsOriginCountry' => $post['aramex_shipment_shipper_country'],
//'JO',
'Items' => [
'ShipmentItem' => $itemDetails
],
'AdditionalProperties' => [
'AdditionalProperty' => $AdditionalPropertyDetails
]
);
if (count($aramex_atachments)) {
$params['Attachments'] = $aramex_atachments;
}
if ($post['aramex_shipment_info_service_type'] != null)
{
$hasCODS= array_search("CODS",$post['aramex_shipment_info_service_type'],false);
if ($hasCODS !== false)
{
$params['Details']['CashOnDeliveryAmount'] = array(
'Value' => $post['aramex_shipment_info_cod_amount'],
'CurrencyCode' => $post['aramex_shipment_currency_code']
);
}
else
{
$params['Details']['CashOnDeliveryAmount'] = null ;
}
}
else
{
$params['Details']['CashOnDeliveryAmount'] = null ;
}
$data = $order->get_data();
$payment_method = $data['payment_method'];
if($post['aramex_shipment_info_product_group'] === 'DOM' &&
$post['aramex_shipment_info_payment_method'] == 'aramex_smart')
{
$params['Details']['CustomsValueAmount'] = array(
'Value' => $post['aramex_shipment_info_custom_amount_hidden'],
'CurrencyCode' => $post['aramex_shipment_currency_code_custom_hidden']
);
}
else {
$params['Details']['CustomsValueAmount'] = array(
'Value' => $post['aramex_shipment_info_custom_amount'],
'CurrencyCode' => $post['aramex_shipment_currency_code_custom']
);
}
$params['Details']['InsuranceAmount'] = array(
'Value' => $post['insurance_amount'],
'CurrencyCode' => $post['aramex_shipment_currency_code']
);
$params['ShipmentDetails']['InsuranceAmount'] = $post['insurance_amount'];
$CurrencyCode = $post['aramex_shipment_currency_code'];
if (trim($CurrencyCode) === "") {
$CurrencyCode = $post['aramex_shipment_currency_code_custom'];
}
$params['Details']['CashAdditionalAmount'] = array(
'Value' => $post['aramex_shipment_info_cash_additional_amount'],
'CurrencyCode' => $CurrencyCode
);
$major_par['Shipments'][] = $params;
if($post['aramex_shipment_info_payment_method'] == 'aramex_smart')
{
$info['clientInfo']['Source'] = 47;
}
$major_par['ClientInfo'] = $info['clientInfo'];
$report_id = (int)$info['clientInfo']['report_id'];
if (!$report_id) {
$report_id = 9729;
}
$major_par['LabelInfo'] = array(
'ReportID' => $report_id,
'ReportType' => 'URL'
);
if (!session_id()) {
session_start();
}
$_SESSION['form_data'] = $post;
/**
* Used for tracking error messages
*
* @return mixed|strng
*/
function aramex_errors()
{
static $wp_error; // Will hold global variable safely
return isset($wp_error) ? $wp_error : ($wp_error = new WP_Error(null, null, null));
}
try {
session_start();
// echo "<pre>";
// echo json_encode($major_par);
// die;
$auth_call = $soapClient->CreateShipments($major_par);
if ($auth_call->HasErrors) {
if (empty($auth_call->Shipments)) {
if (count((array)$auth_call->Notifications->Notification) > 1) {
foreach ($auth_call->Notifications->Notification as $notify_error) {
aramex_errors()->add('error',
__('Aramex: ' . $notify_error->Code . ' - ' . $notify_error->Message));
}
} else {
aramex_errors()->add('error',
__('Aramex: ' . $auth_call->Notifications->Notification->Code . ' - ' . $auth_call->Notifications->Notification->Message),
'aramex');
}
} else {
if (count((array)$auth_call->Shipments->ProcessedShipment->Notifications->Notification) > 1) {
$notification_string = '';
if(is_array($auth_call->Shipments->ProcessedShipment->Notifications->Notification)){
foreach ($auth_call->Shipments->ProcessedShipment->Notifications->Notification as $notification_error) {
$notification_string .= $notification_error->Code . ' - ' . $notification_error->Message . '';
}
}else{
$notification_string .= $auth_call->Shipments->ProcessedShipment->Notifications->Notification->Code . ' - ' . $auth_call->Shipments->ProcessedShipment->Notifications->Notification->Message . '';
}
aramex_errors()->add('error', __($notification_string));
} else {
aramex_errors()->add('error',
__('Aramex: ' . $auth_call->Shipments->ProcessedShipment->Notifications->Notification->Code . ' - ' . $auth_call->Shipments->ProcessedShipment->Notifications->Notification->Message),
'aramex');
}
}
$_SESSION['aramex_errors'] = aramex_errors();
wp_redirect(sanitize_text_field(esc_url_raw($_SERVER["HTTP_REFERER"])) . '&aramexpopup/show');
exit;
} else {
if ($post['aramex_return_shipment_creation_date'] == "create") {
$commentdata = array(
'comment_post_ID' => $post['aramex_shipment_original_reference'],
'comment_author' => '',
'comment_author_email' => '',
'comment_author_url' => '',
'comment_content' => "AWB No. " . $auth_call->Shipments->ProcessedShipment->ID . " - Order No. " . $auth_call->Shipments->ProcessedShipment->Reference1,
'comment_type' => 'order_note',
'user_id' => "0",
);
wp_new_comment($commentdata);
$order = new WC_Order($post['aramex_shipment_original_reference']);
$order->add_order_note($commentdata['comment_content']);
$order->save();
if (!empty($order)) {
$order->update_status('on-hold', __('Aramex shipment created.', 'aramex'));
}
/* sending mail */
global $woocommerce;
$mailer = $woocommerce->mailer();
$supportEmail = $mailer->get_from_address();
$message_body = sprintf(__('<p>Dear <b>%s</b> </p>'), $post['aramex_shipment_receiver_name']);
$message_body .= sprintf(__('<p>Your order is #%s </p>'),
$auth_call->Shipments->ProcessedShipment->Reference1);
$message_body .= sprintf(__('<p>Created Airway bill number: %s </p>'),
$auth_call->Shipments->ProcessedShipment->ID);
$message_body .= __('<p>You can track shipment on <a href="http://www.aramex.com/express/track.aspx">http://www.aramex.com/express/track.aspx</a> </p>');
$message_body .= __('<p>If you have any questions, please feel free to contact us <b>'.$supportEmail.'</b> </p>',
'aramex');
$message = $mailer->wrap_message(
// Message head and message body.
sprintf(__('Aramex shipment #%s created', 'aramex'), $order->get_order_number()),
$message_body);
if (isset($post['aramex_email_customer']) && $post['aramex_email_customer'] == 'yes') {
// Cliente email
$to = array();
$to[] = $order->billing_email;
$to[] = $info['copyInfo']['copy_to'];
$emailsTo = implode(',', $to);
if (trim($info['copyInfo']['copy_to']) == "") {
$emailsTo = trim($emailsTo, ',');
}
$mailheader = array();
if ($info['copyInfo']['copy_method'] == "1" && trim($info['copyInfo']['copy_to']) != "") {
$emails = explode(',', trim($info['copyInfo']['copy_to']));
foreach ($emails as $email) {
$mailheader[] = 'Bcc: ' . $email;
}
}
if ($info['copyInfo']['copy_method'] == "0" && trim($info['copyInfo']['copy_to']) != "") {
$emails = explode(',', trim($info['copyInfo']['copy_to']));
foreach ((array)$emails as $email) {
$mailheader[] = 'Cc: ' . $email;
}
}
try {
$mailer->send($emailsTo,
sprintf(__('Aramex shipment #%s created', 'aramex'), $order->get_order_number()),
$message,
$mailheader);
} catch (Exception $ex) {
aramex_errors()->add('error', $ex->getMessage());
}
}
aramex_errors()->add('success',
__('Aramex Shipment Number: ',
'aramex') . $auth_call->Shipments->ProcessedShipment->ID . __(' has been created.',
'aramex'));
} elseif ($post['aramex_return_shipment_creation_date'] == "return") {
aramex_errors()->add('success',
__('Aramex Shipment Return Order Number: ',
'aramex') . $auth_call->Shipments->ProcessedShipment->ID . __(' has been created.',
'aramex'));
$message = "Aramex Shipment Return Order AWB No. " . $auth_call->Shipments->ProcessedShipment->ID . " - Order No. " . $auth_call->Shipments->ProcessedShipment->Reference1;
$commentdata = array(
'comment_post_ID' => $post['aramex_shipment_original_reference'],
'comment_author' => '',
'comment_author_email' => '',
'comment_author_url' => '',
'comment_content' => $message,
'comment_type' => 'order_note',
'user_id' => "0",
);
wp_new_comment($commentdata);
} else {
aramex_errors()->add('error', __('Cannot do shipment for the order.', 'aramex'));
}
}
} catch (Exception $e) {
$aramex_errors = true;
aramex_errors()->add('error', $e->getMessage());
}
if ($aramex_errors) {
$_SESSION['aramex_errors'] = aramex_errors();
wp_redirect(sanitize_text_field(esc_url_raw($_SERVER["HTTP_REFERER"])) . '&aramexpopup/show');
exit;
} else {
//success exit
$_SESSION['aramex_errors'] = aramex_errors();
wp_redirect(sanitize_text_field(esc_url_raw($_SERVER["HTTP_REFERER"])) . '&aramexpopup/show');
exit;
}
} catch (Exception $e) {
$_SESSION['aramex_errors'] = aramex_errors();
wp_redirect(sanitize_text_field(esc_url_raw($_SERVER["HTTP_REFERER"])) . '&aramexpopup/show');
exit;
}
}
}