HybridAuth определить что авторизован через него

Суть в том что на сайте есть регистрация и авторизация через HybridAuth всё супер спасибо Василий.
И в личном кабинете пользователя, пользователь может указать новый пароль сам, через ChangePassword.

Нужно какой то определять человек был зарегистрирован или авторизован через HybridAuth потому что для зарегистрированного обычным путём, пароль сменить можно, а в HybridAuth это нафиг не надо, надо убрать это поле «изменения пароля» потому что если человек нажимает сменить пароль, то система так заглючивает

Заранее спасибо друзья!
Добряков Алексей
21 января 2013, 12:30
modx.pro
1
1 063
0

Комментарии: 4

Василий Наумкин
21 января 2013, 17:53
1
0
Проверяй привязанные к нему записи haUserService.

Можно прям так:
if ($user = $modx->getObject('haUser', array('id' => 11, 'class_key' => 'haUser'))) {
	$services = $user->getMany('Services');
	if (count($services)) {
		echo 'У юзера есть привязанные учётки';
	}
	else {
		echo 'Нет учёток';
	}
}
    Добряков Алексей
    21 января 2013, 18:33
    0
    Тогда для моих целей проще что то типа того:

    if ($user = $modx->getObject('haUser', array('id' => 41, 'class_key' => 'haUser'))) {
    echo 'Авторизован через HybridAuth';
    }else{
    echo 'Зарегестрирован через Login';
    };
      Василий Наумкин
      21 января 2013, 19:31
      0
      Точняк, не подумал.

      Более быстрая проверка авторизованного юзера:
      if ($modx->user->class_key == 'haUser') {
      	echo 1;
      }
      else {
      	echo 0;
      }
      
      // Или еще проще
      echo ($modx->user->class_key == 'haUser');

      Неавторизованного юзера:
      echo $modx->getCount('haUser', array('id' => 15, 'class_key' => 'haUser'));
      Получишь 0 или 1.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4