Viewing file: ajax_chat.php (4.25 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/********************************************************************************
- MemHT Portal -
Copyright (C) 2007-2008 by Miltenovik Manojlo
http://www.memht.com
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your opinion) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, see <http://www.gnu.org/licenses/> (GPLv2)
or write to the Free Software Foundation, Inc., 51 Franklin Street,
Fifth Floor, Boston, MA02110-1301, USA.
********************************************************************************/
$httphost = @$_SERVER['HTTP_HOST'];
$httpreferer = @$_SERVER['HTTP_REFERER'];
if (!eregi($httphost,$httpreferer) OR $httpreferer=="") {
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
exit;
} else {
//===========================================
//Database: Connect
//===========================================
require_once("../../inc/inc_config.php");
require_once("../../inc/inc_database.php");
$dblink = new database();
$dblink->connect();
require_once("../../inc/inc_login.php");
require_once("../../inc/inc_functions.php");
require_once("../../inc/inc_bbcode.php");
require_once("../../inc/inc_readConfig.php");
global $siteConfig,$userid,$userInfo;
//===========================================
//SELECT LANGUAGE
//===========================================
include_once(file_exists("../../lang/".$siteConfig['language'].".php")) ? "../../lang/".$siteConfig['language'].".php" : "../../lang/".$siteConfig['default_language'].".php" ;
if (!defined("_LANG_CHARSET_")) { define("_LANG_CHARSET_","utf-8"); }
@header('Content-Type: text/html; charset='._LANG_CHARSET_);
if (isUser($userid)) {
$file = "../../pages/chat/messages.txt";
$items = 20;
switch (@$_POST['op']) {
case "add":
if (@$_POST['message']!="") {
//===========================================
//Timezone setting
//===========================================
$timezonerow = $dblink->get_row("SELECT timezone FROM memht_config");
$siteConfig['timezone'] = intval($timezonerow['timezone']);
$tzNOW = "DATE_ADD(NOW(),INTERVAL ".$siteConfig['timezone']." HOUR)";
$row = $dblink->get_row("SELECT DATE_FORMAT($tzNOW, '%H:%i:%S') as date");
$time = $row['date'];
function cleanmsg($str) {
$str = str_replace("|","",$str);
$str = str_replace("^","",$str);
return $str;
}
$message = isset($_POST['message']) ? inCode(cleanmsg($_POST['message'])) : '';
$message = $userInfo['user']."|$time|$message";
if ($handle = @fopen($file,"r")) {
if ($content = @fread($handle,@filesize($file))) {
$content = implode("^",array_slice(explode("^",$content),-($items-1),($items-1)));
fclose($handle);
} else {
//Cannot read the database file
$content = "";
}
} else {
//There are no messages
$content = "";
}
$content .= "^".$message;
if ($handle = @fopen($file,'w')) {
fwrite($handle,$content);
fclose($handle);
} else {
echo "Cannot write the database file";
}
}
default:
if ($handle = @fopen($file,"r")) {
if ($content = @fread($handle,@filesize($file))) {
$content = array_slice(array_reverse(explode("^",$content)),0,$items);
foreach ($content as $item) {
$item = explode("|",$item);
$name = $item[0];
$time = $item[1];
$text = minibb2html($item[2]);
echo "$time <b>$name</b>: $text<br>";
}
fclose($handle);
} else {
echo "Cannot read the database file";
}
} else {
echo "There are no messages";
}
break;
}
} else {
echo "Access Denied!";
}
}
?>
|