Aleksander Machniak
2015-11-22 9f1f754daf4b57a0d0d3aea95d2321716d218cf5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
 
/**
 * Sample plugin that adds a new tab to the settings section
 * to display some information about the current user
 */
class userinfo extends rcube_plugin
{
    public $task    = 'settings';
    public $noajax  = true;
    public $noframe = true;
 
    function init()
    {
        $this->add_texts('localization/', array('userinfo'));
        $this->register_action('plugin.userinfo', array($this, 'infostep'));
        $this->include_script('userinfo.js');
    }
 
    function infostep()
    {
        $this->register_handler('plugin.body', array($this, 'infohtml'));
        rcmail::get_instance()->output->send('plugin');
    }
 
    function infohtml()
    {
        $rcmail   = rcmail::get_instance();
        $user     = $rcmail->user;
        $identity = $user->get_identity();
 
        $table = new html_table(array('cols' => 2, 'cellpadding' => 3));
 
        $table->add('title', 'ID');
        $table->add('', rcube::Q($user->ID));
 
        $table->add('title', rcube::Q($this->gettext('username')));
        $table->add('', rcube::Q($user->data['username']));
 
        $table->add('title', rcube::Q($this->gettext('server')));
        $table->add('', rcube::Q($user->data['mail_host']));
 
        $table->add('title', rcube::Q($this->gettext('created')));
        $table->add('', rcube::Q($user->data['created']));
 
        $table->add('title', rcube::Q($this->gettext('lastlogin')));
        $table->add('', rcube::Q($user->data['last_login']));
 
        $table->add('title', rcube::Q($this->gettext('defaultidentity')));
        $table->add('', rcube::Q($identity['name'] . ' <' . $identity['email'] . '>'));
 
        return html::tag('h4', null, rcube::Q('Infos for ' . $user->get_username())) . $table->show();
    }
}