From 564a2ba793b8d98abc6b7387f9fe1db869fce1b6 Mon Sep 17 00:00:00 2001 From: alecpl Date: Wed, 22 Jul 2009 09:15:36 +0000 Subject: - Help plugin - support 'dummy' task (for plugins) --- plugins/help/help.php | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 plugins/help/help.php (limited to 'plugins/help/help.php') diff --git a/plugins/help/help.php b/plugins/help/help.php new file mode 100644 index 000000000..336321c88 --- /dev/null +++ b/plugins/help/help.php @@ -0,0 +1,90 @@ +add_texts('localization/', false); + + // register actions + $this->register_action('plugin.help', array($this, 'action')); + $this->register_action('plugin.helpabout', array($this, 'action')); + $this->register_action('plugin.helplicense', array($this, 'action')); + + // add taskbar button + $this->add_button(array( + 'name' => 'helptask', + 'class' => 'button-help', + 'label' => 'help.help', + 'href' => './?_task=dummy&_action=plugin.help', + ), 'taskbar'); + + $skin = rcmail::get_instance()->config->get('skin'); + if (!file_exists($this->home."/skins/$skin/help.css")) + $skin = 'default'; + + // add style for taskbar button (must be here) and Help UI + $this->include_stylesheet("skins/$skin/help.css"); + } + + function action() + { + $rcmail = rcmail::get_instance(); + + // register UI objects + $rcmail->output->add_handlers(array( + 'helpcontent' => array($this, 'content'), + )); + + if ($rcmail->action == 'plugin.helpabout') + $rcmail->output->set_pagetitle($this->gettext('about')); + else if ($rcmail->action == 'plugin.helplicense') + $rcmail->output->set_pagetitle($this->gettext('license')); + else + $rcmail->output->set_pagetitle($this->gettext('help')); + + $rcmail->output->send('help.help'); + } + + function content($attrib) + { + $rcmail = rcmail::get_instance(); + + if ($rcmail->action == 'plugin.helpabout') { + return @file_get_contents($this->home.'/content/about.html'); + } + else if ($rcmail->action == 'plugin.helplicense') { + return @file_get_contents($this->home.'/content/license.html'); + } + + // default content: iframe + + if ($src = $rcmail->config->get('help_source')) + $attrib['src'] = $src; + + if (empty($attrib['id'])) + $attrib['id'] = 'rcmailhelpcontent'; + + // allow the following attributes to be added to the '."\n", $framename, $attrib_str); + + return $out; + } + +} + +?> -- cgit v1.2.3