Skip to Content.
Sympa Menu

devel - [sympa-dev] Sympa archives improvement proposal

Subject: Developers of Sympa

List archive

Chronological Thread  
  • From: Mathieu Peltier <address@concealed>
  • To: address@concealed
  • Subject: [sympa-dev] Sympa archives improvement proposal
  • Date: Wed, 1 Dec 2004 01:09:57 +0100

Hi,

Could you please review the 2 attached patchs (made from latest CVS
development branch)?

Changelog:
- mhonarc-ressources.tt2
- code cleaning
- fixed some HTML 4 conformance bugs
- fixed some presentation inconsistencies
- replaced "Reference and followup" at the end of message by TSLICE
thread that is much more intuitive in my opinion.
- do not display the following message header: thread-*, User-agent,
references, reply-to, User-agent, Mail-followup-to

As the diff is huge due to code reorganization, I have uploaded the
results for a sample list at:
people.objectweb.org/~mpeltier/sympa/new-mhonarc-resources/mail1.html
people.objectweb.org/~mpeltier/sympa/new-mhonarc-resources/thrd1.html
people.objectweb.org/~mpeltier/sympa/new-mhonarc-resources/msg00004-nojs.html
people.objectweb.org/~mpeltier/sympa/new-mhonarc-resources/msg00004.html
(original files can be found at:
people.objectweb.org/~mpeltier/sympa/old-mhonarc-resources/mail1.html
people.objectweb.org/~mpeltier/sympa/old-mhonarc-resources/thrd1.html
people.objectweb.org/~mpeltier/sympa/old-mhonarc-resources/msg00004.html)

- wwsympa.fcgi
- Modified page title for archive message into "<listname> -
<message title>" instead of "<listname> - <list subject>" which
should help people that want to search into public archive with an
external search engine (eg Google).

In my opinion, the ability to produice archive that can be easily referenced
by external search engines is *very* important for visibility purpose (for
public mailing list of course). Also the search engine that comes with Sympa
is not very powerfull in comparaison of search engines like Google or even
ht://Dig. The subject is retrieved thanks to X-Subject tag at the beginning
of the file produced by mhonarc (the message file has to be opened). Do you
think this solution is ok?

- added <noscript></noscript> tags when JavaScript email protection
is on.

BTW, the Javascript protection is not very powerfull because the
emails still appear in plain text. I think a more sophisticated script
should be used (eg: http://www.jottings.com/obfuscator.htm). What do
you think?

hope this helps,

--
Mathieu Peltier
mathieu.peltier at laposte.net
--- mhonarc-ressources.tt2	2004-11-30 22:43:28.000000000 +0100
+++ mhonarc-ressources.tt2.new	2004-11-30 23:01:05.000000000 +0100
@@ -1,4 +1,42 @@
-
+<!-- ============================================================== -->
+<!--    Variable definitions                                        -->
+<!-- ============================================================== -->
+
+<!--
+User defined variables are defined by the DEFINEVAR element. The first
+line is the name of the variable and subsequent lines to the close tag
+are the value of the variable.
+
+User defined variables are extremely useful when the same layout
+information occurs in multiple places. It also help centralize
+information that maybe likely to change. User defined variables can
+reference other variables.
+-->
+
+<DefineVar>
+SELECTED_MONTH
+<P><FONT COLOR="(-% dark_color %-)" SIZE="+1"><STRONG>
+(-% IF lang == 'fr' %-)
+$mois$/$yyyy$
+(-% ELSE %-)
+$yyyy$/$mois$
+(-% END %-)
+</STRONG></FONT><BR>
+<HR width="30%">
+</P>
+</DefineVar>
+
+<DefineVar>
+POWERED_BY
+<HR SIZE="1" NOSHADE>
+<P><FONT SIZE="-1" COLOR="(-% dark_color %-)">
+(-%|loc%-)Archive powered by(-%END%-) <A HREF="$DOCURL$">MhonArc $VERSION$</A>.
+</FONT></P>
+</DefineVar>
+
+<!-- ============================================================== -->
+<!--    MIME Resources                                              -->
+<!-- ============================================================== -->
 
 <DECODEHEADS>
 
@@ -7,17 +45,46 @@
 text/html; asis=us-ascii:iso-8859-1:iso-8859-2
 </MIMEARGS>
 
+<CHARSETALIASES>
+big5; big5
+big5; big5-eten
+</CHARSETALIASES>
+
+<!--
+<TextEncode>
+utf-8; MHonArc::UTF8::to_utf8; MHonArc/UTF8.pm
+</TextEncode>
+-->
+
+<-- With data translated to UTF-8, it simplifies CHARSETCONVERTERS -->
+<CharsetConverters override>
+default; mhonarc::htmlize
+</CharsetConverters>
+
+<-- Need to also register UTF-8-aware text clipping function -->
+<TextClipFunc>
+MHonArc::UTF8::clip; MHonArc/UTF8.pm
+</TextClipFunc>
+
+<!-- ============================================================== -->
+<!--    Options                                                     -->
+<!-- ============================================================== -->
+
+<!--
+It is good to be explicit when possible since a default resource file,
+and/or environment variables, may be in affect.
+-->
 
 <NOMAILTO>
 <MULTIPG>
+<NODOC>
+<SORT>
+<NOFOLREFS>
 
 <IDXSIZE>
 30
 </IDXSIZE>
 
-<NODOC>
-<Sort>
-
 <!-- should not be changed -->
 <IDXFNAME>
 mail1.html
@@ -28,348 +95,336 @@
 thrd1.html
 </TIDXFNAME>
 
-<!-- =============== Index page description -->
+<!-- ============================================================== -->
+<!--    Main index resources                                        -->
+<!-- ============================================================== -->
+
+<!--
+IDXPGSSMARKUP
+IDXPGBEGIN
+    LISTBEGIN
+        (AUTHORBEGIN |
+         DAYBEGIN |
+         SUBJECTBEGIN)?
+        LITEMPLATE+
+        (AUTHOREND |
+         DAYEND |
+         SUBJECTEND)?
+     LISTEND
+    DOC?
+IDXPGEND
+-->
 
 <!--  mail1.html -->
 <IDXPGBEGIN>
 [%TAGS (-% %-) %]
 <CENTER>
-<P>
-<FONT COLOR="(-% dark_color %-)" SIZE=+1><B>$mois$ $yyyy$</B></FONT>
-<HR WIDTH=30%>
-
-<TABLE CELLPADDING="2" CELLSPACING="2" WIDTH="100%" BORDER="0"><TR ALIGN=center BGCOLOR="(-% dark_color %-)"><TD>
-  <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="2">
-<TR ALIGN=CENTER VALIGN=MIDDLE>
-
-$PREVPGLINK$
-<TD  NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="CENTER"><b>$NUMOFMSG$ 
-(-%|loc($PAGENUM$,$NUMOFPAGES$)%-)mails, page # %1/%2(-%END%-)
-</B></TD>
-$NEXTPGLINK$
-
+$SELECTED_MONTH$
+<TABLE CELLPADDING="2" CELLSPACING="2" WIDTH="100%" BORDER="0">
+<TR ALIGN="CENTER" BGCOLOR="(-% dark_color %-)">
+<TD>
+<!-- begin header -->
+<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="2">
+<TR ALIGN="CENTER" VALIGN="MIDDLE">
+<TD NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="CENTER">
+$PREVPGLINK$&nbsp;&nbsp;
+<FONT SIZE="-1" FACE="Arial,Helvetica"><STRONG>$NUMOFMSG$ (-%|loc($PAGENUM$,$NUMOFPAGES$)%-)mails, page # %1/%2(-%END%-)</STRONG></FONT>
+&nbsp;&nbsp;$NEXTPGLINK$
 </TD>
-
-<TD NOWRAP BGCOLOR="(-% light_color %-)" ALIGN=CENTER>
-
-<FONT COLOR="(-% bg_color %-)" SIZE="-1"><b>
+<TD NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="CENTER">
+<FONT COLOR="(-% bg_color %-)" SIZE="-1"><STRONG>
 (-%|loc%-)Chronological(-%END%-)
-</b></FONT>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-<A HREF="thrd$PAGENUM$.html" STYLE="TEXT-DECORATION: NONE"><FONT size=-1>
-<B>(-%|loc%-)Thread(-%END%-)</B>
-</FONT></A>
-</TD></TR></TABLE>
-</TD></TR></TABLE>
-
+</STRONG></FONT>
+&nbsp;&nbsp;
+<FONT SIZE="-1"><STRONG><A HREF="thrd$PAGENUM$.html" STYLE="text-decoration: none">
+(-%|loc%-)Thread(-%END%-)
+</A></STRONG></FONT>
+</TD>
+</TR>
+</TABLE>
+<!-- end header -->
+</TD>
+</TR>
+</TABLE>
 </CENTER>
-
 </IDXPGBEGIN>
 
-<!--  maillist.html bottom -->
-<IDXPGEND>
-<HR>
-<P>
-<font size=-1 color="(-% dark_color %-)">
-(-%|loc%-)Archive powered by(-%END%-)
- <A HREF="$DOCURL$">MhonArc $VERSION$ </A>.
-(-%TAGS [% %]%-)
-</IDXPGEND>
-
 <!-- top of message list -->
-<ListBegin>
-<ul>
+<LISTBEGIN>
+<UL>
 </LISTBEGIN>
 
+<!-- item of maillist.html -->
+<LITEMPLATE>
+<LI><b>$SUBJECT$</b>, <EM>$FROMNAME$</EM></LI>
+</LITEMPLATE> 
+
 <!-- bottom of message list -->
 <LISTEND>
-</ul>
+</UL>
 </LISTEND>  
 
+<!--  maillist.html bottom -->
+<IDXPGEND>
+$POWERED_BY$
+(-%TAGS [% %]%-)
+</IDXPGEND>
+
+<!-- links definition -->
+<PrevPgLink chop>
+<FONT SIZE="-1" FACE="Arial,Helvetica" COLOR="(-% dark_color %-)"><A HREF="$FIRSTPG$"><IMG SRC="(-% icons_url %-)/begin.png" ALT="First" HEIGHT="20" BORDER="0" ALIGN="middle"></A>&nbsp;&nbsp;<A HREF="$PREVPG$"><IMG SRC="(-% icons_url %-)/left.png" ALT="Previous" HEIGHT="20" BORDER="0" ALIGN="middle"></A></FONT>
+</PrevPgLink>
 
-<!-- item of maillist.html -->
-<LITEMPLATE>
-<LI><b> $SUBJECT$ </b> <code>$FROMNAME$</code>
-</LITEMPLATE> 
+<PrevPgLinkIA chop>
+&nbsp;&nbsp;
+</PrevPgLinkIA>
 
+<NextPgLink chop>
+<FONT SIZE="-1" FACE="Arial,Helvetica" COLOR="(-% dark_color %-)"><A HREF="$NEXTPG$"><IMG SRC="(-% icons_url %-)/right.png" ALT="Next" HEIGHT="20" BORDER="0" ALIGN="center"></A>&nbsp;&nbsp;<A HREF="$LASTPG$"><IMG SRC="(-% icons_url %-)/end.png" ALT="Last" HEIGHT="20" BORDER="0" ALIGN="middle"></A></FONT>
+</NextPgLink>
 
-<!--threads index -->
+<NextPgLinkIA chop>
+&nbsp;&nbsp;
+</NextPgLinkIA>
 
+<!-- ============================================================== -->
+<!--    Thread index resources                                      -->
+<!-- ============================================================== -->
+
+<!--
+TIDXPGSSMARKUP
+TIDXPGBEGIN
+    THEAD
+        ((TTOPBEGIN
+            TSUBLISTBEG
+                ((TLITXT
+                    [possible subthread listing]
+                  TLIEND)|
+                (TLINONE
+                    [possible subthread listing]
+                 TLINONEEND))+
+            (TSUBJECTBEG
+                ((TLITXT
+                    [possible subthread listing]
+                  TLIEND)|
+                (TLINONE
+                    [possible subthread listing]
+                 TLINONEEND))+
+             TSUBJECTEND)?
+            TSUBLISTEND
+          TTOPEND)
+         |
+         TSINGLETXT)* [message w/o references or follow-ups]
+    TFOOT
+    DOC?
+TIDXPGEND
+-->
 
 <!-- top of thread index -->
 <TIDXPGBEGIN>
 [%TAGS (-% %-) %]
 </TIDXPGBEGIN>
 
-<!-- bottom of threads index -->
-
-<TIDXPGEND>
-
-<font size=-1 color="(-% dark_color %-)">
-(-%|loc%-)Archive powered by(-%END%-)
- <A HREF="$DOCURL$">MhonArc $VERSION$ </A>.
-(-%TAGS [% %]%-)
-</TIDXPGEND>
-
 <THEAD>
-
-<center>
-
-<font color="(-% dark_color %-)" size=+1><b>$mois$ $yyyy$</b></font>
-<HR width=30%>
-
-<TABLE CELLPADDING="2" CELLSPACING="2" WIDTH="100%" BORDER="0"><TR ALIGN=center BGCOLOR="(-% dark_color %-)"><TD>
-  <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="2">
-<TR ALIGN=CENTER VALIGN=MIDDLE>
-
-$TPREVPGLINK$
-<TD  NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="CENTER">(-%|loc('$PAGENUM$','$NUMOFPAGES$')%-)page n&#176; %1/%2(-%END%-)</TD>
-$TNEXTPGLINK$
-
-<td NOWRAP BGCOLOR="(-% light_color %-)" align="center">
-<A HREF="mail$PAGENUM$.html" STYLE="TEXT-DECORATION: NONE">
-<font size=-1><b>
+<CENTER>
+$SELECTED_MONTH$
+<TABLE CELLPADDING="2" CELLSPACING="2" WIDTH="100%" BORDER="0">
+<TR ALIGN="center" BGCOLOR="(-% dark_color %-)">
+<TD>
+<!-- begin header -->
+<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="2">
+<TR ALIGN="center" VALIGN="middle">
+<TD NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center">
+$TPREVPGLINK$&nbsp;&nbsp;
+<FONT SIZE="-1" FACE="Arial,Helvetica"><STRONG>$NUMOFMSG$ (-%|loc($PAGENUM$,$NUMOFPAGES$)%-)mails, page # %1/%2(-%END%-)</STRONG></FONT>
+&nbsp;&nbsp;$TNEXTPGLINK$
+</TD>
+<td NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center">
+<FONT SIZE="-1"><STRONG><A HREF="mail$PAGENUM$.html" STYLE="TEXT-DECORATION: NONE">
 (-%|loc%-)Chronological(-%END%-)
-</B></FONT></A>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-
-<FONT COLOR="(-% bg_color %-)" SIZE="-1">
-<b>
+</A></STRONG></FONT>
+&nbsp;&nbsp;
+<FONT COLOR="(-% bg_color %-)" SIZE="-1"><STRONG>
 (-%|loc%-)Thread(-%END%-)
-</b></FONT>
-
-</TD></TR></TABLE>
-</TD></TR></TABLE>
+</STRONG></FONT>
+</TD>
+</TR>
+</TABLE>
+<!-- end header -->
+</TD>
+</TR>
+</TABLE>
 </CENTER>
 
 <UL>
 </THEAD>
 
-<TFOOT>
-</UL>
-<HR>
-
-</TFOOT>
-
 <TTOPBEGIN>
-<LI><b> $SUBJECT$ </b> <code>$FROMNAME$</code><BR>
+<LI><b>$SUBJECT$</b>, <EM>$FROMNAME$</EM><BR>
 </TTOPBEGIN>
 
 <TTOPEND>
 </LI>
 </TTOPEND>
 
-
-<TCONTBEGIN>
-<LI><STRONG>$SUBJECTNA$</STRONG>, <EM>
-(-%|loc%-)next(-%END%-)
-</em>
-</TCONTBEGIN>
-
-<TCONTEND>
-</LI>
-</TCONTEND>
-
-<TSUBLISTBEG>
-<UL>
-</TSUBLISTBEG>
-
-<TSUBLISTEND>
+<TFOOT>
 </UL>
-</TSUBLISTEND>
-
-<TSUBJECTBEG>
-<!-- suite possible evaluee sur la base du sujet -->
-</TSUBJECTBEG>
-
-<TSINGLETXT>
-<LI><b> $SUBJECT$ </b><code>$FROMNAME$</code>
-</LI>
-</TSINGLETXT>
-
-<TLITXT>
-<LI><b> $SUBJECT$ </b><code>$FROMNAME$</code>
-</TLITXT>
-
-<TLIEND>
-</LI>
-</TLIEND>
+</TFOOT>
 
-<TLiNone>
-<LI><EM>
-(-%|loc%-)Message not available(-%END%-)
-</EM>
-</TLiNone>
-<TLINoneEnd>
-</LI>
-</TLINoneEnd>
+<TIDXPGEND>
+$POWERED_BY$
+(-%TAGS [% %]%-)
+</TIDXPGEND>
 
 <!-- links definition -->
-<PrevPgLink chop>
-<td NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center">&nbsp;&nbsp;<A HREF="$FIRSTPG$" ><FONT FACE=Arial,Helvetica COLOR="(-% dark_color %-)"><IMG SRC="(-% icons_url %-)/begin.png" ALT="first" height=20 border=0 align=middle></font></A>&nbsp;<A HREF="$PREVPG$"><FONT FACE=Arial,Helvetica COLOR="(-% dark_color %-)"><IMG SRC="(-% icons_url %-)/left.png" ALT="previous" height=20 border=0 align=middle></font></A>&nbsp;&nbsp;</td>
-</PrevPgLink>
-
-<PrevPgLinkIA chop>
-<td NOWRAP BGCOLOR="(-% light_color %-)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
-</PrevPgLinkIA>
-
-<NextPgLink chop>
-<td NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center">&nbsp;&nbsp;<A HREF="$NEXTPG$"><FONT FACE=Arial,Helvetica COLOR="(-% dark_color %-)"><IMG SRC="(-% icons_url %-)/right.png" ALT="next" height=20 border=0 align=center></font></A>&nbsp;<A HREF="$LASTPG$"><FONT FACE=Arial,Helvetica COLOR="(-% dark_color %-)"><IMG SRC="(-% icons_url %-)/end.png" ALT="last" height=20 border=0 align=middle></font></A>&nbsp;&nbsp;</td>
-</NextPgLink>
-
-<NextPgLinkIA chop>
-<td NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
-</NextPgLinkIA>
-
 <TPrevPgLink chop>
-<td NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center">&nbsp;&nbsp;<A HREF="$TFIRSTPG$" ><FONT FACE=Arial,Helvetica COLOR="(-% dark_color %-)"><IMG SRC="(-% icons_url %-)/begin.png" ALT="first" height=20 border=0 align=middle></font></A>&nbsp;<A HREF="$TPREVPG$"><FONT FACE=Arial,Helvetica COLOR="(-% dark_color %-)"><IMG SRC="(-% icons_url %-)/left.png" ALT="previous" height=20 border=0 align=middle></font></A>&nbsp;&nbsp;</td>
+<FONT SIZE="-1" FACE="Arial,Helvetica" COLOR="(-% dark_color %-)"><A HREF="$TFIRSTPG$"><IMG SRC="(-% icons_url %-)/begin.png" ALT="First" HEIGHT="20" BORDER="0" ALIGN="middle"></A>&nbsp;<A HREF="$TPREVPG$"><IMG SRC="(-% icons_url %-)/left.png" ALT="Previous" HEIGHT="20" BORDER="0" ALIGN="middle"></A></FONT>
 </TPrevPgLink>
 
 <TPrevPgLinkIA chop>
-<td NOWRAP BGCOLOR="(-% light_color %-)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
+&nbsp;&nbsp;
 </TPrevPgLinkIA>
 
 <TNextPgLink chop>
-<td NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center" >&nbsp;&nbsp;<A HREF="$TNEXTPG$"><FONT FACE=Arial,Helvetica COLOR="(-% dark_color %-)"><IMG SRC="(-% icons_url %-)/right.png" ALT="next" height=20 border=0 align=center></font></A>&nbsp;<A HREF="$TLASTPG$"><FONT FACE=Arial,Helvetica COLOR="(-% dark_color %-)"><IMG SRC="(-% icons_url %-)/end.png" ALT="last" height=20 border=0 align=middle></font></A>&nbsp;&nbsp;</td>
+<FONT SIZE="-1" FACE="Arial,Helvetica" COLOR="(-% dark_color %-)"><A HREF="$TNEXTPG$"><IMG SRC="(-% icons_url %-)/right.png" ALT="Next" HEIGHT="20" BORDER="0" ALIGN="center"></A>&nbsp;&nbsp;<A HREF="$TLASTPG$"><IMG SRC="(-% icons_url %-)/end.png" ALT="Last" HEIGHT="20" BORDER="0" ALIGN="middle"></A></FONT>
 </TNextPgLink>
 
 <TNextPgLinkIA chop>
-<td NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center" >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
+&nbsp;&nbsp;
 </TNextPgLinkIA>
 
-<PREVBUTTON>
-<TD  NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center">&nbsp;&nbsp;<A HREF="$PREVMSG$"><IMG SRC="(-% icons_url %-)/left.png" HEIGHT=20 BORDER=0 ALIGN=MIDDLE ALT="previous"></A>&nbsp;&nbsp;</TD>
-</PREVBUTTON>
-
-<PREVBUTTONIA>
-<TD NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</PREVBUTTONIA>
-
-<!-- next message button -->
-
-<NEXTBUTTON>
-<TD NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center">&nbsp;&nbsp<A HREF="$NEXTMSG$"><IMG SRC="(-% icons_url %-)/right.png" height=20 border=0 align=middle ALT="next"></A>&nbsp;&nbsp</td>
-</NEXTBUTTON>
-
-<NEXTBUTTONIA>
-<TD NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</NEXTBUTTONIA>
-
-
-<TPREVBUTTON>
-<TD NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center">&nbsp;&nbsp;<A HREF="$TPREVMSG$"><IMG SRC="(-% icons_url %-)/left.png" height=20 border=0 align=middle ALT="previous"></A>&nbsp;&nbsp;</TD>
-</TPREVBUTTON>
-
-<TPREVBUTTONIA>
-<TD NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TPREVBUTTONIA>
-
-<!-- prev message button in thread page -->
-
-<TNEXTBUTTON>
-<TD NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center">&nbsp;&nbsp<A HREF="$TNEXTMSG$"><IMG SRC="(-% icons_url %-)/right.png" height=20 border=0 align=middle ALT="next"></A>&nbsp;&nbsp</td>
-</TNEXTBUTTON>
-
-<TNEXTBUTTONIA>
-<TD NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="center">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
-</TNEXTBUTTONIA>
-
-
-<!-- ==================================  Les messages -->
-
-<MSGPGSSMARKUP>
-</MSGPGSSMARKUP>
+<!-- ================================================================== -->
+<!--    Message Page Resources                                          -->
+<!-- ================================================================== -->
+
+<!--
+MSGPGSSMARKUP
+MSGPGBEGIN
+    MSGHEAD
+    TOPLINKS
+    SUBJECTHEADER
+    Converted message header
+    HEADBODYSEP
+    Converted message body
+    MSGBODYEND
+    (FOLUPBEGIN
+        FOLUPLITXT+
+     FOLUPEND)?
+    (REFSBEGIN
+        REFSLITXT+
+     REFSEND)?
+    BOTLINKS
+    MSGFOOT
+MSGPGEND
+-->
 
 <MSGPGBEGIN>
 [%TAGS (-% %-) %]
 </MSGPGBEGIN>
 
-<MSGPGEND>
-(-%TAGS [% %]%-)
-</MSGPGEND>
-
 <TOPLINKS>
-<center>
-<TABLE CELLPADDING="2" CELLSPACING="2" WIDTH="100%" BORDER="0"><TR ALIGN=center BGCOLOR="(-% dark_color %-)"><TD>
-  <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="2">
-<TR ALIGN=CENTER VALIGN=MIDDLE>
- $PREVBUTTON$
- <TD NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="CENTER"><A HREF="$IDXFNAME$#$MSGNUM$" STYLE="TEXT-DECORATION: NONE"><FONT size=-1><B>
+<CENTER>
+$SELECTED_MONTH$
+<TABLE CELLPADDING="2" CELLSPACING="2" WIDTH="100%" BORDER="0">
+<TR ALIGN="center" BGCOLOR="(-% dark_color %-)">
+<TD>
+<!-- begin header -->
+<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="2">
+<TR ALIGN="CENTER" VALIGN="MIDDLE">
+<TD WIDTH="50%" BGCOLOR="(-% light_color %-)" ALIGN="center" VALIGN="middle" NOWRAP>
+$PREVBUTTON$&nbsp;&nbsp;
+<FONT SIZE="-1"><STRONG><A HREF="$IDXFNAME$#$MSGNUM$" STYLE="text-decoration: none">
 (-%|loc%-)Chronological(-%END%-)
-</B></FONT></A></TD>
-$NEXTBUTTON$ 
-<TD WIDTH=40% BGCOLOR="(-% light_color %-)">&nbsp;</TD>
-$TPREVBUTTON$ 
-<TD  NOWRAP BGCOLOR="(-% light_color %-)" ALIGN="CENTER"><A HREF="$TIDXFNAME$#$MSGNUM$" STYLE="TEXT-DECORATION: NONE"><FONT size=-1><B>
+</A></STRONG></FONT>
+&nbsp;&nbsp;$NEXTBUTTON$
+</TD>
+<TD WIDTH="50%" BGCOLOR="(-% light_color %-)" ALIGN="center" VALIGN="middle" NOWRAP>
+$TPREVBUTTON$&nbsp;&nbsp;
+<FONT SIZE="-1"><STRONG><A HREF="$TIDXFNAME$#$MSGNUM$" STYLE="text-decoration: none">
 (-%|loc%-)Thread(-%END%-)
-</B></FONT></A></TD>
-
-$TNEXTBUTTON$ 
-
-</TR></TABLE>
-</TD></TR></TABLE>
+</A></STRONG></FONT>
+&nbsp;&nbsp;$TNEXTBUTTON$
+</TD>
+</TR>
+</TABLE>
+<!-- end header -->
+</TD>
+</TR>
+</TABLE>
+</CENTER>
+</TOPLINKS>
 
-</center>
-<HR>
+<HEADBODYSEP>
+</UL>
+<HR SIZE="1" NOSHADE>
+</HEADBODYSEP>
 
-</TOPLINKS>
+<MSGBODYEND>
+<HR SIZE="1" NOSHADE>
+$TSLICE(10;10;1)$
+</MSGBODYEND>
 
 <BOTLINKS>
-<UL>
+
 </BOTLINKS>
 
-<SubjectHeader>
-<TABLE border=0 width=100%>
+<MSGPGEND>
+$POWERED_BY$
+(-%TAGS [% %]%-)
+</MSGPGEND>
+
+<MSGPGSSMARKUP>
+</MSGPGSSMARKUP>
+
+<SUBJECTHEADER>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="2" CELLSPACING="2">
 <TR>
- <TD>
-  <FONT size=+1 COLOR="(-% dark_color %-)">
-  <B> $SUBJECTNA$</B></FONT><FONT size=+1> $FROMNAME$ </FONT>
- </TD>
+<TD>
+<FONT SIZE="+1" COLOR="(-% dark_color %-)"><STRONG>$SUBJECTNA$</STRONG></FONT>, &nbsp;<FONT SIZE="+1">$FROMNAME$</FONT>
+</TD>
 
-<TD ALIGN=RIGHT bgcolor="(-% bg_color %-)">
-<FONT size="-1">
 (-% IF user.email && action == 'arc' %-)
+<TD ALIGN="right" BGCOLOR="(-% bg_color %-)">
+<FONT SIZE="-1">
 <!-- reply to button -->
 <FORM ACTION="(-% path_cgi %-)" METHOD=POST>
   <INPUT TYPE="hidden" NAME="in_reply_to" VALUE="$MSGID$">
   <INPUT TYPE="hidden" NAME="subject" VALUE="Re: $SUBJECTNA$">
   <INPUT TYPE="hidden" NAME="list" VALUE="(-% list %-)">
-(-%|loc%-)Reply to sender(-%END%-)
-<INPUT TYPE="radio" NAME="to" VALUE="$FROMADDRNAME$ $FROMADDRDOMAIN$" CHECKED>
-(-%|loc%-)to list(-%END%-)
-<INPUT TYPE="radio" NAME="to" VALUE="(-% list %-) (-% list_conf.host %-)">
-<INPUT TYPE="submit" NAME="action_compose_mail" VALUE="(-%|loc%-)Reply(-%END%-)">
-<INPUT TYPE="submit" NAME="action_send_me" VALUE="(-%|loc(user.email)%-)send it back to %1(-%END%-)">	
-
-(-% IF action != 'viewmod' %-)
-(-% IF user.email == '$FROMADDR$' %-)
-  <INPUT TYPE="hidden" NAME="yyyy" VALUE="$yyyy$">
-  <INPUT TYPE="hidden" NAME="month" VALUE="$mois$">
-  <INPUT TYPE="hidden" NAME="msgid" VALUE="$MSGID$">
-  <INPUT TYPE="hidden" NAME="action" VALUE="">
-  <INPUT TYPE="submit" NAME="action_remove_arc" VALUE="(-%|loc%-)tag this mail for deletion(-%END%-)" onClick="return request_confirm('(-%|loc%-)Do you really want to delete this message ?(-%END%-)')">
-
-(-% ELSIF is_owner %-)
-  <INPUT TYPE="hidden" NAME="yyyy" VALUE="$yyyy$">
-  <INPUT TYPE="hidden" NAME="month" VALUE="$mois$">
-  <INPUT TYPE="hidden" NAME="msgid" VALUE="$MSGID$">
-  <INPUT TYPE="hidden" NAME="action" VALUE="">
-  <INPUT TYPE="submit" NAME="action_remove_arc" VALUE="(-%|loc%-)tag this mail for deletion(-%END%-)" onClick="return request_confirm('(-%|loc%-)Do you really want to delete this message ?(-%END%-)')">
-(-% END %-)
-(-% END %-)
+  (-%|loc%-)Reply to sender(-%END%-)
+  <INPUT TYPE="radio" NAME="to" VALUE="$FROMADDRNAME$ $FROMADDRDOMAIN$" CHECKED>
+  (-%|loc%-)to list(-%END%-)
+  <INPUT TYPE="radio" NAME="to" VALUE="(-% list %-) (-% list_conf.host %-)">
+  <INPUT TYPE="submit" NAME="action_compose_mail" VALUE="(-%|loc%-)Reply(-%END%-)">
+  <INPUT TYPE="submit" NAME="action_send_me" VALUE="(-%|loc(user.email)%-)send it back to %1(-%END%-)">	
+  (-% IF action != 'viewmod' %-)
+    (-% IF user.email == '$FROMADDR$' %-)
+    <INPUT TYPE="hidden" NAME="yyyy" VALUE="$yyyy$">
+    <INPUT TYPE="hidden" NAME="month" VALUE="$mois$">
+    <INPUT TYPE="hidden" NAME="msgid" VALUE="$MSGID$">
+    <INPUT TYPE="hidden" NAME="action" VALUE="">
+    <INPUT TYPE="submit" NAME="action_remove_arc" VALUE="(-%|loc%-)tag this mail for deletion(-%END%-)" onClick="return request_confirm('(-%|loc%-)Do you really want to delete this message ?(-%END%-)')">
+
+    (-% ELSIF is_owner %-)
+    <INPUT TYPE="hidden" NAME="yyyy" VALUE="$yyyy$">
+    <INPUT TYPE="hidden" NAME="month" VALUE="$mois$">
+    <INPUT TYPE="hidden" NAME="msgid" VALUE="$MSGID$">
+    <INPUT TYPE="hidden" NAME="action" VALUE="">
+    <INPUT TYPE="submit" NAME="action_remove_arc" VALUE="(-%|loc%-)tag this mail for deletion(-%END%-)" onClick="return request_confirm('(-%|loc%-)Do you really want to delete this message ?(-%END%-)')">
+    (-% END %-)
+  (-% END %-)
 </FORM>
-
-(-% END %-)
 </FONT>
- </TD>
- </TR>
+</TD>
+(-% END %-)
+</TR>
 </TABLE>
+<UL>
+</SUBJECTHEADER>
 
-</SubjectHeader>
-
-<!-- Le message lui-même -->
-<!-- éléments d'entête qu'il ne faut pas afficher -->
-<EXCS>
+<!-- Message itself -->
+<!-- Do not display the following header -->
+<EXCS Override>
 content-
 errors-to
 forward
@@ -384,9 +439,9 @@
 replied
 return-path
 status
-sender
 via
-list-archive
+x-
+sender
 list-help
 list-owner
 list-post
@@ -394,9 +449,14 @@
 list-unsubscribe
 in-reply-to
 delivered-to
+references
+reply-to
+thread-
+User-agent
+Mail-followup-to
 </EXCS>
 
-<!-- ordre d'affichage des éléments de l'entête -->
+<!-- Field order in message header -->
 <FIELDORDER>
 from
 to
@@ -421,14 +481,92 @@
 -default-:em
 </LABELSTYLES>
 
-<!-- ====================================== DIVERS -->
+<TSLICELEVELS>
+7
+</TSLICELEVELS>
+
+<TSLICE>
+10:10
+</TSLICE>
+
+<TSLICEBEG>
+<UL>
+</TSLICEBEG>
+
+<TSLICETOPBEGINCUR>
+<LI><STRONG>$SUBJECTNA$</STRONG>, <EM>$FROMNAME$</EM>
+</TSLICETOPBEGINCUR>
+
+<TSLICELITXTCUR>
+<LI><STRONG>$SUBJECTNA$</STRONG>, <EM>$FROMNAME$</EM>
+</TSLICELITXTCUR>
+
+<TSLICESINGLETXTCUR>
+<LI><STRONG>$SUBJECTNA$</STRONG>, <EM>$FROMNAME$</EM>
+</TSLICESINGLETXTCUR>
+
+<TSLICEEND>
+</UL>
+</TSLICEEND>
+
+<!-- Buttons definition -->
+<PREVBUTTON>
+<FONT SIZE="-1" FACE="Arial,Helvetica">
+<A HREF="$PREVMSG$"><IMG SRC="(-% icons_url %-)/left.png" ALT="Previous" HEIGHT="20" BORDER="0" ALIGN="middle"></A>
+</FONT>
+</PREVBUTTON>
+
+<PREVBUTTONIA>
+&nbsp;&nbsp;
+</PREVBUTTONIA>
+
+<NEXTBUTTON>
+<FONT SIZE="-1" FACE="Arial,Helvetica">
+<A HREF="$NEXTMSG$"><IMG SRC="(-% icons_url %-)/right.png" ALT="Next" HEIGHT="20" BORDER="0" ALIGN="middle"></A>
+</FONT>
+</NEXTBUTTON>
+
+<NEXTBUTTONIA>
+&nbsp;&nbsp;
+</NEXTBUTTONIA>
+
+<TPREVBUTTON>
+<FONT SIZE="-1" FACE="Arial,Helvetica">
+<A HREF="$TPREVMSG$"><IMG SRC="(-% icons_url %-)/left.png" height=20 border=0 ALIGN=middle ALT="Previous"></A>
+</FONT>
+</TPREVBUTTON>
+
+<TPREVBUTTONIA>
+&nbsp;&nbsp;
+</TPREVBUTTONIA>
+
+<TNEXTBUTTON>
+<FONT SIZE="-1" FACE="Arial,Helvetica">
+<A HREF="$TNEXTMSG$"><IMG SRC="(-% icons_url %-)/right.png" HEIGHT="20" BORDER="0" ALIGN="middle" ALT="Next"></A>
+</FONT>
+</TNEXTBUTTON>
+
+<TNEXTBUTTONIA>
+&nbsp;&nbsp;
+</TNEXTBUTTONIA>
+
+<!-- ============================================================== -->
+<!--    Other Resources                                             -->
+<!-- ============================================================== -->
+
 <DAYBEGIN>
-<LI><strong>$DDMMYY$</strong><ul>
+(-% IF lang == 'fr' %-)
+<LI><STRONG>$DDMMYY$</STRONG>
+(-% ELSE %-)
+<LI><STRONG>$YYMMDD$</STRONG>
+(-% END %-)
+<UL>
 </DAYBEGIN>
 
-<DayEnd>
-</li></ul>
-</DayEnd>
+<DAYEND>
+</UL>
+</LI>
+</DAYEND>
 
 <WEEKDAYS>
 (-%|loc%-)Sunday:Monday:Tuesday:Wednesday:Thursday:Friday:Saturday(-%END%-)
@@ -476,6 +614,7 @@
 <LOCALDATEFMT>
 %d. %B. %Y %H:%M
 </LOCALDATEFMT>
+
 (-% ELSIF lang == 'hu' %-)
 <UseLocalTime>
  
@@ -502,31 +641,5 @@
 <MsgLocalDateFmt>
 %A %d %B %Y
 </MsgLocalDateFmt>
-(-% END %-)
 
-<HEADBODYSEP>
-<BR><BR>
-</HEADBODYSEP>
-
-<MSGBODYEND>
-<BR>
-</MSGBODYEND>
-
-<CHARSETALIASES>
-big5; big5
-big5; big5-eten
-</CHARSETALIASES>
-
-<!-- <TextEncode>
-utf-8; MHonArc::UTF8::to_utf8; MHonArc/UTF8.pm
-</TextEncode> -->
-
-<-- With data translated to UTF-8, it simplifies CHARSETCONVERTERS -->
-<CharsetConverters override>
-default; mhonarc::htmlize
-</CharsetConverters>
-
-<-- Need to also register UTF-8-aware text clipping function -->
-<TextClipFunc>
-MHonArc::UTF8::clip; MHonArc/UTF8.pm
-</TextClipFunc>
+(-% END %-)
--- wwsympa.fcgi	2004-11-30 23:12:53.000000000 +0100
+++ wwsympa.fcgi.new	2004-11-30 23:37:32.000000000 +0100
@@ -72,7 +72,7 @@
 my $param = {};
 my $robot ;
 my $ip ; 
-
+my $msgtitle = '';
 
 ## Load config 
 unless ($wwsconf = &wwslib::load_config($conf_file)) {
@@ -750,6 +750,9 @@
      if ($param->{'list'}) {
 	 $param->{'main_title'} = "$param->{'list'} - $list->{'admin'}{'subject'}";
 	 $param->{'title'} = &get_protected_email_address($param->{'list'}, $list->{'admin'}{'host'});
+	 if ($msgtitle) {
+	     $param->{'main_title'} = "$param->{'list'} - $msgtitle";
+	 }
      }else {
 	 $param->{'main_title'} = $param->{'title'} = &Conf::get_robot_conf($robot,'title');
      }
@@ -1257,14 +1260,14 @@
      if (&Conf::get_robot_conf($robot,'spam_protection') eq 'at') {
 	 $param->{'hidden_head'} = '';	$param->{'hidden_at'} = ' AT ';	$param->{'hidden_end'} = '';
      }elsif(&Conf::get_robot_conf($robot,'spam_protection') eq 'javascript') {
-	 $param->{'hidden_head'} = '
- <SCRIPT language="JavaScript">
+	 $param->{'hidden_head'} = '<SCRIPT type="text/javascript" language="JavaScript">
  <!-- 
  document.write("';
 	 $param->{'hidden_at'} ='" + "@" + "';
 	 $param->{'hidden_end'} ='")
  // -->
- </SCRIPT>';
+</SCRIPT>
+<NOSCRIPT><i>[Please activate JavaScript]</i></NOSCRIPT>';
      }else {
 	 $param->{'hidden_head'} = '';	$param->{'hidden_at'} = '@';	$param->{'hidden_end'} = '';
      }
@@ -1277,14 +1280,14 @@
 	     if ($list->{'admin'}{'web_archive_spam_protection'} eq 'at') {
 		 $param->{'hidden_head'} = '';	$param->{'hidden_at'} = ' AT ';	$param->{'hidden_end'} = '';
 	     }elsif($list->{'admin'}{'web_archive_spam_protection'} eq 'javascript') {
-		 $param->{'hidden_head'} = '
- <SCRIPT language="JavaScript">
+		 $param->{'hidden_head'} = '<SCRIPT type="text/javascript" language="JavaScript">
  <!-- 
  document.write("';
 		 $param->{'hidden_at'} ='" + "@" + "';
 		 $param->{'hidden_end'} ='")
  // -->
- </SCRIPT>';
+</SCRIPT>
+<NOSCRIPT><i>[Please activate JavaScript]</i></NOSCRIPT>';
 	     }else {
 		 $param->{'hidden_head'} = '';	$param->{'hidden_at'} = '@';	$param->{'hidden_end'} = '';
 	     }
@@ -1292,14 +1295,14 @@
 	     if ($list->{'admin'}{'spam_protection'} eq 'at') {
 		 $param->{'hidden_head'} = '';	$param->{'hidden_at'} = ' AT ';	$param->{'hidden_end'} = '';
 	     }elsif($list->{'admin'}{'spam_protection'} eq 'javascript') {
-		 $param->{'hidden_head'} = '
- <SCRIPT language="JavaScript">
+		 $param->{'hidden_head'} = '<SCRIPT type="text/javascript" language="JavaScript">
  <!-- 
  document.write("';
 		 $param->{'hidden_at'} ='" + "@" + "';
 		 $param->{'hidden_end'} ='")
  // -->
- </SCRIPT>';
+</SCRIPT>
+<NOSCRIPT><i>[Please activate JavaScript]</i></NOSCRIPT>';
 	     }else {
 		 $param->{'hidden_head'} = '';	$param->{'hidden_at'} = '@';	$param->{'hidden_end'} = '';
 	     }	     
@@ -4284,6 +4287,18 @@
      }else {
 	 &tt2::add_include_path("$wwsconf->{'arc_path'}/$param->{'list'}\@$param->{'host'}/$in{'month'}");
 	 $param->{'file'} = "$in{'arc_file'}";
+
+	 if ($in{'arc_file'} =~ /^(msg\d+)\.html$/) {
+	   # Get subject message thanks to X-Subject field (<!--X-Subject: x -->)
+	   open (FILE, "$wwsconf->{'arc_path'}/$param->{'list'}\@$param->{'host'}/$in{'month'}/$param->{'file'}");
+	 LINE: while (<FILE>) {
+	     if (/<!--X-Subject: (.+) -->/) {
+	       $msgtitle = $1;
+	       last LINE;
+	     }
+	   }
+	   close FILE;
+	 }
      }
 
      $param->{'base'} = sprintf "%s%s/arc/%s/%s/", $param->{'base_url'}, $param->{'path_cgi'}, $param->{'list'}, $in{'month'};
@@ -10607,10 +10622,12 @@
 	     $gecos = "$`\" + \"@\" + \"$'";
 	 }
 
-	 my $return = "<SCRIPT language=JavaScript>
+	 my $return = "<SCRIPT type=\"text/javascript\" language=\"JavaScript\">
  <!--
  document.write(\"<A HREF=\" + \"mail\" + \"to:\" + \"$local\" + \"@\" + \"$domain\" + \">$gecos</A>\")
- // --></SCRIPT>";
+ // -->
+</SCRIPT>
+<NOSCRIPT><i>[Please activate JavaScript]</i></NOSCRIPT>";
 	 return ($return);
      }elsif($list->{'admin'}{'spam_protection'} eq 'at') {
 	 return ("$local AT $domain");
@@ -10623,10 +10640,12 @@
     
     if($list->{'admin'}{'spam_protection'} eq 'javascript') {
 
-	 my $return = "<SCRIPT language=JavaScript>
+	 my $return = "<SCRIPT type=\"text/javascript\" language=\"JavaScript\">
  <!--
  document.write(\"$local_part\" + \"@\" + \"$domain_part\")
- // --></SCRIPT>";
+ // -->
+</SCRIPT>
+<NOSCRIPT><i>[Please activate JavaScript]</i></NOSCRIPT>";
 	 return ($return);
      }elsif($list->{'admin'}{'spam_protection'} eq 'at') {
 	 return ("$local_part AT $domain_part");



Archive powered by MHonArc 2.6.19+.

Top of Page