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

[2.1.x]Кто был сегодня для 2.1.х


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

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

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

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

Напомню свой запрос :D

 

Подскажите, как же все-таки сделать автоматическую отправку админу списка пользователей, посетивших форум за сутки???

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

Перенос мода на отдельную страницу

 

Скрин - http://hundredmc.ru/today.jpg

 

Открываем skin_stats.php

Вставляем в самом конце, перед

/*--------------------------------------------------*/

/*<changed bits>

 

</changed bits>*/

/* END OF FILE */

/*--------------------------------------------------*/

 

//===========================================================================
// <ips:online_today:desc:>
//===========================================================================
function online_today($data="") {
$IPBHTML = "";
//--starthtml--//


$IPBHTML .= <<<EOF
<tr>
<td class='formsubtitle' colspan='5'>{$this->ipsclass->lang['ot_title']}</td>
</tr>
<tr'>
<td class='row2' colspan='5'>
<span id='ot_list'>{$data['memstats']}<br /><div class="thin">{$data['members']}</div>
</span> 
</span>
</td>
</tr>
EOF;

//--endhtml--//
return $IPBHTML;
}

 

 

В файле sources/action_public/misc/stats.php находим

else
	{
		$this->output .= $this->ipsclass->compiled_templates['skin_stats']->top_poster_no_info();
	}

 

добавляем ниже

 

$this->ipsclass->time_options['ONLINE_SHOW'] = "g:i A";
$data = array('memnum' => 0, 'members' => '');
$today = $this->ipsclass->get_time(time(), 'j-n-Y');
$this->ipsclass->DB->simple_construct(array('select' => 'id, name, members_display_name, last_activity, mgroup', 'from' => 'members', 'where' => "id>0 AND last_activity>'time()-86399'", 'order' => 'last_activity DESC'));
$this->ipsclass->DB->simple_exec();
while ($row = $this->ipsclass->DB->fetch_row())
{
$time = $this->ipsclass->get_time($row['last_activity'], 'j-n-Y');
if ($time == $today)
{
$data['members'][$row['id']] = "<a href='{$this->ipsclass->base_url}act=Profile&MID={$row['id']}' title='".$this->ipsclass->get_date($row['last_activity'], 'ONLINE_SHOW', 1)."'>{$this->ipsclass->cache['group_cache'][$row['mgroup']]['prefix']}{$row['members_display_name']}

{$this->ipsclass->cache['group_cache'][$row['mgroup']]['suffix']}</a>";
$data['memnum']++;
}
}
if (is_array($data['members']))
{
$data['members'] = implode(', ', $data['members']);
}
$this->ipsclass->time_options['ONLINE'] = $this->ipsclass->vars['ot_date'];
$data['memstats'] = sprintf($this->ipsclass->lang['ot_data'], $data['memnum'], $this->ipsclass->get_date(time(), 'ONLINE', 1));
$this->output .= $this->ipsclass->compiled_templates['skin_stats']->online_today($data );

 

Теперь он будет находится на странице "Активные сегодня". Нажимаем на эту ссылку и проверяем

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

Для тех кто спрашивал про работу мода на версии 2.2.2 - он работает (форум проапгрейжен с 2.1.7 с этим модом).

Единственное отличие - при добавлении нового шаблона в скин вместо

<td class='formsubtitle' colspan='2'>{ipb.lang['ot_title']}</td>

вставьте

<td class='formsubtitle' colspan='2'>{$this->ipsclass->lang['ot_title']}</td>

и все. По крайней мере у меня работает на ура.

 

Да и

Шаг 4 (Добавляем настройку в "Формат даты и времени"):

этого не делал, ибо настройки остались с предыдущей версии.

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

Мод работает, казалось бы всё отлично определяет, но время от времени, а именно почему в ночное время (промежуток от 2:00 до 3:00) этот мод показывает что абсолютно все пользователи посетили форума сегодня в одно и тоже время? Это очень раздражает, хотелось бы не миражной статистики, а реально знать кто бывает,а кто нет.. А бывает так, что работает отменно!! Может у мода критические дни прописаны? :/

Небольшое замечание, поправьте в архиве файлов, этого мода - ссылку на данную тему, а то пришлось вас через поиск искать...

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

У меня почему-то после обновления страници количество меняется. Обновишься ещё раз, то будет опять предыдущие число. Обновишь ещё - опять больше и т.д. Где баг? И как сделать, чтобы в 00:00:00 обнулялся, а не в 2-3 ночи? Подскажите плиз...
Ссылка на комментарий
Поделиться на других сайтах

И как сделать, чтобы в 00:00:00 обнулялся, а не в 2-3 ночи? Подскажите плиз...

Проверьте настройки времени форума, у меня нормально в 0:0 обнуляется.

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

При нажатии кнопки *скрыть список* вылезает ошибка на белом экране:

 

The requested URL /java script:ShowHide('ot_list', 'ot_nolist'); was not found on this server.

 

Мне б исправить.

 

Поскажите, чтоб заработало. Убрать то я убрал, но хочется чтоб работало...

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

_______________________

 

Не знаю было ли здесь такое предложение, но я бы хотел:

Сделать чтобы дополнительно показывало Кто Посетил Вчера.

 

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

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

А можно как-нибудь сделать так, что бы он показывал не тех кто был сегодня(в этот календарный день), а кто был за последние сутки? То есть тех кто посещал форум в течении последних 24 часов. Соответствеооно каждый час он выкидывает из списка тех кто не появлялся на форуме более 24 часов.

И автоматически записывает тех кто появляется на форуме обновляя список.

Заранее благодарен

 

Сори, всё тему не читал. Если это уже гдето описано - просто укажите страницу =)

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

Я тоже не читал, но вот так работает:

В файле ./sources/lib/func_boardstats.php найти:

$this->ipsclass->DB->simple_construct(array('select' => 'id, name, members_display_name, last_activity, mgroup',
'from' => 'members',
'where' => "id>0 AND last_activity>'time()-86399'",
'order' => 'last_activity DESC'));

заменить на

$la = time()-86399;
$this->ipsclass->DB->simple_construct(array('select' => 'id, name, members_display_name, last_activity, mgroup',
'from' => 'members',
'where' => "id>0 AND last_activity>'$la'",
'order' => 'last_activity DESC'));

 

найти:

while ($row = $this->ipsclass->DB->fetch_row())
		{
			$time = $this->ipsclass->get_time($row['last_activity'], 'j-n-Y');
			if ($time == $today)
			{
				$data['members'][$row['id']] = "<a href='{$this->ipsclass->base_url}act=Profile&MID={$row['id']}' title='".$this->ipsclass->get_date($row['last_activity'], 'ONLINE_SHOW', 1)."'>{$this->ipsclass->cache['group_cache'][$row['mgroup']]['prefix']}{$row['members_display_name']}{$this->ipsclass->cache['group_cache'][$row['mgroup']]['suffix']}</a>";
				$data['memnum']++;
			}
		}

заменить на:

while ($row = $this->ipsclass->DB->fetch_row())
		{
$data['members'][$row['id']] = "<a href='{$this->ipsclass->base_url}act=Profile&MID={$row['id']}' title='".$this->ipsclass->get_date($row['last_activity'], 'ONLINE_SHOW', 1)."'>{$this->ipsclass->cache['group_cache'][$row['mgroup']]['prefix']}{$row['members_display_name']}{$this->ipsclass->cache['group_cache'][$row['mgroup']]['suffix']}</a>";
				$data['memnum']++;
		}

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

А кто сможет дописать этот мод, чтобы он записывал свою статистику в лог? Согласен даже на разумное финансирование.

Тоже интересно.

 

И ещё один вопросик: у меня в списке "кто был", от ника до запятой один пробел! Как поправить?

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


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

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

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