Редактировать: Теперь он работает, был ошибкой в LimeSurvey.Limesurvey 2.05 plugin
Я создал простой плагин для регистрации для LimeSurvey 2.05beta5, чтобы проверить, если он работает.
Проблема в том, что событие newUserSession никогда не называется. Документация тоже очень плохо, потому что все еще находится в бета ...
Вот код плагина:
<?php
class TestLogin extends AuthPluginBase
{
protected $storage = 'DbStorage';
static protected $description = 'Testing login system...';
static protected $name = 'TestLogin';
public function __construct(PluginManager $manager, $id) {
parent::__construct($manager, $id);
$this->subscribe('beforeLogin');
$this->subscribe('newUserSession');
}
public function beforeLogin()
{
if (isset($_GET["testlogin"]) && ($_GET["testlogin"] == 1)) {
$this->setUsername('admin');
$this->setAuthPlugin();
}
}
public function newUserSession()
{
$sUser = $this->getUserName();
$oUser = $this->api->getUserByName($sUser);
if (!is_null($oUser))
{
$this->setAuthSuccess($oUser);
return;
} else {
$this->setAuthFailure(self::ERROR_USERNAME_INVALID);
}
}
}
?>
Для вызова этого кода, просто зайдите на этот адрес: администратор/аутентификации/са/Логин? testlogin = 1
Мне ничего не хватает?
Пожалуйста, оставьте «теперь работает» в качестве ответа (ниже), и принять его, так что этот вопрос будет отмечен как решен. Также обратитесь к номеру/билету/набору изменений с идентификатором и/или ссылкой, чтобы ссылка была сохранена. Спасибо, что сделали этот сайт (и limesurvey) лучше! – hakre
LimeSurvey 2.05beta5 .... бета - бета –