X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Femails.inc.php;h=37582e685d57ca9ecf5589f765569df1206d871b;hb=61d1fd8b2ce54b76b7df7a8fa637ffd4932f2403;hp=084d25b77dfb18e80526635f0907eaab1f1bfb9f;hpb=5b516e6be17378ace0e375b9da14a46051bf0f4e;p=platal.git diff --git a/include/emails.inc.php b/include/emails.inc.php index 084d25b..37582e6 100644 --- a/include/emails.inc.php +++ b/include/emails.inc.php @@ -1,6 +1,6 @@ id()); if ($res->fetchOneCell()) { return; @@ -39,7 +39,7 @@ function fix_bestalias(User &$user) XDB::execute("UPDATE aliases SET flags=CONCAT(flags,',','bestalias') - WHERE id={?} AND type!='homonyme' + WHERE uid={?} AND type!='homonyme' ORDER BY !FIND_IN_SET('usage',flags),alias LIKE '%.%', LENGTH(alias) LIMIT 1", $user->id()); } @@ -55,8 +55,11 @@ function valide_email($str) $em = trim(rtrim($str)); $em = str_replace('<', '', $em); $em = str_replace('>', '', $em); + if (strpos($em, '@') === false) { + return; + } list($ident, $dom) = explode('@', $em); - if ($dom == $globals->mail->domain or $dom == $globals->mail->domain2) { + if ($dom == $globals->mail->domain || $dom == $globals->mail->domain2) { list($ident1) = explode('_', $ident); list($ident) = explode('+', $ident1); } @@ -111,7 +114,7 @@ function ids_from_mails(array $emails) if (count($domain_mails)) { $domain_users = array_map(array('XDB', 'escape'), array_keys($domain_mails)); $list = implode(',', $domain_users); - $res = XDB::query("SELECT alias, id + $res = XDB::query("SELECT alias, uid FROM aliases WHERE alias IN ($list)"); foreach ($res->fetchAllRow() as $row) { @@ -127,7 +130,7 @@ function ids_from_mails(array $emails) $alias_users[] = XDB::escape($user."@".$globals->mail->alias_dom); } $list = implode(',', $alias_users); - $res = XDB::query("SELECT v.alias, a.id + $res = XDB::query("SELECT v.alias, a.uid FROM virtual AS v INNER JOIN virtual_redirect AS r USING(vid) INNER JOIN aliases AS a ON (a.type = 'a_vie'