X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Foptions_personal.php;h=dae0c92b7cae51585bd432cf84c96ca976f6b94c;hb=77e6058f22e41b506fbc43697ce70aa76d831d00;hp=c2a680bf2afb948c1af2a6a4d228ac1b7fbc0a50;hpb=15e6162eacc97158393bc75aed3afeb7b19c24a6;p=squirrelmail.git diff --git a/src/options_personal.php b/src/options_personal.php index c2a680bf..dae0c92b 100644 --- a/src/options_personal.php +++ b/src/options_personal.php @@ -13,21 +13,23 @@ require_once('../functions/imap.php'); require_once('../functions/array.php'); - + /* Define the group constants for the personal options page. */ define('SMOPT_GRP_CONTACT', 0); define('SMOPT_GRP_REPLY', 1); define('SMOPT_GRP_SIG', 2); +define('SMOPT_GRP_TZ', 3); /* Define the optpage load function for the personal options page. */ function load_optpage_data_personal() { - global $data_dir, $username; - global $full_name, $reply_to, $email_address; + global $data_dir, $username, $edit_identity, $edit_name, + $full_name, $reply_to, $email_address, $signature; /* Set the values of some global variables. */ $full_name = getPref($data_dir, $username, 'full_name'); $reply_to = getPref($data_dir, $username, 'reply_to'); - $email_address = getPref($data_dir, $username, 'email_address'); + $email_address = getPref($data_dir, $username, 'email_address'); + $signature = getSig($data_dir, $username, 'g'); /* Build a simple array into which we will build options. */ $optgrps = array(); @@ -44,21 +46,45 @@ function load_optpage_data_personal() { /* Build a simple array into which we will build options. */ $optvals = array(); - $optvals[SMOPT_GRP_CONTACT][] = array( - 'name' => 'full_name', - 'caption' => _("Full Name"), - 'type' => SMOPT_TYPE_STRING, - 'refresh' => SMOPT_REFRESH_NONE, - 'size' => SMOPT_SIZE_HUGE - ); - - $optvals[SMOPT_GRP_CONTACT][] = array( - 'name' => 'email_address', - 'caption' => _("Email Address"), - 'type' => SMOPT_TYPE_STRING, - 'refresh' => SMOPT_REFRESH_NONE, - 'size' => SMOPT_SIZE_HUGE - ); + if (!isset($edit_identity)) { + $edit_identity = TRUE; + } + + if ($edit_identity || $edit_name) { + $optvals[SMOPT_GRP_CONTACT][] = array( + 'name' => 'full_name', + 'caption' => _("Full Name"), + 'type' => SMOPT_TYPE_STRING, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_HUGE + ); + } else { + $optvals[SMOPT_GRP_CONTACT][] = array( + 'name' => 'full_name', + 'caption' => _("Full Name"), + 'type' => SMOPT_TYPE_COMMENT, + 'refresh' => SMOPT_REFRESH_NONE, + 'comment' => $full_name + ); + } + + if ($edit_identity) { + $optvals[SMOPT_GRP_CONTACT][] = array( + 'name' => 'email_address', + 'caption' => _("Email Address"), + 'type' => SMOPT_TYPE_STRING, + 'refresh' => SMOPT_REFRESH_NONE, + 'size' => SMOPT_SIZE_HUGE + ); + } else { + $optvals[SMOPT_GRP_CONTACT][] = array( + 'name' => 'email_address', + 'caption' => _("Email Address"), + 'type' => SMOPT_TYPE_COMMENT, + 'refresh' => SMOPT_REFRESH_NONE, + 'comment' => $email_address + ); + } $optvals[SMOPT_GRP_CONTACT][] = array( 'name' => 'reply_to', @@ -68,18 +94,53 @@ function load_optpage_data_personal() { 'size' => SMOPT_SIZE_HUGE ); - $identities_link_value = '' - . _("Edit Advanced Identities") - . ' ' - . _("(discards changes made on this form so far)"); $optvals[SMOPT_GRP_CONTACT][] = array( - 'name' => 'identities_link', - 'caption' => _("Multiple Identities"), - 'type' => SMOPT_TYPE_COMMENT, + 'name' => 'signature', + 'caption' => _("Signature"), + 'type' => SMOPT_TYPE_TEXTAREA, 'refresh' => SMOPT_REFRESH_NONE, - 'comment' => $identities_link_value + 'size' => SMOPT_SIZE_MEDIUM, + 'save' => 'save_option_signature' ); + if ($edit_identity) { + $identities_link_value = '' + . _("Edit Advanced Identities") + . ' ' + . _("(discards changes made on this form so far)"); + $optvals[SMOPT_GRP_CONTACT][] = array( + 'name' => 'identities_link', + 'caption' => _("Multiple Identities"), + 'type' => SMOPT_TYPE_COMMENT, + 'refresh' => SMOPT_REFRESH_NONE, + 'comment' => $identities_link_value + ); + } + + if ( !ini_get("safe_mode") ) { + $TZ_ARRAY[SMPREF_NONE] = _("Same as server"); + $fd = fopen('../locale/timezones.cfg','r'); + while (!feof ($fd)) { + $zone = fgets($fd, 1024); + if( $zone ) { + $zone = trim($zone); + $TZ_ARRAY["$zone"] = "$zone"; + } + } + fclose ($fd); + + $optgrps[SMOPT_GRP_TZ] = _("Timezone Options"); + $optvals[SMOPT_GRP_TZ] = array(); + + $optvals[SMOPT_GRP_TZ][] = array( + 'name' => 'timezone', + 'caption' => _("Your current timezone"), + 'type' => SMOPT_TYPE_STRLIST, + 'refresh' => SMOPT_REFRESH_NONE, + 'posvals' => $TZ_ARRAY + ); + } + /*** Load the Reply Citation Options into the array ***/ $optgrps[SMOPT_GRP_REPLY] = _("Reply Citation Options"); $optvals[SMOPT_GRP_REPLY] = array(); @@ -129,15 +190,6 @@ function load_optpage_data_personal() { 'refresh' => SMOPT_REFRESH_NONE ); - $optvals[SMOPT_GRP_SIG][] = array( - 'name' => 'signature_abs', - 'caption' => _("Signature"), - 'type' => SMOPT_TYPE_TEXTAREA, - 'refresh' => SMOPT_REFRESH_NONE, - 'size' => SMOPT_SIZE_MEDIUM, - 'save' => 'save_option_signature' - ); - /* Assemble all this together and return it as our result. */ $result = array( 'grps' => $optgrps, @@ -152,7 +204,7 @@ function load_optpage_data_personal() { function save_option_signature($option) { global $data_dir, $username; - setSig($data_dir, $username, $option->new_value); + setSig($data_dir, $username, 'g', $option->new_value); } ?>