ГлавнаяБлогЗамена CUser::GetParam()

Замена CUser::GetParam()

Рамиль Юналиев
Рамиль Юналиев
E-Commerce Lead
17 января 2014 г.
1 мин чтения

Стандартный метод CUser::GetParam() имеет ограниченные возможности. Альтернативная реализация позволяет получить все данные текущего пользователя, выбрать конкретный параметр по ключу или запросить данные другого пользователя по ID:

/**
 * Возвращает все данные текущего пользователя, можно выбрать 1 параметр по ключу, можно указать ID другого пользователя
 * @param string $s_ParamKey - Ключ поля CUser
 * @param intval $i_UserID - ID пользователя данные которого нужно выбрать
 * @return mixed
 */
public static function getUserParams($s_ParamKey = false, $i_UserID = false)
{
	global $USER;
	if( ! $i_UserID && ! $USER->IsAuthorized() )
		return; 	
	
	$ar_User = CUser::GetByID( ( intval($i_UserID) > 0 ) ? intval($i_UserID) : $USER->GetID() )->Fetch();
	return (!$s_ParamKey) ? $ar_User : $ar_User[$s_ParamKey]; 
}

Примеры использования:

  • getUserParams() — все данные текущего авторизованного пользователя
  • getUserParams('EMAIL') — только email текущего пользователя
  • getUserParams('NAME', 42) — имя пользователя с ID 42