2006 => 2007 Happy New Year\!
[platal.git] / include / validations / aliases.inc.php
index 9cd0b0b..7ad6d0c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2006 Polytechnique.org                              *
+ *  Copyright (C) 2003-2007 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -60,9 +60,9 @@ class AliasReq extends Validate
     // }}}
     // {{{ function get_request()
 
-    function get_request($uid)
+    static function get_request($uid)
     {
-        return parent::get_request($uid,'alias');
+        return parent::get_typed_request($uid,'alias');
     }
 
     // }}}
@@ -92,21 +92,38 @@ class AliasReq extends Validate
     }
 
     // }}}
+    // {{{ function shorter_domain
+
+    function shorter_domain()
+    {
+        global $globals;
+
+        $mail = $globals->mail;
+
+        if (empty($mail->domain2) || strlen($mail->domain2) > strlen($mail->domain)) {
+            return $mail->domain;
+        } else {
+            return $mail->domain2;
+        }
+    }
+
+    // }}}
     // {{{ function commit()
 
     function commit ()
     {
-        global $globals;
-        
-        XDB::execute("UPDATE auth_user_quick SET emails_alias_pub = {?} WHERE user_id = {?}", $this->public, $this->uid);
+        XDB::execute("UPDATE auth_user_quick SET emails_alias_pub = {?} WHERE user_id = {?}",
+                     $this->public, $this->uid);
 
         if ($this->old) {
-            return XDB::execute('UPDATE virtual SET alias={?} WHERE alias={?}', $this->alias, $this->old);
+            return XDB::execute('UPDATE virtual SET alias={?} WHERE alias={?}',
+                                $this->alias, $this->old);
         } else {
             XDB::execute('INSERT INTO virtual SET alias={?},type="user"', $this->alias);
-            $vid = mysql_insert_id();
-            $dom = $globals->mail->shorter_domain();
-            return XDB::query('INSERT INTO virtual_redirect (vid,redirect) VALUES ({?}, {?})', $vid, $this->forlife.'@'.$dom);
+            $vid = XDB::insertId();
+            $dom = $this->shorter_domain();
+            return XDB::query('INSERT INTO virtual_redirect (vid,redirect) VALUES ({?}, {?})',
+                              $vid, $this->forlife.'@'.$dom);
         }
     }