#!/usr/bin/perl -w use CGI; use MIME::Lite; use CGI qw(:standard); use strict; use HTML::Template; use CGI::Carp 'fatalsToBrowser'; use diagnostics; my $template=""; my $q=new CGI; my %required = ( "filename"=>1, ); my @pagevars = ( "filename", ); if(!$q->param){ $template = HTML::Template->new(filename => "templates/register.htm"); print $q->header; print $template->output; }else{ my %pageFields=(); foreach my $k (@pagevars) { $pageFields{$k}= $q->param($k) ? $q->param($k) : "" } my $errors = checkFields($q); if ($errors) { $template = HTML::Template->new(filename => "templates/register.htm"); $template->param(%$errors); print $q->header; print $template->output; }else{ my $home ="/home/resume/www.resume.co.za/download"; my $contact_name=$q->param("contact_name"); my $contact_number=$q->param("contact_number"); my $job=$q->param("Job_category"); my $redirect=$q->param("redirect"); my $filename=$q->param("filename"); my $type = $q->uploadInfo($filename)->{'Content-Type'}; my @a = split(/\//, $filename); @a = split(/\\/, $filename); $a[$#a]=~s: ::g; my $dir="/home/resume/www.resume.co.za/download/$a[$#a]"; open(OUTFILE,">$dir") || die "Can't open upload file: $!\n"; while (<$filename>){ print OUTFILE ; } close OUTFILE; MIME::Lite->send("sendmail","/usr/sbin/sendmail -t -oi -oem"); $template = HTML::Template->new(filename => "templates/email.email"); $template->param( "contact_name"=>"$contact_name", "contact_number"=>"$contact_number", "job"=>"$job", "file"=>"$a[$#a]" ); my $msg = MIME::Lite->new( To =>"janine\@recroutons.com", From =>"Resume Uploaded ", CC =>"", BCC =>"", Subject =>"Resume Uploaded", Type =>'multipart/related' ); $msg->attach(Type => 'text/html', Data =>$template->output ); $msg->attach(Type => 'binary', Encoding => 'base64', Id =>'$a[$#a]', Path =>"$home/$a[$#a]", ); $msg->send(); $template = HTML::Template->new(filename => "templates/sentmail.html"); print $q->header; print $template->output; } sub checkFields { my $q = shift; my %vars = (); my $missing = 0; foreach my $var (@pagevars) { if ($q->param($var)) { $vars{$var} = $q->param($var); } else { if ($required{$var}) { $vars{$var."ERROR"} = 1; $missing = 1; } } } if($q->param('email')){ if( !validEmail(lc($q->param('email'))) ) { $vars{emailERROR}=1 if !validEmail(lc($q->param('email'))); $missing=1; } } if ($missing) { $vars{errorMessage}=1; return \%vars; }else{ return 0; } } }