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

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

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

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

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

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

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

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

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

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

GRAFLEKX
  • Группа: Супермодераторы
  • Пункты: 1595
  • Регистрация: 18.09.2008
  • Пол: Мужчина
  • Из: Россия
GRAFLEKX
3.92

3.92

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

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

Artem21
  • Группа: Клиент
  • Пункты: 793
  • Регистрация: 19.12.2007
  • Пол: Мужчина
Artem21
4.32

4.32

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

sam07
  • Группа: Посетители
  • Пункты: 772
  • Регистрация: 01.06.2006
  • Пол: Мужчина
  • Из: Моздок
sam07
3.91

3.91

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

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



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

Artem21
  • Группа: Клиент
  • Пункты: 793
  • Регистрация: 19.12.2007
  • Пол: Мужчина
Artem21
4.32

4.32

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

sam07
  • Группа: Посетители
  • Пункты: 772
  • Регистрация: 01.06.2006
  • Пол: Мужчина
  • Из: Моздок
sam07
3.91

3.91

Artem21, стало быть пойдем другим путем Смайл - 13

  1. откройте файл: function/security.php
  2. найдите в нем код:

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

3. замените его на этот код:
# GZip<br /> if ((!isset($_GET['captcha'])) && (!isset($_GET['hit'])) && (!isset($_GET['host']))) {<br /> if (strstr($_SERVER['HTTP_USER_AGENT'], 'compatible') || strstr($_SERVER['HTTP_USER_AGENT'], 'Gecko')) {<br /> if (extension_loaded('zlib')) ob_start('ob_gzhandler');<br /> } else {<br /> if (strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip')) {<br /> if (extension_loaded('zlib')) {<br /> $do_gzip_compress = true;<br /> ob_start();<br /> ob_implicit_flush(0);<br /> header('Content-Encoding: gzip');<br /> }}}}

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

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


sam07, наверное надо подумать на эту тему Смайл - 13

GRAFLEKX
  • Группа: Супермодераторы
  • Пункты: 1595
  • Регистрация: 18.09.2008
  • Пол: Мужчина
  • Из: Россия
GRAFLEKX
3.92

3.92

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

GRAFLEKX

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



sam07

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


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

Artem21
  • Группа: Клиент
  • Пункты: 793
  • Регистрация: 19.12.2007
  • Пол: Мужчина
Artem21
4.32

4.32

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 4
Локальный сервер
ifahr (Гость)
  • Нет информации
ifahr (Гость)

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

GRAFLEKX
  • Группа: Супермодераторы
  • Пункты: 1595
  • Регистрация: 18.09.2008
  • Пол: Мужчина
  • Из: Россия
GRAFLEKX
3.92

3.92

Открыть Ответить

Хотите опробовать SLAED CMS в действии?

Идеи и предложения
Обратная связь