Hi,
I have got 3 patches against the trunk of mod_mbox:
* mod_mbox.c.patch:
A directive like 'MboxAntiSpam Off' was ever picked up, cause it was
initially set to 1 and could never be overwritten, I used the code
from the mod_mime module to get the expected behavior
* archives.js.patch:
The non-AJAX had a footer, so I thought, it's better to have it in the
AJAX one as well
* styles.css.patch:
Have footer layout to be the same as the header layout of the table
Best regards,
/Rick
--
http://rickvanderzwet.nl
Index: archives.js
===================================================================
--- archives.js (revision 595428)
+++ archives.js (working copy)
@@ -131,15 +131,15 @@
return short_months[num-1];
}
-/* Returns the message list table header, including page selector and
+/* Returns the message list table header or footer, including page selector and
* sort links */
-function getMsgListHeader ()
+function getMsgListNav (location)
{
/* Fetch current page and page count */
var current_page = parseInt(_msglist.getAttribute('page'));
var pages = parseInt(_msglist.getAttribute('pages'));
- var str = '<thead><tr><th class="title"><a href="' + _sort + '?' + _page +
+ var str = '<' + location + '><tr><th class="title"><a href="' + _sort + '?'
+ _page +
'" title="Switch to flat view">Message list</a></th>';
/* Page selector */
@@ -194,11 +194,25 @@
' · Date';
}
- str += '</th></tr></thead>';
+ str += '</th></tr></' + location + '>';
return str;
}
+/* Returns the message list table header, including page selector and
+ * sort links */
+function getMsgListHeader()
+{
+ return getMsgListNav('thead');
+}
+
+/* Returns the message list table footer, including page selector and
+ * sort links */
+function getMsgListFooter()
+{
+ return getMsgListNav('tfoot');
+}
+
/* Returns a table-formatted message list entry */
function buildMessageListEntry (msg, msg_num)
{
@@ -271,6 +285,7 @@
}
str += '</tbody>';
+ str += getMsgListFooter ();
msglist.innerHTML = str;
if (document.getElementById('msglist')) {
@@ -496,7 +511,9 @@
}
}
- str += '</tbody></table>';
+ str += '</tbody>';
+ str += getMsgListFooter();
+ str += '</table>';
msglist.innerHTML = str;
body.appendChild(msglist);
document.getElementById('msg-' + msg_num).setAttribute('class', 'msgactive');
Index: style.css
===================================================================
--- style.css (revision 595428)
+++ style.css (working copy)
@@ -155,9 +155,12 @@
width: 82%;
}
-table#msglist thead th.title { text-align: left; white-space: nowrap; }
-table#msglist thead th.pages { text-align: right; }
-table#msglist thead th.sort { text-align: right; padding-right: 0.3em;
+table#msglist thead th.title,
+table#msglist tfoot th.title { text-align: left; white-space: nowrap; }
+table#msglist thead th.pages,
+table#msglist tfoot th.pages { text-align: right; }
+table#msglist thead th.sort,
+table#msglist tfoot th.sort { text-align: right; padding-right: 0.3em;
white-space: nowrap; }
table#msglist tr td.author { background: #ddd; width: 20%; }
Index: mod_mbox.c
===================================================================
--- mod_mbox.c (revision 592049)
+++ mod_mbox.c (working copy)
@@ -56,8 +56,8 @@
conf = apr_pcalloc(p, sizeof(mbox_dir_cfg_t));
conf->enabled = 0;
- conf->hide_empty = 1;
- conf->antispam = 1;
+ conf->hide_empty = 2;
+ conf->antispam = 2;
conf->root_path = NULL;
conf->search_path = NULL;
conf->style_path = NULL;
@@ -83,16 +83,16 @@
}
/* Update 'hide_empty' */
- if (merge->hide_empty == 1) {
- to->hide_empty = 1;
+ if ((merge->hide_empty & 2) == 0) {
+ to->hide_empty = merge->hide_empty;
}
else {
to->hide_empty = from->hide_empty;
}
/* Update 'antispam' */
- if (merge->antispam == 1) {
- to->antispam = 1;
+ if ((merge->antispam & 2) == 0) {
+ to->antispam = merge->antispam;;
}
else {
to->antispam = from->antispam;