From a1304593e6b6ecb7b64a3f26a98c678275c25924 Mon Sep 17 00:00:00 2001 From: "John W. Krahn" Date: Wed, 5 Feb 2003 01:02:30 +0000 Subject: [PATCH] tidy (perltidy), simplify and optimise --- lib/WebGUI/Operation/Group.pm | 398 +++++++++++++++++----------------- 1 file changed, 197 insertions(+), 201 deletions(-) diff --git a/lib/WebGUI/Operation/Group.pm b/lib/WebGUI/Operation/Group.pm index 150f28927..7a8d99b8d 100644 --- a/lib/WebGUI/Operation/Group.pm +++ b/lib/WebGUI/Operation/Group.pm @@ -28,271 +28,267 @@ use WebGUI::SQL; use WebGUI::URL; use WebGUI::Utility; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_manageUsersInGroup &www_deleteGroup &www_deleteGroupConfirm &www_editGroup - &www_editGroupSave &www_listGroups &www_emailGroup &www_emailGroupSend &www_manageGroupsInGroup - &www_addGroupsToGroupSave &www_deleteGroupGrouping); +our @ISA = qw(Exporter); +our @EXPORT = qw(&www_manageUsersInGroup &www_deleteGroup &www_deleteGroupConfirm &www_editGroup +&www_editGroupSave &www_listGroups &www_emailGroup &www_emailGroupSend &www_manageGroupsInGroup +&www_addGroupsToGroupSave &www_deleteGroupGrouping); #------------------------------------------------------------------- sub _submenu { - my ($output, %menu); - tie %menu, 'Tie::IxHash'; - $menu{WebGUI::URL::page('op=editGroup&gid=new')} = WebGUI::International::get(90); - unless ($session{form}{op} eq "listGroups" - || $session{form}{gid} eq "new" - || $session{form}{op} eq "deleteGroupConfirm") { - $menu{WebGUI::URL::page("op=editGroup&gid=".$session{form}{gid})} = WebGUI::International::get(753); - $menu{WebGUI::URL::page("op=manageUsersInGroup&gid=".$session{form}{gid})} = WebGUI::International::get(754); - $menu{WebGUI::URL::page("op=manageGroupsInGroup&gid=".$session{form}{gid})} = WebGUI::International::get(807); - $menu{WebGUI::URL::page("op=emailGroup&gid=".$session{form}{gid})} = WebGUI::International::get(808); - $menu{WebGUI::URL::page("op=deleteGroup&gid=".$session{form}{gid})} = WebGUI::International::get(806); - } - $menu{WebGUI::URL::page("op=listGroups")} = WebGUI::International::get(756); - return menuWrapper($_[0],\%menu); + tie my %menu, 'Tie::IxHash'; + $menu{ WebGUI::URL::page( 'op=editGroup&gid=new' ) } = WebGUI::International::get( 90 ); + unless ( $session{ form }{ op } eq 'listGroups' + or $session{ form }{ gid } eq 'new' + or $session{ form }{ op } eq 'deleteGroupConfirm' ) + { + $menu{ WebGUI::URL::page( 'op=editGroup&gid=' . $session{ form }{ gid } ) } = WebGUI::International::get( 753 ); + $menu{ WebGUI::URL::page( 'op=manageUsersInGroup&gid=' . $session{ form }{ gid } ) } = WebGUI::International::get( 754 ); + $menu{ WebGUI::URL::page( 'op=manageGroupsInGroup&gid=' . $session{ form }{ gid } ) } = WebGUI::International::get( 807 ); + $menu{ WebGUI::URL::page( 'op=emailGroup&gid=' . $session{ form }{ gid } ) } = WebGUI::International::get( 808 ); + $menu{ WebGUI::URL::page( 'op=deleteGroup&gid=' . $session{ form }{ gid } ) } = WebGUI::International::get( 806 ); + } + $menu{ WebGUI::URL::page( 'op=listGroups' ) } = WebGUI::International::get( 756 ); + return menuWrapper( $_[ 0 ], \%menu ); } #------------------------------------------------------------------- sub www_addGroupsToGroupSave { - return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); - my (@groups, $group); - @groups = $session{cgi}->param('groups'); - WebGUI::Grouping::addGroupsToGroups(\@groups,[$session{form}{gid}]); - return www_manageGroupsInGroup(); + return WebGUI::Privilege::adminOnly() unless WebGUI::Privilege::isInGroup( 3 ); + my @groups = $session{ cgi }->param( 'groups' ); + WebGUI::Grouping::addGroupsToGroups( \@groups, [ $session{ form }{ gid } ] ); + return www_manageGroupsInGroup(); } #------------------------------------------------------------------- sub www_deleteGroup { - return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); - my ($output); - return WebGUI::Privilege::vitalComponent() if ($session{form}{gid} < 26); - $output .= helpIcon(15); - $output .= '

'.WebGUI::International::get(42).'

'; - $output .= WebGUI::International::get(86).'

'; - $output .= '

'.WebGUI::International::get(44).''; - $output .= '    ' - .WebGUI::International::get(45).'
'; - return _submenu($output); + return WebGUI::Privilege::adminOnly() unless WebGUI::Privilege::isInGroup( 3 ); + return WebGUI::Privilege::vitalComponent() if $session{ form }{ gid } < 26; + my $output = helpIcon( 15 ) + . '

' . WebGUI::International::get( 42 ) . '

' + . WebGUI::International::get( 86 ) . '

' + . '

' . WebGUI::International::get( 44 ) . '' + . '    ' + . WebGUI::International::get( 45 ) . '
'; + return _submenu( $output ); } #------------------------------------------------------------------- sub www_deleteGroupConfirm { - return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); - return WebGUI::Privilege::vitalComponent() if ($session{form}{gid} < 26); - my $g = WebGUI::Group->new($session{form}{gid}); + return WebGUI::Privilege::adminOnly() unless WebGUI::Privilege::isInGroup( 3 ); + return WebGUI::Privilege::vitalComponent() if $session{ form }{ gid } < 26; + my $g = WebGUI::Group->new( $session{ form }{ gid } ); $g->delete; - return www_listGroups(); + return www_listGroups(); } #------------------------------------------------------------------- sub www_deleteGroupGrouping { - return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); - WebGUI::Grouping::deleteGroupsFromGroups([$session{form}{delete}],[$session{form}{gid}]); - return www_manageGroupsInGroup(); + return WebGUI::Privilege::adminOnly() unless WebGUI::Privilege::isInGroup( 3 ); + WebGUI::Grouping::deleteGroupsFromGroups( [ $session{ form }{ delete } ], [ $session{ form }{ gid } ] ); + return www_manageGroupsInGroup(); } #------------------------------------------------------------------- sub www_editGroup { - return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); - my ($output, $f, $g); - if ($session{form}{gid} eq "new") { - $g = WebGUI::Group->new(""); - } else { - $g = WebGUI::Group->new($session{form}{gid}); - } - $output .= helpIcon(17); - $output .= '

'.WebGUI::International::get(87).'

'; - $f = WebGUI::HTMLForm->new; - $f->hidden("op","editGroupSave"); - $f->hidden("gid",$session{form}{gid}); - $f->readOnly($g->groupId,WebGUI::International::get(379)); - $f->text("groupName",WebGUI::International::get(84),$g->name); - $f->textarea("description",WebGUI::International::get(85),$g->description); - $f->interval("expireOffset",WebGUI::International::get(367), WebGUI::DateTime::secondsToInterval($g->expireOffset)); + return WebGUI::Privilege::adminOnly() unless WebGUI::Privilege::isInGroup( 3 ); + + my $g = ( $session{ form }{ gid } eq 'new' ) + ? WebGUI::Group->new( '' ) + : WebGUI::Group->new( $session{ form }{ gid } ); + + my $f = WebGUI::HTMLForm->new; + $f->hidden( 'op', 'editGroupSave' ); + $f->hidden( 'gid', $session{ form }{ gid } ); + $f->readOnly( $g->groupId, WebGUI::International::get( 379 ) ); + $f->text( 'groupName', WebGUI::International::get( 84 ), $g->name ); + $f->textarea( 'description', WebGUI::International::get( 85 ), $g->description ); + $f->interval( 'expireOffset', WebGUI::International::get( 367 ), WebGUI::DateTime::secondsToInterval( $g->expireOffset ) ); $f->yesNo( - -name=>"expireNotify", - -value=>$g->expireNotify, - -label=>WebGUI::International::get(865) - ); + -name => 'expireNotify', + -value => $g->expireNotify, + -label => WebGUI::International::get( 865 ) + ); $f->integer( - -name=>"expireNotifyOffset", - -value=>$g->expireNotifyOffset, - -label=>WebGUI::International::get(864) - ); - $f->textarea( - -name=>"expireNotifyMessage", - -value=>$g->expireNotifyMessage, - -label=>WebGUI::International::get(866) - ); - $f->integer( - -name=>"deleteOffset", - -value=>$g->deleteOffset, - -label=>WebGUI::International::get(863) - ); - if ($session{setting}{useKarma}) { - $f->integer("karmaThreshold",WebGUI::International::get(538),$g->karmaThreshold); - } + -name => 'expireNotifyOffset', + -value => $g->expireNotifyOffset, + -label => WebGUI::International::get( 864 ) + ); + $f->textarea( + -name => 'expireNotifyMessage', + -value => $g->expireNotifyMessage, + -label => WebGUI::International::get( 866 ) + ); + $f->integer( + -name => 'deleteOffset', + -value => $g->deleteOffset, + -label => WebGUI::International::get( 863 ) + ); + $f->integer( 'karmaThreshold', WebGUI::International::get( 538 ), $g->karmaThreshold ) if $session{ setting }{ useKarma }; $f->text( - -name=>"ipFilter", - -value=>$g->ipFilter, - -label=>WebGUI::International::get(857) - ); + -name => 'ipFilter', + -value => $g->ipFilter, + -label => WebGUI::International::get( 857 ) + ); $f->submit; - $output .= $f->print; - return _submenu($output); + + return _submenu( helpIcon( 17 ) . '

' . WebGUI::International::get( 87 ) . '

' . $f->print ); } #------------------------------------------------------------------- sub www_editGroupSave { - return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); - my $g = WebGUI::Group->new($session{form}{gid}); - $g->description($session{form}{description}); - $g->name($session{form}{groupName}); - $g->expireOffset(WebGUI::DateTime::intervalToSeconds($session{form}{expireOffset_interval},$session{form}{expireOffset_units})); - $g->karmaThreshold($session{form}{karmaThreshold}); - $g->ipFilter($session{form}{ipFilter}); - $g->expireNotify($session{form}{expireNotify}); - $g->expireNotifyOffset($session{form}{expireNotifyOffset}); - $g->expireNotifyMessage($session{form}{expireNotifyMessage}); - $g->deleteOffset($session{form}{deleteOffset}); - return www_listGroups(); + return WebGUI::Privilege::adminOnly() unless WebGUI::Privilege::isInGroup( 3 ); + my $g = WebGUI::Group->new( $session{ form }{ gid } ); + $g->description( $session{ form }{ description } ); + $g->name( $session{ form }{ groupName } ); + $g->expireOffset( WebGUI::DateTime::intervalToSeconds( $session{ form }{ expireOffset_interval }, $session{ form }{ expireOffset_units } ) ); + $g->karmaThreshold( $session{ form }{ karmaThreshold } ); + $g->ipFilter( $session{ form }{ ipFilter } ); + $g->expireNotify( $session{ form }{ expireNotify } ); + $g->expireNotifyOffset( $session{ form }{ expireNotifyOffset } ); + $g->expireNotifyMessage( $session{ form }{ expireNotifyMessage } ); + $g->deleteOffset( $session{ form }{ deleteOffset } ); + return www_listGroups(); } #------------------------------------------------------------------- sub www_emailGroup { - return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); - my ($output,$f); - $output = '

'.WebGUI::International::get(809).'

'; - $f = WebGUI::HTMLForm->new; - $f->hidden("op","emailGroupSend"); - $f->hidden("gid",$session{form}{gid}); + return WebGUI::Privilege::adminOnly() unless WebGUI::Privilege::isInGroup( 3 ); + + my $f = WebGUI::HTMLForm->new; + $f->hidden( 'op', 'emailGroupSend' ); + $f->hidden( 'gid', $session{ form }{ gid } ); $f->email( - -name=>"from", - -value=>$session{setting}{companyEmail}, - -label=>WebGUI::International::get(811) - ); + -name => 'from', + -value => $session{ setting }{ companyEmail }, + -label => WebGUI::International::get( 811 ) + ); $f->text( - -name=>"subject", - -label=>WebGUI::International::get(229) - ); + -name => 'subject', + -label => WebGUI::International::get( 229 ) + ); $f->textarea( - -name=>"message", - -label=>WebGUI::International::get(230), - -rows=>(5+$session{setting}{textAreaRows}) - ); - $f->submit(WebGUI::International::get(810)); - $output = $f->print; - return _submenu($output); + -name => 'message', + -label => WebGUI::International::get( 230 ), + -rows => ( 5 + $session{ setting }{ textAreaRows } ) + ); + $f->submit( WebGUI::International::get( 810 ) ); + + return _submenu( '

' . WebGUI::International::get( 809 ) . '

' . $f->print ); } #------------------------------------------------------------------- sub www_emailGroupSend { - return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); - my ($sth, $email); - $sth = WebGUI::SQL->read("select b.fieldData from groupings a left join userProfileData b - on a.userId=b.userId and b.fieldName='email' where a.groupId=$session{form}{gid}"); - while (($email) = $sth->array) { - if ($email ne "") { - WebGUI::Mail::send($email,$session{form}{subject},$session{form}{message},'',$session{form}{from}); - } + return WebGUI::Privilege::adminOnly() unless WebGUI::Privilege::isInGroup( 3 ); + + my $sth = WebGUI::SQL->read( "select b.fieldData from groupings a left join userProfileData b + on a.userId=b.userId and b.fieldName='email' where a.groupId=$session{form}{gid}" ); + while ( my ( $email ) = $sth->array ) { + next if $email eq ''; + WebGUI::Mail::send( $email, $session{ form }{ subject }, $session{ form }{ message }, '', $session{ form }{ from } ); } $sth->finish; - return _submenu(WebGUI::International::get(812)); + return _submenu( WebGUI::International::get( 812 ) ); } #------------------------------------------------------------------- sub www_listGroups { - return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); - my ($output, $p, $sth, @data, @row, $i, $userCount); - $output = helpIcon(10); - $output .= '

'.WebGUI::International::get(89).'

'; - $sth = WebGUI::SQL->read("select groupId,groupName,description from groups - where groupId<>1 and groupId<>2 and groupId<>7 order by groupName"); - while (@data = $sth->array) { - $row[$i] = ''; - $row[$i] .= ''.$data[1].''; - $row[$i] .= ''.$data[2].''; - ($userCount) = WebGUI::SQL->quickArray("select count(*) from groupings where groupId=$data[0]"); - $row[$i] .= ''.$userCount.''; - $row[$i] .= ''; - $i++; - } + return WebGUI::Privilege::adminOnly() unless WebGUI::Privilege::isInGroup( 3 ); + + my $sth = WebGUI::SQL->read( 'select groupId,groupName,description from groups + where groupId<>1 and groupId<>2 and groupId<>7 order by groupName' ); + + my @row; + while ( my @data = $sth->array ) { + my ( $userCount ) = WebGUI::SQL->quickArray( "select count(*) from groupings where groupId=$data[0]" ); + push @row, '' + . '' . $data[ 1 ] . '' + . '' . $data[ 2 ] . '' + . '' . $userCount . '' + . ''; + } $sth->finish; - $p = WebGUI::Paginator->new(WebGUI::URL::page('op=listGroups'),\@row); - $output .= ''; - $output .= ''; - $output .= $p->getPage($session{form}{pn}); - $output .= '
'.WebGUI::International::get(84).'' - .WebGUI::International::get(85).'' - .WebGUI::International::get(748).'
'; - $output .= $p->getBarTraditional($session{form}{pn}); - return _submenu($output); + + my $p = WebGUI::Paginator->new( WebGUI::URL::page( 'op=listGroups' ), \@row ); + + my $output = helpIcon( 10 ) + . '

' . WebGUI::International::get( 89 ) . '

' + . '' + . '' + . $p->getPage( $session{ form }{ pn } ) + . '
' . WebGUI::International::get( 84 ) . '' + . WebGUI::International::get( 85 ) . '' + . WebGUI::International::get( 748 ) . '
' + . $p->getBarTraditional( $session{ form }{ pn } ); + return _submenu( $output ); } #------------------------------------------------------------------- sub www_manageGroupsInGroup { - return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); - my ($output, $p, $group, $groups, $f); - $output = '

'.WebGUI::International::get(813).'

'; - $f = WebGUI::HTMLForm->new; - $f->hidden("op","addGroupsToGroupSave"); - $f->hidden("gid",$session{form}{gid}); - $groups = WebGUI::Grouping::getGroupsInGroup($session{form}{gid}); - push(@$groups,$session{form}{gid}); - $f->group( - -name=>"groups", - -excludeGroups=>$groups, - -label=>WebGUI::International::get(605), - -size=>5, - -multiple=>1 - ); - $f->submit; - $output .= $f->print; - $output .= '

'; - $output .= ''; - $p = WebGUI::Paginator->new(WebGUI::URL::page('op=manageGroupsInGroup')); - $p->setDataByQuery("select a.groupName as name,a.groupId as id from groups a + return WebGUI::Privilege::adminOnly() unless WebGUI::Privilege::isInGroup( 3 ); + + my $f = WebGUI::HTMLForm->new; + $f->hidden( 'op', 'addGroupsToGroupSave' ); + $f->hidden( 'gid', $session{ form }{ gid } ); + my $groups = WebGUI::Grouping::getGroupsInGroup( $session{ form }{ gid } ); + push @$groups, $session{ form }{ gid }; + $f->group( + -name => 'groups', + -excludeGroups => $groups, + -label => WebGUI::International::get( 605 ), + -size => 5, + -multiple => 1 + ); + $f->submit; + + my $output = '

' . WebGUI::International::get( 813 ) . '

' + . $f->print . '

'.WebGUI::International::get(84).'
' + . ''; + + my $p = WebGUI::Paginator->new( WebGUI::URL::page( 'op=manageGroupsInGroup' ) ); + $p->setDataByQuery( "select a.groupName as name,a.groupId as id from groups a left join groupGroupings b on a.groupId=b.groupId - where b.inGroup=$session{form}{gid} order by a.groupName"); + where b.inGroup=$session{form}{gid} order by a.groupName" ); $groups = $p->getPageData; - foreach $group (@$groups) { + for my $group ( @$groups ) { $output .= ''; + . deleteIcon( 'op=deleteGroupGrouping&gid=' . $session{ form }{ gid } . '&delete=' . $group->{ id } ) + . ''; } - $output .= '
' . WebGUI::International::get( 84 ) . '
' - .deleteIcon('op=deleteGroupGrouping&gid='.$session{form}{gid}.'&delete='.$group->{id}) - .'' - .$group->{name}.'
' . $group->{ name } . '
'; - $output .= $p->getBarTraditional; - return _submenu($output); + $output .= '' . $p->getBarTraditional; + return _submenu( $output ); } #------------------------------------------------------------------- sub www_manageUsersInGroup { - return WebGUI::Privilege::adminOnly() unless (WebGUI::Privilege::isInGroup(3)); - my ($output, $sth, %hash); - tie %hash, 'Tie::CPHash'; - $output = '

'.WebGUI::International::get(88).'

'; - $output .= ' - - '; - $sth = WebGUI::SQL->read("select users.username,users.userId,groupings.expireDate + return WebGUI::Privilege::adminOnly() unless WebGUI::Privilege::isInGroup( 3 ); + + my $output = '

' . WebGUI::International::get( 88 ) . '

'; + . '
 '.WebGUI::International::get(50).''.WebGUI::International::get(369).'
'; + + my $sth = WebGUI::SQL->read( "select users.username,users.userId,groupings.expireDate from groupings,users where groupings.groupId=$session{form}{gid} and groupings.userId=users.userId - order by users.username"); - while (%hash = $sth->hash) { - $output .= ''; - $output .= ''; - $output .= ''; - } - $sth->finish; - $output .= '
 ' + . WebGUI::International::get( 50 ) . '' + . WebGUI::International::get( 369 ) . '
' - .deleteIcon('op=deleteGrouping&uid='.$hash{userId}.'&gid='.$session{form}{gid}) - .editIcon('op=editGrouping&uid='.$hash{userId}.'&gid='.$session{form}{gid}) - .'' - .$hash{username}.''.epochToHuman($hash{expireDate},"%z").'
'; - return _submenu($output); + order by users.username" ); + + tie my %hash, 'Tie::CPHash'; + while ( %hash = $sth->hash ) { + $output .= '' + . deleteIcon( 'op=deleteGrouping&uid=' . $hash{ userId } . '&gid=' . $session{ form }{ gid } ) + . editIcon( 'op=editGrouping&uid=' . $hash{ userId } . '&gid=' . $session{ form }{ gid } ) + . '' + . '
' + . $hash{ username } . '' + . '' . epochToHuman( $hash{ expireDate }, '%z' ) . ''; + } + $sth->finish; + $output .= ''; + return _submenu( $output ); } - 1; +