X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fpluser.php;h=c974b7e3ad50fa8170be9fb70fc2fba6bcfc1cf1;hb=refs%2Fheads%2Fcore%2Fmaster;hp=c4ae622cbfd51f9a4bc1287b152398f47030ef9f;hpb=fd05958d9d359f5e76cb42f86e2e9398f902f74c;p=platal.git diff --git a/classes/pluser.php b/classes/pluser.php index c4ae622..c974b7e 100644 --- a/classes/pluser.php +++ b/classes/pluser.php @@ -1,6 +1,6 @@ !"), while full name is the official full name. protected $display_name = null; protected $full_name = null; + protected $sort_name = null; // Other important parameters used when sending emails. protected $gender = null; // Acceptable values are GENDER_MALE and GENDER_FEMALE @@ -133,13 +147,30 @@ abstract class PlUser return $this->hruid; } + public function isMe($other) + { + if (!$other) { + return false; + } else if ($other instanceof PlUser) { + return $other->id() == $this->id(); + } else { + return false; + } + } + public function bestEmail() { - return $this->bestalias; + if (!empty($this->bestalias)) { + return $this->bestalias; + } + return $this->email; } public function forlifeEmail() { - return $this->forlife; + if (!empty($this->forlife)) { + return $this->forlife; + } + return $this->email; } public function displayName() @@ -320,7 +351,7 @@ abstract class PlUser if (strlen(trim($logins)) == 0) { return null; } - $logins = split("[; ,\r\n\|]+", $logins); + $logins = preg_split("/[; ,\r\n\|]+/", $logins); } if ($logins) { @@ -337,7 +368,7 @@ abstract class PlUser $list[$i] = $login; } } - return $list; + return array_unique($list); } return null; } @@ -371,17 +402,9 @@ abstract class PlUser return; } - abstract public static function _default_user_callback($login, $results); - - /** - * Determines if the @p login is an email address, and an email address not - * served locally by plat/al. - */ - abstract public static function isForeignEmailAddress($email); - private static function stripBadChars($text) { - return str_replace(array(' ', "'"), array('-', ''), + return str_replace(array(' ', "'", '+'), array('-', '', '_'), strtolower(stripslashes(replace_accent(trim($text))))); } @@ -404,7 +427,7 @@ abstract class PlUser public static function makeHrid($firstname, $lastname, $category) { $cat = self::stripBadChars($category); - if (!cat) { + if (!$cat) { Platal::page()->kill("$category is not a suitable category."); } @@ -432,5 +455,5 @@ abstract class PlUser } } -// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8: ?>