Ejemplo n.º 1
0
 /**
  *
  * @see JAuthenticationResponse para obter detalhes de resposta da autenticação.
  *
  * @param array $param
  * @param array $options
  * @param JAuthenticationResponse &$response
  */
 function onAuthenticate($credentials, $options, &$response)
 {
     if (JDEBUG) {
         dump($credentials, "Credentials");
     }
     if (JDEBUG) {
         dump($options, "Options");
     }
     if (JDEBUG) {
         dump($response, "Response");
     }
     jimport('joomla.user.helper');
     // Joomla does not like blank passwords
     if (empty($credentials['password'])) {
         $response->status = JAUTHENTICATE_STATUS_FAILURE;
         $response->error_message = 'Não é permitido senha em Branco';
         return false;
     }
     $joopoa_helper = JApplicationHelper::getPath('helper', 'com_joopoa');
     if (JDEBUG) {
         dump($joopoa_helper, 'Path para o helper do com_joopoa');
     }
     require $joopoa_helper;
     $sawee = JoopoaHelper::getSaweeWSClientLib();
     // $matricula, $password, $tipo='aluno', $unidade=NULL, $periodo=NULL
     $usuario = $sawee->login_login($credentials['username'], $credentials['password'], 'aluno', $credentials['unit']);
     if ($usuario) {
         $joopoauser_helper = JApplicationHelper::getPath('helper', 'com_joopoauser');
         if (JDEBUG) {
             dump($joopoauser_helper, 'Path para o helper do com_joopoauser');
         }
         require $joopoauser_helper;
         $user = JoopoauserHelper::getJoomlaUser($usuario);
         // Bring this in line with the rest of the system
         if (JDEBUG) {
             dump($user, 'Usuário criado com base nos dados obtidos no SAWEE');
         }
         $response->email = $user->email;
         $response->fullname = $user->name;
         $response->status = JAUTHENTICATE_STATUS_SUCCESS;
         $response->error_message = '';
         return true;
     } else {
         $response->status = JAUTHENTICATE_STATUS_FAILURE;
         $response->error_message = 'User does not exist';
     }
     return false;
 }