/** * 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; }