| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
all the strings aren't properly encoded. To make life as easy as
possible, make sure that all the items in the split sequence are 8-bit
strings, encoded if necessary in the charset of the language given in
the argument list.
|
| |
|
|
| |
last received bounce.
|
| |
|
|
| |
display when only one language is available.
|
| |
|
|
| |
Simone Piunno.
|
| |
|
|
|
|
|
|
|
| |
Clarify the semantics of all these settings. Setting IMAGE_LOGOS to 0
is the only way to suppress the sponsor images, but this also
suppresses the favicon. You should now never set SHORTCUT_ICON to 0
(it should always be the string naming the favicon file).
Closes SF bugs # 546421 and 546418.
|
| |
|
|
| |
return the lang description as a non-selectable string.
|
| |
|
|
|
|
|
|
| |
GetStandardReplacements(): Expand <mm-owner> tags to the -owner
address. This is more appropriate than the -bounces address because
it reaches the human without going through the bounce processor.
Since this ends up in a message that a human will act on, it's the
correct address to use.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
listinfo.py
list_listinfo(): If the list only has one language enabled, omit
the language choice box. It's a waste of screen real-estate.
HTMLFormatter
GetStandardReplacements(): ditto
options.py
loginpage(): ditto. Also omit the paragraph that talks about
session cookies. It's probably over the heads of most users.
main(): Don't print the "No address given" if we're traveling here
from the listinfo page and they left the address field blank, as
per the instructions.
|
| |
|
|
| |
the head's LINK SHORTCUT ICON.
|
| |
|
|
|
|
|
|
|
|
|
| |
written by Ben Gertzfield, ported to MM2.1 by Marc MERLIN.
Specifically,
FormatOptionButton(): Add DontReceiveDuplicates to the list of
options names.
(Also, untabbification)
|
| |
|
|
|
|
| |
GetLangSelectBox() call for the <mm-list-langs> replacement, otherwise
a user's option page will always reset the user's language to the
list's preferred language.
|
| |
|
|
|
|
|
| |
they'll have a bounce info record, and if that record has a score
above 0, we'll add a little bit of information to their options page
explaining their current bounce score and some advice for fixing the
problem.
|
| |
|
|
|
|
| |
getDeliveryStatus() instead of getMemberOption(). Also, tailor the
disable notification based on the actual status -- gives more detail
about how the membership was actually disabled.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
a hidden field so that the language choice can be propagated to the
options page.
RosterOption(): Same, for the roster page.
GetLangSelectBox(): Factor out the creation of the language selection
widget, since other code will need the same thing.
GetStandardReplacements(): Use GetLangSelectBox().
|
| |
|
|
| |
up with what options.py expects.
|
| |
|
|
| |
Russian translation easier.
|
| |
|
|
|
|
| |
"member". This makes translation to some languages difficult.
Instead, construct different messages based on whether
num_concealed is == 1 or > 1.
|
| |
|
|
|
|
|
| |
mailto: to their personal email address. Instead, hyperlink the
lot of them with a mailto: to the list's -owner address. That
let's us do a spam detect on the message before forwarding on the
owners.
|
| |
|
|
| |
multiline individual strings.
|
| |
|
|
|
|
|
|
|
|
| |
domain. From there you can get to the admin overview.
FormatEditingOption(): Remove the docstring. Also, rework the
glomming up of the text local variable to be more efficient, and
to emphasize that the same field/button should be used to quickly
unsubscribe from the list. Also, indicate what happens if you
leave the field blank.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
API instead, e.g.
GetDigestMembers() -> getDigestMemberKeys()
GetUserOption() -> getMemberOption()
GetMembers() -> getRegularMemberKeys()
FormatOptionButton(): Add ReceiveNonmatchingTopics flag.
FormatBox(): Add optional `value' parameter, which if supplied is the
default value for teh input box (default is the empty string).
|
| |
|
|
|
| |
first try to get the index of the explicit argument, falling back to
the list's preferred language, and the server's default.
|
| |
|
|
| |
converted to multiline strings for ease of translation.
|
| |
|
|
|
|
|
|
| |
value to 'remind'.
FormatDisabledNotice(): Cleaned up the text message by using
multi-line strings and string interpolation. This should also improve
the ability for these messages to be translated into Japanese.
|
| |
|
|
| |
user option.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and all references to this volatile instance variable have been
removed.
SnarfHTMLTemplate(): Also removed, since maketext() does all this in a
more general way.
ParseTags(): Use Utils.maketext() instead of SnarfHTMLTemplate().
InitTemplates(): Because of the new support for expanded template
searches, the only thing that's necessary for a list to support a
language is for it to have a (possibly empty) directory named after
the language code. Thus, the copying of template files done in this
method are unnecessary.
|
| |
|
|
|
|
| |
module with re. This quiets a Python 2.1 warning.
Also, de-string-module-ification.
|
| |
|
|
|
|
| |
former does the proper urllib.quote()'ing of the email address.
Close SF bug #214161 (old Jitterbug PR#198).
|
| |
|
|
| |
list-specific language templates directory.
|
| | |
|
| |
|
|
|
|
| |
Added some missing _() wrappers.
Fix some _() wrappings to use local variables.
|
| |
|
|
|
|
| |
find the template if lists/<listname>/<lang> doesn't exist. The
update script now creates the `en' language subdir and moves all the
templates into it.
|
| |
|
|
|
| |
module. Also, default to getting the source templates out of
$MM/templates if $MM/templates/<lang> doesn't exist.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Carlos's contribution or not. Specifically,
GetMailmanFooter(), FormatSubscriptionMsg(), FormatEditingOption():
Mark some strings as translatable, using the Mailman.i18n._
`auto-interpolating' function.
SnarfHTMLTemplate(): Catch IOErrors which could result if a list was
created in an older version of Mailman before the i18n support was
added.
GetStandardReplacements(): Watch out for missing list preferred
language (can happen to an older list which hasn't been updated). Use
DEFAULT_SERVER_LANGUAGE in that case.
InitTemplates(): Some additional code reorg.
|
| |
|
|
|
|
|
|
| |
Mark lots of strings as translatable.
SnarfHTMLTemplate(), FormatUsers(), FormatEditingOption(),
FormatReminder(), GetStandardReplacements(), GetAllReplacements(),
InitTemplates(): Accept optional `lang' argument.
|
| |
|
|
|
| |
list footer. Makes it much easier to get to the admin pages from the
normal user pages.
|
| |
|
|
|
| |
GetMailmanFooter(), FormatUsers(), FormatFormStart():
GetRelativeScriptURL() => GetScriptURL()
|
| |
|
|
| |
action path. SF Patch #100556.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
function.
|
| |
|
|
| |
print the text and not include an img tag.
|
| |
|
|
|
| |
www.list.org (including alt text). Logo location comes from
DELIVERED_BY_URL variable.
|
| | |
|
| |
|
|
|
|
| |
on the page. (It should be available on the top, even more, but i
don't see how to do so without cluttering at the moment, and my
connection is so low band that i can't scope it out right now.)
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
calculation of html user lists to the roster cgi program.
HTMLFormatter: added a .GetAllReplacements() method that does the same
thing as GetStandardRepplacements() but also calculates all the html
for users lists. Removed the calculation of all the html for the user
lists from GetStandardReplacements().
Cgi/roster.py replaced call of GetStandardReplacements() with
GetAllReplacements().
scott
|
| | |
|