104 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| include 'init.php';
 | |
| 
 | |
| if (!$is_logged){die ("error");}
 | |
| 
 | |
| $id = intval($_REQUEST['id']);
 | |
| 
 | |
| if (!$id OR !is_moderation(0, 0, $id, 'forum_post_edit'))
 | |
| {
 | |
| 	die ("error");
 | |
| }
 | |
| 
 | |
| include_once SYSTEM_DIR.'/classes/parse.class.php';
 | |
| 
 | |
| $parse = new ParseFilter(Array(), Array(), 1, 1);
 | |
| 
 | |
| // ********************************************************************************
 | |
| // EDIT POST
 | |
| // ********************************************************************************
 | |
| if ($_REQUEST['action'] == "edit")
 | |
| {
 | |
| 	$row = $db->super_query("SELECT * FROM " . PREFIX . "_forum_posts WHERE pid = $id");
 | |
| 	
 | |
| 	if ($id != $row['pid']) die ("error");
 | |
| 	
 | |
| 	$topic_id = $row['topic_id'];
 | |
| 	
 | |
| 	$upload_var = array('area'=>"post", 'forum_id'=>$forum_id, 'topic_id'=>$topic_id, 'post_id'=>$id);
 | |
| 	
 | |
| 	$ajax_post_id = $id;
 | |
| 	
 | |
| 	$upload_var['reply'] = "reply";
 | |
| 	
 | |
| 		$post_text = $parse->decodeBBCodes($row['post_text'], false);
 | |
| 		
 | |
| 		$upload_var['bb_width'] = '99%';
 | |
| 		
 | |
| 		include_once SYSTEM_DIR.'/forum/sources/components/bbcode.php';
 | |
| 		
 | |
| 		$bb_code = str_replace ("{THEME}", $config['http_home_url']."templates/".$config['skin'], $bb_code);
 | |
| 
 | |
| 	
 | |
| 	$buffer = <<<HTML
 | |
| 	<form method="post" name="forum_post_form_{$id}" id="forum_post_form_{$id}" action="">
 | |
| 	<div>{$bb_code}</div>
 | |
| 	<textarea id="forum_post_{$id}" name="forum_post_{$id}" onclick="setNewField(this.name, document.forum_post_form_{$id})" style="width:99%; height:150px;font-family:verdana; font-size:11px; border:1px solid #E0E0E0">{$post_text}</textarea><br>
 | |
| 	<div align="right" style="width:99%;"><input class=bbcodes title="$lang[bb_t_apply]" type=button onclick="ajax_save_post_edit('{$id}'); return false;" value="$lang[bb_b_apply]">
 | |
| 	<input class=bbcodes title="$lang[bb_t_cancel]" type=button onclick="ajax_cancel_post_edit('{$id}'); return false;" value="$lang[bb_b_cancel]">
 | |
| 	</div>
 | |
| 	</form>
 | |
| HTML;
 | |
| }
 | |
| 
 | |
| // ********************************************************************************
 | |
| // SAVE POST
 | |
| // ********************************************************************************
 | |
| elseif ($_REQUEST['action'] == "save")
 | |
| {
 | |
| 	$post_text = trim(convert_unicode($_POST['post_text'], $config['charset']));
 | |
| 
 | |
| 	$post_text = $parse->process($post_text);
 | |
| 		
 | |
| 	$post_text = $parse->BB_Parse($post_text, FALSE);
 | |
| 
 | |
| 	if (!$post_text) die ("error");
 | |
| 	
 | |
| 	$post_text = auto_wrap ($post_text);
 | |
| 	
 | |
| 	if (strlen($post_text) > $forum_config['post_maxlen'])
 | |
| 	{
 | |
| 		die ("<script language=\"JavaScript\" type=\"text/javascript\">\n alert ('The length of the message exceeds the limit!');\n </script>");
 | |
| 	}
 | |
| 	
 | |
| 	$edit_info = ", edit_user = '{$member_id[name]}', edit_time = '{$_TIME}'";
 | |
| 	
 | |
| 	$post_text = $db->safesql($post_text);
 | |
| 	
 | |
| 	$db->query("UPDATE " . PREFIX . "_forum_posts SET post_text = '$post_text' {$edit_info} WHERE pid = $id");
 | |
| 	
 | |
| 	$post_text = preg_replace ("'\[hide\](.*?)\[/hide\]'si","\\1", $post_text);
 | |
| 	
 | |
| 	check_attachment($pid, $post_text);
 | |
| 	
 | |
| 	if (stristr ($post_text, "[attachment="))
 | |
| 	{
 | |
| 		$row = $db->super_query("SELECT * FROM " . PREFIX . "_forum_posts WHERE pid = $id");
 | |
| 		
 | |
| 		$tid = $row['topic_id'];
 | |
| 		
 | |
| 		$ajax_edit_attach = TRUE;
 | |
| 		
 | |
| 		require_once SYSTEM_DIR.'/forum/sources/components/attachment.php';
 | |
| 	}
 | |
| 	
 | |
| 	$buffer = stripslashes($post_text);
 | |
| 	
 | |
| 	$buffer = stripslashes($buffer);
 | |
| }
 | |
| 
 | |
| else die ("error");
 | |
| 
 | |
| @header("Content-type: text/html; charset=".$config['charset']);
 | |
| echo $buffer;
 | |
| ?>
 |