Replaces normal spaces by non-breackable spaces when suitable.
[platal.git] / modules / xnetlists.php
index 9bd47f5..95c71bd 100644 (file)
@@ -100,11 +100,11 @@ class XnetListsModule extends ListsModule
                            USING  x4dat.virtual AS v
                        LEFT JOIN  x4dat.virtual_redirect AS r USING(vid)
                            WHERE  v.alias={?}', $alias);
-            $page->trigSuccess(Post::v('del_alias')." supprimé !");
+            $page->trigSuccess(Post::v('del_alias')." supprimé !");
         }
 
         $listes = $this->client->get_lists();
-        $page->assign('listes',$listes);
+        $page->assign('listes', $listes);
 
         $alias  = XDB::iterator(
                 'SELECT  alias,type
@@ -115,6 +115,13 @@ class XnetListsModule extends ListsModule
         $page->assign('alias', $alias);
 
         $page->assign('may_update', may_update());
+
+        if (count($listes) > 0 && !$globals->asso('has_ml')) {
+            XDB::execute("UPDATE  groupex.asso
+                             SET  flags = CONCAT_WS(',', IF(flags = '', NULL, flags), 'has_ml')
+                           WHERE  id = {?}",
+                         $globals->asso('id'));
+        }
     }
 
     function handler_create(&$page)
@@ -134,7 +141,7 @@ class XnetListsModule extends ListsModule
         }
 
         if (!Post::has('liste')) {
-            $page->trigError('champs «adresse souhaitée» vide');
+            $page->trigError('Le champs « adresse souhaitée » est vide.');
             return;
         }
 
@@ -181,6 +188,12 @@ class XnetListsModule extends ListsModule
                                     VALUES ({?}, {?})', XDB::insertId(),
                                    $red . $mdir . '@listes.polytechnique.org');
         }
+
+        XDB::execute("UPDATE  groupex.asso
+                         SET  flags = CONCAT_WS(',', IF(flags = '', NULL, flags), 'has_ml')
+                       WHERE  id = {?}",
+                     $globals->asso('id'));
+
         pl_redirect('lists/admin/'.$liste);
     }
 
@@ -259,20 +272,20 @@ class XnetListsModule extends ListsModule
                 if (list($alias, $blias) = $res->fetchOneRow()) {
                     $alias = empty($blias) ? $alias : $blias;
                     XDB::query(
-                        "INSERT INTO  x4dat.virtual_redirect (vid,redirect)
-                              SELECT  vid, {?}
-                                FROM  x4dat.virtual
-                               WHERE  alias={?}", "$alias@m4x.org", $lfull);
+                        "INSERT IGNORE INTO  x4dat.virtual_redirect (vid,redirect)
+                                     SELECT  vid, {?}
+                                       FROM  x4dat.virtual
+                                      WHERE  alias={?}", "$alias@m4x.org", $lfull);
                    $page->trigSuccess("$alias@m4x.org ajouté");
                 } else {
                     $page->trigError("$mbox@{$globals->mail->domain} n'existe pas.");
                 }
             } else {
                 XDB::query(
-                        "INSERT INTO  x4dat.virtual_redirect (vid,redirect)
-                              SELECT  vid,{?}
-                                FROM  x4dat.virtual
-                               WHERE  alias={?}", "$mbox@$dom", $lfull);
+                        "INSERT IGNORE INTO  x4dat.virtual_redirect (vid,redirect)
+                                     SELECT  vid,{?}
+                                       FROM  x4dat.virtual
+                                      WHERE  alias={?}", "$mbox@$dom", $lfull);
                 $page->trigSuccess("$mbox@$dom ajouté");
             }
         }
@@ -323,7 +336,7 @@ class XnetListsModule extends ListsModule
         }
 
         if (!Post::has('liste')) {
-            $page->trigError('champs «adresse souhaitée» vide');
+            $page->trigError('Le champs « adresse souhaitée » est vide.');
             return;
         }
         $liste = Post::v('liste');