46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| if(!defined('DATALIFEENGINE')) {    die("Hacking attempt!"); }
 | |
| global $banned_info;
 | |
| 
 | |
| require_once SYSTEM_DIR.'/data/chat.config.php';
 | |
| require_once SYSTEM_DIR.'/modules/functions.php';
 | |
| require_once SYSTEM_DIR.'/classes/parse.class.php';
 | |
| 
 | |
| $parse = new ParseFilter();
 | |
| $parse->safe_mode = true;
 | |
| $_TIME = time()+($config['date_adjust']*60);
 | |
| 
 | |
|     if ($is_logged) {$name = $db->safesql($member_id['name']);} else {$CN_HALT = TRUE;}
 | |
| 
 | |
|     $_IP = $db->safesql($_SERVER['REMOTE_ADDR']);
 | |
|    	$time = date ("Y-m-d H:i:s", $_TIME);
 | |
| 
 | |
| 	$message = $db->safesql($parse->BB_Parse($parse->process($mcadd['message'])), false);
 | |
| 
 | |
|     if( strlen($message) > 3000) $CN_HALT = TRUE;
 | |
|     if ($message =='' OR $member_id['banned'] == "yes") $CN_HALT = TRUE;
 | |
| 
 | |
|     $message = preg_replace("#(^|\s|>)((http|https|ftp)://\w+[^\s\[\]\<]+)#i", '\\1<a href="\\2" target="_blank" rel="nofollow">URL</a>', $message);
 | |
| 
 | |
| //* Àâòîïåðåíîñ äëèííûõ ñëîâ
 | |
|     if(intval($chatconfig['auto_wrap'])){
 | |
| 		$message = preg_split('((>)|(<))', $message, -1, PREG_SPLIT_DELIM_CAPTURE);
 | |
| 		$n = count($message);
 | |
| 
 | |
| 		for ($i = 0; $i < $n; $i++) {
 | |
| 			if ($message[$i] == "<") {
 | |
| 				$i++; continue;
 | |
| 			}
 | |
| 			$message[$i] = preg_replace("#([^\s<>'\"/\.\\-\?&\n\r\%]{".intval($chatconfig['auto_wrap'])."})#i", "\\1<br />", $message[$i]);
 | |
| 		}
 | |
| 		$message = join("", $message);
 | |
|     }
 | |
|     $data['skin'] = strtolower($_REQUEST['skin']);
 | |
| //  Äîáàâëåíèå
 | |
|     if ($CN_HALT) {
 | |
|     } else {
 | |
| 		$db->query("INSERT INTO ".PREFIX."_chat (name, message, date, ip, `mgroup`, user_id) VALUES ('$name', '$message', '$time', '$_IP', '$member_id[user_group]', '$member_id[user_id]')");
 | |
|         $cache->del('minichat');
 | |
| }
 | |
| ?>
 |