public function testloadPreferences()
 {
     $user = new User();
     $user->retrieve('1');
     $userPreference = new UserPreference($user);
     $result = $userPreference->loadPreferences();
     $this->assertEquals(false, $result);
 }
 /**
  * Alias for setPreference in modules/UserPreferences/UserPreference.php
  *    
  */
 function loadPreferences($category = 'global', $user = null)
 {
     if (isset($user)) {
         UserPreference::loadPreferences('global', $user);
     } else {
         UserPreference::loadPreferences('global', $this);
     }
 }
Beispiel #3
0
 /**
  * Loads users timedate preferences
  *
  * @global user will use current_user if no user specificed in $user param
  * @param string $category name of the category to retreive, defaults to global scope
  * @param user $user User object to retrieve, otherwise user current_user
  * @return array 'date' - date format for user ; 'time' - time format for user
  *
  */
 function getUserDateTimePreferences($user = null)
 {
     global $sugar_config, $db, $timezones, $timedate, $current_user;
     if (!isset($user)) {
         $user = $GLOBALS['current_user'];
     }
     $prefDate = array();
     if (!empty($user) && UserPreference::loadPreferences('global', $user)) {
         // forced to set this to a variable to compare b/c empty() wasn't working
         $timeZone = $user->getPreference("timezone");
         $timeFormat = $user->getPreference("timef");
         $dateFormat = $user->getPreference("datef");
         // cn: bug xxxx cron.php fails because of missing preference when admin hasn't logged in yet
         $timeZone = empty($timeZone) ? 'America/Los_Angeles' : $timeZone;
         if (empty($timeZone)) {
             $timeZone = '';
         }
         if (empty($timeFormat)) {
             $timeFormat = $sugar_config['default_time_format'];
         }
         if (empty($dateFormat)) {
             $dateFormat = $sugar_config['default_date_format'];
         }
         $equinox = date('I');
         $serverHourGmt = date('Z') / 60 / 60;
         $userOffsetFromServerHour = $user->getPreference("timez");
         $userHourGmt = $serverHourGmt + $userOffsetFromServerHour;
         $prefDate['date'] = $dateFormat;
         $prefDate['time'] = $timeFormat;
         $prefDate['userGmt'] = "(GMT" . $timezones[$timeZone]['gmtOffset'] / 60 . ")";
         $prefDate['userGmtOffset'] = $timezones[$timeZone]['gmtOffset'] / 60;
         return $prefDate;
     } else {
         $prefDate['date'] = $timedate->get_date_format();
         $prefDate['time'] = $timedate->get_time_format();
         if (!empty($user) && $user->object_name == 'User') {
             $timeZone = $user->getPreference("timezone");
             // cn: bug 9171 - if user has no time zone, cron.php fails for InboundEmail
             if (!empty($timeZone)) {
                 $prefDate['userGmt'] = "(GMT" . $timezones[$timeZone]['gmtOffset'] / 60 . ")";
                 $prefDate['userGmtOffset'] = $timezones[$timeZone]['gmtOffset'] / 60;
             }
         } else {
             $timeZone = $current_user->getPreference("timezone");
             if (!empty($timeZone)) {
                 $prefDate['userGmt'] = "(GMT" . $timezones[$timeZone]['gmtOffset'] / 60 . ")";
                 $prefDate['userGmtOffset'] = $timezones[$timeZone]['gmtOffset'] / 60;
             }
         }
         return $prefDate;
     }
 }