+++ /dev/null
-#####\r
-# FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
-# Copyright (C) 2003-2010 Frederico Caldeira Knabben\r
-#\r
-# == BEGIN LICENSE ==\r
-#\r
-# Licensed under the terms of any of the following licenses at your\r
-# choice:\r
-#\r
-# - GNU General Public License Version 2 or later (the "GPL")\r
-# http://www.gnu.org/licenses/gpl.html\r
-#\r
-# - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
-# http://www.gnu.org/licenses/lgpl.html\r
-#\r
-# - Mozilla Public License Version 1.1 or later (the "MPL")\r
-# http://www.mozilla.org/MPL/MPL-1.1.html\r
-#\r
-# == END LICENSE ==\r
-#\r
-# This is the File Manager Connector for Perl.\r
-#####\r
-\r
-# image data save dir\r
-$img_dir = './temp/';\r
-\r
-\r
-# File size max(unit KB)\r
-$MAX_CONTENT_SIZE = 30000;\r
-\r
-# After file is uploaded, sometimes it is required to change its permissions\r
-# so that it was possible to access it at the later time.\r
-# If possible, it is recommended to set more restrictive permissions, like 0755.\r
-# Set to 0 to disable this feature.\r
-$CHMOD_ON_UPLOAD = 0777;\r
-\r
-# See comments above.\r
-# Used when creating folders that does not exist.\r
-$CHMOD_ON_FOLDER_CREATE = 0755;\r
-\r
-# Filelock (1=use,0=not use)\r
-$PM{'flock'} = '1';\r
-\r
-\r
-# upload Content-Type list\r
-my %UPLOAD_CONTENT_TYPE_LIST = (\r
- 'image/(x-)?png' => 'png', # PNG image\r
- 'image/p?jpe?g' => 'jpg', # JPEG image\r
- 'image/gif' => 'gif', # GIF image\r
- 'image/x-xbitmap' => 'xbm', # XBM image\r
-\r
- 'image/(x-(MS-)?)?bmp' => 'bmp', # Windows BMP image\r
- 'image/pict' => 'pict', # Macintosh PICT image\r
- 'image/tiff' => 'tif', # TIFF image\r
- 'application/pdf' => 'pdf', # PDF image\r
- 'application/x-shockwave-flash' => 'swf', # Shockwave Flash\r
-\r
- 'video/(x-)?msvideo' => 'avi', # Microsoft Video\r
- 'video/quicktime' => 'mov', # QuickTime Video\r
- 'video/mpeg' => 'mpeg', # MPEG Video\r
- 'video/x-mpeg2' => 'mpv2', # MPEG2 Video\r
-\r
- 'audio/(x-)?midi?' => 'mid', # MIDI Audio\r
- 'audio/(x-)?wav' => 'wav', # WAV Audio\r
- 'audio/basic' => 'au', # ULAW Audio\r
- 'audio/mpeg' => 'mpga', # MPEG Audio\r
-\r
- 'application/(x-)?zip(-compressed)?' => 'zip', # ZIP Compress\r
-\r
- 'text/html' => 'html', # HTML\r
- 'text/plain' => 'txt', # TEXT\r
- '(?:application|text)/(?:rtf|richtext)' => 'rtf', # RichText\r
-\r
- 'application/msword' => 'doc', # Microsoft Word\r
- 'application/vnd.ms-excel' => 'xls', # Microsoft Excel\r
-\r
- ''\r
-);\r
-\r
-# Upload is permitted.\r
-# A regular expression is possible.\r
-my %UPLOAD_EXT_LIST = (\r
- 'png' => 'PNG image',\r
- 'p?jpe?g|jpe|jfif|pjp' => 'JPEG image',\r
- 'gif' => 'GIF image',\r
- 'xbm' => 'XBM image',\r
-\r
- 'bmp|dib|rle' => 'Windows BMP image',\r
- 'pi?ct' => 'Macintosh PICT image',\r
- 'tiff?' => 'TIFF image',\r
- 'pdf' => 'PDF image',\r
- 'swf' => 'Shockwave Flash',\r
-\r
- 'avi' => 'Microsoft Video',\r
- 'moo?v|qt' => 'QuickTime Video',\r
- 'm(p(e?gv?|e|v)|1v)' => 'MPEG Video',\r
- 'mp(v2|2v)' => 'MPEG2 Video',\r
-\r
- 'midi?|kar|smf|rmi|mff' => 'MIDI Audio',\r
- 'wav' => 'WAVE Audio',\r
- 'au|snd' => 'ULAW Audio',\r
- 'mp(e?ga|2|a|3)|abs' => 'MPEG Audio',\r
-\r
- 'zip' => 'ZIP Compress',\r
- 'lzh' => 'LZH Compress',\r
- 'cab' => 'CAB Compress',\r
-\r
- 'd?html?' => 'HTML',\r
- 'rtf|rtx' => 'RichText',\r
- 'txt|text' => 'Text',\r
-\r
- ''\r
-);\r
-\r
-\r
-# sjis or euc\r
-my $CHARCODE = 'sjis';\r
-\r
-$TRANS_2BYTE_CODE = 0;\r
-\r
-##############################################################################\r
-# Summary\r
-#\r
-# Form Read input\r
-#\r
-# Parameters\r
-# Returns\r
-# Memo\r
-##############################################################################\r
-sub read_input\r
-{\r
-eval("use File::Copy;");\r
-eval("use File::Path;");\r
-\r
- my ($FORM) = @_;\r
-\r
- if (defined $CHMOD_ON_FOLDER_CREATE && !$CHMOD_ON_FOLDER_CREATE) {\r
- mkdir("$img_dir");\r
- }\r
- else {\r
- umask(000);\r
- if (defined $CHMOD_ON_FOLDER_CREATE) {\r
- mkdir("$img_dir",$CHMOD_ON_FOLDER_CREATE);\r
- }\r
- else {\r
- mkdir("$img_dir",0777);\r
- }\r
- }\r
-\r
- undef $img_data_exists;\r
- undef @NEWFNAMES;\r
- undef @NEWFNAME_DATA;\r
-\r
- if($ENV{'CONTENT_LENGTH'} > 10000000 || $ENV{'CONTENT_LENGTH'} > $MAX_CONTENT_SIZE * 1024) {\r
- &upload_error(\r
- 'Size Error',\r
- sprintf(\r
- "Transmitting size is too large.MAX <strong>%d KB</strong> Now Size <strong>%d KB</strong>(<strong>%d bytes</strong> Over)",\r
- $MAX_CONTENT_SIZE,\r
- int($ENV{'CONTENT_LENGTH'} / 1024),\r
- $ENV{'CONTENT_LENGTH'} - $MAX_CONTENT_SIZE * 1024\r
- )\r
- );\r
- }\r
-\r
- my $Buffer;\r
- if($ENV{'CONTENT_TYPE'} =~ /multipart\/form-data/) {\r
- # METHOD POST only\r
- return unless($ENV{'CONTENT_LENGTH'});\r
-\r
- binmode(STDIN);\r
- # STDIN A pause character is detected.'(MacIE3.0 boundary of $ENV{'CONTENT_TYPE'} cannot be trusted.)\r
- my $Boundary = <STDIN>;\r
- $Boundary =~ s/\x0D\x0A//;\r
- $Boundary = quotemeta($Boundary);\r
- while(<STDIN>) {\r
- if(/^\s*Content-Disposition:/i) {\r
- my($name,$ContentType,$FileName);\r
- # form data get\r
- if(/\bname="([^"]+)"/i || /\bname=([^\s:;]+)/i) {\r
- $name = $1;\r
- $name =~ tr/+/ /;\r
- $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;\r
- &Encode(\$name);\r
- }\r
- if(/\bfilename="([^"]*)"/i || /\bfilename=([^\s:;]*)/i) {\r
- $FileName = $1 || 'unknown';\r
- }\r
- # head read\r
- while(<STDIN>) {\r
- last if(! /\w/);\r
- if(/^\s*Content-Type:\s*"([^"]+)"/i || /^\s*Content-Type:\s*([^\s:;]+)/i) {\r
- $ContentType = $1;\r
- }\r
- }\r
- # body read\r
- $value = "";\r
- while(<STDIN>) {\r
- last if(/^$Boundary/o);\r
- $value .= $_;\r
- };\r
- $lastline = $_;\r
- $value =~s /\x0D\x0A$//;\r
- if($value ne '') {\r
- if($FileName || $ContentType) {\r
- $img_data_exists = 1;\r
- (\r
- $FileName, #\r
- $Ext, #\r
- $Length, #\r
- $ImageWidth, #\r
- $ImageHeight, #\r
- $ContentName #\r
- ) = &CheckContentType(\$value,$FileName,$ContentType);\r
-\r
- $FORM{$name} = $FileName;\r
- $new_fname = $FileName;\r
- push(@NEWFNAME_DATA,"$FileName\t$Ext\t$Length\t$ImageWidth\t$ImageHeight\t$ContentName");\r
-\r
- # Multi-upload correspondence\r
- push(@NEWFNAMES,$new_fname);\r
- open(OUT,">$img_dir/$new_fname");\r
- binmode(OUT);\r
- eval "flock(OUT,2);" if($PM{'flock'} == 1);\r
- print OUT $value;\r
- eval "flock(OUT,8);" if($PM{'flock'} == 1);\r
- close(OUT);\r
-\r
- } elsif($name) {\r
- $value =~ tr/+/ /;\r
- $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;\r
- &Encode(\$value,'trans');\r
- $FORM{$name} .= "\0" if(defined($FORM{$name}));\r
- $FORM{$name} .= $value;\r
- }\r
- }\r
- };\r
- last if($lastline =~ /^$Boundary\-\-/o);\r
- }\r
- } elsif($ENV{'CONTENT_LENGTH'}) {\r
- read(STDIN,$Buffer,$ENV{'CONTENT_LENGTH'});\r
- }\r
- foreach(split(/&/,$Buffer),split(/&/,$ENV{'QUERY_STRING'})) {\r
- my($name, $value) = split(/=/);\r
- $name =~ tr/+/ /;\r
- $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;\r
- $value =~ tr/+/ /;\r
- $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;\r
-\r
- &Encode(\$name);\r
- &Encode(\$value,'trans');\r
- $FORM{$name} .= "\0" if(defined($FORM{$name}));\r
- $FORM{$name} .= $value;\r
-\r
- }\r
-\r
-}\r
-\r
-##############################################################################\r
-# Summary\r
-#\r
-# CheckContentType\r
-#\r
-# Parameters\r
-# Returns\r
-# Memo\r
-##############################################################################\r
-sub CheckContentType\r
-{\r
-\r
- my($DATA,$FileName,$ContentType) = @_;\r
- my($Ext,$ImageWidth,$ImageHeight,$ContentName,$Infomation);\r
- my $DataLength = length($$DATA);\r
-\r
- # An unknown file type\r
-\r
- $_ = $ContentType;\r
- my $UnknownType = (\r
- !$_\r
- || /^application\/(x-)?macbinary$/i\r
- || /^application\/applefile$/i\r
- || /^application\/octet-stream$/i\r
- || /^text\/plane$/i\r
- || /^x-unknown-content-type/i\r
- );\r
-\r
- # MacBinary(Mac Unnecessary data are deleted.)\r
- if($UnknownType || $ENV{'HTTP_USER_AGENT'} =~ /Macintosh|Mac_/) {\r
- if($DataLength > 128 && !unpack("C",substr($$DATA,0,1)) && !unpack("C",substr($$DATA,74,1)) && !unpack("C",substr($$DATA,82,1)) ) {\r
- my $MacBinary_ForkLength = unpack("N", substr($$DATA, 83, 4)); # ForkLength Get\r
- my $MacBinary_FileName = quotemeta(substr($$DATA, 2, unpack("C",substr($$DATA, 1, 1))));\r
- if($MacBinary_FileName && $MacBinary_ForkLength && $DataLength >= $MacBinary_ForkLength + 128\r
- && ($FileName =~ /$MacBinary_FileName/i || substr($$DATA,102,4) eq 'mBIN')) { # DATA TOP 128byte MacBinary!!\r
- $$DATA = substr($$DATA,128,$MacBinary_ForkLength);\r
- my $ResourceLength = $DataLength - $MacBinary_ForkLength - 128;\r
- $DataLength = $MacBinary_ForkLength;\r
- }\r
- }\r
- }\r
-\r
- # A file name is changed into EUC.\r
-# &jcode::convert(\$FileName,'euc',$FormCodeDefault);\r
-# &jcode::h2z_euc(\$FileName);\r
- $FileName =~ s/^.*\\//; # Windows, Mac\r
- $FileName =~ s/^.*\///; # UNIX\r
- $FileName =~ s/&/&/g;\r
- $FileName =~ s/"/"/g;\r
- $FileName =~ s/</</g;\r
- $FileName =~ s/>/>/g;\r
-#\r
-# if($CHARCODE ne 'euc') {\r
-# &jcode::convert(\$FileName,$CHARCODE,'euc');\r
-# }\r
-\r
- # An extension is extracted and it changes into a small letter.\r
- my $FileExt;\r
- if($FileName =~ /\.(\w+)$/) {\r
- $FileExt = $1;\r
- $FileExt =~ tr/A-Z/a-z/;\r
- }\r
-\r
- # Executable file detection (ban on upload)\r
- if($$DATA =~ /^MZ/) {\r
- $Ext = 'exe';\r
- }\r
- # text\r
- if(!$Ext && ($UnknownType || $ContentType =~ /^text\//i || $ContentType =~ /^application\/(?:rtf|richtext)$/i || $ContentType =~ /^image\/x-xbitmap$/i)\r
- && ! $$DATA =~ /[\000-\006\177\377]/) {\r
-# $$DATA =~ s/\x0D\x0A/\n/g;\r
-# $$DATA =~ tr/\x0D\x0A/\n\n/;\r
-#\r
-# if(\r
-# $$DATA =~ /<\s*SCRIPT(?:.|\n)*?>/i\r
-# || $$DATA =~ /<\s*(?:.|\n)*?\bONLOAD\s*=(?:.|\n)*?>/i\r
-# || $$DATA =~ /<\s*(?:.|\n)*?\bONCLICK\s*=(?:.|\n)*?>/i\r
-# ) {\r
-# $Infomation = '(JavaScript contains)';\r
-# }\r
-# if($$DATA =~ /<\s*TABLE(?:.|\n)*?>/i\r
-# || $$DATA =~ /<\s*BLINK(?:.|\n)*?>/i\r
-# || $$DATA =~ /<\s*MARQUEE(?:.|\n)*?>/i\r
-# || $$DATA =~ /<\s*OBJECT(?:.|\n)*?>/i\r
-# || $$DATA =~ /<\s*EMBED(?:.|\n)*?>/i\r
-# || $$DATA =~ /<\s*FRAME(?:.|\n)*?>/i\r
-# || $$DATA =~ /<\s*APPLET(?:.|\n)*?>/i\r
-# || $$DATA =~ /<\s*FORM(?:.|\n)*?>/i\r
-# || $$DATA =~ /<\s*(?:.|\n)*?\bSRC\s*=(?:.|\n)*?>/i\r
-# || $$DATA =~ /<\s*(?:.|\n)*?\bDYNSRC\s*=(?:.|\n)*?>/i\r
-# ) {\r
-# $Infomation = '(the HTML tag which is not safe is included)';\r
-# }\r
-\r
- if($FileExt =~ /^txt$/i || $FileExt =~ /^cgi$/i || $FileExt =~ /^pl$/i) { # Text File\r
- $Ext = 'txt';\r
- } elsif($ContentType =~ /^text\/html$/i || $FileExt =~ /html?/i || $$DATA =~ /<\s*HTML(?:.|\n)*?>/i) { # HTML File\r
- $Ext = 'html';\r
- } elsif($ContentType =~ /^image\/x-xbitmap$/i || $FileExt =~ /^xbm$/i) { # XBM(x-BitMap) Image\r
- my $XbmName = $1;\r
- my ($XbmWidth, $XbmHeight);\r
- if($$DATA =~ /\#define\s*$XbmName\_width\s*(\d+)/i) {\r
- $XbmWidth = $1;\r
- }\r
- if($$DATA =~ /\#define\s*$XbmName\_height\s*(\d+)/i) {\r
- $XbmHeight = $1;\r
- }\r
- if($XbmWidth && $XbmHeight) {\r
- $Ext = 'xbm';\r
- $ImageWidth = $XbmWidth;\r
- $ImageHeight = $XbmHeight;\r
- }\r
- } else { #\r
- $Ext = 'txt';\r
- }\r
- }\r
-\r
- # image\r
- if(!$Ext && ($UnknownType || $ContentType =~ /^image\//i)) {\r
- # PNG\r
- if($$DATA =~ /^\x89PNG\x0D\x0A\x1A\x0A/) {\r
- if(substr($$DATA, 12, 4) eq 'IHDR') {\r
- $Ext = 'png';\r
- ($ImageWidth, $ImageHeight) = unpack("N2", substr($$DATA, 16, 8));\r
- }\r
- } elsif($$DATA =~ /^GIF8(?:9|7)a/) { # GIF89a(modified), GIF89a, GIF87a\r
- $Ext = 'gif';\r
- ($ImageWidth, $ImageHeight) = unpack("v2", substr($$DATA, 6, 4));\r
- } elsif($$DATA =~ /^II\x2a\x00\x08\x00\x00\x00/ || $$DATA =~ /^MM\x00\x2a\x00\x00\x00\x08/) { # TIFF\r
- $Ext = 'tif';\r
- } elsif($$DATA =~ /^BM/) { # BMP\r
- $Ext = 'bmp';\r
- } elsif($$DATA =~ /^\xFF\xD8\xFF/ || $$DATA =~ /JFIF/) { # JPEG\r
- my $HeaderPoint = index($$DATA, "\xFF\xD8\xFF", 0);\r
- my $Point = $HeaderPoint + 2;\r
- while($Point < $DataLength) {\r
- my($Maker, $MakerType, $MakerLength) = unpack("C2n",substr($$DATA,$Point,4));\r
- if($Maker != 0xFF || $MakerType == 0xd9 || $MakerType == 0xda) {\r
- last;\r
- } elsif($MakerType >= 0xC0 && $MakerType <= 0xC3) {\r
- $Ext = 'jpg';\r
- ($ImageHeight, $ImageWidth) = unpack("n2", substr($$DATA, $Point + 5, 4));\r
- if($HeaderPoint > 0) {\r
- $$DATA = substr($$DATA, $HeaderPoint);\r
- $DataLength = length($$DATA);\r
- }\r
- last;\r
- } else {\r
- $Point += $MakerLength + 2;\r
- }\r
- }\r
- }\r
- }\r
-\r
- # audio\r
- if(!$Ext && ($UnknownType || $ContentType =~ /^audio\//i)) {\r
- # MIDI Audio\r
- if($$DATA =~ /^MThd/) {\r
- $Ext = 'mid';\r
- } elsif($$DATA =~ /^\x2esnd/) { # ULAW Audio\r
- $Ext = 'au';\r
- } elsif($$DATA =~ /^RIFF/ || $$DATA =~ /^ID3/ && $$DATA =~ /RIFF/) {\r
- my $HeaderPoint = index($$DATA, "RIFF", 0);\r
- $_ = substr($$DATA, $HeaderPoint + 8, 8);\r
- if(/^WAVEfmt $/) {\r
- # WAVE\r
- if(unpack("V",substr($$DATA, $HeaderPoint + 16, 4)) == 16) {\r
- $Ext = 'wav';\r
- } else { # RIFF WAVE MP3\r
- $Ext = 'mp3';\r
- }\r
- } elsif(/^RMIDdata$/) { # RIFF MIDI\r
- $Ext = 'rmi';\r
- } elsif(/^RMP3data$/) { # RIFF MP3\r
- $Ext = 'rmp';\r
- }\r
- if($ContentType =~ /^audio\//i) {\r
- $Infomation .= '(RIFF '. substr($$DATA, $HeaderPoint + 8, 4). ')';\r
- }\r
- }\r
- }\r
-\r
- # a binary file\r
- unless ($Ext) {\r
- # PDF image\r
- if($$DATA =~ /^\%PDF/) {\r
- # Picture size is not measured.\r
- $Ext = 'pdf';\r
- } elsif($$DATA =~ /^FWS/) { # Shockwave Flash\r
- $Ext = 'swf';\r
- } elsif($$DATA =~ /^RIFF/ || $$DATA =~ /^ID3/ && $$DATA =~ /RIFF/) {\r
- my $HeaderPoint = index($$DATA, "RIFF", 0);\r
- $_ = substr($$DATA,$HeaderPoint + 8, 8);\r
- # AVI\r
- if(/^AVI LIST$/) {\r
- $Ext = 'avi';\r
- }\r
- if($ContentType =~ /^video\//i) {\r
- $Infomation .= '(RIFF '. substr($$DATA, $HeaderPoint + 8, 4). ')';\r
- }\r
- } elsif($$DATA =~ /^PK/) { # ZIP Compress File\r
- $Ext = 'zip';\r
- } elsif($$DATA =~ /^MSCF/) { # CAB Compress File\r
- $Ext = 'cab';\r
- } elsif($$DATA =~ /^Rar\!/) { # RAR Compress File\r
- $Ext = 'rar';\r
- } elsif(substr($$DATA, 2, 5) =~ /^\-lh(\d+|d)\-$/) { # LHA Compress File\r
- $Infomation .= "(lh$1)";\r
- $Ext = 'lzh';\r
- } elsif(substr($$DATA, 325, 25) eq "Apple Video Media Handler" || substr($$DATA, 325, 30) eq "Apple \x83\x72\x83\x66\x83\x49\x81\x45\x83\x81\x83\x66\x83\x42\x83\x41\x83\x6E\x83\x93\x83\x68\x83\x89") {\r
- # QuickTime\r
- $Ext = 'mov';\r
- }\r
- }\r
-\r
- # Header analysis failure\r
- unless ($Ext) {\r
- # It will be followed if it applies for the MIME type from the browser.\r
- foreach (keys %UPLOAD_CONTENT_TYPE_LIST) {\r
- next unless ($_);\r
- if($ContentType =~ /^$_$/i) {\r
- $Ext = $UPLOAD_CONTENT_TYPE_LIST{$_};\r
- $ContentName = &CheckContentExt($Ext);\r
- if(\r
- grep {$_ eq $Ext;} (\r
- 'png',\r
- 'gif',\r
- 'jpg',\r
- 'xbm',\r
- 'tif',\r
- 'bmp',\r
- 'pdf',\r
- 'swf',\r
- 'mov',\r
- 'zip',\r
- 'cab',\r
- 'lzh',\r
- 'rar',\r
- 'mid',\r
- 'rmi',\r
- 'au',\r
- 'wav',\r
- 'avi',\r
- 'exe'\r
- )\r
- ) {\r
- $Infomation .= ' / Header analysis failure';\r
- }\r
- if($Ext ne $FileExt && &CheckContentExt($FileExt) eq $ContentName) {\r
- $Ext = $FileExt;\r
- }\r
- last;\r
- }\r
- }\r
- # a MIME type is unknown--It judges from an extension.\r
- unless ($Ext) {\r
- $ContentName = &CheckContentExt($FileExt);\r
- if($ContentName) {\r
- $Ext = $FileExt;\r
- $Infomation .= ' / MIME type is unknown('. $ContentType. ')';\r
- last;\r
- }\r
- }\r
- }\r
-\r
-# $ContentName = &CheckContentExt($Ext) unless($ContentName);\r
-# if($Ext && $ContentName) {\r
-# $ContentName .= $Infomation;\r
-# } else {\r
-# &upload_error(\r
-# 'Extension Error',\r
-# "$FileName A not corresponding extension ($Ext)<BR>The extension which can be responded ". join(',', sort values(%UPLOAD_EXT_LIST))\r
-# );\r
-# }\r
-\r
-# # SSI Tag Deletion\r
-# if($Ext =~ /.?html?/ && $$DATA =~ /<\!/) {\r
-# foreach (\r
-# 'config',\r
-# 'echo',\r
-# 'exec',\r
-# 'flastmod',\r
-# 'fsize',\r
-# 'include'\r
-# ) {\r
-# $$DATA =~ s/\#\s*$_/\&\#35\;$_/ig\r
-# }\r
-# }\r
-\r
- return (\r
- $FileName,\r
- $Ext,\r
- int($DataLength / 1024 + 1),\r
- $ImageWidth,\r
- $ImageHeight,\r
- $ContentName\r
- );\r
-}\r
-\r
-##############################################################################\r
-# Summary\r
-#\r
-# Extension discernment\r
-#\r
-# Parameters\r
-# Returns\r
-# Memo\r
-##############################################################################\r
-\r
-sub CheckContentExt\r
-{\r
-\r
- my($Ext) = @_;\r
- my $ContentName;\r
- foreach (keys %UPLOAD_EXT_LIST) {\r
- next unless ($_);\r
- if($_ && $Ext =~ /^$_$/) {\r
- $ContentName = $UPLOAD_EXT_LIST{$_};\r
- last;\r
- }\r
- }\r
- return $ContentName;\r
-\r
-}\r
-\r
-##############################################################################\r
-# Summary\r
-#\r
-# Form decode\r
-#\r
-# Parameters\r
-# Returns\r
-# Memo\r
-##############################################################################\r
-sub Encode\r
-{\r
-\r
- my($value,$Trans) = @_;\r
-\r
-# my $FormCode = &jcode::getcode($value) || $FormCodeDefault;\r
-# $FormCodeDefault ||= $FormCode;\r
-#\r
-# if($Trans && $TRANS_2BYTE_CODE) {\r
-# if($FormCode ne 'euc') {\r
-# &jcode::convert($value, 'euc', $FormCode);\r
-# }\r
-# &jcode::tr(\r
-# $value,\r
-# "\xA3\xB0-\xA3\xB9\xA3\xC1-\xA3\xDA\xA3\xE1-\xA3\xFA",\r
-# '0-9A-Za-z'\r
-# );\r
-# if($CHARCODE ne 'euc') {\r
-# &jcode::convert($value,$CHARCODE,'euc');\r
-# }\r
-# } else {\r
-# if($CHARCODE ne $FormCode) {\r
-# &jcode::convert($value,$CHARCODE,$FormCode);\r
-# }\r
-# }\r
-# if($CHARCODE eq 'euc') {\r
-# &jcode::h2z_euc($value);\r
-# } elsif($CHARCODE eq 'sjis') {\r
-# &jcode::h2z_sjis($value);\r
-# }\r
-\r
-}\r
-\r
-##############################################################################\r
-# Summary\r
-#\r
-# Error Msg\r
-#\r
-# Parameters\r
-# Returns\r
-# Memo\r
-##############################################################################\r
-\r
-sub upload_error\r
-{\r
-\r
- local($error_message) = $_[0];\r
- local($error_message2) = $_[1];\r
-\r
- print "Content-type: text/html\n\n";\r
- print<<EOF;\r
-<HTML>\r
-<HEAD>\r
-<TITLE>Error Message</TITLE></HEAD>\r
-<BODY>\r
-<table border="1" cellspacing="10" cellpadding="10">\r
- <TR bgcolor="#0000B0">\r
- <TD bgcolor="#0000B0" NOWRAP><font size="-1" color="white"><B>Error Message</B></font></TD>\r
- </TR>\r
-</table>\r
-<UL>\r
-<H4> $error_message </H4>\r
-$error_message2 <BR>\r
-</UL>\r
-</BODY>\r
-</HTML>\r
-EOF\r
- &rm_tmp_uploaded_files; # Image Temporary deletion\r
- exit;\r
-}\r
-\r
-##############################################################################\r
-# Summary\r
-#\r
-# Image Temporary deletion\r
-#\r
-# Parameters\r
-# Returns\r
-# Memo\r
-##############################################################################\r
-\r
-sub rm_tmp_uploaded_files\r
-{\r
- if($img_data_exists == 1){\r
- sleep 1;\r
- foreach $fname_list(@NEWFNAMES) {\r
- if(-e "$img_dir/$fname_list") {\r
- unlink("$img_dir/$fname_list");\r
- }\r
- }\r
- }\r
-\r
-}\r
-1;\r