package project_image; use strict; use project; sub new { my $c=shift; my $mk=shift; my $t=&sql::select1("project_image","mainkey",[$mk]); if (!$t) { return bless {new=>1}; } $t->{width}=1 if (!$t->{width}) ; $t->{height}=2 if (!$t->{height}) ; bless $t; } sub columnProp { ("width"=>"i","height"=>"i","project"=>"i", "new"=>"e", "mainkey"=>"m"); } my %size = ( "small" =>100 , "medium" => 50 , "large" => 25 , "huge" => 12 ); my $cmd; sub thumbNail { my $t=shift; if ($t->generateScaledFile) { qq(); } else { qq(); } } sub generateScaledFile { my $t=shift; my $sc=$t->scaledFileName; return 1 if (-e $sc); $cmd=qq(../thumbTool/genThumb.pl "@{[$t->fileName]}" "$sc" 150 130); system $cmd; return (-e $sc); } sub scaledFileName { my $t=shift; my $fn=$t->fileName; my @a=split (m|/|,$fn); my $name=pop @a; "../thumb/$name"; } sub thumbNailToDetail { my $t=shift; &html::link($t->thumbNail, "project_imageDetail" , {project_image=>$t->{mainkey}} ); } use table; sub detail { my $t=shift; my $p=new project($t->{project}); my $adm; if ($p->{admin}) { my $tbl=new table; $tbl->addRow ->addCol( &html::form(qq(), "newImage", {project_image=>$t->{mainkey},project=>$p->{mainkey}} ) ); $adm=$tbl->out; } &tmpl::default("画像","Image", <<"EOF"); $adm EOF } sub fileName { my $t=shift; "../files/$t->{filename}"; } sub setFileName { my $t=shift; my $ext=shift; $t->{filename}="prj-Img$t->{mainkey}.$ext"; &sql::update("project_image", {filename=>$t->{filename}}, "mainkey = @{[&sql::i($t->{mainkey})]} " ); } sub upload { my $t=shift; my $c=shift; open OUT ,">".$t->fileName or die("WRITE error ".$t->fileName); binmode OUT; print OUT $c; close OUT; unlink($t->scaledFileName); &tmpl::default("アップロード完了","uploaded", &html::link("戻る", "viewProject",{mainkey=>$t->{project}}) ); } 1;