Properly orders login by length.
[platal.git] / plugins / insert.getUserName.php
1 <?php
2 /***************************************************************************
3 * Copyright (C) 2003-2011 Polytechnique.org *
4 * http://opensource.polytechnique.org/ *
5 * *
6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation; either version 2 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program; if not, write to the Free Software *
18 * Foundation, Inc., *
19 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
20 ***************************************************************************/
21
22 function smarty_insert_getUsername()
23 {
24 $id = Cookie::i('uid', -1);
25 $id = S::v('uid', $id);
26
27 if ($id < 0) {
28 return '';
29 }
30
31 $domain = Cookie::v('domain', 'login');
32 if ($domain == 'hruid') {
33 return XDB::fetchOneCell('SELECT hruid
34 FROM accounts
35 WHERE uid = {?}',
36 $id);
37 } elseif ($domain == 'alias') {
38 return XDB::fetchOneCell('SELECT email
39 FROM email_source_account
40 WHERE uid = {?} AND type = \'alias_aux\'',
41 $id);
42 } else {
43 return XDB::fetchOneCell('SELECT email
44 FROM email_source_account
45 WHERE uid = {?} AND type != \'alias_aux\'
46 ORDER BY NOT FIND_IN_SET(\'bestalias\', flags), CHAR_LENGTH(email)',
47 $id);
48 }
49
50 return '';
51 }
52
53 // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
54 ?>