diff options
| author | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2008-06-14 12:23:08 +0000 |
|---|---|---|
| committer | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2008-06-14 12:23:08 +0000 |
| commit | fbfe177b9cf9566099c30a8daea5c0d7832c0a96 (patch) | |
| tree | 80a1171058627fa37aa45092ebcd0f9467d4b6c4 /roundcubemail/program/include/rcube_user.php | |
| parent | 2eddb925dd497390185e185fd43b67df52e808f2 (diff) | |
More code cleanup
git-svn-id: https://svn.roundcube.net/trunk@1532 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include/rcube_user.php')
| -rw-r--r-- | roundcubemail/program/include/rcube_user.php | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/roundcubemail/program/include/rcube_user.php b/roundcubemail/program/include/rcube_user.php index c808d079e..5f970ec6a 100644 --- a/roundcubemail/program/include/rcube_user.php +++ b/roundcubemail/program/include/rcube_user.php @@ -362,7 +362,7 @@ class rcube_user if ($user_id = $dbh->insert_id(get_sequence_name('users'))) { - $mail_domain = rcmail_mail_domain($host); + $mail_domain = $rcmail->config->mail_domain($host); if ($user_email=='') $user_email = strpos($user, '@') ? $user : sprintf('%s@%s', $user, $mail_domain); @@ -420,7 +420,7 @@ class rcube_user static function email2user($email) { $user = $email; - $r = rcmail_findinvirtual("^$email"); + $r = self::findinvirtual("^$email"); for ($i=0; $i<count($r); $i++) { @@ -446,7 +446,7 @@ class rcube_user static function user2email($user) { $email = ""; - $r = rcmail_findinvirtual("$user$"); + $r = self::findinvirtual("$user$"); for ($i=0; $i<count($r); $i++) { @@ -461,6 +461,39 @@ class rcube_user return $email; } + + + /** + * Find matches of the given pattern in virtuser table + * + * @param string Regular expression to search for + * @return array Matching entries + */ + private static function findinvirtual($pattern) + { + $result = array(); + $virtual = null; + + if ($virtuser_file = rcmail::get_instance()->config->get('virtuser_file')) + $virtual = file($virtuser_file); + + if (empty($virtual)) + return $result; + + // check each line for matches + foreach ($virtual as $line) + { + $line = trim($line); + if (empty($line) || $line{0}=='#') + continue; + + if (eregi($pattern, $line)) + $result[] = $line; + } + + return $result; + } + } |
