Add preview pane to advanced default template. This serves as an example of how...
[squirrelmail.git] / plugins / listcommands / setup.php
index e6df69d77dfda61d06d78ec40dd12b0d48d41204..82969a7a92a28ebdd09e4d096eb38e94367cb428 100644 (file)
@@ -3,96 +3,42 @@
 /**
  * setup.php
  *
- * Copyright (c) 1999-2002 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-2007 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
+ * @package plugins
+ * @subpackage listcommands
  */
 
+/**
+ * Initialize the listcommands plugin
+ */
 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, $compose_new_win;
-
-    /**
-     * 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 */
-        /* grrr PHP keeps changing their syntax... */
-        if( function_exists('array_key_exists') ) {
-            if(!array_key_exists($cmd, $fieldsdescr)) {
-                continue;
-            }
-        } elseif ( !key_exists($cmd, $fieldsdescr) ) {
-            continue;
-        }
-
-        /* proto = {mailto,href} */
-       $proto = array_shift(array_keys($actions));
-       $act   = array_shift($actions);
-
-        if ($proto == 'mailto') {
-
-            if (($cmd == 'post') || ($cmd == 'owner')) {
-                $url = 'compose.php?';
-            } else {
-                $url = "../plugins/listcommands/mailout.php?action=$cmd&";
-            }
-            $url .= 'send_to=' . strtr($act,'?','&');
+    include_once(SM_PATH . 'plugins/listcommands/functions.php');
+    return plugin_listcommands_menu_do();
+}
 
-            if ($compose_new_win == '1') {
-                $output[] = "<a href=\"javascript:void(0)\" onclick=\"comp_in_new('$url')\">" . $fieldsdescr[$cmd] . '</A>';
-            }
-            else {
-                $output[] = '<A HREF="' . $url . '">' . $fieldsdescr[$cmd] . '</A>';
-            }
-            if ($cmd == 'post') {
-               $url .= '&amp;passed_id='.$passed_id.
-                       '&amp;mailbox='.urlencode($mailbox).
-                       (isset($passed_ent_id)?'&amp;passed_ent_id='.$passed_ent_id:'');
-                $url .= '&amp;action=reply';
-                if ($compose_new_win == '1') {
-                    $output[] = "<A HREF=\"javascript:void(0)\" onClick=\"comp_in_new('$url')\">" . $fieldsdescr['reply'] . '</A>';
-                } else {
-                    $output[] = '<A HREF="' . $url . '">' . $fieldsdescr['reply'] . '</A>';
-                }
-            }
-        } else if ($proto == 'href') {
-            $output[] = '<A HREF="' . $act . '" TARGET="_blank">'
-                      . $fieldsdescr[$cmd] . '</A>';
-        }
-    }
 
-    if (count($output) > 0) {
-        echo '<TR>';
-        echo html_tag('TD', '<B>' . _("Mailing List") . ':&nbsp;&nbsp;</B>',
-                      'right', '', 'VALIGN="MIDDLE" WIDTH="20%"') . "\n";
-        echo html_tag('TD', '<SMALL>' . implode('&nbsp;|&nbsp;', $output) . '</small>',
-                      'left', $color[0], 'VALIGN="MIDDLE" WIDTH="80%"') . "\n";
-        echo "</TR>";
-    }
+/**
+  * 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();
 }
-
-?>