package WebGUI::Asset::FilePile; =head1 LEGAL ------------------------------------------------------------------- WebGUI is Copyright 2001-2004 Plain Black Corporation. ------------------------------------------------------------------- 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 ------------------------------------------------------------------- =cut use strict; use WebGUI::Asset; use WebGUI::HTTP; use WebGUI::Icon; use WebGUI::Session; use WebGUI::SQL; use WebGUI::Storage; use WebGUI::TabForm; use WebGUI::Utility; our @ISA = qw(WebGUI::Asset); =head1 NAME Package WebGUI::Asset::FilePile =head1 DESCRIPTION Provides a mechanism to upload files to WebGUI. =head1 SYNOPSIS use WebGUI::Asset::FilePile; =head1 METHODS These methods are available from this class: =cut sub edit { my $self = shift; my $tabform = WebGUI::TabForm->new(); $tabform->hidden({ name=>"func", value=>"add" }); $tabform->hidden({ name=>"doit", value=>"1" }); $tabform->hidden({ name=>"class", value=>"WebGUI::Asset::FilePile" }); if ($session{form}{proceed}) { $tabform->hidden({ name=>"proceed", value=>$session{form}{proceed} }); } $tabform->addTab("properties",WebGUI::International::get("properties","Asset")); $tabform->getTab("properties")->yesNo( -name=>"hideFromNavigation", -value=>1, -label=>WebGUI::International::get(886), -uiLevel=>6 ); $tabform->getTab("properties")->yesNo( -name=>"newWindow", -value=>0, -label=>WebGUI::International::get(940), -uiLevel=>6 ); $tabform->addTab("security",WebGUI::International::get(107),6); $tabform->getTab("security")->dateTime( -name=>"startDate", -label=>WebGUI::International::get(497), -value=>$self->get("startDate"), -uiLevel=>6 ); $tabform->getTab("security")->dateTime( -name=>"endDate", -label=>WebGUI::International::get(498), -value=>$self->get("endDate"), -uiLevel=>6 ); my $subtext; if (WebGUI::Grouping::isInGroup(3)) { $subtext = manageIcon('op=listUsers'); } else { $subtext = ""; } my $clause; if (WebGUI::Grouping::isInGroup(3)) { my $contentManagers = WebGUI::Grouping::getUsersInGroup(4,1); push (@$contentManagers, $session{user}{userId}); $clause = "userId in (".quoteAndJoin($contentManagers).")"; } else { $clause = "userId=".quote($self->get("ownerUserId")); } my $users = WebGUI::SQL->buildHashRef("select userId,username from users where $clause order by username"); $tabform->getTab("security")->selectList( -name=>"ownerUserId", -options=>$users, -label=>WebGUI::International::get(108), -value=>[$self->get("ownerUserId")], -subtext=>$subtext, -uiLevel=>6 ); $tabform->getTab("security")->group( -name=>"groupIdView", -label=>WebGUI::International::get(872), -value=>[$self->get("groupIdView")], -uiLevel=>6 ); $tabform->getTab("security")->group( -name=>"groupIdEdit", -label=>WebGUI::International::get(871), -value=>[$self->get("groupIdEdit")], -excludeGroups=>[1,7], -uiLevel=>6 ); WebGUI::Style::setScript($session{config}{extrasURL}.'/FileUploadControl.js',{type=>"text/javascript"}); my $uploadControl = '