diff options
| author | Aleksander Machniak <alec@alec.pl> | 2012-11-26 10:08:40 +0100 | 
|---|---|---|
| committer | Aleksander Machniak <alec@alec.pl> | 2012-11-26 10:08:40 +0100 | 
| commit | 789e5988aaebb78d368b137b98169ec1e616159c (patch) | |
| tree | ba855c4b2464b659703d5d08202f85c48ed1c180 /program | |
| parent | c72fbf06d6b08addbcc5dc234392b591c4239632 (diff) | |
Clarify rcube::get_user_name() usage, add rcube::get_user_email()
Diffstat (limited to 'program')
| -rw-r--r-- | program/lib/Roundcube/rcube.php | 16 | ||||
| -rw-r--r-- | program/lib/Roundcube/rcube_ldap.php | 2 | ||||
| -rw-r--r-- | program/lib/Roundcube/rcube_user.php | 7 | ||||
| -rw-r--r-- | program/steps/settings/edit_identity.inc | 5 | ||||
| -rw-r--r-- | program/steps/settings/save_identity.inc | 5 | 
5 files changed, 28 insertions, 7 deletions
| diff --git a/program/lib/Roundcube/rcube.php b/program/lib/Roundcube/rcube.php index 0eed6cf67..27e10a918 100644 --- a/program/lib/Roundcube/rcube.php +++ b/program/lib/Roundcube/rcube.php @@ -1203,8 +1203,22 @@ class rcube          if (is_object($this->user)) {              return $this->user->get_username();          } +        else if (isset($_SESSION['username'])) { +            return $_SESSION['username']; +        } +    } -        return null; + +    /** +     * Getter for logged user email (derived from user name not identity). +     * +     * @return string User email address +     */ +    public function get_user_email() +    { +        if (is_object($this->user)) { +            return $this->user->get_username('mail'); +        }      }  } diff --git a/program/lib/Roundcube/rcube_ldap.php b/program/lib/Roundcube/rcube_ldap.php index 34e37e3b9..e3ba8c29f 100644 --- a/program/lib/Roundcube/rcube_ldap.php +++ b/program/lib/Roundcube/rcube_ldap.php @@ -273,7 +273,7 @@ class rcube_ldap extends rcube_addressbook              }              // Get the pieces needed for variable replacement. -            if ($fu = $rcube->get_user_name()) +            if ($fu = $rcube->get_user_email())                  list($u, $d) = explode('@', $fu);              else                  $d = $this->mail_domain; diff --git a/program/lib/Roundcube/rcube_user.php b/program/lib/Roundcube/rcube_user.php index 7bd73e08c..864f2e098 100644 --- a/program/lib/Roundcube/rcube_user.php +++ b/program/lib/Roundcube/rcube_user.php @@ -86,12 +86,17 @@ class rcube_user      /**       * Build a user name string (as e-mail address)       * -     * @param  string $part Username part (empty or 'local' or 'domain') +     * @param  string $part Username part (empty or 'local' or 'domain', 'mail')       * @return string Full user name or its part       */      function get_username($part = null)      {          if ($this->data['username']) { +            // return real name +            if (!$part) { +                return $this->data['username']; +            } +              list($local, $domain) = explode('@', $this->data['username']);              // at least we should always have the local part diff --git a/program/steps/settings/edit_identity.inc b/program/steps/settings/edit_identity.inc index f82169017..39076f408 100644 --- a/program/steps/settings/edit_identity.inc +++ b/program/steps/settings/edit_identity.inc @@ -42,8 +42,9 @@ else {      rcmail_overwrite_action('identities');      return;    } -  else if (IDENTITIES_LEVEL == 1) -    $IDENTITY_RECORD['email'] = $RCMAIL->user->get_username(); +  else if (IDENTITIES_LEVEL == 1) { +    $IDENTITY_RECORD['email'] = $RCMAIL->get_user_email(); +  }  } diff --git a/program/steps/settings/save_identity.inc b/program/steps/settings/save_identity.inc index 8515c44f1..d579ee61f 100644 --- a/program/steps/settings/save_identity.inc +++ b/program/steps/settings/save_identity.inc @@ -107,8 +107,9 @@ if ($_POST['_iid'])  // insert a new identity record  else if (IDENTITIES_LEVEL < 2)  { -  if (IDENTITIES_LEVEL == 1) -    $save_data['email'] = $RCMAIL->user->get_username(); +  if (IDENTITIES_LEVEL == 1) { +    $save_data['email'] = $RCMAIL->get_user_email(); +  }    $plugin = $RCMAIL->plugins->exec_hook('identity_create', array('record' => $save_data));    $save_data = $plugin['record']; | 
