#!/usr/bin/perl -w

use warnings;
use strict;
use WebDB ;
$|++;
 
use CGI qw(-private_tempfiles :all);
$CGI::DISABLE_UPLOADS = 0;
$CGI::POST_MAX = 1024 * 10000;	# 10KB
 
##
##	Alta de fotos para contactos
##	Maximo tamaņo de foto 10K
##
##	



if (param('acepta_upload')) {
	&procesa_upload();
}else{
	&formulario();
}


if (my $error = cgi_error()) {
	print header(-status => $error),start_html(),b("Error: ",$error);
	exit 0;
}
 

sub formulario {
print
## Formulario de Subida de archivos
   header(),
   start_html("Upload"),
   h1("Upload"),
   hr(),
   start_multipart_form(),
   table(Tr(td(p('upload:')),
	    td(filefield('uploaded_file'))),
	 Tr(td({ -colspan => 2 }, submit(-name=>"acepta_upload",-value=>"aceptar")))),
   end_multipart_form(),
   hr(),
   end_html();
## Fin formulario   
   
}



sub procesa_upload {
my $mime;
if (my $IN = upload('uploaded_file')) {
	$mime = uploadInfo($IN)->{'Content-Type'},
	my $OUT;
 
	my($bytes_read, $bytes_written, $read_offset, $offset) = (0,0,0,0);
	my($block_size)   = 1024;  # this should be fine for most
	my($data)         = '';

	open($OUT, qq[>/tmp/temporal.jpg]) or die(qq[Can't upload to   $!]);
		
	while ($bytes_read = sysread($IN,$data,$block_size,$offset)) {
		$bytes_written = syswrite($OUT,$data,$bytes_read,$offset);
		die(qq[Upload: system write error $!]) if !defined($bytes_written);
		$offset += $bytes_written;
       }
    close($IN); close($OUT);
}

print header(), 
	h2('File MIME type'),
	$mime,
	br(),"DONE";
}


