diff options
Diffstat (limited to 'phpBB/includes/functions_content.php')
| -rw-r--r-- | phpBB/includes/functions_content.php | 44 | 
1 files changed, 44 insertions, 0 deletions
| diff --git a/phpBB/includes/functions_content.php b/phpBB/includes/functions_content.php index 40d44cfe7b..e124bd46e6 100644 --- a/phpBB/includes/functions_content.php +++ b/phpBB/includes/functions_content.php @@ -1758,3 +1758,47 @@ class bitfield  		$this->data = $this->data | $bitfield->get_blob();  	}  } + +/** + * Formats the quote according to the given BBCode status setting + * + * @param bool 						$bbcode_status The status of the BBCode setting + * @param array 					$quote_attributes The attributes of the quoted post + * @param phpbb\textformatter\utils $text_formatter_utils Text formatter utilities + * @param parse_message 			$message_parser Message parser class + * @param string 					$message_link Link of the original quoted post + */ +function phpbb_format_quote($bbcode_status, $quote_attributes, $text_formatter_utils, $message_parser, $message_link = '') +{ +	if ($bbcode_status) +	{ +		$quote_text = $text_formatter_utils->generate_quote( +			censor_text($message_parser->message), +			$quote_attributes +		); + +		$message_parser->message = $quote_text . "\n\n"; +	} +	else +	{ +		$offset = 0; +		$quote_string = "> "; +		$message = censor_text(trim($message_parser->message)); +		// see if we are nesting. It's easily tricked but should work for one level of nesting +		if (strpos($message, ">") !== false) +		{ +			$offset = 10; +		} +		$message = utf8_wordwrap($message, 75 + $offset, "\n"); + +		$message = $quote_string . $message; +		$message = str_replace("\n", "\n" . $quote_string, $message); + +		$message_parser->message = $quote_attributes['author'] . " " . $user->lang['WROTE'] . ":\n" . $message . "\n"; +	} + +	if ($message_link) +	{ +		$message_parser->message = $message_link . $message_parser->message; +	} +} | 
