| Server IP : 195.130.67.5 / Your IP : 216.73.216.231 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/icd/plugins/system/ |
Upload File : |
<?php
/**
*
* block password reset for admin users for Joomla 1.5 Native
*
* @copyright Copyright (C) 2009 Spiral Scripts All rights reserved.
* @website http://www.spiralscripts.co.uk
* @license GNU/GPL
*
*/
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport('joomla.event.plugin');
jimport('joomla.mail.helper');
class plgSystemBlockPasswordReset extends JPlugin {
var $_plugin;
var $_params;
function plgSystemBlockPasswordReset(& $subject){
parent::__construct($subject);
//load plugin parameters
$this->_plugin = JPluginHelper::getPlugin('system','blockPasswordReset');
$this->_params = new JParameter($this->_plugin->params);
} // end BlockPasswordReset
function onAfterInitialise() {
if(JPluginHelper::isEnabled('system','blockPasswordReset')==false) return;
global $mainframe;
$query_string_array = JRequest::get( 'get' ); //Get an array of all the variables in the php $_GET
$option = strtolower (strval( JRequest::getCmd('option' )));
$task = strtolower (strval( JRequest::getVar( 'task' ) ) );
$email = JRequest::getVar('email', null, 'post', 'string');
$token = JRequest::getVar('token', null, 'post', 'string');
$db =& JFactory::getDBO();
$userid = $this->_params->get('block_ids');
$groupid = $this->_params->get('blockusergroups');
$msg = $this->_params->get('emailmsg');
$isResetting = false;
//if(in_array($task, array('requestreset','confirmreset'))){ $isResetting = true; }
if((($option == 'com_user')||empty($option)) && ($task == 'requestreset')){ $isResetting = true; }
if((($option == 'com_user')||empty($option)) && ($task == 'confirmreset')){ $isResetting = true; }
if( ! $isResetting ){
return;
//$msg .= ' not resetting';
}
if($task == 'requestreset')
{
if (!JMailHelper::isEmailAddress($email))
{
return;
}
if ($userid)
{
$ids = explode( ',', $userid );
JArrayHelper::toInteger( $ids );
$userCondition = ' WHERE (u.id=' . implode( ' OR u.id=', $ids ) . ')';
$query = 'SELECT * FROM #__users as u'.$userCondition;
$db->setQuery($query);
$rows = $db->loadObjectList();
if($rows){
foreach($rows as $row)
{
if($row->email == $email){
$mainframe->redirect("index.php?option=com_user&view=reset",$msg);
}
}
}
}
else if(is_array($groupid) &&(count($groupid)>0))
{
JArrayHelper::toInteger( $groupid );
$query = 'SELECT * FROM #__users'
. ' WHERE email = '.$db->Quote($email);
$db->setQuery($query);
$rows = $db->loadObjectList();
foreach($rows as $row)
{
foreach($groupid as $group)
{
if($row->gid == $group)
{
$mainframe->redirect("index.php?option=com_user&view=reset",$msg);
}
}
}
}
else if($groupid)
{
$group = intval($groupid);
$query = 'SELECT * FROM #__users'
. ' WHERE email = '.$db->Quote($email);
$db->setQuery($query);
$rows = $db->loadObjectList();
foreach($rows as $row)
{
if($row->gid == $group)
{
$mainframe->redirect("index.php?option=com_user&view=reset",$msg);
}
}
}
}//end task = requestreset
else if($task == 'confirmreset')
{
if(! $token) {return;}
if ($userid)
{
$ids = explode( ',', $userid );
JArrayHelper::toInteger( $ids );
$userCondition = ' WHERE (u.id=' . implode( ' OR u.id=', $ids ) . ')';
$query = 'SELECT * FROM #__users as u'.$userCondition;
$db->setQuery($query);
$rows = $db->loadObjectList();
if($rows){
foreach($rows as $row)
{
if($row->activation == $token){
$mainframe->redirect("index.php?option=com_user&view=reset&layout=confirm",$msg);
}
}
}
}
else if(is_array($groupid) &&(count($groupid)>0))
{
JArrayHelper::toInteger( $groupid );
$query = 'SELECT * FROM #__users'
. ' WHERE activation = '.$db->Quote($token);
$db->setQuery($query);
$rows = $db->loadObjectList();
foreach($rows as $row)
{
foreach($groupid as $group)
{
if($row->gid == $group)
{
$mainframe->redirect("index.php?option=com_user&view=reset&layout=confirm",$msg);
}
}
}
}
else if($groupid)
{
$group = intval($groupid);
$query = 'SELECT * FROM #__users'
. ' WHERE activation = '.$db->Quote($token);
$db->setQuery($query);
$rows = $db->loadObjectList();
foreach($rows as $row)
{
if($row->gid == $group)
{
$mainframe->redirect("index.php?option=com_user&view=reset&layout=confirm",$msg);
}
}
}
}//end task = confirmreset
}
}