Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#38 used as offset, casting to integer (38) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#39 used as offset, casting to integer (39) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Мод: Пользователи за сегодня [8]
ТвойWeb » » Моды, хаки, скины и дополнения » Мод: Пользователи за сегодня

Страниц (10): В начало « ... 2 3 4 5 6 7 [8] 9 10 »
 

71. yura3d - 09 Сентября, 2008 - 15:18:04 - перейти к сообщению
defenderyk пишет:
ТАк и не появилась версия под FM? или там много всего надо переписывать?

Просто никто особо не просил. Вобщем я решил написать этот мод для ExBB FM 1.0 Beta с нуля, а не переписывать с более старых версий (лень ковыряться в чужом коде, свой я напишу куда быстрее, да и реализация совместимости с режимом скрытого пребывания на форуме в старом моде мне не очень нравится).
Для установки мода делаем следующее. Открываем файл include/fm.class.php и находим строку:
CODE:
$this->_Write($fp_online,$onlinedata);

Сразу после неё вставляем блок:
CODE:
/* Кто сегодня был на форуме? */
global $today;
$today_file = 'data/today.php';
$today = $this->_Read2Write($fp_today, $today_file, file_exists($today_file) ? false : true);

$day = date('d', $this->_Nowtime);
if ((!isset($today['day'])) || ($today['day'] != $day))
$today = array('day' => $day, 'reged' => array(), 'guests' => 0, 'sess' => array());

if ($this->user['id']) {
$today['reged'][$this->user['id']] = array('n' => $this->user['name'], 's' => $this->user['status']);

if (($this->exbb['visiblemode']) && ($this->user['visible']))
$today['reged'][$this->user['id']]['h'] = 1;
}
else {
foreach ($today['sess'] as $sess => $time)
if ($this->_Nowtime - $time > 300) unset($today['sess'][$sess]);

if ((!isset($today['sess'][$sessid])) && (!isset($_SESSION['exbb_today']))) $today['guests']++;
$today['sess'][$sessid] = $this->_Nowtime;
}

$this->_Write($fp_today, $today);
/* Кто сегодня был на форуме? */

Далее открываем файл index.php и ищём в нём строку:
CODE:
$fm->_OnlineLog($fm->LANG['BoardMain'],FALSE,TRUE);

И сразу после неё вставляем блок:
CODE:
/* Кто сегодня был на форуме? */
$today_reged = $today_hidden = 0;
$today_show = array();

foreach ($today['reged'] as $today_id => $today_info) {
if (isset($today_info['h'])) {
$today_hidden++;
if ($fm->user['status'] == 'ad') $today_info['n'] .= '*';
else continue;
}
else $today_reged++;

switch ($today_info['s']) {
case 'ad': $today_class = ' class="admin"'; break;
case 'sm': $today_class = ' class="supmoder"'; break;
case 'mo': $today_class = ' class="moder"'; break;
default: $today_class = '';
}

$today_show[] = '<a href="profile.php?action=show&member='.$today_id.'"'.$today_class.'>'.$today_info['n'].'</a>';
}

$today_show = implode(', ', $today_show);
$today_total = $today_reged + $today_hidden + $today['guests'];

$today_show = ($fm->exbb['visiblemode']) ?
sprintf($fm->LANG['TodayShow'], $today_total, $today_reged, sprintf($fm->LANG['TodayHidden'], $today_hidden), $today['guests'], $today_show) :
sprintf($fm->LANG['TodayShow'], $today_total, $today_reged, '', $today['guests'], $today_show);
/* Кто сегодня был на форуме? */

Открываем файл loginout.php и находим строки:
CODE:
$_SESSION = array();
session_destroy();

И заменяем их на строку:
CODE:
$_SESSION = array('exbb_today' => 1);

Добавляем 2 языковые конструкции в файл language/russian/lang_front_all.php:
CODE:
$this->LANG['TodayShow'] = 'Сегодня форум посетили: %d (зарегистрированных: %d, %sгостей: %d)<br>%s';
$this->LANG['TodayHidden'] = 'скрытых: %d, ';

И модифицируем шаблон templates/InvisionExBB/board_body.tpl. Находим строки:
CODE:
<!-- ДЕНЬ РОЖДЕНИЯ -->
{$birstdaylist}
<!-- ДЕНЬ РОЖДЕНИЯ -->

И прямо под ними вставляем:
CODE:
<tr>
<td class="pformstrip" colspan="2">&nbsp;</td>
</tr>
<tr>
<td width="5%" class="row2" rowspan="{$rowspan}"><img src="./templates/InvisionExBB/im/user.gif" border="0" alt="Active Users" /></td>
<td class="row4" width="95%">$today_show<br />{$maximum}</td>
</tr>

Далее в этом же файле находим следующую строку и удаляем её:
CODE:
<br />{$maximum}


На этом всё. Мод готов к использованию. Мод полностью совместим с режимом скрытого пребывания на форуме, при этом скрытых пользователей могут видеть только администраторы форума (их имена будут отмечены звёздочкой)
72. defenderyk - 10 Сентября, 2008 - 02:25:55 - перейти к сообщению
yura3d, ты как всегда прав Хорошо
73. Daddario - 10 Сентября, 2008 - 04:28:55 - перейти к сообщению
Я убрал
CODE:
rowspan="{$rowspan}"
из добавленного кода в файле шаблона и у меня таблица стала корректно отображаться, а до этого было криво)
74. defenderyk - 10 Сентября, 2008 - 06:38:38 - перейти к сообщению
у меня сразу все ровно встало.
75. yura3d - 10 Сентября, 2008 - 11:12:59 - перейти к сообщению
Daddario пишет:
Я убрал
CODE:
rowspan="{$rowspan}"
из добавленного кода в файле шаблона и у меня таблица стала корректно отображаться, а до этого было криво)

defenderyk пишет:
у меня сразу все ровно встало.

Daddario
Хм... Если Вы всё правильно сделали и до этого не вносили никаких изменений в исходный шаблон то проблем быть не должно.

Тем временем я нашёл 2 недочёта в моде. Для тех кто уже ставил мод выкладываю исправления (предыдущее сообщение с инструкциями по установке уже исправлено).

Находим в файле include/fm.class.php строку:
CODE:
$today['reged'][$this->user['id']] = array('n' => $this->user['name'], 's' => $this->user['status']);

И заменяем её на строку:
CODE:
$today['reged'][$this->user['id']] = array('n' => $this->user['name'], 's' => $status);

Теперь нужно открыть файл loginout.php и найти строки:
CODE:
$_SESSION = array();
session_destroy();

И заменить их на строку:
CODE:
$_SESSION = array('exbb_today' => 1);

На этом всё, теперь мод сможет подсвечивать также модераторов разделов (которые не супермодераторы), а также более точно учитывать гостей
76. defenderyk - 11 Сентября, 2008 - 05:00:57 - перейти к сообщению
а какие недочеты по факту были? что мод неправильно отображал?
77. yura3d - 12 Сентября, 2008 - 05:02:36 - перейти к сообщению
я же написал в конце предыдущего сообщения. мод ранее не подсвечивал обычных (не супер) модераторов зелёным цветом и по ошибке считал зарегистрированных пользователей гостями, если предпринималась попытка выхода
78. aaa - 19 Сентября, 2008 - 18:19:13 - перейти к сообщению
Здравствуйте! Установил мод.
гость видит вверху форума такое
Цитата:
Notice: Undefined variable: today_show in /home/spdplast/public_html/fiatclub.dn.ua/forums/index.php on line 109

Warning: implode() [function.implode]: Invalid arguments passed in /home/spdplast/public_html/fiatclub.dn.ua/forums/index.php on line 109


Захожу под своим именем, вижу только свой ник и не считает всех посетителей.
Помогите разобратся!!!
79. lisiycat - 19 Сентября, 2008 - 18:48:03 - перейти к сообщению
aaa, я вот буквально не давно проверял у себя мод на локалке - все рулит.
Никаких проблем не возникло.
Попробуй еще раз проделать все манипуляции.
80. aaa - 19 Сентября, 2008 - 19:10:29 - перейти к сообщению
Все проделал заново, результат тот же!!! Огорчение

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0447]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33