6 * Copyright (c) 1999-2003 The SquirrelMail Project Team
7 * Licensed under the GNU GPL. For full terms see the file COPYING.
9 * Displays all options relating to personal information
14 /* SquirrelMail required files. */
15 require_once(SM_PATH
. 'functions/imap.php');
17 /* Define the group constants for the personal options page. */
18 define('SMOPT_GRP_CONTACT', 0);
19 define('SMOPT_GRP_REPLY', 1);
20 define('SMOPT_GRP_SIG', 2);
21 define('SMOPT_GRP_TZ', 3);
23 /* Define the optpage load function for the personal options page. */
24 function load_optpage_data_personal() {
25 global $data_dir, $username, $edit_identity, $edit_name,
26 $full_name, $reply_to, $email_address, $signature, $tzChangeAllowed,
29 /* Set the values of some global variables. */
30 $full_name = getPref($data_dir, $username, 'full_name');
31 $reply_to = getPref($data_dir, $username, 'reply_to');
32 $email_address = getPref($data_dir, $username, 'email_address');
33 $signature = getSig($data_dir, $username, 'g');
35 /* Build a simple array into which we will build options. */
39 /******************************************************/
40 /* LOAD EACH GROUP OF OPTIONS INTO THE OPTIONS ARRAY. */
41 /******************************************************/
43 /*** Load the Contact Information Options into the array ***/
44 $optgrps[SMOPT_GRP_CONTACT
] = _("Name and Address Options");
45 $optvals[SMOPT_GRP_CONTACT
] = array();
47 /* Build a simple array into which we will build options. */
50 if (!isset($edit_identity)) {
51 $edit_identity = TRUE;
54 if ($edit_identity ||
$edit_name) {
55 $optvals[SMOPT_GRP_CONTACT
][] = array(
56 'name' => 'full_name',
57 'caption' => _("Full Name"),
58 'type' => SMOPT_TYPE_STRING
,
59 'refresh' => SMOPT_REFRESH_NONE
,
60 'size' => SMOPT_SIZE_HUGE
63 $optvals[SMOPT_GRP_CONTACT
][] = array(
64 'name' => 'full_name',
65 'caption' => _("Full Name"),
66 'type' => SMOPT_TYPE_COMMENT
,
67 'refresh' => SMOPT_REFRESH_NONE
,
68 'comment' => $full_name
73 $optvals[SMOPT_GRP_CONTACT
][] = array(
74 'name' => 'email_address',
75 'caption' => _("Email Address"),
76 'type' => SMOPT_TYPE_STRING
,
77 'refresh' => SMOPT_REFRESH_NONE
,
78 'size' => SMOPT_SIZE_HUGE
81 $optvals[SMOPT_GRP_CONTACT
][] = array(
82 'name' => 'email_address',
83 'caption' => _("Email Address"),
84 'type' => SMOPT_TYPE_COMMENT
,
85 'refresh' => SMOPT_REFRESH_NONE
,
86 'comment' => $email_address
90 $optvals[SMOPT_GRP_CONTACT
][] = array(
92 'caption' => _("Reply To"),
93 'type' => SMOPT_TYPE_STRING
,
94 'refresh' => SMOPT_REFRESH_NONE
,
95 'size' => SMOPT_SIZE_HUGE
98 $optvals[SMOPT_GRP_CONTACT
][] = array(
99 'name' => 'signature',
100 'caption' => _("Signature"),
101 'type' => SMOPT_TYPE_TEXTAREA
,
102 'refresh' => SMOPT_REFRESH_NONE
,
103 'size' => SMOPT_SIZE_MEDIUM
,
104 'save' => 'save_option_signature'
107 if ($edit_identity) {
108 $identities_link_value = '<A HREF="options_identities.php">'
109 . _("Edit Advanced Identities")
111 . _("(discards changes made on this form so far)");
112 $optvals[SMOPT_GRP_CONTACT
][] = array(
113 'name' => 'identities_link',
114 'caption' => _("Multiple Identities"),
115 'type' => SMOPT_TYPE_COMMENT
,
116 'refresh' => SMOPT_REFRESH_NONE
,
117 'comment' => $identities_link_value
121 if ( $tzChangeAllowed ) {
122 $TZ_ARRAY[SMPREF_NONE
] = _("Same as server");
123 $tzfile = SM_PATH
. 'locale/timezones.cfg';
124 if ((!is_readable($tzfile)) or (!$fd = fopen($tzfile,'r'))) {
125 $message = _("Error opening timezone config, contact administrator.");
127 if (isset($message)) {
128 plain_error_message($message, $color);
131 while (!feof ($fd)) {
132 $zone = fgets($fd, 1024);
135 $TZ_ARRAY[$zone] = $zone;
140 $optgrps[SMOPT_GRP_TZ
] = _("Timezone Options");
141 $optvals[SMOPT_GRP_TZ
] = array();
143 $optvals[SMOPT_GRP_TZ
][] = array(
144 'name' => 'timezone',
145 'caption' => _("Your current timezone"),
146 'type' => SMOPT_TYPE_STRLIST
,
147 'refresh' => SMOPT_REFRESH_NONE
,
148 'posvals' => $TZ_ARRAY
152 /*** Load the Reply Citation Options into the array ***/
153 $optgrps[SMOPT_GRP_REPLY
] = _("Reply Citation Options");
154 $optvals[SMOPT_GRP_REPLY
] = array();
156 $optvals[SMOPT_GRP_REPLY
][] = array(
157 'name' => 'reply_citation_style',
158 'caption' => _("Reply Citation Style"),
159 'type' => SMOPT_TYPE_STRLIST
,
160 'refresh' => SMOPT_REFRESH_NONE
,
161 'posvals' => array(SMPREF_NONE
=> _("No Citation"),
162 'author_said' => _("AUTHOR Said"),
163 'quote_who' => _("Quote Who XML"),
164 'user-defined' => _("User-Defined"))
167 $optvals[SMOPT_GRP_REPLY
][] = array(
168 'name' => 'reply_citation_start',
169 'caption' => _("User-Defined Citation Start"),
170 'type' => SMOPT_TYPE_STRING
,
171 'refresh' => SMOPT_REFRESH_NONE
,
172 'size' => SMOPT_SIZE_MEDIUM
175 $optvals[SMOPT_GRP_REPLY
][] = array(
176 'name' => 'reply_citation_end',
177 'caption' => _("User-Defined Citation End"),
178 'type' => SMOPT_TYPE_STRING
,
179 'refresh' => SMOPT_REFRESH_NONE
,
180 'size' => SMOPT_SIZE_MEDIUM
183 /*** Load the Signature Options into the array ***/
184 $optgrps[SMOPT_GRP_SIG
] = _("Signature Options");
185 $optvals[SMOPT_GRP_SIG
] = array();
187 $optvals[SMOPT_GRP_SIG
][] = array(
188 'name' => 'use_signature',
189 'caption' => _("Use Signature"),
190 'type' => SMOPT_TYPE_BOOLEAN
,
191 'refresh' => SMOPT_REFRESH_NONE
194 $optvals[SMOPT_GRP_SIG
][] = array(
195 'name' => 'prefix_sig',
196 'caption' => _("Prefix Signature with '-- ' Line"),
197 'type' => SMOPT_TYPE_BOOLEAN
,
198 'refresh' => SMOPT_REFRESH_NONE
201 /* Assemble all this together and return it as our result. */
209 /******************************************************************/
210 /** Define any specialized save functions for this option page. ***/
211 /******************************************************************/
213 function save_option_signature($option) {
214 global $data_dir, $username;
215 setSig($data_dir, $username, 'g', $option->new_value
);