@@ -19,7 +19,7 @@ |
||
19 | 19 | class MsgReport_Notify_Background extends SMF_BackgroundTask |
20 | 20 | { |
21 | 21 | /** |
22 | - * This executes the task - loads up the information, puts the email in the queue and inserts alerts as needed. |
|
22 | + * This executes the task - loads up the information, puts the email in the queue and inserts alerts as needed. |
|
23 | 23 | * @return bool Always returns true. |
24 | 24 | */ |
25 | 25 | public function execute() |
@@ -40,8 +40,9 @@ discard block |
||
40 | 40 | 'current_board' => $this->_details['board_id'], |
41 | 41 | ) |
42 | 42 | ); |
43 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
44 | - $members[] = $row['id_member']; |
|
43 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
44 | + $members[] = $row['id_member']; |
|
45 | + } |
|
45 | 46 | $smcFunc['db_free_result']($request); |
46 | 47 | |
47 | 48 | // Thirdly, anyone assigned to be a moderator of this group as a group->board moderator. |
@@ -58,8 +59,9 @@ discard block |
||
58 | 59 | ) |
59 | 60 | ); |
60 | 61 | |
61 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
62 | - $members[] = $row['id_member']; |
|
62 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
63 | + $members[] = $row['id_member']; |
|
64 | + } |
|
63 | 65 | $smcFunc['db_free_result']($request); |
64 | 66 | |
65 | 67 | // And now weed out the duplicates. |
@@ -81,9 +83,10 @@ discard block |
||
81 | 83 | |
82 | 84 | foreach ($prefs as $member => $pref_option) |
83 | 85 | { |
84 | - foreach ($alert_bits as $type => $bitvalue) |
|
85 | - if ($pref_option['msg_report'] & $bitvalue) |
|
86 | + foreach ($alert_bits as $type => $bitvalue) { |
|
87 | + if ($pref_option['msg_report'] & $bitvalue) |
|
86 | 88 | $notifies[$type][] = $member; |
89 | + } |
|
87 | 90 | } |
88 | 91 | |
89 | 92 | // Firstly, anyone who wants alerts. |
@@ -143,8 +146,9 @@ discard block |
||
143 | 146 | ); |
144 | 147 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
145 | 148 | { |
146 | - if (empty($row['lngfile'])) |
|
147 | - $row['lngfile'] = $language; |
|
149 | + if (empty($row['lngfile'])) { |
|
150 | + $row['lngfile'] = $language; |
|
151 | + } |
|
148 | 152 | $emails[$row['lngfile']][$row['id_member']] = $row['email_address']; |
149 | 153 | } |
150 | 154 | $smcFunc['db_free_result']($request); |
@@ -177,8 +181,9 @@ discard block |
||
177 | 181 | $emaildata = loadEmailTemplate('report_to_moderator', $replacements, empty($modSettings['userLanguage']) ? $language : $this_lang); |
178 | 182 | |
179 | 183 | // And do the actual sending... |
180 | - foreach ($recipients as $id_member => $email_address) |
|
181 | - sendmail($email_address, $emaildata['subject'], $emaildata['body'], null, 'report' . $this->_details['report_id'], $emaildata['is_html'], 2); |
|
184 | + foreach ($recipients as $id_member => $email_address) { |
|
185 | + sendmail($email_address, $emaildata['subject'], $emaildata['body'], null, 'report' . $this->_details['report_id'], $emaildata['is_html'], 2); |
|
186 | + } |
|
182 | 187 | } |
183 | 188 | } |
184 | 189 |
@@ -18,10 +18,10 @@ |
||
18 | 18 | */ |
19 | 19 | class Update_TLD_Regex extends SMF_BackgroundTask |
20 | 20 | { |
21 | - /** |
|
22 | - * This executes the task. It just calls set_tld_regex() in Subs.php |
|
23 | - * @return bool Always returns true |
|
24 | - */ |
|
21 | + /** |
|
22 | + * This executes the task. It just calls set_tld_regex() in Subs.php |
|
23 | + * @return bool Always returns true |
|
24 | + */ |
|
25 | 25 | public function execute() |
26 | 26 | { |
27 | 27 | global $sourcedir; |
@@ -20,7 +20,7 @@ |
||
20 | 20 | class MemberReportReply_Notify_Background extends SMF_BackgroundTask |
21 | 21 | { |
22 | 22 | /** |
23 | - * This executes the task - loads up the information, puts the email in the queue and inserts alerts as needed. |
|
23 | + * This executes the task - loads up the information, puts the email in the queue and inserts alerts as needed. |
|
24 | 24 | * @return bool Always returns true. |
25 | 25 | */ |
26 | 26 | public function execute() |
@@ -40,8 +40,9 @@ discard block |
||
40 | 40 | 'last_comment' => $this->_details['comment_id'], |
41 | 41 | ) |
42 | 42 | ); |
43 | - while ($row = $smcFunc['db_fetch_row']($request)) |
|
44 | - $possible_members[] = $row[0]; |
|
43 | + while ($row = $smcFunc['db_fetch_row']($request)) { |
|
44 | + $possible_members[] = $row[0]; |
|
45 | + } |
|
45 | 46 | $smcFunc['db_free_result']($request); |
46 | 47 | |
47 | 48 | // Presumably, there are some people? |
@@ -50,8 +51,9 @@ discard block |
||
50 | 51 | $possible_members = array_flip(array_flip($possible_members)); |
51 | 52 | $possible_members = array_diff($possible_members, array($this->_details['sender_id'])); |
52 | 53 | } |
53 | - if (empty($possible_members)) |
|
54 | - return true; |
|
54 | + if (empty($possible_members)) { |
|
55 | + return true; |
|
56 | + } |
|
55 | 57 | |
56 | 58 | // We need to know who can moderate this board - and therefore who can see this report. |
57 | 59 | // First up, people who have moderate_board in the board this topic was in. |
@@ -73,8 +75,9 @@ discard block |
||
73 | 75 | { |
74 | 76 | foreach ($alert_bits as $type => $bitvalue) |
75 | 77 | { |
76 | - if ($pref_option['member_report_reply'] & $bitvalue) |
|
77 | - $notifies[$type][] = $member; |
|
78 | + if ($pref_option['member_report_reply'] & $bitvalue) { |
|
79 | + $notifies[$type][] = $member; |
|
80 | + } |
|
78 | 81 | } |
79 | 82 | } |
80 | 83 | |
@@ -136,8 +139,9 @@ discard block |
||
136 | 139 | ); |
137 | 140 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
138 | 141 | { |
139 | - if (empty($row['lngfile'])) |
|
140 | - $row['lngfile'] = $language; |
|
142 | + if (empty($row['lngfile'])) { |
|
143 | + $row['lngfile'] = $language; |
|
144 | + } |
|
141 | 145 | $emails[$row['lngfile']][$row['id_member']] = $row['email_address']; |
142 | 146 | } |
143 | 147 | $smcFunc['db_free_result']($request); |
@@ -155,8 +159,9 @@ discard block |
||
155 | 159 | $emaildata = loadEmailTemplate('reply_to_user_reports', $replacements, empty($modSettings['userLanguage']) ? $language : $this_lang); |
156 | 160 | |
157 | 161 | // And do the actual sending... |
158 | - foreach ($recipients as $id_member => $email_address) |
|
159 | - sendmail($email_address, $emaildata['subject'], $emaildata['body'], null, 'urptrpy' . $this->_details['comment_id'], $emaildata['is_html'], 3); |
|
162 | + foreach ($recipients as $id_member => $email_address) { |
|
163 | + sendmail($email_address, $emaildata['subject'], $emaildata['body'], null, 'urptrpy' . $this->_details['comment_id'], $emaildata['is_html'], 3); |
|
164 | + } |
|
160 | 165 | } |
161 | 166 | } |
162 | 167 |
@@ -18,7 +18,7 @@ |
||
18 | 18 | class ApproveReply_Notify_Background extends SMF_BackgroundTask |
19 | 19 | { |
20 | 20 | /** |
21 | - * This executes the task - loads up the information, puts the email in the queue and inserts alerts. |
|
21 | + * This executes the task - loads up the information, puts the email in the queue and inserts alerts. |
|
22 | 22 | * @return bool Always returns true. |
23 | 23 | */ |
24 | 24 | public function execute() |
@@ -96,14 +96,15 @@ |
||
96 | 96 | } |
97 | 97 | |
98 | 98 | // Insert the alerts if any |
99 | - if (!empty($alert_rows)) |
|
100 | - $smcFunc['db_insert']('', |
|
99 | + if (!empty($alert_rows)) { |
|
100 | + $smcFunc['db_insert']('', |
|
101 | 101 | '{db_prefix}user_alerts', |
102 | 102 | array('alert_time' => 'int', 'id_member' => 'int', 'id_member_started' => 'int', 'member_name' => 'string', |
103 | 103 | 'content_type' => 'string', 'content_id' => 'int', 'content_action' => 'string', 'is_read' => 'int', 'extra' => 'string'), |
104 | 104 | $alert_rows, |
105 | 105 | array() |
106 | 106 | ); |
107 | + } |
|
107 | 108 | |
108 | 109 | return true; |
109 | 110 | } |
@@ -20,7 +20,7 @@ |
||
20 | 20 | class GroupReq_Notify_Background extends SMF_BackgroundTask |
21 | 21 | { |
22 | 22 | /** |
23 | - * This executes the task - loads up the information, puts the email in the queue and inserts any alerts as needed. |
|
23 | + * This executes the task - loads up the information, puts the email in the queue and inserts any alerts as needed. |
|
24 | 24 | * @return bool Always returns true. |
25 | 25 | */ |
26 | 26 | public function execute() |
@@ -37,8 +37,9 @@ discard block |
||
37 | 37 | ) |
38 | 38 | ); |
39 | 39 | $moderators = array(); |
40 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
41 | - $moderators[] = $row['id_member']; |
|
40 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
41 | + $moderators[] = $row['id_member']; |
|
42 | + } |
|
42 | 43 | $smcFunc['db_free_result']($request); |
43 | 44 | |
44 | 45 | require_once($sourcedir . '/Subs-Members.php'); |
@@ -59,11 +60,13 @@ discard block |
||
59 | 60 | { |
60 | 61 | if (!empty($prefs[$mod]['request_group'])) |
61 | 62 | { |
62 | - if ($prefs[$mod]['request_group'] & 0x01) |
|
63 | - $data['alert'][] = $mod; |
|
63 | + if ($prefs[$mod]['request_group'] & 0x01) { |
|
64 | + $data['alert'][] = $mod; |
|
65 | + } |
|
64 | 66 | |
65 | - if ($prefs[$mod]['request_group'] & 0x02) |
|
66 | - $data['email'][] = $mod; |
|
67 | + if ($prefs[$mod]['request_group'] & 0x02) { |
|
68 | + $data['email'][] = $mod; |
|
69 | + } |
|
67 | 70 | } |
68 | 71 | } |
69 | 72 |
@@ -11,8 +11,9 @@ discard block |
||
11 | 11 | * @version 2.1 Beta 3 |
12 | 12 | */ |
13 | 13 | |
14 | -if (!defined('SMF')) |
|
14 | +if (!defined('SMF')) { |
|
15 | 15 | die('Hacking attempt...'); |
16 | +} |
|
16 | 17 | |
17 | 18 | /** |
18 | 19 | * Our Cache API class |
@@ -46,8 +47,9 @@ discard block |
||
46 | 47 | |
47 | 48 | $supported = function_exists('xcache_get') && function_exists('xcache_set') && ini_get('xcache.var_size') > 0; |
48 | 49 | |
49 | - if ($test) |
|
50 | - return $supported; |
|
50 | + if ($test) { |
|
51 | + return $supported; |
|
52 | + } |
|
51 | 53 | return parent::isSupported() && $supported; |
52 | 54 | } |
53 | 55 | |
@@ -68,10 +70,11 @@ discard block |
||
68 | 70 | { |
69 | 71 | $key = $this->prefix . strtr($key, ':/', '-_'); |
70 | 72 | |
71 | - if ($value === null) |
|
72 | - return xcache_unset($key); |
|
73 | - else |
|
74 | - return xcache_set($key, $value, $ttl); |
|
73 | + if ($value === null) { |
|
74 | + return xcache_unset($key); |
|
75 | + } else { |
|
76 | + return xcache_set($key, $value, $ttl); |
|
77 | + } |
|
75 | 78 | } |
76 | 79 | |
77 | 80 | /** |
@@ -90,10 +93,12 @@ discard block |
||
90 | 93 | } |
91 | 94 | |
92 | 95 | // if passed a type, clear that type out |
93 | - if ($type === '' || $type === 'user') |
|
94 | - xcache_clear_cache(XC_TYPE_VAR, 0); |
|
95 | - if ($type === '' || $type === 'data') |
|
96 | - xcache_clear_cache(XC_TYPE_PHP, 0); |
|
96 | + if ($type === '' || $type === 'user') { |
|
97 | + xcache_clear_cache(XC_TYPE_VAR, 0); |
|
98 | + } |
|
99 | + if ($type === '' || $type === 'data') { |
|
100 | + xcache_clear_cache(XC_TYPE_PHP, 0); |
|
101 | + } |
|
97 | 102 | |
98 | 103 | $this->invalidateCache(); |
99 | 104 | return true; |
@@ -112,8 +117,9 @@ discard block |
||
112 | 117 | // While we could md5 this when saving, this could be tricky to be sure it doesn't get corrupted on additional saves. |
113 | 118 | $config_vars[] = array('xcache_adminpass', $txt['cache_xcache_adminpass'], 'db', 'text', 0); |
114 | 119 | |
115 | - if (!isset($context['settings_post_javascript'])) |
|
116 | - $context['settings_post_javascript'] = ''; |
|
120 | + if (!isset($context['settings_post_javascript'])) { |
|
121 | + $context['settings_post_javascript'] = ''; |
|
122 | + } |
|
117 | 123 | |
118 | 124 | $context['settings_post_javascript'] .= ' |
119 | 125 | $("#cache_accelerator").change(function (e) { |
@@ -13,8 +13,9 @@ discard block |
||
13 | 13 | * @version 2.1 Beta 3 |
14 | 14 | */ |
15 | 15 | |
16 | -if (!defined('SMF')) |
|
16 | +if (!defined('SMF')) { |
|
17 | 17 | die('No direct access...'); |
18 | +} |
|
18 | 19 | |
19 | 20 | /** |
20 | 21 | * Activate an account. |
@@ -48,8 +49,9 @@ discard block |
||
48 | 49 | logAction('approve_member', array('member' => $memID), 'admin'); |
49 | 50 | |
50 | 51 | // If we are doing approval, update the stats for the member just in case. |
51 | - if (in_array($user_profile[$memID]['is_activated'], array(3, 4, 5, 13, 14, 15))) |
|
52 | - updateSettings(array('unapprovedMembers' => ($modSettings['unapprovedMembers'] > 1 ? $modSettings['unapprovedMembers'] - 1 : 0))); |
|
52 | + if (in_array($user_profile[$memID]['is_activated'], array(3, 4, 5, 13, 14, 15))) { |
|
53 | + updateSettings(array('unapprovedMembers' => ($modSettings['unapprovedMembers'] > 1 ? $modSettings['unapprovedMembers'] - 1 : 0))); |
|
54 | + } |
|
53 | 55 | |
54 | 56 | // Make sure we update the stats too. |
55 | 57 | updateStats('member', false); |
@@ -76,8 +78,9 @@ discard block |
||
76 | 78 | $issueErrors = array(); |
77 | 79 | |
78 | 80 | // Doesn't hurt to be overly cautious. |
79 | - if (empty($modSettings['warning_enable']) || ($context['user']['is_owner'] && !$cur_profile['warning']) || !allowedTo('issue_warning')) |
|
80 | - fatal_lang_error('no_access', false); |
|
81 | + if (empty($modSettings['warning_enable']) || ($context['user']['is_owner'] && !$cur_profile['warning']) || !allowedTo('issue_warning')) { |
|
82 | + fatal_lang_error('no_access', false); |
|
83 | + } |
|
81 | 84 | |
82 | 85 | // Get the base (errors related) stuff done. |
83 | 86 | loadLanguage('Errors'); |
@@ -135,16 +138,18 @@ discard block |
||
135 | 138 | |
136 | 139 | // This cannot be empty! |
137 | 140 | $_POST['warn_reason'] = isset($_POST['warn_reason']) ? trim($_POST['warn_reason']) : ''; |
138 | - if ($_POST['warn_reason'] == '' && !$context['user']['is_owner']) |
|
139 | - $issueErrors[] = 'warning_no_reason'; |
|
141 | + if ($_POST['warn_reason'] == '' && !$context['user']['is_owner']) { |
|
142 | + $issueErrors[] = 'warning_no_reason'; |
|
143 | + } |
|
140 | 144 | $_POST['warn_reason'] = $smcFunc['htmlspecialchars']($_POST['warn_reason']); |
141 | 145 | |
142 | 146 | $_POST['warning_level'] = (int) $_POST['warning_level']; |
143 | 147 | $_POST['warning_level'] = max(0, min(100, $_POST['warning_level'])); |
144 | - if ($_POST['warning_level'] < $context['min_allowed']) |
|
145 | - $_POST['warning_level'] = $context['min_allowed']; |
|
146 | - elseif ($_POST['warning_level'] > $context['max_allowed']) |
|
147 | - $_POST['warning_level'] = $context['max_allowed']; |
|
148 | + if ($_POST['warning_level'] < $context['min_allowed']) { |
|
149 | + $_POST['warning_level'] = $context['min_allowed']; |
|
150 | + } elseif ($_POST['warning_level'] > $context['max_allowed']) { |
|
151 | + $_POST['warning_level'] = $context['max_allowed']; |
|
152 | + } |
|
148 | 153 | |
149 | 154 | // Do we actually have to issue them with a PM? |
150 | 155 | $id_notice = 0; |
@@ -152,8 +157,9 @@ discard block |
||
152 | 157 | { |
153 | 158 | $_POST['warn_sub'] = trim($_POST['warn_sub']); |
154 | 159 | $_POST['warn_body'] = trim($_POST['warn_body']); |
155 | - if (empty($_POST['warn_sub']) || empty($_POST['warn_body'])) |
|
156 | - $issueErrors[] = 'warning_notify_blank'; |
|
160 | + if (empty($_POST['warn_sub']) || empty($_POST['warn_body'])) { |
|
161 | + $issueErrors[] = 'warning_notify_blank'; |
|
162 | + } |
|
157 | 163 | // Send the PM? |
158 | 164 | else |
159 | 165 | { |
@@ -190,8 +196,8 @@ discard block |
||
190 | 196 | if (empty($issueErrors)) |
191 | 197 | { |
192 | 198 | // Log what we've done! |
193 | - if (!$context['user']['is_owner']) |
|
194 | - $smcFunc['db_insert']('', |
|
199 | + if (!$context['user']['is_owner']) { |
|
200 | + $smcFunc['db_insert']('', |
|
195 | 201 | '{db_prefix}log_comments', |
196 | 202 | array( |
197 | 203 | 'id_member' => 'int', 'member_name' => 'string', 'comment_type' => 'string', 'id_recipient' => 'int', 'recipient_name' => 'string-255', |
@@ -203,14 +209,14 @@ discard block |
||
203 | 209 | ), |
204 | 210 | array('id_comment') |
205 | 211 | ); |
212 | + } |
|
206 | 213 | |
207 | 214 | // Make the change. |
208 | 215 | updateMemberData($memID, array('warning' => $_POST['warning_level'])); |
209 | 216 | |
210 | 217 | // Leave a lovely message. |
211 | 218 | $context['profile_updated'] = $context['user']['is_owner'] ? $txt['profile_updated_own'] : $txt['profile_warning_success']; |
212 | - } |
|
213 | - else |
|
219 | + } else |
|
214 | 220 | { |
215 | 221 | // Try to remember some bits. |
216 | 222 | $context['warning_data'] = array( |
@@ -229,8 +235,9 @@ discard block |
||
229 | 235 | { |
230 | 236 | $warning_body = !empty($_POST['warn_body']) ? trim(censorText($_POST['warn_body'])) : ''; |
231 | 237 | $context['preview_subject'] = !empty($_POST['warn_sub']) ? trim($smcFunc['htmlspecialchars']($_POST['warn_sub'])) : ''; |
232 | - if (empty($_POST['warn_sub']) || empty($_POST['warn_body'])) |
|
233 | - $issueErrors[] = 'warning_notify_blank'; |
|
238 | + if (empty($_POST['warn_sub']) || empty($_POST['warn_body'])) { |
|
239 | + $issueErrors[] = 'warning_notify_blank'; |
|
240 | + } |
|
234 | 241 | |
235 | 242 | if (!empty($_POST['warn_body'])) |
236 | 243 | { |
@@ -254,8 +261,9 @@ discard block |
||
254 | 261 | { |
255 | 262 | // Fill in the suite of errors. |
256 | 263 | $context['post_errors'] = array(); |
257 | - foreach ($issueErrors as $error) |
|
258 | - $context['post_errors'][] = $txt[$error]; |
|
264 | + foreach ($issueErrors as $error) { |
|
265 | + $context['post_errors'][] = $txt[$error]; |
|
266 | + } |
|
259 | 267 | } |
260 | 268 | |
261 | 269 | |
@@ -272,9 +280,10 @@ discard block |
||
272 | 280 | $modSettings['warning_mute'] => $txt['profile_warning_effect_mute'], |
273 | 281 | ); |
274 | 282 | $context['current_level'] = 0; |
275 | - foreach ($context['level_effects'] as $limit => $dummy) |
|
276 | - if ($context['member']['warning'] >= $limit) |
|
283 | + foreach ($context['level_effects'] as $limit => $dummy) { |
|
284 | + if ($context['member']['warning'] >= $limit) |
|
277 | 285 | $context['current_level'] = $limit; |
286 | + } |
|
278 | 287 | |
279 | 288 | $listOptions = array( |
280 | 289 | 'id' => 'view_warnings', |
@@ -337,11 +346,12 @@ discard block |
||
337 | 346 | ' . $warning['reason'] . ' |
338 | 347 | </div>'; |
339 | 348 | |
340 | - if (!empty($warning['id_notice'])) |
|
341 | - $ret .= ' |
|
349 | + if (!empty($warning['id_notice'])) { |
|
350 | + $ret .= ' |
|
342 | 351 | <div class="floatright"> |
343 | 352 | <a href="' . $scripturl . '?action=moderate;area=notice;nid=' . $warning['id_notice'] . '" onclick="window.open(this.href, \'\', \'scrollbars=yes,resizable=yes,width=400,height=250\');return false;" target="_blank" class="new_win" title="' . $txt['profile_warning_previous_notice'] . '"><span class="generic_icons filter centericon"></span></a> |
344 | 353 | </div>'; |
354 | + } |
|
345 | 355 | |
346 | 356 | return $ret; |
347 | 357 | }, |
@@ -413,8 +423,9 @@ discard block |
||
413 | 423 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
414 | 424 | { |
415 | 425 | // If we're not warning for a message skip any that are. |
416 | - if (!$context['warning_for_message'] && strpos($row['body'], '{MESSAGE}') !== false) |
|
417 | - continue; |
|
426 | + if (!$context['warning_for_message'] && strpos($row['body'], '{MESSAGE}') !== false) { |
|
427 | + continue; |
|
428 | + } |
|
418 | 429 | |
419 | 430 | $context['notification_templates'][] = array( |
420 | 431 | 'title' => $row['template_title'], |
@@ -424,16 +435,18 @@ discard block |
||
424 | 435 | $smcFunc['db_free_result']($request); |
425 | 436 | |
426 | 437 | // Setup the "default" templates. |
427 | - foreach (array('spamming', 'offence', 'insulting') as $type) |
|
428 | - $context['notification_templates'][] = array( |
|
438 | + foreach (array('spamming', 'offence', 'insulting') as $type) { |
|
439 | + $context['notification_templates'][] = array( |
|
429 | 440 | 'title' => $txt['profile_warning_notify_title_' . $type], |
430 | 441 | 'body' => sprintf($txt['profile_warning_notify_template_outline' . (!empty($context['warning_for_message']) ? '_post' : '')], $txt['profile_warning_notify_for_' . $type]), |
431 | 442 | ); |
443 | + } |
|
432 | 444 | |
433 | 445 | // Replace all the common variables in the templates. |
434 | - foreach ($context['notification_templates'] as $k => $name) |
|
435 | - $context['notification_templates'][$k]['body'] = strtr($name['body'], array('{MEMBER}' => un_htmlspecialchars($context['member']['name']), '{MESSAGE}' => '[url=' . $scripturl . '?msg=' . $context['warning_for_message'] . ']' . un_htmlspecialchars($context['warned_message_subject']) . '[/url]', '{SCRIPTURL}' => $scripturl, '{FORUMNAME}' => $mbname, '{REGARDS}' => $txt['regards_team'])); |
|
436 | -} |
|
446 | + foreach ($context['notification_templates'] as $k => $name) { |
|
447 | + $context['notification_templates'][$k]['body'] = strtr($name['body'], array('{MEMBER}' => un_htmlspecialchars($context['member']['name']), '{MESSAGE}' => '[url=' . $scripturl . '?msg=' . $context['warning_for_message'] . ']' . un_htmlspecialchars($context['warned_message_subject']) . '[/url]', '{SCRIPTURL}' => $scripturl, '{FORUMNAME}' => $mbname, '{REGARDS}' => $txt['regards_team'])); |
|
448 | + } |
|
449 | + } |
|
437 | 450 | |
438 | 451 | /** |
439 | 452 | * Get the number of warnings a user has. Callback for $listOptions['get_count'] in issueWarning() |
@@ -517,10 +530,11 @@ discard block |
||
517 | 530 | { |
518 | 531 | global $txt, $context, $modSettings, $cur_profile; |
519 | 532 | |
520 | - if (!$context['user']['is_owner']) |
|
521 | - isAllowedTo('profile_remove_any'); |
|
522 | - elseif (!allowedTo('profile_remove_any')) |
|
523 | - isAllowedTo('profile_remove_own'); |
|
533 | + if (!$context['user']['is_owner']) { |
|
534 | + isAllowedTo('profile_remove_any'); |
|
535 | + } elseif (!allowedTo('profile_remove_any')) { |
|
536 | + isAllowedTo('profile_remove_own'); |
|
537 | + } |
|
524 | 538 | |
525 | 539 | // Permissions for removing stuff... |
526 | 540 | $context['can_delete_posts'] = !$context['user']['is_owner'] && allowedTo('moderate_forum'); |
@@ -547,10 +561,11 @@ discard block |
||
547 | 561 | |
548 | 562 | // @todo Add a way to delete pms as well? |
549 | 563 | |
550 | - if (!$context['user']['is_owner']) |
|
551 | - isAllowedTo('profile_remove_any'); |
|
552 | - elseif (!allowedTo('profile_remove_any')) |
|
553 | - isAllowedTo('profile_remove_own'); |
|
564 | + if (!$context['user']['is_owner']) { |
|
565 | + isAllowedTo('profile_remove_any'); |
|
566 | + } elseif (!allowedTo('profile_remove_any')) { |
|
567 | + isAllowedTo('profile_remove_own'); |
|
568 | + } |
|
554 | 569 | |
555 | 570 | checkSession(); |
556 | 571 | |
@@ -576,8 +591,9 @@ discard block |
||
576 | 591 | list ($another) = $smcFunc['db_fetch_row']($request); |
577 | 592 | $smcFunc['db_free_result']($request); |
578 | 593 | |
579 | - if (empty($another)) |
|
580 | - fatal_lang_error('at_least_one_admin', 'critical'); |
|
594 | + if (empty($another)) { |
|
595 | + fatal_lang_error('at_least_one_admin', 'critical'); |
|
596 | + } |
|
581 | 597 | } |
582 | 598 | |
583 | 599 | // This file is needed for the deleteMembers function. |
@@ -656,8 +672,9 @@ discard block |
||
656 | 672 | ) |
657 | 673 | ); |
658 | 674 | $topicIDs = array(); |
659 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
660 | - $topicIDs[] = $row['id_topic']; |
|
675 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
676 | + $topicIDs[] = $row['id_topic']; |
|
677 | + } |
|
661 | 678 | $smcFunc['db_free_result']($request); |
662 | 679 | |
663 | 680 | // Actually remove the topics. Ignore recycling if we want to perma-delete things... |
@@ -680,8 +697,9 @@ discard block |
||
680 | 697 | // This could take a while... but ya know it's gonna be worth it in the end. |
681 | 698 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
682 | 699 | { |
683 | - if (function_exists('apache_reset_timeout')) |
|
684 | - @apache_reset_timeout(); |
|
700 | + if (function_exists('apache_reset_timeout')) { |
|
701 | + @apache_reset_timeout(); |
|
702 | + } |
|
685 | 703 | |
686 | 704 | removeMessage($row['id_msg']); |
687 | 705 | } |
@@ -689,8 +707,9 @@ discard block |
||
689 | 707 | } |
690 | 708 | |
691 | 709 | // Only delete this poor members account if they are actually being booted out of camp. |
692 | - if (isset($_POST['deleteAccount'])) |
|
693 | - deleteMembers($memID); |
|
710 | + if (isset($_POST['deleteAccount'])) { |
|
711 | + deleteMembers($memID); |
|
712 | + } |
|
694 | 713 | } |
695 | 714 | // Do they need approval to delete? |
696 | 715 | elseif (!empty($modSettings['approveAccountDeletion']) && !allowedTo('moderate_forum')) |
@@ -741,18 +760,18 @@ discard block |
||
741 | 760 | { |
742 | 761 | foreach ($costs as $duration => $cost) |
743 | 762 | { |
744 | - if ($cost != 0) |
|
745 | - $cost_array[$duration] = $cost; |
|
763 | + if ($cost != 0) { |
|
764 | + $cost_array[$duration] = $cost; |
|
765 | + } |
|
746 | 766 | } |
747 | - } |
|
748 | - else |
|
767 | + } else |
|
749 | 768 | { |
750 | 769 | $cost_array['fixed'] = $costs['fixed']; |
751 | 770 | } |
752 | 771 | |
753 | - if (empty($cost_array)) |
|
754 | - unset($context['subscriptions'][$id]); |
|
755 | - else |
|
772 | + if (empty($cost_array)) { |
|
773 | + unset($context['subscriptions'][$id]); |
|
774 | + } else |
|
756 | 775 | { |
757 | 776 | $context['subscriptions'][$id]['member'] = 0; |
758 | 777 | $context['subscriptions'][$id]['subscribed'] = false; |
@@ -765,13 +784,15 @@ discard block |
||
765 | 784 | foreach ($gateways as $id => $gateway) |
766 | 785 | { |
767 | 786 | $gateways[$id] = new $gateway['display_class'](); |
768 | - if (!$gateways[$id]->gatewayEnabled()) |
|
769 | - unset($gateways[$id]); |
|
787 | + if (!$gateways[$id]->gatewayEnabled()) { |
|
788 | + unset($gateways[$id]); |
|
789 | + } |
|
770 | 790 | } |
771 | 791 | |
772 | 792 | // No gateways yet? |
773 | - if (empty($gateways)) |
|
774 | - fatal_error($txt['paid_admin_not_setup_gateway']); |
|
793 | + if (empty($gateways)) { |
|
794 | + fatal_error($txt['paid_admin_not_setup_gateway']); |
|
795 | + } |
|
775 | 796 | |
776 | 797 | // Get the current subscriptions. |
777 | 798 | $request = $smcFunc['db_query']('', ' |
@@ -786,8 +807,9 @@ discard block |
||
786 | 807 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
787 | 808 | { |
788 | 809 | // The subscription must exist! |
789 | - if (!isset($context['subscriptions'][$row['id_subscribe']])) |
|
790 | - continue; |
|
810 | + if (!isset($context['subscriptions'][$row['id_subscribe']])) { |
|
811 | + continue; |
|
812 | + } |
|
791 | 813 | |
792 | 814 | $context['current'][$row['id_subscribe']] = array( |
793 | 815 | 'id' => $row['id_sublog'], |
@@ -801,8 +823,9 @@ discard block |
||
801 | 823 | 'status_text' => $row['status'] == 0 ? ($row['payments_pending'] ? $txt['paid_pending'] : $txt['paid_finished']) : $txt['paid_active'], |
802 | 824 | ); |
803 | 825 | |
804 | - if ($row['status'] == 1) |
|
805 | - $context['subscriptions'][$row['id_subscribe']]['subscribed'] = true; |
|
826 | + if ($row['status'] == 1) { |
|
827 | + $context['subscriptions'][$row['id_subscribe']]['subscribed'] = true; |
|
828 | + } |
|
806 | 829 | } |
807 | 830 | $smcFunc['db_free_result']($request); |
808 | 831 | |
@@ -853,21 +876,25 @@ discard block |
||
853 | 876 | if (isset($_GET['confirm']) && isset($_POST['sub_id']) && is_array($_POST['sub_id'])) |
854 | 877 | { |
855 | 878 | // Hopefully just one. |
856 | - foreach ($_POST['sub_id'] as $k => $v) |
|
857 | - $ID_SUB = (int) $k; |
|
879 | + foreach ($_POST['sub_id'] as $k => $v) { |
|
880 | + $ID_SUB = (int) $k; |
|
881 | + } |
|
858 | 882 | |
859 | - if (!isset($context['subscriptions'][$ID_SUB]) || $context['subscriptions'][$ID_SUB]['active'] == 0) |
|
860 | - fatal_lang_error('paid_sub_not_active'); |
|
883 | + if (!isset($context['subscriptions'][$ID_SUB]) || $context['subscriptions'][$ID_SUB]['active'] == 0) { |
|
884 | + fatal_lang_error('paid_sub_not_active'); |
|
885 | + } |
|
861 | 886 | |
862 | 887 | // Simplify... |
863 | 888 | $context['sub'] = $context['subscriptions'][$ID_SUB]; |
864 | 889 | $period = 'xx'; |
865 | - if ($context['sub']['flexible']) |
|
866 | - $period = isset($_POST['cur'][$ID_SUB]) && isset($context['sub']['costs'][$_POST['cur'][$ID_SUB]]) ? $_POST['cur'][$ID_SUB] : 'xx'; |
|
890 | + if ($context['sub']['flexible']) { |
|
891 | + $period = isset($_POST['cur'][$ID_SUB]) && isset($context['sub']['costs'][$_POST['cur'][$ID_SUB]]) ? $_POST['cur'][$ID_SUB] : 'xx'; |
|
892 | + } |
|
867 | 893 | |
868 | 894 | // Check we have a valid cost. |
869 | - if ($context['sub']['flexible'] && $period == 'xx') |
|
870 | - fatal_lang_error('paid_sub_not_active'); |
|
895 | + if ($context['sub']['flexible'] && $period == 'xx') { |
|
896 | + fatal_lang_error('paid_sub_not_active'); |
|
897 | + } |
|
871 | 898 | |
872 | 899 | // Sort out the cost/currency. |
873 | 900 | $context['currency'] = $modSettings['paid_currency_code']; |
@@ -880,8 +907,7 @@ discard block |
||
880 | 907 | $context['cost'] = sprintf($modSettings['paid_currency_symbol'], $context['value']) . '/' . $txt[$_POST['cur'][$ID_SUB]]; |
881 | 908 | // The period value for paypal. |
882 | 909 | $context['paypal_period'] = strtoupper(substr($_POST['cur'][$ID_SUB], 0, 1)); |
883 | - } |
|
884 | - else |
|
910 | + } else |
|
885 | 911 | { |
886 | 912 | // Real cost... |
887 | 913 | $context['value'] = $context['sub']['costs']['fixed']; |
@@ -898,13 +924,15 @@ discard block |
||
898 | 924 | foreach ($gateways as $id => $gateway) |
899 | 925 | { |
900 | 926 | $fields = $gateways[$id]->fetchGatewayFields($context['sub']['id'] . '+' . $memID, $context['sub'], $context['value'], $period, $scripturl . '?action=profile;u=' . $memID . ';area=subscriptions;sub_id=' . $context['sub']['id'] . ';done'); |
901 | - if (!empty($fields['form'])) |
|
902 | - $context['gateways'][] = $fields; |
|
927 | + if (!empty($fields['form'])) { |
|
928 | + $context['gateways'][] = $fields; |
|
929 | + } |
|
903 | 930 | } |
904 | 931 | |
905 | 932 | // Bugger?! |
906 | - if (empty($context['gateways'])) |
|
907 | - fatal_error($txt['paid_admin_not_setup_gateway']); |
|
933 | + if (empty($context['gateways'])) { |
|
934 | + fatal_error($txt['paid_admin_not_setup_gateway']); |
|
935 | + } |
|
908 | 936 | |
909 | 937 | // Now we are going to assume they want to take this out ;) |
910 | 938 | $new_data = array($context['sub']['id'], $context['value'], $period, 'prepay'); |
@@ -912,16 +940,19 @@ discard block |
||
912 | 940 | { |
913 | 941 | // What are the details like? |
914 | 942 | $current_pending = array(); |
915 | - if ($context['current'][$context['sub']['id']]['pending_details'] != '') |
|
916 | - $current_pending = smf_json_decode($context['current'][$context['sub']['id']]['pending_details'], true); |
|
943 | + if ($context['current'][$context['sub']['id']]['pending_details'] != '') { |
|
944 | + $current_pending = smf_json_decode($context['current'][$context['sub']['id']]['pending_details'], true); |
|
945 | + } |
|
917 | 946 | // Don't get silly. |
918 | - if (count($current_pending) > 9) |
|
919 | - $current_pending = array(); |
|
947 | + if (count($current_pending) > 9) { |
|
948 | + $current_pending = array(); |
|
949 | + } |
|
920 | 950 | $pending_count = 0; |
921 | 951 | // Only record real pending payments as will otherwise confuse the admin! |
922 | - foreach ($current_pending as $pending) |
|
923 | - if ($pending[3] == 'payback') |
|
952 | + foreach ($current_pending as $pending) { |
|
953 | + if ($pending[3] == 'payback') |
|
924 | 954 | $pending_count++; |
955 | + } |
|
925 | 956 | |
926 | 957 | if (!in_array($new_data, $current_pending)) |
927 | 958 | { |
@@ -966,9 +997,9 @@ discard block |
||
966 | 997 | |
967 | 998 | // Quit. |
968 | 999 | return; |
1000 | + } else { |
|
1001 | + $context['sub_template'] = 'user_subscription'; |
|
1002 | + } |
|
969 | 1003 | } |
970 | - else |
|
971 | - $context['sub_template'] = 'user_subscription'; |
|
972 | -} |
|
973 | 1004 | |
974 | 1005 | ?> |
975 | 1006 | \ No newline at end of file |
@@ -16,8 +16,9 @@ discard block |
||
16 | 16 | * @version 2.1 Beta 3 |
17 | 17 | */ |
18 | 18 | |
19 | -if (!defined('SMF')) |
|
19 | +if (!defined('SMF')) { |
|
20 | 20 | die('No direct access...'); |
21 | +} |
|
21 | 22 | |
22 | 23 | |
23 | 24 | /** |
@@ -28,14 +29,16 @@ discard block |
||
28 | 29 | function sha1_smf($str) |
29 | 30 | { |
30 | 31 | // If we have mhash loaded in, use it instead! |
31 | - if (function_exists('mhash') && defined('MHASH_SHA1')) |
|
32 | - return bin2hex(mhash(MHASH_SHA1, $str)); |
|
32 | + if (function_exists('mhash') && defined('MHASH_SHA1')) { |
|
33 | + return bin2hex(mhash(MHASH_SHA1, $str)); |
|
34 | + } |
|
33 | 35 | |
34 | 36 | $nblk = (strlen($str) + 8 >> 6) + 1; |
35 | 37 | $blks = array_pad(array(), $nblk * 16, 0); |
36 | 38 | |
37 | - for ($i = 0; $i < strlen($str); $i++) |
|
38 | - $blks[$i >> 2] |= ord($str{$i}) << (24 - ($i % 4) * 8); |
|
39 | + for ($i = 0; $i < strlen($str); $i++) { |
|
40 | + $blks[$i >> 2] |= ord($str{$i}) << (24 - ($i % 4) * 8); |
|
41 | + } |
|
39 | 42 | |
40 | 43 | $blks[$i >> 2] |= 0x80 << (24 - ($i % 4) * 8); |
41 | 44 | |
@@ -70,10 +73,11 @@ discard block |
||
70 | 73 | |
71 | 74 | for ($j = 0; $j < 80; $j++) |
72 | 75 | { |
73 | - if ($j < 16) |
|
74 | - $w[$j] = isset($x[$i + $j]) ? $x[$i + $j] : 0; |
|
75 | - else |
|
76 | - $w[$j] = sha1_rol($w[$j - 3] ^ $w[$j - 8] ^ $w[$j - 14] ^ $w[$j - 16], 1); |
|
76 | + if ($j < 16) { |
|
77 | + $w[$j] = isset($x[$i + $j]) ? $x[$i + $j] : 0; |
|
78 | + } else { |
|
79 | + $w[$j] = sha1_rol($w[$j - 3] ^ $w[$j - 8] ^ $w[$j - 14] ^ $w[$j - 16], 1); |
|
80 | + } |
|
77 | 81 | |
78 | 82 | $t = sha1_rol($a, 5) + sha1_ft($j, $b, $c, $d) + $e + $w[$j] + sha1_kt($j); |
79 | 83 | $e = $d; |
@@ -103,12 +107,15 @@ discard block |
||
103 | 107 | */ |
104 | 108 | function sha1_ft($t, $b, $c, $d) |
105 | 109 | { |
106 | - if ($t < 20) |
|
107 | - return ($b & $c) | ((~$b) & $d); |
|
108 | - if ($t < 40) |
|
109 | - return $b ^ $c ^ $d; |
|
110 | - if ($t < 60) |
|
111 | - return ($b & $c) | ($b & $d) | ($c & $d); |
|
110 | + if ($t < 20) { |
|
111 | + return ($b & $c) | ((~$b) & $d); |
|
112 | + } |
|
113 | + if ($t < 40) { |
|
114 | + return $b ^ $c ^ $d; |
|
115 | + } |
|
116 | + if ($t < 60) { |
|
117 | + return ($b & $c) | ($b & $d) | ($c & $d); |
|
118 | + } |
|
112 | 119 | |
113 | 120 | return $b ^ $c ^ $d; |
114 | 121 | } |
@@ -132,10 +139,11 @@ discard block |
||
132 | 139 | function sha1_rol($num, $cnt) |
133 | 140 | { |
134 | 141 | // Unfortunately, PHP uses unsigned 32-bit longs only. So we have to kludge it a bit. |
135 | - if ($num & 0x80000000) |
|
136 | - $a = ($num >> 1 & 0x7fffffff) >> (31 - $cnt); |
|
137 | - else |
|
138 | - $a = $num >> (32 - $cnt); |
|
142 | + if ($num & 0x80000000) { |
|
143 | + $a = ($num >> 1 & 0x7fffffff) >> (31 - $cnt); |
|
144 | + } else { |
|
145 | + $a = $num >> (32 - $cnt); |
|
146 | + } |
|
139 | 147 | |
140 | 148 | return ($num << $cnt) | $a; |
141 | 149 | } |
@@ -240,8 +240,8 @@ |
||
240 | 240 | $time_string = str_replace(array('%I', '%H', '%S', '%r', '%R', '%T'), array('%l', '%k', '', '%l:%M %p', '%k:%M', '%l:%M'), $matches[0]); |
241 | 241 | |
242 | 242 | $js_time_string = str_replace( |
243 | - array('%H', '%k', '%I', '%l', '%M', '%p', '%P', '%r', '%R', '%S', '%T', '%X'), |
|
244 | - array('H', 'G', 'h', 'g', 'i', 'A', 'a', 'h:i:s A', 'H:i', 's', 'H:i:s', 'H:i:s'), |
|
243 | + array('%H', '%k', '%I', '%l', '%M', '%p', '%P', '%r', '%R', '%S', '%T', '%X'), |
|
244 | + array('H', 'G', 'h', 'g', 'i', 'A', 'a', 'h:i:s A', 'H:i', 's', 'H:i:s', 'H:i:s'), |
|
245 | 245 | $time_string |
246 | 246 | ); |
247 | 247 |
@@ -14,8 +14,9 @@ discard block |
||
14 | 14 | * @version 2.1 Beta 3 |
15 | 15 | */ |
16 | 16 | |
17 | -if (!defined('SMF')) |
|
17 | +if (!defined('SMF')) { |
|
18 | 18 | die('No direct access...'); |
19 | +} |
|
19 | 20 | |
20 | 21 | /** |
21 | 22 | * Show the calendar. |
@@ -47,12 +48,14 @@ discard block |
||
47 | 48 | 'post' => 'CalendarPost', |
48 | 49 | ); |
49 | 50 | |
50 | - if (isset($_GET['sa']) && isset($subActions[$_GET['sa']])) |
|
51 | - return call_helper($subActions[$_GET['sa']]); |
|
51 | + if (isset($_GET['sa']) && isset($subActions[$_GET['sa']])) { |
|
52 | + return call_helper($subActions[$_GET['sa']]); |
|
53 | + } |
|
52 | 54 | |
53 | 55 | // You can't do anything if the calendar is off. |
54 | - if (empty($modSettings['cal_enabled'])) |
|
55 | - fatal_lang_error('calendar_off', false); |
|
56 | + if (empty($modSettings['cal_enabled'])) { |
|
57 | + fatal_lang_error('calendar_off', false); |
|
58 | + } |
|
56 | 59 | |
57 | 60 | // This is gonna be needed... |
58 | 61 | loadTemplate('Calendar'); |
@@ -80,8 +83,9 @@ discard block |
||
80 | 83 | $_REQUEST['month'] = (int) $_REQUEST['month']; |
81 | 84 | |
82 | 85 | // We want month view. |
83 | - if (empty($_GET['viewmonth'])) |
|
84 | - $_GET['viewmonth'] = true; |
|
86 | + if (empty($_GET['viewmonth'])) { |
|
87 | + $_GET['viewmonth'] = true; |
|
88 | + } |
|
85 | 89 | |
86 | 90 | // And we definitely don't want weekly view. |
87 | 91 | unset ($_GET['viewweek']); |
@@ -98,22 +102,25 @@ discard block |
||
98 | 102 | $context['page_title'] = $txt['calendar']; |
99 | 103 | |
100 | 104 | // Ensure a default view is defined |
101 | - if (empty($modSettings['calendar_default_view'])) |
|
102 | - $modSettings['calendar_default_view'] = 'view_list'; |
|
105 | + if (empty($modSettings['calendar_default_view'])) { |
|
106 | + $modSettings['calendar_default_view'] = 'view_list'; |
|
107 | + } |
|
103 | 108 | |
104 | 109 | // What view do we want? |
105 | - if (isset($_GET['viewweek'])) |
|
106 | - $context['calendar_view'] = 'view_week'; |
|
107 | - elseif (isset($_GET['viewmonth'])) |
|
108 | - $context['calendar_view'] = 'view_month'; |
|
109 | - elseif (isset($_GET['viewlist'])) |
|
110 | - $context['calendar_view'] = 'view_list'; |
|
111 | - else |
|
112 | - $context['calendar_view'] = $modSettings['calendar_default_view']; |
|
110 | + if (isset($_GET['viewweek'])) { |
|
111 | + $context['calendar_view'] = 'view_week'; |
|
112 | + } elseif (isset($_GET['viewmonth'])) { |
|
113 | + $context['calendar_view'] = 'view_month'; |
|
114 | + } elseif (isset($_GET['viewlist'])) { |
|
115 | + $context['calendar_view'] = 'view_list'; |
|
116 | + } else { |
|
117 | + $context['calendar_view'] = $modSettings['calendar_default_view']; |
|
118 | + } |
|
113 | 119 | |
114 | 120 | // Don't let search engines index the non-default calendar pages |
115 | - if ($context['calendar_view'] !== $modSettings['calendar_default_view']) |
|
116 | - $context['robot_no_index'] = true; |
|
121 | + if ($context['calendar_view'] !== $modSettings['calendar_default_view']) { |
|
122 | + $context['robot_no_index'] = true; |
|
123 | + } |
|
117 | 124 | |
118 | 125 | // Get the current day of month... |
119 | 126 | require_once($sourcedir . '/Subs-Calendar.php'); |
@@ -174,16 +181,19 @@ discard block |
||
174 | 181 | ); |
175 | 182 | |
176 | 183 | // Make sure the year and month are in valid ranges. |
177 | - if ($curPage['month'] < 1 || $curPage['month'] > 12) |
|
178 | - fatal_lang_error('invalid_month', false); |
|
179 | - if ($curPage['year'] < $modSettings['cal_minyear'] || $curPage['year'] > $modSettings['cal_maxyear']) |
|
180 | - fatal_lang_error('invalid_year', false); |
|
184 | + if ($curPage['month'] < 1 || $curPage['month'] > 12) { |
|
185 | + fatal_lang_error('invalid_month', false); |
|
186 | + } |
|
187 | + if ($curPage['year'] < $modSettings['cal_minyear'] || $curPage['year'] > $modSettings['cal_maxyear']) { |
|
188 | + fatal_lang_error('invalid_year', false); |
|
189 | + } |
|
181 | 190 | // If we have a day clean that too. |
182 | 191 | if ($context['calendar_view'] != 'view_month') |
183 | 192 | { |
184 | 193 | $isValid = checkdate($curPage['month'], $curPage['day'], $curPage['year']); |
185 | - if (!$isValid) |
|
186 | - fatal_lang_error('invalid_day', false); |
|
194 | + if (!$isValid) { |
|
195 | + fatal_lang_error('invalid_day', false); |
|
196 | + } |
|
187 | 197 | } |
188 | 198 | |
189 | 199 | // Load all the context information needed to show the calendar grid. |
@@ -205,23 +215,26 @@ discard block |
||
205 | 215 | ); |
206 | 216 | |
207 | 217 | // Load up the main view. |
208 | - if ($context['calendar_view'] == 'view_list') |
|
209 | - $context['calendar_grid_main'] = getCalendarList($curPage['start_date'], $curPage['end_date'], $calendarOptions); |
|
210 | - elseif ($context['calendar_view'] == 'view_week') |
|
211 | - $context['calendar_grid_main'] = getCalendarWeek($curPage['month'], $curPage['year'], $curPage['day'], $calendarOptions); |
|
212 | - else |
|
213 | - $context['calendar_grid_main'] = getCalendarGrid($curPage['month'], $curPage['year'], $calendarOptions); |
|
218 | + if ($context['calendar_view'] == 'view_list') { |
|
219 | + $context['calendar_grid_main'] = getCalendarList($curPage['start_date'], $curPage['end_date'], $calendarOptions); |
|
220 | + } elseif ($context['calendar_view'] == 'view_week') { |
|
221 | + $context['calendar_grid_main'] = getCalendarWeek($curPage['month'], $curPage['year'], $curPage['day'], $calendarOptions); |
|
222 | + } else { |
|
223 | + $context['calendar_grid_main'] = getCalendarGrid($curPage['month'], $curPage['year'], $calendarOptions); |
|
224 | + } |
|
214 | 225 | |
215 | 226 | // Load up the previous and next months. |
216 | 227 | $context['calendar_grid_current'] = getCalendarGrid($curPage['month'], $curPage['year'], $calendarOptions); |
217 | 228 | |
218 | 229 | // Only show previous month if it isn't pre-January of the min-year |
219 | - if ($context['calendar_grid_current']['previous_calendar']['year'] > $modSettings['cal_minyear'] || $curPage['month'] != 1) |
|
220 | - $context['calendar_grid_prev'] = getCalendarGrid($context['calendar_grid_current']['previous_calendar']['month'], $context['calendar_grid_current']['previous_calendar']['year'], $calendarOptions, true); |
|
230 | + if ($context['calendar_grid_current']['previous_calendar']['year'] > $modSettings['cal_minyear'] || $curPage['month'] != 1) { |
|
231 | + $context['calendar_grid_prev'] = getCalendarGrid($context['calendar_grid_current']['previous_calendar']['month'], $context['calendar_grid_current']['previous_calendar']['year'], $calendarOptions, true); |
|
232 | + } |
|
221 | 233 | |
222 | 234 | // Only show next month if it isn't post-December of the max-year |
223 | - if ($context['calendar_grid_current']['next_calendar']['year'] < $modSettings['cal_maxyear'] || $curPage['month'] != 12) |
|
224 | - $context['calendar_grid_next'] = getCalendarGrid($context['calendar_grid_current']['next_calendar']['month'], $context['calendar_grid_current']['next_calendar']['year'], $calendarOptions); |
|
235 | + if ($context['calendar_grid_current']['next_calendar']['year'] < $modSettings['cal_maxyear'] || $curPage['month'] != 12) { |
|
236 | + $context['calendar_grid_next'] = getCalendarGrid($context['calendar_grid_current']['next_calendar']['month'], $context['calendar_grid_current']['next_calendar']['year'], $calendarOptions); |
|
237 | + } |
|
225 | 238 | |
226 | 239 | // Basic template stuff. |
227 | 240 | $context['allow_calendar_event'] = allowedTo('calendar_post'); |
@@ -241,8 +254,9 @@ discard block |
||
241 | 254 | $context['blocks_disabled'] = !empty($modSettings['cal_disable_prev_next']) ? 1 : 0; |
242 | 255 | |
243 | 256 | // Set the page title to mention the month or week, too |
244 | - if ($context['calendar_view'] != 'view_list') |
|
245 | - $context['page_title'] .= ' - ' . ($context['calendar_view'] == 'view_week' ? $context['calendar_grid_main']['week_title'] : $txt['months'][$context['current_month']] . ' ' . $context['current_year']); |
|
257 | + if ($context['calendar_view'] != 'view_list') { |
|
258 | + $context['page_title'] .= ' - ' . ($context['calendar_view'] == 'view_week' ? $context['calendar_grid_main']['week_title'] : $txt['months'][$context['current_month']] . ' ' . $context['current_year']); |
|
259 | + } |
|
246 | 260 | |
247 | 261 | // Load up the linktree! |
248 | 262 | $context['linktree'][] = array( |
@@ -255,17 +269,19 @@ discard block |
||
255 | 269 | 'name' => $txt['months'][$context['current_month']] . ' ' . $context['current_year'] |
256 | 270 | ); |
257 | 271 | // If applicable, add the current week to the linktree. |
258 | - if ($context['calendar_view'] == 'view_week') |
|
259 | - $context['linktree'][] = array( |
|
272 | + if ($context['calendar_view'] == 'view_week') { |
|
273 | + $context['linktree'][] = array( |
|
260 | 274 | 'url' => $scripturl . '?action=calendar;viewweek;year=' . $context['current_year'] . ';month=' . $context['current_month'] . ';day=' . $context['current_day'], |
261 | 275 | 'name' => $context['calendar_grid_main']['week_title'], |
262 | 276 | ); |
277 | + } |
|
263 | 278 | |
264 | 279 | // Build the calendar button array. |
265 | 280 | $context['calendar_buttons'] = array(); |
266 | 281 | |
267 | - if ($context['can_post']) |
|
268 | - $context['calendar_buttons']['post_event'] = array('text' => 'calendar_post_event', 'image' => 'calendarpe.png', 'url' => $scripturl . '?action=calendar;sa=post;month=' . $context['current_month'] . ';year=' . $context['current_year'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
282 | + if ($context['can_post']) { |
|
283 | + $context['calendar_buttons']['post_event'] = array('text' => 'calendar_post_event', 'image' => 'calendarpe.png', 'url' => $scripturl . '?action=calendar;sa=post;month=' . $context['current_month'] . ';year=' . $context['current_year'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
284 | + } |
|
269 | 285 | |
270 | 286 | // Allow mods to add additional buttons here |
271 | 287 | call_integration_hook('integrate_calendar_buttons'); |
@@ -294,14 +310,16 @@ discard block |
||
294 | 310 | require_once($sourcedir . '/Subs.php'); |
295 | 311 | |
296 | 312 | // Cast this for safety... |
297 | - if (isset($_REQUEST['eventid'])) |
|
298 | - $_REQUEST['eventid'] = (int) $_REQUEST['eventid']; |
|
313 | + if (isset($_REQUEST['eventid'])) { |
|
314 | + $_REQUEST['eventid'] = (int) $_REQUEST['eventid']; |
|
315 | + } |
|
299 | 316 | |
300 | 317 | // We want a fairly compact version of the time, but as close as possible to the user's settings. |
301 | - if (preg_match('~%[HkIlMpPrRSTX](?:[^%]*%[HkIlMpPrRSTX])*~', $user_info['time_format'], $matches) == 0 || empty($matches[0])) |
|
302 | - $time_string = '%k:%M'; |
|
303 | - else |
|
304 | - $time_string = str_replace(array('%I', '%H', '%S', '%r', '%R', '%T'), array('%l', '%k', '', '%l:%M %p', '%k:%M', '%l:%M'), $matches[0]); |
|
318 | + if (preg_match('~%[HkIlMpPrRSTX](?:[^%]*%[HkIlMpPrRSTX])*~', $user_info['time_format'], $matches) == 0 || empty($matches[0])) { |
|
319 | + $time_string = '%k:%M'; |
|
320 | + } else { |
|
321 | + $time_string = str_replace(array('%I', '%H', '%S', '%r', '%R', '%T'), array('%l', '%k', '', '%l:%M %p', '%k:%M', '%l:%M'), $matches[0]); |
|
322 | + } |
|
305 | 323 | |
306 | 324 | $js_time_string = str_replace( |
307 | 325 | array('%H', '%k', '%I', '%l', '%M', '%p', '%P', '%r', '%R', '%S', '%T', '%X'), |
@@ -315,12 +333,14 @@ discard block |
||
315 | 333 | checkSession(); |
316 | 334 | |
317 | 335 | // Validate the post... |
318 | - if (!isset($_POST['link_to_board'])) |
|
319 | - validateEventPost(); |
|
336 | + if (!isset($_POST['link_to_board'])) { |
|
337 | + validateEventPost(); |
|
338 | + } |
|
320 | 339 | |
321 | 340 | // If you're not allowed to edit any events, you have to be the poster. |
322 | - if ($_REQUEST['eventid'] > 0 && !allowedTo('calendar_edit_any')) |
|
323 | - isAllowedTo('calendar_edit_' . (!empty($user_info['id']) && getEventPoster($_REQUEST['eventid']) == $user_info['id'] ? 'own' : 'any')); |
|
341 | + if ($_REQUEST['eventid'] > 0 && !allowedTo('calendar_edit_any')) { |
|
342 | + isAllowedTo('calendar_edit_' . (!empty($user_info['id']) && getEventPoster($_REQUEST['eventid']) == $user_info['id'] ? 'own' : 'any')); |
|
343 | + } |
|
324 | 344 | |
325 | 345 | // New - and directing? |
326 | 346 | if (isset($_POST['link_to_board']) || empty($modSettings['cal_allow_unlinked'])) |
@@ -343,8 +363,9 @@ discard block |
||
343 | 363 | } |
344 | 364 | |
345 | 365 | // Deleting... |
346 | - elseif (isset($_REQUEST['deleteevent'])) |
|
347 | - removeEvent($_REQUEST['eventid']); |
|
366 | + elseif (isset($_REQUEST['deleteevent'])) { |
|
367 | + removeEvent($_REQUEST['eventid']); |
|
368 | + } |
|
348 | 369 | |
349 | 370 | // ... or just update it? |
350 | 371 | else |
@@ -366,14 +387,12 @@ discard block |
||
366 | 387 | $d = date_parse($_POST['start_date']); |
367 | 388 | $year = $d['year']; |
368 | 389 | $month = $d['month']; |
369 | - } |
|
370 | - elseif (isset($_POST['start_datetime'])) |
|
390 | + } elseif (isset($_POST['start_datetime'])) |
|
371 | 391 | { |
372 | 392 | $d = date_parse($_POST['start_datetime']); |
373 | 393 | $year = $d['year']; |
374 | 394 | $month = $d['month']; |
375 | - } |
|
376 | - else |
|
395 | + } else |
|
377 | 396 | { |
378 | 397 | $today = getdate(); |
379 | 398 | $year = isset($_POST['year']) ? $_POST['year'] : $today['year']; |
@@ -406,13 +425,13 @@ discard block |
||
406 | 425 | $context['event'] = array_merge($context['event'], $eventDatetimes); |
407 | 426 | |
408 | 427 | $context['event']['last_day'] = (int) strftime('%d', mktime(0, 0, 0, $context['event']['month'] == 12 ? 1 : $context['event']['month'] + 1, 0, $context['event']['month'] == 12 ? $context['event']['year'] + 1 : $context['event']['year'])); |
409 | - } |
|
410 | - else |
|
428 | + } else |
|
411 | 429 | { |
412 | 430 | $context['event'] = getEventProperties($_REQUEST['eventid']); |
413 | 431 | |
414 | - if ($context['event'] === false) |
|
415 | - fatal_lang_error('no_access', false); |
|
432 | + if ($context['event'] === false) { |
|
433 | + fatal_lang_error('no_access', false); |
|
434 | + } |
|
416 | 435 | |
417 | 436 | // If it has a board, then they should be editing it within the topic. |
418 | 437 | if (!empty($context['event']['topic']['id']) && !empty($context['event']['topic']['first_msg'])) |
@@ -423,10 +442,11 @@ discard block |
||
423 | 442 | } |
424 | 443 | |
425 | 444 | // Make sure the user is allowed to edit this event. |
426 | - if ($context['event']['member'] != $user_info['id']) |
|
427 | - isAllowedTo('calendar_edit_any'); |
|
428 | - elseif (!allowedTo('calendar_edit_any')) |
|
429 | - isAllowedTo('calendar_edit_own'); |
|
445 | + if ($context['event']['member'] != $user_info['id']) { |
|
446 | + isAllowedTo('calendar_edit_any'); |
|
447 | + } elseif (!allowedTo('calendar_edit_any')) { |
|
448 | + isAllowedTo('calendar_edit_own'); |
|
449 | + } |
|
430 | 450 | } |
431 | 451 | |
432 | 452 | // An all day event? Set up some nice defaults in case the user wants to change that |
@@ -460,8 +480,7 @@ discard block |
||
460 | 480 | { |
461 | 481 | // You can post new events but can't link them to anything... |
462 | 482 | $context['event']['categories'] = array(); |
463 | - } |
|
464 | - else |
|
483 | + } else |
|
465 | 484 | { |
466 | 485 | // Load the list of boards and categories in the context. |
467 | 486 | require_once($sourcedir . '/Subs-MessageIndex.php'); |
@@ -548,12 +567,14 @@ discard block |
||
548 | 567 | global $smcFunc, $sourcedir, $forum_version, $modSettings, $webmaster_email, $mbname; |
549 | 568 | |
550 | 569 | // You can't export if the calendar export feature is off. |
551 | - if (empty($modSettings['cal_export'])) |
|
552 | - fatal_lang_error('calendar_export_off', false); |
|
570 | + if (empty($modSettings['cal_export'])) { |
|
571 | + fatal_lang_error('calendar_export_off', false); |
|
572 | + } |
|
553 | 573 | |
554 | 574 | // Goes without saying that this is required. |
555 | - if (!isset($_REQUEST['eventid'])) |
|
556 | - fatal_lang_error('no_access', false); |
|
575 | + if (!isset($_REQUEST['eventid'])) { |
|
576 | + fatal_lang_error('no_access', false); |
|
577 | + } |
|
557 | 578 | |
558 | 579 | // This is kinda wanted. |
559 | 580 | require_once($sourcedir . '/Subs-Calendar.php'); |
@@ -561,15 +582,17 @@ discard block |
||
561 | 582 | // Load up the event in question and check it exists. |
562 | 583 | $event = getEventProperties($_REQUEST['eventid']); |
563 | 584 | |
564 | - if ($event === false) |
|
565 | - fatal_lang_error('no_access', false); |
|
585 | + if ($event === false) { |
|
586 | + fatal_lang_error('no_access', false); |
|
587 | + } |
|
566 | 588 | |
567 | 589 | // Check the title isn't too long - iCal requires some formatting if so. |
568 | 590 | $title = str_split($event['title'], 30); |
569 | 591 | foreach ($title as $id => $line) |
570 | 592 | { |
571 | - if ($id != 0) |
|
572 | - $title[$id] = ' ' . $title[$id]; |
|
593 | + if ($id != 0) { |
|
594 | + $title[$id] = ' ' . $title[$id]; |
|
595 | + } |
|
573 | 596 | $title[$id] .= "\n"; |
574 | 597 | } |
575 | 598 | |
@@ -582,8 +605,7 @@ discard block |
||
582 | 605 | { |
583 | 606 | $datestart = date_format($start_date, 'Ymd\THis'); |
584 | 607 | $dateend = date_format($end_date, 'Ymd\THis'); |
585 | - } |
|
586 | - else |
|
608 | + } else |
|
587 | 609 | { |
588 | 610 | $datestart = date_format($start_date, 'Ymd'); |
589 | 611 | |
@@ -604,15 +626,18 @@ discard block |
||
604 | 626 | $filecontents .= 'DTSTART' . (!empty($event['start_time']) ? ';TZID=' . $event['tz'] : ';VALUE=DATE') . ':' . $datestart . "\n"; |
605 | 627 | |
606 | 628 | // event has a duration |
607 | - if ($event['start_iso_gmdate'] != $event['end_iso_gmdate']) |
|
608 | - $filecontents .= 'DTEND' . (!empty($event['end_time']) ? ';TZID=' . $event['tz'] : ';VALUE=DATE') . ':' . $dateend . "\n"; |
|
629 | + if ($event['start_iso_gmdate'] != $event['end_iso_gmdate']) { |
|
630 | + $filecontents .= 'DTEND' . (!empty($event['end_time']) ? ';TZID=' . $event['tz'] : ';VALUE=DATE') . ':' . $dateend . "\n"; |
|
631 | + } |
|
609 | 632 | |
610 | 633 | // event has changed? advance the sequence for this UID |
611 | - if ($event['sequence'] > 0) |
|
612 | - $filecontents .= 'SEQUENCE:' . $event['sequence'] . "\n"; |
|
634 | + if ($event['sequence'] > 0) { |
|
635 | + $filecontents .= 'SEQUENCE:' . $event['sequence'] . "\n"; |
|
636 | + } |
|
613 | 637 | |
614 | - if (!empty($event['location'])) |
|
615 | - $filecontents .= 'LOCATION:' . str_replace(',', '\,', $event['location']) . "\n"; |
|
638 | + if (!empty($event['location'])) { |
|
639 | + $filecontents .= 'LOCATION:' . str_replace(',', '\,', $event['location']) . "\n"; |
|
640 | + } |
|
616 | 641 | |
617 | 642 | $filecontents .= 'SUMMARY:' . implode('', $title); |
618 | 643 | $filecontents .= 'UID:' . $event['eventid'] . '@' . str_replace(' ', '-', $mbname) . "\n"; |
@@ -621,23 +646,26 @@ discard block |
||
621 | 646 | |
622 | 647 | // Send some standard headers. |
623 | 648 | ob_end_clean(); |
624 | - if (!empty($modSettings['enableCompressedOutput'])) |
|
625 | - @ob_start('ob_gzhandler'); |
|
626 | - else |
|
627 | - ob_start(); |
|
649 | + if (!empty($modSettings['enableCompressedOutput'])) { |
|
650 | + @ob_start('ob_gzhandler'); |
|
651 | + } else { |
|
652 | + ob_start(); |
|
653 | + } |
|
628 | 654 | |
629 | 655 | // Send the file headers |
630 | 656 | header('Pragma: '); |
631 | 657 | header('Cache-Control: no-cache'); |
632 | - if (!isBrowser('gecko')) |
|
633 | - header('Content-Transfer-Encoding: binary'); |
|
658 | + if (!isBrowser('gecko')) { |
|
659 | + header('Content-Transfer-Encoding: binary'); |
|
660 | + } |
|
634 | 661 | header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 525600 * 60) . ' GMT'); |
635 | 662 | header('Last-Modified: ' . gmdate('D, d M Y H:i:s', time()) . 'GMT'); |
636 | 663 | header('Accept-Ranges: bytes'); |
637 | 664 | header('Connection: close'); |
638 | 665 | header('Content-Disposition: attachment; filename="' . $event['title'] . '.ics"'); |
639 | - if (empty($modSettings['enableCompressedOutput'])) |
|
640 | - header('Content-Length: ' . $smcFunc['strlen']($filecontents)); |
|
666 | + if (empty($modSettings['enableCompressedOutput'])) { |
|
667 | + header('Content-Length: ' . $smcFunc['strlen']($filecontents)); |
|
668 | + } |
|
641 | 669 | |
642 | 670 | // This is a calendar item! |
643 | 671 | header('Content-Type: text/calendar'); |
@@ -676,20 +704,17 @@ discard block |
||
676 | 704 | $context['sub_template'] = 'bcd'; |
677 | 705 | $context['linktree'][] = array('url' => $scripturl . '?action=clock;bcd', 'name' => 'BCD'); |
678 | 706 | $context['clockicons'] = safe_unserialize(base64_decode('YTo2OntzOjI6ImgxIjthOjI6e2k6MDtpOjI7aToxO2k6MTt9czoyOiJoMiI7YTo0OntpOjA7aTo4O2k6MTtpOjQ7aToyO2k6MjtpOjM7aToxO31zOjI6Im0xIjthOjM6e2k6MDtpOjQ7aToxO2k6MjtpOjI7aToxO31zOjI6Im0yIjthOjQ6e2k6MDtpOjg7aToxO2k6NDtpOjI7aToyO2k6MztpOjE7fXM6MjoiczEiO2E6Mzp7aTowO2k6NDtpOjE7aToyO2k6MjtpOjE7fXM6MjoiczIiO2E6NDp7aTowO2k6ODtpOjE7aTo0O2k6MjtpOjI7aTozO2k6MTt9fQ==')); |
679 | - } |
|
680 | - elseif (!$omfg && !isset($_REQUEST['time'])) |
|
707 | + } elseif (!$omfg && !isset($_REQUEST['time'])) |
|
681 | 708 | { |
682 | 709 | $context['sub_template'] = 'hms'; |
683 | 710 | $context['linktree'][] = array('url' => $scripturl . '?action=clock', 'name' => 'Binary'); |
684 | 711 | $context['clockicons'] = safe_unserialize(base64_decode('YTozOntzOjE6ImgiO2E6NTp7aTowO2k6MTY7aToxO2k6ODtpOjI7aTo0O2k6MztpOjI7aTo0O2k6MTt9czoxOiJtIjthOjY6e2k6MDtpOjMyO2k6MTtpOjE2O2k6MjtpOjg7aTozO2k6NDtpOjQ7aToyO2k6NTtpOjE7fXM6MToicyI7YTo2OntpOjA7aTozMjtpOjE7aToxNjtpOjI7aTo4O2k6MztpOjQ7aTo0O2k6MjtpOjU7aToxO319')); |
685 | - } |
|
686 | - elseif ($omfg) |
|
712 | + } elseif ($omfg) |
|
687 | 713 | { |
688 | 714 | $context['sub_template'] = 'omfg'; |
689 | 715 | $context['linktree'][] = array('url' => $scripturl . '?action=clock;omfg', 'name' => 'OMFG'); |
690 | 716 | $context['clockicons'] = safe_unserialize(base64_decode('YTo2OntzOjQ6InllYXIiO2E6Nzp7aTowO2k6NjQ7aToxO2k6MzI7aToyO2k6MTY7aTozO2k6ODtpOjQ7aTo0O2k6NTtpOjI7aTo2O2k6MTt9czo1OiJtb250aCI7YTo0OntpOjA7aTo4O2k6MTtpOjQ7aToyO2k6MjtpOjM7aToxO31zOjM6ImRheSI7YTo1OntpOjA7aToxNjtpOjE7aTo4O2k6MjtpOjQ7aTozO2k6MjtpOjQ7aToxO31zOjQ6ImhvdXIiO2E6NTp7aTowO2k6MTY7aToxO2k6ODtpOjI7aTo0O2k6MztpOjI7aTo0O2k6MTt9czozOiJtaW4iO2E6Njp7aTowO2k6MzI7aToxO2k6MTY7aToyO2k6ODtpOjM7aTo0O2k6NDtpOjI7aTo1O2k6MTt9czozOiJzZWMiO2E6Njp7aTowO2k6MzI7aToxO2k6MTY7aToyO2k6ODtpOjM7aTo0O2k6NDtpOjI7aTo1O2k6MTt9fQ==')); |
691 | - } |
|
692 | - elseif (isset($_REQUEST['time'])) |
|
717 | + } elseif (isset($_REQUEST['time'])) |
|
693 | 718 | { |
694 | 719 | $context['sub_template'] = 'thetime'; |
695 | 720 | $time = getdate($_REQUEST['time'] == 'now' ? time() : (int) $_REQUEST['time']); |
@@ -749,12 +774,13 @@ discard block |
||
749 | 774 | ), |
750 | 775 | ); |
751 | 776 | |
752 | - foreach ($context['clockicons'] as $t => $vs) |
|
753 | - foreach ($vs as $v => $dumb) |
|
777 | + foreach ($context['clockicons'] as $t => $vs) { |
|
778 | + foreach ($vs as $v => $dumb) |
|
754 | 779 | { |
755 | 780 | if ($$t >= $v) |
756 | 781 | { |
757 | 782 | $$t -= $v; |
783 | + } |
|
758 | 784 | $context['clockicons'][$t][$v] = true; |
759 | 785 | } |
760 | 786 | } |