/** * @version $Id: example.php 10381 2008-06-01 03:35:53Z pasamio $ * @package Joomla * @subpackage JFramework * @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * See COPYRIGHT.php for copyright notices and details. */ // Check to ensure this file is included in Joomla! defined( '_JEXEC' ) or die( 'Restricted access' ); jimport( 'joomla.plugin.plugin' ); /** * Example Authentication Plugin * * @package Joomla * @subpackage JFramework * @since 1.5 */ class plgAuthenticationExample extends JPlugin { /** * Constructor * * For php4 compatability we must not use the __constructor as a constructor for plugins * because func_get_args ( void ) returns a copy of all passed arguments NOT references. * This causes problems with cross-referencing necessary for the observer design pattern. * * @param object $subject The object to observe * @param array $config An array that holds the plugin configuration * @since 1.5 */ function plgAuthenticationExample(& $subject, $config) { parent::__construct($subject, $config); } /** * This method should handle any authentication and report back to the subject * * @access public * @param array $credentials Array holding the user credentials * @param array $options Array of extra options * @param object $response Authentication response object * @return boolean * @since 1.5 */ function onAuthenticate( $credentials, $options, &$response ) { /* * Here you would do whatever you need for an authentication routine with the credentials * * In this example the mixed variable $return would be set to false * if the authentication routine fails or an integer userid of the authenticated * user if the routine passes */ $success = true; if ($success) { $response->status = JAUTHENTICATE_STATUS_SUCCESS; $response->error_message = ''; // You may also define other variables: /* $yourUser = YourClass::getUser( $credentials ); $response->email = $yourUser->email; $response->fullname = $yourUser->name; */ return true; } else { $response->status = JAUTHENTICATE_STATUS_FAILURE; $response->error_message = 'Could not authenticate'; return false; } } }