Changeset 976
- Timestamp:
- 05/09/08 23:42:10 (7 months ago)
- Files:
-
- trunk/swisscenter/base/prefs.php (modified) (4 diffs)
- trunk/swisscenter/base/utils.php (modified) (3 diffs)
- trunk/swisscenter/database/patch_0019.sql (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/swisscenter/base/prefs.php
r952 r976 12 12 // ---------------------------------------------------------------------------------- 13 13 14 function get_user_pref_modified_date( $pref, $user_id = '' ) 15 { 16 if ($user_id == '') 17 $user_id = get_current_user_id(); 18 19 $result = db_value("select modified from user_prefs where user_id = ".$user_id." and name='".strtoupper($pref)."'"); 20 21 if (!$result || is_null($result)) 22 return false; 23 else 24 return $result; 25 } 26 14 27 function get_user_pref( $pref, $default = '', $user_id = '') 15 28 { … … 34 47 { 35 48 db_sqlcommand("delete from user_prefs where name='".strtoupper($name)."' and user_id=".$user); 36 $result = db_insert_row('user_prefs', array("USER_ID"=>$user, "NAME"=>strtoupper($name), "VALUE"=>$value ) );49 $result = db_insert_row('user_prefs', array("USER_ID"=>$user, "NAME"=>strtoupper($name), "VALUE"=>$value, "MODIFIED"=>db_datestr()) ); 37 50 38 51 if (!$result) … … 48 61 // SYSTEM preferences 49 62 // ---------------------------------------------------------------------------------- 63 64 function get_sys_pref_modified_date( $pref ) 65 { 66 $result = db_value("select modified from system_prefs where name='".strtoupper($pref)."'"); 67 68 if (!$result || is_null($result)) 69 return false; 70 else 71 return $result; 72 } 50 73 51 74 function get_sys_pref( $pref, $default = '' ) … … 65 88 { 66 89 db_sqlcommand("delete from system_prefs where name='".strtoupper($name)."'"); 67 $result = db_insert_row('system_prefs', array("NAME"=>strtoupper($name), "VALUE"=>$value ) );90 $result = db_insert_row('system_prefs', array("NAME"=>strtoupper($name), "VALUE"=>$value, "MODIFIED"=>db_datestr()) ); 68 91 69 92 if (!$result) trunk/swisscenter/base/utils.php
r973 r976 476 476 function gmt_time() 477 477 { 478 if (!isset($_SESSION['GMT Offset'])) 479 { 478 $offset = get_sys_pref('GMT_OFFSET',false); 479 480 // We only trust the stored offset if was calculated less than 24 hours ago. This is to ensure that DST changes take effect. 481 if ( $offset === false || get_sys_pref_modified_date('GMT_OFFSET') < db_datestr(time()-86400)) 482 { 480 483 // Get the GMT time from a web service 481 484 send_to_log(6,'Attempting to get GMT Standard Time from a web service'); … … 489 492 $date = str_replace('T',' ',$date); 490 493 $time = strtotime($date); 491 // Set GMT offset in SESSION 492 $_SESSION['GMT Offset'] = (time() - $time); 494 495 // Store the offset in the database 496 set_sys_pref('GMT_OFFSET', (time()-$time)); 493 497 } 494 498 else … … 503 507 else 504 508 { 505 $time = time() - $ _SESSION['GMT Offset'];509 $time = time() - $offset; 506 510 send_to_log(6,'Using previously stored GMT time',date('r',$time)); 507 511 }