fixed xml sitemap generation; don't count cache visits by robots

This commit is contained in:
following
2013-03-16 20:20:52 +01:00
parent 35ce6b4a98
commit 78b95ce916
6 changed files with 25 additions and 9 deletions

View File

@ -333,6 +333,12 @@
*/
$opt['logic']['new_logs_per_country'] = true;
/* search engines
* will be excluded from cache visitor count
* current active bots on www.opencaching.de in 03/2013:
*/
$opt['logic']['search_engines'] = 'AcoonBot;AhrefsBot;Baiduspider;bingbot;Exabot;Ezooms;Googlebot;Googlebot-mobile;ia_archiver,Linguee Bot;Mail.RU_Bot;MJ12bot;msnbot;SISTRIX Crawler;Sophora Linkchecker;TweetmemeBot;WBSearchBot;Yahoo! Slurp;YandexBot';
/* opencaching prefixes in database available to search for
*/
$opt['logic']['ocprefixes'] = 'oc';

View File

@ -33,7 +33,7 @@ date commit ID change
2013-02-16 06d832c3 new table data_licenses
added user.data_license
2013-02-17 b7b51eab added user.email_problems
2013-03-01 c5057c88 added caches.short2 und .short2_trans_id
2013-03-01 c5057c88 added cache_type.short2 und .short2_trans_id
2013-03-03 c5057c88 added profile_options.optionset
2013-03-04 df313402 new table helppages

View File

@ -237,11 +237,21 @@ class cache
static function visitCounter($nVisitUserId, $sRemoteAddr, $nCacheId)
{
global $opt, $_SERVER;
// delete cache_visits older 1 day 60*60*24 = 86400
sql("DELETE FROM `cache_visits` WHERE `cache_id`='&1' AND `user_id_ip`!='0' AND NOW()-`last_modified`>86400", $nCacheId);
if ($nVisitUserId==0)
{
$se = explode(';',$opt['logic']['search_engines']);
$ua = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "";
foreach ($se as $s)
if (strpos($ua,$s) !== FALSE)
return; // do not count search engine views
$sIdentifier = $sRemoteAddr;
}
else
$sIdentifier = $nVisitUserId;

View File

@ -17,9 +17,9 @@
$login->verify();
// check for peculiar browsers
$msie = preg_match('/MSIE [1-9]+.[0-9]+/',$_SERVER['HTTP_USER_AGENT']) &&
!strpos($user_agent,"Opera");
$old_msie = $msie && preg_match('/MSIE [1-6].[0-9]+/',$_SERVER['HTTP_USER_AGENT']);
$ua = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "";
$msie = preg_match('/MSIE [1-9]+.[0-9]+/',$ua) && !strpos($ua,"Opera");
$old_msie = $msie && preg_match('/MSIE [1-6].[0-9]+/',$ua);
$sMode = isset($_REQUEST['mode']) ? $_REQUEST['mode'] : '';
if ($sMode == 'locate')

View File

@ -36,7 +36,7 @@
sql_free_result($rsNewCaches);
$tpl->assign('newCaches', $newCaches);
$count = sql_value_slave('SELECT COUNT(*) `count` FROM `caches`INNER JOIN `cache_status` ON `caches`.`status`=`cache_status`.`id` WHERE `cache_status`.`allow_user_view`=1', 0);
$count = sql_value_slave('SELECT COUNT(*) `count` FROM `caches` WHERE `caches`.`status`=1', 0);
$maxstart = (ceil($count / $perpage)-1) * $perpage;
if ($startat < 4 * $perpage)

View File

@ -84,9 +84,7 @@ class sitemaps
function write_newcaches_urls()
{
$nCount = sql_value("SELECT COUNT(*) FROM `caches`
INNER JOIN `cache_status` ON `caches`.`status`=`cache_status`.`id`
WHERE `cache_status`.`allow_user_view`=1", 0);
$nCount = sql_value("SELECT COUNT(*) FROM `caches` WHERE `caches`.`status`=1", 0);
$nIndex = 0;
while ($nIndex < $nCount)
{
@ -129,7 +127,9 @@ class sitemaps
{
$rs = sql("SELECT SQL_BUFFER_RESULT `caches`.`wp_oc`, `caches`.`cache_id`, `cache_desc`.`language`
FROM `caches`
INNER JOIN `cache_desc` ON `caches`.`cache_id`=`cache_desc`.`cache_id`");
INNER JOIN `cache_desc` ON `caches`.`cache_id`=`cache_desc`.`cache_id`
INNER JOIN `cache_status` ON `caches`.`status`=`cache_status`.`id`
WHERE `cache_status`.`allow_user_view`=1");
while ($r = sql_fetch_assoc($rs))
{
$dLastMod = sql_value("SELECT MAX(`last_modified`) `last_modified` FROM (SELECT `last_modified` FROM `caches` WHERE `cache_id` ='&1' UNION