* Displays the options page. Pulls from proper user preference files
* and config.php. Displays preferences as selected and other options.
*
- * @copyright © 1999-2006 The SquirrelMail Project Team
+ * @copyright © 1999-2007 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
/* Initialize the maximum option refresh level. */
$max_refresh = SMOPT_REFRESH_NONE;
+
+
/* Save each option in each option group. */
foreach ($optpage_data['options'] as $option_grp) {
foreach ($option_grp['options'] as $option) {
+
+ /* Special case: need to make sure emailaddress
+ * is saved if we use it as a test for ask_user_info */
+ global $ask_user_info;
+ if ( $optpage = SMOPT_PAGE_PERSONAL && $ask_user_info &&
+ $option->name == 'email_address' ) {
+ $option->setValue('');
+ }
+
/* Remove Debug Mode Until Needed
echo "name = '$option->name', "
. "value = '$option->value', "
$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);
}
/**********************************************************/
/* 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']);
}
}
/* Run the options save hook. */
- do_hook($save_hook_name);
+ do_hook($save_hook_name, $null);
}
/***************************************************************/
}
if (isset($optpage_save_error) && $optpage_save_error!=array()) {
+//FIXME: REMOVE HTML FROM CORE
$notice = _("Error(s) occurred while saving your options") . "<br />\n<ul>\n";
foreach ($optpage_save_error as $error_message) {
$notice.= '<li><small>' . $error_message . "</small></li>\n";
/* If $max_refresh != SMOPT_REFRESH_NONE, provide a refresh link. */
if ( !isset( $max_refresh ) ) {
} else if ($max_refresh == SMOPT_REFRESH_FOLDERLIST) {
- $notice .= '<a href="../src/left_main.php" target="left">' . _("Refresh Folder List") . '</a><br />';
+//FIXME: REMOVE HTML FROM CORE - when migrating, keep in mind that the javascript below assumes the folder list is in a separate sibling frame under the same parent, and it is called "left"
+ if (checkForJavascript()) {
+ $notice .= sprintf(_("Folder list should automatically %srefresh%s."), '<a href="../src/left_main.php" target="left">', '</a>') . '<br /><script type="text/javascript">' . "\n<!--\nparent.left.location = '../src/left_main.php';\n// -->\n</script>\n";
+ } else {
+ $notice .= '<a href="../src/left_main.php" target="left">' . _("Refresh Folder List") . '</a><br />';
+ }
} else if ($max_refresh) {
- $notice .= '<a href="../src/webmail.php?right_frame=options.php" target="' . $frame_top . '">' . _("Refresh Page") . '</a><br />';
+ if (checkForJavascript()) {
+//FIXME: REMOVE HTML FROM CORE - when migrating, keep in mind that the javascript below assumes the parent is the top-most SM frame and is what should be refreshed with webmail.php
+ $notice .= sprintf(_("This page should automatically %srefresh%s."), '<a href="../src/webmail.php?right_frame=options.php" target="' . $frame_top . '">', '</a>') . '<br /><script type="text/javascript">' . "\n<!--\nparent.location = '../src/webmail.php?right_frame=options.php';\n// -->\n</script>\n";
+ } else {
+ $notice .= '<a href="../src/webmail.php?right_frame=options.php" target="' . $frame_top . '">' . _("Refresh Page") . '</a><br />';
+ }
}
}
);
/* 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. */
foreach ($optpage_blocks as $cur_optpage) {
if (!isset($cur_optpage['js']) || !$cur_optpage['js']) {
$reg_optpage_blocks[] = $cur_optpage;
- } else if ($javascript_on == SMPREF_JS_ON) {
+ } else if (checkForJavascript()) {
$js_optpage_blocks[] = $cur_optpage;
}
}
$oTemplate->display('option_groups.tpl');
- do_hook('options_link_and_description');
+ do_hook('options_link_and_description', $null);
/*************************************************************************/
. create_optpage_element($optpage)
. create_optmode_element(SMOPT_MODE_SUBMIT);
+//FIXME: NO HTML IN THE CORE!!
// Wrap the template in a table to keep from breaking the hooks below
echo "<table cellspacing=\"0\" class=\"table_blank\">\n" .
" <tr>\n" .
// This is the only variable that is needed by *just* the template.
$oTemplate->assign('options', $optpage_data['options']);
+ global $ask_user_info;
+ if ( $optpage = SMOPT_PAGE_PERSONAL && $ask_user_info
+ && getPref($data_dir, $username,'email_address') == "" ) {
+ $oTemplate->assign('topmessage',
+ _("Welcome to SquirrelMail. Please supply your full name and email address.") );
+ }
+
/**
* The variables below should not be needed by the template since all plugin
* hooks are called here, not in the template. If we find otherwise, these
- * variables can be passed to the template. Commenting out for not.
+ * variables can be passed to the template. Commenting out for now.
*/
/*
$oTemplate->assign('max_refresh', isset($max_refresh) ? $max_refresh : NULL);
* END comment block
*/
+ $oTemplate->assign('submit_name', $submit_name);
$oTemplate->display('options.tpl');
+//FIXME: need to remove HTML from here!
echo " </td>\n" .
" </tr>\n";
/* If it is not empty, trigger the inside hook. */
if ($inside_hook_name != '') {
- do_hook($inside_hook_name);
+ do_hook($inside_hook_name, $null);
}
- /* Spit out a submit button. */
- OptionSubmit($submit_name);
+//FIXME: need to remove HTML from here!
echo "</table>\n" .
"</form>\n";
/* If it is not empty, trigger the bottom hook. */
if ($bottom_hook_name != '') {
- do_hook($bottom_hook_name);
+ do_hook($bottom_hook_name, $null);
}
}
$oTemplate->display('footer.tpl');
-?>
\ No newline at end of file