Перейти к контенту
  • 0

Приветствуем новичка по имени...


@L!@n$

Вопрос

  • Ответы 57
  • Создана
  • Последний ответ

Лучшие авторы в этом вопросе

Лучшие авторы в этом вопросе

Рекомендуемые сообщения

  • 0
сор за офтоп, но чем пхп файлы лучше откоыть, а то у меня там помойка аттская=(

Как редактировать PHP-файлы?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Если коротко, то разработчик сообщает о том, что он этот баг поправил в следующей версии. Для особо нетерпеливых предлагается внести исправления в два файла: func_boardstats.php и rebuild.php (в action_admin).

 

Вот исправленный код для func_boardstats.php:

 

		   //-----------------------------------------
		// Update the most active count if needed
		//-----------------------------------------

		if ($this->users_online > $stats['most_count'])
		{
			$stats['most_count'] = $this->users_online;
			$stats['most_date']  = time();

			$this->ipsclass->DB->obj['use_shutdown']  = 0;
			$this->ipsclass->cache['stats'] = $stats;
			$this->ipsclass->update_cache( array( 'name' => 'stats', 'array' => 1, 'deletefirst' => 1 ) );
		}

 

Аналогичные исправления предлагается внести в rebuild.php

 

Не смог найте такова кода в этом файле..... он у меня вопще не так построен....!

Кото нить решиль проблему этим способом???

Второй фаил поправил но в одиночестве он ни чего не дайёт.....

 

Код там вот такой (файл sources/lib/func_boardstats.php):

 

 

if ($this->users_online > $stats['most_count'])
		{
			$stats['most_count'] = $this->users_online;
			$stats['most_date']  = time();

			$this->DB->manual_addslashes		  = 1;
			$this->DB->no_escape_fields['cs_key'] = 1;				

			$this->ipsclass->DB->do_update( 'cache_store',
							array( 'cs_array' => 1, 'cs_value' => $this->ipsclass->DB->add_slashes(serialize($stats)) ),
							"cs_key='stats'"
						  );
			$this->DB->manual_addslashes = 0;							  
		}

 

Его нужно заменить на указанный. Я сделал. Второй файл пока не исправлял. Просто не было времени искать. Но пока все работает.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

BlackJ

читай енглишь пост, там написано что и где.

Я заюзал, радости полные штаны! :D

 

func_boardstats.php

if ($this->users_online > $stats['most_count'])
		{
			$stats['most_count'] = $this->users_online;
			$stats['most_date']  = time();

			$this->DB->manual_addslashes		  = 1;
			$this->DB->no_escape_fields['cs_key'] = 1;				

			$this->ipsclass->DB->do_update( 'cache_store',
							array( 'cs_array' => 1, 'cs_value' => $this->ipsclass->DB->add_slashes(serialize($stats)) ),
							"cs_key='stats'"
						  );
			$this->DB->manual_addslashes = 0;							  
		}

заменяем на

			if ($this->users_online > $stats['most_count'])
		{
			$stats['most_count'] = $this->users_online;
			$stats['most_date']  = time();

			$this->ipsclass->DB->obj['use_shutdown']  = 0;
			$this->ipsclass->cache['stats'] = $stats;
			$this->ipsclass->update_cache( array( 'name' => 'stats', 'array' => 1, 'deletefirst' => 1 ) );
		}

 

rebuild.php

 

$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'cache_store', 'where' => "cs_key='stats'" ) );
		$this->ipsclass->DB->do_insert( 'cache_store', array( 'cs_array' => 1, 'cs_key' => 'stats', 'cs_value' => addslashes(serialize($stats)) ) );

 

меняем на

 

$this->ipsclass->cache['stats'] = $stats;	
$this->ipsclass->update_cache( array( 'name' => 'stats', 'array' => 1, 'deletefirst' => 1 ) );

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Народ, это ппц..... всё начало работать..... но после того как удаляю одного ползователя, всё сбрасывается на ноль.....

Подкинте пару идей плиз.... весь извёлся уже...(

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Через админку используйте пересчёт всех сообщений и т.д и всё заработает. Такой баг действительно присутсвует в 2.1.3. В следующей версии общеают, что таких проблем не будет.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Простите чайника..... где пересчитать все сообщения??))

 

 

Уже нашел)))

 

Но вот проблема.... после того как я удалаю одного пользователя всё статистика сбрасывается на 0...

У всех так????

Изменено пользователем BlackJ
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Простите чайника..... где пересчитать все сообщения??))

АЦ -> НАСТРОЙКИ -> Дополнительно -> Пересчет и обновление -> Пересчет статистики

Ставишь "Да", то что хочешь пересчитать и нажимаешь "Обновить статистику"

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Странно но даное решение у меня не проканало либо где нить накосячил...

 

Может подскажете еще раз все файлы и коды... На официальном видел что БФарбер правил еще и members.php но говорит что они пофиксят это в новой версии а пока ждите...

 

Может подскажете что к чему. Заранее благодарю.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Не сработало... А может мод сделать какой-нибудь, чтоб автоматически производил пересчет статистики каждый день, если фикс так и не поможет
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Народ а я в админской статистике смотрю, после установки обновления кода, вся статистика потёрлась, хотя на главной странице всё работает! А в админке только за сегодня, с того времени как обновил началась статистика!

Чё делать?

 

СТАТИСТИКА МЕСАГ И ЮЗЕРОВ ШО ГОСТЯМ ШО МНЕ ВИДНА НА ГЛАВНОЙ СТРАНИЦУ, НЕ ВИДНО МНЕ ПОДРОБНОЙ СТАТИСТИКИ В АДМИНКЕ!

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Странно... когда делаю так, как говорит Goporez, то файл становится размером в 116 кб (а был 78)... Как быть? (этот способ у меня не сработал)
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Anthony сказал дейтвительно способ... на счёт пересчёта, спасибо!

Тоько я сначала исправишл в двух файлах программный код, а может не нужно было исправлять, может можно было сразу взять и

АЦ -> НАСТРОЙКИ -> Дополнительно -> Пересчет и обновление -> Пересчет статистики

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Если не исправите код, то после пересчёта рано или поздно они опять обнулятся. Изменено пользователем AcularisInfernum
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Если коротко, то разработчик сообщает о том, что он этот баг поправил в следующей версии. Для особо нетерпеливых предлагается внести исправления в два файла: func_boardstats.php и rebuild.php (в action_admin).

 

Вот исправленный код для func_boardstats.php:

 

		   //-----------------------------------------
		// Update the most active count if needed
		//-----------------------------------------

		if ($this->users_online > $stats['most_count'])
		{
			$stats['most_count'] = $this->users_online;
			$stats['most_date']  = time();

			$this->ipsclass->DB->obj['use_shutdown']  = 0;
			$this->ipsclass->cache['stats'] = $stats;
			$this->ipsclass->update_cache( array( 'name' => 'stats', 'array' => 1, 'deletefirst' => 1 ) );
		}

 

Аналогичные исправления предлагается внести в rebuild.php

 

http://forums.invisionpower.com/index.php?...36&bug_cat_id=3

 

 

 

Помогло! (2.1.3)

Спасибо!

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Судя по всему где-то внес синтаксическую ошибку в изменяемый файл, у меня такой же бок был, просто случайно удалил }
Ссылка на комментарий
Поделиться на других сайтах

  • 0

а что ещё переписать? а то статистика то пересчиталась, а в админцентре в просмотре статистики по неделям такое

 

[December 2005] *** xxx

[December 2005] ************ xxx

[December 2005] ******* xxx

[November 2005] *********** xxx

[November 2005] ****** xxx

 

вместо статистики по неделям. показывает только статистику просмотра тем правильно.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Огромное спасибо!!! Не знал уже куда и деться, думал что-то слетело. Отредактировал файлы и пересчетал статистику, теперь всё снова работает.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Чтобы не обнулялась статистика при удалении пользователя можно попробовать в sources/action_admin/member.php отредактировать так же как и в rebuild.php.

 

Найти: (строки примерно 2394 - 2395, функция member_delete_do)

$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'cache_store', 'where' => "cs_key='stats'" ) );
$this->ipsclass->DB->do_insert( 'cache_store', array( 'cs_array' => 1, 'cs_key' => 'stats', 'cs_value' => addslashes(serialize($stats)) ) );

 

Заменить на:

$this->ipsclass->cache['stats'] = $stats;	
$this->ipsclass->update_cache( array( 'name' => 'stats', 'array' => 1, 'deletefirst' => 1 ) );

 

Удалял пользователя после такого редактирования вроде бы все нормально.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

проверил - работает... ApTeM - респект.. кучу времени потратил на поиск бага))

 

правда вот до сих пор остались глюки с созданием дампа через админку...

и почему-то с загрузкой скинов... не хотят и всё...

 

на локальном серваке всё зашибись)

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.