This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include
, or for example
via PHP's auto-loading mechanism.
1 | <?php declare(strict_types=1); |
||
2 | |||
3 | /** |
||
4 | * CBB 4.0, or newbb, the forum module for XOOPS project |
||
5 | * |
||
6 | * @copyright XOOPS Project (https://xoops.org) |
||
7 | * @license GNU GPL 2.0 or later (https://www.gnu.org/licenses/gpl-2.0.html) |
||
8 | * @author Taiwen Jiang (phppp or D.J.) <[email protected]> |
||
9 | * @since 4.00 |
||
10 | */ |
||
11 | |||
12 | use XoopsModules\Newbb\IconHandler; |
||
0 ignored issues
–
show
|
|||
13 | use XoopsModules\Smartfaq; |
||
14 | |||
15 | defined('NEWBB_FUNCTIONS_INI') || require __DIR__ . '/functions.ini.php'; |
||
16 | define('NEWBB_FUNCTIONS_RENDER_LOADED', true); |
||
17 | |||
18 | if (!defined('NEWBB_FUNCTIONS_RENDER')) : |
||
19 | define('NEWBB_FUNCTIONS_RENDER', 1); |
||
20 | |||
21 | /* |
||
22 | * Sorry, we have to use the stupid solution unless there is an option in MyTextSanitizer:: htmlspecialchars(); |
||
23 | */ |
||
24 | /** |
||
25 | * @param $text |
||
26 | * @return mixed |
||
27 | */ |
||
28 | function sf_htmlSpecialChars($text) |
||
29 | { |
||
30 | return preg_replace(['/&/i', '/ /i'], ['&', '&nbsp;'], htmlspecialchars($text, ENT_QUOTES)); |
||
31 | } |
||
32 | |||
33 | /** |
||
34 | * @param int $html |
||
35 | * @param int $smiley |
||
36 | * @param int $xcode |
||
37 | * @param int $image |
||
38 | * @param int $br |
||
39 | * @param mixed $text |
||
40 | * @return mixed |
||
41 | */ |
||
42 | function &sf_displayTarea(&$text, $html = 0, $smiley = 1, $xcode = 1, $image = 1, $br = 1) |
||
43 | { |
||
44 | global $myts; |
||
45 | |||
46 | if (1 != $html) { |
||
47 | // html not allowed |
||
48 | $text = sf_htmlSpecialChars($text); |
||
49 | } |
||
50 | $text = $myts->codePreConv($text, $xcode); // Ryuji_edit(2003-11-18) |
||
51 | $text = $myts->makeClickable($text); |
||
52 | if (0 != $smiley) { |
||
53 | // process smiley |
||
54 | $text = $myts->smiley($text); |
||
55 | } |
||
56 | if (0 != $xcode) { |
||
57 | // decode xcode |
||
58 | if (0 != $image) { |
||
59 | // image allowed |
||
60 | $text = &$myts->xoopsCodeDecode($text); |
||
61 | } else { |
||
62 | // image not allowed |
||
63 | $text = &$myts->xoopsCodeDecode($text, 0); |
||
64 | } |
||
65 | } |
||
66 | if (0 != $br) { |
||
67 | $text = &$myts->nl2Br($text); |
||
68 | } |
||
69 | $text = $myts->codeConv($text, $xcode, $image); // Ryuji_edit(2003-11-18) |
||
70 | |||
71 | return $text; |
||
72 | } |
||
73 | |||
74 | /** |
||
75 | * @param $document |
||
76 | * @return string |
||
77 | */ |
||
78 | function sf_html2text($document) |
||
79 | { |
||
80 | $text = strip_tags($document); |
||
81 | |||
82 | return $text; |
||
83 | } |
||
84 | |||
85 | /** |
||
86 | * Display forrum button |
||
87 | * |
||
88 | * @param string $link |
||
89 | * @param string $button image/button name, without extension |
||
90 | * @param string $alt alt message |
||
91 | * @param bool $asImage true for image mode; false for text mode |
||
92 | * @param string $extra extra attribute for the button |
||
93 | * @return mixed |
||
94 | */ |
||
95 | function sf_getButton($link, $button, $alt = '', $asImage = true, $extra = "class='forum_button'") |
||
96 | { |
||
97 | $button = "<input type='button' name='{$button}' {$extra} value='{$alt}' onclick='window.location.href={$link}'>"; |
||
98 | if (empty($asImage)) { |
||
99 | $button = "<a href='{$link}' title='{$alt}' {$extra}>" . sf_displayImage($button, $alt, true) . '</a>'; |
||
100 | } |
||
101 | |||
102 | return $button; |
||
103 | } |
||
104 | |||
105 | /** |
||
106 | * Display forrum images |
||
107 | * |
||
108 | * @param string $image image name, without extension |
||
109 | * @param string $alt alt message |
||
110 | * @param bool $display true for return image anchor; faulse for assign to $xoopsTpl |
||
111 | * @param string $extra extra attribute for the image |
||
112 | * @return mixed |
||
113 | */ |
||
114 | function sf_displayImage($image, $alt = '', $display = true, $extra = "class='forum_icon'") |
||
115 | { |
||
116 | $iconHandler = sf_getIconHandler(); |
||
117 | // START hacked by irmtfan |
||
118 | // to show text links instead of buttons - func_num_args()==2 => only when $image, $alt is set and optional $display not set |
||
119 | /** @var Smartfaq\Helper $helper */ |
||
120 | $helper = Smartfaq\Helper::getInstance(); |
||
121 | |||
122 | if (2 == func_num_args()) { |
||
123 | // overall setting |
||
124 | if (!empty($helper->getConfig('display_text_links'))) { |
||
125 | $display = false; |
||
126 | } |
||
127 | // if set for each link => overwrite $display |
||
128 | if (null !== $helper->getConfig('display_text_each_link')[$image]) { |
||
129 | $display = empty($helper->getConfig('display_text_each_link')[$image]); |
||
130 | } |
||
131 | } |
||
132 | // END hacked by irmtfan |
||
133 | if (empty($display)) { |
||
134 | return $iconHandler->assignImage($image, $alt, $extra); |
||
135 | } |
||
136 | |||
137 | return $iconHandler->getImage($image, $alt, $extra); |
||
138 | } |
||
139 | |||
140 | /** |
||
141 | * @return \XoopsModules\Newbb\IconHandler |
||
142 | */ |
||
143 | function sf_getIconHandler() |
||
144 | { |
||
145 | global $xoTheme, $xoopsConfig; |
||
146 | static $iconHandler; |
||
147 | |||
148 | if (isset($iconHandler)) { |
||
149 | return $iconHandler; |
||
150 | } |
||
151 | /* |
||
152 | if (!class_exists('NewbbIconHandler')) { |
||
153 | // require_once \dirname(__DIR__) . '/class/icon.php'; |
||
154 | } |
||
155 | */ |
||
156 | $iconHandler = IconHandler::getInstance(); |
||
157 | $iconHandler->template = $xoTheme->template; |
||
158 | $iconHandler->init($xoopsConfig['language']); |
||
159 | |||
160 | return $iconHandler; |
||
161 | } |
||
162 | |||
163 | endif; |
||
164 |
The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g.
excluded_paths: ["lib/*"]
, you can move it to the dependency path list as follows:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths