package WebGUI::Operation::MessageLog; #------------------------------------------------------------------- # WebGUI is Copyright 2001-2005 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 #------------------------------------------------------------------- use strict qw(vars subs); use URI; use WebGUI::DateTime; use WebGUI::Grouping; use WebGUI::International; use WebGUI::Paginator; use WebGUI::Privilege; use WebGUI::Session; use WebGUI::SQL; use WebGUI::Asset::Template; use WebGUI::URL; use WebGUI::User; use WebGUI::Utility; use WebGUI::Operation::Shared; #------------------------------------------------------------------- sub _status { return {"notice"=>WebGUI::International::get(551),"pending"=>WebGUI::International::get(552),"completed"=>WebGUI::International::get(350)}; } #------------------------------------------------------------------- sub www_viewMessageLog { my (@msg, $vars); return WebGUI::Privilege::insufficient() unless (WebGUI::Grouping::isInGroup(2,$session{user}{userId})); $vars->{displayTitle} = '

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

'; my $p = WebGUI::Paginator->new(WebGUI::URL::page('op=viewMessageLog')); my $query = "select messageLogId,subject,url,dateOfEntry,status from messageLog where userId=".quote($session{user}{userId})." order by dateOfEntry desc"; $p->setDataByQuery($query); $vars->{'message.subject.label'} = WebGUI::International::get(351); $vars->{'message.status.label'} = WebGUI::International::get(553); $vars->{'message.dateOfEntry.label'} = WebGUI::International::get(352); my $messages = $p->getPageData; foreach my $message (@$messages) { my $hash; $hash->{'message.subject'} = ''.$message->{subject}.''; my $status = _status->{$message->{status}}; $status = ''.$status.'' if ($message->{url} ne ""); $hash->{'message.status'} = $status; $hash->{'message.dateOfEntry'} = epochToHuman($message->{dateOfEntry}); push(@msg,$hash); } $vars->{'message.loop'} = \@msg; $vars->{'message.noresults'} = WebGUI::International::get(353) unless (scalar(@$messages) > 0); $vars->{'message.firstPage'} = $p->getFirstPageLink; $vars->{'message.lastPage'} = $p->getLastPageLink; $vars->{'message.nextPage'} = $p->getNextPageLink; $vars->{'message.pageList'} = $p->getPageLinks; $vars->{'message.previousPage'} = $p->getPreviousPageLink; $vars->{'message.multiplePages'} = ($p->getNumberOfPages > 1); $vars->{'message.accountOptions'} = WebGUI::Operation::Shared::accountOptions(); return WebGUI::Operation::Shared::userStyle(WebGUI::Asset::Template->new("PBtmpl0000000000000050")->process($vars)); } #------------------------------------------------------------------- sub www_viewMessageLogMessage { my ($data, $vars); return WebGUI::Privilege::insufficient() unless (WebGUI::Grouping::isInGroup(2,$session{user}{userId})); $vars->{displayTitle} = '

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

'; $data = WebGUI::SQL->quickHashRef("select * from messageLog where messageLogId=".quote($session{form}{mlog})." and userId=".quote($session{user}{userId})); $vars->{'message.subject'} = $data->{subject}; $vars->{'message.dateOfEntry'} = epochToHuman($data->{dateOfEntry}); my $status = _status->{$data->{status}}; if ($data->{url} ne "" && $data->{status} eq 'pending'){ $status = ''.$status.''; $vars->{'message.takeAction'} = ''.WebGUI::International::get(554).'' } $vars->{'message.status'} = $status; unless ($data->{message} =~ /\/ig || $data->{message} =~ /\/ig || $data->{message} =~ /\/ig) { $data->{message} =~ s/\n/\/g; } $vars->{'message.text'} = $data->{message}; $vars->{'message.accountOptions'} = WebGUI::Operation::Shared::accountOptions(); return WebGUI::Operation::Shared::userStyle(WebGUI::Asset::Template->new("PBtmpl0000000000000049")->process($vars)); } 1;