2013-07-26 2 views
1

Редактировать: Теперь он работает, был ошибкой в ​​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

Мне ничего не хватает?

+0

Пожалуйста, оставьте «теперь работает» в качестве ответа (ниже), и принять его, так что этот вопрос будет отмечен как решен. Также обратитесь к номеру/билету/набору изменений с идентификатором и/или ссылкой, чтобы ссылка была сохранена. Спасибо, что сделали этот сайт (и limesurvey) лучше! – hakre

+0

LimeSurvey 2.05beta5 .... бета - бета –

ответ

Смежные вопросы