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

Как исправить в моде "Кто был сегодня" ?


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

Мне надо чтобы было: за последние 24 часа, а не с 00-00

 

Заранее спасибо большое за подсказку.

 

http://www.ibresource.ru/db/663/

 

 

Шаг 1 (добавляем шаблон в используемый скин):
АДМИНЦЕНТР (ADMIN CP) >ВНЕШНИЙ ВИД (LooK &Feel) > менеджер стилей (Skin Sets) > используемый скин> Изменить HTML фрагменты (Edit Template HTML) >Board Index> Add Template Bit 
В открывшемся окошечке добавляем новый шаблон:
Название фрагмента шаблона: online_today
Входящие переменные: $data
Содержание фрагмента шаблона:
CODE
<tr>
<td class='formsubtitle' colspan='2'>{$this->ipsclass->lang['ot_title']}</td>
</tr>
<tr'>
<td class='row1' width='1%'><{F_ACTIVE}></td>
<td class='row2'>
<span id='ot_list'>{$data['memstats']}<br /><div class="thin">{$data['members']}</div>
<a href="java script:ShowHide('ot_list', 'ot_nolist');"><b>Скрыть список</b></a>
</span> 
<span id='ot_nolist' style='display: none;'>{$data['memstats']}<br /><a href="java script:ShowHide('ot_list', 'ot_nolist');"><b>Показать список</b></a></span>
</td>
</tr>


Шаг 2 (редактируем файл cache/lang_cache/ru/lang_boards.php ):
Добавляем в любое место:
CODE
'ot_title'  => "Список пользователей посетивших форум сегодня",
'ot_data'   => "<b>%s</b> пользователей посетило форум сегодня. Дата:<b>%s</b>",


Шаг 3 (редактируем файл sources/lib/func_boardstats.php ):

Находим:
CODE
return $this->ipsclass->compiled_templates['skin_boards']->ActiveUsers($active, $this->ipsclass->vars['au_cutoff']);

Заменяем на:
CODE
$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));
$online_today = $this->ipsclass->compiled_templates['skin_boards']->online_today($data);

return $this->ipsclass->compiled_templates['skin_boards']->ActiveUsers($active, $this->ipsclass->vars['au_cutoff']).$online_today;



Шаг 4 (Добавляем настройку в "Формат даты и времени"("Tools and Setttings>Date&Time Format")): 
Название настройки: "Кто был сегодня"
Описание настройки: Вписываете любой желаемый текст.
Ключ настройки: ot_date
Текущее значение и значение настройки по умолчанию: j.n.Y
Мод установлен!

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

Здесь и есть за последние 24 часа:

AND last_activity>'time()-86399'

Точнее, на 1 секунду меньше, чем 24 часа. :D

 

Осталось лишь удалить условие:

if ($time == $today)

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

http://www.ibresource.ru/forums/index.php?...st&p=331121, ибо в этом условии постоянно ловятся глюки. Где-то была целая тема с объяснением, если интересно.
Ссылка на комментарий
Поделиться на других сайтах

http://www.ibresource.ru/forums/index.php?...st&p=331121, ибо в этом условии постоянно ловятся глюки. Где-то была целая тема с объяснением, если интересно.

 

Спасибо )

Действительно, по первой подсказке выдало весь список пользователей.

Сейчас всё Ок.

 

:D

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

Гость
Эта тема закрыта для публикации сообщений.
×
×
  • Создать...

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

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