cannot be circumvented by manipulating the URL. External plugins might
rely on init.php guaranteeing that the user is logged in.
- Sort readdir() output in conf.pl (#1755886).
+ - Made the webmail_top hook work again for plugins that want to change
+ the URI of the "right" frame; plugins have to change the value of the
+ global variable $right_frame_url
Version 1.5.1 (branched on 2006-02-12)
--------------------------------------
$location_of_bar = $temp_location_of_bar;
}
+// this value may be changed by a plugin, but initialize
+// it first to avoid register_globals headaches
+//
+$right_frame_url = '';
+do_hook('webmail_top', $null);
+
// Determine the main frame URL
/*
* There are three ways to call webmail.php
*
* The test for // should catch any attempt to include off-site webpages into
* our frameset.
+ *
+ * Note that plugins are allowed to completely and freely override the URI
+ * used for the "right" (content) frame, and they do so by modifying the
+ * global variable $right_frame_url.
+ *
*/
if (empty($right_frame) || (strpos(urldecode($right_frame), '//') !== false)) {
$right_frame = '';
} else {
$right_frame_file = $right_frame;
}
-switch($right_frame) {
- case 'right_main.php':
- $right_frame_url = "right_main.php?mailbox=".urlencode($mailbox)
- . (!empty($sort)?"&sort=$sort":'')
- . (!empty($startMessage)?"&startMessage=$startMessage":'');
- break;
- case 'options.php':
- $right_frame_url = 'options.php';
- break;
- case 'folders.php':
- $right_frame_url = 'folders.php';
- break;
- case 'compose.php':
- $right_frame_url = 'compose.php?' . $mailtourl;
- break;
- case '':
- $right_frame_url = 'right_main.php';
- break;
- default:
- $right_frame_url = urlencode($right_frame);
- break;
+if (empty($right_frame_url)) {
+ switch($right_frame) {
+ case 'right_main.php':
+ $right_frame_url = "right_main.php?mailbox=".urlencode($mailbox)
+ . (!empty($sort)?"&sort=$sort":'')
+ . (!empty($startMessage)?"&startMessage=$startMessage":'');
+ break;
+ case 'options.php':
+ $right_frame_url = 'options.php';
+ break;
+ case 'folders.php':
+ $right_frame_url = 'folders.php';
+ break;
+ case 'compose.php':
+ $right_frame_url = 'compose.php?' . $mailtourl;
+ break;
+ case '':
+ $right_frame_url = 'right_main.php';
+ break;
+ default:
+ $right_frame_url = urlencode($right_frame);
+ break;
+ }
}
$oErrorHandler->setDelayedErrors(true);
$oTemplate->assign('nav_on_left', $location_of_bar=='left');
$oTemplate->assign('right_frame_url', $right_frame_url);
-do_hook('webmail_top', $null);
-
displayHtmlHeader($org_title, '', false, true);
$oTemplate->display('webmail.tpl');