user icon

Roundcubeプラグイン ユーザー情報の取得方法

Roundcubeでのユーザー情報の取得方法について紹介します。

①ユーザー情報
ユーザー情報の取得方法は以下のようになります。

$rc = rcmail::get_instance();
$user_data = $rc->user->data;
error_log(print_r($user_data,true));

このような情報が取得できます。

(
    [user_id] => 4
    [username] => foo
    [mail_host] => 192.168.15.117
    [alias] => 
    [created] => 2013-04-11 10:14:23
    [last_login] => 2013-05-17 07:45:24
    [language] => ja_JP
    [preferences] => a:5:{s:16:"message_sort_col";s:7:"subject";s:18:"message_sort_order";s:3:"ASC";s:8:"timezone";s:4:"auto";s:4:"skin";s:5:"larry";s:17:"message_threading";a:0:{}}
)

②識別情報
Roundcubeでは設定画面から識別情報を登録出来ます。

以下のようにして識別情報を取得出来ます。

$rc = rcmail::get_instance();
$identity = $rc->user->get_identity();
error_log(print_r($identity,true));
(
    [identity_id] => 4
    [user_id] => 4
    [changed] => 2013-05-17 12:28:06
    [del] => 0
    [standard] => 1
    [name] => テスト
    [organization] => bar
    [email] => foo@roundcube.com
    [reply-to] => hoge@roundcube.com
    [bcc] => test@roundcube.com
    [signature] => 署名
    [html_signature] => 0
)

③特定のユーザーの情報を取得する方法。

$rc = rcmail::get_instance();
$identity = $rc->user->get_identity();

上記のようにユーザー情報を取得する場合、ログインユーザーの情報を取得します。

その理由は、rcmailクラスの188行目が以下のようになっているからです。

    // create user object
    $this->set_user(new rcube_user($_SESSION['user_id']));

ということで、Roundcubeのuser_idがわかれば、rcube_userクラスをインスタンス化し
ユーザー情報やユーザーの識別情報を取得出来ます。

例えば、次のようになります。

$user_id = 4;
$user = new rcube_user($user_id);
$user_data = $user->data;
$user_identity = $user->get_identity();
error_log(print_r($user_data,true));
error_log(print_r($user_identity,true));
Facebooktwitterlinkedintumblrmail
名前
E-mail
URL
コメント

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)