#!/usr/bin/perl use CGI; $query = new CGI; $action = $query->param('action'); print "Content-Type: text/html\n\n"; open HEADER, "; print < EOF if ($action eq "domaincheck") { &domaincheck; } if ($action eq "pakket") { &pakket; } if ($action eq "pakket2") { &pakket; } if ($action eq "gegevens") { &gegevens; } if ($action eq "bevestig") { &bevestig; } &firstpage; sub firstpage { print <
Op deze pagina kan u bekijken of de door uw gewenste domeinnaam nog vrij is en wat de kosten zijn van de webhosting en de domeinnaam. U kunt rustig alle stappen doorlopen om uit te rekenen welk pakket voor u het meest geschikt is, pas als u op bevestig bestelling heeft gedrukt wordt de bestelling naar ons toe gestuurd.

Geef het domeinnaam inclusief extensie, zonder www. ervoor: www.

EOF &footer; } sub domaincheck { $domeinnaam = lc($query->param('domeinnaam')); $domainext = $query->param('domainext'); print "Domeinnaam: $domeinnaam.$domainext
"; $domsel{$domainext} = " SELECTED"; if ($domeinnaam =~ /^www\./ ) { print "Fout: een domeinnaam mag niet beginnen met www."; &firstpage; } if ($domeinnaam =~ /\./) { print "Fout: een domeinnaam mag geen '.' bevatten."; &firstpage; } open DOMAIN, "; close DOMAIN; foreach $index (0 .. $#domainprice) { if ($domainprice[$index] !~ /^#/ and length($domainprice[$index]) >= 2) { ($domext,$startup,$period,$plength) = split(",", $domainprice[$index]); push @extlist, $domext; } } foreach $index (0 .. $#extlist) { if ($domainext =~ /^$extlist[$index]$/) { $braaf = 1 } } if ($braaf != 1) { print "Fout: ongeldige domeinextensie.


"; &firstpage; } braaf = 0; ($name, $ext) = split(/\./, $domeinnaam); if (length($name) <= 2) { print "Fout: domeinnaam moet minstens 3 tekens bevatten."; &firstpage; } if ($domainext eq "nl") { @whois = `whois -h whois.sidn.nl 'is $domeinnaam.$domainext'` and $braaf = 1 } if ($domainext eq "com") { @whois = `whois $domeinnaam.$domainext` and $braaf = 1 } if ($domainext eq "net") { @whois = `whois $domeinnaam.$domainext` and $braaf = 1 } if ($domainext eq "org") { @whois = `whois -h whois.pir.org $domeinnaam.$domainext` and $braaf = 1 } if ($domainext eq "info") { @whois = `whois -h whois.afilias.info $domeinnaam.$domainext` and $braaf = 1 } if ($domainext eq "be") { @whois = `whois -h whois.dns.be $domeinnaam.$domainext` and $braaf = 1 } if ($domainext eq "eu") { @whois = `whois -h whois.eu $domeinnaam.$domainext` and $braaf = 1 } if ($domainext eq "biz") { @whois = `whois -h whois.biz $domeinnaam.$domainext` and $braaf = 1 } if ($braaf != 1) { print "Fout: probleem met whois server of verkeerde domeinextensie."; &firstpage; } foreach $index (0 .. $#whois) { if ($domainext eq "nl") { if ($whois[$index] =~ /free/) { $vrij = 1 } } if ($domainext eq "nl") { if ($whois[$index] =~ /vrij/) { $vrij = 1 } } if ($domainext eq "com") { if ($whois[$index] =~ /No match for /) { $vrij = 1 } } if ($domainext eq "net") { if ($whois[$index] =~ /No match for /) { $vrij = 1 } } if ($domainext eq "org") { if ($whois[$index] =~ /NOT FOUND/) { $vrij = 1 } } if ($domainext eq "info") { if ($whois[$index] =~ /NOT FOUND/) { $vrij = 1 } } if ($domainext eq "be") { if ($whois[$index] =~ /FREE/) { $vrij = 1 } } if ($domainext eq "eu") { if ($whois[$index] =~ /FREE/) { $vrij = 1 } } if ($domainext eq "biz") { if ($whois[$index] =~ /Not found: /) { $vrij = 1 } } } if ($vrij != 1) { print "Fout: domeinnaam is al bezet. Voor een domeinnaam verhuizing kunt u ons mailen op: info\@flethshosting.nl


"; &firstpage; } print "Domeinnaam is vrij.

"; # open DOMAIN, "; # close DOMAIN; # # foreach $index (0.. $#domainprice) { # if ($domainprice[$index] !~ /^#/ and $domext ne $ext) { # ($domext,$startup,$period,$plength) = split(",", $domainprice[$index]); # } # } # # print < # # Kosten domeinregistratie # # # Opstartkosten # € ${startup} # # # Kosten per ${plength} # € ${period} # # #
open PAKKET, "; close PAKKET; # if ($domext ne $domainext) { print "Fout in prijzendatabase. Graag uw bestelling handmatig emailen naar: info\@flethshosting.nl"; &footer; } print < Kies uw pakket: EOF print ""; &footer; } sub pakket { $domeinnaam = $query->param('domeinnaam'); $pakket = $query->param('pakket'); # $betaling = $query->param('betaling'); if ($action eq "pakket2") { $naam = $query->param('naam'); $contactpersoon = $query->param('contactpersoon'); $adres = $query->param('adres'); $postcode = $query->param('postcode'); $woonplaats = $query->param('woonplaats'); $telefoon = $query->param('telefoon'); $email = $query->param('e-mail'); $opmerkingen = $query->param('opmerkingen'); $betaling = $query->param('betaling'); if ($betaling eq "autojaar") { $autojaarsel=" SELECTED"; } if ($betaling eq "autohalfjaar") { $autohalfjaarsel=" SELECTED"; } if ($betaling eq "autokwart") { $autokwartsel=" SELECTED"; } if ($betaling eq "automaand") { $automaandsel=" SELECTED"; } if ($betaling eq "accept") { $acceptsel=" SELECTED"; } if ($betaling eq "vooruit") { $vooruitsel=" SELECTED"; } } print "Domeinnaam: $domeinnaam

"; # ($name, $ext) = split(/\./, $domeinnaam); # # if ($ext eq "nl" and $action eq "pakket2") { $nlsoort = $query->param('nlsoort'); } # # open DOMAIN, "; # close DOMAIN; # # foreach $index (0 .. $#domainprice) { # if ($domainprice[$index] !~ /^#/ and $domext ne $ext) { # ($domext,$domstartup,$domperiod,$domplength) = split(",", $domainprice[$index]); # } # } open PAKKET, "; close PAKKET; foreach $index (0 .. $#pakketprice) { if ($pakketprice[$index] !~ /^#/ and $pakketnaam ne $pakket) { ($pakketnaam,$pakketdesc,$pakketstartup,$pakketperiod,$pakketplength,$freedomain,$aanbieding) = split(",", $pakketprice[$index]); } } # if ($domext ne $ext) { print "Fout in prijzendatabase. Graag uw bestelling handmatig emailen naar: info\@flethshosting.nl"; &footer; } if ($pakketnaam ne $pakket) { print "Fout in prijzendatabase. Graag uw bestelling handmatig emailen naar: info\@flethshosting.nl"; &footer; } # if ($aanbieding != 1) { # $kwartaalkort = 1.00; #Korting bij kwartaal betaling # $halfjaarkort = 1.00; #Korting bij half jaar betaling # $jaarkort = 0.95; #Korting bij jaar betaling # # if ($betaling eq "kwartaal") { # $pakketplength = "kwartaal"; # $pakketperiod = sprintf("%.2f", $pakketperiod * 3 * $kwartaalkort); # } elsif ($betaling eq "halfjaar") { # $pakketplength = "half jaar"; # $pakketperiod = sprintf("%.2f", $pakketperiod * 6 * $halfjaarkort); # } elsif ($betaling eq "jaar") { # $pakketplength = "jaar"; # $pakketperiod = sprintf("%.2f", $pakketperiod * 12 * $jaarkort); # } # } else { print "Bij het gekozen pakket kunt u alleen per ${pakketplength} betalen.

\n" } print < Totale kosten EOF # # .$domext opstartkosten # € ${domstartup} # # # .$domext kosten per ${domplength} # € ${domperiod} # #EOF if ($pakketstartup != 0) { print < $pakketdesc opstartkosten € ${pakketstartup} EOF } print < $pakketdesc per ${pakketplength} € ${pakketperiod} EOF # if ($freedomain == 1) { # $korting = $domstartup + $domperiod; # $korting = sprintf("%.2f", $korting); # print < # Korting domeinnaam ivm pakket # € -${korting} # #EOF # } # $totaal = $pakketstartup + $pakketperiod + $domstartup + $domperiod - $korting; $totaal = $pakketstartup + $pakketperiod; $totaal = sprintf("%.2f", $totaal); # if ($server eq "server2" and $action eq "pakket2") { $sselect=" SELECTED" } print < Totaalbedrag € ${totaal}

Controleer bovenstaande bedragen op juistheid en vul hieronder uw adresgegevens in. Deze zullen worden gebruikt voor de domeinregistratie en facturatie van uw bestelling.

EOF # # #EOF if ($nlsoort eq "particulier" and $action eq "pakket2") { $pselect=" SELECTED" } # if ($domext eq "nl") { # print < # #EOF # } print <
(Bedrijfs)naam:
Contactpersoon:
Adres:
Postcode en woonplaats: 
Telefoonnummer:
E-mail adres:
Betaling:
Server: (bij server2 krijgt u 500mb extra dataverkeer gratis)
.nl domeinregistratie:
Opmerkingen:

Klik op Verder om verder te gaan, hierna kunt u uw bestelling en de ingevoerde gegevens controleren.

EOF &footer; } sub gegevens { $domeinnaam = $query->param('domeinnaam'); $pakket = $query->param('pakket'); $naam = $query->param('naam'); $contactpersoon = $query->param('contactpersoon'); $adres = $query->param('adres'); $postcode = $query->param('postcode'); $woonplaats = $query->param('woonplaats'); $telefoon = $query->param('telefoon'); $email = $query->param('e-mail'); $opmerkingen = $query->param('opmerkingen'); $betaling = $query->param('betaling'); $server = $query->param('server'); print "Domeinnaam: $domeinnaam

"; if ($naam eq "") { print "Waarschuwing: Naam is een verplicht veld

\n"; } if ($adres eq "") { print "Waarschuwing: Adres is een verplicht veld

\n"; } if ($postcode eq "") { print "Waarschuwing: Postcode is een verplicht veld

\n"; } if ($woonplaats eq "") { print "Waarschuwing: Woonplaats is een verplicht veld

\n"; } if ($telefoon eq "") { print "Waarschuwing: Telefoon is een verplicht veld

\n"; } if ($email eq "") { print "Waarschuwing: E-mail is een verplicht veld

\n"; } ($name, $ext) = split(/\./, $domeinnaam); # open DOMAIN, "; # close DOMAIN; # # foreach $index (0 .. $#domainprice) { # if ($domainprice[$index] !~ /^#/ and $domext ne $ext) { # ($domext,$domstartup,$domperiod,$domplength) = split(",", $domainprice[$index]); # } # } open PAKKET, "; close PAKKET; foreach $index (0 .. $#pakketprice) { if ($pakketprice[$index] !~ /^#/ and $pakketnaam ne $pakket) { ($pakketnaam,$pakketdesc,$pakketstartup,$pakketperiod,$pakketplength,$freedomain,$aanbieding) = split(",", $pakketprice[$index]); } } if ($betaling eq "autohalfjaar") { $pakketperiod=sprintf("%.2f", $pakketperiod/2); $pakketplength="half jaar"; } if ($betaling eq "autokwart") { $pakketperiod=sprintf("%.2f", $pakketperiod/4); $pakketplength="kwartaal"; } if ($betaling eq "automaand") { $pakketperiod=sprintf("%.2f", $pakketperiod/12); $pakketplength="maand"; } # if ($domext ne $ext) { print "Fout in prijzendatabase. Graag uw bestelling handmatig emailen naar: info\@flethshosting.nl"; &footer; } if ($pakketnaam ne $pakket) { print "Fout in prijzendatabase. Graag uw bestelling handmatig emailen naar: info\@flethshosting.nl"; &footer; } # if ($aanbieding != 1) { # $kwartaalkort = 1.00; #Korting bij kwartaal betaling # $halfjaarkort = 1.00; #Korting bij half jaar betaling # $jaarkort = 0.95; #Korting bij jaar betaling # # if ($betaling eq "kwartaal") { # $pakketplength = "kwartaal"; # $pakketperiod = sprintf("%.2f", $pakketperiod * 3 * $kwartaalkort); # } elsif ($betaling eq "halfjaar") { # $pakketplength = "half jaar"; # $pakketperiod = sprintf("%.2f", $pakketperiod * 6 * $halfjaarkort); # } elsif ($betaling eq "jaar") { # $pakketplength = "jaar"; # $pakketperiod = sprintf("%.2f", $pakketperiod * 12 * $jaarkort); # } # } print < Totale kosten EOF # # .$domext opstartkosten # € ${domstartup} # # # .$domext kosten per ${domplength} # € ${domperiod} # #EOF # if ($domext eq "nl" and $nlsoort eq "particulier") { # $domtoeslag = "5.00"; # print < # .$domext toeslag particulier # € ${domtoeslag} # #EOF # } if ($pakketstartup != 0) { print < $pakketdesc opstartkosten € ${pakketstartup} EOF } print < $pakketdesc per ${pakketplength} € ${pakketperiod} EOF # if ($freedomain == 1) { # $korting = $domstartup + $domperiod + $domtoeslag; # $korting = sprintf("%.2f", $korting); # print < # Korting domeinnaam ivm pakket # € -${korting} # #EOF # } $totaal = $pakketstartup + $pakketperiod + $domstartup + $domperiod + $domtoeslag - $korting; if ($betaling eq "vooruit") { $korting=$totaal*0.05; $kortingtxt=sprintf("%.2f", $korting); print "Korting vooruitbetaling"; print "€ -${kortingtxt}"; } $totaal = $pakketstartup + $pakketperiod + $domstartup + $domperiod + $domtoeslag - $korting; $totaal = sprintf("%.2f", $totaal); if ($server eq "server1") {$servernaam = "Server 1"} elsif ($server eq "server2") {$servernaam = "Server 2"} print < Totaalbedrag € ${totaal}
EOF # #EOF # if ($domext eq "nl") { print "" } print <
(Bedrijfs)naam:${naam}
Contactpersoon:${contactpersoon}
Adres:${adres}
Postcode en woonplaats:${postcode} ${woonplaats}
Telefoonnummer:${telefoon}
E-mail adres:${email}
Gekozen server:${servernaam}
.nl domeinregistratie:${nlsoort}
Opmerkingen${opmerkingen}

Indien bovenstaande gegevens juist zijn en u akkoord gaat met de voorwaarden kunt u op "Bevestig bestelling" klikken om de bestelling te bevestigen of op "Terug" om nog gegevens te wijzigen.



EOF &footer; } sub bevestig { use Net::SMTP; $domeinnaam = $query->param('domeinnaam'); $pakket = $query->param('pakket'); $naam = $query->param('naam'); $contactpersoon = $query->param('contactpersoon'); $adres = $query->param('adres'); $postcode = $query->param('postcode'); $woonplaats = $query->param('woonplaats'); $telefoon = $query->param('telefoon'); $email = $query->param('e-mail'); $betaling = $query->param('betaling'); $opmerkingen = $query->param('opmerkingen'); print "Domeinnaam: $domeinnaam

"; ($name, $ext) = split(/\./, $domeinnaam); # open DOMAIN, "; # close DOMAIN; # # foreach $index (0 .. $#domainprice) { # if ($domainprice[$index] !~ /^#/ and $domext ne $ext) { # ($domext,$domstartup,$domperiod,$domplength) = split(",", $domainprice[$index]); # } # } open PAKKET, "; close PAKKET; foreach $index (0 .. $#pakketprice) { if ($pakketprice[$index] !~ /^#/ and $pakketnaam ne $pakket) { ($pakketnaam,$pakketdesc,$pakketstartup,$pakketperiod,$pakketplength,$freedomain,$aanbieding) = split(",", $pakketprice[$index]); } } if ($betaling eq "autohalfjaar") { $pakketperiod=sprintf("%.2f", $pakketperiod/2); $pakketplength="half jaar"; } if ($betaling eq "autokwart") { $pakketperiod=sprintf("%.2f", $pakketperiod/4); $pakketplength="kwartaal"; } if ($betaling eq "automaand") { $pakketperiod=sprintf("%.2f", $pakketperiod/12); $pakketplength="maand"; } # if ($aanbieding != 1) { # $kwartaalkort = 1.00; #Korting bij kwartaal betaling # $halfjaarkort = 1.00; #Korting bij half jaar betaling # $jaarkort = 0.95; #Korting bij jaar betaling # # if ($betaling eq "kwartaal") { # $pakketplength = "kwartaal"; # $pakketperiod = sprintf("%.2f", $pakketperiod * 3 * $kwartaalkort); # } elsif ($betaling eq "halfjaar") { # $pakketplength = "half jaar"; # $pakketperiod = sprintf("%.2f", $pakketperiod * 6 * $halfjaarkort); # } elsif ($betaling eq "jaar") { # $pakketplength = "jaar"; # $pakketperiod = sprintf("%.2f", $pakketperiod * 12 * $jaarkort); # } # } # if ($domext ne $ext) { print "Fout in prijzendatabase. Graag uw bestelling handmatig emailen naar: info\@flethshosting.nl"; &footer; } if ($pakketnaam ne $pakket) { print "Fout in prijzendatabase. Graag uw bestelling handmatig emailen naar: info\@flethshosting.nl"; &footer; } chomp $domplength; # $kosten = <new('mail.activedomain.nl'); $smtp->mail("info\@flethshosting.nl"); $smtp->to("info\@flethshosting.nl"); $smtp->data(); $smtp->datasend("From: Fleths Webhosting \n"); $smtp->datasend("To: Fleths Webhosting \n"); $smtp->datasend("Subject: Fleths Webhosting Website Bestelling\n"); $smtp->datasend("\n"); $smtp->datasend("$ispmail"); $smtp->dataend(); $smtp->quit; $smtp = Net::SMTP->new('mail.activedomain.nl'); $smtp->mail("info\@flethshosting.nl"); $smtp->to($email); $smtp->data(); $smtp->datasend("From: Fleths Webhosting \n"); $smtp->datasend("To: $naam <${email}>\n"); $smtp->datasend("Subject: Fleths Webhosting Website Bestelling\n"); $smtp->datasend("\n"); $smtp->datasend("$klantmail"); $smtp->dataend(); $smtp->quit; print "Uw bestelling is verzonden."; &footer; } sub footer { print ""; print