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

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


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

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

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

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

Поставил иностранный, еще давно и он работает вообще без проблем, все запоминает и сохраняет, как надо
Этот тоже должен, скрывать и запоминать, а так какой смысл этого скрывания, просто все написано криво, вот и не работает
И вообще, все которые были моды взяты с этого форума, то не один не работал нормально, все отстойные
Заменил их на все импортные, только переводить пришлось самому и все работают на ура
На этом форуме они почти все под другие версии, а не под 2.3.х, да еще многие и и написаны криво
Некоторые есть и не че biggrin.gif
Делайте выводы господа

Кому нужен действительно рабочий мод, вот пожалуйста
http://www.invisionmodding.com/index.php?showtopic=14462

Редактируется всего один фаил sources\action_public\boards.php
И устанавливается модом установщиком

Работу мода можно глянуть здесь

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

Док, не спорю.. обидно, что тут зачастую недоделанные моды.. смысл сохранения скрытия я понял, а как реализовать нет :D

 

А вообще UMI вещь фиговая.. намного нагляднее править руками.. да дольше, зато знаешь что и где. Тем более UMI у меня отказывается ставиться ;)

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

Да.. действительно англоязычный мод получше будет. Если бы еще кто-нибудь нашелся помочь его ручками сделать) я понимаю в принципе что делает UMI, но не все.. просто UMI - это вселенская катастрофа, а мод ну очень нужен
Ссылка на комментарий
Поделиться на других сайтах

У них там же скачай мод установщик

Он прекрасно работает, я его даже не переводил, так как в этом нет необходимости и так все понятно

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

  • 3 месяца спустя...
Очень прошку знающих людей, подскажите как сделать этот мод, что быработал только для зарегистрированных пользователей? Спасибо.

2,3,6

Находим строчки:

$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' => '*', 'from' => 'members', 'where' => "id>0 AND last_activity>".time()-86399, 'order' => 'members_display_name ASC'));
$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);

И меняем их на это:

$online_today = "";
if ($this->ipsclass->member['id'])
{
$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' => '*', 'from' => 'members', 'where' => "id>0 AND last_activity>".time()-86399, 'order' => 'members_display_name ASC'));
$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'] .= "<a href='{$this->ipsclass->base_url}showuser={$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>{$this->sep_char} \n";
$data['memnum']++;
}
}
$data['members'] = preg_replace( "/".preg_quote($this->sep_char)."$/", "", trim( $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);
}

Всё.

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

last_activity>".time()-86399

опять ересь, ну сколько можно

А чем-то более умозаключительным это подкрепить можно?

Я знаю, что в моде стоит

last_activity>".time()-172800

и знаю, что эти цифры означают, но эта, как вы изволили выразиться "ересь" идёт от последних цитирований кода этого мода и я просто её и скопировал. Хотя я для интереса сейчас могу у себя поставить эти цифры и проверить, даст ли это какую либо разницу в результатах.

Ну да ладно. Тут просили сделать сохранение состояния показа мемберов в куках, вот это мы сейчас и сделаем ну и заодно чуть подправим интерфейс со стандартным форумным. :D

Для начала чуть изменим CSS стилей, добавим туда ещё один класс. Это изменение необходимо проделать в каждом скине, существующем на форуме.

Итак идем АДМИНЦЕНТР>ВНЕШНИЙ ВИД> менеджер стилей> каждый скин> Изменить CSS стили (Расширенный режим) >

Находим там

.thin{ 
border: 1px solid #FFF;
border-left: 0;
border-right: 0;
line-height: 150%;
margin: 2px 0 2px 0;
padding: 6px 0 6px 0;
}

Ниже добавляем:

.thins
{
border-bottom: 1px solid #FFF;
			border-left: 0;
border-right: 0;
margin: 2px 0 2px 0;
}

И нажимаем кнопку "Сохранить" И так с каждым скином.

Далее меняем содержание фрагмента шаблона online_today. У кого он уже создан, то меняем, а у кого ещё не создан, то создаём уже с нужным содержанием. это изменение так же надо проводить в каждом из существующих скинов на форуме.

Идём в АДМИНЦЕНТР>ВНЕШНИЙ ВИД> менеджер стилей> каждый скин> Изменить HTML фрагменты> skin_boards>

Открываем шаблон online_today у кого он уже создан или добавляем новый с таким названием, у кого его нет.

Входящие переменные: $data остаётся без изменений, а в содержании шаблона вместо строчек:

<tr>
<td class='formsubtitle' colspan='2'>{ipb.lang['ot_title']}</td>
</tr>
<tr>
<td class='row1' width='1%'><{F_ACTIVE}></td>
<td class='row2'>
<span id='ot_list'>{$data['memstats']}<br />{$data['members']}<br /><br /><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>

пишем такие:

<tr>
<td class='formsubtitle' colspan='2'>{ipb.lang['ot_title']}</td>
</tr>
<tr>
<td class='row1' width='1%'><{F_ACTIVE}></td>
<td class='row2'>
<span style="display:{$data['div_fo']}" id="fo_ot">{$data['memstats']}<div class="thin">{$data['members']}</div><a href="java script:togglecategory('ot', 1);">{ipb.lang['ot_hide']}</a></span>
<span style="display:{$data['div_fc']}" id="fc_ot"><div class="thins">{$data['memstats']}</div><a href="java script:togglecategory('ot', 0);">{ipb.lang['ot_show']}</a></span>
</td>
</tr>

И нажимаем кнопку "Сохранить шаблон". И так с каждым скином.

Далее подредактируем файл cache/lang_cache/ru/lang_boards.php

Тот кто уже ставил этот мод, то находит там строчки:

'ot_title' => "Список пользователей посетивших форум сегодня",
'ot_data' => "<b>%s</b> пользователей посетило форум сегодня. Дата:<b>%s</b>",

и дописывает ниже такие строчки:

'ot_hide' => "<b>Скрыть список</b>",
'ot_show' => "<b>Показать список</b>",

Тот кто ещё не ставил этот мод, то просто вписывает в этот файл в любое место такие строчки:

'ot_title' => "Список пользователей посетивших форум сегодня",
'ot_data' => "<b>%s</b> пользователей посетило форум сегодня. Дата:<b>%s</b>", 
'ot_hide' => "<b>Скрыть список</b>",
'ot_show' => "<b>Показать список</b>",

Далее правка кода мода для файла sources/lib/func_boardstats.php

Находим в коде строчку:

$data = array('memnum' => 0, 'members' => '');

И меняем её на такую:

$data = array('memnum' => 0, 'members' => '', 'div_fo' => '', 'div_fc' => '');

Ниже дописываем:

$collapsed_ids = ','.$this->ipsclass->my_getcookie('collapseprefs').',';
							$data['div_fo'] = 'show';
							$data['div_fc'] = 'none';
							if ( strstr( $collapsed_ids, ',ot,' ) )
							{
									$data['div_fo'] = 'none';
									$data['div_fc'] = 'show';
							}

Ну вот вообщем то и всё. ;)

 

 

 

А мне для выборки именно сегодняшнего дня такая конструкция нравится:

WHERE %название_timestamp_поля% > DATE_FORMAT(NOW(),"%Y-%c-%d")

Ritsuka, конструкция красивая, но как мне кажется немного тяжеловатая. У нас всё таки в основном стоят не тяжёлые коммерческие сервера и база данных не oracle, а mysql и для хорошо посещяемых форумов это может иметь значение.

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

не надо копировать дибилизм

http://forums.ibresource.ru/index.php?act=...ag=where_172800

автор мода лоханулся в этом месте, и я это уже знаю, так что не надо сомневаться, когда я говорю - ересь - значит ересь

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

  • 3 недели спустя...

Отличный мод. Спасибо! Только в cache/lang_cache/ru/lang_boards.php надо вставлять:

$lang['ot_title'] = "Список пользователей посетивших форум сегодня";

$lang['ot_data'] = "<b>%s</b> пользователей посетило форум сегодня, <b>%s</b>";

:D

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

  • 2 месяца спустя...
оставил на 2.3.6, все работает но прикол такой , рефрешу и показывает разное количество людей то больше то меньше... с чем это может быть связано ?
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
  • 2 месяца спустя...

Кстати, автор совершенно проигнорировал тот факт, что скрытые пользователи тоже отображаются в списке. А какой тогда вообще смысл скрываться, если строкой ниже тебя выдает с потрохами статистика этого мода. :D

Автор! Вы вообще в тему заходите?

 

Найти :

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 ($this->ipsclass->member['mgroup'] != 'номер администраторской группы')
{
if ($time == $today && ($row['login_anonymous'] != '1&1' AND $row['login_anonymous'] != '1&0'))
{
$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']++;
}
}
else 
{
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']++;
}
}
}

 

И скрытые не отображаются. ;)

Скрытых видят только Админы.

Папробовал поставил так,всеровно скрытые отображаються пользователи в статистике.

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

Так все работает вроде нормально

Версия 2.3.3

Подскажите кто знает

Аналогично, кто знает как сделать что бы не отображалось в статистике скрытые пользователи. Или хотя бы как админов скрыть? V2.3.5

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

  • 2 недели спустя...

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

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

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