summaryrefslogtreecommitdiff
path: root/plugins/userinfo/userinfo.php
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/userinfo/userinfo.php')
-rw-r--r--plugins/userinfo/userinfo.php55
1 files changed, 55 insertions, 0 deletions
diff --git a/plugins/userinfo/userinfo.php b/plugins/userinfo/userinfo.php
new file mode 100644
index 000000000..a175563ef
--- /dev/null
+++ b/plugins/userinfo/userinfo.php
@@ -0,0 +1,55 @@
+<?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;
+
+ $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']));
+
+ $identity = $user->get_identity();
+ $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();
+ }
+
+}