#!/usr/bin/perl
my $bFound = 0;
my $sDir;
foreach $sDir (@INC)
{
if ($sDir eq ".")
{
$bFound = 1;
last;
}
}
if (!$bFound)
{
push (@INC, ".");
}
push (@INC, "cgi-bin");
require al000001;
require sm000001;
require ad000001;
require ae000001;
require ao000001;
require sm000001;
require tp000001;
use strict;
$::prog_name = "CATACACC";
$::prog_ver = '$Revision: 32940 $';
$::prog_ver = substr($::prog_ver, 11);
$::prog_ver =~ s/ \$//;
Init();
Dispatch();
exit;
sub Dispatch
{		
if ($::g_InputHash{ACTION} eq 'LOOKUP_ORDER' ||
$::g_InputHash{ACTION} eq 'SHOWFORM')
{		
PrintResultsPage();		
}	
}
sub PrintResultsPage
{
my $sTemplateFileName = ACTINIC::GetPath() . $$::g_pSetupBlob{MY_ACCOUNT_PAGE};
my %sVariableTable;	
if ($::g_InputHash{ACTION} eq 'LOOKUP_ORDER')
{		
my ($sOrderLineHTML, $sOrderDetailAddressHTML, $sOrderDetailHTML, $sOrderDetailFooter, $sOrderHeader) = TrackingPackage::GetOrderTemplates($sTemplateFileName, "MyAccountOrderLines", "MyAccountOrderDetailAddress", "MyAccountOrderDetails", "MyAccountOrderDetailsFooter", "MyAccountOrderHeader");
TrackingPackage::ComposeOrderHTML($sOrderLineHTML, $sOrderDetailAddressHTML, $sOrderDetailHTML, $sOrderDetailFooter, $sOrderHeader, $::UNREGISTERED, $::g_InputHash{LOOKUP_ORDER_NUMBER}, $::g_InputHash{LOOKUP_POSTAL_CODE});	
}	
my ($Status, $sErrorMessage, $sHTML) = ACTINIC::TemplateFile($sTemplateFileName,  \%sVariableTable);
ACTINIC::SaveSessionAndPrintPage($sHTML, $::Session->GetSessionID(), $::FALSE);
}
sub Init
{
$::g_bFirstError = $::TRUE;
my (@Response, $Status, $Message, $temp);
($Status, $Message, $::g_OriginalInputData, $temp, %::g_InputHash) = ACTINIC::ReadAndParseInput();
if ($Status != $::SUCCESS)
{
ACTINIC::ReportError($Message, ACTINIC::GetPath());
}
@Response = ReadAndParseBlobs();
($Status, $Message) = @Response;
if ($Status != $::SUCCESS)
{
ACTINIC::ReportError($Message, ACTINIC::GetPath());
}
$::g_sWebSiteUrl = $::Session->GetBaseUrl();
$::g_sContentUrl = $::g_sWebSiteUrl;
}
sub ReadAndParseBlobs
{
my ($Status, $Message, @Response, $sPath);
$sPath = ACTINIC::GetPath();
@Response = ACTINIC::ReadCatalogFile($sPath);
($Status, $Message) = @Response;
if ($Status != $::SUCCESS)
{
return (@Response);
}
@Response = ACTINIC::ReadSetupFile($sPath);
($Status, $Message) = @Response;
if ($Status != $::SUCCESS)
{
return (@Response);
}
@Response = ACTINIC::ReadLocationsFile($sPath);
($Status, $Message) = @Response;
if ($Status != $::SUCCESS)
{
return (@Response);
}
@Response = ACTINIC::ReadPromptFile($sPath);
if ($Response[0] != $::SUCCESS)
{
return (@Response);
}
@Response = ACTINIC::ReadOrderStatusFile($sPath);
if ($Response[0] != $::SUCCESS)
{
return (@Response);
}
@Response = ACTINIC::ReadTaxSetupFile($sPath);
if ($Response[0] != $::SUCCESS)
{
return (@Response);
}
@Response = ACTINIC::ReadSearchSetupFile($sPath);
if ($Response[0] != $::SUCCESS)
{
return (@Response);
}
my ($sCartID, $sContactDetails) = ACTINIC::GetCookies();
$::Session = new Session($sCartID, $sContactDetails, ACTINIC::GetPath(), $::TRUE);
my ($pBillContact, $pShipContact, $pShipInfo, $pTaxInfo, $pGeneralInfo, $pPaymentInfo, $pLocationInfo);
@Response = $::Session->RestoreCheckoutInfo();
if ($Response[0] != $::SUCCESS)
{
return (@Response);
}
no strict 'refs';
($Status, $Message, $pBillContact, $pShipContact, $pShipInfo, $pTaxInfo, $pGeneralInfo, $pPaymentInfo, $pLocationInfo) = @Response;
%::g_BillContact = %$pBillContact;
%::g_ShipContact = %$pShipContact;
%::g_ShipInfo		= %$pShipInfo;
%::g_TaxInfo		= %$pTaxInfo;
%::g_GeneralInfo = %$pGeneralInfo;
%::g_PaymentInfo = %$pPaymentInfo;
%::g_LocationInfo = %$pLocationInfo;
%::g_OrderTrackingInfo = %$::g_pOrderTrackingInfo;
return ($::SUCCESS, "", 0, 0);
}