Conditions | 33 |
Paths | > 20000 |
Total Lines | 137 |
Code Lines | 96 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | <?php |
||
143 | function ¬ificationEvents($category_name, $enabled_only, $module_id = null) |
||
144 | { |
||
145 | if (!isset($module_id)) { |
||
146 | global $xoopsModule; |
||
147 | $module_id = !empty($xoopsModule) ? $xoopsModule->getVar('mid') : 0; |
||
148 | $module =& $xoopsModule; |
||
149 | } else { |
||
150 | /* @var $module_handler XoopsModuleHandler */ |
||
151 | $module_handler = xoops_getHandler('module'); |
||
152 | $module = $module_handler->get($module_id); |
||
153 | } |
||
154 | $not_config = $module->getInfo('notification'); |
||
155 | /* @var $config_handler XoopsConfigHandler */ |
||
156 | $config_handler = xoops_getHandler('config'); |
||
157 | $mod_config = $config_handler->getConfigsByCat(0, $module_id); |
||
158 | |||
159 | $category =& notificationCategoryInfo($category_name, $module_id); |
||
160 | |||
161 | global $xoopsConfig; |
||
162 | $event_array = array(); |
||
163 | |||
164 | $override_comment = false; |
||
165 | $override_commentsubmit = false; |
||
166 | $override_bookmark = false; |
||
167 | |||
168 | foreach ($not_config['event'] as $event) { |
||
169 | if ($event['category'] == $category_name) { |
||
170 | if (!is_dir($dir = XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname') . '/language/' . $xoopsConfig['language'] . '/mail_template/')) { |
||
171 | $dir = XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname') . '/language/english/mail_template/'; |
||
172 | } |
||
173 | $event['mail_template_dir'] = $dir; |
||
174 | if (!$enabled_only || notificationEventEnabled($category, $event, $module)) { |
||
175 | $event_array[] = $event; |
||
176 | } |
||
177 | if ($event['name'] === 'comment') { |
||
178 | $override_comment = true; |
||
179 | } |
||
180 | if ($event['name'] === 'comment_submit') { |
||
181 | $override_commentsubmit = true; |
||
182 | } |
||
183 | if ($event['name'] === 'bookmark') { |
||
184 | $override_bookmark = true; |
||
185 | } |
||
186 | } |
||
187 | } |
||
188 | |||
189 | xoops_loadLanguage('notification'); |
||
190 | // Insert comment info if applicable |
||
191 | |||
192 | if ($module->getVar('hascomments')) { |
||
193 | $com_config = $module->getInfo('comments'); |
||
194 | if (!empty($category['item_name']) && $category['item_name'] == $com_config['itemName']) { |
||
195 | if (!is_dir($dir = XOOPS_ROOT_PATH . '/language/' . $xoopsConfig['language'] . '/mail_template/')) { |
||
196 | $dir = XOOPS_ROOT_PATH . '/language/english/mail_template/'; |
||
197 | } |
||
198 | $mail_template_dir = $dir; |
||
199 | |||
200 | include_once $GLOBALS['xoops']->path('include/comment_constants.php'); |
||
201 | $config_handler = xoops_getHandler('config'); |
||
202 | $com_config = $config_handler->getConfigsByCat(0, $module_id); |
||
203 | if (!$enabled_only) { |
||
204 | $insert_comment = true; |
||
205 | $insert_submit = true; |
||
206 | } else { |
||
207 | $insert_comment = false; |
||
208 | $insert_submit = false; |
||
209 | switch ($com_config['com_rule']) { |
||
210 | case XOOPS_COMMENT_APPROVENONE: |
||
211 | // comments disabled, no comment events |
||
212 | break; |
||
213 | case XOOPS_COMMENT_APPROVEALL: |
||
214 | // all comments are automatically approved, no 'submit' |
||
215 | if (!$override_comment) { |
||
216 | $insert_comment = true; |
||
217 | } |
||
218 | break; |
||
219 | case XOOPS_COMMENT_APPROVEUSER: |
||
220 | case XOOPS_COMMENT_APPROVEADMIN: |
||
221 | // comments first submitted, require later approval |
||
222 | if (!$override_comment) { |
||
223 | $insert_comment = true; |
||
224 | } |
||
225 | if (!$override_commentsubmit) { |
||
226 | $insert_submit = true; |
||
227 | } |
||
228 | break; |
||
229 | } |
||
230 | } |
||
231 | if ($insert_comment) { |
||
232 | $event = array( |
||
233 | 'name' => 'comment', |
||
234 | 'category' => $category['name'], |
||
235 | 'title' => _NOT_COMMENT_NOTIFY, |
||
236 | 'caption' => _NOT_COMMENT_NOTIFYCAP, |
||
237 | 'description' => _NOT_COMMENT_NOTIFYDSC, |
||
238 | 'mail_template_dir' => $mail_template_dir, |
||
239 | 'mail_template' => 'comment_notify', |
||
240 | 'mail_subject' => _NOT_COMMENT_NOTIFYSBJ); |
||
241 | if (!$enabled_only || notificationEventEnabled($category, $event, $module)) { |
||
242 | $event_array[] = $event; |
||
243 | } |
||
244 | } |
||
245 | if ($insert_submit) { |
||
246 | $event = array( |
||
247 | 'name' => 'comment_submit', |
||
248 | 'category' => $category['name'], |
||
249 | 'title' => _NOT_COMMENTSUBMIT_NOTIFY, |
||
250 | 'caption' => _NOT_COMMENTSUBMIT_NOTIFYCAP, |
||
251 | 'description' => _NOT_COMMENTSUBMIT_NOTIFYDSC, |
||
252 | 'mail_template_dir' => $mail_template_dir, |
||
253 | 'mail_template' => 'commentsubmit_notify', |
||
254 | 'mail_subject' => _NOT_COMMENTSUBMIT_NOTIFYSBJ, |
||
255 | 'admin_only' => 1); |
||
256 | if (!$enabled_only || notificationEventEnabled($category, $event, $module)) { |
||
257 | $event_array[] = $event; |
||
258 | } |
||
259 | } |
||
260 | } |
||
261 | } |
||
262 | |||
263 | // Insert bookmark info if appropriate |
||
264 | |||
265 | if (!empty($category['allow_bookmark'])) { |
||
266 | if (!$override_bookmark) { |
||
267 | $event = array( |
||
268 | 'name' => 'bookmark', |
||
269 | 'category' => $category['name'], |
||
270 | 'title' => _NOT_BOOKMARK_NOTIFY, |
||
271 | 'caption' => _NOT_BOOKMARK_NOTIFYCAP, |
||
272 | 'description' => _NOT_BOOKMARK_NOTIFYDSC); |
||
273 | if (!$enabled_only || notificationEventEnabled($category, $event, $module)) { |
||
274 | $event_array[] = $event; |
||
275 | } |
||
276 | } |
||
277 | } |
||
278 | |||
279 | return $event_array; |
||
280 | } |
||
416 |