View file gchat/index.php

File size: 4.16Kb
<?php
require 'inc/system.php';
/* Получаем данные с сервера */
$contentEncode = $server->getContent ();
$content = json_decode ($contentEncode);
if (!$content)
{
/* Сервер не ответил */
/* Читаем данные из кеша */
$content = json_decode ($cache->readCache ());
if (!empty ($_POST['msg']))
	echo "<font color='grey'>Возможно Ваше сообщение не отправилось</font><br />";
}
elseif (isset ($content->serverMsg) && $content->serverMsg == 'no_result')
{
/* Сервер ответил, но не дал новых данных */
/* Читаем данные из кеша */
$content = json_decode ($cache->readCache ());
}
else
{
/* Сервер ответил, все круто )) */
/* Записываем в кеш */
$cache->writeCache ($contentEncode);
}

/* Выводим ошибки */
if (!empty ($content->error))
{
echo "<div class='".DIV_ERROR."'>".$content->error."</div>";
if (!empty ($content->foot))
	$server->readContent ($content->foot);
require 'inc/end.php';
exit ();
}

/* Выводим сообщения */
if (!empty ($content->msg))
echo "<div class='".DIV_MSG."'>".$content->msg."</div>";
	
if (!empty ($content->clientNewVersion) && $content->clientNewVersion !== $chat->clientVersion)
echo "<div class='".DIV_MSG."'>GlobalChat<br />
		Поздравляем! Вышла новая модернизированная версия скрипта GlobalChat<br />
		<a href='http://globalscripts.ru/'>Скачать новую версию клиента</a></div>";
	
	
if (empty ($_GET['room']))
{
$server->readContent ($content->head);
/* Выводим список комнат */
echo $chat->readRooms ($content->rooms);
}
else
{
	if (is_web_browser ())
	{
?>
<script type="text/javascript" src="inc/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
var status = 1;

// звуковое уведомление
function sound(){
$('body').append('<object><embed src="inc/sound.swf" autostart="1" width="0" height="0" type="application/x-flashplayer"></embed></object>')    
}

// проверяем текущее действие пользователя
function autoupdate(updatestatus)
{
status = updatestatus;
}

// перезагружаем страницу, если есть новые сообщения
$(document).ready(setInterval(function () {	 
$.ajax(
         {
             url: 'check_new_msgs.php',
             type: 'GET',
             data:
             {
                'last_msg_time': '<?php echo $content->lastMsgTime; ?>',
                'room': '<?php echo $chat->room; ?>'
             },
             dataType: 'text',
             success: function (result)
             {
             if (result == '1' && status == '1')
				{
				location.replace('<?php echo "?room=$chat->room&sound=1&update_mode=2"; ?>');
				}
             }
         });
}, 3000));
<?php
if (isset ($_GET['sound']))
echo "sound();";
?>
</script>
<?php
	}
	else
	{
	?>
<script type="text/javascript">
function autoupdate(updatestatus)
{
}
</script>
	<?php
	}
/* Выводим форму ввода */
if (!empty ($_GET['answer']))
	$_GET['update_mode'] = 2;
if (isset ($_GET['update_mode']))
	{
	if ($_GET['update_mode'] == 1)
		$_SESSION['update_mode'] = 1;
		else
		$_SESSION['update_mode'] = 0;
	}
if (empty ($_SESSION['update_mode']))
echo $chat->formMsg ();
/* Выводим навигацию */
echo "<div class='".DIV_NAVIGATION."'>".$chat->navigation ().'</div>';
$server->readContent ($content->head); 

if (empty ($_GET['module']))
	{
	/* Выводим список сообщений */
	echo $chat->readMsgs ($content->msgs);
	/* Выводим листинг */
	echo pagination ('?room='.(int) $chat->room.'&amp;', $content->pages, (int) $chat->page);
	}
	else
	{
	if ($_GET['module'] == 'smiles')
		{
		/* Выводим смайлы */
		require 'inc/smiles.list.php';
		}
		elseif ($_GET['module'] == 'bbcodes')
		{
		/* Выводим BB-коды */
		require 'inc/bbcodes.list.php';
		}
	}
}
$server->readContent ($content->foot);
require 'inc/end.php';