Merge remote branch 'origin/xorg/1.0.2/master' into xorg/master
authorFlorent Bruneau <florent.bruneau@polytechnique.org>
Tue, 28 Dec 2010 21:21:30 +0000 (22:21 +0100)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Tue, 28 Dec 2010 21:21:30 +0000 (22:21 +0100)
Conflicts:
templates/skin/common.title.header.tpl

Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
bin/lists.rpc.py
classes/user.php
modules/register.php
modules/xnetgrp/mail.inc.php
templates/skin/common.title.header.tpl

index 00b498c..5dfc534 100755 (executable)
@@ -72,6 +72,7 @@ MYSQL_DB       = get_config('Core', 'dbdb')
 PLATAL_DOMAIN  = get_config('Mail', 'domain')
 PLATAL_DOMAIN2 = get_config('Mail', 'domain2', '')
 sys.stderr.write('PLATAL_DOMAIN = %s\n' % PLATAL_DOMAIN )
+sys.stderr.write("MYSQL_DB = %s\n" % MYSQL_DB)
 
 VHOST_SEP      = get_config('Lists', 'vhost_sep', '_')
 ON_CREATE_CMD  = get_config('Lists', 'on_create', '')
@@ -297,7 +298,7 @@ def get_list_info(userdesc, perms, mlist, front_page=0):
         if not is_member and (mlist.subscribe_policy > 1):
             is_pending = list_call_locked(is_subscription_pending, userdesc, perms, mlist, False)
             if is_pending is 0:
-                return 0
+                return None
 
         host = mlist.internal_name().split(VHOST_SEP)[0].lower()
         details = {
@@ -413,7 +414,10 @@ def get_members(userdesc, perms, mlist):
     """ List the members of a list.
             @mlist
     """
-    details, members = get_list_info(userdesc, perms, mlist)
+    infos = get_list_info(userdesc, perms, mlist)
+    if infos is None:
+        return None
+    details, members = infos
     members.sort()
     members = map(lambda member: (get_name(member), member), members)
     return (details, members, mlist.owner)
index 6a3be38..fb9059c 100644 (file)
@@ -690,7 +690,7 @@ class User extends PlUser
                             'forum_innd', 'forum_profiles', 'forum_subs',
                             'group_announces_read', 'group_members',
                             'group_member_sub_requests', 'reminder', 'requests',
-                            'requests_hidden');
+                            'requests_hidden', 'aliases');
             foreach ($tables as $t) {
                 XDB::execute('DELETE FROM  ' . $t . '
                                     WHERE  uid = {?}',
@@ -728,7 +728,7 @@ class User extends PlUser
             }
         }
 
-        $mmlist = new MMList($this);
+        $mmlist = new MMList(S::user());
         $mmlist->kill($this->hruid, $clearAll);
     }
 
index c70a365..331f618 100644 (file)
@@ -328,6 +328,7 @@ class RegisterModule extends PLModule
         //
         // Create the user account.
         //
+        XDB::startTransaction();
         XDB::execute("UPDATE  accounts
                          SET  password = {?}, state = 'active',
                               registration_date = NOW(), email = NULL
@@ -343,6 +344,7 @@ class RegisterModule extends PLModule
             XDB::execute("INSERT INTO  aliases (uid, alias, type)
                                VALUES  ({?}, {?}, 'alias')", $uid, $emailXorg2);
         }
+        XDB::commit();
 
         // Add the registration email address as first and only redirection.
         require_once 'emails.inc.php';
@@ -373,7 +375,7 @@ class RegisterModule extends PLModule
                                                   VALUES  ({?}, {?})',
                                      $uid, $asso_id);
                         $mmlist = new MMList($user);
-                        $mmlist->subscribe("promo" . S::v('promo'));
+                        $mmlist->subscribe("promo" . $yearpromo);
                     }
                     break;
                 case 'nl':
index eadeb16..0002242 100644 (file)
@@ -34,10 +34,13 @@ function get_all_redirects($membres, $mls, &$client)
     }
 
     foreach ($mls as $ml) {
-        if (list(,$members) = $client->get_members($ml)) {
-            foreach ($members as $mem) {
-                $uf = new UserFilter(new UFC_Mail($mem[1]));
-                $user = $uf->getUsers();
+        // $list_members is a (list_details, members, list_owners) array, where
+        // members is an array of (0 => name, 1 => email) arrays.
+        $list_members = $client->get_members($ml);
+        if ($list_members) {
+            foreach ($list_members[1] as $mem) {
+                $uf = new UserFilter(new UFC_Email($mem[1]));
+                $user = $uf->getUser();
                 if ($user) {
                     $tos[] = $user;
                 } else {
@@ -95,7 +98,7 @@ function send_xnet_mails($from, $sujet, $body, $wiki, $tos, $replyto = null, $up
     }
 
     foreach ($tos as $user) {
-        if ($user instanceof $user) {
+        if ($user instanceof User) {
             $email = $user->bestEmail();
         } else {
             $email = $user;
index 8102455..9f0bbc5 100644 (file)
@@ -26,7 +26,7 @@
     <td class="inscrits">
       {$globals->core->NbIns|number_format} polytechniciens sur le web
       {if t($smarty.request.quick)}
-        {assign var=requestQuick value=$smarty.request.quick}
+        {assign var=requestQuick value=$smarty.request.quick|smarty:nodefaults}
       {else}
         {assign var=requestQuick value='Recherche dans l\'annuaire'}
       {/if}