Smirnov.R Опубликовано 18 Апреля 2014 Жалоба Поделиться Опубликовано 18 Апреля 2014 (поиск пользовал)Итак, реальное количество пользователей на форуме, к примеру, 100 000В своё время были вычищены мёртвые души и в статистике значится 90 000Как вернуть отображаемую статистику, чтобы она соответствовала реальному количеству 100 000? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Arhar Опубликовано 18 Апреля 2014 Жалоба Поделиться Опубликовано 18 Апреля 2014 пересчетом статистики? в админке вроде было, в разделе кешей (либо просто обновить кеш статистики, либо пересчитать утилитой, не помню как точно) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 MrLite Опубликовано 18 Апреля 2014 Жалоба Поделиться Опубликовано 18 Апреля 2014 В разделе Настройки есть Пересчет и обновление: http://c2n.me/7fpSQF.png Только БД забекапьте перед этим, а то вдруг результат не понравится. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Smirnov.R Опубликовано 21 Апреля 2014 Автор Жалоба Поделиться Опубликовано 21 Апреля 2014 (изменено) Всё это не спасаетЛюди удалены.. Вопрос поставим иначе..Можно ли подправить скрипт, чтобы "Зарегистрировано пользователей:" показывалось не количество пользователей,а ID последнего зарегистрированного.Второй вариант -там же в скрипте тупо суммировать нужное число типа "N+10000".И если так можно, то где именно всё это находится? Или что-то ещё предложите? Изменено 21 Апреля 2014 пользователем Smirnov.R Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 bifidokk Опубликовано 23 Апреля 2014 Жалоба Поделиться Опубликовано 23 Апреля 2014 Можно ли подправить скрипт, чтобы "Зарегистрировано пользователей:" показывалось не количество пользователей,а ID последнего зарегистрированного. Можно, но зачем? ТС желает получить не корректное число пользователей, а наоборот, неправильную старую, не понимаю, зачем нужно идти на такой обман юзеров Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 MrLite Опубликовано 23 Апреля 2014 Жалоба Поделиться Опубликовано 23 Апреля 2014 Сама функция пересчета находится в файле sources/action_admin/rebuild.php. Найдите там строку: if ($this->ipsclass->input['members']) И все что внутри этого условного оператора и есть процедура обработки опции "Пересчитать пользователей?". Если вам нужно просто прибавить произвольное число в статистике количества пользователей, то можно вставить такую строку (посредине): $r = $this->ipsclass->DB->fetch_row(); $r['members'] += 10000; $stats['mem_count'] = intval($r['members']); Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Smirnov.R Опубликовано 23 Апреля 2014 Автор Жалоба Поделиться Опубликовано 23 Апреля 2014 @MrLite, сколько ж мы этот вопрос брались решить и НАКОНЕЦ-ТО теперь всё чёткоПросто-таки напросто-таки мега-глобальные и обширнейшие благодарности) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Arhar Опубликовано 24 Апреля 2014 Жалоба Поделиться Опубликовано 24 Апреля 2014 я бы предложил менее варварский способ - селектить наибольший ид из таблицы мемберов и его без подсчетов пихать в статистику Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Smirnov.R Опубликовано 24 Апреля 2014 Автор Жалоба Поделиться Опубликовано 24 Апреля 2014 @Arhar, было бы круто понять как и где это сделать) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 MrLite Опубликовано 24 Апреля 2014 Жалоба Поделиться Опубликовано 24 Апреля 2014 Действительно, описанный мной способ не очень удачный: мы меняем параметр, который кладется в кеш, причем его значение могут менять и другие функции. Менее инвазивно было бы корректировать эту цифру при выводе. В 3.х я бы корректировку сделал в шаблоне, как грамотнее сделать в 2.3.6 лучше спросить у @Arhar. Я нашел такой способ: сама строка статистики - языковая переменная total_word_string, которая определяется в файлах /cache/lang_cache/ru/lang_boards.php или /cache/lang_cache/en/lang_boards.php в зависимости от локализации. Вот определение для русской версии: 'total_word_string' => "На форуме сообщений: <b><#posts#></b><br />Зарегистрировано пользователей: <b><#reg#></b><br />Приветствуем последнего зарегистрированного по имени <b><a href='<#link#>'><#mem#></a></b>", в файле /sources/lib/func_boardstats.php эта переменная разбирается и вместо меток вставляются значения переменных. Нас интересует строка: $this->ipsclass->lang['total_word_string'] = str_replace( "<#reg#>" , $stats['mem_count'] , $this->ipsclass->lang['total_word_string'] ); Здесь заменяется значением $stats['mem_count']. Вот тут и вносим нужные изменения: $this->ipsclass->lang['total_word_string'] = str_replace( "<#reg#>" , $stats['mem_count']+10000 , $this->ipsclass->lang['total_word_string'] ); Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 FatCat Опубликовано 25 Апреля 2014 Жалоба Поделиться Опубликовано 25 Апреля 2014 Здесь <#reg#> заменяется значением $stats['mem_count']. Вот тут и вносим нужные измененияЗачем же тут?$stats содержит результаты запроса к БД. Нужно менять сам запрос, чтобы вместо COINT(id) AS mem_count стало MAX(id) AS mem_count Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 MrLite Опубликовано 25 Апреля 2014 Жалоба Поделиться Опубликовано 25 Апреля 2014 Ну да, парой строк выше строк из моего первого примера найдется такая: $this->ipsclass->DB->simple_construct( array( 'select' => 'count(id) as members', 'from' => 'members', 'where' => "mgroup <> '".$this->ipsclass->vars['auth_group']."'" ) );Вот в этом SQL запросе и меняем count(id) на max(id). Стоит учесть, что значение в $stats['mem_count'] зачем-то кладется в нескольких местах, я вот нашел в:/sources/action_admin/member_tools.php/sources/action_admin/rebuild.php/sources/tasks/rebuildstats.php Так что если менять именно эту переменную, то во всех местах, иначе какой-нибудь планировщик, например, будет возвращать реальную статистику. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Smirnov.R Опубликовано 28 Апреля 2014 Автор Жалоба Поделиться Опубликовано 28 Апреля 2014 (изменено) Подкрутили по выше-указанным принципам Пока работает, вроде)Наблюдаем больше суток Изменено 28 Апреля 2014 пользователем Smirnov.R Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
Smirnov.R
(поиск пользовал)
Итак, реальное количество пользователей на форуме, к примеру, 100 000
В своё время были вычищены мёртвые души и в статистике значится 90 000
Как вернуть отображаемую статистику, чтобы она соответствовала реальному количеству 100 000?
Ссылка на комментарий
Поделиться на других сайтах
12 ответов на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.