fixed rating bugs introduced with commit c32a4b06
This commit is contained in:
@ -668,11 +668,14 @@
|
||||
INSERT IGNORE INTO `removed_objects` (`localId`, `uuid`, `type`, `node`) VALUES (OLD.`id`, OLD.`uuid`, 1, OLD.`node`);
|
||||
END;");
|
||||
|
||||
// IF condition is defined to work with both, rating_date field may be NULL or not
|
||||
sql_dropTrigger('cacheRatingBeforeInsert');
|
||||
sql("CREATE TRIGGER `cacheRatingBeforeInsert` BEFORE INSERT ON `cache_rating`
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
SET NEW.`rating_date` = NOW();
|
||||
IF ISNULL(NEW.`rating_date`) OR NEW.`rating_date` < '2000' THEN
|
||||
SET NEW.`rating_date` = NOW();
|
||||
END IF;
|
||||
END;");
|
||||
|
||||
sql_dropTrigger('cacheRatingAfterInsert');
|
||||
|
@ -212,6 +212,8 @@
|
||||
//store?
|
||||
if (isset($_POST['submitform']) && $date_ok && $logtype_ok && $pw_ok)
|
||||
{
|
||||
$log_date = date('Y-m-d', mktime(0, 0, 0, $log_date_month, $log_date_day, $log_date_year));
|
||||
|
||||
//store changed data
|
||||
sql("UPDATE `cache_logs` SET `type`='&1',
|
||||
`date`='&2',
|
||||
@ -220,7 +222,7 @@
|
||||
`text_htmledit`='&5'
|
||||
WHERE `id`='&6'",
|
||||
$log_type,
|
||||
date('Y-m-d', mktime(0, 0, 0, $log_date_month, $log_date_day, $log_date_year)),
|
||||
$log_date,
|
||||
(($descMode != 1) ? $log_text : nl2br($log_text)),
|
||||
(($descMode != 1) ? 1 : 0),
|
||||
(($descMode == 3) ? 1 : 0),
|
||||
@ -237,7 +239,10 @@
|
||||
// update top-list
|
||||
if ($top_option)
|
||||
if ($top_cache)
|
||||
sql("INSERT IGNORE INTO `cache_rating` (`user_id`, `cache_id`) VALUES('&1', '&2')", $usr['userid'], $log_record['cache_id']);
|
||||
sql("INSERT INTO `cache_rating` (`user_id`, `cache_id`, `rating_date`)
|
||||
VALUES('&1', '&2','&3')
|
||||
ON DUPLICATE KEY UPDATE `rating_date`='&3'",
|
||||
$usr['userid'], $log_record['cache_id'], $log_date);
|
||||
else
|
||||
sql("DELETE FROM `cache_rating` WHERE `user_id`='&1' AND `cache_id`='&2'", $usr['userid'], $log_record['cache_id']);
|
||||
|
||||
|
@ -120,7 +120,7 @@
|
||||
`cache_location`.`adm4`
|
||||
FROM `cache_rating`
|
||||
INNER JOIN `caches` ON `caches`.`cache_id`=`cache_rating`.`cache_id`
|
||||
INNER JOIN `user` ON `user`.`user_id`=`cache_rating`.`user_id`
|
||||
INNER JOIN `user` ON `user`.`user_id`=`caches`.`user_id`
|
||||
LEFT JOIN `cache_location` ON `cache_rating`.`cache_id`=`cache_location`.`cache_id`
|
||||
WHERE `caches`.`country`='&1' AND
|
||||
`cache_rating`.`rating_date`>DATE_SUB(NOW(), INTERVAL 30 DAY) AND
|
||||
|
@ -419,6 +419,7 @@ class cache
|
||||
}
|
||||
function addRecommendation($nUserId)
|
||||
{
|
||||
// rating_date will be set to NOW() by Insert-trigger
|
||||
sql("INSERT IGNORE INTO `cache_rating` (`cache_id`, `user_id`) VALUES ('&1', '&2')", $this->nCacheId, $nUserId);
|
||||
}
|
||||
function removeRecommendation($nUserId)
|
||||
|
@ -219,7 +219,7 @@
|
||||
// update top-list
|
||||
if ($top_option)
|
||||
if ($top_cache)
|
||||
sql("INSERT IGNORE INTO `cache_rating` (`user_id`, `cache_id`) VALUES('&1', '&2')", $usr['userid'], $cache_id);
|
||||
sql("INSERT IGNORE INTO `cache_rating` (`user_id`, `cache_id`, `rating_date`) VALUES('&1', '&2', '&3')", $usr['userid'], $cache_id, $log_date);
|
||||
else
|
||||
sql("DELETE FROM `cache_rating` WHERE `user_id`='&1' AND `cache_id`='&2'", $usr['userid'], $cache_id);
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
*
|
||||
* Unicode Reminder メモ
|
||||
*
|
||||
* Publish new geocaches that are marked for timed publish
|
||||
* Update top rating statistics
|
||||
***************************************************************************/
|
||||
|
||||
checkJob(new rating_tops());
|
||||
|
Reference in New Issue
Block a user