shyuser
На Вашем форуме, помимо чата, не работают и другие Ajax-функции (на главной странице рядом с названием последней темы есть ссылки-стрелки для быстрого просмотра первого и последнего сообщения темы, при нажатии тоже выводится undefined). Проблема либо в хостинге (если реклама вставляется хостером на Ваши страницы автоматически), либо в работе библиотеки Ajax форума
136. yura3d - 15 июля 2009 — 21:08 - перейти к сообщению
137. shyuser - 15 июля 2009 — 21:14 - перейти к сообщению
yura3d
Рекламу внизу каждой страницы сайта вставляет хостер.
Как можно проверить настройки Ajax форума?
У меня при загрузке главной страницы форума идёт долгая передача данных с top1.mail.ru... и видно безрезультатно. Почему-то на форуме нет рекламы внизу?
В php я чайник, про Ajax только слышал. Поэтому может со временем с новыми версиями решится проблема или я со временем хостинг поменяю.
Форум ExBB мне понравился. Выбрал, т.к. на "моём" хостинге нет баз данных.
Спасибо!
Рекламу внизу каждой страницы сайта вставляет хостер.
Как можно проверить настройки Ajax форума?
У меня при загрузке главной страницы форума идёт долгая передача данных с top1.mail.ru... и видно безрезультатно. Почему-то на форуме нет рекламы внизу?
В php я чайник, про Ajax только слышал. Поэтому может со временем с новыми версиями решится проблема или я со временем хостинг поменяю.
Форум ExBB мне понравился. Выбрал, т.к. на "моём" хостинге нет баз данных.
Спасибо!
138. electron - 16 июля 2009 — 05:51 - перейти к сообщению
yura3d пишет:
Проблема либо в хостинге (если реклама вставляется хостером на Ваши страницы автоматически)
у чата с этой строкой проблем нет. по крайней мере о каких пишет shyuser. я опробовал форум с чатом на двух разных хостах с подобной строкой и еще на одном бесплатном без строки с графической рекламой хостера на каждой странице - чат везде работает нормально. проблема явно в другом
139. yura3d - 16 июля 2009 — 10:01 - перейти к сообщению
electron пишет:
у чата с этой строкой проблем нет. по крайней мере о каких пишет shyuser. я опробовал форум с чатом на двух разных хостах с подобной строкой и еще на одном бесплатном без строки с графической рекламой хостера на каждой странице - чат везде работает нормально. проблема явно в другом
yura3d пишет:
Проблема либо в хостинге (если реклама вставляется хостером на Ваши страницы автоматически)
у чата с этой строкой проблем нет. по крайней мере о каких пишет shyuser. я опробовал форум с чатом на двух разных хостах с подобной строкой и еще на одном бесплатном без строки с графической рекламой хостера на каждой странице - чат везде работает нормально. проблема явно в другом
Многое зависит от хостера. Некоторые (которых сейчас уже большинство) подходят к вопросам автоматической вставки рекламы профессионально, и не лепят её во всё что под руку попадёт, включая Ajax-запросы. Ничего конкретного про fatal.ru сказать не могу, т.к. ни разу не пользовался их услугами
shyuser пишет:
Как можно проверить настройки Ajax форума?
Откройте файл javascript/hints.js, найдите строку:
CODE:
function processMessage(data, text) {if (data.error == 1) {hideHint();alert(data.errortext);}else if ((data.topic==currentTopic)&&(data.forum==currentForum)) {document.getElementById('HintsBlock').innerHTML=data.divtext;resizeHinter();}}
И замените её строкой:
CODE:
function processMessage(data, text) {if (data.error == 1) {hideHint();alert(text);}else if ((data.topic==currentTopic)&&(data.forum==currentForum)) {document.getElementById('HintsBlock').innerHTML=data.divtext;resizeHinter();}}
Теперь при клике на ссылки-стрелки для просмотра первого или последнего сообщений последней в разделе темы, при наличии ошибок на стороне бакэнда Ajax-библиотеки, будут выводиться сообщения об этих ошибках, что позволит более глубже исследовать проблему
Borman пишет:
В связи с этим есть маленький вопросик, а нельзя где нибудь на форуме "прикрутить" хотябы кто сидит в чате, ибо уже какой никакой информер будет.
Если это конечно возможно сделать
Если это конечно возможно сделать
Возможно. Сейчас занят, но чуть позже подумаю над реализацией подобного информера
140. Borman - 16 июля 2009 — 11:50 - перейти к сообщению
yura3d пишет:
С нетерпением буду ждать, ибо такой информер как раз может снять вопрос о выводе чата на главную страницу. Думаю это будет не в ущерб скорости загрузки форума.но чуть позже подумаю над реализацией подобного информера
Думаю многие поддержат эту идею!!!
141. shyuser - 16 июля 2009 — 15:29 - перейти к сообщению
yura3d
Заменил. Теперь выводится пустое окно.
Заменил. Теперь выводится пустое окно.
142. yura3d - 16 июля 2009 — 22:06 - перейти к сообщению
shyuser
Это значит, что по каким-то причинам не работает бакэнд Ajax-библиотеки форума. Что-то конкретное сказать сложно, попробуйте запустить форум на локальном сервере и протестировать работу чата на нём
Это значит, что по каким-то причинам не работает бакэнд Ajax-библиотеки форума. Что-то конкретное сказать сложно, попробуйте запустить форум на локальном сервере и протестировать работу чата на нём
143. shyuser - 17 июля 2009 — 08:23 - перейти к сообщению
На локальном сервере (Denwer) тоже-самое. Права доступа проверил. Может чего не докачал или недоустановил?
144. yura3d - 17 июля 2009 — 08:54 - перейти к сообщению
shyuser
При установке форума на локальном сервере с нуля проблема сохраняется?
Попробуйте перезакачать папки include и javascript, а также файл jsloader.php, возможно, при закачке по FTP некоторые файлы могли побиться
При установке форума на локальном сервере с нуля проблема сохраняется?
Попробуйте перезакачать папки include и javascript, а также файл jsloader.php, возможно, при закачке по FTP некоторые файлы могли побиться
145. shyuser - 17 июля 2009 — 09:12 - перейти к сообщению
yura3d пишет:
shyuser
При установке форума на локальном сервере с нуля проблема сохраняется?
Попробуйте перезакачать папки include и javascript, а также файл jsloader.php, возможно, при закачке по FTP некоторые файлы могли побиться
При установке форума на локальном сервере с нуля проблема сохраняется?
Попробуйте перезакачать папки include и javascript, а также файл jsloader.php, возможно, при закачке по FTP некоторые файлы могли побиться
Спасибо. Проблема была в jsloader.php. Заменил его с архива и стрелки стали работать. Потом сделал изменение для чата и чат заработал.
146. yura3d - 20 июля 2009 — 15:47 - перейти к сообщению
Наконец-то дошли руки до информера чата!
Рабочий вариант уже можно посмотреть на главной странице этого форума
Рабочий вариант уже можно посмотреть на главной странице этого форума
147. Defenderyk - 20 июля 2009 — 16:38 - перейти к сообщению
прикольно.
но может еще опционально сделать вывод последних сообщений на форуме, например последние 3-5
но может еще опционально сделать вывод последних сообщений на форуме, например последние 3-5
148. yura3d - 20 июля 2009 — 17:10 - перейти к сообщению
Defenderyk пишет:
прикольно.
но может еще опционально сделать вывод последних сообщений на форуме, например последние 3-5
но может еще опционально сделать вывод последних сообщений на форуме, например последние 3-5
Можно и так сделать, посмотрим что другие на это скажут
Andr1y и electron в чате на нашем форуме высказались за идею отображения кол-ва сидящих в чате в скобках рядом со ссылкой входа в чат (шапка форума). Поэтому давайте решать, какой вариант будет наиболее удобным, предлагайте Ваши идеи
149. electron - 20 июля 2009 — 17:29 - перейти к сообщению
повторюсь : если можно - озвучьте оба вида (как есть ща и цифрой около ссылки чата), а народ уж пусть выбирает как им по душе
150. yura3d - 20 июля 2009 — 17:55 - перейти к сообщению
Решил выложить первую версию информера для чата (с выводом кол-ва и списка сидящих в чате на главной странице форума). Пример этого информера Вы можете сейчас видеть на нашем форуме. Для установки необходимо проделать следующие изменения
Откройте файл language/russian/lang_front_all.php, найдите строку:
И сразу за ней вставьте строки:
Далее откройте файл index.php, найдите строки:
И сразу за ними вставьте строки:
Теперь откройте файл templates/ваш_скин/board_body.tpl, найдите строку:
И сразу за ней разместите строки:
Теперь в этом же файле найдите строки:
И разместите информер (переменная {$chat_informer}):
Далее откройте файл modules/chat/backend.php, найдите строки:
И удалите из этого фрагмента строку:
Далее в этом же файле найдите строки:
И разместите за ними строки:
И, наконец, в этом же файле найдите последнюю строку:
И над ней разместите строки:
Осталось только скачать файл informer.js (прикреплён к этому сообщению) и закачать его к себе на форум в папку modules/chat/javascript
Откройте файл language/russian/lang_front_all.php, найдите строку:
CODE:
$this->LANG['Chat'] = 'Чат на форуме';
И сразу за ней вставьте строки:
CODE:
$this->LANG['ChatEmpty'] = 'В чате никого нет';
$this->LANG['ChatNow'] = 'Сейчас в чате:';
$this->LANG['ChatOnline'] = 'Кто именно?';
$this->LANG['ChatUpdate'] = 'Обновить список';
$this->LANG['ChatWait'] = 'Подождите, загружаются данные чата...';
$this->LANG['ChatNow'] = 'Сейчас в чате:';
$this->LANG['ChatOnline'] = 'Кто именно?';
$this->LANG['ChatUpdate'] = 'Обновить список';
$this->LANG['ChatWait'] = 'Подождите, загружаются данные чата...';
Далее откройте файл index.php, найдите строки:
CODE:
/* ДЕНЬ РОЖДЕНИЯ */
include ('modules/birstday/birst.php');
include ('modules/birstday/birst.php');
И сразу за ними вставьте строки:
CODE:
// Chat Informer for ExBB FM 1.0 RC2 by yura3d (http://www.exbb.org/)
if ($fm->exbb['chat'])
$fm->_Link .= "\n".'<script type="text/javascript" language="JavaScript">
<!--'."
var ChatLang = {
ChatEmpty: '{$fm->LANG['ChatEmpty']}',
ChatNow: '{$fm->LANG['ChatNow']}',
ChatOnline: '{$fm->LANG['ChatOnline']}',
ChatUpdate: '{$fm->LANG['ChatUpdate']}',
ChatWait: '{$fm->LANG['ChatWait']}'
};
//-->
</script>";
if ($fm->exbb['chat'])
$fm->_Link .= "\n".'<script type="text/javascript" language="JavaScript">
<!--'."
var ChatLang = {
ChatEmpty: '{$fm->LANG['ChatEmpty']}',
ChatNow: '{$fm->LANG['ChatNow']}',
ChatOnline: '{$fm->LANG['ChatOnline']}',
ChatUpdate: '{$fm->LANG['ChatUpdate']}',
ChatWait: '{$fm->LANG['ChatWait']}'
};
//-->
</script>";
Теперь откройте файл templates/ваш_скин/board_body.tpl, найдите строку:
CODE:
LOGINS;
И сразу за ней разместите строки:
CODE:
/*
Chat informer
*/
$chat_informer = '';
if ($fm->exbb['chat'])
$chat_informer = <<<DATA
<div align="center" id="chat_informer"><br /><br /></div>
<script language="JavaScript" src="modules/chat/javascript/informer.js"></script>
DATA;
Chat informer
*/
$chat_informer = '';
if ($fm->exbb['chat'])
$chat_informer = <<<DATA
<div align="center" id="chat_informer"><br /><br /></div>
<script language="JavaScript" src="modules/chat/javascript/informer.js"></script>
DATA;
Теперь в этом же файле найдите строки:
CODE:
/*
Board body
*/
echo <<<DATA
<br/>
<table border="0" width="100%" cellpadding="0" cellspacing="0">
Board body
*/
echo <<<DATA
<br/>
<table border="0" width="100%" cellpadding="0" cellspacing="0">
И разместите информер (переменная {$chat_informer}):
CODE:
/*
Board body
*/
echo <<<DATA
<br/>{$chat_informer}
<table border="0" width="100%" cellpadding="0" cellspacing="0">
Board body
*/
echo <<<DATA
<br/>{$chat_informer}
<table border="0" width="100%" cellpadding="0" cellspacing="0">
Далее откройте файл modules/chat/backend.php, найдите строки:
CODE:
require_once('modules/chat/common.php');
if (!$fm->user['id']) die;
if (!$fm->user['id']) die;
И удалите из этого фрагмента строку:
CODE:
if (!$fm->user['id']) die;
Далее в этом же файле найдите строки:
CODE:
case 'send': send();
break;
break;
И разместите за ними строки:
CODE:
case 'informer': informer();
break;
break;
И, наконец, в этом же файле найдите последнюю строку:
CODE:
?>
И над ней разместите строки:
CODE:
function informer() {
global $fm;
$online = $fm->_Read(CHAT_ONLINE);
$now = 0;
$show_online = array();
foreach ($online as $id => $user)
if ($fm->_Nowtime - $user['time'] <= 30) {
$now++;
$show_online[] = '<a href="profile.php?action=show&member='.$id.'"'.status_class($user['st']).'>'.$user['name'].'</a>';
}
$GLOBALS['_RESULT'] = array(
'error' => 0,
'now' => $now,
'online' => implode(', ', $show_online)
);
}
global $fm;
$online = $fm->_Read(CHAT_ONLINE);
$now = 0;
$show_online = array();
foreach ($online as $id => $user)
if ($fm->_Nowtime - $user['time'] <= 30) {
$now++;
$show_online[] = '<a href="profile.php?action=show&member='.$id.'"'.status_class($user['st']).'>'.$user['name'].'</a>';
}
$GLOBALS['_RESULT'] = array(
'error' => 0,
'now' => $now,
'online' => implode(', ', $show_online)
);
}
Осталось только скачать файл informer.js (прикреплён к этому сообщению) и закачать его к себе на форум в папку modules/chat/javascript