do not count invisible caches in hidden stats
This commit is contained in:
@@ -106,4 +106,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function dbv_102() // remove invisible caches from users' hidden stats
|
||||||
|
{
|
||||||
|
sql("INSERT IGNORE INTO `stat_user` (`user_id`) SELECT `user_id` FROM `caches` GROUP BY `user_id`");
|
||||||
|
sql("UPDATE `stat_user`, (SELECT `user_id`, COUNT(*) AS `count` FROM `caches` INNER JOIN `cache_status` ON `cache_status`.`id`=`caches`.`status` AND `allow_user_view`=1 GROUP BY `user_id`) AS `tblHidden` SET `stat_user`.`hidden`=`tblHidden`.`count` WHERE `stat_user`.`user_id`=`tblHidden`.`user_id`");
|
||||||
|
sql("CALL sp_refreshall_statpic()");
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -66,3 +66,4 @@ date commit ID change
|
|||||||
2013-04-06 e281cfa changed cach_logs.date and cach_logs_archived.date type to datetime
|
2013-04-06 e281cfa changed cach_logs.date and cach_logs_archived.date type to datetime
|
||||||
2013-04-22 c989c00 added fields caches.meta_last_modified, cache_logs.log_last_modified,
|
2013-04-22 c989c00 added fields caches.meta_last_modified, cache_logs.log_last_modified,
|
||||||
cache_logs_archived.log_last_modified, and triggers
|
cache_logs_archived.log_last_modified, and triggers
|
||||||
|
2013-04-28 updated triggers to calculate hidden stats
|
||||||
|
|||||||
@@ -2442,6 +2442,7 @@ INSERT INTO `sys_trans` (`id`, `text`, `last_modified`) VALUES ('2001', 'Own log
|
|||||||
INSERT INTO `sys_trans` (`id`, `text`, `last_modified`) VALUES ('2002', 'Show all finds', '2013-04-25 23:00:00');
|
INSERT INTO `sys_trans` (`id`, `text`, `last_modified`) VALUES ('2002', 'Show all finds', '2013-04-25 23:00:00');
|
||||||
INSERT INTO `sys_trans` (`id`, `text`, `last_modified`) VALUES ('2003', 'Show all logs', '2013-04-25 23:00:00');
|
INSERT INTO `sys_trans` (`id`, `text`, `last_modified`) VALUES ('2003', 'Show all logs', '2013-04-25 23:00:00');
|
||||||
INSERT INTO `sys_trans` (`id`, `text`, `last_modified`) VALUES ('2004', 'active caches', '2013-04-25 23:00:00');
|
INSERT INTO `sys_trans` (`id`, `text`, `last_modified`) VALUES ('2004', 'active caches', '2013-04-25 23:00:00');
|
||||||
|
INSERT INTO `sys_trans` (`id`, `text`, `last_modified`) VALUES ('2005', 'Show active', '2013-04-25 23:00:00');
|
||||||
|
|
||||||
-- Table sys_trans_ref
|
-- Table sys_trans_ref
|
||||||
SET NAMES 'utf8';
|
SET NAMES 'utf8';
|
||||||
@@ -6216,6 +6217,7 @@ INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUE
|
|||||||
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('2002', 'DE', 'alle Funde anzeigen', '2013-04-25 23:00:00');
|
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('2002', 'DE', 'alle Funde anzeigen', '2013-04-25 23:00:00');
|
||||||
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('2003', 'DE', 'alle Logs anzeigen', '2013-04-25 23:00:00');
|
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('2003', 'DE', 'alle Logs anzeigen', '2013-04-25 23:00:00');
|
||||||
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('2004', 'DE', 'aktive Caches', '2013-04-25 23:00:00');
|
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('2004', 'DE', 'aktive Caches', '2013-04-25 23:00:00');
|
||||||
|
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('2005', 'DE', 'aktive anzeigen', '2013-04-25 23:00:00');
|
||||||
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('1', 'EN', 'Reorder IDs \r', '2010-09-02 00:15:30');
|
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('1', 'EN', 'Reorder IDs \r', '2010-09-02 00:15:30');
|
||||||
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('2', 'EN', 'The database could not be reconnected.', '2010-08-28 11:48:07');
|
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('2', 'EN', 'The database could not be reconnected.', '2010-08-28 11:48:07');
|
||||||
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('3', 'EN', 'Testing – please do not login', '2010-08-28 11:48:07');
|
INSERT INTO `sys_trans_text` (`trans_id`, `lang`, `text`, `last_modified`) VALUES ('3', 'EN', 'Testing – please do not login', '2010-08-28 11:48:07');
|
||||||
|
|||||||
@@ -370,16 +370,18 @@
|
|||||||
|
|
||||||
// increment/decrement stat_user.hidden
|
// increment/decrement stat_user.hidden
|
||||||
sql_dropProcedure('sp_update_hiddenstat');
|
sql_dropProcedure('sp_update_hiddenstat');
|
||||||
sql("CREATE PROCEDURE sp_update_hiddenstat (IN nUserId INT, IN bRemoved BOOLEAN)
|
sql("CREATE PROCEDURE sp_update_hiddenstat (IN nUserId INT, IN iStatus INT, IN bRemoved BOOLEAN)
|
||||||
BEGIN
|
BEGIN
|
||||||
DECLARE nHidden INT DEFAULT 1;
|
DECLARE nHidden INT DEFAULT 1;
|
||||||
IF bRemoved = TRUE THEN SET nHidden = -1; END IF;
|
IF (SELECT `allow_user_view` FROM `cache_status` WHERE `id`=iStatus) THEN
|
||||||
UPDATE `stat_user` SET `stat_user`.`hidden`=IF(`stat_user`.`hidden`+nHidden>0, `stat_user`.`hidden`+nHidden, 0) WHERE `stat_user`.`user_id`=nUserId;
|
IF bRemoved = TRUE THEN SET nHidden = -1; END IF;
|
||||||
IF ROW_COUNT() = 0 THEN
|
UPDATE `stat_user` SET `stat_user`.`hidden`=IF(`stat_user`.`hidden`+nHidden>0, `stat_user`.`hidden`+nHidden, 0) WHERE `stat_user`.`user_id`=nUserId;
|
||||||
INSERT IGNORE INTO `stat_user` (`user_id`, `hidden`) VALUES (nUserId, IF(nHidden>0, nHidden, 0));
|
IF ROW_COUNT() = 0 THEN
|
||||||
END IF;
|
INSERT IGNORE INTO `stat_user` (`user_id`, `hidden`) VALUES (nUserId, IF(nHidden>0, nHidden, 0));
|
||||||
|
END IF;
|
||||||
|
|
||||||
CALL sp_refresh_statpic(nUserId);
|
CALL sp_refresh_statpic(nUserId);
|
||||||
|
END IF;
|
||||||
END;");
|
END;");
|
||||||
|
|
||||||
// recalc hidden of stat_user for all entries
|
// recalc hidden of stat_user for all entries
|
||||||
@@ -391,7 +393,7 @@
|
|||||||
INSERT IGNORE INTO `stat_user` (`user_id`) SELECT `user_id` FROM `caches` GROUP BY `user_id`;
|
INSERT IGNORE INTO `stat_user` (`user_id`) SELECT `user_id` FROM `caches` GROUP BY `user_id`;
|
||||||
|
|
||||||
/* stat_caches.hidden */
|
/* stat_caches.hidden */
|
||||||
UPDATE `stat_user`, (SELECT `user_id`, COUNT(*) AS `count` FROM `caches` GROUP BY `user_id`) AS `tblHidden` SET `stat_user`.`hidden`=`tblHidden`.`count` WHERE `stat_user`.`user_id`=`tblHidden`.`user_id`;
|
UPDATE `stat_user`, (SELECT `user_id`, COUNT(*) AS `count` FROM `caches` INNER JOIN `cache_status` ON `cache_status`.`id`=`caches`.`status` AND `allow_user_view`=1 GROUP BY `user_id`) AS `tblHidden` SET `stat_user`.`hidden`=`tblHidden`.`count` WHERE `stat_user`.`user_id`=`tblHidden`.`user_id`;
|
||||||
SET nModified=nModified+ROW_COUNT();
|
SET nModified=nModified+ROW_COUNT();
|
||||||
|
|
||||||
CALL sp_refreshall_statpic();
|
CALL sp_refreshall_statpic();
|
||||||
@@ -618,7 +620,7 @@
|
|||||||
INSERT IGNORE INTO `cache_countries` (`cache_id`, `date_created`, `country`)
|
INSERT IGNORE INTO `cache_countries` (`cache_id`, `date_created`, `country`)
|
||||||
VALUES (NEW.`cache_id`, NOW(), NEW.`country`);
|
VALUES (NEW.`cache_id`, NOW(), NEW.`country`);
|
||||||
|
|
||||||
CALL sp_update_hiddenstat(NEW.`user_id`, FALSE);
|
CALL sp_update_hiddenstat(NEW.`user_id`, NEW.`status`, FALSE);
|
||||||
|
|
||||||
IF NEW.`status`=1 THEN
|
IF NEW.`status`=1 THEN
|
||||||
CALL sp_notify_new_cache(NEW.`cache_id`, NEW.`longitude`, NEW.`latitude`);
|
CALL sp_notify_new_cache(NEW.`cache_id`, NEW.`longitude`, NEW.`latitude`);
|
||||||
@@ -711,9 +713,9 @@
|
|||||||
/* logpw needs not to be saved */
|
/* logpw needs not to be saved */
|
||||||
/* for further explanation see restorecaches.php */
|
/* for further explanation see restorecaches.php */
|
||||||
END IF;
|
END IF;
|
||||||
IF NEW.`user_id`!=OLD.`user_id` THEN
|
IF NEW.`user_id`!=OLD.`user_id` OR NEW.`status`!=OLD.`status` THEN
|
||||||
CALL sp_update_hiddenstat(OLD.`user_id`, TRUE);
|
CALL sp_update_hiddenstat(OLD.`user_id`, OLD.`status`, TRUE);
|
||||||
CALL sp_update_hiddenstat(NEW.`user_id`, FALSE);
|
CALL sp_update_hiddenstat(NEW.`user_id`, NEW.`status`, FALSE);
|
||||||
END IF;
|
END IF;
|
||||||
IF OLD.`status`=5 AND NEW.`status`=1 THEN
|
IF OLD.`status`=5 AND NEW.`status`=1 THEN
|
||||||
CALL sp_notify_new_cache(NEW.`cache_id`, NEW.`longitude`, NEW.`latitude`);
|
CALL sp_notify_new_cache(NEW.`cache_id`, NEW.`longitude`, NEW.`latitude`);
|
||||||
@@ -735,7 +737,7 @@
|
|||||||
DELETE FROM `cache_countries` WHERE `cache_id`=OLD.`cache_id`;
|
DELETE FROM `cache_countries` WHERE `cache_id`=OLD.`cache_id`;
|
||||||
DELETE FROM `cache_npa_areas` WHERE `cache_id`=OLD.`cache_id`;
|
DELETE FROM `cache_npa_areas` WHERE `cache_id`=OLD.`cache_id`;
|
||||||
DELETE FROM `caches_modified` WHERE `cache_id`=OLD.`cache_id`;
|
DELETE FROM `caches_modified` WHERE `cache_id`=OLD.`cache_id`;
|
||||||
CALL sp_update_hiddenstat(OLD.`user_id`, TRUE);
|
CALL sp_update_hiddenstat(OLD.`user_id`, OLD.`status`, TRUE);
|
||||||
INSERT IGNORE INTO `removed_objects` (`localId`, `uuid`, `type`, `node`) VALUES (OLD.`cache_id`, OLD.`uuid`, 2, OLD.`node`);
|
INSERT IGNORE INTO `removed_objects` (`localId`, `uuid`, `type`, `node`) VALUES (OLD.`cache_id`, OLD.`uuid`, 2, OLD.`node`);
|
||||||
|
|
||||||
SET @dont_update_listingdate=0;
|
SET @dont_update_listingdate=0;
|
||||||
|
|||||||
+1
-1
@@ -983,7 +983,7 @@
|
|||||||
|
|
||||||
$sql_innerjoin[] = '`cache_status` ON `caches`.`status`=`cache_status`.`id`';
|
$sql_innerjoin[] = '`cache_status` ON `caches`.`status`=`cache_status`.`id`';
|
||||||
if (isset($usr['userid']))
|
if (isset($usr['userid']))
|
||||||
$sql_where[] = '(`cache_status`.`allow_user_view`=1 OR `caches`.`user_id`=' . sql_escape($usr['userid']) . ')';
|
$sql_where[] = '(`cache_status`.`allow_user_view`=1 OR `caches`.`user_id`=' . sql_escape($usr['userid']) . ' OR (`caches`.`status`<>5 AND '. sql_escape($login->admin & ADMIN_USER) . '>0))';
|
||||||
else
|
else
|
||||||
$sql_where[] = '`cache_status`.`allow_user_view`=1';
|
$sql_where[] = '`cache_status`.`allow_user_view`=1';
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
if ($record === false)
|
if ($record === false)
|
||||||
$tpl->error(ERROR_USER_NOT_EXISTS);
|
$tpl->error(ERROR_USER_NOT_EXISTS);
|
||||||
|
|
||||||
$active = sql_value("SELECT COUNT(*) FROM `caches` WHERE `user_id`='&1' AND `status`=1", 0, $userid);
|
$active = sql_value("SELECT COUNT(*) FROM `caches` WHERE `user_id`='&1' AND `status`=1", 0, $userid);
|
||||||
|
|
||||||
$rs = sql("SELECT IFNULL(`tt`.`text`, `p`.`name`) AS `name`, `u`.`option_value`, `u`.`option_id` AS `option_id`
|
$rs = sql("SELECT IFNULL(`tt`.`text`, `p`.`name`) AS `name`, `u`.`option_value`, `u`.`option_id` AS `option_id`
|
||||||
FROM `profile_options` AS `p`
|
FROM `profile_options` AS `p`
|
||||||
@@ -76,7 +76,8 @@
|
|||||||
LEFT JOIN `cache_type` AS `t` ON `t`.`id`=`c`.`type`
|
LEFT JOIN `cache_type` AS `t` ON `t`.`id`=`c`.`type`
|
||||||
LEFT JOIN `sys_trans` AS `st` ON `st`.`id`=`t`.`trans_id` AND `t`.`name`=`st`.`text`
|
LEFT JOIN `sys_trans` AS `st` ON `st`.`id`=`t`.`trans_id` AND `t`.`name`=`st`.`text`
|
||||||
LEFT JOIN `sys_trans_text` AS `tt` ON `st`.`id`=`tt`.`trans_id` AND `tt`.`lang`='&2'
|
LEFT JOIN `sys_trans_text` AS `tt` ON `st`.`id`=`tt`.`trans_id` AND `tt`.`lang`='&2'
|
||||||
WHERE `c`.`user_id`='&1'
|
LEFT JOIN `cache_status` ON `cache_status`.`id`=`c`.`status`
|
||||||
|
WHERE `c`.`user_id`='&1' AND `allow_user_view`='1'
|
||||||
GROUP BY `t`.`id`
|
GROUP BY `t`.`id`
|
||||||
ORDER BY `anzahl` DESC",
|
ORDER BY `anzahl` DESC",
|
||||||
$userid,
|
$userid,
|
||||||
|
|||||||
Reference in New Issue
Block a user