<?php
- /**
- ** options_personal.php
- **
- ** Copyright (c) 1999-2000 The SquirrelMail development team
- ** Licensed under the GNU GPL. For full terms see the file COPYING.
- **
- ** Displays all options relating to personal information
- **
- ** $Id$
- **/
-
- require_once('../src/validate.php');
- require_once('../functions/display_messages.php');
- require_once('../functions/imap.php');
- require_once('../functions/array.php');
- require_once('../functions/plugin.php');
- require_once('../functions/options.php');
-
- displayPageHeader($color, 'None');
-
- $full_name = getPref($data_dir, $username, 'full_name');
- $reply_to = getPref($data_dir, $username, 'reply_to');
- $email_address = getPref($data_dir, $username, 'email_address');
-?>
- <br>
-<table width=95% align=center border=0 cellpadding=2 cellspacing=0>
-<tr><td align="center" bgcolor="<?php echo $color[0] ?>">
-
- <b><?php echo _("Options") . " - " . _("Personal Information"); ?></b>
-
- <table width="100%" border="0" cellpadding="1" cellspacing="1">
- <tr><td bgcolor="<?php echo $color[4] ?>" align="center">
-
- <form name=f action="options.php" method=post><br>
- <table width=100% cellpadding=2 cellspacing=0 border=0>
-<?php
+/**
+ * options_personal.php
+ *
+ * Copyright (c) 1999-2002 The SquirrelMail Project Team
+ * Licensed under the GNU GPL. For full terms see the file COPYING.
+ *
+ * Displays all options relating to personal information
+ *
+ * $Id$
+ */
+
+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, $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');
+ $signature = getSig($data_dir, $username, 'g');
/* Build a simple array into which we will build options. */
$optgrps = array();
/******************************************************/
/* LOAD EACH GROUP OF OPTIONS INTO THE OPTIONS ARRAY. */
/******************************************************/
- define('SMOPT_GRP_CONTACT', 0);
- define('SMOPT_GRP_REPLY', 1);
- define('SMOPT_GRP_SIG', 2);
/*** Load the Contact Information Options into the array ***/
$optgrps[SMOPT_GRP_CONTACT] = _("Name and Address Options");
/* 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',
'size' => SMOPT_SIZE_HUGE
);
- $identities_link_value = '<A HREF="options_identities.php">'
- . _("Edit Advanced Identities")
- . '</A> '
- . _("(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 = '<A HREF="options_identities.php">'
+ . _("Edit Advanced Identities")
+ . '</A> '
+ . _("(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();
'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
+ /* Assemble all this together and return it as our result. */
+ $result = array(
+ 'grps' => $optgrps,
+ 'vals' => $optvals
);
+ return ($result);
+}
- /* Build and output the option groups. */
- $option_groups = createOptionGroups($optgrps, $optvals);
- printOptionGroups($option_groups);
+/******************************************************************/
+/** Define any specialized save functions for this option page. ***/
+/******************************************************************/
- do_hook('options_personal_inside');
- OptionSubmit( 'submit_personal' );
+function save_option_signature($option) {
+ global $data_dir, $username;
+ setSig($data_dir, $username, 'g', $option->new_value);
+}
?>
- </table>
-</form>
-
- <?php do_hook('options_personal_bottom'); ?>
-
- </td></tr>
- </table>
-
-</td></tr>
-</table>
-</body></html>