Beispiel #1
0
 /**
  * get profile data for a user.
  * This function receives userId as param because
  * user profile data can be edited by another user (owner).
  */
 public function getProfileData($userId = false)
 {
     if (!$this->isVerified()) {
         return array('success' => false, 'verify' => true);
     }
     if ($userId === false) {
         $userId = static::getId();
     }
     if (!Security::canEditUser($userId)) {
         throw new \Exception(L\get('Access_denied'));
     }
     $rez = array();
     $languageSettings = Config::get('language_settings');
     $r = $this->getPreferences($userId);
     if (!empty($r)) {
         $cfg = $r['cfg'];
         unset($r['cfg']);
         $language_index = empty($r['language_id']) ? Config::get('user_language_index') - 1 : $r['language_id'] - 1;
         $r['language'] = Config::get('languages')[$language_index];
         $r['long_date_format'] = empty($cfg['long_date_format']) ? $languageSettings[$r['language']]['long_date_format'] : $cfg['long_date_format'];
         $r['short_date_format'] = empty($cfg['short_date_format']) ? $languageSettings[$r['language']]['short_date_format'] : $cfg['short_date_format'];
         if (!empty($cfg['country_code'])) {
             $r['country_code'] = $cfg['country_code'];
         }
         if (!empty($cfg['phone'])) {
             $r['phone'] = $cfg['phone'];
         }
         if (!empty($cfg['timezone'])) {
             $r['timezone'] = $cfg['timezone'];
         }
         if (!empty($cfg['canAddUsers'])) {
             $r['canAddUsers'] = $cfg['canAddUsers'];
         }
         if (!empty($cfg['canAddGroups'])) {
             $r['canAddGroups'] = $cfg['canAddGroups'];
         }
         $r['template_id'] = User::getTemplateId();
         $rez = $r;
     }
     //get possible associated objects for display in grid
     if (!empty($rez['data'])) {
         $assocObjects = Objects::getAssociatedObjects(array('template_id' => $rez['template_id'], 'data' => $rez['data']));
         if (!empty($assocObjects['data'])) {
             $rez['assocObjects'] = $assocObjects['data'];
         }
     }
     $rez['success'] = true;
     return $rez;
 }