From e9192b3d42660a5781101df4357d276318151e8a Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 2 Aug 2013 17:14:41 -0500 Subject: cgi-bin & lib --- lib/message.pm | 195 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 lib/message.pm (limited to 'lib/message.pm') diff --git a/lib/message.pm b/lib/message.pm new file mode 100644 index 0000000..4dad0d6 --- /dev/null +++ b/lib/message.pm @@ -0,0 +1,195 @@ +sub send_message + { + my ($message) = @_; + new_message("$sender.outbox", $message); + new_message("$recipient.inbox", $message); + } + +sub display_message + { + my $message = shift; + my $image = get_profile_image($message->{sender}, $AVATAR_MED_PREFIX); + print qq!
!; + print qq!!; + print qq!]; + + print qq["; + + print qq["; + + my ($tddate, $tdtime) = verbosedatetime($m->{date}); + print qq["; + print qq["; + + print qq["; + + print qq[]; + + print qq[\n]; + } + +# sort methods +# title, date, size, files, username + +sub get_sort_method + { + my ($s, $o) = @_; + + if ($o eq "a") + { + if ($s eq "t") { return \&sort_by_subject; } + elsif ($s eq "s") { return \&sort_by_sender; } + elsif ($s eq "d") { return \&sort_by_date; } + } + elsif ($o eq "d") + { + if ($s eq "t") { return \&rsort_by_subject; } + elsif ($s eq "s") { return \&rsort_by_sender; } + elsif ($s eq "d") { return \&rsort_by_date; } + } + else + { return \&rsort_by_date; } + } + +sub sort_by_subject { sort { uc($a->{subject}) cmp uc($b->{subject}) } @_; } +sub rsort_by_subject { sort { uc($b->{subject}) cmp uc($a->{subject}) } @_; } +sub sort_by_date { sort { $a->{date} <=> $b->{date} } @_; } +sub rsort_by_date { sort { $b->{date} <=> $a->{date} } @_; } +sub sort_by_sender { sort { uc($a->{sender}) cmp uc($b->{sender}) } @_; } +sub rsort_by_sender { sort { uc($b->{sender}) cmp uc($a->{sender}) } @_; } + + +1; + + -- cgit v1.2.3-70-g09d2
!; + + print qq(); + print qq(); + if ($image != -1) + { + print qq(); + } + + print qq!!; + print qq!!; + + print qq!!; + + print qq!!; + + print qq!!; + + print qq!!; + print qq!
); + print qq(); + print qq(); + print qq(); + print qq(!; + print qq!$message->{subject}!; + print qq!
!; + print qq!!; + print qq!sent by $message->{sender} !; + print qq!on !.(verbosedate($message->{date})); +# print qq! (!.get_age($message->{date}).qq! ago)!; + print qq!
!; + print qq!
!; + print qq!
\n!; + print linebr($message->{body}); + print qq!
!; + print qq!
!; + print qq!
!; + print qq!!; + if ($message->{mbox} =~ /drafts/) + { + print qq{[edit] }; + } + else + { + print qq{[reply] }; + } + print qq![delete]!; + print qq!!; + print qq!
!; + print qq!!; + } + +sub message_list + { + my ($messages, $box) = @_; + my $r = 0; + + if ($DEBUG) + { + print qq!Printing message list. Message ids:!; + for (my $i = 0; $i < @$messages; $i++) + { print $messages->[$i]->{id}." "; } + print qq!

\n\n!; + } + + if ($messages == -1) + { + print qq[
No messages in this mailbox!]; + return; + } + + print qq!!; + + foreach my $message (@$messages) + { + display_message_row($message, $box, $r); + $r = $r ? 0 : 1; + } + + print "
\n\n"; + } + +sub display_message_row + { + my ($m, $box, $r) = @_; + my $color = carbondate($m->{date}); + + if ($DEBUG) + { + print qq!Displaying message $m->{id}\n!; + } + + print qq[

 ]; + print ""; + if ($m->{sender} eq "system") + { + print qq(system); + } + elsif ($m->{sender} eq $USER->{username}) + { + print qq[to $m->{recipient}]; + } + else + { + print qq[$$m{sender}]; + } + print qq[ · ]; + print ""; + print "]; + print qq[]; + if ($$m{unread}) + { print qq[$m->{subject}]; } + else + { print qq[$m->{subject}]; } + print qq[]; + print "]; + print qq[$tddate ]; + print "]; + print qq[$tdtime]; + print "]; + print qq[].hushsize($m->{size},.0000001,1).qq[]; + print "]; + if ($box =~ /drafts/) + { + print qq{[edit] }; + } + else + { + print qq{[reply] }; + } + print qq{[delete]}; + print qq[