Whoops, forgot debug code. Thaks Jonathan.
[squirrelmail.git] / include / options / personal.php
index ac0b02959dc1f461d433703a80e349ac62846daf..aafd54c89f6a0442a0997aa9c7f145ec35a39a61 100644 (file)
@@ -3,17 +3,17 @@
 /**
  * options_personal.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.
  *
  * Displays all options relating to personal information
  *
  * $Id$
+ * @package squirrelmail
  */
 
-/* SquirrelMail required files. */
+/** SquirrelMail required files. */
 require_once(SM_PATH . 'functions/imap.php');
-require_once(SM_PATH . 'functions/array.php');
 
 /* Define the group constants for the personal options page. */
 define('SMOPT_GRP_CONTACT', 0);
@@ -21,10 +21,23 @@ 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. */
+/**
+ * This function builds an array with all the information about
+ * the options available to the user, and returns it. The options
+ * are grouped by the groups in which they are displayed.
+ * For each option, the following information is stored:
+ * - name: the internal (variable) name
+ * - caption: the description of the option in the UI
+ * - type: one of SMOPT_TYPE_*
+ * - refresh: one of SMOPT_REFRESH_*
+ * - size: one of SMOPT_SIZE_*
+ * - save: the name of a function to call when saving this option
+ * @return array all option information
+ */
 function load_optpage_data_personal() {
     global $data_dir, $username, $edit_identity, $edit_name,
-           $full_name, $reply_to, $email_address, $signature, $tzChangeAllowed;
+           $full_name, $reply_to, $email_address, $signature, $tzChangeAllowed,
+           $color;
 
     /* Set the values of some global variables. */
     $full_name = getPref($data_dir, $username, 'full_name');
@@ -120,12 +133,19 @@ function load_optpage_data_personal() {
     
     if ( $tzChangeAllowed ) {
         $TZ_ARRAY[SMPREF_NONE] = _("Same as server");
-        $fd = fopen('../locale/timezones.cfg','r');
+        $tzfile = SM_PATH . 'locale/timezones.cfg';
+               if ((!is_readable($tzfile)) or (!$fd = fopen($tzfile,'r'))) {
+               $message = _("Error opening timezone config, contact administrator.");
+               }
+               if (isset($message)) {
+                   plain_error_message($message, $color);
+                   exit;
+       }
         while (!feof ($fd)) {
             $zone = fgets($fd, 1024);
             if( $zone ) {
                 $zone = trim($zone);
-                $TZ_ARRAY["$zone"] = "$zone";
+                $TZ_ARRAY[$zone] = $zone;
             }
         }
         fclose ($fd);
@@ -153,6 +173,7 @@ function load_optpage_data_personal() {
         'refresh' => SMOPT_REFRESH_NONE,
         'posvals' => array(SMPREF_NONE    => _("No Citation"),
                            'author_said'  => _("AUTHOR Said"),
+                           'date_time_author' => _("On DATE, AUTHOR Said"),
                            'quote_who'    => _("Quote Who XML"),
                            'user-defined' => _("User-Defined"))
     );
@@ -203,6 +224,9 @@ function load_optpage_data_personal() {
 /** Define any specialized save functions for this option page. ***/
 /******************************************************************/
 
+/**
+ * Saves the signature option.
+ */
 function save_option_signature($option) {
     global $data_dir, $username;
     setSig($data_dir, $username, 'g', $option->new_value);