/**
* options.php
*
- * Copyright (c) 1999-2002 The SquirrelMail Project Team
+ * Copyright (c) 1999-2003 The SquirrelMail Project Team
* Licensed under the GNU GPL. For full terms see the file COPYING.
*
* Functions needed to display the options pages.
define('SMOPT_TYPE_BOOLEAN', 5);
define('SMOPT_TYPE_HIDDEN', 6);
define('SMOPT_TYPE_COMMENT', 7);
+define('SMOPT_TYPE_FLDRLIST', 8);
/* Define constants for the options refresh levels. */
define('SMOPT_REFRESH_NONE', 0);
}
/* Check for a new value. */
- if (isset($GLOBALS["new_$name"])) {
- $this->new_value = $GLOBALS["new_$name"];
- } else {
+ if ( !sqgetGlobalVar("new_$name", $this->new_value, SQ_POST ) ) {
$this->new_value = '';
}
case SMOPT_TYPE_COMMENT:
$result = $this->createWidget_Comment();
break;
+ case SMOPT_TYPE_FLDRLIST:
+ $result = $this->createWidget_FolderList();
+ break;
default:
$result = '<font color="' . $color[2] . '">'
. sprintf(_("Option Type '%s' Not Found"), $this->type)
return ($result);
}
+ function createWidget_FolderList() {
+ $selected = array(strtolower($this->value));
+
+ /* Begin the select tag. */
+ $result = "<select name=\"new_$this->name\">";
+
+ /* Add each possible value to the select list. */
+ foreach ($this->possible_values as $real_value => $disp_value) {
+ if ( is_array($disp_value) ) {
+ /* For folder list, we passed in the array of boxes.. */
+ $new_option = sqimap_mailbox_option_list(0, $selected, 0, $disp_value);
+ } else {
+ /* Start the next new option string. */
+ $new_option = "<option value=\"$real_value\"";
+
+ /* If this value is the current value, select it. */
+ if ($real_value == $this->value) {
+ $new_option .= ' selected';
+ }
+
+ /* Add the display value to our option string. */
+ $new_option .= ">$disp_value</option>";
+ }
+ /* And add the new option string to our select tag. */
+ $result .= $new_option;
+ }
+ /* Close the select tag and return our happy result. */
+ $result .= '</select>';
+ return ($result);
+ }
+
+
function createWidget_TextArea() {
switch ($this->size) {
case SMOPT_SIZE_TINY: $rows = 3; $cols = 10; break;
}
function save_option($option) {
- global $data_dir, $username;
+ if ( !sqgetGlobalVar('username', $username, SQ_SESSION ) ) {
+ /* Can't save the pref if we don't have the username */
+ return;
+ }
+ global $data_dir;
setPref($data_dir, $username, $option->name, $option->new_value);
-
- /* I do not know if this next line does any good. */
- $GLOBALS[$option->name] = $option->new_value;
}
function save_option_noop($option) {