Вход Регистрация
Файл: upload/include/library/phpfox/spam/hash.class.php
Строк: 54
<?php
/**
 * [PHPFOX_HEADER]
 */

defined('PHPFOX') or exit('NO DICE!');

/**
 * SPAM Hash Check
 * Checks content being added to the site and looks over if it has been
 * added in the past.
 * 
 * @copyright        [PHPFOX_COPYRIGHT]
 * @author          Raymond Benc
 * @package         Phpfox
 * @version         $Id: hash.class.php 1668 2010-07-12 08:54:32Z Raymond_Benc $
 */
class Phpfox_Spam_Hash
{
    
/**
     * Params we pass on how the SPAM check should behave.
     *
     * @var array
     */
    
private $_aParams = array();
    
    
/**
     * Class constructor. Load all the params on how the SPAM check 
     * should behave.
     *
     * @param array $aParams ARRAY of settings.
     */
    
public function __construct($aParams = array())
    {
        
$this->_aParams $aParams;
        
$this->_oDb Phpfox::getLib('database');
    }
    
    
/**
     * Checks to see if the content being passed is considered as SPAM.
     *
     * @return bool TRUE if it is spam, FALSE if it isn't spam.
     */
    
public function isSpam()
    {        
        if (empty(
$this->_aParams['content']))
        {
            
Phpfox_Error::set(Phpfox::getPhrase('core.content_is_empty'));
            
            return 
true;
        }
        
        
$this->_aParams['content'] = md5(str_replace(array("n""r""t"" ""o""xOB"), ''$this->_aParams['content']));    
        
        
$sCount $this->_oDb->select('COUNT(*)')
            ->
from(Phpfox::getT($this->_aParams['table']))
            ->
where('user_id = ' Phpfox::getUserId() . ' AND item_hash = '' . $this->_oDb->escape($this->_aParams['content']) . '' AND time_stamp >= '' . (PHPFOX_TIME - ($this->_aParams['time'] * 60)) . ''')
            ->
limit($this->_aParams['total'])
            ->
order('time_stamp DESC')
            ->
execute('getSlaveField');
            
        if ((int) 
$sCount 0)
        {
            
Phpfox::getLib('database')->updateCounter('user''total_spam''user_id'Phpfox::getUserId());
            
            
Phpfox_Error::set(Phpfox::getPhrase('core.the_content_of_this_item_is_identical_to_something_you_have_added_before_please_try_again'));
            
            return 
true;
        }
        
        
$this->_oDb->insert(Phpfox::getT($this->_aParams['table']), array(
                
'user_id' => Phpfox::getUserId(),
                
'item_hash' => $this->_aParams['content'],
                
'time_stamp' => PHPFOX_TIME
            
)
        );
        
        return 
false;
    }
}

?>
Онлайн: 1
Реклама