From: x2000habouzit Date: Sun, 7 Nov 2004 18:19:02 +0000 (+0000) Subject: melix new way. X-Git-Tag: xorg/old~1027 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=3b80336e1c8dc8c019e714f4db6c355f99d2cc3d;p=platal.git melix new way. have to make the sql conversion scripts too --- diff --git a/htdocs/alias.php b/htdocs/alias.php index 7150794..567a5b7 100644 --- a/htdocs/alias.php +++ b/htdocs/alias.php @@ -18,7 +18,7 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: alias.php,v 1.6 2004-09-02 20:11:22 x2000habouzit Exp $ + $Id: alias.php,v 1.7 2004-11-07 18:19:02 x2000habouzit Exp $ ***************************************************************************/ require("auto.prepend.inc.php"); @@ -29,7 +29,10 @@ new_skinned_page('alias.tpl', AUTH_MDP); $page->assign('demande', AliasReq::get_unique_request($_SESSION['uid'])); //Récupération des alias éventuellement existants -$sql = "SELECT domain from groupex.aliases WHERE id=12 AND email='{$_SESSION['forlife']}'"; +$sql = "SELECT alias + FROM virtual + INNER JOIN virtual_redirect USING(vid) + WHERE redirect='{$_SESSION['forlife']}@m4x.org'"; if($result = $globals->db->query($sql)) { list($aliases) = mysql_fetch_row($result); mysql_free_result($result); @@ -53,7 +56,7 @@ if (isset($_REQUEST['alias']) and isset($_REQUEST['raison'])) { $page->run('error'); } else { //vérifier que l'alias n'est pas déja pris - $result = $globals->db->query("SELECT 1 FROM groupex.aliases WHERE id=12 AND domain LIKE '$alias@melix.net'"); + $result = $globals->db->query("SELECT 1 FROM virtual WHERE alias='$alias@melix.net'"); if (mysql_num_rows($result)>0) { $page->assign('error', "L'alias $alias@melix.net a déja été attribué. Tu ne peux donc pas l'obtenir."); diff --git a/htdocs/emails.php b/htdocs/emails.php index 9284204..a3ffb2b 100644 --- a/htdocs/emails.php +++ b/htdocs/emails.php @@ -18,7 +18,7 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: emails.php,v 1.8 2004-10-10 09:35:56 x2000chevalier Exp $ + $Id: emails.php,v 1.9 2004-11-07 18:19:02 x2000habouzit Exp $ ***************************************************************************/ require("auto.prepend.inc.php"); @@ -38,7 +38,10 @@ $page->mysql_assign($sql, 'mails', 'nb_mails'); // on regarde si l'utilisateur a un alias et si oui on l'affiche ! -$sql = "SELECT domain FROM groupex.aliases WHERE id=12 AND email like '".$_SESSION['forlife']."'"; +$sql = "SELECT alias + FROM virtual AS v + INNER JOIN virtual_redirect AS vr USING(vid) + WHERE redirect='{$_SESSION['forlife']}@m4x.org'"; $result = $globals->db->query($sql); if ($result && list($aliases) = mysql_fetch_row($result)) $page->assign('melix', substr($aliases,0,-3)); diff --git a/htdocs/routage-mail.php b/htdocs/routage-mail.php index 5a2e967..1fe9f9a 100644 --- a/htdocs/routage-mail.php +++ b/htdocs/routage-mail.php @@ -18,7 +18,7 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: routage-mail.php,v 1.8 2004-10-10 09:51:30 x2000chevalier Exp $ + $Id: routage-mail.php,v 1.9 2004-11-07 18:19:02 x2000habouzit Exp $ ***************************************************************************/ require("auto.prepend.inc.php"); @@ -43,7 +43,10 @@ if (isset($_REQUEST['emailop'])) { $page->assign('retour', $redirect->modify_email($_REQUEST['emails_actifs'],$_REQUEST['emails_rewrite'])); } } -$sql = "SELECT domain FROM groupex.aliases WHERE id=12 AND email like'".$_SESSION['forlife']."'"; +$sql = "SELECT alias + FROM virtual + INNER JOIN virtual_redirect USING(vid) + WHERE redirect='{$_SESSION['forlife']}@m4x.org'"; $res = $globals->db->query($sql); list($grx) = mysql_fetch_row($res); $page->assign('grx',$grx); diff --git a/include/valid_aliases.inc.php b/include/valid_aliases.inc.php index bf8984e..3b29745 100644 --- a/include/valid_aliases.inc.php +++ b/include/valid_aliases.inc.php @@ -18,7 +18,7 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: valid_aliases.inc.php,v 1.16 2004-09-05 12:24:41 x2000habouzit Exp $ + $Id: valid_aliases.inc.php,v 1.17 2004-11-07 18:19:03 x2000habouzit Exp $ ***************************************************************************/ class AliasReq extends Validate { @@ -37,10 +37,11 @@ class AliasReq extends Validate { $this->raison = $_raison; $sql = $globals->db->query(" - SELECT l.alias,prenom,nom,domain - FROM auth_user_md5 AS u - INNER JOIN aliases AS l ON (u.user_id=l.id AND type='a_vie') - LEFT JOIN groupex.aliases AS a ON (a.email = l.alias and a.id = 12) + SELECT l.alias,prenom,nom,v.alias + FROM auth_user_md5 AS u + INNER JOIN aliases AS l ON (u.user_id=l.id AND l.type='a_vie') + LEFT JOIN virtual_redirect AS vr ON (CONCAT(l.alias,'@m4x.org') = vr.redirect) + LEFT JOIN virtual AS v USING(vid) WHERE user_id='".$this->uid."'"); list($this->forlife,$this->prenom,$this->nom,$this->old) = mysql_fetch_row($sql); mysql_free_result($sql); @@ -78,9 +79,14 @@ class AliasReq extends Validate { function commit () { global $globals; - $domain=$this->alias.'@melix.net'; - $globals->db->query("DELETE FROM groupex.aliases WHERE id=12 AND email='{$this->forlife}'"); - $globals->db->query("INSERT INTO groupex.aliases SET email='{$this->forlife}',domain='$domain',id=12"); + if($this->old) { + $globals->db->query("UPDATE virtual SET alias='{$this->alias}@melix.net' WHERE alias='{$this->old}'"); + + } else { + $globals->db->query("INSERT INTO virtual SET alias='{$this->alias}@melix.net',type='user'"); + $vid = mysql_insert_id(); + $globals->db->query("INSERT INTO virtual_redirect (vid,redirect) VALUES ($vid,'{$this->forlife}@m4x.org')"); + } } } diff --git a/scripts/migration/0.9.2/99_virtual.sql b/scripts/migration/0.9.2/99_virtual.sql new file mode 100644 index 0000000..2b9c746 --- /dev/null +++ b/scripts/migration/0.9.2/99_virtual.sql @@ -0,0 +1,5 @@ +alter table virtual change column vid vid int not null auto_increment; +alter table virtual change column alias alias varchar(255) not null; +alter table virtual add unique (alias) ; +alter table virtual_redirect change column vid vid int not null auto_increment; +alter table virtual_redirect add index (redirect);