aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/textformatter/utils_interface.php
blob: 4b7392976a47b7d5568daa422efe3f6283de5a94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/

namespace phpbb\textformatter;

/**
* Used to manipulate a parsed text
*/
interface utils_interface
{
	/**
	* Replace BBCodes and other formatting elements with whitespace
	*
	* NOTE: preserves smilies as text
	*
	* @param  string $text Parsed text
	* @return string       Plain text
	*/
	public function clean_formatting($text);

	/**
	* Create a quote block for given text
	*
	* Possible attributes:
	*   - author:  author's name (usually a username)
	*   - post_id: post_id of the post being quoted
	*   - user_id: user_id of the user being quoted
	*   - time:    timestamp of the original message
	*
	* @param  string $text       Quote's text
	* @param  array  $attributes Quote's attributes
	* @return string             Quote block to be used in a new post/text
	*/
	public function generate_quote($text, array $attributes = array());

	/**
	* Get a list of quote authors, limited to the outermost quotes
	*
	* @param  string   $text Parsed text
	* @return string[]       List of authors
	*/
	public function get_outermost_quote_authors($text);

	/**
	* Remove given BBCode and its content, at given nesting depth
	*
	* @param  string  $text        Parsed text
	* @param  string  $bbcode_name BBCode's name
	* @param  integer $depth       Minimum nesting depth (number of parents of the same name)
	* @return string               Parsed text
	*/
	public function remove_bbcode($text, $bbcode_name, $depth = 0);

	/**
	 * Return a parsed text to its original form
	 *
	 * @param  string $text Parsed text
	 * @return string       Original plain text
	 */
	public function unparse($text);

	/**
	 * Return whether or not a parsed text represent an empty text.
	 *
	 * @param  string $text Parsed text
	 * @return bool         Tue if the original text is empty
	 */
	public function is_empty($text);
}