1 |
<html> |
<html> |
2 |
<head> |
<head> |
3 |
<title>[% IF title %][% title %] -- [% END %]Mail::Box Web Search</title> |
<title>[% IF title %][% title %] -- [% END %]Mail::Box Web Search</title> |
4 |
|
<link rel="StyleSheet" type="text/css" href="/style.css"> |
5 |
</head> |
</head> |
6 |
|
|
7 |
[% MACRO search(fld,text,link_text) BLOCK; %] |
[% PROCESS macros.tt2 %] |
|
<a href="?search=[% fld %]:[% IF fld == "subject" %][% FILTER subject_search ; text ; END %][% ELSE ; text ; END %]">[% IF link_text ; link_text ; ELSE ; text ; END %]</a> |
|
|
[% END %] |
|
|
|
|
|
[% MACRO option(var, value, text) BLOCK %] |
|
|
<option value="[% value %]"[% IF value == param.search_fld %] selected[% END %]>[% text %]</option> |
|
|
[% END %] |
|
|
|
|
|
[% MACRO from(message) BLOCK %] |
|
|
<span class="from"> |
|
|
[% FOREACH f IN message.from %] |
|
|
[% search('from_phrase',f) %][% IF !loop.last %],[% END %] |
|
|
[% END %] |
|
|
</span> |
|
|
[% END %] |
|
|
|
|
|
[% MACRO to(message) BLOCK %] |
|
|
[% IF message.to.size %] |
|
|
<span class="to">To: |
|
|
[% FOREACH f IN message.to %] |
|
|
[% search('to_phrase',f) %][% IF !loop.last %], [% END %] |
|
|
[% END %] |
|
|
</span> |
|
|
[% END %] |
|
|
[% IF message.cc.size %] |
|
|
<span class="cc">Cc: |
|
|
[% FOREACH f IN message.cc %] |
|
|
[% search('cc_phrase',f) %][% IF !loop.last %], [% END %] |
|
|
[% END %] |
|
|
</span> |
|
|
[% END %] |
|
|
[% IF message.bcc.size %] |
|
|
<span class="bcc">Bcc: |
|
|
[% FOREACH f IN message.bcc %] |
|
|
[% IF loop.fist %]Bcc [% END %] |
|
|
[% search('bcc_phrase',f) %][% IF !loop.last %], [% END %] |
|
|
[% END %] |
|
|
</span> |
|
|
[% END %] |
|
|
[% END %] |
|
|
|
|
|
[% MACRO date(msg) BLOCK %] |
|
|
<span class="date">[% msg.date %]</span> |
|
|
[% END %] |
|
|
|
|
|
[% MACRO usage_list(list,key,description) BLOCK %] |
|
|
[% IF list %] |
|
|
<div class="[% key %]"> |
|
|
[% description %] |
|
|
[% FOREACH l IN list %] |
|
|
<br><a href="?search=from_phrase:[% l.name %]">[% l.name %]</a> <span class="counter">[% l.usage %]</span> |
|
|
[% END %] |
|
|
</div> |
|
|
[% END %] |
|
|
[% END %] |
|
8 |
|
|
9 |
<body> |
<body> |
10 |
|
|
13 |
<td colspan="2"> |
<td colspan="2"> |
14 |
|
|
15 |
<form> |
<form> |
16 |
|
<a href="/">#</a> |
17 |
Search |
Search |
18 |
<select name="search_fld"> |
<select name="search_fld"> |
19 |
[% option("search_fld","message","anywhere") %] |
[% option("search_fld","message","anywhere") %] |
48 |
|
|
49 |
[% USE cal = Calendar.Simple(mm,yyyy) %] |
[% USE cal = Calendar.Simple(mm,yyyy) %] |
50 |
|
|
|
[% PERL %] |
|
|
$stash->set( get_cal => sub { |
|
|
my $cal = shift; |
|
|
my $yyyy = shift || return "BUG2"; |
|
|
my $mm = shift || return "BUG3"; |
|
|
my $day = shift || return " "; |
|
|
|
|
|
return $day if (! $cal); # no calendar entries |
|
|
|
|
|
my $yyyymm = sprintf("%04d-%02d",$yyyy,$mm); |
|
|
my $dd = sprintf("%02d",$day); |
|
|
|
|
|
if ($cal->{$yyyymm}->{$dd}) { |
|
|
return "<a href=\"/$yyyy/$mm/$dd/\" title=\"".$cal->{$yyyymm}->{$dd}."\">$day</a>"; |
|
|
} else { |
|
|
return $day; |
|
|
} |
|
|
} ); |
|
|
[% END %] |
|
|
|
|
51 |
<table border="0"> |
<table border="0"> |
52 |
<tr><th colspan="7"><a href="/[% yyyy ; "/" ; mm %]/">[% yyyy ; "-" ; mm %]</a></th></tr> |
<tr><th class="calendar" colspan="7"> |
53 |
|
<a href="/[% yyyy ; "/" %]/[% url_search %]">[% yyyy %]</a>-<a href="/[% yyyy ; "/" ; mm %]/[% url_search %]">[% mm %]</a> |
54 |
|
</th></tr> |
55 |
[% FOREACH row = cal.rows %] |
[% FOREACH row = cal.rows %] |
56 |
<tr> |
<tr> |
57 |
[% FOREACH col = row %] |
[% FOREACH col = row %] |
58 |
<td align="right">[% get_cal(calendar,yyyy,mm,col) %]</td> |
<td class="calendar" align="right">[% get_cal(calendar,yyyy,mm,col,url_search) %]</td> |
59 |
[% END %] |
[% END %] |
60 |
</tr> |
</tr> |
61 |
[% END %] |
[% END %] |
62 |
</table> |
</table> |
63 |
|
|
64 |
<br> |
<!-- |
65 |
Thread |
Thread |
66 |
|
--> |
67 |
|
|
68 |
[% usage_list(counters.from,'from','From') %] |
[% usage_list(counters.from,'from','From') %] |
69 |
|
|
71 |
|
|
72 |
[% usage_list(counters.cc,'cc','Cc') %] |
[% usage_list(counters.cc,'cc','Cc') %] |
73 |
|
|
74 |
<br> |
<!-- |
75 |
Lists |
Lists |
|
|
|
|
<br> |
|
76 |
Links |
Links |
77 |
|
|
78 |
<br> |
[% USE dumper ; dumper.dump(param.sort_by, param.search) %] |
79 |
[% USE dumper ; dumper.dump(calendar) %] |
--> |
80 |
|
|
81 |
</td> |
</td> |
82 |
|
|