else:
h = s
h = str('').join(re.split('[\x00-\x08\x0B-\x1f]+', h))
- return Utils.uquote(h.replace('&', '&').replace('>', '>').replace('<', '<'))
+ return Utils.uquote(h.replace('&', '&').replace('>', '>').replace('<', '<'))
def to_forlife(email):
try:
# users procedures for [ index.php ]
#
+def get_name(member):
+ try:
+ return quote(mlist.getMemberName(member))
+ except:
+ return ''
+
def get_members(userdesc, perms, vhost, listname):
try:
mlist = MailList.MailList(vhost+VHOST_SEP+listname.lower(), lock=0)
try:
details, members = get_list_info(userdesc, perms, mlist)
members.sort()
- members = map(lambda member: (quote(mlist.getMemberName(member)) or '', member), members)
+ members = map(lambda member: (get_name(member), member), members)
return (details, members, mlist.owner)
except:
return 0
return 0
return (subs, helds)
-
def handle_request(userdesc, perms, vhost, listname, id, value, comment):
try:
mlist = MailList.MailList(vhost+VHOST_SEP+listname.lower(), lock=0)
mlist.Unlock()
return 0
+def get_pending_sub(userdesc, perms, vhost, listname, id):
+ try:
+ mlist = MailList.MailList(vhost+VHOST_SEP+listname.lower(), lock=0)
+ except:
+ return 0
+ try:
+ if not is_admin_on(userdesc, perms, mlist):
+ return 0
+
+ mlist.Lock()
+ sub = 0
+ id = int(id)
+ if id in mlist.GetSubscriptionIds():
+ time, addr, fullname, passwd, digest, lang = mlist.GetRecord(id)
+ try:
+ login = re.match("^[^.]*\.[^.]*\.\d\d\d\d$", addr.split('@')[0]).group()
+ sub = {'id': id, 'name': quote(fullname), 'addr': addr, 'login': login }
+ except:
+ sub = {'id': id, 'name': quote(fullname), 'addr': addr }
+ mlist.Unlock()
+ except:
+ mlist.Unlock()
+ return 0
+ return sub
def get_pending_mail(userdesc, perms, vhost, listname, id, raw=0):
try:
mlist.subject_prefix = '['+listname+'] '
mlist.max_message_size = 0
- inverted_listname = '_'.join(listname.split('_', 1)[-1::-1])
+ inverted_listname = listname.lower() + '_' + vhost.lower()
mlist.msg_footer = "_______________________________________________\n" \
+ "Liste de diffusion %(real_name)s\n" \
+ "http://listes.polytechnique.org/members/" + inverted_listname
# moderate.php
server.register_function(get_pending_ops)
server.register_function(handle_request)
+server.register_function(get_pending_sub)
server.register_function(get_pending_mail)
# options.php
server.register_function(get_owner_options)