#!/usr/bin/perl # # Copyright 1997,1998 GIZMOsoft Software -- all rights reserved. # local (@Orders,$OrderCount); local ($LocationRedirectionSupport,$SubdirectorySupport,$OrderDirectoryPath); local ($ParsedHeaderSupport,$PostCallToCCProc); $LocationRedirectionSupport = 1; # $SubdirectorySupport = 1; $ParsedHeaderSupport = 1; $OrderDirectoryPath = 'orderdir/'; $NotificationEmail = ''; $ReturnAddr = 'robot@unknown.com'; $MailHost = '$$MailHost$$'; $OrgName = 'Horizon Herbs, LLC'; $CurrencySymbol = '$'; $BaseCatalogURL = ''; $PostCallToCCProc = 0; $ProcessorURL = ''; $Extension = '.ord'; $ParmMap=""; $ParmTypeMap=""; $ParmSourceMap=""; $NotificationMessage = 'You can view the new order at http://www.chatlink.com/~herbseed/orders.html'; $FileName = "gizorder.ord"; $Error = 0; $TempDataDir = $OrderDirectoryPath; $TempDataDir =~ s/\\/\//g; $TempDataDir =~ s/\/\//\//g; $TempDataDir = substr($TempDataDir,0,length($TempDataDir)-1) if (substr($TempDataDir,length($TempDataDir)-1) eq "/"); $ThisDir = ""; $DirLastSlash = rindex($TempDataDir,"/"); if ($DirLastSlash > -1) { $ThisDir = substr($OrderDirectoryPath,0,$DirLastSlash+1); }; %data_received = &User_Data; &No_SSI(*data_received); &GetCookieArray(); sub SendEmailUnix { local ($EmailAddr,$OrderNumber,$Message) = @_; open(MAIL,"|/usr/lib/sendmail -t") || print &GetTextHeader(1,"Cannot find email program /usr/lib/sendmail"); print MAIL "To: $EmailAddr\n"; print MAIL "From: $ReturnAddr\n"; print MAIL "Subject: New order $OrderNumber\n"; print MAIL "$Message\n\n"; return close(MAIL); }; sub SendEmailWin { local ($EmailAddr,$OrderNumber,$Message) = @_; $Settings = "$MailHost\n$ReturnAddr\n$OranizationName\n\n\n\n"; open (MAIL, "|gizmail $NotificationEmail -M$MailHost -f$ReturnAddr -o$OrgName \"-sOrder $OrderNumber\"") || die "Cannot mail via -M$MailHost, check your settings"; print MAIL $Message; close (MAIL); }; sub SendEmail { local ($EmailAddr,$OrderNumber,$Message) = @_; if ( (1 || length($MailHost)) && length($EmailAddr) > 0) { &SendEmailUnix($EmailAddr,$OrderNumber,$Message); } else { &SendEmailWin($EmailAddr,$OrderNumber,$Message); }; }; sub GetTextHeader { local ($NowError,$Instr) = @_; local ($Outstr); $Error = 1 if ($NowError); $Outstr = ""; $Outstr .= "HTTP/1.0 200 OK\n" if (!$ParsedHeaderSupport); $Outstr .= "Content-type: text/html\n\n"; $Outstr .= $Instr; return $Outstr; } sub DeleteCookieText { local ($CookieName) = @_; local ($OutTxt); if ($LocationRedirectionSupport) { $OutTxt = "Set-Cookie: $CookieName=NULL; path=/; expires=Monday, 01-Jan-95 00:00:01\n"; } else { $OutTxt = "\n\n"; }; return $OutTxt; }; sub SetCookieText { local ($CookieName,$CookieValue) = @_; local ($OutTxt); $OutTxt = "\n\n"; return $OutTxt; }; sub GetCookieArray { local ($Total,$SubTotal); local($ThisFile); if (!defined($data_received{'OrderNumber'})) { opendir(ORDERS,$OrderDirectoryPath) || print &GetTextHeader(1,"Cannot open directory $OrderDirectoryPath for reading."); @RawOrders = readdir(ORDERS); close (ORDERS); foreach $RawOrder (@RawOrders) { $StartIndex = index($RawOrder,'.ord'); if ($StartIndex > 0 && $StartIndex == (length($RawOrder) - 4) ) { push (@Orders,$RawOrder); }; }; $OrderCount = @Orders; @Orders = reverse(sort(@Orders)); }; if ($data_received{'TrxType'} eq 'A') { &ListAllOrders(); }; if ($data_received{'TrxType'} eq 'F') { if ($OrderCount == 0) { print &GetTextHeader(0,''); print ''; print "
"; print "