13
13
namespace chillerlan \bbcode \Modules \DB ;
14
14
15
15
use chillerlan \bbcode \BBTemp ;
16
- use chillerlan \bbcode \Modules \Html5 \{Html5BaseModule , Code , Containers , Expanders , Images , Links , Lists ,
17
- Noparse , Simpletext , Singletags , StyledText , Tables , Video };
18
- use chillerlan \Database \DBOptions ;
16
+ use chillerlan \bbcode \Modules \Markup \MarkupBaseModule ;
19
17
use chillerlan \Database \Traits \DatabaseTrait ;
20
18
21
19
/**
22
20
*
23
21
*/
24
- class DBBaseModule extends Html5BaseModule {
22
+ class DBBaseModule extends MarkupBaseModule {
25
23
use DatabaseTrait;
26
24
27
25
/**
@@ -32,20 +30,32 @@ class DBBaseModule extends Html5BaseModule{
32
30
*/
33
31
protected $ modules = [
34
32
DBTags::class,
35
- Code::class,
36
- Containers::class,
37
- Expanders::class,
38
- # Images::class,
39
- # Links::class,
40
- Lists::class,
41
- Noparse::class,
42
- # Simpletext::class,
43
- # Singletags::class,
44
- # StyledText::class,
45
- Tables::class,
46
- Video::class,
47
33
];
48
34
35
+ /**
36
+ * An array of tags the module is able to process
37
+ *
38
+ * @var array
39
+ * @see \chillerlan\bbcode\Modules\Tagmap::$tags
40
+ */
41
+ protected $ tags = [];
42
+
43
+ /**
44
+ * An optional array of tags contained in self::$tags which are marked as "noparse"
45
+ *
46
+ * @var array
47
+ * @see \chillerlan\bbcode\Modules\Tagmap::$noparse_tags
48
+ */
49
+ protected $ noparse_tags = [];
50
+
51
+ /**
52
+ * An optional array of tags contained in self::$tags which are marked as "single tag"
53
+ *
54
+ * @var array
55
+ * @see \chillerlan\bbcode\Modules\Tagmap::$singletags
56
+ */
57
+ protected $ singletags = [];
58
+
49
59
/**
50
60
* @var \chillerlan\Database\Drivers\DBDriverInterface
51
61
*/
@@ -59,10 +69,33 @@ class DBBaseModule extends Html5BaseModule{
59
69
public function __construct (BBTemp $ bbtemp = null ){
60
70
parent ::__construct ($ bbtemp );
61
71
72
+ $ this ->tags = [];
73
+ $ this ->noparse_tags = [];
74
+ $ this ->singletags = [];
75
+
62
76
if ($ this ->parserOptions && $ this ->parserOptions ->DBDriver ){
63
77
$ this ->DBDriverInterface = $ this ->dbconnect ($ this ->parserOptions ->DBDriver , $ this ->parserOptions ->DBOptions );
64
78
}
65
79
66
80
}
67
81
82
+ /**
83
+ * Holds the current base module's EOL token which will replace any newlines
84
+ *
85
+ * @var string
86
+ * @see \chillerlan\bbcode\Modules\ModuleInfo::$eol_token
87
+ */
88
+ protected $ eol_token = '<br /> ' ;
89
+
90
+ /**
91
+ * Sanitizes the content to prevent vulnerabilities or compatibility problems
92
+ *
93
+ * @param $content string to sanitize
94
+ *
95
+ * @return string
96
+ */
97
+ public function sanitize (string $ content ):string {
98
+ return htmlspecialchars ($ content , ENT_NOQUOTES | ENT_SUBSTITUTE | ENT_DISALLOWED | ENT_HTML5 , 'UTF-8 ' , false );
99
+ }
100
+
68
101
}
0 commit comments