<?php
/**
* Project: smarty_ajax: AJAX-enabled Smarty plugins
* File: chat.php
*
* This software is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* @link http://kpumuk.info/ajax/smarty_ajax/
* @copyright 2006 Dmytro Shteflyuk
* @author Dmytro Shteflyuk <hide@address.com>
* @package smarty_ajax
* @version 0.1
*/
require_once('include/loader.php');
function get_messages() {
$f = fopen('chat.txt', 'r');
if (!$f) return;
$chat = '';
while ($s = fread($f, 4096)) $chat .= $s;
fclose($f);
echo nl2br($chat);
}
function add_message() {
if (!isset($_POST['message']) || empty($_POST['message'])) return;
if (!isset($_SESSION['user'])) {
$_SESSION['user'] = 'Guest' . mt_rand();
}
$f = fopen('chat.txt', 'r');
if (!$f) return;
$chat = '';
while ($s = fread($f, 4096)) $chat .= $s;
fclose($f);
$chat = $_SESSION['user'] . '> ' . htmlspecialchars($_POST['message']) . "\n" . $chat;
$chat_arr = array_slice(explode("\n", $chat), 0, 100);
$chat = implode("\n", $chat_arr);
$f = fopen('chat.txt', 'w');
fwrite($f, $chat);
fclose($f);
}
ajax_register('get_messages', 'add_message');
ajax_process_call();
$t->assign('title', 'AJAX chat');
$t->assign('page_template', 'chat');
$t->display('page.tpl');
?>