Форум » Система построения сайтов » Сообщения о найденных ошибках » Фиксим баг с отображением счетчиков Hits и Hosts в Опера
Открыть Ответить

Фиксим баг с отображением счетчиков Hits и Hosts в Опера

0

0

1
02.01.2010 05:43:02 02.01.2010 05:44:17

Отображение счетчиков Hits и Hosts в Опера, лечим следующим образом:

1. Открываем файл function/user.php

2. Находим код:

Код
switch(isset($_GET['hit'])) {
case "1":
$img = (intval($_GET['img'])) ? "_".$_GET['img']."" : "";
$count_hit = "config/counter/hits.txt";
$hits = file($count_hit);
$hit = explode("|", trim($hits[0]));
if (date("Ymd") > $hit[1]) {
unlink($count_hit);
$wco = "1|".date("Ymd")."";
} else {
$wco = "".intval($hit[0]+1)."|".intval($hit[1])."";
}
$fpc = fopen($count_hit, "wb");
fwrite($fpc, $wco);
fclose($fpc);
if (rename($count_hit, $count_hit) == false) {
# unlink ($count_hit);
# rename ($count_hit, $count_hit);
}
$image = ImageCreateFromGif("images/banners/hits".$img.".gif");
$color = ImageColorAllocate($image, 255, 255, 255);
ImageString($image, 1, 40, 4, $hit[0], $color);
Header("Content-type: image/gif");
ImageGif($image, "", 100);
ImageDestroy($image);
exit;
break;
}
switch(isset($_GET['host'])) {
case "1":
$img = (intval($_GET['img'])) ? "_".$_GET['img']."" : "";
$count_host = "config/counter/hosts.txt";
$check = ($_SESSION['host'] == date("d")) ? false : true;
if ($check) {
$hosts = file($count_host);
$con = explode("|", trim($hosts[0]));
if (date("Ymd") > $con[1]) {
unlink($count_host);
$wc = "1|".date("Ymd")."";
} else {
$wc = "".intval($con[0]+1)."|".intval($con[1])."";
}
$fph = fopen($count_host, "wb");
fwrite($fph, $wc);
fclose($fph);
unset($_SESSION['host']);
$_SESSION['host'] = date("d");
} else {
$hosts = file($count_host);
$con = explode("|", trim($hosts[0]));
}
$image = ImageCreateFromGif("images/banners/hosts".$img.".gif");
$color = ImageColorAllocate($image, 255, 255, 255);
ImageString($image, 1, 40, 4, $con[0], $color);
Header("Content-type: image/gif");
ImageGif($image, "", 100);
ImageDestroy($image);
exit;
break;
}

3. Удаляем его

4. Прописываем вместо него код:

Код
IF (isset($_GET["hit"])) {
$img = (intval($_GET['img'])) ? "_".$_GET['img']."" : "";
$count_hit = "config/counter/hits.txt";
$hits = file($count_hit);
$hit = explode("|", trim($hits[0]));
if (date("Ymd") > $hit[1]) {
unlink($count_hit);
$wco = "1|".date("Ymd")."";
} else {
$wco = "".intval($hit[0]+1)."|".intval($hit[1])."";
}
$fpc = fopen($count_hit, "wb");
fwrite($fpc, $wco);
fclose($fpc);
if (rename($count_hit, $count_hit) == false) {
# unlink ($count_hit);
# rename ($count_hit, $count_hit);
}
$image = ImageCreateFromGif("images/banners/hits".$img.".gif");
$color = ImageColorAllocate($image, 255, 255, 255);
ImageString($image, 1, 40, 4, $hit[0], $color);
Header("Content-type: image/gif");
ImageGif($image, "", 100);
ImageDestroy($image);
}
IF (isset($_GET["host"])) {
$img = (intval($_GET['img'])) ? "_".$_GET['img']."" : "";
$count_host = "config/counter/hosts.txt";
$check = ($_SESSION['host'] == date("d")) ? false : true;
if ($check) {
$hosts = file($count_host);
$con = explode("|", trim($hosts[0]));
if (date("Ymd") > $con[1]) {
unlink($count_host);
$wc = "1|".date("Ymd")."";
} else {
$wc = "".intval($con[0]+1)."|".intval($con[1])."";
}
$fph = fopen($count_host, "wb");
fwrite($fph, $wc);
fclose($fph);
unset($_SESSION['host']);
$_SESSION['host'] = date("d");
} else {
$hosts = file($count_host);
$con = explode("|", trim($hosts[0]));
}
$image = ImageCreateFromGif("images/banners/hosts".$img.".gif");
$color = ImageColorAllocate($image, 255, 255, 255);
ImageString($image, 1, 40, 4, $con[0], $color);
Header("Content-type: image/gif");
ImageGif($image, "", 100);
ImageDestroy($image);
}

5. Радуемся жизни...

GRAFLEKX
GRAFLEKX
3.92

3.92

2
29.03.2010 19:04:04

Не лечится. Версия системы 4.3.2
С капчей вылечил. Со счетчиками не помогло!

Сайт в подписи!

Artem21
Artem21
4.32

4.32

3
30.03.2010 10:45:17

GRAFLEKX, я б на вашем месте требовал бы неплохие премиальные 😉

sam07
sam07
3.91

3.91

4
30.03.2010 14:17:06 30.03.2010 14:21:16

GRAFLEKX, я б на вашем месте требовал бы неплохие премиальные 😉

sam07 Я бы на Вашем месте не флудил! Создавайте отдельные темы и туда выкладывайте свои бредовые идеи и бесполезные теории!

Artem21
Artem21
4.32

4.32

5
30.03.2010 17:15:03

Artem21, а вы вобще кто?

sam07
sam07
3.91

3.91

6
30.03.2010 23:21:49

Artem21, стало быть пойдем другим путем 😉
1. откройте файл: function/security.php
2. найдите в нем код:

Код
# GZip
if (strstr($_SERVER['HTTP_USER_AGENT'], 'compatible') || strstr($_SERVER['HTTP_USER_AGENT'], 'Gecko')) {
if (extension_loaded('zlib')) ob_start('ob_gzhandler');
} else {
if (strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip')) {
if (extension_loaded('zlib')) {
$do_gzip_compress = true;
ob_start();
ob_implicit_flush(0);
header('Content-Encoding: gzip');
}
}
}

3. замените его на этот код:

Код
# GZip
if ((!isset($_GET['captcha'])) && (!isset($_GET['hit'])) && (!isset($_GET['host']))) {
if (strstr($_SERVER['HTTP_USER_AGENT'], 'compatible') || strstr($_SERVER['HTTP_USER_AGENT'], 'Gecko')) {
if (extension_loaded('zlib')) ob_start('ob_gzhandler');
} else {
if (strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip')) {
if (extension_loaded('zlib')) {
$do_gzip_compress = true;
ob_start();
ob_implicit_flush(0);
header('Content-Encoding: gzip');
}}}}

Надеюсь проблема решена.....

GRAFLEKX, я б на вашем месте требовал бы неплохие премиальные

sam07, наверное надо подумать на эту тему 😉

GRAFLEKX
GRAFLEKX
3.92

3.92

7
31.03.2010 06:51:06 31.03.2010 06:56:28

GRAFLEKX

Благодарю. Проблема решена. Приятно иметь дело
с грамотными, профессиональными людьми!

sam07

Я твои кошмары. Снившиеся тебе по ночам! 😉

Не все делается за деньги. Такими темпами мы скоро и пукнуть за бесплатно соглашаться не будем! Я тоже выкладывал платные разработки, которые заказывал для себя. Модуль знакомства для Pro версии мой. Я заказывал его переделку за деньги. После выложил в паблик. Хотя мог рубить деньги за это. Я написал ЧПУ для модуля СМС, Грабера СМС, Модуля Фото от Джеймса. Все выложил в паблик, притом бесплатно.

Artem21
Artem21
4.32

4.32

8
06.05.2010 10:48:20

А если это:

Код
if (strstr($_SERVER['HTTP_USER_AGENT'], 'compatible') || strstr($_SERVER['HTTP_USER_AGENT'], 'Gecko'))

заменить на это:

Код
if (strstr($_SERVER['HTTP_USER_AGENT'], 'compatible') || strstr($_SERVER['HTTP_USER_AGENT'], 'Gecko') || strstr($_SERVER['HTTP_USER_AGENT'], 'Presto'))

С новой Оперой работает. Но вопрос - правильно ли так?

PS Опера с версии 9.6 в User_Agent добавляет Presto

Версия системы SLAED CMS 2.6 Lite
Версия PHP PHP 4
Сервер Локальный сервер
ifahr
ifahr
9
06.05.2010 10:56:49

ifahr, да, тоже как вариант, подходит...

GRAFLEKX
GRAFLEKX
3.92

3.92

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр