1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

1.3.2 Активировать пользователя через PHP

Тема в разделе "Вопросы и ответы по XenForo Framework", создана пользователем chodov, 12.06.2014.

Загрузка
  1. chodov

    chodov Местный

    Регистрация:
    12.12.12
    Сообщения:
    12
    Симпатии:
    2
    Версия XF:
    1.1.3
    Приветствую! Использую плагин Робокассы "Повышение прав". При успешной оплате юзера переводит в определенную группу, но мне нужно, чтобы его еще и активировал плагин, т.к. пользователи у меня активируются вручную.
    В плагине перед return true пишу следующий код:
    PHP:
        $visitor XenForo_Visitor::getInstance();
         if (
    $visitor['user_state'] != 'valid'){
           
    $userModel XenForo_Model::create('XenForo_Model_User');
           
    $this->$userModel->update($visitor'user_state''valid');
         }
    Но он все также просто добавляет юзера в группу без его активации. Подправьте пожалуйста мой код.
    --- добавлено : 12 июн 2014 в 15:06 ---
    Еще пробовал вот так:
    PHP:
            $visitor XenForo_Visitor::getInstance();
            if (
    $visitor['user_state'] != 'valid'){
                
    $db XenForo_Application::get('db');
                
    $db->query("UPDATE `xf_user` SET `user_state` = 'valid' WHERE `username` = '".$visitor['username']."';");
            }
    тоже не активирует.

    Upd...

    Вот так сработало:
    PHP:
            if ($this->_user['user_state'] != 'valid'){
                
    $db XenForo_Application::get('db');
                
    $db->query("UPDATE `xf_user` SET `user_state` = 'valid' WHERE `user_id` = '".$this->_user['user_id']."';");
            }
    Теперь, если юзер не активирован, то после оплаты плагин его активирует.
     
    Последнее редактирование модератором: 20.06.2014

Поделиться этой страницей