1 |
dpavlin |
6 |
<html> |
2 |
|
|
<head> |
3 |
dpavlin |
7 |
<title>[% IF title %][% title %] -- [% END %]Mail::Box Web Search</title> |
4 |
|
|
</head> |
5 |
dpavlin |
6 |
|
6 |
dpavlin |
11 |
[% MACRO search(fld,text,link_text) BLOCK; %] |
7 |
dpavlin |
14 |
<a href="?search=[% fld %]:[% IF fld == "subject" %][% FILTER subject_search ; text ; END %][% ELSE ; text ; END %]">[% IF link_text ; link_text ; ELSE ; text ; END %]</a> |
8 |
dpavlin |
7 |
[% END %] |
9 |
|
|
|
10 |
dpavlin |
12 |
[% MACRO option(var, value, text) BLOCK %] |
11 |
|
|
<option value="[% value %]"[% IF value == param.search_fld %] selected[% END %]>[% text %]</option> |
12 |
|
|
[% END %] |
13 |
|
|
|
14 |
dpavlin |
13 |
[% MACRO from(message) BLOCK %] |
15 |
|
|
<span class="from"> |
16 |
|
|
[% FOREACH f IN message.from %] |
17 |
|
|
[% search('from_phrase',f) %][% IF !loop.last %],[% END %] |
18 |
|
|
[% END %] |
19 |
|
|
</span> |
20 |
|
|
[% END %] |
21 |
|
|
|
22 |
|
|
[% MACRO to(message) BLOCK %] |
23 |
dpavlin |
16 |
[% IF message.to.size %] |
24 |
|
|
<span class="to">To: |
25 |
dpavlin |
13 |
[% FOREACH f IN message.to %] |
26 |
|
|
[% search('to_phrase',f) %][% IF !loop.last %], [% END %] |
27 |
|
|
[% END %] |
28 |
dpavlin |
16 |
</span> |
29 |
|
|
[% END %] |
30 |
|
|
[% IF message.cc.size %] |
31 |
|
|
<span class="cc">Cc: |
32 |
dpavlin |
13 |
[% FOREACH f IN message.cc %] |
33 |
|
|
[% search('cc_phrase',f) %][% IF !loop.last %], [% END %] |
34 |
|
|
[% END %] |
35 |
dpavlin |
16 |
</span> |
36 |
|
|
[% END %] |
37 |
|
|
[% IF message.bcc.size %] |
38 |
|
|
<span class="bcc">Bcc: |
39 |
dpavlin |
13 |
[% FOREACH f IN message.bcc %] |
40 |
dpavlin |
14 |
[% IF loop.fist %]Bcc [% END %] |
41 |
|
|
[% search('bcc_phrase',f) %][% IF !loop.last %], [% END %] |
42 |
dpavlin |
13 |
[% END %] |
43 |
|
|
</span> |
44 |
|
|
[% END %] |
45 |
dpavlin |
16 |
[% END %] |
46 |
dpavlin |
13 |
|
47 |
|
|
[% MACRO date(msg) BLOCK %] |
48 |
|
|
<span class="date">[% msg.date %]</span> |
49 |
|
|
[% END %] |
50 |
|
|
|
51 |
dpavlin |
19 |
[% MACRO usage_list(list,key,description) BLOCK %] |
52 |
|
|
[% IF list %] |
53 |
|
|
<div class="[% key %]"> |
54 |
|
|
[% description %] |
55 |
|
|
[% FOREACH l IN list %] |
56 |
|
|
<br><a href="?search=from_phrase:[% l.name %]">[% l.name %]</a> <span class="counter">[% l.usage %]</span> |
57 |
|
|
[% END %] |
58 |
|
|
</div> |
59 |
|
|
[% END %] |
60 |
|
|
[% END %] |
61 |
|
|
|
62 |
dpavlin |
6 |
<body> |
63 |
|
|
|
64 |
dpavlin |
12 |
<table border="0" width="100%"> |
65 |
|
|
<tr> |
66 |
|
|
<td colspan="2"> |
67 |
|
|
|
68 |
|
|
<form> |
69 |
|
|
Search |
70 |
|
|
<select name="search_fld"> |
71 |
dpavlin |
14 |
[% option("search_fld","message","anywhere") %] |
72 |
dpavlin |
12 |
[% option("search_fld","subject","message subject") %] |
73 |
|
|
[% option("search_fld","body","message text") %] |
74 |
|
|
[% option("search_fld","from_phrase","sender name") %] |
75 |
|
|
[% option("search_fld","from_address","sender address") %] |
76 |
dpavlin |
13 |
[% option("search_fld","to_phrase","recipient name") %] |
77 |
|
|
[% option("search_fld","to_address","recipient address") %] |
78 |
dpavlin |
16 |
[% option("search_fld","cc_phrase","also to name") %] |
79 |
|
|
[% option("search_fld","bcc_phrase","sneek to name") %] |
80 |
dpavlin |
12 |
</select> |
81 |
|
|
<input type="text" name="search_val" size=20 value="[% param.search_val %]"> |
82 |
|
|
</select> |
83 |
dpavlin |
16 |
<input type="submit" name="submit" value="Go!"> |
84 |
dpavlin |
12 |
</form> |
85 |
|
|
|
86 |
|
|
</td> |
87 |
|
|
</tr> |
88 |
|
|
|
89 |
|
|
<tr> |
90 |
dpavlin |
13 |
<td valign="top" width="90%"> |
91 |
dpavlin |
12 |
|
92 |
dpavlin |
7 |
[% IF results %] |
93 |
|
|
[% INCLUDE results.html %] |
94 |
|
|
[% ELSIF message %] |
95 |
|
|
[% INCLUDE message.html %] |
96 |
|
|
[% END %] |
97 |
dpavlin |
6 |
|
98 |
dpavlin |
12 |
</td> |
99 |
|
|
<td valign="top"> |
100 |
|
|
|
101 |
dpavlin |
20 |
[% USE cal = Calendar.Simple(mm,yyyy) %] |
102 |
dpavlin |
12 |
|
103 |
dpavlin |
20 |
[% PERL %] |
104 |
|
|
$stash->set( get_cal => sub { |
105 |
|
|
my $cal = shift; |
106 |
|
|
my $yyyy = shift || return "BUG2"; |
107 |
|
|
my $mm = shift || return "BUG3"; |
108 |
|
|
my $day = shift || return " "; |
109 |
|
|
|
110 |
|
|
return $day if (! $cal); # no calendar entries |
111 |
|
|
|
112 |
|
|
my $yyyymm = sprintf("%04d-%02d",$yyyy,$mm); |
113 |
|
|
my $dd = sprintf("%02d",$day); |
114 |
|
|
|
115 |
|
|
if ($cal->{$yyyymm}->{$dd}) { |
116 |
|
|
return "<a href=\"/$yyyy/$mm/$dd/\" title=\"".$cal->{$yyyymm}->{$dd}."\">$day</a>"; |
117 |
|
|
} else { |
118 |
|
|
return $day; |
119 |
|
|
} |
120 |
|
|
} ); |
121 |
|
|
[% END %] |
122 |
|
|
|
123 |
dpavlin |
12 |
<table border="0"> |
124 |
dpavlin |
20 |
<tr><th colspan="7"><a href="/[% yyyy ; "/" ; mm %]/">[% yyyy ; "-" ; mm %]</a></th></tr> |
125 |
dpavlin |
12 |
[% FOREACH row = cal.rows %] |
126 |
|
|
<tr> |
127 |
|
|
[% FOREACH col = row %] |
128 |
dpavlin |
20 |
<td align="right">[% get_cal(calendar,yyyy,mm,col) %]</td> |
129 |
dpavlin |
12 |
[% END %] |
130 |
|
|
</tr> |
131 |
|
|
[% END %] |
132 |
|
|
</table> |
133 |
|
|
|
134 |
|
|
<br> |
135 |
|
|
Thread |
136 |
|
|
|
137 |
dpavlin |
19 |
[% usage_list(counters.from,'from','From') %] |
138 |
dpavlin |
12 |
|
139 |
dpavlin |
19 |
[% usage_list(counters.to,'to','To') %] |
140 |
dpavlin |
12 |
|
141 |
dpavlin |
19 |
[% usage_list(counters.cc,'cc','Cc') %] |
142 |
|
|
|
143 |
dpavlin |
12 |
<br> |
144 |
|
|
Lists |
145 |
|
|
|
146 |
|
|
<br> |
147 |
|
|
Links |
148 |
|
|
|
149 |
|
|
<br> |
150 |
dpavlin |
20 |
[% USE dumper ; dumper.dump(calendar) %] |
151 |
dpavlin |
12 |
|
152 |
|
|
</td> |
153 |
|
|
|
154 |
|
|
</tr> |
155 |
|
|
|
156 |
|
|
|
157 |
|
|
</table> |
158 |
|
|
|
159 |
dpavlin |
6 |
</body> |