Browse Source

Catch error if timezone file not present. Thanks Joshua Colson for the tip.

Thijs Kinkhorst 22 years ago
parent
commit
ff5c115d57
1 changed files with 9 additions and 3 deletions
  1. 9 3
      include/options/personal.php

+ 9 - 3
include/options/personal.php

@@ -23,7 +23,8 @@ 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, $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');
@@ -119,12 +120,17 @@ 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(!$fd = fopen($tzfile ,'r')) {
+            $message = _("Error opening timezone config, contact administrator.");
+            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);