';
#for localisation
$locale {"EN"} = {
unsupported =>"Unsupported characters in the filename. Your filename may only contain alphabetic characters, numbers and the characters",
extension => "File type not allowed. Allowed are: @config_allowedMime",
noopenup=>"Couldn't open $output_file for writing: ",
saveup=>"File saved to ",
folder=>"Folders",
file => "File(s) to upload",
submit => "Upload"
};
$locale {"DE"} = {
unsupported =>"Unerlaubte Zeichen im Dateinamen. Er darf nur Buchstaben, Zahlen und die volgenden Zeichen beinhalten",
extension => "Dateityp nicht erlaubt. Erlaubt sind: @config_allowedMime",
noopenup=>"$output_file konnte nicht geöffnet werden",
saveup=>"Datei gespeichert unter",
folder=>"Ordner",
file => "Dateien hochladen",
submit => "Hochladen"
};
$locale {"ES"} = {
unsupported =>"Caracteres no admitidos en el nombre del archivo. Su nombre sólo puede contener caracteres alfabéticos, números y los caracteres",
extension => "Tipo de archivo no permitido. Con los tipos MIME son: @config_allowedMime",
noopenup=>"No puede abrir $output_file para escribir: ",
saveup=>"Archivo guardado en",
folder=>"Carpetas",
file => "Archivo para cargar",
submit => "Cargar"
};
$locale {"EL"} = {
unsupported =>"Unsupported characters in the filename. Your filename may only contain alphabetic characters, numbers and the characters",
extension => "File extension not allowed. Allowed extension are: @config_allowedMime",
noopenup=>"Couldn't open $output_file for writing: ",
saveup=>"File saved to ",
folder=>"Folders",
file => "File to upload",
submit => "Upload"
};
if (r('process') eq 'upload')
{
my @filename = upload('filename');
my $folder = r('folder');
my $out_folder = $config_serverRoot.$folder;
my ($bytesread, $buffer);
my $numbytes = 1024;
my $do = 1;
if(!(opendir(DIR, $out_folder))) # create the folder if it does not exist
{
mkdir($out_folder, 0755);
}
foreach my $file(@filename)
{
my $output_file = $config_serverRoot.$folder.$file;
my $type = uploadInfo($file)->{'Content-Type'};
if (defined $file) {
# Upgrade the handle to one compatible with IO::Handle:
$io_file = $file->handle;
}
# check for unsupported charcters
unless($file =~ /^([-\@:\/\\\w.]+)$/) {
print "$locale{$lang}->{unsupported} '_', '-', '\@', '/', '\\','.'";
$do=0;
}
#check for allowed mime types
unless (grep {$type =~ /$_(.+?)/} @config_allowedMime){
print "$locale{$lang}->{extension}";
$do=0;
}
#write file
if ($do==1){
open (OUTFILE, ">", "$output_file") or die ("$locale{$lang}->{noopenup} $!");
while ($bytesread = $io_file->read($buffer, $numbytes))
{print OUTFILE $buffer;}
close OUTFILE and print "$locale{$lang}->{saveup} $output_file ";
}
}
}
print '';