mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-06-28 20:45:00 +03:00
Учет IP при голосовании
This commit is contained in:
parent
9df99b6f00
commit
ee34fe74dd
|
@ -37,6 +37,9 @@ class ModuleVote extends Module {
|
|||
* @return unknown
|
||||
*/
|
||||
public function AddVote(ModuleVote_EntityVote $oVote) {
|
||||
if (!$oVote->getIp()) {
|
||||
$oVote->setIp(func_getIp());
|
||||
}
|
||||
if ($this->oMapper->AddVote($oVote)) {
|
||||
$this->Cache_Delete("vote_{$oVote->getTargetType()}_{$oVote->getTargetId()}_{$oVote->getVoterId()}");
|
||||
$this->Cache_Clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG,array("vote_update_{$oVote->getTargetType()}_{$oVote->getVoterId()}"));
|
||||
|
|
|
@ -35,6 +35,9 @@ class ModuleVote_EntityVote extends Entity
|
|||
public function getDate() {
|
||||
return $this->_aData['vote_date'];
|
||||
}
|
||||
public function getIp() {
|
||||
return $this->_getDataOne('vote_ip');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -56,5 +59,8 @@ class ModuleVote_EntityVote extends Entity
|
|||
public function setDate($data) {
|
||||
$this->_aData['vote_date']=$data;
|
||||
}
|
||||
public function setIp($data) {
|
||||
$this->_aData['vote_ip']=$data;
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -25,11 +25,12 @@ class ModuleVote_MapperVote extends Mapper {
|
|||
user_voter_id,
|
||||
vote_direction,
|
||||
vote_value,
|
||||
vote_date
|
||||
vote_date,
|
||||
vote_ip
|
||||
)
|
||||
VALUES(?d, ?, ?d, ?d, ?f, ?)
|
||||
VALUES(?d, ?, ?d, ?d, ?f, ?, ?)
|
||||
";
|
||||
if ($this->oDb->query($sql,$oVote->getTargetId(),$oVote->getTargetType(),$oVote->getVoterId(),$oVote->getDirection(),$oVote->getValue(),$oVote->getDate())===0)
|
||||
if ($this->oDb->query($sql,$oVote->getTargetId(),$oVote->getTargetType(),$oVote->getVoterId(),$oVote->getDirection(),$oVote->getValue(),$oVote->getDate(),$oVote->getIp())===0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -110,4 +110,7 @@ INSERT INTO `prefix_user_field` (`type`, `name`, `title`, `pattern`) VALUES
|
|||
('social', 'vkontakte', 'ВКонтакте', '<a href="http://vk.com/{*}" rel="nofollow">{*}</a>'),
|
||||
('social', 'odnoklassniki', 'Одноклассники', '<a href="http://www.odnoklassniki.ru/profile/{*}/" rel="nofollow">{*}</a>');
|
||||
|
||||
ALTER TABLE `prefix_favourite_tag` ADD INDEX ( `text` );
|
||||
ALTER TABLE `prefix_favourite_tag` ADD INDEX ( `text` );
|
||||
|
||||
ALTER TABLE `prefix_vote` ADD `vote_ip` VARCHAR( 15 ) NOT NULL DEFAULT '',
|
||||
ADD INDEX ( `vote_ip` );
|
|
@ -769,8 +769,10 @@ CREATE TABLE IF NOT EXISTS `prefix_vote` (
|
|||
`vote_direction` tinyint(2) DEFAULT '0',
|
||||
`vote_value` float(9,3) NOT NULL DEFAULT '0.000',
|
||||
`vote_date` datetime NOT NULL,
|
||||
`vote_ip` varchar(15) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`target_id`,`target_type`,`user_voter_id`),
|
||||
KEY `user_voter_id` (`user_voter_id`)
|
||||
KEY `user_voter_id` (`user_voter_id`),
|
||||
KEY `vote_ip` (`vote_ip`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
--
|
||||
|
|
Loading…
Reference in a new issue