Your IP : 216.73.216.41


Current Path : /home/purehotels/public_html/administrator/components/com_bfstop/helpers/
Upload File :
Current File : /home/purehotels/public_html/administrator/components/com_bfstop/helpers/unblock.php

<?php
/*
 * @package Brute Force Stop Component (com_bfstop) for Joomla! >=2.5
 * @author Bernhard Froehler
 * @copyright (C) 2012-2014 Bernhard Froehler
 * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
**/
defined('_JEXEC') or die;

class BFStopUnblockHelper
{
	public static function unblock($db, $ids, $source, $logger) {
		if (!is_array($ids) || sizeof($ids) == 0)
		{
			$logger->log("com_bfstop unblock: Invalid parameter IDs given!", JLog::ERROR);
			return false;
		}
		
		$unblockResult = true;
		$unblockDate = date('Y-m-d H:i:s');
		foreach($ids as $id) {
			if (filter_var($id, FILTER_VALIDATE_IP))
			{
				$htaccess = new BFStopHtAccess(JPATH_ROOT, null);
				$result = $htaccess->undenyIP($id);
				$logger->log("com_bfstop unblock: .htaccess unblock ".(($result)?"successful":"not successful")."!", JLog::ERROR);

			} else {
				$id = (int)$id;
				$sql = 'SELECT * FROM #__bfstop_unblock WHERE block_id='.$id;
				$db->setQuery($sql);
				$unblockEntry = $db->loadObject();
				BFStopDBHelper::checkDBError($db, $logger);
				if ($unblockEntry != null) {
					$logger->log("com_bfstop unblock: Unblock already exists!", JLog::ERROR);
					return false;
				}
				$unblock = new stdClass();
				$unblock->block_id = $id;
				$unblock->source = $source; // source of 1 indicates unblock via email
				$unblock->crdate = $unblockDate;
				$unblockResult = $db->insertObject('#__bfstop_unblock', $unblock);
				BFStopDBHelper::checkDBError($db, $logger);
				if (!$unblockResult) {
					$logger->log("com_bfstop-tokenunblock: Inserting unblock failed!", JLog::ERROR);
				}
			}
		}
		return $unblockResult;
	}
}