now that we have a tiny wonderful function.
use it everywhere !
git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-71
$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');
// 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 !');
+ }
}
+
}
}
$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.");
+ }
}
}
}
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.");
}
}
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);
// }}}
// {{{ 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)) {
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) {
}
// }}}
+// {{{ 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:
?>