From: Pierre Habouzit (MadCoder Date: Sun, 12 Dec 2004 22:33:19 +0000 (+0000) Subject: use get_user_login X-Git-Tag: xorg/old~677 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=9030d1d933e3059e5049adae5082be064975c976;p=platal.git use get_user_login now that we have a tiny wonderful function. use it everywhere ! git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-71 --- diff --git a/htdocs/TESTS/xorg_user.php b/htdocs/TESTS/xorg_user.php index 1470e65..bdf7631 100644 --- a/htdocs/TESTS/xorg_user.php +++ b/htdocs/TESTS/xorg_user.php @@ -29,6 +29,8 @@ class TestOfXOrgUsers extends UnitTestCase { $login = get_user_login("madcoder@polytechnique.org"); $this->assertIdentical($login, 'madcoder'); + $login = get_user_login("madcoder@polytechnique.org", true); + $this->assertIdentical($login, 'pierre.habouzit.2000'); $login = get_user_login("madcoder@m4x.org"); $this->assertIdentical($login, 'madcoder'); diff --git a/htdocs/carnet/mescontacts.php b/htdocs/carnet/mescontacts.php index a954250..2c80f2d 100644 --- a/htdocs/carnet/mescontacts.php +++ b/htdocs/carnet/mescontacts.php @@ -45,15 +45,19 @@ if (isset($_REQUEST['action'])) { // si l'utilisateur demande l'ajout de qqun à sa liste } elseif ($_REQUEST["action"]=="ajouter") { - if (($res = $globals->db->query("SELECT id FROM aliases WHERE alias='{$_REQUEST['user']}' AND type!='homonyme'")) && mysql_num_rows($res)==1) { - list($cont_user_id) = mysql_fetch_row($res); - if ($globals->db->query("INSERT INTO contacts set uid = '{$_SESSION['uid']}', contact = '$cont_user_id'")) { + require_once('user.func.inc.php'); + if (($login = get_user_login($_REQUEST['user'])) !== false) { + if ($globals->db->query("INSERT INTO contacts (uid, contact) + SELECT '{$_SESSION['uid']}', id + FROM aliases + WHERE alias='$login'")) + { $page->trig('Contact ajouté !'); - } else + } else { $page->trig('Contact déjà dans la liste !'); - } else { - $page->trig('Utilisateur inexistant ou non inscrit !'); + } } + } } diff --git a/htdocs/listes/admin.php b/htdocs/listes/admin.php index 2e9865a..1947247 100644 --- a/htdocs/listes/admin.php +++ b/htdocs/listes/admin.php @@ -29,10 +29,16 @@ require_once('lists.inc.php'); $client =& lists_xmlrpc($_SESSION['uid'], $_SESSION['password']); if(isset($_REQUEST['add_member'])) { - $arr = $client->mass_subscribe($liste, Array($_REQUEST['add_member'])); + require_once('user.func.inc.php'); + if (($login = get_user_forlife($_REQUEST['add_member'])) === false) {; + $login = $_REQUEST['add_member']; + } + + $arr = $client->mass_subscribe($liste, Array($login)); if(is_array($arr)) { foreach($arr as $addr) { $page->trig("{$addr[0]} inscrit."); + } } } @@ -42,7 +48,12 @@ if(isset($_REQUEST['del_member'])) { } if(isset($_REQUEST['add_owner'])) { - if($client->add_owner($liste, $_REQUEST['add_owner'])) { + require_once('user.func.inc.php'); + if (($login = get_user_forlife($_REQUEST['add_owner'])) === false) {; + $login = $_REQUEST['add_owner']; + } + + if($client->add_owner($liste, $login)) { $page->trig($_REQUEST['add_owner']." ajouté aux modérateurs."); } } diff --git a/htdocs/listes/create.php b/htdocs/listes/create.php index f7bffc7..070e1d2 100644 --- a/htdocs/listes/create.php +++ b/htdocs/listes/create.php @@ -27,28 +27,18 @@ $members = empty($_POST['members']) ? Array() : preg_split("/[\r\n]+/",$_POST['m if(isset($_POST['desc'])) $_POST['desc'] = stripslashes($_POST['desc']); -if(isset($_POST['add_owner_sub']) && isset($_POST['add_owner'])) { - $res = $globals->db->query(" - SELECT a.alias AS forlife - FROM aliases AS a - INNER JOIN aliases AS b USING(id) - WHERE b.alias='{$_POST['add_owner']}' AND b.type!='homonyme' AND a.type='a_vie'"); - if(list($forlife) = mysql_fetch_row($res)) { - $owners [] = $forlife; +if(isset($_POST['add_owner_sub']) && !empty($_POST['add_owner'])) { + require_once('user.func.inc.php'); + if (($forlife = get_user_forlife($_REQUEST['add_owner'])) === false) {; + $owners [] = $forlife; } - mysql_free_result($res); } -if(isset($_POST['add_member_sub']) && isset($_POST['add_member'])) { - $res = $globals->db->query(" - SELECT a.alias AS forlife - FROM aliases AS a - INNER JOIN aliases AS b USING(id) - WHERE b.alias='{$_POST['add_member']}' AND b.type!='homonyme' AND a.type='a_vie'"); - if(list($forlife) = mysql_fetch_row($res)) { - $members[] = $forlife; +if(isset($_POST['add_member_sub']) && !empty($_POST['add_member'])) { + require_once('user.func.inc.php'); + if (($forlife = get_user_forlife($_REQUEST['add_member'])) === false) {; + $members[] = $forlife; } - mysql_free_result($res); } ksort($owners); array_unique($owners); diff --git a/include/user.func.inc.php b/include/user.func.inc.php index aaea635..5753e8f 100644 --- a/include/user.func.inc.php +++ b/include/user.func.inc.php @@ -69,7 +69,7 @@ function user_clear_all_subs($user_id, $really_del=true) // }}} // {{{ function get_user_login() -function get_user_login($data) { +function get_user_login($data, $get_forlife = false) { global $globals, $page; if (preg_match(',^[0-9]*$,', $data)) { @@ -92,13 +92,21 @@ function get_user_login($data) { list($mbox, $fqdn) = split('@', $data); if ($fqdn == $globals->mail->domain || $fqdn == $globals->mail->domain2) { - $res = $globals->db->query("SELECT COUNT(alias) FROM aliases WHERE alias='$mbox' AND type IN ('alias', 'a_vie')"); - list($c) = mysql_fetch_row($res); - mysql_free_result($res); - if (!$c && $page) { - $page->trig("il n'y a pas d'utilisateur avec ce login"); + $res = $globals->db->query("SELECT a.alias + FROM aliases AS a + INNER JOIN aliases AS b ON (a.id = b.id AND b.type IN ('alias', 'a_vie') AND b.alias='$mbox') + WHERE a.type = 'a_vie'"); + if (mysql_num_rows($res)) { + if ($get_forlife) { + list($alias) = mysql_fetch_row($res); + } else { + $alias = $mbox; + } + } else { + $alias = false; } - return $c ? $mbox : false; + mysql_free_result($res); + return $alias; } elseif ($fqdn == $globals->mail->alias_dom || $fqdn == $globals->mail->alias_dom2) { @@ -145,5 +153,13 @@ function get_user_login($data) { } // }}} +// {{{ function get_user_forlife() + +function get_user_forlife($data) { + return get_user_login($data, true); +} + +// }}} + // vim:set et sw=4 sts=4 sws=4 foldmethod=marker: ?>