--- SubscribeUser.py.orig	2006-03-18 16:36:20.000000000 +0100
+++ SubscribeUser.py	2006-03-25 21:38:49.552850432 +0100
@@ -4,6 +4,7 @@
 
    @copyright: Daniela Nicklas <nicklas@informatik.uni-stuttgart.de>, 2003
    @copyright: 2005 MoinMoin:AlexanderSchremmer
+   @copyright: 2006 ReimarBauer
    
    @license: GNU GPL, see COPYING for details.
 """
@@ -17,31 +18,52 @@
 
 def show_form(pagename, request):
     _ = request.getText
+    
+    thispage = Page(request,pagename)
+    
+    users = user.getUserList(request)
+    options = []
+    for uid in users:
+        theuser = user.User(request, uid)
+        if theuser.disabled == False:
+            name = user.User(request, id=uid).name
+            if name != request.user.name:
+                options.append("<option value=%(name)s>%(name)s</option>" % { "name":name})  
+            else:
+                options.append("<option selected value=%(name)s>%(name)s</option>" % { "name":name})   
+    options.sort()  
+    
     request.http_headers()
-    wikiutil.send_title(request, _("Subscribe users to the page %s") % pagename, pagename=pagename)
-
-    request.write("""
-<form action="" method="POST" enctype="multipart/form-data">
-<input type="hidden" name="action" value="SubscribeUser">
-Enter user names (comma separated): <input type="text" name="users" size="50">
-<input type="submit" value="Subscribe">
-</form>
-""")
-    wikiutil.send_footer(request, pagename)
-
+    formhtml = '''
+%(description)s
+<form action="" method="POST" enctype="multipart/form-data>"
+<select name="users" size="%(len)s" multiple>
+%(option)s
+</select>
+<input type="hidden" name="action" value="%(actname)s">
+<input type="submit" name="button" value="%(button)s">
+</form>''' % {
+    'description': _("Subscribe users to the page %s") % pagename,
+    'actname': 'SubscribeUser',
+    'option': options,
+    'len': min(5,len(users)),
+    'button': _('Subscribe')}
+    
+    thispage.send_page(request, msg=formhtml)
+    
+    
 def show_result(pagename, request):
     _ = request.getText
-    request.http_headers()
-
-    wikiutil.send_title(request, _("Subscribed for %s:") % pagename, pagename=pagename)
+        
+    thispage = Page(request,pagename)
 
     from MoinMoin.formatter.text_html import Formatter
     formatter = Formatter(request)
     
-    result = subscribe_users(request, request.form['users'][0].split(","), pagename, formatter)
-    request.write(result)
-
-    wikiutil.send_footer(request, pagename)
+    result = subscribe_users(request, request.form['users'], pagename, formatter)
+    
+    request.http_headers()
+    thispage.send_page(request, msg=result)
 
 
 def subscribe_users(request, usernamelist, pagename, formatter):
@@ -123,6 +145,6 @@
 
     from MoinMoin.formatter.text_plain import Formatter
     formatter = Formatter(request)
-
-    print subscribe_users(request, usernames.split(","), pagename, formatter)
+    
+    print subscribe_users(request, usernames, pagename, formatter)
 
