X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=plugins%2Flistcommands%2Fsetup.php;h=adb836a67d03385df4dbb82deb766b9c1d74171c;hp=4a9b73cb14e5c5c5c15de9df4596561e42bc3808;hb=c4faef335b2362c81b8ebf026d4066c12d70536c;hpb=ea5f4b8eaf805c4cc4e9533e87d057300a7fe666 diff --git a/plugins/listcommands/setup.php b/plugins/listcommands/setup.php index 4a9b73cb..adb836a6 100644 --- a/plugins/listcommands/setup.php +++ b/plugins/listcommands/setup.php @@ -3,15 +3,14 @@ /** * setup.php * - * Copyright (c) 1999-2003 The SquirrelMail Project Team - * Licensed under the GNU GPL. For full terms see the file COPYING. - * * Implementation of RFC 2369 for SquirrelMail. * When viewing a message from a mailinglist complying with this RFC, * this plugin displays a menu which gives the user a choice of mailinglist * commands such as (un)subscribe, help and list archives. * - * $Id$ + * @copyright 1999-2020 The SquirrelMail Project Team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License + * @version $Id$ * @package plugins * @subpackage listcommands */ @@ -22,73 +21,24 @@ function squirrelmail_plugin_init_listcommands () { global $squirrelmail_plugin_hooks; - $squirrelmail_plugin_hooks['read_body_header']['listcommands'] = 'plugin_listcommands_menu'; + $squirrelmail_plugin_hooks['template_construct_read_headers.tpl']['listcommands'] = 'plugin_listcommands_menu'; + $squirrelmail_plugin_hooks['optpage_register_block']['listcommands'] = 'plugin_listcommands_optpage_register_block'; + } +/** + * Main function added to read_body_header + */ function plugin_listcommands_menu() { - global $passed_id, $passed_ent_id, $color, $mailbox, $message; - - /** - * Array of commands we can deal with from the header. The Reply option - * is added later because we generate it using the Post information. - */ - $fieldsdescr = array('post' => _("Post to List"), - 'reply' => _("Reply to List"), - 'subscribe' => _("Subscribe"), - 'unsubscribe' => _("Unsubscribe"), - 'archive' => _("List Archives"), - 'owner' => _("Contact Listowner"), - 'help' => _("Help")); - $output = array(); - - foreach ($message->rfc822_header->mlist as $cmd => $actions) { - - /* I don't know this action... skip it */ - if ( ( function_exists('array_key_exists') && /* PHP >= 4.1 */ - !array_key_exists($cmd, $fieldsdescr) ) || - ( function_exists('key_exists') && - !key_exists($cmd, $fieldsdescr) ) /* PHP == 4.0.6 */ - ) { - continue; - } - - /* proto = {mailto,href} */ - $proto = array_shift(array_keys($actions)); - $act = array_shift($actions); - - if ($proto == 'mailto') { - - if (($cmd == 'post') || ($cmd == 'owner')) { - $url = 'src/compose.php?'; - } else { - $url = "plugins/listcommands/mailout.php?action=$cmd&"; - } - $url .= 'send_to=' . strtr($act,'?','&'); - - $output[] = makeComposeLink($url, $fieldsdescr[$cmd]); - - if ($cmd == 'post') { - $url .= '&passed_id='.$passed_id. - '&mailbox='.urlencode($mailbox). - (isset($passed_ent_id)?'&passed_ent_id='.$passed_ent_id:''); - $url .= '&smaction=reply'; + include_once(SM_PATH . 'plugins/listcommands/functions.php'); + return plugin_listcommands_menu_do(); +} - $output[] = makeComposeLink($url, $fieldsdescr['reply']); - } - } else if ($proto == 'href') { - $output[] = '' - . $fieldsdescr[$cmd] . ''; - } - } - if (count($output) > 0) { - echo ''; - echo html_tag('td', '' . _("Mailing List") . ':  ', - 'right', '', 'valign="middle" width="20%"') . "\n"; - echo html_tag('td', '' . implode(' | ', $output) . '', - 'left', $color[0], 'valign="middle" width="80%"') . "\n"; - echo ''; - } +/** + * Show mailing list management option section on options page + */ +function plugin_listcommands_optpage_register_block() { + include_once(SM_PATH . 'plugins/listcommands/functions.php'); + plugin_listcommands_optpage_register_block_do(); } - -?>