@@ -17,198 +17,198 @@ |
||
17 | 17 | define('NEWBB_FUNCTIONS_FORUM_LOADED', true); |
18 | 18 | |
19 | 19 | if (!defined('NEWBB_FUNCTIONS_FORUM')) { |
20 | - define('NEWBB_FUNCTIONS_FORUM', 1); |
|
21 | - |
|
22 | - /** |
|
23 | - * @param null|array $value selected forum id |
|
24 | - * @param string $permission permission (access, all, etc.) |
|
25 | - * @param bool $categoryDelimiter show delimiter between categories |
|
26 | - * @param bool $see |
|
27 | - * @return string |
|
28 | - */ |
|
29 | - function newbbForumSelectBox($value = null, $permission = 'access', $categoryDelimiter = true, $see = false) |
|
30 | - { |
|
31 | - global $xoopsUser; |
|
32 | - /** @var Newbb\CategoryHandler $categoryHandler */ |
|
33 | - $categoryHandler = Newbb\Helper::getInstance()->getHandler('Category'); |
|
34 | - $categories = $categoryHandler->getByPermission($permission, ['cat_id', 'cat_order', 'cat_title'], false); |
|
35 | - |
|
36 | - $cacheHelper = new \Xmf\Module\Helper\Cache('newbb'); |
|
37 | - |
|
38 | - $groups = [XOOPS_GROUP_ANONYMOUS]; |
|
39 | - if (is_object($xoopsUser)) { |
|
40 | - $groups = $xoopsUser->getGroups(); |
|
41 | - } |
|
42 | - sort($groups); |
|
43 | - $groupKey = 'forumselect_' . $permission . '_' . md5(implode(',', $groups)); |
|
44 | - $forums = $cacheHelper->cacheRead($groupKey, function () use ($categories, $permission) { |
|
45 | - /** @var Newbb\CategoryHandler $categoryHandler */ |
|
46 | - $categoryHandler = Newbb\Helper::getInstance()->getHandler('Category'); |
|
47 | - $categories = $categoryHandler->getByPermission($permission, ['cat_id', 'cat_order', 'cat_title'], false); |
|
48 | - |
|
49 | - /** @var Newbb\ForumHandler $forumHandler */ |
|
50 | - $forumHandler = Newbb\Helper::getInstance()->getHandler('Forum'); |
|
51 | - $forums = $forumHandler->getTree(array_keys($categories), 0, 'all'); |
|
52 | - |
|
53 | - return $forums; |
|
54 | - }, 300); |
|
55 | - |
|
56 | - $value = is_array($value) ? $value : [$value]; |
|
57 | - //$see = is_array($see) ? $see : array($see); |
|
58 | - $box = ''; |
|
59 | - if (count($forums) > 0) { |
|
60 | - foreach (array_keys($categories) as $key) { |
|
61 | - if ($categoryDelimiter) { |
|
62 | - $box .= "<option value=0> </option>\n"; |
|
63 | - } |
|
64 | - $box .= "<option value='" . (-1 * $key) . "'>[" . $categories[$key]['cat_title'] . "]</option>\n"; |
|
65 | - if (empty($forums[$key])) { |
|
66 | - continue; |
|
67 | - } |
|
68 | - foreach ($forums[$key] as $f => $forum) { |
|
69 | - if ($see && in_array($f, $value)) { |
|
70 | - continue; |
|
71 | - } |
|
72 | - $box .= "<option value='{$f}' " . (in_array($f, $value) ? ' selected' : '') . '>' . $forum['prefix'] . $forum['forum_name'] . "</option>\n"; |
|
73 | - } |
|
74 | - } |
|
75 | - } else { |
|
76 | - $box .= '<option value=0>' . _MD_NEWBB_NOFORUMINDB . "</option>\n"; |
|
77 | - } |
|
78 | - unset($forums, $categories); |
|
79 | - |
|
80 | - return $box; |
|
81 | - } |
|
82 | - |
|
83 | - /** |
|
84 | - * @param int $forum_id |
|
85 | - * @return string |
|
86 | - */ |
|
87 | - function newbbMakeJumpbox($forum_id = 0) |
|
88 | - { |
|
89 | - $box = '<form name="forum_jumpbox" method="get" action="' . XOOPS_URL . '/modules/newbb/viewforum.php" onsubmit="javascript: if (document.forum_jumpbox.forum.value < 1) {return false;}">'; |
|
90 | - $box .= '<select class="select" name="forum" onchange="if (this.options[this.selectedIndex].value >0) { document.forms.forum_jumpbox.submit();}">'; |
|
91 | - $box .= '<option value=0>-- ' . _MD_NEWBB_SELFORUM . ' --</option>'; |
|
92 | - $box .= newbbForumSelectBox($forum_id); |
|
93 | - $box .= "</select> <input type='submit' class='button' value='" . _GO . "' /></form>"; |
|
94 | - unset($forums, $categories); |
|
95 | - |
|
96 | - return $box; |
|
97 | - } |
|
98 | - |
|
99 | - /** |
|
100 | - * Get structured forums |
|
101 | - * |
|
102 | - * This is a temporary solution |
|
103 | - * To be substituted with a new tree handler |
|
104 | - * |
|
105 | - * @int integer $pid parent forum ID |
|
106 | - * |
|
107 | - * @param int $pid |
|
108 | - * @param bool $refresh |
|
109 | - * @return array |
|
110 | - */ |
|
111 | - function newbbGetSubForum($pid = 0, $refresh = false) |
|
112 | - { |
|
113 | - static $list; |
|
114 | - if (null === $list) { |
|
115 | - $cacheHelper = new \Xmf\Module\Helper\Cache('newbb'); |
|
116 | - $list = $cacheHelper->read('forum_sub'); |
|
117 | - } |
|
118 | - |
|
119 | - if (!is_array($list) || $refresh) { |
|
120 | - $list = newbbCreateSubForumList(); |
|
121 | - } |
|
122 | - if (0 == $pid) { |
|
123 | - return $list; |
|
124 | - } else { |
|
125 | - return @$list[$pid]; |
|
126 | - } |
|
127 | - } |
|
128 | - |
|
129 | - /** |
|
130 | - * @return array |
|
131 | - */ |
|
132 | - function newbbCreateSubForumList() |
|
133 | - { |
|
134 | - /** @var Newbb\ForumHandler $forumHandler */ |
|
20 | + define('NEWBB_FUNCTIONS_FORUM', 1); |
|
21 | + |
|
22 | + /** |
|
23 | + * @param null|array $value selected forum id |
|
24 | + * @param string $permission permission (access, all, etc.) |
|
25 | + * @param bool $categoryDelimiter show delimiter between categories |
|
26 | + * @param bool $see |
|
27 | + * @return string |
|
28 | + */ |
|
29 | + function newbbForumSelectBox($value = null, $permission = 'access', $categoryDelimiter = true, $see = false) |
|
30 | + { |
|
31 | + global $xoopsUser; |
|
32 | + /** @var Newbb\CategoryHandler $categoryHandler */ |
|
33 | + $categoryHandler = Newbb\Helper::getInstance()->getHandler('Category'); |
|
34 | + $categories = $categoryHandler->getByPermission($permission, ['cat_id', 'cat_order', 'cat_title'], false); |
|
35 | + |
|
36 | + $cacheHelper = new \Xmf\Module\Helper\Cache('newbb'); |
|
37 | + |
|
38 | + $groups = [XOOPS_GROUP_ANONYMOUS]; |
|
39 | + if (is_object($xoopsUser)) { |
|
40 | + $groups = $xoopsUser->getGroups(); |
|
41 | + } |
|
42 | + sort($groups); |
|
43 | + $groupKey = 'forumselect_' . $permission . '_' . md5(implode(',', $groups)); |
|
44 | + $forums = $cacheHelper->cacheRead($groupKey, function () use ($categories, $permission) { |
|
45 | + /** @var Newbb\CategoryHandler $categoryHandler */ |
|
46 | + $categoryHandler = Newbb\Helper::getInstance()->getHandler('Category'); |
|
47 | + $categories = $categoryHandler->getByPermission($permission, ['cat_id', 'cat_order', 'cat_title'], false); |
|
48 | + |
|
49 | + /** @var Newbb\ForumHandler $forumHandler */ |
|
50 | + $forumHandler = Newbb\Helper::getInstance()->getHandler('Forum'); |
|
51 | + $forums = $forumHandler->getTree(array_keys($categories), 0, 'all'); |
|
52 | + |
|
53 | + return $forums; |
|
54 | + }, 300); |
|
55 | + |
|
56 | + $value = is_array($value) ? $value : [$value]; |
|
57 | + //$see = is_array($see) ? $see : array($see); |
|
58 | + $box = ''; |
|
59 | + if (count($forums) > 0) { |
|
60 | + foreach (array_keys($categories) as $key) { |
|
61 | + if ($categoryDelimiter) { |
|
62 | + $box .= "<option value=0> </option>\n"; |
|
63 | + } |
|
64 | + $box .= "<option value='" . (-1 * $key) . "'>[" . $categories[$key]['cat_title'] . "]</option>\n"; |
|
65 | + if (empty($forums[$key])) { |
|
66 | + continue; |
|
67 | + } |
|
68 | + foreach ($forums[$key] as $f => $forum) { |
|
69 | + if ($see && in_array($f, $value)) { |
|
70 | + continue; |
|
71 | + } |
|
72 | + $box .= "<option value='{$f}' " . (in_array($f, $value) ? ' selected' : '') . '>' . $forum['prefix'] . $forum['forum_name'] . "</option>\n"; |
|
73 | + } |
|
74 | + } |
|
75 | + } else { |
|
76 | + $box .= '<option value=0>' . _MD_NEWBB_NOFORUMINDB . "</option>\n"; |
|
77 | + } |
|
78 | + unset($forums, $categories); |
|
79 | + |
|
80 | + return $box; |
|
81 | + } |
|
82 | + |
|
83 | + /** |
|
84 | + * @param int $forum_id |
|
85 | + * @return string |
|
86 | + */ |
|
87 | + function newbbMakeJumpbox($forum_id = 0) |
|
88 | + { |
|
89 | + $box = '<form name="forum_jumpbox" method="get" action="' . XOOPS_URL . '/modules/newbb/viewforum.php" onsubmit="javascript: if (document.forum_jumpbox.forum.value < 1) {return false;}">'; |
|
90 | + $box .= '<select class="select" name="forum" onchange="if (this.options[this.selectedIndex].value >0) { document.forms.forum_jumpbox.submit();}">'; |
|
91 | + $box .= '<option value=0>-- ' . _MD_NEWBB_SELFORUM . ' --</option>'; |
|
92 | + $box .= newbbForumSelectBox($forum_id); |
|
93 | + $box .= "</select> <input type='submit' class='button' value='" . _GO . "' /></form>"; |
|
94 | + unset($forums, $categories); |
|
95 | + |
|
96 | + return $box; |
|
97 | + } |
|
98 | + |
|
99 | + /** |
|
100 | + * Get structured forums |
|
101 | + * |
|
102 | + * This is a temporary solution |
|
103 | + * To be substituted with a new tree handler |
|
104 | + * |
|
105 | + * @int integer $pid parent forum ID |
|
106 | + * |
|
107 | + * @param int $pid |
|
108 | + * @param bool $refresh |
|
109 | + * @return array |
|
110 | + */ |
|
111 | + function newbbGetSubForum($pid = 0, $refresh = false) |
|
112 | + { |
|
113 | + static $list; |
|
114 | + if (null === $list) { |
|
115 | + $cacheHelper = new \Xmf\Module\Helper\Cache('newbb'); |
|
116 | + $list = $cacheHelper->read('forum_sub'); |
|
117 | + } |
|
118 | + |
|
119 | + if (!is_array($list) || $refresh) { |
|
120 | + $list = newbbCreateSubForumList(); |
|
121 | + } |
|
122 | + if (0 == $pid) { |
|
123 | + return $list; |
|
124 | + } else { |
|
125 | + return @$list[$pid]; |
|
126 | + } |
|
127 | + } |
|
128 | + |
|
129 | + /** |
|
130 | + * @return array |
|
131 | + */ |
|
132 | + function newbbCreateSubForumList() |
|
133 | + { |
|
134 | + /** @var Newbb\ForumHandler $forumHandler */ |
|
135 | 135 | // $forumHandler = Newbb\Helper::getInstance()->getHandler('Forum'); |
136 | - $forumHandler = Newbb\Helper::getInstance()->getHandler('Forum'); |
|
137 | - $criteria = new \CriteriaCompo(null, 1); |
|
138 | - $criteria->setSort('cat_id ASC, parent_forum ASC, forum_order'); |
|
139 | - $criteria->setOrder('ASC'); |
|
140 | - $forumsObject = $forumHandler->getObjects($criteria); |
|
136 | + $forumHandler = Newbb\Helper::getInstance()->getHandler('Forum'); |
|
137 | + $criteria = new \CriteriaCompo(null, 1); |
|
138 | + $criteria->setSort('cat_id ASC, parent_forum ASC, forum_order'); |
|
139 | + $criteria->setOrder('ASC'); |
|
140 | + $forumsObject = $forumHandler->getObjects($criteria); |
|
141 | 141 | // require_once $GLOBALS['xoops']->path('modules/newbb/class/Tree.php'); |
142 | - $tree = new Newbb\ObjectTree($forumsObject, 'forum_id', 'parent_forum'); |
|
143 | - $forum_array = []; |
|
144 | - foreach (array_keys($forumsObject) as $key) { |
|
145 | - if (!$child = array_keys($tree->getAllChild($forumsObject[$key]->getVar('forum_id')))) { |
|
146 | - continue; |
|
147 | - } |
|
148 | - $forum_array[$forumsObject[$key]->getVar('forum_id')] = $child; |
|
149 | - } |
|
150 | - unset($forumsObject, $tree, $criteria); |
|
151 | - |
|
152 | - $cacheHelper = new \Xmf\Module\Helper\Cache('newbb'); |
|
153 | - $cacheHelper->write('forum_sub', $forum_array); |
|
154 | - |
|
155 | - return $forum_array; |
|
156 | - } |
|
157 | - |
|
158 | - /** |
|
159 | - * @param int $forum_id |
|
160 | - * @param bool $refresh |
|
161 | - * @return array|mixed|null |
|
162 | - */ |
|
163 | - function newbbGetParentForum($forum_id = 0, $refresh = false) |
|
164 | - { |
|
165 | - static $list = null; |
|
166 | - |
|
167 | - if (null === $list) { |
|
168 | - $cacheHelper = new \Xmf\Module\Helper\Cache('newbb'); |
|
169 | - $list = $cacheHelper->read('forum_parent'); |
|
170 | - } |
|
171 | - if (!is_array($list) || $refresh) { |
|
172 | - $list = newbbCreateParentForumList(); |
|
173 | - } |
|
174 | - if (0 == $forum_id) { |
|
175 | - return $list; |
|
176 | - } else { |
|
177 | - return @$list[$forum_id]; |
|
178 | - } |
|
179 | - } |
|
180 | - |
|
181 | - /** |
|
182 | - * @return array |
|
183 | - */ |
|
184 | - function newbbCreateParentForumList() |
|
185 | - { |
|
186 | - /** @var Newbb\ForumHandler $forumHandler */ |
|
187 | - $forumHandler = Newbb\Helper::getInstance()->getHandler('Forum'); |
|
188 | - $criteria = new \Criteria('1', 1); |
|
189 | - $criteria->setSort('parent_forum'); |
|
190 | - $criteria->setOrder('ASC'); |
|
191 | - $forumsObject = $forumHandler->getObjects($criteria); |
|
142 | + $tree = new Newbb\ObjectTree($forumsObject, 'forum_id', 'parent_forum'); |
|
143 | + $forum_array = []; |
|
144 | + foreach (array_keys($forumsObject) as $key) { |
|
145 | + if (!$child = array_keys($tree->getAllChild($forumsObject[$key]->getVar('forum_id')))) { |
|
146 | + continue; |
|
147 | + } |
|
148 | + $forum_array[$forumsObject[$key]->getVar('forum_id')] = $child; |
|
149 | + } |
|
150 | + unset($forumsObject, $tree, $criteria); |
|
151 | + |
|
152 | + $cacheHelper = new \Xmf\Module\Helper\Cache('newbb'); |
|
153 | + $cacheHelper->write('forum_sub', $forum_array); |
|
154 | + |
|
155 | + return $forum_array; |
|
156 | + } |
|
157 | + |
|
158 | + /** |
|
159 | + * @param int $forum_id |
|
160 | + * @param bool $refresh |
|
161 | + * @return array|mixed|null |
|
162 | + */ |
|
163 | + function newbbGetParentForum($forum_id = 0, $refresh = false) |
|
164 | + { |
|
165 | + static $list = null; |
|
166 | + |
|
167 | + if (null === $list) { |
|
168 | + $cacheHelper = new \Xmf\Module\Helper\Cache('newbb'); |
|
169 | + $list = $cacheHelper->read('forum_parent'); |
|
170 | + } |
|
171 | + if (!is_array($list) || $refresh) { |
|
172 | + $list = newbbCreateParentForumList(); |
|
173 | + } |
|
174 | + if (0 == $forum_id) { |
|
175 | + return $list; |
|
176 | + } else { |
|
177 | + return @$list[$forum_id]; |
|
178 | + } |
|
179 | + } |
|
180 | + |
|
181 | + /** |
|
182 | + * @return array |
|
183 | + */ |
|
184 | + function newbbCreateParentForumList() |
|
185 | + { |
|
186 | + /** @var Newbb\ForumHandler $forumHandler */ |
|
187 | + $forumHandler = Newbb\Helper::getInstance()->getHandler('Forum'); |
|
188 | + $criteria = new \Criteria('1', 1); |
|
189 | + $criteria->setSort('parent_forum'); |
|
190 | + $criteria->setOrder('ASC'); |
|
191 | + $forumsObject = $forumHandler->getObjects($criteria); |
|
192 | 192 | // require_once $GLOBALS['xoops']->path('modules/newbb/class/Tree.php'); |
193 | - $tree = new Newbb\ObjectTree($forumsObject, 'forum_id', 'parent_forum'); |
|
194 | - $forum_array = []; |
|
195 | - foreach (array_keys($forumsObject) as $key) { |
|
196 | - $parent_forum = $forumsObject[$key]->getVar('parent_forum'); |
|
197 | - if (!$parent_forum) { |
|
198 | - continue; |
|
199 | - } |
|
200 | - if (isset($forum_array[$parent_forum])) { |
|
201 | - $forum_array[$forumsObject[$key]->getVar('forum_id')] = $forum_array[$parent_forum]; |
|
202 | - $forum_array[$forumsObject[$key]->getVar('forum_id')][] = $parent_forum; |
|
203 | - } else { |
|
204 | - $forum_array[$forumsObject[$key]->getVar('forum_id')] = $tree->getParentForums($forumsObject[$key]->getVar('forum_id')); |
|
205 | - } |
|
206 | - } |
|
207 | - unset($forumsObject, $tree, $criteria); |
|
208 | - |
|
209 | - $cacheHelper = new \Xmf\Module\Helper\Cache('newbb'); |
|
210 | - $cacheHelper->write('forum_parent', $forum_array); |
|
211 | - |
|
212 | - return $forum_array; |
|
213 | - } |
|
193 | + $tree = new Newbb\ObjectTree($forumsObject, 'forum_id', 'parent_forum'); |
|
194 | + $forum_array = []; |
|
195 | + foreach (array_keys($forumsObject) as $key) { |
|
196 | + $parent_forum = $forumsObject[$key]->getVar('parent_forum'); |
|
197 | + if (!$parent_forum) { |
|
198 | + continue; |
|
199 | + } |
|
200 | + if (isset($forum_array[$parent_forum])) { |
|
201 | + $forum_array[$forumsObject[$key]->getVar('forum_id')] = $forum_array[$parent_forum]; |
|
202 | + $forum_array[$forumsObject[$key]->getVar('forum_id')][] = $parent_forum; |
|
203 | + } else { |
|
204 | + $forum_array[$forumsObject[$key]->getVar('forum_id')] = $tree->getParentForums($forumsObject[$key]->getVar('forum_id')); |
|
205 | + } |
|
206 | + } |
|
207 | + unset($forumsObject, $tree, $criteria); |
|
208 | + |
|
209 | + $cacheHelper = new \Xmf\Module\Helper\Cache('newbb'); |
|
210 | + $cacheHelper->write('forum_parent', $forum_array); |
|
211 | + |
|
212 | + return $forum_array; |
|
213 | + } |
|
214 | 214 | } |
@@ -21,8 +21,8 @@ discard block |
||
21 | 21 | |
22 | 22 | $moduleDirName = basename(dirname(__DIR__)); |
23 | 23 | $uploadFolders = [ |
24 | - NEWBB_UPLOAD_PATH, |
|
25 | - NEWBB_UPLOAD_PATH . '/thumbs' |
|
24 | + NEWBB_UPLOAD_PATH, |
|
25 | + NEWBB_UPLOAD_PATH . '/thumbs' |
|
26 | 26 | ]; |
27 | 27 | |
28 | 28 | /** |
@@ -30,83 +30,83 @@ discard block |
||
30 | 30 | */ |
31 | 31 | function getConfig() |
32 | 32 | { |
33 | - $moduleDirName = basename(dirname(__DIR__)); |
|
34 | - $moduleDirNameUpper = strtoupper($moduleDirName); |
|
35 | - return (object)[ |
|
36 | - 'name' => strtoupper($moduleDirName) . ' Module Configurator', |
|
37 | - 'paths' => [ |
|
38 | - 'dirname' => $moduleDirName, |
|
39 | - 'admin' => XOOPS_ROOT_PATH . '/modules/' . $moduleDirName . '/admin', |
|
40 | - 'modPath' => XOOPS_ROOT_PATH . '/modules/' . $moduleDirName, |
|
41 | - 'modUrl' => XOOPS_URL . '/modules/' . $moduleDirName, |
|
42 | - 'uploadPath' => XOOPS_UPLOAD_PATH . '/' . $moduleDirName, |
|
43 | - 'uploadUrl' => XOOPS_UPLOAD_URL . '/' . $moduleDirName, |
|
44 | - ], |
|
45 | - 'uploadFolders' => [ |
|
46 | - constant($moduleDirNameUpper . '_UPLOAD_PATH'), |
|
47 | - constant($moduleDirNameUpper . '_UPLOAD_PATH') . '/thumbs', |
|
33 | + $moduleDirName = basename(dirname(__DIR__)); |
|
34 | + $moduleDirNameUpper = strtoupper($moduleDirName); |
|
35 | + return (object)[ |
|
36 | + 'name' => strtoupper($moduleDirName) . ' Module Configurator', |
|
37 | + 'paths' => [ |
|
38 | + 'dirname' => $moduleDirName, |
|
39 | + 'admin' => XOOPS_ROOT_PATH . '/modules/' . $moduleDirName . '/admin', |
|
40 | + 'modPath' => XOOPS_ROOT_PATH . '/modules/' . $moduleDirName, |
|
41 | + 'modUrl' => XOOPS_URL . '/modules/' . $moduleDirName, |
|
42 | + 'uploadPath' => XOOPS_UPLOAD_PATH . '/' . $moduleDirName, |
|
43 | + 'uploadUrl' => XOOPS_UPLOAD_URL . '/' . $moduleDirName, |
|
44 | + ], |
|
45 | + 'uploadFolders' => [ |
|
46 | + constant($moduleDirNameUpper . '_UPLOAD_PATH'), |
|
47 | + constant($moduleDirNameUpper . '_UPLOAD_PATH') . '/thumbs', |
|
48 | 48 | |
49 | - //XOOPS_UPLOAD_PATH . '/flags' |
|
50 | - ], |
|
51 | - 'copyBlankFiles' => [ |
|
52 | - constant($moduleDirNameUpper . '_UPLOAD_PATH'), |
|
53 | - constant($moduleDirNameUpper . '_UPLOAD_PATH') . '/thumbs', |
|
54 | - //XOOPS_UPLOAD_PATH . '/flags' |
|
55 | - ], |
|
49 | + //XOOPS_UPLOAD_PATH . '/flags' |
|
50 | + ], |
|
51 | + 'copyBlankFiles' => [ |
|
52 | + constant($moduleDirNameUpper . '_UPLOAD_PATH'), |
|
53 | + constant($moduleDirNameUpper . '_UPLOAD_PATH') . '/thumbs', |
|
54 | + //XOOPS_UPLOAD_PATH . '/flags' |
|
55 | + ], |
|
56 | 56 | |
57 | - 'copyTestFolders' => [ |
|
58 | - // constant($moduleDirNameUpper . '_UPLOAD_PATH'), |
|
59 | - //[ |
|
60 | - // constant($moduleDirNameUpper . '_PATH') . '/testdata/images', |
|
61 | - // constant($moduleDirNameUpper . '_UPLOAD_PATH') . '/images', |
|
62 | - //] |
|
63 | - ], |
|
57 | + 'copyTestFolders' => [ |
|
58 | + // constant($moduleDirNameUpper . '_UPLOAD_PATH'), |
|
59 | + //[ |
|
60 | + // constant($moduleDirNameUpper . '_PATH') . '/testdata/images', |
|
61 | + // constant($moduleDirNameUpper . '_UPLOAD_PATH') . '/images', |
|
62 | + //] |
|
63 | + ], |
|
64 | 64 | |
65 | - 'templateFolders' => [ |
|
66 | - '/templates/', |
|
67 | - '/templates/blocks/', |
|
68 | - '/templates/admin/' |
|
65 | + 'templateFolders' => [ |
|
66 | + '/templates/', |
|
67 | + '/templates/blocks/', |
|
68 | + '/templates/admin/' |
|
69 | 69 | |
70 | - ], |
|
71 | - 'oldFiles' => [ |
|
72 | - '/class/request.php', |
|
73 | - '/class/registry.php', |
|
74 | - '/class/utilities.php', |
|
75 | - '/class/util.php', |
|
76 | - // '/include/constants.php', |
|
77 | - // '/include/functions.php', |
|
78 | - '/ajaxrating.txt', |
|
79 | - ], |
|
80 | - 'oldFolders' => [ |
|
81 | - '/images', |
|
82 | - '/css', |
|
83 | - '/js', |
|
84 | - '/tcpdf', |
|
85 | - '/images', |
|
86 | - ], |
|
70 | + ], |
|
71 | + 'oldFiles' => [ |
|
72 | + '/class/request.php', |
|
73 | + '/class/registry.php', |
|
74 | + '/class/utilities.php', |
|
75 | + '/class/util.php', |
|
76 | + // '/include/constants.php', |
|
77 | + // '/include/functions.php', |
|
78 | + '/ajaxrating.txt', |
|
79 | + ], |
|
80 | + 'oldFolders' => [ |
|
81 | + '/images', |
|
82 | + '/css', |
|
83 | + '/js', |
|
84 | + '/tcpdf', |
|
85 | + '/images', |
|
86 | + ], |
|
87 | 87 | |
88 | - 'renameTables' => [ |
|
89 | - 'bb_archive' => 'newbb_archive', |
|
90 | - 'bb_categories' => 'newbb_categories', |
|
91 | - 'bb_votedata' => 'newbb_votedata', |
|
92 | - 'bb_forums' => 'newbb_forums', |
|
93 | - 'bb_posts' => 'newbb_posts', |
|
94 | - 'bb_posts_text' => 'newbb_posts_text', |
|
95 | - 'bb_topics' => 'newbb_topics', |
|
96 | - 'bb_online' => 'newbb_online', |
|
97 | - 'bb_digest' => 'newbb_digest', |
|
98 | - 'bb_report' => 'newbb_report', |
|
99 | - 'bb_attachments' => 'newbb_attachments', |
|
100 | - 'bb_moderates' => 'newbb_moderates', |
|
101 | - 'bb_reads_forum' => 'newbb_reads_forum', |
|
102 | - 'bb_reads_topic' => 'newbb_reads_topic', |
|
103 | - 'bb_type' => 'newbb_type', |
|
104 | - 'bb_type_forum' => 'newbb_type_forum', |
|
105 | - 'bb_stats' => 'newbb_stats', |
|
106 | - 'bb_user_stats' => 'newbb_user_stats', |
|
107 | - ], |
|
88 | + 'renameTables' => [ |
|
89 | + 'bb_archive' => 'newbb_archive', |
|
90 | + 'bb_categories' => 'newbb_categories', |
|
91 | + 'bb_votedata' => 'newbb_votedata', |
|
92 | + 'bb_forums' => 'newbb_forums', |
|
93 | + 'bb_posts' => 'newbb_posts', |
|
94 | + 'bb_posts_text' => 'newbb_posts_text', |
|
95 | + 'bb_topics' => 'newbb_topics', |
|
96 | + 'bb_online' => 'newbb_online', |
|
97 | + 'bb_digest' => 'newbb_digest', |
|
98 | + 'bb_report' => 'newbb_report', |
|
99 | + 'bb_attachments' => 'newbb_attachments', |
|
100 | + 'bb_moderates' => 'newbb_moderates', |
|
101 | + 'bb_reads_forum' => 'newbb_reads_forum', |
|
102 | + 'bb_reads_topic' => 'newbb_reads_topic', |
|
103 | + 'bb_type' => 'newbb_type', |
|
104 | + 'bb_type_forum' => 'newbb_type_forum', |
|
105 | + 'bb_stats' => 'newbb_stats', |
|
106 | + 'bb_user_stats' => 'newbb_user_stats', |
|
107 | + ], |
|
108 | 108 | |
109 | - 'modCopyright' => "<a href='https://xoops.org' title='XOOPS Project' target='_blank'> |
|
109 | + 'modCopyright' => "<a href='https://xoops.org' title='XOOPS Project' target='_blank'> |
|
110 | 110 | <img src='" . constant($moduleDirNameUpper . '_AUTHOR_LOGOIMG') . '\' alt=\'XOOPS Project\' /></a>', |
111 | - ]; |
|
111 | + ]; |
|
112 | 112 | } |
@@ -22,7 +22,7 @@ discard block |
||
22 | 22 | $moduleDirName = basename(dirname(__DIR__)); |
23 | 23 | $uploadFolders = [ |
24 | 24 | NEWBB_UPLOAD_PATH, |
25 | - NEWBB_UPLOAD_PATH . '/thumbs' |
|
25 | + NEWBB_UPLOAD_PATH.'/thumbs' |
|
26 | 26 | ]; |
27 | 27 | |
28 | 28 | /** |
@@ -33,24 +33,24 @@ discard block |
||
33 | 33 | $moduleDirName = basename(dirname(__DIR__)); |
34 | 34 | $moduleDirNameUpper = strtoupper($moduleDirName); |
35 | 35 | return (object)[ |
36 | - 'name' => strtoupper($moduleDirName) . ' Module Configurator', |
|
36 | + 'name' => strtoupper($moduleDirName).' Module Configurator', |
|
37 | 37 | 'paths' => [ |
38 | 38 | 'dirname' => $moduleDirName, |
39 | - 'admin' => XOOPS_ROOT_PATH . '/modules/' . $moduleDirName . '/admin', |
|
40 | - 'modPath' => XOOPS_ROOT_PATH . '/modules/' . $moduleDirName, |
|
41 | - 'modUrl' => XOOPS_URL . '/modules/' . $moduleDirName, |
|
42 | - 'uploadPath' => XOOPS_UPLOAD_PATH . '/' . $moduleDirName, |
|
43 | - 'uploadUrl' => XOOPS_UPLOAD_URL . '/' . $moduleDirName, |
|
39 | + 'admin' => XOOPS_ROOT_PATH.'/modules/'.$moduleDirName.'/admin', |
|
40 | + 'modPath' => XOOPS_ROOT_PATH.'/modules/'.$moduleDirName, |
|
41 | + 'modUrl' => XOOPS_URL.'/modules/'.$moduleDirName, |
|
42 | + 'uploadPath' => XOOPS_UPLOAD_PATH.'/'.$moduleDirName, |
|
43 | + 'uploadUrl' => XOOPS_UPLOAD_URL.'/'.$moduleDirName, |
|
44 | 44 | ], |
45 | 45 | 'uploadFolders' => [ |
46 | - constant($moduleDirNameUpper . '_UPLOAD_PATH'), |
|
47 | - constant($moduleDirNameUpper . '_UPLOAD_PATH') . '/thumbs', |
|
46 | + constant($moduleDirNameUpper.'_UPLOAD_PATH'), |
|
47 | + constant($moduleDirNameUpper.'_UPLOAD_PATH').'/thumbs', |
|
48 | 48 | |
49 | 49 | //XOOPS_UPLOAD_PATH . '/flags' |
50 | 50 | ], |
51 | 51 | 'copyBlankFiles' => [ |
52 | - constant($moduleDirNameUpper . '_UPLOAD_PATH'), |
|
53 | - constant($moduleDirNameUpper . '_UPLOAD_PATH') . '/thumbs', |
|
52 | + constant($moduleDirNameUpper.'_UPLOAD_PATH'), |
|
53 | + constant($moduleDirNameUpper.'_UPLOAD_PATH').'/thumbs', |
|
54 | 54 | //XOOPS_UPLOAD_PATH . '/flags' |
55 | 55 | ], |
56 | 56 | |
@@ -107,6 +107,6 @@ discard block |
||
107 | 107 | ], |
108 | 108 | |
109 | 109 | 'modCopyright' => "<a href='https://xoops.org' title='XOOPS Project' target='_blank'> |
110 | - <img src='" . constant($moduleDirNameUpper . '_AUTHOR_LOGOIMG') . '\' alt=\'XOOPS Project\' /></a>', |
|
110 | + <img src='" . constant($moduleDirNameUpper.'_AUTHOR_LOGOIMG').'\' alt=\'XOOPS Project\' /></a>', |
|
111 | 111 | ]; |
112 | 112 | } |
@@ -28,119 +28,119 @@ |
||
28 | 28 | * @return array |
29 | 29 | */ |
30 | 30 | function newbb_search( |
31 | - $queryarray, |
|
32 | - $andor, |
|
33 | - $limit, |
|
34 | - $offset, |
|
35 | - $userid, |
|
36 | - $forums = 0, |
|
37 | - $sortby = 0, |
|
38 | - $searchin = 'both', |
|
39 | - CriteriaCompo $criteriaExtra = null |
|
31 | + $queryarray, |
|
32 | + $andor, |
|
33 | + $limit, |
|
34 | + $offset, |
|
35 | + $userid, |
|
36 | + $forums = 0, |
|
37 | + $sortby = 0, |
|
38 | + $searchin = 'both', |
|
39 | + CriteriaCompo $criteriaExtra = null |
|
40 | 40 | ) { |
41 | - global $myts, $xoopsDB; |
|
42 | - // irmtfan - in XOOPSCORE/search.php $GLOBALS['xoopsModuleConfig'] is not set |
|
43 | - if (!isset($GLOBALS['xoopsModuleConfig'])) { |
|
44 | - $GLOBALS['xoopsModuleConfig'] = newbbLoadConfig(); |
|
45 | - } |
|
46 | - // irmtfan - in XOOPSCORE/search.php $xoopsModule is not set |
|
47 | - if (!is_object($GLOBALS['xoopsModule']) && is_object($GLOBALS['module']) |
|
48 | - && 'newbb' === $GLOBALS['module']->getVar('dirname')) { |
|
49 | - $GLOBALS['xoopsModule'] = $GLOBALS['module']; |
|
50 | - } |
|
51 | - /** @var Newbb\ForumHandler $forumHandler */ |
|
52 | - $forumHandler = Newbb\Helper::getInstance()->getHandler('Forum'); |
|
53 | - $validForums = $forumHandler->getIdsByValues($forums); // can we use view permission? $forumHandler->getIdsByValues($forums, "view") |
|
41 | + global $myts, $xoopsDB; |
|
42 | + // irmtfan - in XOOPSCORE/search.php $GLOBALS['xoopsModuleConfig'] is not set |
|
43 | + if (!isset($GLOBALS['xoopsModuleConfig'])) { |
|
44 | + $GLOBALS['xoopsModuleConfig'] = newbbLoadConfig(); |
|
45 | + } |
|
46 | + // irmtfan - in XOOPSCORE/search.php $xoopsModule is not set |
|
47 | + if (!is_object($GLOBALS['xoopsModule']) && is_object($GLOBALS['module']) |
|
48 | + && 'newbb' === $GLOBALS['module']->getVar('dirname')) { |
|
49 | + $GLOBALS['xoopsModule'] = $GLOBALS['module']; |
|
50 | + } |
|
51 | + /** @var Newbb\ForumHandler $forumHandler */ |
|
52 | + $forumHandler = Newbb\Helper::getInstance()->getHandler('Forum'); |
|
53 | + $validForums = $forumHandler->getIdsByValues($forums); // can we use view permission? $forumHandler->getIdsByValues($forums, "view") |
|
54 | 54 | |
55 | - $criteriaPost = new \CriteriaCompo(); |
|
56 | - $criteriaPost->add(new \Criteria('p.approved', 1), 'AND'); // only active posts |
|
55 | + $criteriaPost = new \CriteriaCompo(); |
|
56 | + $criteriaPost->add(new \Criteria('p.approved', 1), 'AND'); // only active posts |
|
57 | 57 | |
58 | - $forum_list = [];// get forum lists just for forum names |
|
59 | - if (count($validForums) > 0) { |
|
60 | - $criteriaPermissions = new \CriteriaCompo(); |
|
61 | - $criteriaPermissions->add(new \Criteria('p.forum_id', '(' . implode(',', $validForums) . ')', 'IN'), 'AND'); |
|
62 | - $forum_list = $forumHandler->getAll(new \Criteria('forum_id', '(' . implode(', ', $validForums) . ')', 'IN'), 'forum_name', false); |
|
63 | - } |
|
58 | + $forum_list = [];// get forum lists just for forum names |
|
59 | + if (count($validForums) > 0) { |
|
60 | + $criteriaPermissions = new \CriteriaCompo(); |
|
61 | + $criteriaPermissions->add(new \Criteria('p.forum_id', '(' . implode(',', $validForums) . ')', 'IN'), 'AND'); |
|
62 | + $forum_list = $forumHandler->getAll(new \Criteria('forum_id', '(' . implode(', ', $validForums) . ')', 'IN'), 'forum_name', false); |
|
63 | + } |
|
64 | 64 | |
65 | - if (is_numeric($userid) && 0 !== $userid) { |
|
66 | - $criteriaUser = new \CriteriaCompo(); |
|
67 | - $criteriaUser->add(new \Criteria('p.uid', $userid), 'OR'); |
|
68 | - } elseif (is_array($userid) && count($userid) > 0) { |
|
69 | - $userid = array_map('intval', $userid); |
|
70 | - $criteriaUser = new \CriteriaCompo(); |
|
71 | - $criteriaUser->add(new \Criteria('p.uid', '(' . implode(',', $userid) . ')', 'IN'), 'OR'); |
|
72 | - } |
|
65 | + if (is_numeric($userid) && 0 !== $userid) { |
|
66 | + $criteriaUser = new \CriteriaCompo(); |
|
67 | + $criteriaUser->add(new \Criteria('p.uid', $userid), 'OR'); |
|
68 | + } elseif (is_array($userid) && count($userid) > 0) { |
|
69 | + $userid = array_map('intval', $userid); |
|
70 | + $criteriaUser = new \CriteriaCompo(); |
|
71 | + $criteriaUser->add(new \Criteria('p.uid', '(' . implode(',', $userid) . ')', 'IN'), 'OR'); |
|
72 | + } |
|
73 | 73 | |
74 | - $count = 0; |
|
75 | - if (is_array($queryarray)) { |
|
76 | - $count = count($queryarray); |
|
77 | - } |
|
78 | - $highlightKey = ''; |
|
79 | - if ($count > 0) { |
|
80 | - $criteriaKeywords = new \CriteriaCompo(); |
|
81 | - foreach ($queryarray as $queryTerm) { |
|
82 | - $termCriteria = new \CriteriaCompo(); |
|
83 | - $queryTermLike = '%' . $xoopsDB->escape($queryTerm) . '%'; |
|
84 | - if ('title' === $searchin || 'both' === $searchin) { |
|
85 | - $termCriteria->add(new \Criteria('p.subject', $queryTermLike, 'LIKE'), 'OR'); |
|
86 | - } |
|
87 | - if ('text' === $searchin || 'both' === $searchin) { |
|
88 | - $termCriteria->add(new \Criteria('t.post_text', $queryTermLike, 'LIKE'), 'OR'); |
|
89 | - } |
|
90 | - $criteriaKeywords->add($termCriteria, $andor); |
|
91 | - } |
|
92 | - // add highlight keywords to post links |
|
93 | - $highlightKey = '&keywords=' . implode(' ', $queryarray); |
|
94 | - $highlightKey = str_replace(' ', '+', $highlightKey); |
|
95 | - } |
|
96 | - $criteria = new \CriteriaCompo(); |
|
97 | - $criteria->add($criteriaPost, 'AND'); |
|
98 | - if (null !== $criteriaPermissions) { |
|
99 | - $criteria->add($criteriaPermissions, 'AND'); |
|
100 | - } |
|
101 | - if (isset($criteriaUser)) { |
|
102 | - $criteria->add($criteriaUser, 'AND'); |
|
103 | - } |
|
104 | - if (isset($criteriaKeywords)) { |
|
105 | - $criteria->add($criteriaKeywords, 'AND'); |
|
106 | - } |
|
107 | - if (isset($criteriaExtra)) { |
|
108 | - $criteria->add($criteriaExtra, 'AND'); |
|
109 | - } |
|
110 | - //$criteria->setLimit($limit); // no need for this |
|
111 | - //$criteria->setStart($offset); // no need for this |
|
74 | + $count = 0; |
|
75 | + if (is_array($queryarray)) { |
|
76 | + $count = count($queryarray); |
|
77 | + } |
|
78 | + $highlightKey = ''; |
|
79 | + if ($count > 0) { |
|
80 | + $criteriaKeywords = new \CriteriaCompo(); |
|
81 | + foreach ($queryarray as $queryTerm) { |
|
82 | + $termCriteria = new \CriteriaCompo(); |
|
83 | + $queryTermLike = '%' . $xoopsDB->escape($queryTerm) . '%'; |
|
84 | + if ('title' === $searchin || 'both' === $searchin) { |
|
85 | + $termCriteria->add(new \Criteria('p.subject', $queryTermLike, 'LIKE'), 'OR'); |
|
86 | + } |
|
87 | + if ('text' === $searchin || 'both' === $searchin) { |
|
88 | + $termCriteria->add(new \Criteria('t.post_text', $queryTermLike, 'LIKE'), 'OR'); |
|
89 | + } |
|
90 | + $criteriaKeywords->add($termCriteria, $andor); |
|
91 | + } |
|
92 | + // add highlight keywords to post links |
|
93 | + $highlightKey = '&keywords=' . implode(' ', $queryarray); |
|
94 | + $highlightKey = str_replace(' ', '+', $highlightKey); |
|
95 | + } |
|
96 | + $criteria = new \CriteriaCompo(); |
|
97 | + $criteria->add($criteriaPost, 'AND'); |
|
98 | + if (null !== $criteriaPermissions) { |
|
99 | + $criteria->add($criteriaPermissions, 'AND'); |
|
100 | + } |
|
101 | + if (isset($criteriaUser)) { |
|
102 | + $criteria->add($criteriaUser, 'AND'); |
|
103 | + } |
|
104 | + if (isset($criteriaKeywords)) { |
|
105 | + $criteria->add($criteriaKeywords, 'AND'); |
|
106 | + } |
|
107 | + if (isset($criteriaExtra)) { |
|
108 | + $criteria->add($criteriaExtra, 'AND'); |
|
109 | + } |
|
110 | + //$criteria->setLimit($limit); // no need for this |
|
111 | + //$criteria->setStart($offset); // no need for this |
|
112 | 112 | |
113 | - if (empty($sortby)) { |
|
114 | - $sortby = 'p.post_time'; |
|
115 | - } |
|
116 | - $criteria->setSort($sortby); |
|
117 | - $order = 'ASC'; |
|
118 | - if ('p.post_time' === $sortby) { |
|
119 | - $order = 'DESC'; |
|
120 | - } |
|
121 | - $criteria->setOrder($order); |
|
113 | + if (empty($sortby)) { |
|
114 | + $sortby = 'p.post_time'; |
|
115 | + } |
|
116 | + $criteria->setSort($sortby); |
|
117 | + $order = 'ASC'; |
|
118 | + if ('p.post_time' === $sortby) { |
|
119 | + $order = 'DESC'; |
|
120 | + } |
|
121 | + $criteria->setOrder($order); |
|
122 | 122 | |
123 | - /** @var Newbb\PostHandler $postHandler */ |
|
124 | - $postHandler = Newbb\Helper::getInstance()->getHandler('Post'); |
|
125 | - $posts = $postHandler->getPostsByLimit($criteria, $limit, $offset); |
|
123 | + /** @var Newbb\PostHandler $postHandler */ |
|
124 | + $postHandler = Newbb\Helper::getInstance()->getHandler('Post'); |
|
125 | + $posts = $postHandler->getPostsByLimit($criteria, $limit, $offset); |
|
126 | 126 | |
127 | - $ret = []; |
|
128 | - $i = 0; |
|
129 | - foreach (array_keys($posts) as $id) { |
|
130 | - /** @var Newbb\Post $post */ |
|
131 | - $post = $posts[$id]; |
|
132 | - $post_data = $post->getPostBody(); |
|
133 | - $ret[$i]['topic_id'] = $post->getVar('topic_id'); |
|
134 | - $ret[$i]['link'] = XOOPS_URL . '/modules/newbb/viewtopic.php?post_id=' . $post->getVar('post_id') . $highlightKey; // add highlight key |
|
135 | - $ret[$i]['title'] = $post_data['subject']; |
|
136 | - $ret[$i]['time'] = $post_data['date']; |
|
137 | - $ret[$i]['forum_name'] = $myts->htmlSpecialChars($forum_list[$post->getVar('forum_id')]['forum_name']); |
|
138 | - $ret[$i]['forum_link'] = XOOPS_URL . '/modules/newbb/viewforum.php?forum=' . $post->getVar('forum_id'); |
|
139 | - $ret[$i]['post_text'] = $post_data['text']; |
|
140 | - $ret[$i]['uid'] = $post->getVar('uid'); |
|
141 | - $ret[$i]['poster'] = $post->getVar('uid') ? '<a href="' . XOOPS_URL . '/userinfo.php?uid=' . $ret[$i]['uid'] . '">' . $post_data['author'] . '</a>' : $post_data['author']; |
|
142 | - ++$i; |
|
143 | - } |
|
127 | + $ret = []; |
|
128 | + $i = 0; |
|
129 | + foreach (array_keys($posts) as $id) { |
|
130 | + /** @var Newbb\Post $post */ |
|
131 | + $post = $posts[$id]; |
|
132 | + $post_data = $post->getPostBody(); |
|
133 | + $ret[$i]['topic_id'] = $post->getVar('topic_id'); |
|
134 | + $ret[$i]['link'] = XOOPS_URL . '/modules/newbb/viewtopic.php?post_id=' . $post->getVar('post_id') . $highlightKey; // add highlight key |
|
135 | + $ret[$i]['title'] = $post_data['subject']; |
|
136 | + $ret[$i]['time'] = $post_data['date']; |
|
137 | + $ret[$i]['forum_name'] = $myts->htmlSpecialChars($forum_list[$post->getVar('forum_id')]['forum_name']); |
|
138 | + $ret[$i]['forum_link'] = XOOPS_URL . '/modules/newbb/viewforum.php?forum=' . $post->getVar('forum_id'); |
|
139 | + $ret[$i]['post_text'] = $post_data['text']; |
|
140 | + $ret[$i]['uid'] = $post->getVar('uid'); |
|
141 | + $ret[$i]['poster'] = $post->getVar('uid') ? '<a href="' . XOOPS_URL . '/userinfo.php?uid=' . $ret[$i]['uid'] . '">' . $post_data['author'] . '</a>' : $post_data['author']; |
|
142 | + ++$i; |
|
143 | + } |
|
144 | 144 | |
145 | - return $ret; |
|
145 | + return $ret; |
|
146 | 146 | } |
@@ -17,146 +17,146 @@ |
||
17 | 17 | define('NEWBB_FUNCTIONS_RENDER_LOADED', true); |
18 | 18 | |
19 | 19 | if (!defined('NEWBB_FUNCTIONS_RENDER')) { |
20 | - define('NEWBB_FUNCTIONS_RENDER', 1); |
|
20 | + define('NEWBB_FUNCTIONS_RENDER', 1); |
|
21 | 21 | |
22 | - /* |
|
22 | + /* |
|
23 | 23 | * Sorry, we have to use the stupid solution unless there is an option in MyTextSanitizer:: htmlspecialchars(); |
24 | 24 | */ |
25 | - /** |
|
26 | - * @param $text |
|
27 | - * @return mixed |
|
28 | - */ |
|
29 | - function newbbHtmlspecialchars(&$text) |
|
30 | - { |
|
31 | - return preg_replace(['/&/i', '/ /i'], ['&', '&nbsp;'], htmlspecialchars($text, ENT_QUOTES | ENT_HTML5)); |
|
32 | - } |
|
33 | - |
|
34 | - /** |
|
35 | - * @param $text |
|
36 | - * @param int $html |
|
37 | - * @param int $smiley |
|
38 | - * @param int $xcode |
|
39 | - * @param int $image |
|
40 | - * @param int $br |
|
41 | - * @return mixed |
|
42 | - */ |
|
43 | - function &newbbDisplayTarea(&$text, $html = 0, $smiley = 1, $xcode = 1, $image = 1, $br = 1) |
|
44 | - { |
|
45 | - global $myts; |
|
46 | - |
|
47 | - if (1 !== $html) { |
|
48 | - // html not allowed |
|
49 | - $text = newbbHtmlspecialchars($text); |
|
50 | - } |
|
51 | - $text = $myts->codePreConv($text, $xcode); // Ryuji_edit(2003-11-18) |
|
52 | - $text = $myts->makeClickable($text); |
|
53 | - if (0 !== $smiley) { |
|
54 | - // process smiley |
|
55 | - $text = $myts->smiley($text); |
|
56 | - } |
|
57 | - if (0 !== $xcode) { |
|
58 | - // decode xcode |
|
59 | - if (0 !== $image) { |
|
60 | - // image allowed |
|
61 | - $text = $myts->xoopsCodeDecode($text); |
|
62 | - } else { |
|
63 | - // image not allowed |
|
64 | - $text = $myts->xoopsCodeDecode($text, 0); |
|
65 | - } |
|
66 | - } |
|
67 | - if (0 !== $br) { |
|
68 | - $text = $myts->nl2Br($text); |
|
69 | - } |
|
70 | - $text = $myts->codeConv($text, $xcode, $image); // Ryuji_edit(2003-11-18) |
|
71 | - |
|
72 | - return $text; |
|
73 | - } |
|
74 | - |
|
75 | - /** |
|
76 | - * @param $document |
|
77 | - * @return string |
|
78 | - */ |
|
79 | - function newbbHtml2text($document) |
|
80 | - { |
|
81 | - $text = strip_tags($document); |
|
82 | - |
|
83 | - return $text; |
|
84 | - } |
|
85 | - |
|
86 | - /** |
|
87 | - * Display forrum button |
|
88 | - * |
|
89 | - * @param $link |
|
90 | - * @param $button |
|
91 | - * @param string $alt alt message |
|
92 | - * @param boolean $asImage true for image mode; false for text mode |
|
93 | - * @param string $extra extra attribute for the button |
|
94 | - * @return mixed |
|
95 | - * @internal param string $image image/button name, without extension |
|
96 | - */ |
|
97 | - function newbbGetButton($link, $button, $alt = '', $asImage = true, $extra = "class='forum_button'") |
|
98 | - { |
|
99 | - $button = "<input type='button' name='{$button}' {$extra} value='{$alt}' onclick='window.location.href={$link}' />"; |
|
100 | - if (empty($asImage)) { |
|
101 | - $button = "<a href='{$link}' title='{$alt}' {$extra}>" . newbbDisplayImage($button, $alt, true) . '</a>'; |
|
102 | - } |
|
103 | - |
|
104 | - return $button; |
|
105 | - } |
|
106 | - |
|
107 | - /** |
|
108 | - * Display forrum images |
|
109 | - * |
|
110 | - * @param string $image image name, without extension |
|
111 | - * @param string $alt alt message |
|
112 | - * @param boolean $display true for return image anchor; faulse for assign to $xoopsTpl |
|
113 | - * @param string $extra extra attribute for the image |
|
114 | - * @return mixed |
|
115 | - */ |
|
116 | - function newbbDisplayImage($image, $alt = '', $display = true, $extra = "class='forum_icon'") |
|
117 | - { |
|
118 | - $iconHandler = newbbGetIconHandler(); |
|
119 | - // START hacked by irmtfan |
|
120 | - // to show text links instead of buttons - func_num_args()==2 => only when $image, $alt is set and optional $display not set |
|
121 | - |
|
122 | - if (2 == func_num_args()) { |
|
123 | - // overall setting |
|
124 | - if (!empty($GLOBALS['xoopsModuleConfig']['display_text_links'])) { |
|
125 | - $display = false; |
|
126 | - } |
|
127 | - // if set for each link => overwrite $display |
|
128 | - if (isset($GLOBALS['xoopsModuleConfig']['display_text_each_link'][$image])) { |
|
129 | - $display = empty($GLOBALS['xoopsModuleConfig']['display_text_each_link'][$image]); |
|
130 | - } |
|
131 | - } |
|
132 | - // END hacked by irmtfan |
|
133 | - if (empty($display)) { |
|
134 | - return $iconHandler->assignImage($image, $alt, $extra); |
|
135 | - } else { |
|
136 | - return $iconHandler->getImage($image, $alt, $extra); |
|
137 | - } |
|
138 | - } |
|
139 | - |
|
140 | - /** |
|
141 | - * @return Newbb\IconHandler |
|
142 | - */ |
|
143 | - function newbbGetIconHandler() |
|
144 | - { |
|
145 | - global $xoTheme; |
|
146 | - static $iconHandler; |
|
147 | - |
|
148 | - if (null !== $iconHandler) { |
|
149 | - return $iconHandler; |
|
150 | - } |
|
25 | + /** |
|
26 | + * @param $text |
|
27 | + * @return mixed |
|
28 | + */ |
|
29 | + function newbbHtmlspecialchars(&$text) |
|
30 | + { |
|
31 | + return preg_replace(['/&/i', '/ /i'], ['&', '&nbsp;'], htmlspecialchars($text, ENT_QUOTES | ENT_HTML5)); |
|
32 | + } |
|
33 | + |
|
34 | + /** |
|
35 | + * @param $text |
|
36 | + * @param int $html |
|
37 | + * @param int $smiley |
|
38 | + * @param int $xcode |
|
39 | + * @param int $image |
|
40 | + * @param int $br |
|
41 | + * @return mixed |
|
42 | + */ |
|
43 | + function &newbbDisplayTarea(&$text, $html = 0, $smiley = 1, $xcode = 1, $image = 1, $br = 1) |
|
44 | + { |
|
45 | + global $myts; |
|
46 | + |
|
47 | + if (1 !== $html) { |
|
48 | + // html not allowed |
|
49 | + $text = newbbHtmlspecialchars($text); |
|
50 | + } |
|
51 | + $text = $myts->codePreConv($text, $xcode); // Ryuji_edit(2003-11-18) |
|
52 | + $text = $myts->makeClickable($text); |
|
53 | + if (0 !== $smiley) { |
|
54 | + // process smiley |
|
55 | + $text = $myts->smiley($text); |
|
56 | + } |
|
57 | + if (0 !== $xcode) { |
|
58 | + // decode xcode |
|
59 | + if (0 !== $image) { |
|
60 | + // image allowed |
|
61 | + $text = $myts->xoopsCodeDecode($text); |
|
62 | + } else { |
|
63 | + // image not allowed |
|
64 | + $text = $myts->xoopsCodeDecode($text, 0); |
|
65 | + } |
|
66 | + } |
|
67 | + if (0 !== $br) { |
|
68 | + $text = $myts->nl2Br($text); |
|
69 | + } |
|
70 | + $text = $myts->codeConv($text, $xcode, $image); // Ryuji_edit(2003-11-18) |
|
71 | + |
|
72 | + return $text; |
|
73 | + } |
|
74 | + |
|
75 | + /** |
|
76 | + * @param $document |
|
77 | + * @return string |
|
78 | + */ |
|
79 | + function newbbHtml2text($document) |
|
80 | + { |
|
81 | + $text = strip_tags($document); |
|
82 | + |
|
83 | + return $text; |
|
84 | + } |
|
85 | + |
|
86 | + /** |
|
87 | + * Display forrum button |
|
88 | + * |
|
89 | + * @param $link |
|
90 | + * @param $button |
|
91 | + * @param string $alt alt message |
|
92 | + * @param boolean $asImage true for image mode; false for text mode |
|
93 | + * @param string $extra extra attribute for the button |
|
94 | + * @return mixed |
|
95 | + * @internal param string $image image/button name, without extension |
|
96 | + */ |
|
97 | + function newbbGetButton($link, $button, $alt = '', $asImage = true, $extra = "class='forum_button'") |
|
98 | + { |
|
99 | + $button = "<input type='button' name='{$button}' {$extra} value='{$alt}' onclick='window.location.href={$link}' />"; |
|
100 | + if (empty($asImage)) { |
|
101 | + $button = "<a href='{$link}' title='{$alt}' {$extra}>" . newbbDisplayImage($button, $alt, true) . '</a>'; |
|
102 | + } |
|
103 | + |
|
104 | + return $button; |
|
105 | + } |
|
106 | + |
|
107 | + /** |
|
108 | + * Display forrum images |
|
109 | + * |
|
110 | + * @param string $image image name, without extension |
|
111 | + * @param string $alt alt message |
|
112 | + * @param boolean $display true for return image anchor; faulse for assign to $xoopsTpl |
|
113 | + * @param string $extra extra attribute for the image |
|
114 | + * @return mixed |
|
115 | + */ |
|
116 | + function newbbDisplayImage($image, $alt = '', $display = true, $extra = "class='forum_icon'") |
|
117 | + { |
|
118 | + $iconHandler = newbbGetIconHandler(); |
|
119 | + // START hacked by irmtfan |
|
120 | + // to show text links instead of buttons - func_num_args()==2 => only when $image, $alt is set and optional $display not set |
|
121 | + |
|
122 | + if (2 == func_num_args()) { |
|
123 | + // overall setting |
|
124 | + if (!empty($GLOBALS['xoopsModuleConfig']['display_text_links'])) { |
|
125 | + $display = false; |
|
126 | + } |
|
127 | + // if set for each link => overwrite $display |
|
128 | + if (isset($GLOBALS['xoopsModuleConfig']['display_text_each_link'][$image])) { |
|
129 | + $display = empty($GLOBALS['xoopsModuleConfig']['display_text_each_link'][$image]); |
|
130 | + } |
|
131 | + } |
|
132 | + // END hacked by irmtfan |
|
133 | + if (empty($display)) { |
|
134 | + return $iconHandler->assignImage($image, $alt, $extra); |
|
135 | + } else { |
|
136 | + return $iconHandler->getImage($image, $alt, $extra); |
|
137 | + } |
|
138 | + } |
|
139 | + |
|
140 | + /** |
|
141 | + * @return Newbb\IconHandler |
|
142 | + */ |
|
143 | + function newbbGetIconHandler() |
|
144 | + { |
|
145 | + global $xoTheme; |
|
146 | + static $iconHandler; |
|
147 | + |
|
148 | + if (null !== $iconHandler) { |
|
149 | + return $iconHandler; |
|
150 | + } |
|
151 | 151 | |
152 | 152 | // if (!class_exists('IconHandler')) { |
153 | 153 | // require_once dirname(__DIR__) . '/class/icon.php'; |
154 | 154 | // } |
155 | 155 | |
156 | - $iconHandler = Newbb\IconHandler::getInstance(); |
|
157 | - $iconHandler->template = $xoTheme->template; |
|
158 | - $iconHandler->init($GLOBALS['xoopsConfig']['language']); |
|
156 | + $iconHandler = Newbb\IconHandler::getInstance(); |
|
157 | + $iconHandler->template = $xoTheme->template; |
|
158 | + $iconHandler->init($GLOBALS['xoopsConfig']['language']); |
|
159 | 159 | |
160 | - return $iconHandler; |
|
161 | - } |
|
160 | + return $iconHandler; |
|
161 | + } |
|
162 | 162 | } |