Yoshihisa Fukuhara
higef****@users*****
2006年 2月 21日 (火) 00:54:04 JST
Index: affelio/apps/diary/Diary.pm
diff -u affelio/apps/diary/Diary.pm:1.31 affelio/apps/diary/Diary.pm:1.32
--- affelio/apps/diary/Diary.pm:1.31 Wed Jan 25 22:59:12 2006
+++ affelio/apps/diary/Diary.pm Tue Feb 21 00:54:04 2006
@@ -732,45 +732,47 @@
sub saveUploadedImage {
use File::Basename;
- my ($self, $filename, $id) = @_;
-
- if ($filename !~ /^[a-zA-Z0-9\.\-\_]{1,32}$/) {
- $self->errorExit("You can only use ascii character in your file name");
- }
-
- $id = $self->getColumn("SELECT MAX(id) FROM $self->{entry_table}") unless ($id);
-
+ my ($self, $filehandle, $id) = @_;
my $afap = $self->{afap};
-
my $file;
my $buf;
my $filesize = 0;
- while (my $bytesread = read($filename, $buf, 1024)) {
- $file .= $buf;
- $self->errorExit('Uploaded file was too big') if (++$filesize >= 300);
- }
-
- my $imgdir = "$self->{datadir}img/";
- unless (-d $imgdir) {
- mkdir $imgdir;
- }
- my $basedir = $imgdir."$id/";
- unless (-d $basedir) {
- mkdir $basedir;
- }
-
- fileparse_set_fstype('MSDOS');
- my $distfile = $basedir.basename($filename);
-
- unless (basename($filename) =~ /^[a-zA-Z0-9\.\-\_]{1,28}\.(jpg|jpeg|png|gif|bmp)$/i) {
- $self->errorExit('Uploaded file had invalid MIME type');
- }
+ my $bytesread;
+ $id = $self->getColumn("SELECT MAX(id) FROM $self->{entry_table}") unless ($id);
- local (*OUT);
- open(OUT, "> $distfile") or $self->errorExit('Failed to open file');
- binmode OUT;
- print OUT $file;
- close(OUT);
+ if ($filehandle){
+ fileparse_set_fstype("MSDOS"); #For IE user
+ my $basename = basename($filehandle,"");
+ if ($basename =~ /^[a-zA-Z0-9\.\-\_]{1,32}$/ ){ #Check Filename
+ unless ($basename =~ /^[a-zA-Z0-9\.\-\_]{1,28}\.(jpg|jpeg|png|gif|bmp)$/i) {
+ $self->errorExit('Uploaded file had invalid MIME type');
+ }
+ while ($bytesread = read($filehandle, $buf, 1024)) {
+ $file .= $buf;
+ $self->errorExit('Uploaded file was too big') if (++$filesize >= 300);
+ }
+ my $imgdir = "$self->{datadir}img/";
+ unless (-d $imgdir) {
+ mkdir $imgdir;
+ }
+ my $basedir = $imgdir."$id/";
+ unless (-d $basedir) {
+ mkdir $basedir;
+ }
+ my $distfile = $basedir.$basename;
+ # Save file
+ local (*OUT);
+ open(OUT, "> $distfile") or $self->errorExit('Failed to open file');
+ binmode OUT;
+ print OUT $file;
+ close(OUT);
+ }else{
+ $self->errorExit('You can only use ascii character in your file name');
+ }
+ }
+ else{
+ $self->errorExit('Please select a file.');
+ }
}
##############################################
Index: affelio/apps/diary/edit_diary.cgi
diff -u affelio/apps/diary/edit_diary.cgi:1.11 affelio/apps/diary/edit_diary.cgi:1.12
--- affelio/apps/diary/edit_diary.cgi:1.11 Tue Jul 12 06:05:15 2005
+++ affelio/apps/diary/edit_diary.cgi Tue Feb 21 00:54:04 2006
@@ -16,7 +16,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
require 'init.pl';
-use Error qw(:try);
+#use Error qw(:try);
$diary->checkAccess('write_diary');
@@ -28,7 +28,7 @@
# submitted
if($afap->{cgi}->param('edit')) {
- try {
+# try {
# send trackback ping
if ($afap->{cgi}->param('tping_url')) {
$diary->sendTrackbackPing($afap->{cgi}->param('tping_url'), $afap->{cgi}->param('title'), $afap->{cgi}->param('contents'), $id);
@@ -48,11 +48,11 @@
if ($filename_2) {
$diary->saveUploadedImage($filename_2, $id);
}
- }
- catch Error with {
- my $e = shift;
- error($q, "Error: \n".$e);
- };
+# }
+# catch Error with {
+# my $e = shift;
+# error($q, "Error: \n".$e);
+# };
print $diary->getRedirection("show_diary.cgi?id=$id");
exit;
@@ -60,13 +60,13 @@
# deleted
elsif($afap->{cgi}->param('delete')) {
- try {
+# try {
$diary->removeEntry($id);
- }
- catch Error with {
- my $e = shift;
- error($q, "Error: \n".$e);
- };
+# }
+# catch Error with {
+# my $e = shift;
+# error($q, "Error: \n".$e);
+# };
print $diary->getRedirection("list_diary.cgi");
exit;
Index: affelio/apps/diary/show_diary.cgi
diff -u affelio/apps/diary/show_diary.cgi:1.9 affelio/apps/diary/show_diary.cgi:1.10
--- affelio/apps/diary/show_diary.cgi:1.9 Wed Jul 6 07:06:14 2005
+++ affelio/apps/diary/show_diary.cgi Tue Feb 21 00:54:04 2006
@@ -16,7 +16,8 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
require 'init.pl';
-print $diary->get_HTML_header;
+
+print $diary->translate_templateL10N($diary->get_HTML_header);
my $id = $afap->{cgi}->param('id') or $diary->errorExit("An article number was not specified");
Index: affelio/apps/diary/write_diary.cgi
diff -u affelio/apps/diary/write_diary.cgi:1.14 affelio/apps/diary/write_diary.cgi:1.15
--- affelio/apps/diary/write_diary.cgi:1.14 Sat Dec 10 11:14:11 2005
+++ affelio/apps/diary/write_diary.cgi Tue Feb 21 00:54:04 2006
@@ -63,7 +63,8 @@
exit;
}
else {
- print $diary->get_HTML_header;
+ print $diary->translate_templateL10N($diary->get_HTML_header);
+
if($afap->{cgi}->param('confirm')) {
$tmpl = new HTML::Template(filename => "./templates/write_diary_confirm.tmpl");
$tmpl->param(