package WebGUI::Operation::Image; #------------------------------------------------------------------- # WebGUI is Copyright 2001-2002 Plain Black Software. #------------------------------------------------------------------- # Please read the legal notices (docs/legal.txt) and the license # (docs/license.txt) that came with this distribution before using # this software. #------------------------------------------------------------------- # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- use Exporter; use strict; use WebGUI::Attachment; use WebGUI::DateTime; use WebGUI::Form; use WebGUI::International; use WebGUI::Privilege; use WebGUI::Session; use WebGUI::Shortcut; use WebGUI::SQL; use WebGUI::Template; use WebGUI::Utility; our @ISA = qw(Exporter); our @EXPORT = qw(&www_addImage &www_addImageSave &www_editImage &www_editImageSave &www_viewImage &www_deleteImage &www_deleteImageConfirm &www_listImages &www_deleteImageFile); #------------------------------------------------------------------- sub www_addImage { my ($output); if (WebGUI::Privilege::isInGroup(4)) { $output = helpLink(20); $output .= '
'; $output .= '
'; return $output; } else { return WebGUI::Privilege::insufficient(); } } #------------------------------------------------------------------- sub www_deleteImageConfirm { if (WebGUI::Privilege::isInGroup(4)) { WebGUI::Attachment::deleteSubmission("images",$session{form}{iid}); WebGUI::SQL->write("delete from images where imageId=$session{form}{iid}"); return www_listImages(); } else { return WebGUI::Privilege::insufficient(); } } #------------------------------------------------------------------- sub www_deleteImageFile { if (WebGUI::Privilege::isInGroup(4)) { WebGUI::Attachment::deleteSubmission("images",$session{form}{iid}); WebGUI::SQL->write("update images set filename='' where imageId=$session{form}{iid}"); return www_editImage(); } else { return WebGUI::Privilege::insufficient(); } } #------------------------------------------------------------------- sub www_editImage { my ($output, %data); tie %data, 'Tie::CPHash'; if (WebGUI::Privilege::isInGroup(4)) { %data = WebGUI::SQL->quickHash("select * from images where imageId=$session{form}{iid}"); $output = helpLink(20); $output .= ''.WebGUI::International::get(390).'
';
}
return $output;
} else {
return WebGUI::Privilege::insufficient();
}
}
#-------------------------------------------------------------------
sub www_editImageSave {
my ($file);
if (WebGUI::Privilege::isInGroup(4)) {
$file = WebGUI::Attachment::save("filename","images",$session{form}{iid});
if ($file ne "") {
$file = ", filename=".quote($file);
}
WebGUI::SQL->write("update images set imageId=$session{form}{iid}, name=".quote($session{form}{name}).
$file.", parameters=".quote($session{form}{parameters}).", userId=$session{user}{userId}, ".
" username=".quote($session{user}{username}).", dateUploaded=".time());
return www_listImages();
} else {
return WebGUI::Privilege::insufficient();
}
}
#-------------------------------------------------------------------
sub www_listImages {
my ($output, $sth, %data, @row, $dataRows, $prevNextBar, $i, $search);
tie %data, 'Tie::CPHash';
if (WebGUI::Privilege::isInGroup(4)) {
$output = helpLink(26);
$output .= '
| '; $output .= ''.WebGUI::International::get(395).''; $output .= ' | '.formHeader().''; $output .= WebGUI::Form::hidden("op","listImages"); $output .= WebGUI::Form::text("keyword",20,50); $output .= WebGUI::Form::submit(WebGUI::International::get(170)); $output .= ' |
'; if ($session{form}{keyword} ne "") { $search = " where (name like '%".$session{form}{keyword}. "%' or filename like '%".$session{form}{keyword}."%') "; } $sth = WebGUI::SQL->read("select * from images $search order by name"); while (%data = $sth->hash) { $row[$i] = '
';
$row[$i] .= '
';
} else {
$row[$i] .= '
';
}
$row[$i] .= '';
return $output;
} else {
return WebGUI::Privilege::insufficient();
}
}
1;