[Affelio-cvs 1067] CVS update: affelio/apps/diary

Back to archive index

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(


Affelio-cvs メーリングリストの案内
Back to archive index