ManiaLib 1.0b1 API Reference

Source for file AuthenticationTokenFilter.class.php

Documentation is available at AuthenticationTokenFilter.class.php

  1. <?php
  2. /**
  3.  * @author Philippe Melot
  4.  * @copyright 2009-2010 NADEO
  5.  * @package ManiaLib
  6.  * @subpackage MVC_DefaultFilters
  7.  */
  8.  
  9. /**
  10.  * Authentication filter
  11.  * Register this filter in your controller, and all the actions will require
  12.  * authentication using the Manialink Authentication System developped by NADEO
  13.  * @see AuthenticationToken
  14.  * @package ManiaLib
  15.  * @subpackage MVC_DefaultFilters
  16.  */
  17. {
  18.     /**#@+
  19.      * @ignore
  20.      */
  21.     protected static $onFailureCallback;
  22.     protected static $onFailureCallbackParameters;
  23.     /**#@-*/
  24.     
  25.     static function setOnFailureCallback($callback)
  26.     {
  27.         self::$onFailureCallback $callback;
  28.     }
  29.     
  30.     static function setOnFailureCallbackParameters(array $parameters)
  31.     {
  32.         self::$onFailureCallbackParameters $parameters;
  33.     }
  34.     
  35.     /**
  36. /**
  37.      * @ignore
  38.      */
  39.     function preFilter()
  40.     {
  41.         if(!$this->session->exists('isAuthentified'))
  42.         {
  43.             try
  44.             {
  45.                 $playerlogin $this->request->get('playerlogin');
  46.                 if(!$playerlogin)
  47.                 {
  48.                     $playerlogin $this->session->getStrict('login');
  49.                 }
  50.  
  51.                 $token $this->request->get('token');
  52.                 if(!$token)
  53.                 {
  54.                     $token $this->session->getStrict('token');
  55.                 }
  56.                 
  57.                 if(AuthenticationToken::checkAuthenticationToken($playerlogin$token))
  58.                     $this->session->set('isAuthentified',1);
  59.                     
  60.                 $this->session->delete('token');
  61.             }
  62.             catch (AuthenticationTokenFailedException $e)
  63.             {
  64.                 if(self::$onFailureCallback)
  65.                 {
  66.                     $callback self::$onFailureCallback;
  67.                     $parameters self::$onFailureCallbackParameters;
  68.                 
  69.                 else 
  70.                 {
  71.                     $callback array($this->request'redirectManialinkAbsolute');
  72.                     $parameters array('Manialink:home');
  73.                 }
  74.  
  75.                 call_user_func_array($callback$parameters);
  76.             }
  77.         }
  78.     }
  79.  
  80.     /**
  81.      * @ignore
  82.      */
  83.     function postFilter({}
  84. }
  85. ?>