# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
#**************************************************************************/
-package ND::Web::Pages::Mail;
+package NDWeb::Pages::Mail;
use strict;
use warnings FATAL => 'all';
use CGI qw/:standard/;
use Mail::Sendmail;
-use ND::Web::Forum;
-use ND::Web::Include;
+use NDWeb::Forum;
+use NDWeb::Include;
-use base qw/ND::Web::XMLPage/;
+use base qw/NDWeb::XMLPage/;
-$ND::Web::Page::PAGES{mail} = __PACKAGE__;
+$NDWeb::Page::PAGES{mail} = __PACKAGE__;
sub render_body {
my $self = shift;
return $self->noAccess unless $self->isHC;
- my $groups = $DBH->prepare(q{SELECT gid,groupname FROM groups ORDER BY gid});
+ my $groups = $DBH->prepare(q{SELECT gid,groupname FROM groups WHERE gid > 0 ORDER BY gid});
$groups->execute;
my @groups;
+ push @groups,{gid => -1, groupname => 'Pick a group'};
while (my $group = $groups->fetchrow_hashref){
push @groups,$group;
}
$BODY->param(Groups => \@groups);
- if (defined param('cmd')){
- my $emails = $DBH->prepare(q{SELECT email FROM users WHERE (uid IN (SELECT uid FROM groupmembers WHERE gid = $1) OR $1 = -1) AND email is not null});
+ if (defined param('cmd') && param('group') > 0){
+ my $emails = $DBH->prepare(q{SELECT email FROM users
+ WHERE uid IN (SELECT uid FROM groupmembers WHERE gid = $1)
+ AND email is not null});
$emails->execute(param('group'));
my @emails;
while (my $email = $emails->fetchrow_hashref){
}else {
$ND::ERROR .= p $Mail::Sendmail::error;
}
+ }elsif(defined param('message')) {
+ $BODY->param(Subject => param('subject'));
+ $BODY->param(Message => param('message'));
}
return $BODY;
}