Massive update to plugin system architecture. Please test! Not all core plugins...
authorpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sun, 10 Dec 2006 05:13:40 +0000 (05:13 +0000)
committerpdontthink <pdontthink@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Sun, 10 Dec 2006 05:13:40 +0000 (05:13 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@11991 7612ce4b-ef26-0410-bec9-ea0150e637f0

31 files changed:
plugins/change_password/functions.php
plugins/change_password/options.php
plugins/filters/setup.php
plugins/info/options.php
src/addrbook_search_html.php
src/addressbook.php
src/compose.php
src/configtest.php
src/folders.php
src/help.php
src/login.php
src/options.php
src/options_highlight.php
src/options_identities.php
src/printer_friendly_bottom.php
src/read_body.php
src/redirect.php
src/right_main.php
src/search.php
src/signout.php
src/view_html.php
src/view_text.php
src/webmail.php
templates/default/folder_manip.tpl
templates/default/left_main.tpl
templates/default/message_list.tpl
templates/default/options_advidentity_list.tpl
templates/default/page_header.tpl
templates/default/signout.tpl
templates/default/webmail.tpl
templates/default_advanced/left_main.tpl

index a0cd81dc6187426581c5f70e3db34f74231acfa3..9e180f6f0f8c841e6577452069b79ece3a45c9d8 100644 (file)
@@ -85,11 +85,11 @@ function cpw_do_change()
 
     require_once(SM_PATH . 'plugins/change_password/backend/'.$cpw_backend.'.php');
 
-    $msgs = do_hook_function('change_password_dochange',
-        array (
-            'username' => $username,
-            'curpw' => $curpw,
-            'newpw' => $newpw
+    $msgs = do_hook('change_password_dochange',
+        $temp=array (
+            'username' => &$username,
+            'curpw' => &$curpw,
+            'newpw' => &$newpw
         ) );
 
     /* something bad happened, return */
index d4c8659aad3a6be7c692be843ee78cb349680a58..c51fdde0ec6f1cf1b3e49c30f5d1eed1f7cb8865 100644 (file)
@@ -64,7 +64,7 @@ if(sqgetGlobalVar('cpw_go', $cpw_go, SQ_POST)) {
 
 displayPageHeader($color, 'None');
 
-do_hook('change_password_init');
+do_hook('change_password_init', $null);
 ?>
 
 <br />
@@ -104,4 +104,4 @@ if (isset($Messages) && count($Messages) > 0) {
     </form>
 </td></tr>
 </table>
-</body></html>
\ No newline at end of file
+</body></html>
index 7821ca72ae9b03ef2ccc71e62dc5d0b554a73656..e565805180c7d07a83ebba66e61676f332a8aa75 100644 (file)
@@ -22,7 +22,7 @@ function squirrelmail_plugin_init_filters() {
     $squirrelmail_plugin_hooks['optpage_register_block']['filters'] = 'filters_optpage_register_block_hook';
     $squirrelmail_plugin_hooks['special_mailbox']['filters'] = 'filters_special_mailbox';
     $squirrelmail_plugin_hooks['rename_or_delete_folder']['filters'] = 'update_for_folder_hook';
-    $squirrelmail_plugin_hooks['webmail_bottom']['filters'] = 'start_filters_hook';
+    $squirrelmail_plugin_hooks['template_construct_login_webmail.tpl']['filters'] = 'start_filters_hook';
     $squirrelmail_plugin_hooks['folder_status']['filters'] = 'filters_folder_status';
 }
 
index 8da3dd9e2e8703c99ac6dad0761845689dea74d4..278e22c20dae61a13843f456c2f97bee4190f3d2 100644 (file)
@@ -203,6 +203,6 @@ sqimap_logout($imap_stream);
  *
  * Hook allows attaching plugin to bottom of info plugin
  */
-do_hook('info_bottom');
+do_hook('info_bottom', $null);
 ?>
 </body></html>
index 9fabda51f3ad115c1011f02d57602172bb9d83e7..a22da9a781e9bf7c165912fd06679db4b59eed5e 100644 (file)
@@ -114,7 +114,7 @@ $oTemplate->assign('backends', getBackends());
 $oTemplate->display('addressbook_search_form.tpl');
 
 echo "</form>\n";
-do_hook('addrbook_html_search_below');
+do_hook('addrbook_html_search_below', $null);
 /* End search form */
 
 /* List addresses. Show personal addressbook */
@@ -174,4 +174,4 @@ if ($addrquery == '' || sizeof($res) == 0) {
 echo '<hr />';
 
 $oTemplate->display('footer.tpl');
-?>
\ No newline at end of file
+?>
index a75a8f7eb470cf0e3a7194ce9407779daaefdbc9..90a9b3b27f5e55a4a7d36c4f0fc505dac2223de1 100644 (file)
@@ -266,18 +266,18 @@ if ($showaddrlist) {
         
     $oTemplate->display('addressbook_list.tpl');
     
+//FIXME: Remove HTML from here!
     echo "</form>\n";
 }
 
 /* Display the "new address" form */
+//FIXME: Remove HTML from here!
 echo '<a name="AddAddress"></a>' . "\n";
 abook_create_form($form_url,'addaddr',_("Add to address book"),_("Add address"),$defdata);
 echo "</form>\n";
 
 /* Hook for extra address book blocks */
-echo "<!-- start of addressbook_bottom hook-->\n";
-do_hook('addressbook_bottom');
-echo "\n<!-- end of addressbook_bottom hook-->\n";
+do_hook('addressbook_bottom', $null);
 
 $oTemplate->display('footer.tpl');
-?>
\ No newline at end of file
+?>
index 93845a4ca6923ca4fb754f258c78b4cb3c4a799b..19d34d3a7c628dfb0f3cbf2ce1231adc78af8eff 100644 (file)
@@ -491,7 +491,10 @@ if ($send) {
 
         $Result = deliverMessage($composeMessage);
 
-        do_hook('compose_send_after', $Result, $composeMessage);
+        // NOTE: this hook changed in 1.5.2 from sending $Result and 
+        //       $composeMessage as args #2 and #3 to being in an array
+        //       under arg #2
+        do_hook('compose_send_after', $temp=array(&$Result, &$composeMessage));
         if (! $Result) {
             showInputForm($session);
             exit();
@@ -1107,7 +1110,8 @@ function showInputForm ($session, $values=false) {
         'enctype="multipart/form-data"';
 
     $compose_onsubmit = array();
-    do_hook('compose_form');
+    global $null;
+    do_hook('compose_form', $null);
 
     // Plugins that use compose_form hook can add an array entry
     // to the globally scoped $compose_onsubmit; we add them up
@@ -1300,7 +1304,7 @@ function showInputForm ($session, $values=false) {
             . "</p>\r\n";
     }
 
-    do_hook('compose_bottom');
+    do_hook('compose_bottom', $null);
 
     if ($compose_new_win=='1') {
         $oTemplate->display('compose_newwin_close.tpl');
@@ -1550,12 +1554,9 @@ function deliverMessage($composeMessage, $draft=false) {
     $composeMessage->rfc822_header = $rfc822_header;
     
     /* Here you can modify the message structure just before we hand
-       it over to deliver */
-    $hookReturn = do_hook('compose_send', $composeMessage);
-    /* Get any changes made by plugins to $composeMessage. */
-    if ( is_object($hookReturn[1]) ) {
-        $composeMessage = $hookReturn[1];
-    }
+       it over to deliver; plugin authors note that $composeMessage
+       is sent and modified by reference since 1.5.2 */
+    do_hook('compose_send', $composeMessage);
 
     if (!$useSendmail && !$draft) {
         require_once(SM_PATH . 'class/deliver/Deliver_SMTP.class.php');
@@ -1710,4 +1711,4 @@ function deliverMessage($composeMessage, $draft=false) {
     }
     return $success;
 }
-?>
\ No newline at end of file
+?>
index 4375cd72fca654c5656287a27575380616124dbc..8fabfbbed3a6fd27f19f1efc5dee956bb070d9a3 100644 (file)
@@ -328,10 +328,10 @@ if (isset($plugins[0])) {
         do_err($plugin_load_error);
     }
     /**
-     * Hook is added in 1.5.2. Plugins should print error message and return true
-     * if there is an error in plugin.
+     * This hook was added in 1.5.2. Each plugins should print an error 
+     * message and return TRUE if there are any errors in its setup/configuration.
      */
-    $plugin_err = boolean_hook_function('configtest');
+    $plugin_err = boolean_hook_function('configtest', $null);
     if($plugin_err) {
         do_err('Some plugin tests failed.');
     } else {
index 02bd5dd846194e8008c7cccb6b2bf2a0608917a0..03e21a7cadfc752a739d08983f2a586da4bf614c 100644 (file)
@@ -80,8 +80,8 @@ if ( sqgetGlobalVar('smaction', $action, SQ_POST) ) {
             $td_str =  _("Unsubscribed successfully.");
             break;
         default:
-            // TODO: add hook for plugin action processing.
-            $td_str = '';
+// TODO: this is a new hook for plugin action processing that has not been TESTED.
+            $td_str = do_hook('folder_action', $action);
             break;
     }
 
@@ -193,4 +193,4 @@ $oTemplate->assign('subbox_option_list', $subbox_option_list);
 $oTemplate->display('folder_manip.tpl');
 
 $oTemplate->display('footer.tpl');
-?>
\ No newline at end of file
+?>
index 8490961a0611a6b79361e7bb66763cefee336bce..39d4786e19819a20405662ab00eb9e3735d2a9db 100644 (file)
@@ -92,7 +92,7 @@ function get_info($doc, $pos) {
 
 /**************[ END HELP FUNCTIONS ]******************/
 
-do_hook('help_top');
+do_hook('help_top', $null);
 
 if (!isset($squirrelmail_language)) {
     $squirrelmail_language = 'en_US';
@@ -160,7 +160,7 @@ if ( $chapter == 0 || !isset( $helpdir[$chapter-1] ) ) {
     }
 
     // Provide hook for external help scripts.
-    do_hook('help_chapter');
+    do_hook('help_chapter', $null);
  
     $new_toc = array();
     foreach ($toc as $ch) {
@@ -234,7 +234,7 @@ if ( $chapter == 0 || !isset( $helpdir[$chapter-1] ) ) {
     $oTemplate->display('help_chapter.tpl');
 }
 
-do_hook('help_bottom');
+do_hook('help_bottom', $null);
 
 $oTemplate->display('footer.tpl');
-?>
\ No newline at end of file
+?>
index 14ee6030db501feece1f882179aba081f31d662f..25d45e20268c1a9d58884714183f0e976e6b48a4 100644 (file)
@@ -79,10 +79,11 @@ if($imap_auth_mech == 'login') {
     }
 }
 
-do_hook('login_cookie');
+do_hook('login_cookie', $null);
 
 $loginname_value = (sqGetGlobalVar('loginname', $loginname) ? htmlspecialchars($loginname) : '');
 
+//FIXME: should be part of the template, not the core!
 /* Output the javascript onload function. */
 $header = "<script type=\"text/javascript\">\n" .
           "<!--\n".
@@ -122,6 +123,8 @@ sqsetcookieflush();
 displayHtmlHeader( "$org_name - " . _("Login"), $header, FALSE );
 
 
+//FIXME: need to remove *ALL* HTML from this file!
+
 /* If they don't have a logo, don't bother.. */
 $logo_str = '';
 if (isset($org_logo) && $org_logo) {
@@ -170,12 +173,12 @@ $oTemplate->assign('login_extra', $login_extra);
 
 echo '<body onLoad="squirrelmail_loginpage_onload()">'."\n";
 echo '<form action="redirect.php" method="post" onSubmit="document.forms[0].js_autodetect_results.value='. SMPREF_JS_ON .'">'."\n";
-do_hook('login_top');
+do_hook('login_top', $null);
 
 $oTemplate->display('login.tpl');
 
 echo "</form>\n";
-do_hook('login_bottom');
+do_hook('login_bottom', $null);
 
 // Turn off delayed error handling to make sure all errors are dumped.
 $oErrorHandler->setDelayedErrors(false);
index a376454af2c28a87bfc9f748af4fb95ea55a473d..a3dece042ab440fcc712982566d1f02308be1a1c 100644 (file)
@@ -139,7 +139,7 @@ switch ($optpage) {
         $optpage_loader = 'load_optpage_data_order';
         $optpage_loadhook = 'optpage_loadhook_order';
         break;
-    default: do_hook('optpage_set_loadinfo');
+    default: do_hook('optpage_set_loadinfo', $null);
 }
 
 /**********************************************************/
@@ -156,7 +156,7 @@ if ( !@is_file( $optpage_file ) ) {
     /* Assemble the data for this option page. */
     $optpage_data = array();
     $optpage_data = $optpage_loader();
-    do_hook($optpage_loadhook);
+    do_hook($optpage_loadhook, $null);
     $optpage_data['options'] = create_option_groups($optpage_data['grps'], $optpage_data['vals']);
 }
 
@@ -208,7 +208,7 @@ if ($optmode == SMOPT_MODE_SUBMIT) {
     }
 
     /* Run the options save hook. */
-    do_hook($save_hook_name);
+    do_hook($save_hook_name, $null);
 }
 
 /***************************************************************/
@@ -321,7 +321,7 @@ if ($optpage == SMOPT_PAGE_MAIN) {
     );
 
     /* Build a section for plugins wanting to register an optionpage. */
-    do_hook('optpage_register_block');
+    do_hook('optpage_register_block', $null);
 
     /*****************************************************/
     /* Let's sort Javascript Option Pages to the bottom. */
@@ -345,7 +345,7 @@ if ($optpage == SMOPT_PAGE_MAIN) {
 
     $oTemplate->display('option_groups.tpl');
     
-    do_hook('options_link_and_description');
+    do_hook('options_link_and_description', $null);
 
 
 /*************************************************************************/
@@ -429,7 +429,7 @@ if ($optpage == SMOPT_PAGE_MAIN) {
 
     /* If it is not empty, trigger the inside hook. */
     if ($inside_hook_name != '') {
-        do_hook($inside_hook_name);
+        do_hook($inside_hook_name, $null);
     }
 
 //FIXME: need to remove HTML from here!
@@ -438,7 +438,7 @@ if ($optpage == SMOPT_PAGE_MAIN) {
 
     /* If it is not empty, trigger the bottom hook. */
     if ($bottom_hook_name != '') {
-        do_hook($bottom_hook_name);
+        do_hook($bottom_hook_name, $null);
     }
     
 }
index b71784e847db82233e4fdfa006e41ea1faf046cc..fa91f2d4736f59f9d3e7ea0886cb503f42d54656 100644 (file)
@@ -343,7 +343,7 @@ if ($action == 'edit' || $action == 'add') {
     
     echo "</form>\n";
 }
-do_hook('options_highlight_bottom');
+do_hook('options_highlight_bottom', $null);
 
 $oTemplate->display('footer.tpl');
-?>
\ No newline at end of file
+?>
index 792f9a92d2eab92f3199b95c30c52e7e961ec752..a49f603644d5d3bc1f38d9f93c0daf5b5a58be77 100644 (file)
@@ -64,7 +64,7 @@ if (!empty($return)) {
 displayPageHeader($color, 'None');
 
 /* since 1.1.3 */
-do_hook('options_identities_top');
+do_hook('options_identities_top', $null);
 
 $i = array();
 foreach ($identities as $key=>$ident) {
@@ -150,7 +150,7 @@ function ShowIdentityInfo($title, $identity, $id ) {
     $return_str .= sti_input( _("E-Mail Address") , sprintf($name, $id, 'email_address'), $identity['email_address'], $bg);
     $return_str .= sti_input( _("Reply To"), sprintf($name, $id, 'reply_to'), $identity['reply_to'], $bg);
     $return_str .= sti_textarea( _("Signature"), sprintf($name, $id, 'signature'), $identity['signature'], $bg);
-    $return_str .= concat_hook_function('options_identities_table', array($bg, $empty, $id));
+    $return_str .= concat_hook_function('options_identities_table', $temp=array(&$bg, &$empty, &$id));
     $return_str .= '<tr' . $bg . '> ' . "\n";
     $return_str .= '  <td> &nbsp; </td>' . "\n";
     $return_str .= '  <td>' . "\n";
@@ -166,7 +166,7 @@ function ShowIdentityInfo($title, $identity, $id ) {
 
     }
 
-    $return_str .= concat_hook_function('options_identities_buttons', array($empty, $id));
+    $return_str .= concat_hook_function('options_identities_buttons', $temp=array(&$empty, &$id));
     $return_str .= '  </td>' . "\n";
     $return_str .= '</tr>' . "\n";
     $return_str .= '<tr>' . "\n";
@@ -221,4 +221,4 @@ function sti_textarea( $title, $name, $data, $bgcolor ) {
 
 }
 
-?>
\ No newline at end of file
+?>
index e0f338a971046eb45473fe75ecac53b3d317289f..fca2e7f2d611ee7b6e1794fc357b158cb847b8b1 100644 (file)
@@ -72,8 +72,8 @@ if ($ent_ar[0] != '') {
         $body .= '<hr />';
      }
   }
-  $hookResults = do_hook('message_body', $body);
-  $body = $hookResults[1];
+  /* Note that $body is passed to this hook (and modified) by reference as of 1.5.2 */
+  do_hook('message_body', $body);
 } else {
   $body = _("Message not printable");
 }
index 64a8ae421c1a5e23e52b3b2ae151e4a921f00447..0705f962efda4539935ede375fe40a1b3e576069 100644 (file)
@@ -610,7 +610,8 @@ function formatMenubar($aMailbox, $passed_id, $passed_ent_id, $message, $removed
         $oTemplate->display('read_menubar_nav.tpl');
     }
     
-    do_hook('read_body_menu_bottom');
+    global $null;
+    do_hook('read_body_menu_bottom', $null);
 }
 
 function formatToolbar($mailbox, $passed_id, $passed_ent_id, $message, $color) {
@@ -897,7 +898,7 @@ if (isset($sendreceipt)) {
 /***********************************************/
 
 $messagebody = '';
-do_hook('read_body_top');
+do_hook('read_body_top', $null);
 if ($show_html_default == 1) {
     $ent_ar = $message->findDisplayEntity(array());
 } else {
@@ -950,7 +951,7 @@ if ($attachment_common_show_images && is_array($attachment_common_show_images_li
 
 formatMenuBar($aMailbox, $passed_id, $passed_ent_id, $message, false, FALSE);
 
-do_hook('read_body_bottom');
+do_hook('read_body_bottom', $null);
 sqimap_logout($imapConnection);
 $oTemplate->display('footer.tpl');
 ?>
index 17623d817dd29c54695729986b9df15bf5382fc5..389c6a9c7c6575c06678958fe3915e7669ce6b59 100644 (file)
@@ -52,7 +52,7 @@ if (!isset($login_username)) {
 }
 
 if (!sqsession_is_registered('user_is_logged_in')) {
-    do_hook ('login_before');
+    do_hook('login_before', $null);
 
     $onetimepad = OneTimePadCreate(strlen($secretkey));
     $key = OneTimePadEncrypt($secretkey, $onetimepad);
@@ -116,7 +116,7 @@ if (!sqsession_is_registered('user_is_logged_in')) {
 
     $username = $login_username;
     sqsession_register ($username, 'username');
-    do_hook ('login_verified');
+    do_hook('login_verified', $null);
 }
 
 /* Set the login variables. */
index 726b41d7d138476927804d549ca849144364c8b5..5f5c1e713cfa2f3558c837d8ebd31fa169b29a43 100644 (file)
@@ -267,7 +267,7 @@ if (isset($aMailbox['FORWARD_SESSION'])) {
     displayPageHeader($color, $mailbox);
 }
 
-do_hook('right_main_after_header');
+do_hook('right_main_after_header', $null);
 
 /* display a message to the user that their mail has been sent */
 if (isset($mail_sent) && $mail_sent == 'yes') {
@@ -322,7 +322,7 @@ if ($aMailbox['EXISTS'] > 0) {
     $oTemplate->display('empty_folder.tpl');
 }
 
-do_hook('right_main_bottom');
+do_hook('right_main_bottom', $null);
 sqimap_logout ($imapConnection);
 $oTemplate->display('footer.tpl');
 
index 7e037d223a019898a7ca92f5ee249c599a410dc8..5622b460a7856703266479cb3556e10a062e7635 100644 (file)
@@ -1390,7 +1390,7 @@ if (isset($note)) {
     $oTemplate->display('note.tpl');
 }
 
-do_hook('search_before_form');
+do_hook('search_before_form', $null);
 
 if (!$search_silent) {
     asearch_print_saved($boxes);
@@ -1428,7 +1428,7 @@ if (!$search_silent) {
     }
 }
 
-do_hook('search_after_form');
+do_hook('search_after_form', $null);
 
 if ($submit == $search_button_text) {
     $msgsfound = false;
@@ -1630,9 +1630,9 @@ if ($submit == $search_button_text) {
     }
 }
 
-do_hook('search_bottom');
+do_hook('search_bottom', $null);
 sqimap_logout($imapConnection);
 
 $oTemplate->display('footer.tpl');
 sqsession_register($mailbox_cache,'mailbox_cache');
-?>
\ No newline at end of file
+?>
index 16841d63cfcfcea795b6e9ed0b7a611327465f09..655b2660610928c2b5d6e5808cd665e8d21bd7e6 100644 (file)
@@ -37,8 +37,7 @@ if (! sqgetGlobalVar('base_uri', $base_uri, SQ_SESSION) ) {
 
 $login_uri = 'login.php';
 
-$hook_results = do_hook('logout', $login_uri);
-if (!empty($hook_results[1])) $login_uri = $hook_results[1];
+do_hook('logout', $login_uri);
 
 sqsession_destroy();
 
index 5e7df7c6b15904c187e6c553dde2c9098289d7ac..cddde4c7be754ffc157d5b910d9ebfbe23ba9da8 100644 (file)
@@ -56,8 +56,7 @@ $encoding = strtolower($header->encoding);
 
 $body = mime_fetch_body($imap_stream, $passed_id, $ent_id);
 $body = decodeBody($body, $encoding);
-$hookResults = do_hook('message_body', $body);
-$body = $hookResults[1];
+do_hook('message_body', $body);
 
 /**
  * TODO: check if xtra_code is needed.
index 07ba904a2e9811e9050d98af269c599ee1adaded..d86fe1782b61b0bc238ac56abd99a69dedc1dbc5 100644 (file)
@@ -54,8 +54,7 @@ $unsafe_url = set_url_var($unsafe_url, 'view_unsafe_images', 1);
 
 $body = mime_fetch_body($imapConnection, $passed_id, $ent_id);
 $body = decodeBody($body, $encoding);
-$hookResults = do_hook('message_body', $body);
-$body = $hookResults[1];
+do_hook('message_body', $body);
 
 if (isset($languages[$squirrelmail_language]['XTRA_CODE']) &&
     function_exists($languages[$squirrelmail_language]['XTRA_CODE'].'_decode')) {
@@ -86,4 +85,4 @@ $oTemplate->assign('body', $body);
 $oTemplate->display('view_text.tpl');
 
 $oTemplate->display('footer.tpl');
-?>
\ No newline at end of file
+?>
index 8124e562af6d40fe4607dc73c71c848a5727c9d2..919f7ebf77561f94de4843c68b95b2ef48999915 100644 (file)
@@ -110,7 +110,7 @@ switch($right_frame) {
 displayHtmlHeader($org_title, '', false, true);
 $oErrorHandler->setDelayedErrors(true);
 
-do_hook('webmail_top');
+do_hook('webmail_top', $null);
 
 $oTemplate->assign('nav_size', $left_size);
 $oTemplate->assign('nav_on_left', $location_of_bar=='left');
index ec2c2f83f30f8ee832137b94327dba912a892291..993cc61b464590c24b576c3bc1494b7f537fad54 100644 (file)
@@ -214,5 +214,5 @@ extract($t);
   </td>
  </tr>
 </table>
-<?php do_hook('folders_bottom');  ?>
-</div>
\ No newline at end of file
+<?php /* FIXME: no hooks in templates!! */ global $null; do_hook('folders_bottom', $null);  ?>
+</div>
index 2a251f56dc8a344a6a6ddd9279dd5457dec4e3c6..902473eaea8cb1511f563a6e2f6b55baad13dc92 100644 (file)
@@ -223,14 +223,18 @@ function buildMailboxTree ($box, $settings, $icon_theme_path, $indent_factor=0)
 
 /********
  * Pulling imapConnection due to segfaults that cannot be tracked down.  Best
- * we can determine,its some combination of this var and >= 4 plugins enabled.
+ * we can determine, it's some combination of this var and >= 4 plugins enabled.
  * No further clue from anyone.
+ ********
+ * Update: syntax of this hook call changed a bit, so if the error is so anomalous,
+ * it might be worth trying this again to see if it is still segfaulting
  ********
     
     // let plugins fiddle with end of line
+// FIXME: no hooks in templates!
     $end .= concat_hook_function('left_main_after_each_folder',
-            array(isset($numMessages) ? $numMessages : '',
-            $box['MailboxFullName'], $settings['imapConnection']));
+            $temp=array(isset($numMessages) ? &$numMessages : '',
+            &$box['MailboxFullName'], &$settings['imapConnection']));
 */
 
     $end .= '</span>';
@@ -261,7 +265,7 @@ extract($t);
 ?>
 <body class="sqm_leftMain">
 <div class="sqm_leftMain">
-<?php do_hook('left_main_before'); ?>
+<?php /* FIXME: no hooks in templates! */ global $null; do_hook('left_main_before', $null); ?>
 <table class="sqm_wrapperTable" cellspacing="0">
  <tr>
   <td>
@@ -279,5 +283,5 @@ extract($t);
   </td>
  </tr>
 </table>
-<?php do_hook('left_main_after'); ?>
+<?php /* FIXME: no hooks in templates! */ do_hook('left_main_after', $null); ?>
 </div>
index 21fbc18d01cef5b7609caa8b5a14cfe95a63e683..734265fa036f47838b6ea8a3c7bb3519e2b8993a 100644 (file)
@@ -19,7 +19,9 @@ include_once(SM_PATH . 'templates/util_message_list.php');
 /* retrieve the template vars */
 extract($t);
 
-do_hook('mailbox_index_before');
+//FIXME: no hooks in templates!
+global $null;
+do_hook('mailbox_index_before', $null);
 
 /**
  * Calculate string "Viewing message x to y (z total)"
@@ -201,7 +203,8 @@ $clickedColor = (empty($color[16])) ? $color[2] : $color[16];
 ?>
     </table>
 <?php
-    do_hook('mailbox_form_before');
+    //FIXME: no hooks in templates!
+    do_hook('mailbox_form_before', $null);
 ?>
     </td>
   </tr>
@@ -541,7 +544,7 @@ if ($class != 'even' && $class != 'odd')
       </tr>
       <tr>
         <td>
-        <?php do_hook('mailbox_index_after');?>
+        <?php /* FIXME: no hooks in templates!! */ do_hook('mailbox_index_after', $null); ?>
         </td>
       </tr>
     </table>
index cc093810bc4488d24f0977c4738f28244a93fc6d..5bb1bcb876f5ff1f10f0708b758eeddc01636b52 100644 (file)
@@ -85,7 +85,7 @@ extract($t);
       <textarea name="newidentities[<?php echo $index; ?>][signature]" cols="50" rows="5"><?php echo $identity['Signature']; ?></textarea>
      </td>
     </tr>
-    <?php echo concat_hook_function('options_identities_table', array('', $identity['New'], $index)); ?>
+    <?php /* FIXME: No hooks in templates! */ echo concat_hook_function('options_identities_table', $temp=array('', &$identity['New'], &$index)); ?>
     <tr>
      <td colspan="2" class="actionButtons">
       <input type="submit" name="smaction[save][<?php echo $index; ?>]" value="<?php echo _("Save / Update"); ?>" />
@@ -101,7 +101,7 @@ extract($t);
       <input type="submit" name="smaction[move][<?php echo $index; ?>]" value="<?php echo _("Move Up"); ?>" />
             <?php
         }
-        echo concat_hook_function('options_identities_buttons', array($identity['New'], $index));
+        /* FIXME: No hooks in templates! */ echo concat_hook_function('options_identities_buttons', $temp=array(&$identity['New'], &$index));
       ?>
      </td>
     </tr>
@@ -112,4 +112,4 @@ extract($t);
   </td>
  </tr>
 </table>
-</div>
\ No newline at end of file
+</div>
index f68ff6cb09efe3dd07e23cf7e33653850894b4b6..4b7687716eaa87bd7e2e303facb94c37e348b6f4 100644 (file)
@@ -81,7 +81,7 @@ $help_link            = makeInternalLink ('src/help.php', $help_str);
    <?php echo $options_link; ?>&nbsp;&nbsp;
    <?php echo $search_link; ?>&nbsp;&nbsp;
    <?php echo $help_link; ?>&nbsp;&nbsp;
-   <?php do_hook('menuline'); ?>
+   <?php /* FIXME: no hooks in templates!! */ global $null; do_hook('menuline', $null); ?>
   </td>
   <?php echo $sm_attribute_str."\n"; ?>
  </tr>
index 2689f8ba2415f4d408610e1f6840970f99d4239e..55e2f9120b5b5ca028399dc5c3138df2b9d09b72 100644 (file)
@@ -14,7 +14,6 @@
 /* retrieve the template vars */
 extract($t);
 
-$plugin_message = concat_hook_function('logout_above_text');
 ?>
 <body>
 
index 7cfd793c90b9bfb7c2d7aea4019b8874a31a5af6..845c5cc7690ec41fa6c583113eae80dd7af85675 100644 (file)
@@ -39,10 +39,4 @@ if ($nav_on_left) {
     $output .= $right_frame . $left_frame;
 }
 
-// Add the hook
-$ret = concat_hook_function('webmail_bottom', $output);
-if ($ret != '') {
-    $output = $ret;
-}
-
 echo $output ."\n</frameset>";
index 5486e3287ce28d9de2eca22178ad2ecb2b49c7b8..37904af6ed573512c832af9e01629026be2964b2 100644 (file)
@@ -274,7 +274,7 @@ extract($t);
 //-->
 </script>
 <div class="sqm_leftMain">
-<?php do_hook('left_main_before'); ?>
+<?php /* FIXME: no hooks in templates! */ global $null; do_hook('left_main_before', $null); ?>
 <div class="dtree">
 <table class="sqm_wrapperTable" cellspacing="0">
  <tr>