⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 joomla.php

📁 Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发
💻 PHP
字号:
<?php/*** @version		$Id: joomla.php 10709 2008-08-21 09:58:52Z eddieajau $* @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' );/** * Joomla Authentication plugin * * @package		Joomla * @subpackage	JFramework * @since 1.5 */class plgAuthenticationJoomla 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 plgAuthenticationJoomla(& $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 )	{		jimport('joomla.user.helper');		// Joomla does not like blank passwords		if (empty($credentials['password']))		{			$response->status = JAUTHENTICATE_STATUS_FAILURE;			$response->error_message = 'Empty password not allowed';			return false;		}		// Initialize variables		$conditions = '';		// Get a database object		$db =& JFactory::getDBO();		$query = 'SELECT `id`, `password`, `gid`'			. ' FROM `#__users`'			. ' WHERE username=' . $db->Quote( $credentials['username'] )			;		$db->setQuery( $query );		$result = $db->loadObject();		if($result)		{			$parts	= explode( ':', $result->password );			$crypt	= $parts[0];			$salt	= @$parts[1];			$testcrypt = JUserHelper::getCryptedPassword($credentials['password'], $salt);			if ($crypt == $testcrypt) {				$user = JUser::getInstance($result->id); // Bring this in line with the rest of the system				$response->email = $user->email;				$response->fullname = $user->name;				$response->status = JAUTHENTICATE_STATUS_SUCCESS;				$response->error_message = '';			} else {				$response->status = JAUTHENTICATE_STATUS_FAILURE;				$response->error_message = 'Invalid password';			}		}		else		{			$response->status = JAUTHENTICATE_STATUS_FAILURE;			$response->error_message = 'User does not exist';		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -