@@ -10,6 +10,7 @@ discard block |
||
10 | 10 | |
11 | 11 | /** |
12 | 12 | * Rewrite the forum administration page with our new access rules. |
13 | + * @param boolean $is_container |
|
13 | 14 | */ |
14 | 15 | function _forum_access_forum_form(&$form, &$form_state, $is_container) { |
15 | 16 | $tid = (isset($form['tid']['#value']) ? $form['tid']['#value'] : NULL); |
@@ -663,6 +664,8 @@ discard block |
||
663 | 664 | * This is a multistep operation : we go through all nodes by packs of 20. |
664 | 665 | * The batch processing engine interrupts processing and sends progress |
665 | 666 | * feedback after 1 second execution time. |
667 | + * @param integer $limit |
|
668 | + * @param integer $count |
|
666 | 669 | */ |
667 | 670 | function _forum_access_update_batch_operation($tid, $limit, $count, &$context) { |
668 | 671 | if (empty($context['sandbox'])) { |
@@ -693,6 +696,7 @@ discard block |
||
693 | 696 | |
694 | 697 | /** |
695 | 698 | * Post-processing for forum_access_form_submit(). |
699 | + * @param boolean $success |
|
696 | 700 | */ |
697 | 701 | function _forum_access_update_batch_finished($success, $results, $operations) { |
698 | 702 | if ($success) { |
@@ -12,33 +12,33 @@ discard block |
||
12 | 12 | * Rewrite the forum administration page with our new access rules. |
13 | 13 | */ |
14 | 14 | function _forum_access_forum_form(&$form, &$form_state, $is_container) { |
15 | - $tid = (isset($form['tid']['#value']) ? $form['tid']['#value'] : NULL); |
|
16 | - if (isset($tid) && !forum_access_access($tid, 'view', NULL, FALSE)) { |
|
15 | + $tid = (isset($form['tid']['#value']) ? $form['tid']['#value'] : NULL); |
|
16 | + if (isset($tid) && !forum_access_access($tid, 'view', NULL, FALSE)) { |
|
17 | 17 | drupal_access_denied(); // Deny access if the user doesn't have View access. |
18 | 18 | module_invoke_all('exit'); |
19 | 19 | exit; |
20 | - } |
|
20 | + } |
|
21 | 21 | |
22 | - $roles = user_roles(); |
|
23 | - if (isset($tid)) { // edit |
|
22 | + $roles = user_roles(); |
|
23 | + if (isset($tid)) { // edit |
|
24 | 24 | $template_tid = variable_get('forum_access_default_template_tid', 0); |
25 | 25 | $settings = _forum_access_get_settings($tid); |
26 | - } |
|
27 | - else { // create |
|
26 | + } |
|
27 | + else { // create |
|
28 | 28 | $template_tid = variable_get('forum_access_new_template_tid', NULL); |
29 | 29 | $settings = _forum_access_get_settings($template_tid); |
30 | - } |
|
31 | - $fa_priority = $settings['priority']; |
|
30 | + } |
|
31 | + $fa_priority = $settings['priority']; |
|
32 | 32 | |
33 | - $form['forum_access'] = array( |
|
33 | + $form['forum_access'] = array( |
|
34 | 34 | '#type' => 'fieldset', |
35 | 35 | '#title' => t('Access control'), |
36 | 36 | '#collapsible' => TRUE, |
37 | 37 | '#tree' => TRUE, |
38 | - ); |
|
38 | + ); |
|
39 | 39 | |
40 | - $tr = 't'; |
|
41 | - $variables = array( |
|
40 | + $tr = 't'; |
|
41 | + $variables = array( |
|
42 | 42 | '!access_content' => '<em>'. l($tr('access content'), 'admin/user/permissions', array('fragment' => 'module-node', 'html' => TRUE)) .'</em>', |
43 | 43 | '!access_comments' => '<em>'. l($tr('access comments'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => TRUE)) .'</em>', |
44 | 44 | '!create_forum_topics' => '<em>'. l($tr('create forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)) .'</em>', |
@@ -51,368 +51,368 @@ discard block |
||
51 | 51 | '!administer_comments' => '<em>'. l($tr('administer comments'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => TRUE)) .'</em>', |
52 | 52 | '!administer_forums' => '<em>'. l($tr('administer forums'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)) .'</em>', |
53 | 53 | '!administer_nodes' => '<em>'. l($tr('administer nodes'), 'admin/user/permissions', array('fragment' => 'module-node', 'html' => TRUE)) .'</em>', |
54 | - ); |
|
55 | - if (!$is_container) { |
|
54 | + ); |
|
55 | + if (!$is_container) { |
|
56 | 56 | $form['forum_access']['permissions'] = array( |
57 | - '#type' => 'fieldset', |
|
58 | - '#title' => $tr('Permissions information'), |
|
59 | - '#collapsible' => TRUE, |
|
60 | - '#collapsed' => TRUE, |
|
57 | + '#type' => 'fieldset', |
|
58 | + '#title' => $tr('Permissions information'), |
|
59 | + '#collapsible' => TRUE, |
|
60 | + '#collapsed' => TRUE, |
|
61 | 61 | ); |
62 | 62 | $form['forum_access']['permissions'][] = array( |
63 | - '#type' => 'markup', |
|
64 | - '#value' => '<div>'. t('Note that users need') .'<ul style="margin-top: 0"><li>'. |
|
65 | - t('the !access_content and !access_comments permissions <strong>AND <em>View</em></strong> to be able to see this forum and its content at all,', $variables) .'</li><li>'. |
|
66 | - t('the !create_forum_topics (and similar) permissions <strong>AND <em>Post</em></strong> to be able to create forum content, and', $variables) .'</li><li>'. |
|
67 | - t('the !post_comments and (probably) !post_comments_without_approval permission <!TAG>AND <em>Comment</em></!TAG> to be able to post comments/replies;', $variables + array('!TAG' => (variable_get('forum_access_D5_legacy_mode', FALSE) ? 'del title="'. t('Drupal 5 legacy mode') .'"' : 'strong'))) .'</li><li>'. |
|
68 | - t('the !edit_own_forum_topics or !edit_any_forum_topics (and similar) permissions <strong>AND (<em>Edit</em> AND <em>Comment</em></strong>) can be added if desired, <strong>plus</strong>', $variables) .'</li><li>'. |
|
69 | - t('the !delete_own_forum_topics or !delete_any_forum_topics (and similar) permissions (<strong>OR <em>Delete</em></strong>) if desired;', $variables) .'</li><li>'. |
|
70 | - t('the !administer_comments (global!) permission <strong>OR <em>Edit</em>/<em>Delete</em></strong> to be able to edit/delete comments;', $variables) .'</li><li>'. |
|
71 | - t('the !administer_forums permission <strong>AND <em>View</em></strong> to be able to administer forums (and change access!).', $variables) .'</li></ul>'. |
|
72 | - t('Furthermore note that content which is not published is treated in a different way by Drupal: it can be viewed only by its author or by users with the !administer_nodes permission. Unpublished comments and replies are accessible to users with <strong><em>Edit</em> OR <em>Delete</em></strong>, <strong>OR</strong> with the !administer_comments permission, but they are never counted on the forum page.', $variables) .'</div>', |
|
73 | - ); |
|
74 | - } |
|
75 | - |
|
76 | - // Load a template: |
|
77 | - $vid = _forum_access_get_vid(); |
|
78 | - $form['forum_access']['template'] = array( |
|
79 | - '#type' => 'fieldset', |
|
80 | - '#title' => $tr('Template'), |
|
81 | - '#collapsible' => TRUE, |
|
82 | - '#collapsed' => empty($template_tid), |
|
83 | - ); |
|
84 | - $form['forum_access']['template']['taxonomy'][$vid] = taxonomy_form($vid, array($template_tid), ''); |
|
85 | - $form['forum_access']['template']['taxonomy'][$vid]['#description'] = t("Select a forum and click !Load to retrieve that forum's settings as a starting point for this forum or container.", array('!Load' => '['. t('Load') .']')); |
|
86 | - $form['forum_access']['template']['load_button'] = array( |
|
63 | + '#type' => 'markup', |
|
64 | + '#value' => '<div>'. t('Note that users need') .'<ul style="margin-top: 0"><li>'. |
|
65 | + t('the !access_content and !access_comments permissions <strong>AND <em>View</em></strong> to be able to see this forum and its content at all,', $variables) .'</li><li>'. |
|
66 | + t('the !create_forum_topics (and similar) permissions <strong>AND <em>Post</em></strong> to be able to create forum content, and', $variables) .'</li><li>'. |
|
67 | + t('the !post_comments and (probably) !post_comments_without_approval permission <!TAG>AND <em>Comment</em></!TAG> to be able to post comments/replies;', $variables + array('!TAG' => (variable_get('forum_access_D5_legacy_mode', FALSE) ? 'del title="'. t('Drupal 5 legacy mode') .'"' : 'strong'))) .'</li><li>'. |
|
68 | + t('the !edit_own_forum_topics or !edit_any_forum_topics (and similar) permissions <strong>AND (<em>Edit</em> AND <em>Comment</em></strong>) can be added if desired, <strong>plus</strong>', $variables) .'</li><li>'. |
|
69 | + t('the !delete_own_forum_topics or !delete_any_forum_topics (and similar) permissions (<strong>OR <em>Delete</em></strong>) if desired;', $variables) .'</li><li>'. |
|
70 | + t('the !administer_comments (global!) permission <strong>OR <em>Edit</em>/<em>Delete</em></strong> to be able to edit/delete comments;', $variables) .'</li><li>'. |
|
71 | + t('the !administer_forums permission <strong>AND <em>View</em></strong> to be able to administer forums (and change access!).', $variables) .'</li></ul>'. |
|
72 | + t('Furthermore note that content which is not published is treated in a different way by Drupal: it can be viewed only by its author or by users with the !administer_nodes permission. Unpublished comments and replies are accessible to users with <strong><em>Edit</em> OR <em>Delete</em></strong>, <strong>OR</strong> with the !administer_comments permission, but they are never counted on the forum page.', $variables) .'</div>', |
|
73 | + ); |
|
74 | + } |
|
75 | + |
|
76 | + // Load a template: |
|
77 | + $vid = _forum_access_get_vid(); |
|
78 | + $form['forum_access']['template'] = array( |
|
79 | + '#type' => 'fieldset', |
|
80 | + '#title' => $tr('Template'), |
|
81 | + '#collapsible' => TRUE, |
|
82 | + '#collapsed' => empty($template_tid), |
|
83 | + ); |
|
84 | + $form['forum_access']['template']['taxonomy'][$vid] = taxonomy_form($vid, array($template_tid), ''); |
|
85 | + $form['forum_access']['template']['taxonomy'][$vid]['#description'] = t("Select a forum and click !Load to retrieve that forum's settings as a starting point for this forum or container.", array('!Load' => '['. t('Load') .']')); |
|
86 | + $form['forum_access']['template']['load_button'] = array( |
|
87 | 87 | '#type' => 'button', |
88 | 88 | '#name' => 'load_template', |
89 | 89 | '#value' => t('Load'), |
90 | 90 | '#submit' => FALSE, |
91 | - ); |
|
92 | - $form['forum_access']['template']['template_tid'] = array( |
|
91 | + ); |
|
92 | + $form['forum_access']['template']['template_tid'] = array( |
|
93 | 93 | '#type' => 'value', |
94 | 94 | '#value' => NULL, |
95 | - ); |
|
96 | - $form['forum_access']['template']['select_by_default'] = array( |
|
95 | + ); |
|
96 | + $form['forum_access']['template']['select_by_default'] = array( |
|
97 | 97 | '#type' => 'checkbox', |
98 | 98 | '#title' => t('Remember this selection.'), |
99 | 99 | '#default_value' => FALSE, |
100 | - ); |
|
101 | - $form['forum_access']['template']['load_for_new'] = array( |
|
100 | + ); |
|
101 | + $form['forum_access']['template']['load_for_new'] = array( |
|
102 | 102 | '#type' => 'checkbox', |
103 | 103 | '#title' => t("Use the selected forum's settings as defaults for new forums and containers."), |
104 | 104 | '#default_value' => FALSE, |
105 | - ); |
|
106 | - $form['forum_access']['#after_build'][] = '_forum_access_forum_form_after_build'; |
|
105 | + ); |
|
106 | + $form['forum_access']['#after_build'][] = '_forum_access_forum_form_after_build'; |
|
107 | 107 | |
108 | - // Column titles: |
|
109 | - $form['forum_access']['headers']['view'] = array( |
|
108 | + // Column titles: |
|
109 | + $form['forum_access']['headers']['view'] = array( |
|
110 | 110 | '#type' => 'item', |
111 | 111 | '#prefix' => '<div class="forum-access-div">', |
112 | 112 | '#title' => ($is_container ? t('View this container') : t('View this forum')), |
113 | 113 | '#suffix' => '</div>', |
114 | - ); |
|
115 | - $forum_vocabulary = taxonomy_vocabulary_load(_forum_access_get_vid()); |
|
116 | - $form['forum_access']['headers']['create'] = array( |
|
114 | + ); |
|
115 | + $forum_vocabulary = taxonomy_vocabulary_load(_forum_access_get_vid()); |
|
116 | + $form['forum_access']['headers']['create'] = array( |
|
117 | 117 | '#type' => 'item', |
118 | 118 | '#prefix' => '<div class="forum-access-div" id="forum-access-div-container">', |
119 | 119 | '#title' => t('See this container in the %Forums selection list', array('%Forums' => $forum_vocabulary->name)), |
120 | 120 | '#suffix' => '</div>', |
121 | - ); |
|
122 | - if (!$is_container) { |
|
121 | + ); |
|
122 | + if (!$is_container) { |
|
123 | 123 | $form['forum_access']['headers']['create'] = array( // overwrite! |
124 | - '#type' => 'item', |
|
125 | - '#prefix' => '<div class="forum-access-div">', |
|
126 | - '#title' => t('Post in this forum'), |
|
127 | - '#suffix' => '</div>', |
|
124 | + '#type' => 'item', |
|
125 | + '#prefix' => '<div class="forum-access-div">', |
|
126 | + '#title' => t('Post in this forum'), |
|
127 | + '#suffix' => '</div>', |
|
128 | 128 | ); |
129 | 129 | $form['forum_access']['headers']['comment_create'] = array( |
130 | - '#type' => 'item', |
|
131 | - '#prefix' => '<div class="forum-access-div">', |
|
132 | - '#title' => t('Comment on posts'), |
|
133 | - '#suffix' => '</div>', |
|
130 | + '#type' => 'item', |
|
131 | + '#prefix' => '<div class="forum-access-div">', |
|
132 | + '#title' => t('Comment on posts'), |
|
133 | + '#suffix' => '</div>', |
|
134 | 134 | ); |
135 | 135 | $form['forum_access']['headers']['update'] = array( |
136 | - '#type' => 'item', |
|
137 | - '#prefix' => '<div class="forum-access-div">', |
|
138 | - '#title' => t('Edit posts'), |
|
139 | - '#suffix' => '</div>', |
|
136 | + '#type' => 'item', |
|
137 | + '#prefix' => '<div class="forum-access-div">', |
|
138 | + '#title' => t('Edit posts'), |
|
139 | + '#suffix' => '</div>', |
|
140 | 140 | ); |
141 | 141 | $form['forum_access']['headers']['delete'] = array( |
142 | - '#type' => 'item', |
|
143 | - '#prefix' => '<div class="forum-access-div">', |
|
144 | - '#title' => t('Delete posts'), |
|
145 | - '#suffix' => '</div>', |
|
146 | - ); |
|
147 | - } |
|
148 | - $form['forum_access']['headers']['clearer'] = array( |
|
149 | - '#value' => '<div class="forum-access-clearer"></div>', |
|
150 | - ); |
|
142 | + '#type' => 'item', |
|
143 | + '#prefix' => '<div class="forum-access-div">', |
|
144 | + '#title' => t('Delete posts'), |
|
145 | + '#suffix' => '</div>', |
|
146 | + ); |
|
147 | + } |
|
148 | + $form['forum_access']['headers']['clearer'] = array( |
|
149 | + '#value' => '<div class="forum-access-clearer"></div>', |
|
150 | + ); |
|
151 | 151 | |
152 | - // Column content (checkboxes): |
|
153 | - $form['forum_access']['view'] = array( |
|
152 | + // Column content (checkboxes): |
|
153 | + $form['forum_access']['view'] = array( |
|
154 | 154 | '#type' => 'checkboxes', |
155 | 155 | '#prefix' => '<div class="forum-access-div">', |
156 | 156 | '#suffix' => '</div>', |
157 | 157 | '#options' => $roles, |
158 | 158 | '#default_value' => $settings['view'], |
159 | 159 | '#process' => array('expand_checkboxes', '_forum_access_forum_form_disable_checkboxes'), |
160 | - ); |
|
161 | - $form['forum_access']['create'] = array( |
|
160 | + ); |
|
161 | + $form['forum_access']['create'] = array( |
|
162 | 162 | '#type' => 'checkboxes', |
163 | 163 | '#prefix' => '<div class="forum-access-div">', |
164 | 164 | '#suffix' => '</div>', |
165 | 165 | '#options' => $roles, |
166 | 166 | '#default_value' => $settings['create'], |
167 | 167 | '#process' => array('expand_checkboxes', '_forum_access_forum_form_disable_checkboxes'), |
168 | - ); |
|
169 | - if (!$is_container) { |
|
168 | + ); |
|
169 | + if (!$is_container) { |
|
170 | 170 | $form['forum_access']['comment_create'] = array( |
171 | - '#type' => 'checkboxes', |
|
172 | - '#prefix' => '<div class="forum-access-div">', |
|
173 | - '#suffix' => '</div>', |
|
174 | - '#options' => $roles, |
|
175 | - '#default_value' => $settings['comment_create'], |
|
176 | - '#process' => array('expand_checkboxes', '_forum_access_forum_form_disable_checkboxes'), |
|
171 | + '#type' => 'checkboxes', |
|
172 | + '#prefix' => '<div class="forum-access-div">', |
|
173 | + '#suffix' => '</div>', |
|
174 | + '#options' => $roles, |
|
175 | + '#default_value' => $settings['comment_create'], |
|
176 | + '#process' => array('expand_checkboxes', '_forum_access_forum_form_disable_checkboxes'), |
|
177 | 177 | ); |
178 | 178 | $form['forum_access']['update'] = array( |
179 | - '#type' => 'checkboxes', |
|
180 | - '#prefix' => '<div class="forum-access-div">', |
|
181 | - '#suffix' => '</div>', |
|
182 | - '#options' => $roles, |
|
183 | - '#default_value' => $settings['update'], |
|
184 | - '#process' => array('expand_checkboxes', '_forum_access_forum_form_disable_checkboxes'), |
|
179 | + '#type' => 'checkboxes', |
|
180 | + '#prefix' => '<div class="forum-access-div">', |
|
181 | + '#suffix' => '</div>', |
|
182 | + '#options' => $roles, |
|
183 | + '#default_value' => $settings['update'], |
|
184 | + '#process' => array('expand_checkboxes', '_forum_access_forum_form_disable_checkboxes'), |
|
185 | 185 | ); |
186 | 186 | $form['forum_access']['delete'] = array( |
187 | - '#type' => 'checkboxes', |
|
188 | - '#prefix' => '<div class="forum-access-div">', |
|
189 | - '#suffix' => '</div>', |
|
190 | - '#options' => $roles, |
|
191 | - '#default_value' => $settings['delete'], |
|
192 | - '#process' => array('expand_checkboxes', '_forum_access_forum_form_disable_checkboxes'), |
|
193 | - ); |
|
194 | - } |
|
195 | - $form['forum_access']['clearer'] = array( |
|
187 | + '#type' => 'checkboxes', |
|
188 | + '#prefix' => '<div class="forum-access-div">', |
|
189 | + '#suffix' => '</div>', |
|
190 | + '#options' => $roles, |
|
191 | + '#default_value' => $settings['delete'], |
|
192 | + '#process' => array('expand_checkboxes', '_forum_access_forum_form_disable_checkboxes'), |
|
193 | + ); |
|
194 | + } |
|
195 | + $form['forum_access']['clearer'] = array( |
|
196 | 196 | '#type' => 'item', |
197 | 197 | '#prefix' => '<div class="forum-access-clearer">', |
198 | 198 | '#suffix' => '</div>', |
199 | 199 | '#description' => t('For explanations of special cases, hover your mouse over role names.'), |
200 | - ); |
|
201 | - if ($is_container) { |
|
200 | + ); |
|
201 | + if ($is_container) { |
|
202 | 202 | $form['forum_access']['container_note'] = array( |
203 | - '#type' => 'item', |
|
204 | - '#description' => t('Users who can see any forum or container within this one should get the <strong><em>View</em></strong> grant. <br /> Users who can post to a forum within this container should get the <strong><em>See</em></strong> grant, so that this forum appears in the proper context in the selection list.', $variables), |
|
203 | + '#type' => 'item', |
|
204 | + '#description' => t('Users who can see any forum or container within this one should get the <strong><em>View</em></strong> grant. <br /> Users who can post to a forum within this container should get the <strong><em>See</em></strong> grant, so that this forum appears in the proper context in the selection list.', $variables), |
|
205 | 205 | ); |
206 | - } |
|
206 | + } |
|
207 | 207 | |
208 | - drupal_add_css(drupal_get_path('module', 'forum_access') .'/forum_access.css'); |
|
208 | + drupal_add_css(drupal_get_path('module', 'forum_access') .'/forum_access.css'); |
|
209 | 209 | |
210 | - // Find our moderator ACL: |
|
211 | - if (isset($tid)) { // edit, not new |
|
210 | + // Find our moderator ACL: |
|
211 | + if (isset($tid)) { // edit, not new |
|
212 | 212 | $acl_id = acl_get_id_by_number('forum_access', $tid); |
213 | 213 | if (!$acl_id) { // create one |
214 | - $acl_id = acl_create_new_acl('forum_access', NULL, $tid); |
|
215 | - // update every existing node in this forum to use this acl. |
|
216 | - $result = db_query("SELECT nid FROM {term_node} WHERE tid = %d", $tid); |
|
217 | - while ($node = db_fetch_object($result)) { |
|
214 | + $acl_id = acl_create_new_acl('forum_access', NULL, $tid); |
|
215 | + // update every existing node in this forum to use this acl. |
|
216 | + $result = db_query("SELECT nid FROM {term_node} WHERE tid = %d", $tid); |
|
217 | + while ($node = db_fetch_object($result)) { |
|
218 | 218 | // all privs to this ACL. |
219 | 219 | acl_node_add_acl($node->nid, $acl_id, 1, 1, 1); |
220 | - } |
|
220 | + } |
|
221 | 221 | } |
222 | 222 | $form['forum_access']['acl'] = acl_edit_form($acl_id, t('Moderators')); |
223 | 223 | $form['forum_access']['acl'][] = array( |
224 | - '#type' => 'markup', |
|
225 | - '#value' => '<div>'. t('Moderators receive all grants above.') .'</div>', |
|
226 | - '#weight' => -1, |
|
224 | + '#type' => 'markup', |
|
225 | + '#value' => '<div>'. t('Moderators receive all grants above.') .'</div>', |
|
226 | + '#weight' => -1, |
|
227 | 227 | ); |
228 | 228 | $form['forum_access']['acl']['note'] = array( |
229 | - '#type' => 'markup', |
|
230 | - '#value' => '<div>'. t('Note: Changes to moderators are not saved until you click [!Save] below.', array('!Save' => $tr('Save'))) .'</div>', |
|
229 | + '#type' => 'markup', |
|
230 | + '#value' => '<div>'. t('Note: Changes to moderators are not saved until you click [!Save] below.', array('!Save' => $tr('Save'))) .'</div>', |
|
231 | 231 | ); |
232 | 232 | $form['forum_access']['acl']['#after_build'][] = '_forum_access_forum_form_after_build_acl0'; |
233 | 233 | $form['forum_access']['acl']['#after_build'] = array_reverse($form['forum_access']['acl']['#after_build']); |
234 | 234 | $form['forum_access']['acl']['#after_build'][] = '_forum_access_forum_form_after_build_acl2'; |
235 | - } |
|
235 | + } |
|
236 | 236 | |
237 | - foreach (module_implements('node_access_records') as $module) { |
|
237 | + foreach (module_implements('node_access_records') as $module) { |
|
238 | 238 | $na_modules[$module] = $module; |
239 | - } |
|
240 | - unset($na_modules['forum_access']); |
|
241 | - unset($na_modules['acl']); |
|
242 | - if (count($na_modules) && !$is_container) { |
|
239 | + } |
|
240 | + unset($na_modules['forum_access']); |
|
241 | + unset($na_modules['acl']); |
|
242 | + if (count($na_modules) && !$is_container) { |
|
243 | 243 | $form['forum_access']['interference'] = array( |
244 | - '#type' => 'fieldset', |
|
245 | - '#title' => t('Module interference'), |
|
246 | - '#collapsible' => TRUE, |
|
244 | + '#type' => 'fieldset', |
|
245 | + '#title' => t('Module interference'), |
|
246 | + '#collapsible' => TRUE, |
|
247 | 247 | ); |
248 | 248 | $variables = array( |
249 | - '%content_type' => node_get_types('name', 'forum'), |
|
250 | - '!Forum_Access' => 'Forum Access', |
|
251 | - '!Content_Access' => l('Content Access', 'http://drupal.org/project/content_access'), |
|
252 | - '@Content_Access' => 'Content Access', |
|
253 | - '!ACL' => 'ACL', |
|
254 | - '!module_list' => '<ul><li>'. implode($na_modules, '</li><li>') .'</li></ul>', |
|
249 | + '%content_type' => node_get_types('name', 'forum'), |
|
250 | + '!Forum_Access' => 'Forum Access', |
|
251 | + '!Content_Access' => l('Content Access', 'http://drupal.org/project/content_access'), |
|
252 | + '@Content_Access' => 'Content Access', |
|
253 | + '!ACL' => 'ACL', |
|
254 | + '!module_list' => '<ul><li>'. implode($na_modules, '</li><li>') .'</li></ul>', |
|
255 | 255 | ); |
256 | 256 | $form['forum_access']['interference'][] = array( |
257 | - '#type' => 'item', |
|
258 | - '#value' => '<p>'. t("Besides !Forum_Access (and !ACL) you have installed the following node access module(s): !module_list The grants of every module are combined for each node. Access can only be granted, not removed — if a certain module grants a permission, the other(s) cannot deny it.", $variables) .'</p>', |
|
259 | - '#description' => t('Forums can contain other content types besides %content_type; !Forum_Access will contribute the grants defined above to every node in this forum, but other node access control modules may also contribute their grants, especially to nodes of types other than %content_type.', $variables), |
|
257 | + '#type' => 'item', |
|
258 | + '#value' => '<p>'. t("Besides !Forum_Access (and !ACL) you have installed the following node access module(s): !module_list The grants of every module are combined for each node. Access can only be granted, not removed — if a certain module grants a permission, the other(s) cannot deny it.", $variables) .'</p>', |
|
259 | + '#description' => t('Forums can contain other content types besides %content_type; !Forum_Access will contribute the grants defined above to every node in this forum, but other node access control modules may also contribute their grants, especially to nodes of types other than %content_type.', $variables), |
|
260 | 260 | ); |
261 | 261 | |
262 | 262 | if (module_exists('content_access')) { |
263 | - $ca_settings = variable_get('content_access_settings', array()); |
|
264 | - foreach (array('view', 'update', 'delete', 'per_node') as $type) { |
|
263 | + $ca_settings = variable_get('content_access_settings', array()); |
|
264 | + foreach (array('view', 'update', 'delete', 'per_node') as $type) { |
|
265 | 265 | $value = content_access_get_settings($type, 'forum'); |
266 | 266 | if (!empty($value)) { |
267 | - $ca_interferes = TRUE; |
|
267 | + $ca_interferes = TRUE; |
|
268 | + } |
|
268 | 269 | } |
269 | - } |
|
270 | - $ca_priority = content_access_get_settings('priority', 'forum'); |
|
271 | - $is_conflict = $ca_priority >= $fa_priority && !empty($ca_interferes) || $ca_priority > $fa_priority; |
|
272 | - $variables += array( |
|
270 | + $ca_priority = content_access_get_settings('priority', 'forum'); |
|
271 | + $is_conflict = $ca_priority >= $fa_priority && !empty($ca_interferes) || $ca_priority > $fa_priority; |
|
272 | + $variables += array( |
|
273 | 273 | '!link' => l(t('@Content_Access configuration for the %content_type type', $variables), 'admin/content/node-type/forum/access', array('html' => TRUE)), |
274 | 274 | '%Advanced' => $tr('Advanced'), |
275 | - ); |
|
276 | - $specifically = ($ca_priority == $fa_priority ? t('Specifically, any grants given by !Content_Access cannot be taken back by !Forum_Access.', $variables) : ''); |
|
277 | - if ($is_conflict) { |
|
275 | + ); |
|
276 | + $specifically = ($ca_priority == $fa_priority ? t('Specifically, any grants given by !Content_Access cannot be taken back by !Forum_Access.', $variables) : ''); |
|
277 | + if ($is_conflict) { |
|
278 | 278 | $form['forum_access']['interference']['by_content_access'] = array( |
279 | - '#type' => 'fieldset', |
|
280 | - '#title' => 'Content Access', |
|
281 | - '#collapsible' => FALSE, |
|
282 | - '#attributes' => array('class' => 'error'), |
|
279 | + '#type' => 'fieldset', |
|
280 | + '#title' => 'Content Access', |
|
281 | + '#collapsible' => FALSE, |
|
282 | + '#attributes' => array('class' => 'error'), |
|
283 | 283 | ); |
284 | 284 | $form['forum_access']['interference']['by_content_access'][] = array( |
285 | - '#value' => '<div>'. t('You have set the !Content_Access module to control access to content of type %content_type—this can interfere with proper operation of !Forum_Access!', $variables) ." $specifically</div>", |
|
285 | + '#value' => '<div>'. t('You have set the !Content_Access module to control access to content of type %content_type—this can interfere with proper operation of !Forum_Access!', $variables) ." $specifically</div>", |
|
286 | 286 | ); |
287 | 287 | if ($ca_priority == $fa_priority) { |
288 | - $form['forum_access']['interference']['by_content_access'][] = array( |
|
288 | + $form['forum_access']['interference']['by_content_access'][] = array( |
|
289 | 289 | '#value' => '<div>'. t("Unless you really know what you're doing, we recommend that you go to the !link page and clear all checkboxes. This will instruct @Content_Access to leave the %content_type nodes alone. However, if you put nodes of other content types into forums as well, then these content types will continue to have this problem.", $variables) .'</div>', |
290 | - ); |
|
290 | + ); |
|
291 | 291 | } |
292 | 292 | else { |
293 | - $form['forum_access']['interference']['by_content_access'][] = array( |
|
293 | + $form['forum_access']['interference']['by_content_access'][] = array( |
|
294 | 294 | '#value' => '<div>'. t("The priority of @Content_Access ($ca_priority) is higher than the priority of !Forum_Access ($fa_priority), which means the latter is <strong>completely disabled</strong> for the %content_type type! Unless you really know what you're doing, we recommend that you go to the !link page, change the priority (under %Advanced) to 0, and clear all checkboxes.", $variables) .'</div>', |
295 | - ); |
|
295 | + ); |
|
296 | 296 | } |
297 | 297 | $form['forum_access']['interference']['by_content_access'][] = array( |
298 | - '#value' => '<div>'. t("Alternatively, you can give !Forum_Access priority over @Content_Access by either raising the priority of !Forum_Access in every forum above the priority of @Content_Access, or by lowering the priority of @Content_Access for the content types in question below the priority of !Forum_Access.", $variables) .'</div>', |
|
298 | + '#value' => '<div>'. t("Alternatively, you can give !Forum_Access priority over @Content_Access by either raising the priority of !Forum_Access in every forum above the priority of @Content_Access, or by lowering the priority of @Content_Access for the content types in question below the priority of !Forum_Access.", $variables) .'</div>', |
|
299 | 299 | ); |
300 | - } |
|
301 | - else { |
|
300 | + } |
|
301 | + else { |
|
302 | 302 | $form['forum_access']['interference'][] = array( |
303 | - '#value' => '<p>'. t('Note: You have installed the !Content_Access module, which has the capability to grant access to content that would otherwise be protected by !Forum_Access. Be careful when configuring @Content_Access!', $variables) .'</p>', |
|
303 | + '#value' => '<p>'. t('Note: You have installed the !Content_Access module, which has the capability to grant access to content that would otherwise be protected by !Forum_Access. Be careful when configuring @Content_Access!', $variables) .'</p>', |
|
304 | 304 | ); |
305 | - } |
|
305 | + } |
|
306 | 306 | } |
307 | 307 | |
308 | 308 | $form['forum_access']['interference']['advanced'] = array( |
309 | - '#type' => 'fieldset', |
|
310 | - '#title' => t('Advanced'), |
|
311 | - '#collapsible' => TRUE, |
|
312 | - '#collapsed' => !($fa_priority != 0), |
|
309 | + '#type' => 'fieldset', |
|
310 | + '#title' => t('Advanced'), |
|
311 | + '#collapsible' => TRUE, |
|
312 | + '#collapsed' => !($fa_priority != 0), |
|
313 | 313 | ); |
314 | 314 | $form['forum_access']['interference']['advanced']['priority'] = array( |
315 | - '#type' => 'weight', |
|
316 | - '#title' => t('Priority of !Forum_Access node grants in this forum', $variables), |
|
317 | - '#default_value' => $fa_priority, |
|
318 | - '#description' => t("If you have no other node access control modules installed, you should leave this at the default 0. <br /> Otherwise you can raise or lower the priority of !Forum_Access' grants. Out of all the grants contributed to a node, only those with the highest priority are used, and all others are discarded.", $variables), |
|
315 | + '#type' => 'weight', |
|
316 | + '#title' => t('Priority of !Forum_Access node grants in this forum', $variables), |
|
317 | + '#default_value' => $fa_priority, |
|
318 | + '#description' => t("If you have no other node access control modules installed, you should leave this at the default 0. <br /> Otherwise you can raise or lower the priority of !Forum_Access' grants. Out of all the grants contributed to a node, only those with the highest priority are used, and all others are discarded.", $variables), |
|
319 | 319 | ); |
320 | - } |
|
320 | + } |
|
321 | 321 | |
322 | - if (!$is_container) { |
|
322 | + if (!$is_container) { |
|
323 | 323 | $variables = array( |
324 | - '!Forum_Access' => l('Forum Access', 'http://drupal.org/project/forum_access'), |
|
325 | - '!ACL' => l('ACL', 'http://drupal.org/project/acl'), |
|
326 | - '%Module_interference' => t('Module interference'), |
|
327 | - '!Forum_Access-dev' => l('Forum Access 6.x-1.x-dev', 'http://drupal.org/node/96795', array('html' => TRUE)), |
|
328 | - '!ACL-dev' => l('ACL 6.x-1.x-dev', 'http://drupal.org/node/96794', array('html' => TRUE)), |
|
329 | - '%devel_node_access' => 'devel_node_access', |
|
330 | - '!Devel' => l('Devel', 'http://drupal.org/project/devel'), |
|
331 | - '!DNA' => 'DNA', |
|
332 | - '!debug_mode' => l('debug mode', 'admin/settings/devel', array('fragment' => 'edit-devel-node-access-debug-mode')), |
|
333 | - '!dna_summary' => l('devel/node_access/summary', 'devel/node_access/summary'), |
|
334 | - '!Rebuild_permissions' => '['. $tr('Rebuild permissions') .']', |
|
335 | - '!Post_settings_link' => l('admin/content/node-settings', 'admin/content/node-settings'), |
|
336 | - '!Forum_Access_' => l('Forum Access', 'http://drupal.org/project/issues/forum_access'), |
|
337 | - '!ACL_' => l('ACL', 'http://drupal.org/project/issues/acl'), |
|
324 | + '!Forum_Access' => l('Forum Access', 'http://drupal.org/project/forum_access'), |
|
325 | + '!ACL' => l('ACL', 'http://drupal.org/project/acl'), |
|
326 | + '%Module_interference' => t('Module interference'), |
|
327 | + '!Forum_Access-dev' => l('Forum Access 6.x-1.x-dev', 'http://drupal.org/node/96795', array('html' => TRUE)), |
|
328 | + '!ACL-dev' => l('ACL 6.x-1.x-dev', 'http://drupal.org/node/96794', array('html' => TRUE)), |
|
329 | + '%devel_node_access' => 'devel_node_access', |
|
330 | + '!Devel' => l('Devel', 'http://drupal.org/project/devel'), |
|
331 | + '!DNA' => 'DNA', |
|
332 | + '!debug_mode' => l('debug mode', 'admin/settings/devel', array('fragment' => 'edit-devel-node-access-debug-mode')), |
|
333 | + '!dna_summary' => l('devel/node_access/summary', 'devel/node_access/summary'), |
|
334 | + '!Rebuild_permissions' => '['. $tr('Rebuild permissions') .']', |
|
335 | + '!Post_settings_link' => l('admin/content/node-settings', 'admin/content/node-settings'), |
|
336 | + '!Forum_Access_' => l('Forum Access', 'http://drupal.org/project/issues/forum_access'), |
|
337 | + '!ACL_' => l('ACL', 'http://drupal.org/project/issues/acl'), |
|
338 | 338 | ); |
339 | 339 | $form['forum_access']['troubleshooting'] = array( |
340 | - '#type' => 'fieldset', |
|
341 | - '#title' => t('Trouble-shooting node access'), |
|
342 | - '#collapsible' => TRUE, |
|
343 | - '#collapsed' => TRUE, |
|
340 | + '#type' => 'fieldset', |
|
341 | + '#title' => t('Trouble-shooting node access'), |
|
342 | + '#collapsible' => TRUE, |
|
343 | + '#collapsed' => TRUE, |
|
344 | 344 | ); |
345 | 345 | $form['forum_access']['troubleshooting'][] = array( |
346 | - '#type' => 'item', |
|
347 | - '#value' => '<div>'. t("In case of problems, follow these steps until you've got it worked out:") .'<ol style="margin-top: 0"><li>'. |
|
348 | - t("Update to the 'recommended' !Forum_Access and !ACL releases for your version of Drupal.", $variables) .'</li><li>'. |
|
346 | + '#type' => 'item', |
|
347 | + '#value' => '<div>'. t("In case of problems, follow these steps until you've got it worked out:") .'<ol style="margin-top: 0"><li>'. |
|
348 | + t("Update to the 'recommended' !Forum_Access and !ACL releases for your version of Drupal.", $variables) .'</li><li>'. |
|
349 | 349 | (count($na_modules) ? t("Read %Module_interference above and update your other node access modules.", $variables) .'</li><li>' : '') . |
350 | - t("Check the release notes of the development snapshots for issues that might have been fixed in !Forum_Access-dev or !ACL-dev since the latest release.", $variables) .'</li><li>'. |
|
351 | - t("Install the %devel_node_access module (!DNA, part of the !Devel module) and enable its !debug_mode: !DNA will show you all the grants that actually control your nodes in a footer block on each node's page.", $variables) .'</li><li>'. |
|
352 | - t("Additional insight can be gained from !dna_summary and by enabling the second !DNA block.", $variables) .'</li><li>'. |
|
353 | - t("Click !Rebuild_permissions on !Post_settings_link and check DNA for changes.", $variables) .'</li><li>'. |
|
354 | - t("Check the issues queues of !Forum_Access_ and !ACL_ for existing reports and possible solutions.", $variables) .'</li><li>'. |
|
355 | - t("If all of this hasn't helped, then pick ONE node that is misbehaving, look at it using an account that can see the node (and that should NOT have access if that's your problem!), create a new issue in the issues queue, describe the problem... <ul><li> what did you do? </li><li> what did you expect? </li><li> what happened instead? </li></ul> ... and <strong>attach a screenshot of all the DNA records</strong> for that one node. <br /> Be sure to indicate paths (URLs) for every page and module that you mention.") .'</li></ol></div>', |
|
350 | + t("Check the release notes of the development snapshots for issues that might have been fixed in !Forum_Access-dev or !ACL-dev since the latest release.", $variables) .'</li><li>'. |
|
351 | + t("Install the %devel_node_access module (!DNA, part of the !Devel module) and enable its !debug_mode: !DNA will show you all the grants that actually control your nodes in a footer block on each node's page.", $variables) .'</li><li>'. |
|
352 | + t("Additional insight can be gained from !dna_summary and by enabling the second !DNA block.", $variables) .'</li><li>'. |
|
353 | + t("Click !Rebuild_permissions on !Post_settings_link and check DNA for changes.", $variables) .'</li><li>'. |
|
354 | + t("Check the issues queues of !Forum_Access_ and !ACL_ for existing reports and possible solutions.", $variables) .'</li><li>'. |
|
355 | + t("If all of this hasn't helped, then pick ONE node that is misbehaving, look at it using an account that can see the node (and that should NOT have access if that's your problem!), create a new issue in the issues queue, describe the problem... <ul><li> what did you do? </li><li> what did you expect? </li><li> what happened instead? </li></ul> ... and <strong>attach a screenshot of all the DNA records</strong> for that one node. <br /> Be sure to indicate paths (URLs) for every page and module that you mention.") .'</li></ol></div>', |
|
356 | 356 | ); |
357 | 357 | $form['forum_access']['troubleshooting'][] = array( |
358 | - '#type' => 'item', |
|
359 | - '#value' => '<div>'. t("Note: You should not keep the !Devel module enabled on a production site.", $variables) .'</div>', |
|
358 | + '#type' => 'item', |
|
359 | + '#value' => '<div>'. t("Note: You should not keep the !Devel module enabled on a production site.", $variables) .'</div>', |
|
360 | 360 | ); |
361 | - } |
|
361 | + } |
|
362 | 362 | |
363 | - if (!$is_container && isset($tid) && !node_access_needs_rebuild()) { |
|
363 | + if (!$is_container && isset($tid) && !node_access_needs_rebuild()) { |
|
364 | 364 | $count = db_result(db_query("SELECT COUNT(DISTINCT n.nid) FROM {node} n INNER JOIN {term_node} tn ON tn.vid = n.vid WHERE tn.tid = %d", $tid)); |
365 | 365 | $limit = 20; // from _node_access_rebuild_batch_operation() |
366 | 366 | $threshold = variable_get('forum_access_batch_threshold', $limit); // change the variable if you want |
367 | 367 | $form['forum_access']['update_limit'] = array( |
368 | - '#type' => 'value', |
|
369 | - '#value' => $limit, |
|
368 | + '#type' => 'value', |
|
369 | + '#value' => $limit, |
|
370 | 370 | ); |
371 | 371 | $form['forum_access']['update_choice'] = array( |
372 | - '#type' => 'radios', |
|
373 | - '#title' => 'Update the permissions', |
|
374 | - '#description' => t('<em>If</em> you make any node access changes, then each node in this forum needs to be updated. Hover over the radiobuttons for details.'), |
|
375 | - '#options' => NULL, |
|
376 | - 0 => array( |
|
372 | + '#type' => 'radios', |
|
373 | + '#title' => 'Update the permissions', |
|
374 | + '#description' => t('<em>If</em> you make any node access changes, then each node in this forum needs to be updated. Hover over the radiobuttons for details.'), |
|
375 | + '#options' => NULL, |
|
376 | + 0 => array( |
|
377 | 377 | '#type' => 'radio', |
378 | 378 | '#title' => t('for all %count nodes immediately', array('%count' => $count)), |
379 | 379 | '#attributes' => array('title' => t('This option is the fastest, but with many nodes it can still take considerable time and memory. If it fails, it will leave your !node_access table in an inconsistent state.', array('!node_access' => '{node_access}'))), |
380 | 380 | '#return_value' => 0, |
381 | 381 | '#default_value' => ($count <= $threshold ? 0 : 1), |
382 | 382 | '#parents' => array('forum_access', 'update_choice'), |
383 | - ), |
|
384 | - 1 => array( |
|
383 | + ), |
|
384 | + 1 => array( |
|
385 | 385 | '#type' => 'radio', |
386 | 386 | '#title' => t('in batches of !limit now', array('!limit' => $limit)), |
387 | 387 | '#attributes' => array('title' => t('The batch option will always work reliably, but it takes longer to complete.')), |
388 | 388 | '#return_value' => 1, |
389 | 389 | '#default_value' => ($count <= $threshold ? 0 : 1), |
390 | 390 | '#parents' => array('forum_access', 'update_choice'), |
391 | - ), |
|
392 | - 2 => array( |
|
391 | + ), |
|
392 | + 2 => array( |
|
393 | 393 | '#type' => 'radio', |
394 | 394 | '#title' => t('rebuild <strong>all</strong> permissions later'), |
395 | 395 | '#attributes' => array('title' => t("This option will only set a flag to remind you to rebuild all permissions later; this is useful if you want to make multiple changes to your node access settings quickly and delay the updating until you're done.")), |
396 | 396 | '#return_value' => 2, |
397 | 397 | '#default_value' => ($count <= $threshold ? 0 : 1), |
398 | 398 | '#parents' => array('forum_access', 'update_choice'), |
399 | - ), |
|
400 | - '#attributes' => array('class' => 'forum-access-flowed'), |
|
399 | + ), |
|
400 | + '#attributes' => array('class' => 'forum-access-flowed'), |
|
401 | 401 | ); |
402 | - } |
|
403 | - if (isset($tid)) { |
|
402 | + } |
|
403 | + if (isset($tid)) { |
|
404 | 404 | $form['forum_access']['force_update'] = array( |
405 | - '#type' => 'checkbox', |
|
406 | - '#title' => t('Update even if unchanged'), |
|
405 | + '#type' => 'checkbox', |
|
406 | + '#title' => t('Update even if unchanged'), |
|
407 | 407 | ); |
408 | - } |
|
408 | + } |
|
409 | 409 | |
410 | - // Move some stuff down so our block goes in a nice place. |
|
411 | - $form['submit']['#weight'] = 10; |
|
412 | - $form['delete']['#weight'] = 10; |
|
410 | + // Move some stuff down so our block goes in a nice place. |
|
411 | + $form['submit']['#weight'] = 10; |
|
412 | + $form['delete']['#weight'] = 10; |
|
413 | 413 | |
414 | - $form['#validate'][] = '_forum_access_form_validate'; |
|
415 | - $form['#submit'][] = '_forum_access_form_submit'; |
|
414 | + $form['#validate'][] = '_forum_access_form_validate'; |
|
415 | + $form['#submit'][] = '_forum_access_form_submit'; |
|
416 | 416 | } |
417 | 417 | |
418 | 418 | /** |
@@ -420,82 +420,82 @@ discard block |
||
420 | 420 | * are the permissions of the corresponding role. |
421 | 421 | */ |
422 | 422 | function _forum_access_get_role_permissions() { |
423 | - static $permissions; |
|
424 | - if (empty($permissions)) { |
|
423 | + static $permissions; |
|
424 | + if (empty($permissions)) { |
|
425 | 425 | $permissions[DRUPAL_AUTHENTICATED_RID] = array(); |
426 | 426 | $result = db_query('SELECT r.rid, p.perm FROM {role} r INNER JOIN {permission} p ON r.rid = p.rid ORDER BY r.rid'); |
427 | 427 | while ($role = db_fetch_object($result)) { |
428 | - $permissions[$role->rid] = ($role->rid == DRUPAL_ANONYMOUS_RID ? array() : $permissions[DRUPAL_AUTHENTICATED_RID]); |
|
429 | - $permissions[$role->rid] += array_flip(explode(', ', $role->perm)); |
|
428 | + $permissions[$role->rid] = ($role->rid == DRUPAL_ANONYMOUS_RID ? array() : $permissions[DRUPAL_AUTHENTICATED_RID]); |
|
429 | + $permissions[$role->rid] += array_flip(explode(', ', $role->perm)); |
|
430 | + } |
|
430 | 431 | } |
431 | - } |
|
432 | - return $permissions; |
|
432 | + return $permissions; |
|
433 | 433 | } |
434 | 434 | |
435 | 435 | function _forum_access_forum_form_disable_checkboxes($element) { |
436 | - global $user; |
|
437 | - $tr = 't'; |
|
438 | - $moderator_rid = forum_access_query_moderator_rid(); |
|
436 | + global $user; |
|
437 | + $tr = 't'; |
|
438 | + $moderator_rid = forum_access_query_moderator_rid(); |
|
439 | 439 | |
440 | - $permissions = _forum_access_get_role_permissions(); |
|
441 | - $element_children = element_children($element); |
|
442 | - foreach ($element_children as $rid) { |
|
440 | + $permissions = _forum_access_get_role_permissions(); |
|
441 | + $element_children = element_children($element); |
|
442 | + foreach ($element_children as $rid) { |
|
443 | 443 | if ($rid == $moderator_rid) { |
444 | - $element[$rid]['#prefix'] = '<span title="'. t("This is the (temporary) @Forum_Moderator role; it has the '@administer_nodes' and '@administer_comments' permissions and is only used temporarily by @Forum_Access — do NOT give this role to any user!", array('@Forum_Moderator' => t('Forum Moderator'), '@administer_nodes' => $tr('administer nodes'), '@administer_comments' => $tr('administer comments'), '@Forum_Access' => 'Forum Access')) .'" class="forum-access-temporary-moderator">'; |
|
445 | - $element[$rid]['#suffix'] = "</span>"; |
|
446 | - $element[$rid]['#default_value'] = TRUE; |
|
447 | - $element[$rid]['#disabled'] = TRUE; |
|
444 | + $element[$rid]['#prefix'] = '<span title="'. t("This is the (temporary) @Forum_Moderator role; it has the '@administer_nodes' and '@administer_comments' permissions and is only used temporarily by @Forum_Access — do NOT give this role to any user!", array('@Forum_Moderator' => t('Forum Moderator'), '@administer_nodes' => $tr('administer nodes'), '@administer_comments' => $tr('administer comments'), '@Forum_Access' => 'Forum Access')) .'" class="forum-access-temporary-moderator">'; |
|
445 | + $element[$rid]['#suffix'] = "</span>"; |
|
446 | + $element[$rid]['#default_value'] = TRUE; |
|
447 | + $element[$rid]['#disabled'] = TRUE; |
|
448 | 448 | } |
449 | 449 | elseif ($element['#parents'][1] == 'create') { |
450 | - // Do nothing (Post is always mutable). |
|
450 | + // Do nothing (Post is always mutable). |
|
451 | 451 | } |
452 | 452 | elseif ($element['#parents'][1] == 'comment_create') { |
453 | 453 | } |
454 | 454 | elseif ($element['#parents'][1] == 'view' && isset($permissions[$rid]['administer forums'])) { |
455 | - $element[$rid]['#title'] = '<em>'. $element[$rid]['#title'] .'</em>'; |
|
456 | - $element[$rid]['#prefix'] = '<span title="'. t("This role has the '@administer_forums' permission, and granting '@View' enables the role holders to change the settings on this page, including @Access_control!", array('@administer_forums' => $tr('administer forums'), '@View' => t('View'), '@Access_control' => t('Access control'))) .'">'; |
|
457 | - if (isset($permissions[$rid]['administer nodes'])) { |
|
455 | + $element[$rid]['#title'] = '<em>'. $element[$rid]['#title'] .'</em>'; |
|
456 | + $element[$rid]['#prefix'] = '<span title="'. t("This role has the '@administer_forums' permission, and granting '@View' enables the role holders to change the settings on this page, including @Access_control!", array('@administer_forums' => $tr('administer forums'), '@View' => t('View'), '@Access_control' => t('Access control'))) .'">'; |
|
457 | + if (isset($permissions[$rid]['administer nodes'])) { |
|
458 | 458 | $element[$rid]['#prefix'] = str_replace('">', ' '. t("Because the role also has the '@administer_nodes' permission, it has full access to all nodes either way.", array('@administer_nodes' => $tr('administer nodes'))) .'">', $element[$rid]['#prefix']); |
459 | - } |
|
460 | - $element[$rid]['#suffix'] = "</span>"; |
|
459 | + } |
|
460 | + $element[$rid]['#suffix'] = "</span>"; |
|
461 | 461 | } |
462 | 462 | elseif (isset($permissions[$rid]['administer nodes'])) { |
463 | - $element[$rid]['#disabled'] = TRUE; |
|
464 | - $element[$rid]['#default_value'] = TRUE; |
|
465 | - $element[$rid]['#prefix'] = '<span title="'. ($rid != $moderator_rid |
|
463 | + $element[$rid]['#disabled'] = TRUE; |
|
464 | + $element[$rid]['#default_value'] = TRUE; |
|
465 | + $element[$rid]['#prefix'] = '<span title="'. ($rid != $moderator_rid |
|
466 | 466 | ? t("This role has the '@administer_nodes' permission and thus full access to all nodes.", array('@administer_nodes' => $tr('administer nodes'))) |
467 | 467 | : t("This is the @Forum_Moderator role; it has the '@administer_nodes' and '@administer_comments' permissions and thus full access to all nodes and comments.", array('@Forum_Moderator' => t('Forum Moderator'), '@administer_nodes' => $tr('administer nodes'), '@administer_comments' => $tr('administer comments')))) .'">'; |
468 | - $element[$rid]['#suffix'] = "</span>"; |
|
468 | + $element[$rid]['#suffix'] = "</span>"; |
|
469 | + } |
|
469 | 470 | } |
470 | - } |
|
471 | - return $element; |
|
471 | + return $element; |
|
472 | 472 | } |
473 | 473 | |
474 | 474 | function _forum_access_forum_form_after_build_acl0($form, $form_state) { |
475 | - if (isset($form['#post']['forum_access']['template']['taxonomy'])) { |
|
475 | + if (isset($form['#post']['forum_access']['template']['taxonomy'])) { |
|
476 | 476 | // Get ACL's user_list for the template and replace it before ACL's after_build function gets its shot at it. |
477 | 477 | $imv = array_values($form['#post']['forum_access']['template']['taxonomy']); |
478 | 478 | $template_tid = reset($imv); |
479 | 479 | if ($acl_id = acl_get_id_by_number('forum_access', $template_tid)) { |
480 | - $f = acl_edit_form($acl_id, 'DUMMY'); |
|
481 | - $form['user_list']['#value'] = $f['user_list']['#default_value']; |
|
480 | + $f = acl_edit_form($acl_id, 'DUMMY'); |
|
481 | + $form['user_list']['#value'] = $f['user_list']['#default_value']; |
|
482 | 482 | } |
483 | - } |
|
484 | - return $form; |
|
483 | + } |
|
484 | + return $form; |
|
485 | 485 | } |
486 | 486 | |
487 | 487 | function _forum_access_forum_form_after_build_acl2($form, $form_state) { |
488 | - if (!count(unserialize($form['user_list']['#default_value'])) && !count(unserialize($form['user_list']['#value']))) { |
|
488 | + if (!count(unserialize($form['user_list']['#default_value'])) && !count(unserialize($form['user_list']['#value']))) { |
|
489 | 489 | $form['#collapsed'] = TRUE; |
490 | - } |
|
491 | - if ($form['user_list']['#default_value'] != $form['user_list']['#value']) { |
|
490 | + } |
|
491 | + if ($form['user_list']['#default_value'] != $form['user_list']['#value']) { |
|
492 | 492 | $form['note']['#value'] = preg_replace('/<div>/', '<div class="warning">', $form['note']['#value']); |
493 | - } |
|
494 | - return $form; |
|
493 | + } |
|
494 | + return $form; |
|
495 | 495 | } |
496 | 496 | |
497 | 497 | function _forum_access_forum_form_after_build($form, &$form_state) { |
498 | - if (isset($form_state['clicked_button']['#name']) && $form_state['clicked_button']['#name'] == $form['template']['load_button']['#name']) { |
|
498 | + if (isset($form_state['clicked_button']['#name']) && $form_state['clicked_button']['#name'] == $form['template']['load_button']['#name']) { |
|
499 | 499 | // Load a setting from a template: |
500 | 500 | $template_tid = reset(array_values($form['#post']['forum_access']['template']['taxonomy'])); |
501 | 501 | $form_state['values']['forum_access']['template']['template_tid'] = $template_tid; |
@@ -503,158 +503,158 @@ discard block |
||
503 | 503 | |
504 | 504 | $settings = _forum_access_get_settings($template_tid); |
505 | 505 | foreach (array('view', 'create', 'comment_create', 'update', 'delete') as $grant_type) { |
506 | - if (empty($form[$grant_type])) { |
|
506 | + if (empty($form[$grant_type])) { |
|
507 | 507 | continue; |
508 | - } |
|
509 | - foreach (element_children($form[$grant_type]) as $tid) { |
|
508 | + } |
|
509 | + foreach (element_children($form[$grant_type]) as $tid) { |
|
510 | 510 | $checked = array_search($tid, $settings[$grant_type]) !== FALSE; |
511 | 511 | $form[$grant_type][$tid]['#value'] = ($checked ? $tid : 0); |
512 | - } |
|
512 | + } |
|
513 | 513 | } |
514 | 514 | $form['interference']['advanced']['priority']['#value'] = $settings['priority']; |
515 | 515 | if ($settings['priority'] != 0) { |
516 | - $form['interference']['advanced']['#collapsed'] = FALSE; |
|
516 | + $form['interference']['advanced']['#collapsed'] = FALSE; |
|
517 | 517 | } |
518 | - } |
|
519 | - elseif (is_array(reset($form_state['values']['forum_access']['template']['taxonomy']))) { |
|
520 | - $imv = reset($form_state['values']['forum_access']['template']['taxonomy']); |
|
518 | + } |
|
519 | + elseif (is_array(reset($form_state['values']['forum_access']['template']['taxonomy']))) { |
|
520 | + $imv = reset($form_state['values']['forum_access']['template']['taxonomy']); |
|
521 | 521 | $template_tid = reset($imv); |
522 | - } |
|
523 | - if (isset($template_tid)) { |
|
522 | + } |
|
523 | + if (isset($template_tid)) { |
|
524 | 524 | $form['template']['select_by_default']['#value'] = ($template_tid && $template_tid == variable_get('forum_access_default_template_tid', 0)); |
525 | 525 | $form['template']['load_for_new']['#value'] = ($template_tid && $template_tid == variable_get('forum_access_new_template_tid', 0)); |
526 | - } |
|
527 | - return $form; |
|
526 | + } |
|
527 | + return $form; |
|
528 | 528 | } |
529 | 529 | |
530 | 530 | function _forum_access_form_validate($form, &$form_state) { |
531 | - global $user; |
|
531 | + global $user; |
|
532 | 532 | |
533 | - if ($user->uid == 1) { |
|
533 | + if ($user->uid == 1) { |
|
534 | 534 | return; |
535 | - } |
|
536 | - $access = $form_state['values']['forum_access']; // shortcut |
|
537 | - foreach ($access['view'] as $rid => $checked) { |
|
535 | + } |
|
536 | + $access = $form_state['values']['forum_access']; // shortcut |
|
537 | + foreach ($access['view'] as $rid => $checked) { |
|
538 | 538 | if ($checked && isset($user->roles[$rid])) { |
539 | - return; |
|
539 | + return; |
|
540 | + } |
|
540 | 541 | } |
541 | - } |
|
542 | - form_set_error('forum_access][view', t('You must assign %View access to a role that you hold.', array('%View' => 'View'))); |
|
542 | + form_set_error('forum_access][view', t('You must assign %View access to a role that you hold.', array('%View' => 'View'))); |
|
543 | 543 | } |
544 | 544 | |
545 | 545 | function _forum_access_form_submit($form, &$form_state) { |
546 | - $access = $form_state['values']['forum_access']; // shortcut |
|
546 | + $access = $form_state['values']['forum_access']; // shortcut |
|
547 | 547 | |
548 | - // Save template choice: |
|
549 | - $template_tid = reset(array_values($access['template']['taxonomy'])); |
|
550 | - if ($access['template']['select_by_default']) { |
|
548 | + // Save template choice: |
|
549 | + $template_tid = reset(array_values($access['template']['taxonomy'])); |
|
550 | + if ($access['template']['select_by_default']) { |
|
551 | 551 | variable_set('forum_access_default_template_tid', $template_tid); |
552 | - } |
|
553 | - elseif (variable_get('forum_access_default_template_tid', 0) == $template_tid) { |
|
552 | + } |
|
553 | + elseif (variable_get('forum_access_default_template_tid', 0) == $template_tid) { |
|
554 | 554 | variable_del('forum_access_default_template_tid'); |
555 | - } |
|
556 | - if ($access['template']['load_for_new']) { |
|
555 | + } |
|
556 | + if ($access['template']['load_for_new']) { |
|
557 | 557 | variable_set('forum_access_new_template_tid', $template_tid); |
558 | - } |
|
559 | - elseif (variable_get('forum_access_new_template_tid', 0) == $template_tid) { |
|
558 | + } |
|
559 | + elseif (variable_get('forum_access_new_template_tid', 0) == $template_tid) { |
|
560 | 560 | variable_del('forum_access_new_template_tid'); |
561 | - } |
|
562 | - module_load_include('node.inc', 'forum_access'); |
|
563 | - $moderator_rid = _forum_access_get_moderator_rid(TRUE); // create the moderators role if it doesn't exist |
|
564 | - |
|
565 | - // check for changes |
|
566 | - $is_changed = $is_new = strpos($_GET['q'], 'admin/content/forum/add/') === 0; |
|
567 | - $is_changed = $is_changed || !empty($access['force_update']); |
|
568 | - $form_initial_values = $form; // avoid Coder warning |
|
569 | - $form_initial_values = $form_initial_values['forum_access']; |
|
570 | - foreach (array('view', 'create', 'comment_create', 'update', 'delete') as $grant_type) { |
|
561 | + } |
|
562 | + module_load_include('node.inc', 'forum_access'); |
|
563 | + $moderator_rid = _forum_access_get_moderator_rid(TRUE); // create the moderators role if it doesn't exist |
|
564 | + |
|
565 | + // check for changes |
|
566 | + $is_changed = $is_new = strpos($_GET['q'], 'admin/content/forum/add/') === 0; |
|
567 | + $is_changed = $is_changed || !empty($access['force_update']); |
|
568 | + $form_initial_values = $form; // avoid Coder warning |
|
569 | + $form_initial_values = $form_initial_values['forum_access']; |
|
570 | + foreach (array('view', 'create', 'comment_create', 'update', 'delete') as $grant_type) { |
|
571 | 571 | if (isset($form_initial_values[$grant_type])) { |
572 | - $defaults = $form_initial_values[$grant_type]['#default_value']; |
|
573 | - $defaults = array_flip($defaults); |
|
574 | - foreach ($access[$grant_type] as $rid => $checked) { |
|
572 | + $defaults = $form_initial_values[$grant_type]['#default_value']; |
|
573 | + $defaults = array_flip($defaults); |
|
574 | + foreach ($access[$grant_type] as $rid => $checked) { |
|
575 | 575 | $is_changed = $is_changed || (empty($form_initial_values[$grant_type][$rid]['#disabled']) && !empty($checked) != isset($defaults[$rid])); |
576 | - } |
|
576 | + } |
|
577 | + } |
|
577 | 578 | } |
578 | - } |
|
579 | - if (!$is_changed && $access['acl']['user_list'] == $form_initial_values['acl']['user_list']['#default_value'] && $access['interference']['advanced']['priority'] == $form_initial_values['interference']['advanced']['priority']['#default_value']) { |
|
579 | + if (!$is_changed && $access['acl']['user_list'] == $form_initial_values['acl']['user_list']['#default_value'] && $access['interference']['advanced']['priority'] == $form_initial_values['interference']['advanced']['priority']['#default_value']) { |
|
580 | 580 | drupal_set_message(t('The content access permissions are unchanged.')); |
581 | 581 | return; |
582 | - } |
|
582 | + } |
|
583 | 583 | |
584 | - $tid = $form_state['values']['tid']; |
|
585 | - db_query("DELETE FROM {forum_access} WHERE tid = %d", $tid); |
|
584 | + $tid = $form_state['values']['tid']; |
|
585 | + db_query("DELETE FROM {forum_access} WHERE tid = %d", $tid); |
|
586 | 586 | |
587 | - $fa_priority = isset($access['interference']['advanced']['priority']) ? $access['interference']['advanced']['priority'] : 0; |
|
588 | - if (array_key_exists('acl', $access)) { |
|
587 | + $fa_priority = isset($access['interference']['advanced']['priority']) ? $access['interference']['advanced']['priority'] : 0; |
|
588 | + if (array_key_exists('acl', $access)) { |
|
589 | 589 | $moderators = unserialize($access['acl']['user_list']); |
590 | 590 | acl_save_form($access['acl'], $fa_priority); |
591 | - } |
|
592 | - $permissions = _forum_access_get_role_permissions(); |
|
593 | - foreach ($access['view'] as $rid => $checked) { |
|
591 | + } |
|
592 | + $permissions = _forum_access_get_role_permissions(); |
|
593 | + foreach ($access['view'] as $rid => $checked) { |
|
594 | 594 | if ($rid == $moderator_rid) { |
595 | - continue; |
|
595 | + continue; |
|
596 | 596 | } |
597 | 597 | if (isset($permissions[$rid]['administer nodes'])) { |
598 | - // We prefer not to save records for node administrators, because these have access anyway. |
|
599 | - if (isset($permissions[$rid]['administer forums']) && $access['view'][$rid]) { |
|
598 | + // We prefer not to save records for node administrators, because these have access anyway. |
|
599 | + if (isset($permissions[$rid]['administer forums']) && $access['view'][$rid]) { |
|
600 | 600 | // For forum administrators, View needs to be saved, ... |
601 | - } |
|
602 | - else { |
|
601 | + } |
|
602 | + else { |
|
603 | 603 | // ... otherwise forget View. |
604 | 604 | $access['view'][$rid] = FALSE; |
605 | - } |
|
606 | - if ($access['view'][$rid] || $access['create'][$rid] || $access['comment_create'][$rid]) { |
|
605 | + } |
|
606 | + if ($access['view'][$rid] || $access['create'][$rid] || $access['comment_create'][$rid]) { |
|
607 | 607 | db_query("INSERT INTO {forum_access} (tid, rid, grant_view, grant_update, grant_delete, grant_create, grant_comment_create, priority) VALUES (%d, %d, %d, %d, %d, %d, %d, %d)", |
608 | 608 | $tid, $rid, !empty($access['view'][$rid]), 0, 0, !empty($access['create'][$rid]), !empty($access['comment_create'][$rid]), $fa_priority); |
609 | - } |
|
609 | + } |
|
610 | 610 | } |
611 | 611 | else { |
612 | - db_query("INSERT INTO {forum_access} (tid, rid, grant_view, grant_update, grant_delete, grant_create, grant_comment_create, priority) VALUES (%d, %d, %d, %d, %d, %d, %d, %d)", |
|
613 | - $tid, $rid, (bool) $checked, !empty($access['update'][$rid]), !empty($access['delete'][$rid]), !empty($access['create'][$rid]), !empty($access['comment_create'][$rid]), $fa_priority); |
|
612 | + db_query("INSERT INTO {forum_access} (tid, rid, grant_view, grant_update, grant_delete, grant_create, grant_comment_create, priority) VALUES (%d, %d, %d, %d, %d, %d, %d, %d)", |
|
613 | + $tid, $rid, (bool) $checked, !empty($access['update'][$rid]), !empty($access['delete'][$rid]), !empty($access['create'][$rid]), !empty($access['comment_create'][$rid]), $fa_priority); |
|
614 | 614 | } |
615 | - } |
|
616 | - $tr = 't'; |
|
617 | - $link = l($tr('edit'), 'admin/content/forum/edit/forum/'. $tid); |
|
618 | - watchdog('access', 'Changed grants for %forum forum.', array('%forum' => $form_state['values']['name']), WATCHDOG_NOTICE, $link); |
|
615 | + } |
|
616 | + $tr = 't'; |
|
617 | + $link = l($tr('edit'), 'admin/content/forum/edit/forum/'. $tid); |
|
618 | + watchdog('access', 'Changed grants for %forum forum.', array('%forum' => $form_state['values']['name']), WATCHDOG_NOTICE, $link); |
|
619 | 619 | |
620 | - if (!$is_new && $form_state['values']['form_id'] != 'forum_form_container') { |
|
620 | + if (!$is_new && $form_state['values']['form_id'] != 'forum_form_container') { |
|
621 | 621 | if (!isset($access['update_choice']) || $access['update_choice'] == 2) { |
622 | - node_access_needs_rebuild(TRUE); |
|
622 | + node_access_needs_rebuild(TRUE); |
|
623 | 623 | } |
624 | 624 | elseif ($access['update_choice'] == 0) { |
625 | - // update immediately (but use the batch functions anyway |
|
626 | - $save_redirect = $form_state['redirect']; |
|
627 | - $form_state['redirect'] = $_GET['q']; |
|
628 | - $context = array(); |
|
629 | - $pending_error_messages = drupal_get_messages('error', FALSE); |
|
630 | - $our_error_message_index = (isset($pending_error_messages['error']) ? count($pending_error_messages['error']) : 0); |
|
631 | - _forum_access_update_batch_finished(FALSE, array(), array()); // add our error message (in case we die underway) |
|
632 | - _forum_access_update_batch_operation($tid, 999999, 1, $context); |
|
633 | - $pending_error_messages = drupal_get_messages('error', TRUE); // still alive, get and clear all 'error' messages |
|
634 | - unset($pending_error_messages['error'][$our_error_message_index]); // remove our error message |
|
635 | - foreach ($pending_error_messages['error'] as $message) { // replay any others |
|
625 | + // update immediately (but use the batch functions anyway |
|
626 | + $save_redirect = $form_state['redirect']; |
|
627 | + $form_state['redirect'] = $_GET['q']; |
|
628 | + $context = array(); |
|
629 | + $pending_error_messages = drupal_get_messages('error', FALSE); |
|
630 | + $our_error_message_index = (isset($pending_error_messages['error']) ? count($pending_error_messages['error']) : 0); |
|
631 | + _forum_access_update_batch_finished(FALSE, array(), array()); // add our error message (in case we die underway) |
|
632 | + _forum_access_update_batch_operation($tid, 999999, 1, $context); |
|
633 | + $pending_error_messages = drupal_get_messages('error', TRUE); // still alive, get and clear all 'error' messages |
|
634 | + unset($pending_error_messages['error'][$our_error_message_index]); // remove our error message |
|
635 | + foreach ($pending_error_messages['error'] as $message) { // replay any others |
|
636 | 636 | drupal_set_message($message, 'error'); |
637 | - } |
|
638 | - _forum_access_update_batch_finished(TRUE, array(), array()); |
|
639 | - $form_state['redirect'] = $save_redirect; |
|
637 | + } |
|
638 | + _forum_access_update_batch_finished(TRUE, array(), array()); |
|
639 | + $form_state['redirect'] = $save_redirect; |
|
640 | 640 | } |
641 | 641 | else { |
642 | - // mass update in batch mode, modeled after node.module |
|
643 | - $limit = $access['update_limit']; |
|
644 | - $count = db_result(db_query("SELECT COUNT(DISTINCT n.nid) FROM {node} n INNER JOIN {term_node} tn ON tn.vid = n.vid WHERE tn.tid = %d", $tid)); |
|
645 | - $batch = array( |
|
642 | + // mass update in batch mode, modeled after node.module |
|
643 | + $limit = $access['update_limit']; |
|
644 | + $count = db_result(db_query("SELECT COUNT(DISTINCT n.nid) FROM {node} n INNER JOIN {term_node} tn ON tn.vid = n.vid WHERE tn.tid = %d", $tid)); |
|
645 | + $batch = array( |
|
646 | 646 | 'title' => t('Updating content access permissions'), |
647 | 647 | 'file' => drupal_get_path('module', 'forum_access') .'/forum_access.admin.inc', |
648 | 648 | 'operations' => array( |
649 | - array('_forum_access_update_batch_operation', array($tid, $limit, $count)), |
|
649 | + array('_forum_access_update_batch_operation', array($tid, $limit, $count)), |
|
650 | 650 | ), |
651 | 651 | 'finished' => '_forum_access_update_batch_finished' |
652 | - ); |
|
653 | - batch_set($batch); |
|
652 | + ); |
|
653 | + batch_set($batch); |
|
654 | + } |
|
654 | 655 | } |
655 | - } |
|
656 | 656 | |
657 | - variable_del('forum_access_rids'); // clear cache |
|
657 | + variable_del('forum_access_rids'); // clear cache |
|
658 | 658 | } |
659 | 659 | |
660 | 660 | /** |
@@ -665,73 +665,73 @@ discard block |
||
665 | 665 | * feedback after 1 second execution time. |
666 | 666 | */ |
667 | 667 | function _forum_access_update_batch_operation($tid, $limit, $count, &$context) { |
668 | - if (empty($context['sandbox'])) { |
|
668 | + if (empty($context['sandbox'])) { |
|
669 | 669 | // Initiate multistep processing. |
670 | 670 | $context['sandbox']['progress'] = 0; |
671 | 671 | $context['sandbox']['current_node'] = 0; |
672 | 672 | $context['sandbox']['max'] = $count; |
673 | - } |
|
673 | + } |
|
674 | 674 | |
675 | - // Process the next 20 nodes. |
|
676 | - $result = db_query_range("SELECT DISTINCT n.nid FROM {node} n INNER JOIN {term_node} tn ON tn.vid = n.vid WHERE n.nid > %d AND tn.tid = %d ORDER BY n.nid ASC", $context['sandbox']['current_node'], $tid, 0, $limit); |
|
677 | - while ($row = db_fetch_array($result)) { |
|
675 | + // Process the next 20 nodes. |
|
676 | + $result = db_query_range("SELECT DISTINCT n.nid FROM {node} n INNER JOIN {term_node} tn ON tn.vid = n.vid WHERE n.nid > %d AND tn.tid = %d ORDER BY n.nid ASC", $context['sandbox']['current_node'], $tid, 0, $limit); |
|
677 | + while ($row = db_fetch_array($result)) { |
|
678 | 678 | $loaded_node = node_load($row['nid'], NULL, TRUE); |
679 | 679 | // To preserve database integrity, only aquire grants if the node |
680 | 680 | // loads successfully. |
681 | 681 | if (!empty($loaded_node)) { |
682 | - node_access_acquire_grants($loaded_node); |
|
682 | + node_access_acquire_grants($loaded_node); |
|
683 | 683 | } |
684 | 684 | $context['sandbox']['progress']++; |
685 | 685 | $context['sandbox']['current_node'] = $loaded_node->nid; |
686 | - } |
|
686 | + } |
|
687 | 687 | |
688 | - // Multistep processing : report progress. |
|
689 | - if ($context['sandbox']['progress'] != $context['sandbox']['max']) { |
|
688 | + // Multistep processing : report progress. |
|
689 | + if ($context['sandbox']['progress'] != $context['sandbox']['max']) { |
|
690 | 690 | $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max']; |
691 | - } |
|
691 | + } |
|
692 | 692 | } |
693 | 693 | |
694 | 694 | /** |
695 | 695 | * Post-processing for forum_access_form_submit(). |
696 | 696 | */ |
697 | 697 | function _forum_access_update_batch_finished($success, $results, $operations) { |
698 | - if ($success) { |
|
698 | + if ($success) { |
|
699 | 699 | drupal_set_message(t('The content access permissions have been updated.')); |
700 | 700 | cache_clear_all(); |
701 | - } |
|
702 | - else { |
|
701 | + } |
|
702 | + else { |
|
703 | 703 | drupal_set_message(t('The content access permissions have not been properly updated.'), 'error'); |
704 | - } |
|
704 | + } |
|
705 | 705 | } |
706 | 706 | |
707 | 707 | /** |
708 | 708 | * Add our settings to the forum administration settings page. |
709 | 709 | */ |
710 | 710 | function _forum_access_forum_admin_settings_form(&$form, &$form_state) { |
711 | - $variables = array( |
|
711 | + $variables = array( |
|
712 | 712 | '!Forum_Access' => 'Forum Access', |
713 | 713 | '%View' => 'View', |
714 | 714 | '%Post' => 'Post', |
715 | 715 | '%post_comments' => 'post comments', |
716 | - ); |
|
717 | - $form['forum_access'] = array( |
|
716 | + ); |
|
717 | + $form['forum_access'] = array( |
|
718 | 718 | '#type' => 'fieldset', |
719 | 719 | '#title' => 'Forum Access', |
720 | 720 | '#attributes' => array('id' => 'edit-forum-admin-settings-forum-access'), |
721 | - ); |
|
722 | - $form['forum_access']['note'] = array( |
|
721 | + ); |
|
722 | + $form['forum_access']['note'] = array( |
|
723 | 723 | '#type' => 'item', |
724 | 724 | '#value' => t('Note: All other !Forum_Access controls are on the administration pages of the individual forums.', $variables), |
725 | - ); |
|
726 | - $form['forum_access']['forum_access_D5_legacy_mode'] = array( |
|
725 | + ); |
|
726 | + $form['forum_access']['forum_access_D5_legacy_mode'] = array( |
|
727 | 727 | '#type' => 'checkbox', |
728 | 728 | '#title' => t('Drupal 5 legacy mode', $variables), |
729 | 729 | '#default_value' => variable_get('forum_access_D5_legacy_mode', FALSE), |
730 | 730 | '#description' => t('In Drupal 5, comment posting was not restricted by !Forum_Access; users with %View access (and the %post_comments permission) were always allowed to post forum comments. Starting with Drupal 6, posting comments is now restricted to users with %Post access. Turn this option on to revert to the old behavior. The default is OFF.', $variables), |
731 | - ); |
|
732 | - $buttons = $form['buttons']; |
|
733 | - unset($form['buttons']); |
|
734 | - $form['buttons'] = $buttons; |
|
731 | + ); |
|
732 | + $buttons = $form['buttons']; |
|
733 | + unset($form['buttons']); |
|
734 | + $form['buttons'] = $buttons; |
|
735 | 735 | } |
736 | 736 | |
737 | 737 | /** |
@@ -739,63 +739,63 @@ discard block |
||
739 | 739 | */ |
740 | 740 | function _forum_access_get_settings($tid = NULL) { |
741 | 741 | $return = array('view' => array(), 'create' => array(), 'comment_create' => array(), 'update' => array(), 'delete' => array(), 'priority' => 0); |
742 | - if (!isset($tid)) { |
|
742 | + if (!isset($tid)) { |
|
743 | 743 | // Default to all users can read; all logged in users can post and comment. |
744 | 744 | $return['view'] = array(DRUPAL_ANONYMOUS_RID, DRUPAL_AUTHENTICATED_RID); |
745 | 745 | $return['create'] = array(DRUPAL_AUTHENTICATED_RID); |
746 | 746 | $return['comment_create'] = array(DRUPAL_AUTHENTICATED_RID); |
747 | - } |
|
748 | - else { |
|
747 | + } |
|
748 | + else { |
|
749 | 749 | $result = db_query("SELECT * FROM {forum_access} where tid = %d", $tid); |
750 | 750 | while ($access = db_fetch_object($result)) { |
751 | - if ($access->grant_view) { |
|
751 | + if ($access->grant_view) { |
|
752 | 752 | $return['view'][] = $access->rid; |
753 | - } |
|
754 | - if ($access->grant_update) { |
|
753 | + } |
|
754 | + if ($access->grant_update) { |
|
755 | 755 | $return['update'][] = $access->rid; |
756 | - } |
|
757 | - if ($access->grant_delete) { |
|
756 | + } |
|
757 | + if ($access->grant_delete) { |
|
758 | 758 | $return['delete'][] = $access->rid; |
759 | - } |
|
760 | - if ($access->grant_create) { |
|
759 | + } |
|
760 | + if ($access->grant_create) { |
|
761 | 761 | $return['create'][] = $access->rid; |
762 | - } |
|
763 | - if ($access->grant_comment_create) { |
|
762 | + } |
|
763 | + if ($access->grant_comment_create) { |
|
764 | 764 | $return['comment_create'][] = $access->rid; |
765 | - } |
|
766 | - if ($access->rid == DRUPAL_AUTHENTICATED_RID) { // this is our reference |
|
765 | + } |
|
766 | + if ($access->rid == DRUPAL_AUTHENTICATED_RID) { // this is our reference |
|
767 | 767 | $return['priority'] = $access->priority; |
768 | - } |
|
768 | + } |
|
769 | + } |
|
769 | 770 | } |
770 | - } |
|
771 | - return $return; |
|
771 | + return $return; |
|
772 | 772 | } |
773 | 773 | |
774 | 774 | /** |
775 | 775 | * Remove unusable 'edit' links from overview form. |
776 | 776 | */ |
777 | 777 | function _forum_access_forum_overview(&$form, &$form_state) { |
778 | - global $user; |
|
779 | - if ($user->uid == 1) { |
|
778 | + global $user; |
|
779 | + if ($user->uid == 1) { |
|
780 | 780 | return; |
781 | - } |
|
782 | - foreach ($form as $key => $value) { |
|
781 | + } |
|
782 | + foreach ($form as $key => $value) { |
|
783 | 783 | if (preg_match('/^tid:(.*):0$/', $key, $matches)) { |
784 | - if (!forum_access_access($matches[1], 'view', NULL, FALSE)) { |
|
784 | + if (!forum_access_access($matches[1], 'view', NULL, FALSE)) { |
|
785 | 785 | $form[$key]['edit']['#access'] = FALSE; |
786 | 786 | if (preg_match('|<a [^>]*>([^<]*)</a>|', $form[$key]['view']['#value'], $matches)) { |
787 | - $form[$key]['view']['#value'] = $matches[1]; |
|
787 | + $form[$key]['view']['#value'] = $matches[1]; |
|
788 | + } |
|
788 | 789 | } |
789 | - } |
|
790 | 790 | } |
791 | - } |
|
791 | + } |
|
792 | 792 | } |
793 | 793 | |
794 | 794 | /** |
795 | 795 | * We must know when a role is deleted. |
796 | 796 | */ |
797 | 797 | function _forum_access_user_admin_role_form(&$form, &$form_state) { |
798 | - $form['#submit'][] = '_forum_access_user_admin_role_submit'; |
|
798 | + $form['#submit'][] = '_forum_access_user_admin_role_submit'; |
|
799 | 799 | } |
800 | 800 | |
801 | 801 | /** |
@@ -803,14 +803,14 @@ discard block |
||
803 | 803 | * Also, we complain if the Forum Moderator role is deleted. |
804 | 804 | */ |
805 | 805 | function _forum_access_user_admin_role_submit($form, &$form_state) { |
806 | - if ($form_state['values']['op'] == $form_state['values']['delete']) { |
|
806 | + if ($form_state['values']['op'] == $form_state['values']['delete']) { |
|
807 | 807 | $rid = $form_state['values']['rid']; |
808 | 808 | db_query("DELETE FROM {forum_access} WHERE rid = %d", $rid); |
809 | 809 | db_query("DELETE FROM {node_access} WHERE gid = %d AND realm = 'forum_access'", $rid); |
810 | 810 | if ($rid === forum_access_query_moderator_rid()) { |
811 | - drupal_set_message(t('The role you have just deleted is required by !Forum_Access; it will be recreated automatically.', array('!Forum_Access' => 'Forum Access')), 'error'); |
|
811 | + drupal_set_message(t('The role you have just deleted is required by !Forum_Access; it will be recreated automatically.', array('!Forum_Access' => 'Forum Access')), 'error'); |
|
812 | + } |
|
812 | 813 | } |
813 | - } |
|
814 | 814 | } |
815 | 815 | |
816 | 816 | /** |
@@ -818,27 +818,27 @@ discard block |
||
818 | 818 | * to control the same content types as we do. |
819 | 819 | */ |
820 | 820 | function _forum_access_content_access_admin_form() { |
821 | - $tr = 't'; |
|
822 | - $variables = array( |
|
821 | + $tr = 't'; |
|
822 | + $variables = array( |
|
823 | 823 | '!Content_Access' => 'Content Access', |
824 | 824 | '!Forum_Access' => 'Forum Access', |
825 | 825 | '!Forum_Access_link' => l('Forum Access', 'admin/content/forum'), |
826 | 826 | '%anonymous_user' => $tr('anonymous user'), |
827 | 827 | '%authenticated_user' => $tr('authenticated user'), |
828 | 828 | '%Advanced' => $tr('Advanced'), |
829 | - ); |
|
830 | - if (arg(3) == 'forum') { |
|
829 | + ); |
|
830 | + if (arg(3) == 'forum') { |
|
831 | 831 | drupal_set_message(t('Note: In Drupal, access can only be granted, not taken away. Whatever access you grant here will not be reflected in the !Forum_Access_link settings, but !Forum_Access can only allow <i>more</i> access, not less.', $variables) |
832 | - .'<br /><span class="error">'. t('Specifically, any rights granted to the %anonymous_user and/or the %authenticated_user will <b>override</b> the settings of !Forum_Access!', $variables) .'</span>' |
|
833 | - .'<br />'. t('To avoid conflicts with !Forum_Access settings, you may want to lower the priority of !Content_Access (under %Advanced below) below the priority of !Forum_Access for the content types that you want to be controlled by !Forum_Access.', $variables), 'warning'); |
|
834 | - } |
|
835 | - else { |
|
832 | + .'<br /><span class="error">'. t('Specifically, any rights granted to the %anonymous_user and/or the %authenticated_user will <b>override</b> the settings of !Forum_Access!', $variables) .'</span>' |
|
833 | + .'<br />'. t('To avoid conflicts with !Forum_Access settings, you may want to lower the priority of !Content_Access (under %Advanced below) below the priority of !Forum_Access for the content types that you want to be controlled by !Forum_Access.', $variables), 'warning'); |
|
834 | + } |
|
835 | + else { |
|
836 | 836 | $vid = _forum_access_get_vid(); |
837 | 837 | $vocabulary = taxonomy_vocabulary_load($vid); |
838 | 838 | if (isset($vocabulary->nodes[arg(3)])) { |
839 | - drupal_set_message(t('Note: Nodes of this content type can be put inside forums, where access to them will also be controlled by !Forum_Access.<br />In Drupal, access can only be granted, not taken away. Whatever access you grant here will not be reflected on the !Forum_Access_link settings, and vice versa, but any node access module can only allow <i>more</i> access, not less.', $variables), 'warning'); |
|
839 | + drupal_set_message(t('Note: Nodes of this content type can be put inside forums, where access to them will also be controlled by !Forum_Access.<br />In Drupal, access can only be granted, not taken away. Whatever access you grant here will not be reflected on the !Forum_Access_link settings, and vice versa, but any node access module can only allow <i>more</i> access, not less.', $variables), 'warning'); |
|
840 | + } |
|
840 | 841 | } |
841 | - } |
|
842 | 842 | } |
843 | 843 | |
844 | 844 | /** |
@@ -848,12 +848,12 @@ discard block |
||
848 | 848 | * admin/user/permissions. |
849 | 849 | */ |
850 | 850 | function _forum_access_user_admin_perm_form(&$form, &$form_state) { |
851 | - $moderator_rid = forum_access_query_moderator_rid(); |
|
852 | - if (isset($moderator_rid) && array_key_exists($moderator_rid, $form['role_names'])) { |
|
851 | + $moderator_rid = forum_access_query_moderator_rid(); |
|
852 | + if (isset($moderator_rid) && array_key_exists($moderator_rid, $form['role_names'])) { |
|
853 | 853 | drupal_set_message(t('The %role role is used internally by the @Forum_Access module and must not be changed!', array('%role' => $form['role_names'][$moderator_rid]['#value'], '@Forum_Access' => 'Forum Access')), 'warning', FALSE); |
854 | 854 | $form['checkboxes'][$moderator_rid]['#disabled'] = TRUE; |
855 | - } |
|
856 | - array_unshift($form['#submit'], '_forum_access_user_admin_perm_form_submit'); |
|
855 | + } |
|
856 | + array_unshift($form['#submit'], '_forum_access_user_admin_perm_form_submit'); |
|
857 | 857 | } |
858 | 858 | |
859 | 859 | /** |
@@ -863,10 +863,10 @@ discard block |
||
863 | 863 | * before the real handler gets them. |
864 | 864 | */ |
865 | 865 | function _forum_access_user_admin_perm_form_submit($form, &$form_state) { |
866 | - $moderator_rid = forum_access_query_moderator_rid(); |
|
867 | - if (isset($moderator_rid)) { |
|
866 | + $moderator_rid = forum_access_query_moderator_rid(); |
|
867 | + if (isset($moderator_rid)) { |
|
868 | 868 | unset($form_state['values'][$moderator_rid]); |
869 | - } |
|
869 | + } |
|
870 | 870 | } |
871 | 871 | |
872 | 872 | /** |
@@ -876,10 +876,10 @@ discard block |
||
876 | 876 | * admin/user/user. |
877 | 877 | */ |
878 | 878 | function _forum_access_user_admin_account_form(&$form, &$form_state) { |
879 | - $moderator_rid = forum_access_query_moderator_rid(); |
|
880 | - if (isset($moderator_rid)) { |
|
879 | + $moderator_rid = forum_access_query_moderator_rid(); |
|
880 | + if (isset($moderator_rid)) { |
|
881 | 881 | unset($form['options']['operation']['#options'][t('Add a role to the selected users')]["add_role-$moderator_rid"]); |
882 | - } |
|
882 | + } |
|
883 | 883 | } |
884 | 884 | |
885 | 885 | /** |
@@ -888,54 +888,54 @@ discard block |
||
888 | 888 | * Disable the Forum Moderator checkbox on user/UID/edit. |
889 | 889 | */ |
890 | 890 | function _forum_access_user_profile_form(&$form, &$form_state) { |
891 | - //dpm($form, '_forum_access_user_profile_form()'); |
|
892 | - $moderator_rid = forum_access_query_moderator_rid(); |
|
893 | - if (isset($moderator_rid) && isset($form['account']['roles']['#options'][$moderator_rid])) { |
|
891 | + //dpm($form, '_forum_access_user_profile_form()'); |
|
892 | + $moderator_rid = forum_access_query_moderator_rid(); |
|
893 | + if (isset($moderator_rid) && isset($form['account']['roles']['#options'][$moderator_rid])) { |
|
894 | 894 | $form['account']['roles'][$moderator_rid] = array( |
895 | - '#type' => 'checkbox', |
|
896 | - '#title' => $form['account']['roles']['#options'][$moderator_rid] .' ('. t('reserved for internal use by the @Forum_Access module', array('@Forum_Access' => 'Forum Access')) .')', |
|
897 | - '#default_value' => in_array($moderator_rid, $form['account']['roles']['#default_value']), |
|
898 | - '#disabled' => TRUE, |
|
895 | + '#type' => 'checkbox', |
|
896 | + '#title' => $form['account']['roles']['#options'][$moderator_rid] .' ('. t('reserved for internal use by the @Forum_Access module', array('@Forum_Access' => 'Forum Access')) .')', |
|
897 | + '#default_value' => in_array($moderator_rid, $form['account']['roles']['#default_value']), |
|
898 | + '#disabled' => TRUE, |
|
899 | 899 | ); |
900 | 900 | unset($form['account']['roles']['#options'][$moderator_rid]); |
901 | - } |
|
901 | + } |
|
902 | 902 | } |
903 | 903 | |
904 | 904 | /** |
905 | 905 | * Create the Forum Moderator role. |
906 | 906 | */ |
907 | 907 | function _forum_access_create_moderator_rid($verbose = FALSE) { |
908 | - $tr = 't'; |
|
909 | - $variables = array('!Forum_Access' => 'Forum Access', '%administer_comments' => $tr('administer comments'), '%administer_nodes' => $tr('administer nodes')); |
|
910 | - $role_name = t('Forum Moderator'); |
|
911 | - $role = new stdClass(); |
|
912 | - $role->name = $role_name; |
|
913 | - for ($i = 2; $i <= 12; ++$i) { |
|
908 | + $tr = 't'; |
|
909 | + $variables = array('!Forum_Access' => 'Forum Access', '%administer_comments' => $tr('administer comments'), '%administer_nodes' => $tr('administer nodes')); |
|
910 | + $role_name = t('Forum Moderator'); |
|
911 | + $role = new stdClass(); |
|
912 | + $role->name = $role_name; |
|
913 | + for ($i = 2; $i <= 12; ++$i) { |
|
914 | 914 | $variables['%role'] = $role->name; |
915 | 915 | if (!db_result(db_query("SELECT COUNT(rid) FROM {role} WHERE name = '%s'", $role->name)) && |
916 | 916 | drupal_write_record('role', $role)) { |
917 | - $rid = $role->rid; |
|
918 | - variable_set('forum_access_moderator_rid', $rid); |
|
919 | - $permission = new stdClass(); |
|
920 | - $permission->rid = $rid; |
|
921 | - $permission->perm = 'administer comments, administer nodes, post comments, post comments without approval'; |
|
922 | - drupal_write_record('permission', $permission); |
|
923 | - $msg = t('!Forum_Access has created a new role named %role and given it the %administer_nodes and %administer_comments permissions. This role is used internally by !Forum_Access. You can change the name of the role as you like, but you must keep it unmodified otherwise.', $variables); |
|
924 | - if ($verbose) { |
|
917 | + $rid = $role->rid; |
|
918 | + variable_set('forum_access_moderator_rid', $rid); |
|
919 | + $permission = new stdClass(); |
|
920 | + $permission->rid = $rid; |
|
921 | + $permission->perm = 'administer comments, administer nodes, post comments, post comments without approval'; |
|
922 | + drupal_write_record('permission', $permission); |
|
923 | + $msg = t('!Forum_Access has created a new role named %role and given it the %administer_nodes and %administer_comments permissions. This role is used internally by !Forum_Access. You can change the name of the role as you like, but you must keep it unmodified otherwise.', $variables); |
|
924 | + if ($verbose) { |
|
925 | 925 | drupal_set_message($msg, 'warning'); |
926 | - } |
|
927 | - watchdog('user', $msg, NULL, WATCHDOG_NOTICE); |
|
928 | - return $rid; |
|
926 | + } |
|
927 | + watchdog('user', $msg, NULL, WATCHDOG_NOTICE); |
|
928 | + return $rid; |
|
929 | 929 | } |
930 | 930 | else { |
931 | - $msg = t('!Forum_Access cannot create the %role role!', $variables); |
|
932 | - watchdog('user', $msg, NULL, WATCHDOG_WARNING); |
|
933 | - drupal_set_message($msg .' '. t('Is it already in use?'), 'error'); |
|
934 | - $role->name = $role_name .' '. $i; |
|
935 | - } |
|
936 | - } |
|
937 | - $msg = t('!Forum_Access has given up and will not work correctly! Rename one of the roles listed above, so that !Forum_Access can use its name.', $variables); |
|
938 | - drupal_set_message($msg, 'error'); |
|
939 | - watchdog('user', $msg, NULL, WATCHDOG_CRITICAL); |
|
931 | + $msg = t('!Forum_Access cannot create the %role role!', $variables); |
|
932 | + watchdog('user', $msg, NULL, WATCHDOG_WARNING); |
|
933 | + drupal_set_message($msg .' '. t('Is it already in use?'), 'error'); |
|
934 | + $role->name = $role_name .' '. $i; |
|
935 | + } |
|
936 | + } |
|
937 | + $msg = t('!Forum_Access has given up and will not work correctly! Rename one of the roles listed above, so that !Forum_Access can use its name.', $variables); |
|
938 | + drupal_set_message($msg, 'error'); |
|
939 | + watchdog('user', $msg, NULL, WATCHDOG_CRITICAL); |
|
940 | 940 | } |
941 | 941 |
@@ -14,7 +14,7 @@ discard block |
||
14 | 14 | function _forum_access_forum_form(&$form, &$form_state, $is_container) { |
15 | 15 | $tid = (isset($form['tid']['#value']) ? $form['tid']['#value'] : NULL); |
16 | 16 | if (isset($tid) && !forum_access_access($tid, 'view', NULL, FALSE)) { |
17 | - drupal_access_denied(); // Deny access if the user doesn't have View access. |
|
17 | + drupal_access_denied(); // Deny access if the user doesn't have View access. |
|
18 | 18 | module_invoke_all('exit'); |
19 | 19 | exit; |
20 | 20 | } |
@@ -39,18 +39,18 @@ discard block |
||
39 | 39 | |
40 | 40 | $tr = 't'; |
41 | 41 | $variables = array( |
42 | - '!access_content' => '<em>'. l($tr('access content'), 'admin/user/permissions', array('fragment' => 'module-node', 'html' => TRUE)) .'</em>', |
|
43 | - '!access_comments' => '<em>'. l($tr('access comments'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => TRUE)) .'</em>', |
|
44 | - '!create_forum_topics' => '<em>'. l($tr('create forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)) .'</em>', |
|
45 | - '!post_comments' => '<em>'. l($tr('post comments'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => TRUE)) .'</em>', |
|
46 | - '!post_comments_without_approval' => '<em>'. l($tr('post comments without approval'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => TRUE)) .'</em>', |
|
47 | - '!edit_own_forum_topics' => '<em>'. l($tr('edit own forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)) .'</em>', |
|
48 | - '!edit_any_forum_topics' => '<em>'. l($tr('edit any forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)) .'</em>', |
|
49 | - '!delete_own_forum_topics' => '<em>'. l($tr('delete own forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)) .'</em>', |
|
50 | - '!delete_any_forum_topics' => '<em>'. l($tr('delete any forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)) .'</em>', |
|
51 | - '!administer_comments' => '<em>'. l($tr('administer comments'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => TRUE)) .'</em>', |
|
52 | - '!administer_forums' => '<em>'. l($tr('administer forums'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)) .'</em>', |
|
53 | - '!administer_nodes' => '<em>'. l($tr('administer nodes'), 'admin/user/permissions', array('fragment' => 'module-node', 'html' => TRUE)) .'</em>', |
|
42 | + '!access_content' => '<em>'.l($tr('access content'), 'admin/user/permissions', array('fragment' => 'module-node', 'html' => TRUE)).'</em>', |
|
43 | + '!access_comments' => '<em>'.l($tr('access comments'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => TRUE)).'</em>', |
|
44 | + '!create_forum_topics' => '<em>'.l($tr('create forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)).'</em>', |
|
45 | + '!post_comments' => '<em>'.l($tr('post comments'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => TRUE)).'</em>', |
|
46 | + '!post_comments_without_approval' => '<em>'.l($tr('post comments without approval'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => TRUE)).'</em>', |
|
47 | + '!edit_own_forum_topics' => '<em>'.l($tr('edit own forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)).'</em>', |
|
48 | + '!edit_any_forum_topics' => '<em>'.l($tr('edit any forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)).'</em>', |
|
49 | + '!delete_own_forum_topics' => '<em>'.l($tr('delete own forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)).'</em>', |
|
50 | + '!delete_any_forum_topics' => '<em>'.l($tr('delete any forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)).'</em>', |
|
51 | + '!administer_comments' => '<em>'.l($tr('administer comments'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => TRUE)).'</em>', |
|
52 | + '!administer_forums' => '<em>'.l($tr('administer forums'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)).'</em>', |
|
53 | + '!administer_nodes' => '<em>'.l($tr('administer nodes'), 'admin/user/permissions', array('fragment' => 'module-node', 'html' => TRUE)).'</em>', |
|
54 | 54 | ); |
55 | 55 | if (!$is_container) { |
56 | 56 | $form['forum_access']['permissions'] = array( |
@@ -61,15 +61,15 @@ discard block |
||
61 | 61 | ); |
62 | 62 | $form['forum_access']['permissions'][] = array( |
63 | 63 | '#type' => 'markup', |
64 | - '#value' => '<div>'. t('Note that users need') .'<ul style="margin-top: 0"><li>'. |
|
65 | - t('the !access_content and !access_comments permissions <strong>AND <em>View</em></strong> to be able to see this forum and its content at all,', $variables) .'</li><li>'. |
|
66 | - t('the !create_forum_topics (and similar) permissions <strong>AND <em>Post</em></strong> to be able to create forum content, and', $variables) .'</li><li>'. |
|
67 | - t('the !post_comments and (probably) !post_comments_without_approval permission <!TAG>AND <em>Comment</em></!TAG> to be able to post comments/replies;', $variables + array('!TAG' => (variable_get('forum_access_D5_legacy_mode', FALSE) ? 'del title="'. t('Drupal 5 legacy mode') .'"' : 'strong'))) .'</li><li>'. |
|
68 | - t('the !edit_own_forum_topics or !edit_any_forum_topics (and similar) permissions <strong>AND (<em>Edit</em> AND <em>Comment</em></strong>) can be added if desired, <strong>plus</strong>', $variables) .'</li><li>'. |
|
69 | - t('the !delete_own_forum_topics or !delete_any_forum_topics (and similar) permissions (<strong>OR <em>Delete</em></strong>) if desired;', $variables) .'</li><li>'. |
|
70 | - t('the !administer_comments (global!) permission <strong>OR <em>Edit</em>/<em>Delete</em></strong> to be able to edit/delete comments;', $variables) .'</li><li>'. |
|
71 | - t('the !administer_forums permission <strong>AND <em>View</em></strong> to be able to administer forums (and change access!).', $variables) .'</li></ul>'. |
|
72 | - t('Furthermore note that content which is not published is treated in a different way by Drupal: it can be viewed only by its author or by users with the !administer_nodes permission. Unpublished comments and replies are accessible to users with <strong><em>Edit</em> OR <em>Delete</em></strong>, <strong>OR</strong> with the !administer_comments permission, but they are never counted on the forum page.', $variables) .'</div>', |
|
64 | + '#value' => '<div>'.t('Note that users need').'<ul style="margin-top: 0"><li>'. |
|
65 | + t('the !access_content and !access_comments permissions <strong>AND <em>View</em></strong> to be able to see this forum and its content at all,', $variables).'</li><li>'. |
|
66 | + t('the !create_forum_topics (and similar) permissions <strong>AND <em>Post</em></strong> to be able to create forum content, and', $variables).'</li><li>'. |
|
67 | + t('the !post_comments and (probably) !post_comments_without_approval permission <!TAG>AND <em>Comment</em></!TAG> to be able to post comments/replies;', $variables + array('!TAG' => (variable_get('forum_access_D5_legacy_mode', FALSE) ? 'del title="'.t('Drupal 5 legacy mode').'"' : 'strong'))).'</li><li>'. |
|
68 | + t('the !edit_own_forum_topics or !edit_any_forum_topics (and similar) permissions <strong>AND (<em>Edit</em> AND <em>Comment</em></strong>) can be added if desired, <strong>plus</strong>', $variables).'</li><li>'. |
|
69 | + t('the !delete_own_forum_topics or !delete_any_forum_topics (and similar) permissions (<strong>OR <em>Delete</em></strong>) if desired;', $variables).'</li><li>'. |
|
70 | + t('the !administer_comments (global!) permission <strong>OR <em>Edit</em>/<em>Delete</em></strong> to be able to edit/delete comments;', $variables).'</li><li>'. |
|
71 | + t('the !administer_forums permission <strong>AND <em>View</em></strong> to be able to administer forums (and change access!).', $variables).'</li></ul>'. |
|
72 | + t('Furthermore note that content which is not published is treated in a different way by Drupal: it can be viewed only by its author or by users with the !administer_nodes permission. Unpublished comments and replies are accessible to users with <strong><em>Edit</em> OR <em>Delete</em></strong>, <strong>OR</strong> with the !administer_comments permission, but they are never counted on the forum page.', $variables).'</div>', |
|
73 | 73 | ); |
74 | 74 | } |
75 | 75 | |
@@ -82,7 +82,7 @@ discard block |
||
82 | 82 | '#collapsed' => empty($template_tid), |
83 | 83 | ); |
84 | 84 | $form['forum_access']['template']['taxonomy'][$vid] = taxonomy_form($vid, array($template_tid), ''); |
85 | - $form['forum_access']['template']['taxonomy'][$vid]['#description'] = t("Select a forum and click !Load to retrieve that forum's settings as a starting point for this forum or container.", array('!Load' => '['. t('Load') .']')); |
|
85 | + $form['forum_access']['template']['taxonomy'][$vid]['#description'] = t("Select a forum and click !Load to retrieve that forum's settings as a starting point for this forum or container.", array('!Load' => '['.t('Load').']')); |
|
86 | 86 | $form['forum_access']['template']['load_button'] = array( |
87 | 87 | '#type' => 'button', |
88 | 88 | '#name' => 'load_template', |
@@ -205,7 +205,7 @@ discard block |
||
205 | 205 | ); |
206 | 206 | } |
207 | 207 | |
208 | - drupal_add_css(drupal_get_path('module', 'forum_access') .'/forum_access.css'); |
|
208 | + drupal_add_css(drupal_get_path('module', 'forum_access').'/forum_access.css'); |
|
209 | 209 | |
210 | 210 | // Find our moderator ACL: |
211 | 211 | if (isset($tid)) { // edit, not new |
@@ -222,12 +222,12 @@ discard block |
||
222 | 222 | $form['forum_access']['acl'] = acl_edit_form($acl_id, t('Moderators')); |
223 | 223 | $form['forum_access']['acl'][] = array( |
224 | 224 | '#type' => 'markup', |
225 | - '#value' => '<div>'. t('Moderators receive all grants above.') .'</div>', |
|
225 | + '#value' => '<div>'.t('Moderators receive all grants above.').'</div>', |
|
226 | 226 | '#weight' => -1, |
227 | 227 | ); |
228 | 228 | $form['forum_access']['acl']['note'] = array( |
229 | 229 | '#type' => 'markup', |
230 | - '#value' => '<div>'. t('Note: Changes to moderators are not saved until you click [!Save] below.', array('!Save' => $tr('Save'))) .'</div>', |
|
230 | + '#value' => '<div>'.t('Note: Changes to moderators are not saved until you click [!Save] below.', array('!Save' => $tr('Save'))).'</div>', |
|
231 | 231 | ); |
232 | 232 | $form['forum_access']['acl']['#after_build'][] = '_forum_access_forum_form_after_build_acl0'; |
233 | 233 | $form['forum_access']['acl']['#after_build'] = array_reverse($form['forum_access']['acl']['#after_build']); |
@@ -251,11 +251,11 @@ discard block |
||
251 | 251 | '!Content_Access' => l('Content Access', 'http://drupal.org/project/content_access'), |
252 | 252 | '@Content_Access' => 'Content Access', |
253 | 253 | '!ACL' => 'ACL', |
254 | - '!module_list' => '<ul><li>'. implode($na_modules, '</li><li>') .'</li></ul>', |
|
254 | + '!module_list' => '<ul><li>'.implode($na_modules, '</li><li>').'</li></ul>', |
|
255 | 255 | ); |
256 | 256 | $form['forum_access']['interference'][] = array( |
257 | 257 | '#type' => 'item', |
258 | - '#value' => '<p>'. t("Besides !Forum_Access (and !ACL) you have installed the following node access module(s): !module_list The grants of every module are combined for each node. Access can only be granted, not removed — if a certain module grants a permission, the other(s) cannot deny it.", $variables) .'</p>', |
|
258 | + '#value' => '<p>'.t("Besides !Forum_Access (and !ACL) you have installed the following node access module(s): !module_list The grants of every module are combined for each node. Access can only be granted, not removed — if a certain module grants a permission, the other(s) cannot deny it.", $variables).'</p>', |
|
259 | 259 | '#description' => t('Forums can contain other content types besides %content_type; !Forum_Access will contribute the grants defined above to every node in this forum, but other node access control modules may also contribute their grants, especially to nodes of types other than %content_type.', $variables), |
260 | 260 | ); |
261 | 261 | |
@@ -282,25 +282,25 @@ discard block |
||
282 | 282 | '#attributes' => array('class' => 'error'), |
283 | 283 | ); |
284 | 284 | $form['forum_access']['interference']['by_content_access'][] = array( |
285 | - '#value' => '<div>'. t('You have set the !Content_Access module to control access to content of type %content_type—this can interfere with proper operation of !Forum_Access!', $variables) ." $specifically</div>", |
|
285 | + '#value' => '<div>'.t('You have set the !Content_Access module to control access to content of type %content_type—this can interfere with proper operation of !Forum_Access!', $variables)." $specifically</div>", |
|
286 | 286 | ); |
287 | 287 | if ($ca_priority == $fa_priority) { |
288 | 288 | $form['forum_access']['interference']['by_content_access'][] = array( |
289 | - '#value' => '<div>'. t("Unless you really know what you're doing, we recommend that you go to the !link page and clear all checkboxes. This will instruct @Content_Access to leave the %content_type nodes alone. However, if you put nodes of other content types into forums as well, then these content types will continue to have this problem.", $variables) .'</div>', |
|
289 | + '#value' => '<div>'.t("Unless you really know what you're doing, we recommend that you go to the !link page and clear all checkboxes. This will instruct @Content_Access to leave the %content_type nodes alone. However, if you put nodes of other content types into forums as well, then these content types will continue to have this problem.", $variables).'</div>', |
|
290 | 290 | ); |
291 | 291 | } |
292 | 292 | else { |
293 | 293 | $form['forum_access']['interference']['by_content_access'][] = array( |
294 | - '#value' => '<div>'. t("The priority of @Content_Access ($ca_priority) is higher than the priority of !Forum_Access ($fa_priority), which means the latter is <strong>completely disabled</strong> for the %content_type type! Unless you really know what you're doing, we recommend that you go to the !link page, change the priority (under %Advanced) to 0, and clear all checkboxes.", $variables) .'</div>', |
|
294 | + '#value' => '<div>'.t("The priority of @Content_Access ($ca_priority) is higher than the priority of !Forum_Access ($fa_priority), which means the latter is <strong>completely disabled</strong> for the %content_type type! Unless you really know what you're doing, we recommend that you go to the !link page, change the priority (under %Advanced) to 0, and clear all checkboxes.", $variables).'</div>', |
|
295 | 295 | ); |
296 | 296 | } |
297 | 297 | $form['forum_access']['interference']['by_content_access'][] = array( |
298 | - '#value' => '<div>'. t("Alternatively, you can give !Forum_Access priority over @Content_Access by either raising the priority of !Forum_Access in every forum above the priority of @Content_Access, or by lowering the priority of @Content_Access for the content types in question below the priority of !Forum_Access.", $variables) .'</div>', |
|
298 | + '#value' => '<div>'.t("Alternatively, you can give !Forum_Access priority over @Content_Access by either raising the priority of !Forum_Access in every forum above the priority of @Content_Access, or by lowering the priority of @Content_Access for the content types in question below the priority of !Forum_Access.", $variables).'</div>', |
|
299 | 299 | ); |
300 | 300 | } |
301 | 301 | else { |
302 | 302 | $form['forum_access']['interference'][] = array( |
303 | - '#value' => '<p>'. t('Note: You have installed the !Content_Access module, which has the capability to grant access to content that would otherwise be protected by !Forum_Access. Be careful when configuring @Content_Access!', $variables) .'</p>', |
|
303 | + '#value' => '<p>'.t('Note: You have installed the !Content_Access module, which has the capability to grant access to content that would otherwise be protected by !Forum_Access. Be careful when configuring @Content_Access!', $variables).'</p>', |
|
304 | 304 | ); |
305 | 305 | } |
306 | 306 | } |
@@ -331,7 +331,7 @@ discard block |
||
331 | 331 | '!DNA' => 'DNA', |
332 | 332 | '!debug_mode' => l('debug mode', 'admin/settings/devel', array('fragment' => 'edit-devel-node-access-debug-mode')), |
333 | 333 | '!dna_summary' => l('devel/node_access/summary', 'devel/node_access/summary'), |
334 | - '!Rebuild_permissions' => '['. $tr('Rebuild permissions') .']', |
|
334 | + '!Rebuild_permissions' => '['.$tr('Rebuild permissions').']', |
|
335 | 335 | '!Post_settings_link' => l('admin/content/node-settings', 'admin/content/node-settings'), |
336 | 336 | '!Forum_Access_' => l('Forum Access', 'http://drupal.org/project/issues/forum_access'), |
337 | 337 | '!ACL_' => l('ACL', 'http://drupal.org/project/issues/acl'), |
@@ -344,26 +344,26 @@ discard block |
||
344 | 344 | ); |
345 | 345 | $form['forum_access']['troubleshooting'][] = array( |
346 | 346 | '#type' => 'item', |
347 | - '#value' => '<div>'. t("In case of problems, follow these steps until you've got it worked out:") .'<ol style="margin-top: 0"><li>'. |
|
348 | - t("Update to the 'recommended' !Forum_Access and !ACL releases for your version of Drupal.", $variables) .'</li><li>'. |
|
349 | - (count($na_modules) ? t("Read %Module_interference above and update your other node access modules.", $variables) .'</li><li>' : '') . |
|
350 | - t("Check the release notes of the development snapshots for issues that might have been fixed in !Forum_Access-dev or !ACL-dev since the latest release.", $variables) .'</li><li>'. |
|
351 | - t("Install the %devel_node_access module (!DNA, part of the !Devel module) and enable its !debug_mode: !DNA will show you all the grants that actually control your nodes in a footer block on each node's page.", $variables) .'</li><li>'. |
|
352 | - t("Additional insight can be gained from !dna_summary and by enabling the second !DNA block.", $variables) .'</li><li>'. |
|
353 | - t("Click !Rebuild_permissions on !Post_settings_link and check DNA for changes.", $variables) .'</li><li>'. |
|
354 | - t("Check the issues queues of !Forum_Access_ and !ACL_ for existing reports and possible solutions.", $variables) .'</li><li>'. |
|
355 | - t("If all of this hasn't helped, then pick ONE node that is misbehaving, look at it using an account that can see the node (and that should NOT have access if that's your problem!), create a new issue in the issues queue, describe the problem... <ul><li> what did you do? </li><li> what did you expect? </li><li> what happened instead? </li></ul> ... and <strong>attach a screenshot of all the DNA records</strong> for that one node. <br /> Be sure to indicate paths (URLs) for every page and module that you mention.") .'</li></ol></div>', |
|
347 | + '#value' => '<div>'.t("In case of problems, follow these steps until you've got it worked out:").'<ol style="margin-top: 0"><li>'. |
|
348 | + t("Update to the 'recommended' !Forum_Access and !ACL releases for your version of Drupal.", $variables).'</li><li>'. |
|
349 | + (count($na_modules) ? t("Read %Module_interference above and update your other node access modules.", $variables).'</li><li>' : ''). |
|
350 | + t("Check the release notes of the development snapshots for issues that might have been fixed in !Forum_Access-dev or !ACL-dev since the latest release.", $variables).'</li><li>'. |
|
351 | + t("Install the %devel_node_access module (!DNA, part of the !Devel module) and enable its !debug_mode: !DNA will show you all the grants that actually control your nodes in a footer block on each node's page.", $variables).'</li><li>'. |
|
352 | + t("Additional insight can be gained from !dna_summary and by enabling the second !DNA block.", $variables).'</li><li>'. |
|
353 | + t("Click !Rebuild_permissions on !Post_settings_link and check DNA for changes.", $variables).'</li><li>'. |
|
354 | + t("Check the issues queues of !Forum_Access_ and !ACL_ for existing reports and possible solutions.", $variables).'</li><li>'. |
|
355 | + t("If all of this hasn't helped, then pick ONE node that is misbehaving, look at it using an account that can see the node (and that should NOT have access if that's your problem!), create a new issue in the issues queue, describe the problem... <ul><li> what did you do? </li><li> what did you expect? </li><li> what happened instead? </li></ul> ... and <strong>attach a screenshot of all the DNA records</strong> for that one node. <br /> Be sure to indicate paths (URLs) for every page and module that you mention.").'</li></ol></div>', |
|
356 | 356 | ); |
357 | 357 | $form['forum_access']['troubleshooting'][] = array( |
358 | 358 | '#type' => 'item', |
359 | - '#value' => '<div>'. t("Note: You should not keep the !Devel module enabled on a production site.", $variables) .'</div>', |
|
359 | + '#value' => '<div>'.t("Note: You should not keep the !Devel module enabled on a production site.", $variables).'</div>', |
|
360 | 360 | ); |
361 | 361 | } |
362 | 362 | |
363 | 363 | if (!$is_container && isset($tid) && !node_access_needs_rebuild()) { |
364 | 364 | $count = db_result(db_query("SELECT COUNT(DISTINCT n.nid) FROM {node} n INNER JOIN {term_node} tn ON tn.vid = n.vid WHERE tn.tid = %d", $tid)); |
365 | - $limit = 20; // from _node_access_rebuild_batch_operation() |
|
366 | - $threshold = variable_get('forum_access_batch_threshold', $limit); // change the variable if you want |
|
365 | + $limit = 20; // from _node_access_rebuild_batch_operation() |
|
366 | + $threshold = variable_get('forum_access_batch_threshold', $limit); // change the variable if you want |
|
367 | 367 | $form['forum_access']['update_limit'] = array( |
368 | 368 | '#type' => 'value', |
369 | 369 | '#value' => $limit, |
@@ -441,7 +441,7 @@ discard block |
||
441 | 441 | $element_children = element_children($element); |
442 | 442 | foreach ($element_children as $rid) { |
443 | 443 | if ($rid == $moderator_rid) { |
444 | - $element[$rid]['#prefix'] = '<span title="'. t("This is the (temporary) @Forum_Moderator role; it has the '@administer_nodes' and '@administer_comments' permissions and is only used temporarily by @Forum_Access — do NOT give this role to any user!", array('@Forum_Moderator' => t('Forum Moderator'), '@administer_nodes' => $tr('administer nodes'), '@administer_comments' => $tr('administer comments'), '@Forum_Access' => 'Forum Access')) .'" class="forum-access-temporary-moderator">'; |
|
444 | + $element[$rid]['#prefix'] = '<span title="'.t("This is the (temporary) @Forum_Moderator role; it has the '@administer_nodes' and '@administer_comments' permissions and is only used temporarily by @Forum_Access — do NOT give this role to any user!", array('@Forum_Moderator' => t('Forum Moderator'), '@administer_nodes' => $tr('administer nodes'), '@administer_comments' => $tr('administer comments'), '@Forum_Access' => 'Forum Access')).'" class="forum-access-temporary-moderator">'; |
|
445 | 445 | $element[$rid]['#suffix'] = "</span>"; |
446 | 446 | $element[$rid]['#default_value'] = TRUE; |
447 | 447 | $element[$rid]['#disabled'] = TRUE; |
@@ -452,19 +452,19 @@ discard block |
||
452 | 452 | elseif ($element['#parents'][1] == 'comment_create') { |
453 | 453 | } |
454 | 454 | elseif ($element['#parents'][1] == 'view' && isset($permissions[$rid]['administer forums'])) { |
455 | - $element[$rid]['#title'] = '<em>'. $element[$rid]['#title'] .'</em>'; |
|
456 | - $element[$rid]['#prefix'] = '<span title="'. t("This role has the '@administer_forums' permission, and granting '@View' enables the role holders to change the settings on this page, including @Access_control!", array('@administer_forums' => $tr('administer forums'), '@View' => t('View'), '@Access_control' => t('Access control'))) .'">'; |
|
455 | + $element[$rid]['#title'] = '<em>'.$element[$rid]['#title'].'</em>'; |
|
456 | + $element[$rid]['#prefix'] = '<span title="'.t("This role has the '@administer_forums' permission, and granting '@View' enables the role holders to change the settings on this page, including @Access_control!", array('@administer_forums' => $tr('administer forums'), '@View' => t('View'), '@Access_control' => t('Access control'))).'">'; |
|
457 | 457 | if (isset($permissions[$rid]['administer nodes'])) { |
458 | - $element[$rid]['#prefix'] = str_replace('">', ' '. t("Because the role also has the '@administer_nodes' permission, it has full access to all nodes either way.", array('@administer_nodes' => $tr('administer nodes'))) .'">', $element[$rid]['#prefix']); |
|
458 | + $element[$rid]['#prefix'] = str_replace('">', ' '.t("Because the role also has the '@administer_nodes' permission, it has full access to all nodes either way.", array('@administer_nodes' => $tr('administer nodes'))).'">', $element[$rid]['#prefix']); |
|
459 | 459 | } |
460 | 460 | $element[$rid]['#suffix'] = "</span>"; |
461 | 461 | } |
462 | 462 | elseif (isset($permissions[$rid]['administer nodes'])) { |
463 | 463 | $element[$rid]['#disabled'] = TRUE; |
464 | 464 | $element[$rid]['#default_value'] = TRUE; |
465 | - $element[$rid]['#prefix'] = '<span title="'. ($rid != $moderator_rid |
|
465 | + $element[$rid]['#prefix'] = '<span title="'.($rid != $moderator_rid |
|
466 | 466 | ? t("This role has the '@administer_nodes' permission and thus full access to all nodes.", array('@administer_nodes' => $tr('administer nodes'))) |
467 | - : t("This is the @Forum_Moderator role; it has the '@administer_nodes' and '@administer_comments' permissions and thus full access to all nodes and comments.", array('@Forum_Moderator' => t('Forum Moderator'), '@administer_nodes' => $tr('administer nodes'), '@administer_comments' => $tr('administer comments')))) .'">'; |
|
467 | + : t("This is the @Forum_Moderator role; it has the '@administer_nodes' and '@administer_comments' permissions and thus full access to all nodes and comments.", array('@Forum_Moderator' => t('Forum Moderator'), '@administer_nodes' => $tr('administer nodes'), '@administer_comments' => $tr('administer comments')))).'">'; |
|
468 | 468 | $element[$rid]['#suffix'] = "</span>"; |
469 | 469 | } |
470 | 470 | } |
@@ -560,12 +560,12 @@ discard block |
||
560 | 560 | variable_del('forum_access_new_template_tid'); |
561 | 561 | } |
562 | 562 | module_load_include('node.inc', 'forum_access'); |
563 | - $moderator_rid = _forum_access_get_moderator_rid(TRUE); // create the moderators role if it doesn't exist |
|
563 | + $moderator_rid = _forum_access_get_moderator_rid(TRUE); // create the moderators role if it doesn't exist |
|
564 | 564 | |
565 | 565 | // check for changes |
566 | 566 | $is_changed = $is_new = strpos($_GET['q'], 'admin/content/forum/add/') === 0; |
567 | 567 | $is_changed = $is_changed || !empty($access['force_update']); |
568 | - $form_initial_values = $form; // avoid Coder warning |
|
568 | + $form_initial_values = $form; // avoid Coder warning |
|
569 | 569 | $form_initial_values = $form_initial_values['forum_access']; |
570 | 570 | foreach (array('view', 'create', 'comment_create', 'update', 'delete') as $grant_type) { |
571 | 571 | if (isset($form_initial_values[$grant_type])) { |
@@ -610,11 +610,11 @@ discard block |
||
610 | 610 | } |
611 | 611 | else { |
612 | 612 | db_query("INSERT INTO {forum_access} (tid, rid, grant_view, grant_update, grant_delete, grant_create, grant_comment_create, priority) VALUES (%d, %d, %d, %d, %d, %d, %d, %d)", |
613 | - $tid, $rid, (bool) $checked, !empty($access['update'][$rid]), !empty($access['delete'][$rid]), !empty($access['create'][$rid]), !empty($access['comment_create'][$rid]), $fa_priority); |
|
613 | + $tid, $rid, (bool)$checked, !empty($access['update'][$rid]), !empty($access['delete'][$rid]), !empty($access['create'][$rid]), !empty($access['comment_create'][$rid]), $fa_priority); |
|
614 | 614 | } |
615 | 615 | } |
616 | 616 | $tr = 't'; |
617 | - $link = l($tr('edit'), 'admin/content/forum/edit/forum/'. $tid); |
|
617 | + $link = l($tr('edit'), 'admin/content/forum/edit/forum/'.$tid); |
|
618 | 618 | watchdog('access', 'Changed grants for %forum forum.', array('%forum' => $form_state['values']['name']), WATCHDOG_NOTICE, $link); |
619 | 619 | |
620 | 620 | if (!$is_new && $form_state['values']['form_id'] != 'forum_form_container') { |
@@ -628,10 +628,10 @@ discard block |
||
628 | 628 | $context = array(); |
629 | 629 | $pending_error_messages = drupal_get_messages('error', FALSE); |
630 | 630 | $our_error_message_index = (isset($pending_error_messages['error']) ? count($pending_error_messages['error']) : 0); |
631 | - _forum_access_update_batch_finished(FALSE, array(), array()); // add our error message (in case we die underway) |
|
631 | + _forum_access_update_batch_finished(FALSE, array(), array()); // add our error message (in case we die underway) |
|
632 | 632 | _forum_access_update_batch_operation($tid, 999999, 1, $context); |
633 | - $pending_error_messages = drupal_get_messages('error', TRUE); // still alive, get and clear all 'error' messages |
|
634 | - unset($pending_error_messages['error'][$our_error_message_index]); // remove our error message |
|
633 | + $pending_error_messages = drupal_get_messages('error', TRUE); // still alive, get and clear all 'error' messages |
|
634 | + unset($pending_error_messages['error'][$our_error_message_index]); // remove our error message |
|
635 | 635 | foreach ($pending_error_messages['error'] as $message) { // replay any others |
636 | 636 | drupal_set_message($message, 'error'); |
637 | 637 | } |
@@ -644,7 +644,7 @@ discard block |
||
644 | 644 | $count = db_result(db_query("SELECT COUNT(DISTINCT n.nid) FROM {node} n INNER JOIN {term_node} tn ON tn.vid = n.vid WHERE tn.tid = %d", $tid)); |
645 | 645 | $batch = array( |
646 | 646 | 'title' => t('Updating content access permissions'), |
647 | - 'file' => drupal_get_path('module', 'forum_access') .'/forum_access.admin.inc', |
|
647 | + 'file' => drupal_get_path('module', 'forum_access').'/forum_access.admin.inc', |
|
648 | 648 | 'operations' => array( |
649 | 649 | array('_forum_access_update_batch_operation', array($tid, $limit, $count)), |
650 | 650 | ), |
@@ -654,7 +654,7 @@ discard block |
||
654 | 654 | } |
655 | 655 | } |
656 | 656 | |
657 | - variable_del('forum_access_rids'); // clear cache |
|
657 | + variable_del('forum_access_rids'); // clear cache |
|
658 | 658 | } |
659 | 659 | |
660 | 660 | /** |
@@ -687,7 +687,7 @@ discard block |
||
687 | 687 | |
688 | 688 | // Multistep processing : report progress. |
689 | 689 | if ($context['sandbox']['progress'] != $context['sandbox']['max']) { |
690 | - $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max']; |
|
690 | + $context['finished'] = $context['sandbox']['progress']/$context['sandbox']['max']; |
|
691 | 691 | } |
692 | 692 | } |
693 | 693 | |
@@ -829,8 +829,8 @@ discard block |
||
829 | 829 | ); |
830 | 830 | if (arg(3) == 'forum') { |
831 | 831 | drupal_set_message(t('Note: In Drupal, access can only be granted, not taken away. Whatever access you grant here will not be reflected in the !Forum_Access_link settings, but !Forum_Access can only allow <i>more</i> access, not less.', $variables) |
832 | - .'<br /><span class="error">'. t('Specifically, any rights granted to the %anonymous_user and/or the %authenticated_user will <b>override</b> the settings of !Forum_Access!', $variables) .'</span>' |
|
833 | - .'<br />'. t('To avoid conflicts with !Forum_Access settings, you may want to lower the priority of !Content_Access (under %Advanced below) below the priority of !Forum_Access for the content types that you want to be controlled by !Forum_Access.', $variables), 'warning'); |
|
832 | + .'<br /><span class="error">'.t('Specifically, any rights granted to the %anonymous_user and/or the %authenticated_user will <b>override</b> the settings of !Forum_Access!', $variables).'</span>' |
|
833 | + .'<br />'.t('To avoid conflicts with !Forum_Access settings, you may want to lower the priority of !Content_Access (under %Advanced below) below the priority of !Forum_Access for the content types that you want to be controlled by !Forum_Access.', $variables), 'warning'); |
|
834 | 834 | } |
835 | 835 | else { |
836 | 836 | $vid = _forum_access_get_vid(); |
@@ -893,7 +893,7 @@ discard block |
||
893 | 893 | if (isset($moderator_rid) && isset($form['account']['roles']['#options'][$moderator_rid])) { |
894 | 894 | $form['account']['roles'][$moderator_rid] = array( |
895 | 895 | '#type' => 'checkbox', |
896 | - '#title' => $form['account']['roles']['#options'][$moderator_rid] .' ('. t('reserved for internal use by the @Forum_Access module', array('@Forum_Access' => 'Forum Access')) .')', |
|
896 | + '#title' => $form['account']['roles']['#options'][$moderator_rid].' ('.t('reserved for internal use by the @Forum_Access module', array('@Forum_Access' => 'Forum Access')).')', |
|
897 | 897 | '#default_value' => in_array($moderator_rid, $form['account']['roles']['#default_value']), |
898 | 898 | '#disabled' => TRUE, |
899 | 899 | ); |
@@ -930,8 +930,8 @@ discard block |
||
930 | 930 | else { |
931 | 931 | $msg = t('!Forum_Access cannot create the %role role!', $variables); |
932 | 932 | watchdog('user', $msg, NULL, WATCHDOG_WARNING); |
933 | - drupal_set_message($msg .' '. t('Is it already in use?'), 'error'); |
|
934 | - $role->name = $role_name .' '. $i; |
|
933 | + drupal_set_message($msg.' '.t('Is it already in use?'), 'error'); |
|
934 | + $role->name = $role_name.' '.$i; |
|
935 | 935 | } |
936 | 936 | } |
937 | 937 | $msg = t('!Forum_Access has given up and will not work correctly! Rename one of the roles listed above, so that !Forum_Access can use its name.', $variables); |
@@ -20,11 +20,12 @@ discard block |
||
20 | 20 | } |
21 | 21 | |
22 | 22 | $roles = user_roles(); |
23 | - if (isset($tid)) { // edit |
|
23 | + if (isset($tid)) { |
|
24 | +// edit |
|
24 | 25 | $template_tid = variable_get('forum_access_default_template_tid', 0); |
25 | 26 | $settings = _forum_access_get_settings($tid); |
26 | - } |
|
27 | - else { // create |
|
27 | + } else { |
|
28 | +// create |
|
28 | 29 | $template_tid = variable_get('forum_access_new_template_tid', NULL); |
29 | 30 | $settings = _forum_access_get_settings($template_tid); |
30 | 31 | } |
@@ -208,9 +209,11 @@ discard block |
||
208 | 209 | drupal_add_css(drupal_get_path('module', 'forum_access') .'/forum_access.css'); |
209 | 210 | |
210 | 211 | // Find our moderator ACL: |
211 | - if (isset($tid)) { // edit, not new |
|
212 | + if (isset($tid)) { |
|
213 | +// edit, not new |
|
212 | 214 | $acl_id = acl_get_id_by_number('forum_access', $tid); |
213 | - if (!$acl_id) { // create one |
|
215 | + if (!$acl_id) { |
|
216 | +// create one |
|
214 | 217 | $acl_id = acl_create_new_acl('forum_access', NULL, $tid); |
215 | 218 | // update every existing node in this forum to use this acl. |
216 | 219 | $result = db_query("SELECT nid FROM {term_node} WHERE tid = %d", $tid); |
@@ -288,8 +291,7 @@ discard block |
||
288 | 291 | $form['forum_access']['interference']['by_content_access'][] = array( |
289 | 292 | '#value' => '<div>'. t("Unless you really know what you're doing, we recommend that you go to the !link page and clear all checkboxes. This will instruct @Content_Access to leave the %content_type nodes alone. However, if you put nodes of other content types into forums as well, then these content types will continue to have this problem.", $variables) .'</div>', |
290 | 293 | ); |
291 | - } |
|
292 | - else { |
|
294 | + } else { |
|
293 | 295 | $form['forum_access']['interference']['by_content_access'][] = array( |
294 | 296 | '#value' => '<div>'. t("The priority of @Content_Access ($ca_priority) is higher than the priority of !Forum_Access ($fa_priority), which means the latter is <strong>completely disabled</strong> for the %content_type type! Unless you really know what you're doing, we recommend that you go to the !link page, change the priority (under %Advanced) to 0, and clear all checkboxes.", $variables) .'</div>', |
295 | 297 | ); |
@@ -297,8 +299,7 @@ discard block |
||
297 | 299 | $form['forum_access']['interference']['by_content_access'][] = array( |
298 | 300 | '#value' => '<div>'. t("Alternatively, you can give !Forum_Access priority over @Content_Access by either raising the priority of !Forum_Access in every forum above the priority of @Content_Access, or by lowering the priority of @Content_Access for the content types in question below the priority of !Forum_Access.", $variables) .'</div>', |
299 | 301 | ); |
300 | - } |
|
301 | - else { |
|
302 | + } else { |
|
302 | 303 | $form['forum_access']['interference'][] = array( |
303 | 304 | '#value' => '<p>'. t('Note: You have installed the !Content_Access module, which has the capability to grant access to content that would otherwise be protected by !Forum_Access. Be careful when configuring @Content_Access!', $variables) .'</p>', |
304 | 305 | ); |
@@ -445,21 +446,17 @@ discard block |
||
445 | 446 | $element[$rid]['#suffix'] = "</span>"; |
446 | 447 | $element[$rid]['#default_value'] = TRUE; |
447 | 448 | $element[$rid]['#disabled'] = TRUE; |
448 | - } |
|
449 | - elseif ($element['#parents'][1] == 'create') { |
|
449 | + } elseif ($element['#parents'][1] == 'create') { |
|
450 | 450 | // Do nothing (Post is always mutable). |
451 | - } |
|
452 | - elseif ($element['#parents'][1] == 'comment_create') { |
|
453 | - } |
|
454 | - elseif ($element['#parents'][1] == 'view' && isset($permissions[$rid]['administer forums'])) { |
|
451 | + } elseif ($element['#parents'][1] == 'comment_create') { |
|
452 | + } elseif ($element['#parents'][1] == 'view' && isset($permissions[$rid]['administer forums'])) { |
|
455 | 453 | $element[$rid]['#title'] = '<em>'. $element[$rid]['#title'] .'</em>'; |
456 | 454 | $element[$rid]['#prefix'] = '<span title="'. t("This role has the '@administer_forums' permission, and granting '@View' enables the role holders to change the settings on this page, including @Access_control!", array('@administer_forums' => $tr('administer forums'), '@View' => t('View'), '@Access_control' => t('Access control'))) .'">'; |
457 | 455 | if (isset($permissions[$rid]['administer nodes'])) { |
458 | 456 | $element[$rid]['#prefix'] = str_replace('">', ' '. t("Because the role also has the '@administer_nodes' permission, it has full access to all nodes either way.", array('@administer_nodes' => $tr('administer nodes'))) .'">', $element[$rid]['#prefix']); |
459 | 457 | } |
460 | 458 | $element[$rid]['#suffix'] = "</span>"; |
461 | - } |
|
462 | - elseif (isset($permissions[$rid]['administer nodes'])) { |
|
459 | + } elseif (isset($permissions[$rid]['administer nodes'])) { |
|
463 | 460 | $element[$rid]['#disabled'] = TRUE; |
464 | 461 | $element[$rid]['#default_value'] = TRUE; |
465 | 462 | $element[$rid]['#prefix'] = '<span title="'. ($rid != $moderator_rid |
@@ -515,8 +512,7 @@ discard block |
||
515 | 512 | if ($settings['priority'] != 0) { |
516 | 513 | $form['interference']['advanced']['#collapsed'] = FALSE; |
517 | 514 | } |
518 | - } |
|
519 | - elseif (is_array(reset($form_state['values']['forum_access']['template']['taxonomy']))) { |
|
515 | + } elseif (is_array(reset($form_state['values']['forum_access']['template']['taxonomy']))) { |
|
520 | 516 | $imv = reset($form_state['values']['forum_access']['template']['taxonomy']); |
521 | 517 | $template_tid = reset($imv); |
522 | 518 | } |
@@ -549,14 +545,12 @@ discard block |
||
549 | 545 | $template_tid = reset(array_values($access['template']['taxonomy'])); |
550 | 546 | if ($access['template']['select_by_default']) { |
551 | 547 | variable_set('forum_access_default_template_tid', $template_tid); |
552 | - } |
|
553 | - elseif (variable_get('forum_access_default_template_tid', 0) == $template_tid) { |
|
548 | + } elseif (variable_get('forum_access_default_template_tid', 0) == $template_tid) { |
|
554 | 549 | variable_del('forum_access_default_template_tid'); |
555 | 550 | } |
556 | 551 | if ($access['template']['load_for_new']) { |
557 | 552 | variable_set('forum_access_new_template_tid', $template_tid); |
558 | - } |
|
559 | - elseif (variable_get('forum_access_new_template_tid', 0) == $template_tid) { |
|
553 | + } elseif (variable_get('forum_access_new_template_tid', 0) == $template_tid) { |
|
560 | 554 | variable_del('forum_access_new_template_tid'); |
561 | 555 | } |
562 | 556 | module_load_include('node.inc', 'forum_access'); |
@@ -598,8 +592,7 @@ discard block |
||
598 | 592 | // We prefer not to save records for node administrators, because these have access anyway. |
599 | 593 | if (isset($permissions[$rid]['administer forums']) && $access['view'][$rid]) { |
600 | 594 | // For forum administrators, View needs to be saved, ... |
601 | - } |
|
602 | - else { |
|
595 | + } else { |
|
603 | 596 | // ... otherwise forget View. |
604 | 597 | $access['view'][$rid] = FALSE; |
605 | 598 | } |
@@ -607,8 +600,7 @@ discard block |
||
607 | 600 | db_query("INSERT INTO {forum_access} (tid, rid, grant_view, grant_update, grant_delete, grant_create, grant_comment_create, priority) VALUES (%d, %d, %d, %d, %d, %d, %d, %d)", |
608 | 601 | $tid, $rid, !empty($access['view'][$rid]), 0, 0, !empty($access['create'][$rid]), !empty($access['comment_create'][$rid]), $fa_priority); |
609 | 602 | } |
610 | - } |
|
611 | - else { |
|
603 | + } else { |
|
612 | 604 | db_query("INSERT INTO {forum_access} (tid, rid, grant_view, grant_update, grant_delete, grant_create, grant_comment_create, priority) VALUES (%d, %d, %d, %d, %d, %d, %d, %d)", |
613 | 605 | $tid, $rid, (bool) $checked, !empty($access['update'][$rid]), !empty($access['delete'][$rid]), !empty($access['create'][$rid]), !empty($access['comment_create'][$rid]), $fa_priority); |
614 | 606 | } |
@@ -620,8 +612,7 @@ discard block |
||
620 | 612 | if (!$is_new && $form_state['values']['form_id'] != 'forum_form_container') { |
621 | 613 | if (!isset($access['update_choice']) || $access['update_choice'] == 2) { |
622 | 614 | node_access_needs_rebuild(TRUE); |
623 | - } |
|
624 | - elseif ($access['update_choice'] == 0) { |
|
615 | + } elseif ($access['update_choice'] == 0) { |
|
625 | 616 | // update immediately (but use the batch functions anyway |
626 | 617 | $save_redirect = $form_state['redirect']; |
627 | 618 | $form_state['redirect'] = $_GET['q']; |
@@ -632,13 +623,13 @@ discard block |
||
632 | 623 | _forum_access_update_batch_operation($tid, 999999, 1, $context); |
633 | 624 | $pending_error_messages = drupal_get_messages('error', TRUE); // still alive, get and clear all 'error' messages |
634 | 625 | unset($pending_error_messages['error'][$our_error_message_index]); // remove our error message |
635 | - foreach ($pending_error_messages['error'] as $message) { // replay any others |
|
626 | + foreach ($pending_error_messages['error'] as $message) { |
|
627 | +// replay any others |
|
636 | 628 | drupal_set_message($message, 'error'); |
637 | 629 | } |
638 | 630 | _forum_access_update_batch_finished(TRUE, array(), array()); |
639 | 631 | $form_state['redirect'] = $save_redirect; |
640 | - } |
|
641 | - else { |
|
632 | + } else { |
|
642 | 633 | // mass update in batch mode, modeled after node.module |
643 | 634 | $limit = $access['update_limit']; |
644 | 635 | $count = db_result(db_query("SELECT COUNT(DISTINCT n.nid) FROM {node} n INNER JOIN {term_node} tn ON tn.vid = n.vid WHERE tn.tid = %d", $tid)); |
@@ -698,8 +689,7 @@ discard block |
||
698 | 689 | if ($success) { |
699 | 690 | drupal_set_message(t('The content access permissions have been updated.')); |
700 | 691 | cache_clear_all(); |
701 | - } |
|
702 | - else { |
|
692 | + } else { |
|
703 | 693 | drupal_set_message(t('The content access permissions have not been properly updated.'), 'error'); |
704 | 694 | } |
705 | 695 | } |
@@ -744,8 +734,7 @@ discard block |
||
744 | 734 | $return['view'] = array(DRUPAL_ANONYMOUS_RID, DRUPAL_AUTHENTICATED_RID); |
745 | 735 | $return['create'] = array(DRUPAL_AUTHENTICATED_RID); |
746 | 736 | $return['comment_create'] = array(DRUPAL_AUTHENTICATED_RID); |
747 | - } |
|
748 | - else { |
|
737 | + } else { |
|
749 | 738 | $result = db_query("SELECT * FROM {forum_access} where tid = %d", $tid); |
750 | 739 | while ($access = db_fetch_object($result)) { |
751 | 740 | if ($access->grant_view) { |
@@ -763,7 +752,8 @@ discard block |
||
763 | 752 | if ($access->grant_comment_create) { |
764 | 753 | $return['comment_create'][] = $access->rid; |
765 | 754 | } |
766 | - if ($access->rid == DRUPAL_AUTHENTICATED_RID) { // this is our reference |
|
755 | + if ($access->rid == DRUPAL_AUTHENTICATED_RID) { |
|
756 | +// this is our reference |
|
767 | 757 | $return['priority'] = $access->priority; |
768 | 758 | } |
769 | 759 | } |
@@ -831,8 +821,7 @@ discard block |
||
831 | 821 | drupal_set_message(t('Note: In Drupal, access can only be granted, not taken away. Whatever access you grant here will not be reflected in the !Forum_Access_link settings, but !Forum_Access can only allow <i>more</i> access, not less.', $variables) |
832 | 822 | .'<br /><span class="error">'. t('Specifically, any rights granted to the %anonymous_user and/or the %authenticated_user will <b>override</b> the settings of !Forum_Access!', $variables) .'</span>' |
833 | 823 | .'<br />'. t('To avoid conflicts with !Forum_Access settings, you may want to lower the priority of !Content_Access (under %Advanced below) below the priority of !Forum_Access for the content types that you want to be controlled by !Forum_Access.', $variables), 'warning'); |
834 | - } |
|
835 | - else { |
|
824 | + } else { |
|
836 | 825 | $vid = _forum_access_get_vid(); |
837 | 826 | $vocabulary = taxonomy_vocabulary_load($vid); |
838 | 827 | if (isset($vocabulary->nodes[arg(3)])) { |
@@ -926,8 +915,7 @@ discard block |
||
926 | 915 | } |
927 | 916 | watchdog('user', $msg, NULL, WATCHDOG_NOTICE); |
928 | 917 | return $rid; |
929 | - } |
|
930 | - else { |
|
918 | + } else { |
|
931 | 919 | $msg = t('!Forum_Access cannot create the %role role!', $variables); |
932 | 920 | watchdog('user', $msg, NULL, WATCHDOG_WARNING); |
933 | 921 | drupal_set_message($msg .' '. t('Is it already in use?'), 'error'); |
@@ -12,8 +12,8 @@ discard block |
||
12 | 12 | * Rewrite the forum administration page with our new access rules. |
13 | 13 | */ |
14 | 14 | function _forum_access_forum_form(&$form, &$form_state, $is_container) { |
15 | - $tid = (isset($form['tid']['#value']) ? $form['tid']['#value'] : NULL); |
|
16 | - if (isset($tid) && !forum_access_access($tid, 'view', NULL, FALSE)) { |
|
15 | + $tid = (isset($form['tid']['#value']) ? $form['tid']['#value'] : null); |
|
16 | + if (isset($tid) && !forum_access_access($tid, 'view', null, false)) { |
|
17 | 17 | drupal_access_denied(); // Deny access if the user doesn't have View access. |
18 | 18 | module_invoke_all('exit'); |
19 | 19 | exit; |
@@ -25,7 +25,7 @@ discard block |
||
25 | 25 | $settings = _forum_access_get_settings($tid); |
26 | 26 | } |
27 | 27 | else { // create |
28 | - $template_tid = variable_get('forum_access_new_template_tid', NULL); |
|
28 | + $template_tid = variable_get('forum_access_new_template_tid', null); |
|
29 | 29 | $settings = _forum_access_get_settings($template_tid); |
30 | 30 | } |
31 | 31 | $fa_priority = $settings['priority']; |
@@ -33,38 +33,38 @@ discard block |
||
33 | 33 | $form['forum_access'] = array( |
34 | 34 | '#type' => 'fieldset', |
35 | 35 | '#title' => t('Access control'), |
36 | - '#collapsible' => TRUE, |
|
37 | - '#tree' => TRUE, |
|
36 | + '#collapsible' => true, |
|
37 | + '#tree' => true, |
|
38 | 38 | ); |
39 | 39 | |
40 | 40 | $tr = 't'; |
41 | 41 | $variables = array( |
42 | - '!access_content' => '<em>'. l($tr('access content'), 'admin/user/permissions', array('fragment' => 'module-node', 'html' => TRUE)) .'</em>', |
|
43 | - '!access_comments' => '<em>'. l($tr('access comments'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => TRUE)) .'</em>', |
|
44 | - '!create_forum_topics' => '<em>'. l($tr('create forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)) .'</em>', |
|
45 | - '!post_comments' => '<em>'. l($tr('post comments'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => TRUE)) .'</em>', |
|
46 | - '!post_comments_without_approval' => '<em>'. l($tr('post comments without approval'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => TRUE)) .'</em>', |
|
47 | - '!edit_own_forum_topics' => '<em>'. l($tr('edit own forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)) .'</em>', |
|
48 | - '!edit_any_forum_topics' => '<em>'. l($tr('edit any forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)) .'</em>', |
|
49 | - '!delete_own_forum_topics' => '<em>'. l($tr('delete own forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)) .'</em>', |
|
50 | - '!delete_any_forum_topics' => '<em>'. l($tr('delete any forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)) .'</em>', |
|
51 | - '!administer_comments' => '<em>'. l($tr('administer comments'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => TRUE)) .'</em>', |
|
52 | - '!administer_forums' => '<em>'. l($tr('administer forums'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => TRUE)) .'</em>', |
|
53 | - '!administer_nodes' => '<em>'. l($tr('administer nodes'), 'admin/user/permissions', array('fragment' => 'module-node', 'html' => TRUE)) .'</em>', |
|
42 | + '!access_content' => '<em>'. l($tr('access content'), 'admin/user/permissions', array('fragment' => 'module-node', 'html' => true)) .'</em>', |
|
43 | + '!access_comments' => '<em>'. l($tr('access comments'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => true)) .'</em>', |
|
44 | + '!create_forum_topics' => '<em>'. l($tr('create forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => true)) .'</em>', |
|
45 | + '!post_comments' => '<em>'. l($tr('post comments'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => true)) .'</em>', |
|
46 | + '!post_comments_without_approval' => '<em>'. l($tr('post comments without approval'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => true)) .'</em>', |
|
47 | + '!edit_own_forum_topics' => '<em>'. l($tr('edit own forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => true)) .'</em>', |
|
48 | + '!edit_any_forum_topics' => '<em>'. l($tr('edit any forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => true)) .'</em>', |
|
49 | + '!delete_own_forum_topics' => '<em>'. l($tr('delete own forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => true)) .'</em>', |
|
50 | + '!delete_any_forum_topics' => '<em>'. l($tr('delete any forum topics'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => true)) .'</em>', |
|
51 | + '!administer_comments' => '<em>'. l($tr('administer comments'), 'admin/user/permissions', array('fragment' => 'module-comment', 'html' => true)) .'</em>', |
|
52 | + '!administer_forums' => '<em>'. l($tr('administer forums'), 'admin/user/permissions', array('fragment' => 'module-forum', 'html' => true)) .'</em>', |
|
53 | + '!administer_nodes' => '<em>'. l($tr('administer nodes'), 'admin/user/permissions', array('fragment' => 'module-node', 'html' => true)) .'</em>', |
|
54 | 54 | ); |
55 | 55 | if (!$is_container) { |
56 | 56 | $form['forum_access']['permissions'] = array( |
57 | 57 | '#type' => 'fieldset', |
58 | 58 | '#title' => $tr('Permissions information'), |
59 | - '#collapsible' => TRUE, |
|
60 | - '#collapsed' => TRUE, |
|
59 | + '#collapsible' => true, |
|
60 | + '#collapsed' => true, |
|
61 | 61 | ); |
62 | 62 | $form['forum_access']['permissions'][] = array( |
63 | 63 | '#type' => 'markup', |
64 | 64 | '#value' => '<div>'. t('Note that users need') .'<ul style="margin-top: 0"><li>'. |
65 | 65 | t('the !access_content and !access_comments permissions <strong>AND <em>View</em></strong> to be able to see this forum and its content at all,', $variables) .'</li><li>'. |
66 | 66 | t('the !create_forum_topics (and similar) permissions <strong>AND <em>Post</em></strong> to be able to create forum content, and', $variables) .'</li><li>'. |
67 | - t('the !post_comments and (probably) !post_comments_without_approval permission <!TAG>AND <em>Comment</em></!TAG> to be able to post comments/replies;', $variables + array('!TAG' => (variable_get('forum_access_D5_legacy_mode', FALSE) ? 'del title="'. t('Drupal 5 legacy mode') .'"' : 'strong'))) .'</li><li>'. |
|
67 | + t('the !post_comments and (probably) !post_comments_without_approval permission <!TAG>AND <em>Comment</em></!TAG> to be able to post comments/replies;', $variables + array('!TAG' => (variable_get('forum_access_D5_legacy_mode', false) ? 'del title="'. t('Drupal 5 legacy mode') .'"' : 'strong'))) .'</li><li>'. |
|
68 | 68 | t('the !edit_own_forum_topics or !edit_any_forum_topics (and similar) permissions <strong>AND (<em>Edit</em> AND <em>Comment</em></strong>) can be added if desired, <strong>plus</strong>', $variables) .'</li><li>'. |
69 | 69 | t('the !delete_own_forum_topics or !delete_any_forum_topics (and similar) permissions (<strong>OR <em>Delete</em></strong>) if desired;', $variables) .'</li><li>'. |
70 | 70 | t('the !administer_comments (global!) permission <strong>OR <em>Edit</em>/<em>Delete</em></strong> to be able to edit/delete comments;', $variables) .'</li><li>'. |
@@ -78,7 +78,7 @@ discard block |
||
78 | 78 | $form['forum_access']['template'] = array( |
79 | 79 | '#type' => 'fieldset', |
80 | 80 | '#title' => $tr('Template'), |
81 | - '#collapsible' => TRUE, |
|
81 | + '#collapsible' => true, |
|
82 | 82 | '#collapsed' => empty($template_tid), |
83 | 83 | ); |
84 | 84 | $form['forum_access']['template']['taxonomy'][$vid] = taxonomy_form($vid, array($template_tid), ''); |
@@ -87,21 +87,21 @@ discard block |
||
87 | 87 | '#type' => 'button', |
88 | 88 | '#name' => 'load_template', |
89 | 89 | '#value' => t('Load'), |
90 | - '#submit' => FALSE, |
|
90 | + '#submit' => false, |
|
91 | 91 | ); |
92 | 92 | $form['forum_access']['template']['template_tid'] = array( |
93 | 93 | '#type' => 'value', |
94 | - '#value' => NULL, |
|
94 | + '#value' => null, |
|
95 | 95 | ); |
96 | 96 | $form['forum_access']['template']['select_by_default'] = array( |
97 | 97 | '#type' => 'checkbox', |
98 | 98 | '#title' => t('Remember this selection.'), |
99 | - '#default_value' => FALSE, |
|
99 | + '#default_value' => false, |
|
100 | 100 | ); |
101 | 101 | $form['forum_access']['template']['load_for_new'] = array( |
102 | 102 | '#type' => 'checkbox', |
103 | 103 | '#title' => t("Use the selected forum's settings as defaults for new forums and containers."), |
104 | - '#default_value' => FALSE, |
|
104 | + '#default_value' => false, |
|
105 | 105 | ); |
106 | 106 | $form['forum_access']['#after_build'][] = '_forum_access_forum_form_after_build'; |
107 | 107 | |
@@ -211,7 +211,7 @@ discard block |
||
211 | 211 | if (isset($tid)) { // edit, not new |
212 | 212 | $acl_id = acl_get_id_by_number('forum_access', $tid); |
213 | 213 | if (!$acl_id) { // create one |
214 | - $acl_id = acl_create_new_acl('forum_access', NULL, $tid); |
|
214 | + $acl_id = acl_create_new_acl('forum_access', null, $tid); |
|
215 | 215 | // update every existing node in this forum to use this acl. |
216 | 216 | $result = db_query("SELECT nid FROM {term_node} WHERE tid = %d", $tid); |
217 | 217 | while ($node = db_fetch_object($result)) { |
@@ -243,7 +243,7 @@ discard block |
||
243 | 243 | $form['forum_access']['interference'] = array( |
244 | 244 | '#type' => 'fieldset', |
245 | 245 | '#title' => t('Module interference'), |
246 | - '#collapsible' => TRUE, |
|
246 | + '#collapsible' => true, |
|
247 | 247 | ); |
248 | 248 | $variables = array( |
249 | 249 | '%content_type' => node_get_types('name', 'forum'), |
@@ -264,13 +264,13 @@ discard block |
||
264 | 264 | foreach (array('view', 'update', 'delete', 'per_node') as $type) { |
265 | 265 | $value = content_access_get_settings($type, 'forum'); |
266 | 266 | if (!empty($value)) { |
267 | - $ca_interferes = TRUE; |
|
267 | + $ca_interferes = true; |
|
268 | 268 | } |
269 | 269 | } |
270 | 270 | $ca_priority = content_access_get_settings('priority', 'forum'); |
271 | 271 | $is_conflict = $ca_priority >= $fa_priority && !empty($ca_interferes) || $ca_priority > $fa_priority; |
272 | 272 | $variables += array( |
273 | - '!link' => l(t('@Content_Access configuration for the %content_type type', $variables), 'admin/content/node-type/forum/access', array('html' => TRUE)), |
|
273 | + '!link' => l(t('@Content_Access configuration for the %content_type type', $variables), 'admin/content/node-type/forum/access', array('html' => true)), |
|
274 | 274 | '%Advanced' => $tr('Advanced'), |
275 | 275 | ); |
276 | 276 | $specifically = ($ca_priority == $fa_priority ? t('Specifically, any grants given by !Content_Access cannot be taken back by !Forum_Access.', $variables) : ''); |
@@ -278,7 +278,7 @@ discard block |
||
278 | 278 | $form['forum_access']['interference']['by_content_access'] = array( |
279 | 279 | '#type' => 'fieldset', |
280 | 280 | '#title' => 'Content Access', |
281 | - '#collapsible' => FALSE, |
|
281 | + '#collapsible' => false, |
|
282 | 282 | '#attributes' => array('class' => 'error'), |
283 | 283 | ); |
284 | 284 | $form['forum_access']['interference']['by_content_access'][] = array( |
@@ -308,7 +308,7 @@ discard block |
||
308 | 308 | $form['forum_access']['interference']['advanced'] = array( |
309 | 309 | '#type' => 'fieldset', |
310 | 310 | '#title' => t('Advanced'), |
311 | - '#collapsible' => TRUE, |
|
311 | + '#collapsible' => true, |
|
312 | 312 | '#collapsed' => !($fa_priority != 0), |
313 | 313 | ); |
314 | 314 | $form['forum_access']['interference']['advanced']['priority'] = array( |
@@ -324,8 +324,8 @@ discard block |
||
324 | 324 | '!Forum_Access' => l('Forum Access', 'http://drupal.org/project/forum_access'), |
325 | 325 | '!ACL' => l('ACL', 'http://drupal.org/project/acl'), |
326 | 326 | '%Module_interference' => t('Module interference'), |
327 | - '!Forum_Access-dev' => l('Forum Access 6.x-1.x-dev', 'http://drupal.org/node/96795', array('html' => TRUE)), |
|
328 | - '!ACL-dev' => l('ACL 6.x-1.x-dev', 'http://drupal.org/node/96794', array('html' => TRUE)), |
|
327 | + '!Forum_Access-dev' => l('Forum Access 6.x-1.x-dev', 'http://drupal.org/node/96795', array('html' => true)), |
|
328 | + '!ACL-dev' => l('ACL 6.x-1.x-dev', 'http://drupal.org/node/96794', array('html' => true)), |
|
329 | 329 | '%devel_node_access' => 'devel_node_access', |
330 | 330 | '!Devel' => l('Devel', 'http://drupal.org/project/devel'), |
331 | 331 | '!DNA' => 'DNA', |
@@ -339,8 +339,8 @@ discard block |
||
339 | 339 | $form['forum_access']['troubleshooting'] = array( |
340 | 340 | '#type' => 'fieldset', |
341 | 341 | '#title' => t('Trouble-shooting node access'), |
342 | - '#collapsible' => TRUE, |
|
343 | - '#collapsed' => TRUE, |
|
342 | + '#collapsible' => true, |
|
343 | + '#collapsed' => true, |
|
344 | 344 | ); |
345 | 345 | $form['forum_access']['troubleshooting'][] = array( |
346 | 346 | '#type' => 'item', |
@@ -372,7 +372,7 @@ discard block |
||
372 | 372 | '#type' => 'radios', |
373 | 373 | '#title' => 'Update the permissions', |
374 | 374 | '#description' => t('<em>If</em> you make any node access changes, then each node in this forum needs to be updated. Hover over the radiobuttons for details.'), |
375 | - '#options' => NULL, |
|
375 | + '#options' => null, |
|
376 | 376 | 0 => array( |
377 | 377 | '#type' => 'radio', |
378 | 378 | '#title' => t('for all %count nodes immediately', array('%count' => $count)), |
@@ -443,8 +443,8 @@ discard block |
||
443 | 443 | if ($rid == $moderator_rid) { |
444 | 444 | $element[$rid]['#prefix'] = '<span title="'. t("This is the (temporary) @Forum_Moderator role; it has the '@administer_nodes' and '@administer_comments' permissions and is only used temporarily by @Forum_Access — do NOT give this role to any user!", array('@Forum_Moderator' => t('Forum Moderator'), '@administer_nodes' => $tr('administer nodes'), '@administer_comments' => $tr('administer comments'), '@Forum_Access' => 'Forum Access')) .'" class="forum-access-temporary-moderator">'; |
445 | 445 | $element[$rid]['#suffix'] = "</span>"; |
446 | - $element[$rid]['#default_value'] = TRUE; |
|
447 | - $element[$rid]['#disabled'] = TRUE; |
|
446 | + $element[$rid]['#default_value'] = true; |
|
447 | + $element[$rid]['#disabled'] = true; |
|
448 | 448 | } |
449 | 449 | elseif ($element['#parents'][1] == 'create') { |
450 | 450 | // Do nothing (Post is always mutable). |
@@ -460,8 +460,8 @@ discard block |
||
460 | 460 | $element[$rid]['#suffix'] = "</span>"; |
461 | 461 | } |
462 | 462 | elseif (isset($permissions[$rid]['administer nodes'])) { |
463 | - $element[$rid]['#disabled'] = TRUE; |
|
464 | - $element[$rid]['#default_value'] = TRUE; |
|
463 | + $element[$rid]['#disabled'] = true; |
|
464 | + $element[$rid]['#default_value'] = true; |
|
465 | 465 | $element[$rid]['#prefix'] = '<span title="'. ($rid != $moderator_rid |
466 | 466 | ? t("This role has the '@administer_nodes' permission and thus full access to all nodes.", array('@administer_nodes' => $tr('administer nodes'))) |
467 | 467 | : t("This is the @Forum_Moderator role; it has the '@administer_nodes' and '@administer_comments' permissions and thus full access to all nodes and comments.", array('@Forum_Moderator' => t('Forum Moderator'), '@administer_nodes' => $tr('administer nodes'), '@administer_comments' => $tr('administer comments')))) .'">'; |
@@ -486,7 +486,7 @@ discard block |
||
486 | 486 | |
487 | 487 | function _forum_access_forum_form_after_build_acl2($form, $form_state) { |
488 | 488 | if (!count(unserialize($form['user_list']['#default_value'])) && !count(unserialize($form['user_list']['#value']))) { |
489 | - $form['#collapsed'] = TRUE; |
|
489 | + $form['#collapsed'] = true; |
|
490 | 490 | } |
491 | 491 | if ($form['user_list']['#default_value'] != $form['user_list']['#value']) { |
492 | 492 | $form['note']['#value'] = preg_replace('/<div>/', '<div class="warning">', $form['note']['#value']); |
@@ -499,7 +499,7 @@ discard block |
||
499 | 499 | // Load a setting from a template: |
500 | 500 | $template_tid = reset(array_values($form['#post']['forum_access']['template']['taxonomy'])); |
501 | 501 | $form_state['values']['forum_access']['template']['template_tid'] = $template_tid; |
502 | - $form['template']['#collapsed'] = FALSE; |
|
502 | + $form['template']['#collapsed'] = false; |
|
503 | 503 | |
504 | 504 | $settings = _forum_access_get_settings($template_tid); |
505 | 505 | foreach (array('view', 'create', 'comment_create', 'update', 'delete') as $grant_type) { |
@@ -507,13 +507,13 @@ discard block |
||
507 | 507 | continue; |
508 | 508 | } |
509 | 509 | foreach (element_children($form[$grant_type]) as $tid) { |
510 | - $checked = array_search($tid, $settings[$grant_type]) !== FALSE; |
|
510 | + $checked = array_search($tid, $settings[$grant_type]) !== false; |
|
511 | 511 | $form[$grant_type][$tid]['#value'] = ($checked ? $tid : 0); |
512 | 512 | } |
513 | 513 | } |
514 | 514 | $form['interference']['advanced']['priority']['#value'] = $settings['priority']; |
515 | 515 | if ($settings['priority'] != 0) { |
516 | - $form['interference']['advanced']['#collapsed'] = FALSE; |
|
516 | + $form['interference']['advanced']['#collapsed'] = false; |
|
517 | 517 | } |
518 | 518 | } |
519 | 519 | elseif (is_array(reset($form_state['values']['forum_access']['template']['taxonomy']))) { |
@@ -560,7 +560,7 @@ discard block |
||
560 | 560 | variable_del('forum_access_new_template_tid'); |
561 | 561 | } |
562 | 562 | module_load_include('node.inc', 'forum_access'); |
563 | - $moderator_rid = _forum_access_get_moderator_rid(TRUE); // create the moderators role if it doesn't exist |
|
563 | + $moderator_rid = _forum_access_get_moderator_rid(true); // create the moderators role if it doesn't exist |
|
564 | 564 | |
565 | 565 | // check for changes |
566 | 566 | $is_changed = $is_new = strpos($_GET['q'], 'admin/content/forum/add/') === 0; |
@@ -601,7 +601,7 @@ discard block |
||
601 | 601 | } |
602 | 602 | else { |
603 | 603 | // ... otherwise forget View. |
604 | - $access['view'][$rid] = FALSE; |
|
604 | + $access['view'][$rid] = false; |
|
605 | 605 | } |
606 | 606 | if ($access['view'][$rid] || $access['create'][$rid] || $access['comment_create'][$rid]) { |
607 | 607 | db_query("INSERT INTO {forum_access} (tid, rid, grant_view, grant_update, grant_delete, grant_create, grant_comment_create, priority) VALUES (%d, %d, %d, %d, %d, %d, %d, %d)", |
@@ -619,23 +619,23 @@ discard block |
||
619 | 619 | |
620 | 620 | if (!$is_new && $form_state['values']['form_id'] != 'forum_form_container') { |
621 | 621 | if (!isset($access['update_choice']) || $access['update_choice'] == 2) { |
622 | - node_access_needs_rebuild(TRUE); |
|
622 | + node_access_needs_rebuild(true); |
|
623 | 623 | } |
624 | 624 | elseif ($access['update_choice'] == 0) { |
625 | 625 | // update immediately (but use the batch functions anyway |
626 | 626 | $save_redirect = $form_state['redirect']; |
627 | 627 | $form_state['redirect'] = $_GET['q']; |
628 | 628 | $context = array(); |
629 | - $pending_error_messages = drupal_get_messages('error', FALSE); |
|
629 | + $pending_error_messages = drupal_get_messages('error', false); |
|
630 | 630 | $our_error_message_index = (isset($pending_error_messages['error']) ? count($pending_error_messages['error']) : 0); |
631 | - _forum_access_update_batch_finished(FALSE, array(), array()); // add our error message (in case we die underway) |
|
631 | + _forum_access_update_batch_finished(false, array(), array()); // add our error message (in case we die underway) |
|
632 | 632 | _forum_access_update_batch_operation($tid, 999999, 1, $context); |
633 | - $pending_error_messages = drupal_get_messages('error', TRUE); // still alive, get and clear all 'error' messages |
|
633 | + $pending_error_messages = drupal_get_messages('error', true); // still alive, get and clear all 'error' messages |
|
634 | 634 | unset($pending_error_messages['error'][$our_error_message_index]); // remove our error message |
635 | 635 | foreach ($pending_error_messages['error'] as $message) { // replay any others |
636 | 636 | drupal_set_message($message, 'error'); |
637 | 637 | } |
638 | - _forum_access_update_batch_finished(TRUE, array(), array()); |
|
638 | + _forum_access_update_batch_finished(true, array(), array()); |
|
639 | 639 | $form_state['redirect'] = $save_redirect; |
640 | 640 | } |
641 | 641 | else { |
@@ -675,7 +675,7 @@ discard block |
||
675 | 675 | // Process the next 20 nodes. |
676 | 676 | $result = db_query_range("SELECT DISTINCT n.nid FROM {node} n INNER JOIN {term_node} tn ON tn.vid = n.vid WHERE n.nid > %d AND tn.tid = %d ORDER BY n.nid ASC", $context['sandbox']['current_node'], $tid, 0, $limit); |
677 | 677 | while ($row = db_fetch_array($result)) { |
678 | - $loaded_node = node_load($row['nid'], NULL, TRUE); |
|
678 | + $loaded_node = node_load($row['nid'], null, true); |
|
679 | 679 | // To preserve database integrity, only aquire grants if the node |
680 | 680 | // loads successfully. |
681 | 681 | if (!empty($loaded_node)) { |
@@ -726,7 +726,7 @@ discard block |
||
726 | 726 | $form['forum_access']['forum_access_D5_legacy_mode'] = array( |
727 | 727 | '#type' => 'checkbox', |
728 | 728 | '#title' => t('Drupal 5 legacy mode', $variables), |
729 | - '#default_value' => variable_get('forum_access_D5_legacy_mode', FALSE), |
|
729 | + '#default_value' => variable_get('forum_access_D5_legacy_mode', false), |
|
730 | 730 | '#description' => t('In Drupal 5, comment posting was not restricted by !Forum_Access; users with %View access (and the %post_comments permission) were always allowed to post forum comments. Starting with Drupal 6, posting comments is now restricted to users with %Post access. Turn this option on to revert to the old behavior. The default is OFF.', $variables), |
731 | 731 | ); |
732 | 732 | $buttons = $form['buttons']; |
@@ -737,7 +737,7 @@ discard block |
||
737 | 737 | /** |
738 | 738 | * Helper function to retrieve the settings for a forum. |
739 | 739 | */ |
740 | -function _forum_access_get_settings($tid = NULL) { |
|
740 | +function _forum_access_get_settings($tid = null) { |
|
741 | 741 | $return = array('view' => array(), 'create' => array(), 'comment_create' => array(), 'update' => array(), 'delete' => array(), 'priority' => 0); |
742 | 742 | if (!isset($tid)) { |
743 | 743 | // Default to all users can read; all logged in users can post and comment. |
@@ -781,8 +781,8 @@ discard block |
||
781 | 781 | } |
782 | 782 | foreach ($form as $key => $value) { |
783 | 783 | if (preg_match('/^tid:(.*):0$/', $key, $matches)) { |
784 | - if (!forum_access_access($matches[1], 'view', NULL, FALSE)) { |
|
785 | - $form[$key]['edit']['#access'] = FALSE; |
|
784 | + if (!forum_access_access($matches[1], 'view', null, false)) { |
|
785 | + $form[$key]['edit']['#access'] = false; |
|
786 | 786 | if (preg_match('|<a [^>]*>([^<]*)</a>|', $form[$key]['view']['#value'], $matches)) { |
787 | 787 | $form[$key]['view']['#value'] = $matches[1]; |
788 | 788 | } |
@@ -850,8 +850,8 @@ discard block |
||
850 | 850 | function _forum_access_user_admin_perm_form(&$form, &$form_state) { |
851 | 851 | $moderator_rid = forum_access_query_moderator_rid(); |
852 | 852 | if (isset($moderator_rid) && array_key_exists($moderator_rid, $form['role_names'])) { |
853 | - drupal_set_message(t('The %role role is used internally by the @Forum_Access module and must not be changed!', array('%role' => $form['role_names'][$moderator_rid]['#value'], '@Forum_Access' => 'Forum Access')), 'warning', FALSE); |
|
854 | - $form['checkboxes'][$moderator_rid]['#disabled'] = TRUE; |
|
853 | + drupal_set_message(t('The %role role is used internally by the @Forum_Access module and must not be changed!', array('%role' => $form['role_names'][$moderator_rid]['#value'], '@Forum_Access' => 'Forum Access')), 'warning', false); |
|
854 | + $form['checkboxes'][$moderator_rid]['#disabled'] = true; |
|
855 | 855 | } |
856 | 856 | array_unshift($form['#submit'], '_forum_access_user_admin_perm_form_submit'); |
857 | 857 | } |
@@ -895,7 +895,7 @@ discard block |
||
895 | 895 | '#type' => 'checkbox', |
896 | 896 | '#title' => $form['account']['roles']['#options'][$moderator_rid] .' ('. t('reserved for internal use by the @Forum_Access module', array('@Forum_Access' => 'Forum Access')) .')', |
897 | 897 | '#default_value' => in_array($moderator_rid, $form['account']['roles']['#default_value']), |
898 | - '#disabled' => TRUE, |
|
898 | + '#disabled' => true, |
|
899 | 899 | ); |
900 | 900 | unset($form['account']['roles']['#options'][$moderator_rid]); |
901 | 901 | } |
@@ -904,7 +904,7 @@ discard block |
||
904 | 904 | /** |
905 | 905 | * Create the Forum Moderator role. |
906 | 906 | */ |
907 | -function _forum_access_create_moderator_rid($verbose = FALSE) { |
|
907 | +function _forum_access_create_moderator_rid($verbose = false) { |
|
908 | 908 | $tr = 't'; |
909 | 909 | $variables = array('!Forum_Access' => 'Forum Access', '%administer_comments' => $tr('administer comments'), '%administer_nodes' => $tr('administer nodes')); |
910 | 910 | $role_name = t('Forum Moderator'); |
@@ -924,18 +924,18 @@ discard block |
||
924 | 924 | if ($verbose) { |
925 | 925 | drupal_set_message($msg, 'warning'); |
926 | 926 | } |
927 | - watchdog('user', $msg, NULL, WATCHDOG_NOTICE); |
|
927 | + watchdog('user', $msg, null, WATCHDOG_NOTICE); |
|
928 | 928 | return $rid; |
929 | 929 | } |
930 | 930 | else { |
931 | 931 | $msg = t('!Forum_Access cannot create the %role role!', $variables); |
932 | - watchdog('user', $msg, NULL, WATCHDOG_WARNING); |
|
932 | + watchdog('user', $msg, null, WATCHDOG_WARNING); |
|
933 | 933 | drupal_set_message($msg .' '. t('Is it already in use?'), 'error'); |
934 | 934 | $role->name = $role_name .' '. $i; |
935 | 935 | } |
936 | 936 | } |
937 | 937 | $msg = t('!Forum_Access has given up and will not work correctly! Rename one of the roles listed above, so that !Forum_Access can use its name.', $variables); |
938 | 938 | drupal_set_message($msg, 'error'); |
939 | - watchdog('user', $msg, NULL, WATCHDOG_CRITICAL); |
|
939 | + watchdog('user', $msg, null, WATCHDOG_CRITICAL); |
|
940 | 940 | } |
941 | 941 |
@@ -143,7 +143,7 @@ |
||
143 | 143 | * Return the Views fields that should be translated. |
144 | 144 | * |
145 | 145 | * @return |
146 | - * Array of field names. |
|
146 | + string[] Array of field names. |
|
147 | 147 | */ |
148 | 148 | function _i18nviews_display_fields() { |
149 | 149 | return array('title', 'header', 'footer', 'empty'); |
@@ -14,44 +14,44 @@ discard block |
||
14 | 14 | * Implementation of hook_help(). |
15 | 15 | */ |
16 | 16 | function i18nviews_help($path, $arg) { |
17 | - switch ($path) { |
|
17 | + switch ($path) { |
|
18 | 18 | case 'admin/modules#description' : |
19 | 19 | $output = '<p>'. t('Supports translation for views strings: title, header, footer...') .'</p>'; |
20 | - $output .= '<p>'. t('To search and translate strings, use the <a href="@translate-interface">translation interface</a> pages.', array('@translate-interface' => url('admin/build/translate'))) .'</p>'; |
|
21 | - return $output; |
|
22 | - } |
|
20 | + $output .= '<p>'. t('To search and translate strings, use the <a href="@translate-interface">translation interface</a> pages.', array('@translate-interface' => url('admin/build/translate'))) .'</p>'; |
|
21 | + return $output; |
|
22 | + } |
|
23 | 23 | } |
24 | 24 | |
25 | 25 | /** |
26 | 26 | * Implementation of hook_locale(). |
27 | 27 | */ |
28 | 28 | function i18nviews_locale($op = 'groups') { |
29 | - switch ($op) { |
|
29 | + switch ($op) { |
|
30 | 30 | case 'groups': |
31 | 31 | return array('views' => t('Views')); |
32 | 32 | case 'info': |
33 | 33 | $info['views']['refresh callback'] = 'i18nviews_locale_refresh'; |
34 | - $info['views']['format'] = TRUE; |
|
35 | - return $info; |
|
36 | - } |
|
34 | + $info['views']['format'] = TRUE; |
|
35 | + return $info; |
|
36 | + } |
|
37 | 37 | } |
38 | 38 | |
39 | 39 | /** |
40 | 40 | * Refresh views locales, 2.x version |
41 | 41 | */ |
42 | 42 | function i18nviews_locale_refresh() { |
43 | - $views = views_get_all_views(); |
|
44 | - foreach ($views as $view) { |
|
43 | + $views = views_get_all_views(); |
|
44 | + foreach ($views as $view) { |
|
45 | 45 | if (!$view->disabled) { |
46 | - $fields = _i18nviews_display_fields(); |
|
47 | - if (!empty($view->display) && is_array($view->display)) { |
|
46 | + $fields = _i18nviews_display_fields(); |
|
47 | + if (!empty($view->display) && is_array($view->display)) { |
|
48 | 48 | foreach (array_keys($view->display) as $display_id) { |
49 | - _i18nviews_localize_array($view->name, $display_id, $view->display[$display_id]->display_options, $fields, TRUE); |
|
49 | + _i18nviews_localize_array($view->name, $display_id, $view->display[$display_id]->display_options, $fields, TRUE); |
|
50 | + } |
|
50 | 51 | } |
51 | - } |
|
52 | 52 | } |
53 | - } |
|
54 | - return TRUE; // Completed successfully |
|
53 | + } |
|
54 | + return TRUE; // Completed successfully |
|
55 | 55 | } |
56 | 56 | |
57 | 57 | /** |
@@ -60,37 +60,37 @@ discard block |
||
60 | 60 | * Remake of views_handler_field_allterms with term name translation. |
61 | 61 | */ |
62 | 62 | function i18nviews_views_handler_field_allterms($fieldinfo, $fielddata, $value, $data) { |
63 | - if ($fieldinfo['vocabulary']) { |
|
63 | + if ($fieldinfo['vocabulary']) { |
|
64 | 64 | $terms = taxonomy_node_get_terms_by_vocabulary($data->nid, $fieldinfo['vocabulary']); |
65 | - } |
|
66 | - else { |
|
65 | + } |
|
66 | + else { |
|
67 | 67 | $terms = taxonomy_node_get_terms($data->nid); |
68 | - } |
|
69 | - // Translate all these terms. |
|
70 | - _i18ntaxonomy_translate_terms($terms); |
|
68 | + } |
|
69 | + // Translate all these terms. |
|
70 | + _i18ntaxonomy_translate_terms($terms); |
|
71 | 71 | |
72 | - if ($fielddata['options'] == 'nolink') { |
|
72 | + if ($fielddata['options'] == 'nolink') { |
|
73 | 73 | foreach ($terms as $term) { |
74 | - $links[] = check_plain($term->name); |
|
74 | + $links[] = check_plain($term->name); |
|
75 | 75 | } |
76 | 76 | $links = !empty($links) ? implode(' | ', $links) : ''; |
77 | - } |
|
78 | - else { |
|
77 | + } |
|
78 | + else { |
|
79 | 79 | $node = new stdClass(); |
80 | 80 | $node->taxonomy = $terms; |
81 | 81 | $links = theme('links', taxonomy_link('taxonomy terms', $node)); |
82 | - } |
|
83 | - return $links; |
|
82 | + } |
|
83 | + return $links; |
|
84 | 84 | } |
85 | 85 | |
86 | 86 | /** |
87 | 87 | * Implementation of hook_views_api(). |
88 | 88 | */ |
89 | 89 | function i18nviews_views_api() { |
90 | - return array( |
|
90 | + return array( |
|
91 | 91 | 'api' => '2.0', |
92 | 92 | 'path' => drupal_get_path('module', 'i18nviews') . '/includes', |
93 | - ); |
|
93 | + ); |
|
94 | 94 | } |
95 | 95 | |
96 | 96 | /** |
@@ -105,38 +105,38 @@ discard block |
||
105 | 105 | * This is just for views 2.x, next version (3.x) will use a different one |
106 | 106 | */ |
107 | 107 | function i18nviews_views_pre_view(&$view, &$display_id, &$args) { |
108 | - global $language; |
|
109 | - if (views_api_version() == '2.0' && $language->language != language_default('language')) { |
|
108 | + global $language; |
|
109 | + if (views_api_version() == '2.0' && $language->language != language_default('language')) { |
|
110 | 110 | // Also checking weird values for $display_id, see 277711 |
111 | 111 | if (!empty($view->display) && is_array($view->display) && is_string($display_id)) { |
112 | - $fields = _i18nviews_display_fields(); |
|
113 | - if(!empty($view->display[$display_id])) { |
|
112 | + $fields = _i18nviews_display_fields(); |
|
113 | + if(!empty($view->display[$display_id])) { |
|
114 | 114 | $fields = _i18nviews_localize_array($view->name, $display_id, $view->display[$display_id]->handler->options, $fields); |
115 | - } |
|
116 | - if($fields && !empty($view->display['default'])) { |
|
115 | + } |
|
116 | + if($fields && !empty($view->display['default'])) { |
|
117 | 117 | _i18nviews_localize_array($view->name, 'default', $view->display['default']->handler->options, $fields); |
118 | - } |
|
118 | + } |
|
119 | 119 | } |
120 | 120 | // Translate taxonomy fields. |
121 | 121 | // @todo I don think this works at all. |
122 | 122 | if (module_exists('i18ntaxonomy') && isset($view->field) && is_array($view->field)) { |
123 | - $translate = variable_get('i18ntaxonomy_vocabularies', array()); |
|
124 | - foreach ($view->field as $index => $data) { |
|
123 | + $translate = variable_get('i18ntaxonomy_vocabularies', array()); |
|
124 | + foreach ($view->field as $index => $data) { |
|
125 | 125 | $matches = array(); |
126 | 126 | if ($data['id'] == 'term_node.name') { |
127 | - // That's a full taxonomy box. |
|
128 | - $view->field[$index]['handler'] = 'i18ntaxonomy_views_handler_field_allterms'; |
|
127 | + // That's a full taxonomy box. |
|
128 | + $view->field[$index]['handler'] = 'i18ntaxonomy_views_handler_field_allterms'; |
|
129 | 129 | } |
130 | 130 | elseif (preg_match("/term_node_(\d+)\.name/", $data['id'], $matches)) { |
131 | - $vid = $matches[1]; |
|
132 | - if ($translate[$vid]) { |
|
131 | + $vid = $matches[1]; |
|
132 | + if ($translate[$vid]) { |
|
133 | 133 | // Set new handler for this field. |
134 | 134 | $view->field[$index]['handler'] = 'i18ntaxonomy_views_handler_field_allterms'; |
135 | - } |
|
135 | + } |
|
136 | + } |
|
136 | 137 | } |
137 | - } |
|
138 | 138 | } |
139 | - } |
|
139 | + } |
|
140 | 140 | } |
141 | 141 | |
142 | 142 | /** |
@@ -146,7 +146,7 @@ discard block |
||
146 | 146 | * Array of field names. |
147 | 147 | */ |
148 | 148 | function _i18nviews_display_fields() { |
149 | - return array('title', 'header', 'footer', 'empty'); |
|
149 | + return array('title', 'header', 'footer', 'empty'); |
|
150 | 150 | } |
151 | 151 | |
152 | 152 | /** |
@@ -155,21 +155,21 @@ discard block |
||
155 | 155 | * We get the translated fields out of the array so they are not translated again. |
156 | 156 | */ |
157 | 157 | function _i18nviews_localize_array($name, $group, &$data, $field_names, $update = FALSE) { |
158 | - $translated = array(); |
|
159 | - foreach ($field_names as $field) { |
|
158 | + $translated = array(); |
|
159 | + foreach ($field_names as $field) { |
|
160 | 160 | if (!empty($data[$field])) { |
161 | - if ($update) { |
|
161 | + if ($update) { |
|
162 | 162 | $format = isset($data[$field . '_format']) ? $data[$field . '_format'] : NULL; |
163 | 163 | i18nstrings_update("views:$name:$group:$field", $data[$field], $format); |
164 | - } |
|
165 | - else { |
|
164 | + } |
|
165 | + else { |
|
166 | 166 | $data[$field] = i18nstrings("views:$name:$group:$field", $data[$field]); |
167 | 167 | $translated[] = $field; |
168 | - } |
|
168 | + } |
|
169 | 169 | } |
170 | - } |
|
171 | - // Return remaining field names |
|
172 | - return array_diff($field_names, $translated); |
|
170 | + } |
|
171 | + // Return remaining field names |
|
172 | + return array_diff($field_names, $translated); |
|
173 | 173 | } |
174 | 174 | |
175 | 175 | /** |
@@ -178,15 +178,15 @@ discard block |
||
178 | 178 | * We cannot play with object 2 array conversion because some are real typed objects. |
179 | 179 | */ |
180 | 180 | function _i18nviews_localize_object($name, $group, &$data, &$field_names, $trim = FALSE) { |
181 | - $translated = array(); |
|
182 | - foreach ($field_names as $field) { |
|
181 | + $translated = array(); |
|
182 | + foreach ($field_names as $field) { |
|
183 | 183 | if (!empty($data->$field)) { |
184 | - $data->$field = i18nstrings("views:$name:$group:$field", $data->$field); |
|
184 | + $data->$field = i18nstrings("views:$name:$group:$field", $data->$field); |
|
185 | + } |
|
185 | 186 | } |
186 | - } |
|
187 | - if ($trim && $translated) { |
|
187 | + if ($trim && $translated) { |
|
188 | 188 | $field_names = array_diff($field_names, $translated); |
189 | - } |
|
189 | + } |
|
190 | 190 | } |
191 | 191 | |
192 | 192 | /** |
@@ -195,7 +195,7 @@ discard block |
||
195 | 195 | * Add a submit handler to the submit button on views_ui_edit_display_form. |
196 | 196 | */ |
197 | 197 | function i18nviews_form_views_ui_edit_display_form_alter(&$form, $form_state) { |
198 | - $form['buttons']['submit']['#submit'][] = 'i18nviews_views_ui_edit_display_submit'; |
|
198 | + $form['buttons']['submit']['#submit'][] = 'i18nviews_views_ui_edit_display_submit'; |
|
199 | 199 | } |
200 | 200 | |
201 | 201 | /** |
@@ -204,13 +204,13 @@ discard block |
||
204 | 204 | * Creates or updates translation source records for specified Views fields. |
205 | 205 | */ |
206 | 206 | function i18nviews_views_ui_edit_display_submit($form, &$form_state) { |
207 | - $fields = _i18nviews_display_fields(); |
|
208 | - foreach ($fields as $field) { |
|
207 | + $fields = _i18nviews_display_fields(); |
|
208 | + foreach ($fields as $field) { |
|
209 | 209 | if (isset($form_state['values'][$field])) { |
210 | - $name = $form_state['view']->name; |
|
211 | - $group = $form_state['display_id']; |
|
212 | - $format = isset($form_state['values'][$field . '_format']) ? $form_state['values'][$field . '_format'] : NULL; |
|
213 | - i18nstrings_update("views:$name:$group:$field", $form_state['values'][$field], $format); |
|
210 | + $name = $form_state['view']->name; |
|
211 | + $group = $form_state['display_id']; |
|
212 | + $format = isset($form_state['values'][$field . '_format']) ? $form_state['values'][$field . '_format'] : NULL; |
|
213 | + i18nstrings_update("views:$name:$group:$field", $form_state['values'][$field], $format); |
|
214 | + } |
|
214 | 215 | } |
215 | - } |
|
216 | 216 | } |
@@ -15,10 +15,10 @@ discard block |
||
15 | 15 | */ |
16 | 16 | function i18nviews_help($path, $arg) { |
17 | 17 | switch ($path) { |
18 | - case 'admin/modules#description' : |
|
19 | - $output = '<p>'. t('Supports translation for views strings: title, header, footer...') .'</p>'; |
|
20 | - $output .= '<p>'. t('To search and translate strings, use the <a href="@translate-interface">translation interface</a> pages.', array('@translate-interface' => url('admin/build/translate'))) .'</p>'; |
|
21 | - return $output; |
|
18 | + case 'admin/modules#description' : |
|
19 | + $output = '<p>'. t('Supports translation for views strings: title, header, footer...') .'</p>'; |
|
20 | + $output .= '<p>'. t('To search and translate strings, use the <a href="@translate-interface">translation interface</a> pages.', array('@translate-interface' => url('admin/build/translate'))) .'</p>'; |
|
21 | + return $output; |
|
22 | 22 | } |
23 | 23 | } |
24 | 24 | |
@@ -27,12 +27,12 @@ discard block |
||
27 | 27 | */ |
28 | 28 | function i18nviews_locale($op = 'groups') { |
29 | 29 | switch ($op) { |
30 | - case 'groups': |
|
31 | - return array('views' => t('Views')); |
|
32 | - case 'info': |
|
33 | - $info['views']['refresh callback'] = 'i18nviews_locale_refresh'; |
|
34 | - $info['views']['format'] = TRUE; |
|
35 | - return $info; |
|
30 | + case 'groups': |
|
31 | + return array('views' => t('Views')); |
|
32 | + case 'info': |
|
33 | + $info['views']['refresh callback'] = 'i18nviews_locale_refresh'; |
|
34 | + $info['views']['format'] = TRUE; |
|
35 | + return $info; |
|
36 | 36 | } |
37 | 37 | } |
38 | 38 |
@@ -16,8 +16,8 @@ discard block |
||
16 | 16 | function i18nviews_help($path, $arg) { |
17 | 17 | switch ($path) { |
18 | 18 | case 'admin/modules#description' : |
19 | - $output = '<p>'. t('Supports translation for views strings: title, header, footer...') .'</p>'; |
|
20 | - $output .= '<p>'. t('To search and translate strings, use the <a href="@translate-interface">translation interface</a> pages.', array('@translate-interface' => url('admin/build/translate'))) .'</p>'; |
|
19 | + $output = '<p>'.t('Supports translation for views strings: title, header, footer...').'</p>'; |
|
20 | + $output .= '<p>'.t('To search and translate strings, use the <a href="@translate-interface">translation interface</a> pages.', array('@translate-interface' => url('admin/build/translate'))).'</p>'; |
|
21 | 21 | return $output; |
22 | 22 | } |
23 | 23 | } |
@@ -89,7 +89,7 @@ discard block |
||
89 | 89 | function i18nviews_views_api() { |
90 | 90 | return array( |
91 | 91 | 'api' => '2.0', |
92 | - 'path' => drupal_get_path('module', 'i18nviews') . '/includes', |
|
92 | + 'path' => drupal_get_path('module', 'i18nviews').'/includes', |
|
93 | 93 | ); |
94 | 94 | } |
95 | 95 | |
@@ -110,10 +110,10 @@ discard block |
||
110 | 110 | // Also checking weird values for $display_id, see 277711 |
111 | 111 | if (!empty($view->display) && is_array($view->display) && is_string($display_id)) { |
112 | 112 | $fields = _i18nviews_display_fields(); |
113 | - if(!empty($view->display[$display_id])) { |
|
113 | + if (!empty($view->display[$display_id])) { |
|
114 | 114 | $fields = _i18nviews_localize_array($view->name, $display_id, $view->display[$display_id]->handler->options, $fields); |
115 | 115 | } |
116 | - if($fields && !empty($view->display['default'])) { |
|
116 | + if ($fields && !empty($view->display['default'])) { |
|
117 | 117 | _i18nviews_localize_array($view->name, 'default', $view->display['default']->handler->options, $fields); |
118 | 118 | } |
119 | 119 | } |
@@ -159,7 +159,7 @@ discard block |
||
159 | 159 | foreach ($field_names as $field) { |
160 | 160 | if (!empty($data[$field])) { |
161 | 161 | if ($update) { |
162 | - $format = isset($data[$field . '_format']) ? $data[$field . '_format'] : NULL; |
|
162 | + $format = isset($data[$field.'_format']) ? $data[$field.'_format'] : NULL; |
|
163 | 163 | i18nstrings_update("views:$name:$group:$field", $data[$field], $format); |
164 | 164 | } |
165 | 165 | else { |
@@ -209,7 +209,7 @@ discard block |
||
209 | 209 | if (isset($form_state['values'][$field])) { |
210 | 210 | $name = $form_state['view']->name; |
211 | 211 | $group = $form_state['display_id']; |
212 | - $format = isset($form_state['values'][$field . '_format']) ? $form_state['values'][$field . '_format'] : NULL; |
|
212 | + $format = isset($form_state['values'][$field.'_format']) ? $form_state['values'][$field.'_format'] : NULL; |
|
213 | 213 | i18nstrings_update("views:$name:$group:$field", $form_state['values'][$field], $format); |
214 | 214 | } |
215 | 215 | } |
@@ -62,8 +62,7 @@ discard block |
||
62 | 62 | function i18nviews_views_handler_field_allterms($fieldinfo, $fielddata, $value, $data) { |
63 | 63 | if ($fieldinfo['vocabulary']) { |
64 | 64 | $terms = taxonomy_node_get_terms_by_vocabulary($data->nid, $fieldinfo['vocabulary']); |
65 | - } |
|
66 | - else { |
|
65 | + } else { |
|
67 | 66 | $terms = taxonomy_node_get_terms($data->nid); |
68 | 67 | } |
69 | 68 | // Translate all these terms. |
@@ -74,8 +73,7 @@ discard block |
||
74 | 73 | $links[] = check_plain($term->name); |
75 | 74 | } |
76 | 75 | $links = !empty($links) ? implode(' | ', $links) : ''; |
77 | - } |
|
78 | - else { |
|
76 | + } else { |
|
79 | 77 | $node = new stdClass(); |
80 | 78 | $node->taxonomy = $terms; |
81 | 79 | $links = theme('links', taxonomy_link('taxonomy terms', $node)); |
@@ -126,8 +124,7 @@ discard block |
||
126 | 124 | if ($data['id'] == 'term_node.name') { |
127 | 125 | // That's a full taxonomy box. |
128 | 126 | $view->field[$index]['handler'] = 'i18ntaxonomy_views_handler_field_allterms'; |
129 | - } |
|
130 | - elseif (preg_match("/term_node_(\d+)\.name/", $data['id'], $matches)) { |
|
127 | + } elseif (preg_match("/term_node_(\d+)\.name/", $data['id'], $matches)) { |
|
131 | 128 | $vid = $matches[1]; |
132 | 129 | if ($translate[$vid]) { |
133 | 130 | // Set new handler for this field. |
@@ -161,8 +158,7 @@ discard block |
||
161 | 158 | if ($update) { |
162 | 159 | $format = isset($data[$field . '_format']) ? $data[$field . '_format'] : NULL; |
163 | 160 | i18nstrings_update("views:$name:$group:$field", $data[$field], $format); |
164 | - } |
|
165 | - else { |
|
161 | + } else { |
|
166 | 162 | $data[$field] = i18nstrings("views:$name:$group:$field", $data[$field]); |
167 | 163 | $translated[] = $field; |
168 | 164 | } |
@@ -31,7 +31,7 @@ discard block |
||
31 | 31 | return array('views' => t('Views')); |
32 | 32 | case 'info': |
33 | 33 | $info['views']['refresh callback'] = 'i18nviews_locale_refresh'; |
34 | - $info['views']['format'] = TRUE; |
|
34 | + $info['views']['format'] = true; |
|
35 | 35 | return $info; |
36 | 36 | } |
37 | 37 | } |
@@ -46,12 +46,12 @@ discard block |
||
46 | 46 | $fields = _i18nviews_display_fields(); |
47 | 47 | if (!empty($view->display) && is_array($view->display)) { |
48 | 48 | foreach (array_keys($view->display) as $display_id) { |
49 | - _i18nviews_localize_array($view->name, $display_id, $view->display[$display_id]->display_options, $fields, TRUE); |
|
49 | + _i18nviews_localize_array($view->name, $display_id, $view->display[$display_id]->display_options, $fields, true); |
|
50 | 50 | } |
51 | 51 | } |
52 | 52 | } |
53 | 53 | } |
54 | - return TRUE; // Completed successfully |
|
54 | + return true; // Completed successfully |
|
55 | 55 | } |
56 | 56 | |
57 | 57 | /** |
@@ -154,12 +154,12 @@ discard block |
||
154 | 154 | * |
155 | 155 | * We get the translated fields out of the array so they are not translated again. |
156 | 156 | */ |
157 | -function _i18nviews_localize_array($name, $group, &$data, $field_names, $update = FALSE) { |
|
157 | +function _i18nviews_localize_array($name, $group, &$data, $field_names, $update = false) { |
|
158 | 158 | $translated = array(); |
159 | 159 | foreach ($field_names as $field) { |
160 | 160 | if (!empty($data[$field])) { |
161 | 161 | if ($update) { |
162 | - $format = isset($data[$field . '_format']) ? $data[$field . '_format'] : NULL; |
|
162 | + $format = isset($data[$field . '_format']) ? $data[$field . '_format'] : null; |
|
163 | 163 | i18nstrings_update("views:$name:$group:$field", $data[$field], $format); |
164 | 164 | } |
165 | 165 | else { |
@@ -177,7 +177,7 @@ discard block |
||
177 | 177 | * |
178 | 178 | * We cannot play with object 2 array conversion because some are real typed objects. |
179 | 179 | */ |
180 | -function _i18nviews_localize_object($name, $group, &$data, &$field_names, $trim = FALSE) { |
|
180 | +function _i18nviews_localize_object($name, $group, &$data, &$field_names, $trim = false) { |
|
181 | 181 | $translated = array(); |
182 | 182 | foreach ($field_names as $field) { |
183 | 183 | if (!empty($data->$field)) { |
@@ -209,7 +209,7 @@ discard block |
||
209 | 209 | if (isset($form_state['values'][$field])) { |
210 | 210 | $name = $form_state['view']->name; |
211 | 211 | $group = $form_state['display_id']; |
212 | - $format = isset($form_state['values'][$field . '_format']) ? $form_state['values'][$field . '_format'] : NULL; |
|
212 | + $format = isset($form_state['values'][$field . '_format']) ? $form_state['values'][$field . '_format'] : null; |
|
213 | 213 | i18nstrings_update("views:$name:$group:$field", $form_state['values'][$field], $format); |
214 | 214 | } |
215 | 215 | } |
@@ -161,7 +161,6 @@ |
||
161 | 161 | * |
162 | 162 | * @param array $form_state |
163 | 163 | * @param array $options |
164 | - * @param integer $active |
|
165 | 164 | * @return array |
166 | 165 | */ |
167 | 166 | function jump_quickly_form(&$form_state, $options, $menu_state) { |
@@ -12,16 +12,16 @@ discard block |
||
12 | 12 | * @return array |
13 | 13 | */ |
14 | 14 | function jump_menu() { |
15 | - $items = array(); |
|
16 | - $items['admin/settings/jump'] = array( |
|
15 | + $items = array(); |
|
16 | + $items['admin/settings/jump'] = array( |
|
17 | 17 | 'title' => 'Jump Settings', |
18 | 18 | 'description' => 'Configure Jump module settings.', |
19 | 19 | 'page callback' => 'drupal_get_form', |
20 | 20 | 'page arguments' => array('jump_settings'), |
21 | 21 | 'access callback' => 'user_access', |
22 | 22 | 'access arguments' => array('administer menu'), |
23 | - ); |
|
24 | - return $items; |
|
23 | + ); |
|
24 | + return $items; |
|
25 | 25 | } |
26 | 26 | |
27 | 27 | /** |
@@ -30,13 +30,13 @@ discard block |
||
30 | 30 | * @return string |
31 | 31 | */ |
32 | 32 | function jump_settings() { |
33 | - $form['jump_activepageinmenu'] = array( |
|
33 | + $form['jump_activepageinmenu'] = array( |
|
34 | 34 | '#type' => 'checkbox', |
35 | 35 | '#title' => t('Show active page in menu.'), |
36 | 36 | '#default_value' => variable_get('jump_activepageinmenu', 1), |
37 | 37 | '#description' => t('This setting will force the jump menu to show the current page as the default selection in the jump menu when checked. If you have a menu option that you would always like displayed at the top of the menu, like <em>Select a menu item</em>, you will want to uncheck this. This setting controls this behavior for all jump menus sitewide. You can override this setting on a block-by-block basis.'), |
38 | - ); |
|
39 | - return system_settings_form($form); |
|
38 | + ); |
|
39 | + return system_settings_form($form); |
|
40 | 40 | } |
41 | 41 | |
42 | 42 | /** |
@@ -48,64 +48,64 @@ discard block |
||
48 | 48 | * @return array |
49 | 49 | */ |
50 | 50 | function jump_block($op = 'list', $delta = 0, $edit = array()) { |
51 | - switch ($op) { |
|
51 | + switch ($op) { |
|
52 | 52 | case 'list': |
53 | 53 | $blocks = array(); |
54 | - foreach (menu_get_menus() as $name => $title) { |
|
54 | + foreach (menu_get_menus() as $name => $title) { |
|
55 | 55 | $blocks['menu-' . $name] = array( |
56 | - 'info' => t('Jump menu: !menu', array('!menu' => $name)) |
|
56 | + 'info' => t('Jump menu: !menu', array('!menu' => $name)) |
|
57 | 57 | ); |
58 | - } |
|
58 | + } |
|
59 | 59 | |
60 | - $vocs = taxonomy_get_vocabularies(); |
|
61 | - foreach ($vocs as $vid => $vocabulary) { |
|
60 | + $vocs = taxonomy_get_vocabularies(); |
|
61 | + foreach ($vocs as $vid => $vocabulary) { |
|
62 | 62 | $blocks['taxo-' . $vid] = array( |
63 | - 'info' => t('Jump menu: !voc', array('!voc' => $vocabulary->name)) |
|
63 | + 'info' => t('Jump menu: !voc', array('!voc' => $vocabulary->name)) |
|
64 | 64 | ); |
65 | - } |
|
66 | - return $blocks; |
|
65 | + } |
|
66 | + return $blocks; |
|
67 | 67 | case 'configure': |
68 | 68 | $form = array(); |
69 | - $form['block_settings']['jump_activepageinmenu_' . $delta] = array( |
|
69 | + $form['block_settings']['jump_activepageinmenu_' . $delta] = array( |
|
70 | 70 | '#type' => 'checkbox', |
71 | 71 | '#title' => t('Show active page in jump menu.'), |
72 | 72 | '#default_value' => variable_get('jump_activepageinmenu_' . $delta, 1), |
73 | 73 | '#description' => t('This setting will force the jump menu to show the current page as the default selection in this block\'s jump menu.'), |
74 | - ); |
|
75 | - // Do the rest of the form additions in hook_form_alter() since we can't do ahah here. |
|
76 | - return $form; |
|
74 | + ); |
|
75 | + // Do the rest of the form additions in hook_form_alter() since we can't do ahah here. |
|
76 | + return $form; |
|
77 | 77 | case 'save': |
78 | 78 | variable_set('jump_activepageinmenu_' . $delta, $edit['jump_activepageinmenu_' . $delta]); |
79 | - variable_set('jump_use_js_' . $delta, $edit['jump_use_js_' . $delta]); |
|
80 | - variable_set('jump_add_select_' . $delta, $edit['jump_add_select_' . $delta]); |
|
81 | - variable_set('jump_add_select_text_' . $delta, $edit['jump_add_select_text_' . $delta]); |
|
82 | - break; |
|
79 | + variable_set('jump_use_js_' . $delta, $edit['jump_use_js_' . $delta]); |
|
80 | + variable_set('jump_add_select_' . $delta, $edit['jump_add_select_' . $delta]); |
|
81 | + variable_set('jump_add_select_text_' . $delta, $edit['jump_add_select_text_' . $delta]); |
|
82 | + break; |
|
83 | 83 | case 'view': |
84 | 84 | // The first 5 characters of $delta should be one of: |
85 | 85 | // menu- |
86 | 86 | // taxo- |
87 | 87 | $subject = ''; |
88 | - $jumpmenu_type = substr($delta, 0, 4); |
|
89 | - $jumpmenu_name = substr($delta, 5); |
|
90 | - $active = jump_get_active_setting($delta); |
|
91 | - if ($jumpmenu_type == 'menu') { |
|
88 | + $jumpmenu_type = substr($delta, 0, 4); |
|
89 | + $jumpmenu_name = substr($delta, 5); |
|
90 | + $active = jump_get_active_setting($delta); |
|
91 | + if ($jumpmenu_type == 'menu') { |
|
92 | 92 | $form = jump_quickly($jumpmenu_name, 'menu', $active); |
93 | 93 | |
94 | 94 | // Use the menu label as the default block subject |
95 | 95 | $menus = menu_get_menus(); |
96 | 96 | $subject = $menus[$jumpmenu_name]; |
97 | - } |
|
98 | - else if ($jumpmenu_type == 'taxo') { |
|
97 | + } |
|
98 | + else if ($jumpmenu_type == 'taxo') { |
|
99 | 99 | $form = jump_quickly($jumpmenu_name, 'taxo', $active); |
100 | 100 | |
101 | 101 | // Use the vocabulary name as the default block subject |
102 | 102 | $vocab = taxonomy_vocabulary_load($jumpmenu_name); |
103 | 103 | $subject = $vocab->name; |
104 | - } |
|
105 | - if (variable_get('jump_use_js_' . $delta, 0) === 1) drupal_add_js(drupal_get_path('module', 'jump') . '/jump.js'); |
|
106 | - return array('subject' => $subject, 'content' => $form); |
|
107 | - break; |
|
108 | - } |
|
104 | + } |
|
105 | + if (variable_get('jump_use_js_' . $delta, 0) === 1) drupal_add_js(drupal_get_path('module', 'jump') . '/jump.js'); |
|
106 | + return array('subject' => $subject, 'content' => $form); |
|
107 | + break; |
|
108 | + } |
|
109 | 109 | } |
110 | 110 | |
111 | 111 | /** |
@@ -124,36 +124,36 @@ discard block |
||
124 | 124 | * @return array |
125 | 125 | */ |
126 | 126 | function jump_quickly($name = 'navigation', $type = 'menu', $active = -1, $override = '') { |
127 | - // Reconstruct the $delta |
|
128 | - $delta = $type . '-' . $name; |
|
129 | - if ($active === -1) { |
|
127 | + // Reconstruct the $delta |
|
128 | + $delta = $type . '-' . $name; |
|
129 | + if ($active === -1) { |
|
130 | 130 | $active = variable_get('jump_activepageinmenu', 1); |
131 | - } |
|
132 | - $menu_state = array( |
|
131 | + } |
|
132 | + $menu_state = array( |
|
133 | 133 | 'delta' => $delta, |
134 | 134 | 'active' => $active, |
135 | 135 | 'override' => $override |
136 | - ); |
|
136 | + ); |
|
137 | 137 | |
138 | - if (is_array($name)) { |
|
138 | + if (is_array($name)) { |
|
139 | 139 | $options = $name; |
140 | - } |
|
141 | - else { |
|
140 | + } |
|
141 | + else { |
|
142 | 142 | $options = array(); |
143 | 143 | if ($type == 'menu') { |
144 | - jump_menu_get_menu_options($options, $name); |
|
144 | + jump_menu_get_menu_options($options, $name); |
|
145 | 145 | } |
146 | 146 | elseif ($type == 'taxo') { |
147 | - jump_menu_get_taxo_options($options, $name); |
|
147 | + jump_menu_get_taxo_options($options, $name); |
|
148 | + } |
|
148 | 149 | } |
149 | - } |
|
150 | 150 | |
151 | - // Give each form on the page a unique id so we can handle multiple |
|
152 | - // jump forms... |
|
153 | - static $num_jump_forms = 0; |
|
154 | - $num_jump_forms++; |
|
151 | + // Give each form on the page a unique id so we can handle multiple |
|
152 | + // jump forms... |
|
153 | + static $num_jump_forms = 0; |
|
154 | + $num_jump_forms++; |
|
155 | 155 | |
156 | - return drupal_get_form('jump_quickly_form_' . $num_jump_forms, $options, $menu_state); |
|
156 | + return drupal_get_form('jump_quickly_form_' . $num_jump_forms, $options, $menu_state); |
|
157 | 157 | } |
158 | 158 | |
159 | 159 | /** |
@@ -165,43 +165,43 @@ discard block |
||
165 | 165 | * @return array |
166 | 166 | */ |
167 | 167 | function jump_quickly_form(&$form_state, $options, $menu_state) { |
168 | - $default = ''; |
|
169 | - if ($menu_state['active'] === 1) { |
|
168 | + $default = ''; |
|
169 | + if ($menu_state['active'] === 1) { |
|
170 | 170 | if (isset($options[$_GET['q']])) { |
171 | - $default = $_GET['q']; |
|
171 | + $default = $_GET['q']; |
|
172 | + } |
|
172 | 173 | } |
173 | - } |
|
174 | - if ($menu_state['override']) { |
|
174 | + if ($menu_state['override']) { |
|
175 | 175 | $default = $menu_state['override']; |
176 | - } |
|
176 | + } |
|
177 | 177 | |
178 | - $form = array(); |
|
179 | - $form['#submit'][] = 'jump_quickly_form_submit'; |
|
180 | - $form['#theme'] = 'jump_quickly_form'; |
|
181 | - $form['#attributes']['class'] = 'jump-quickly'; |
|
182 | - $form['jump_goto'] = array( |
|
178 | + $form = array(); |
|
179 | + $form['#submit'][] = 'jump_quickly_form_submit'; |
|
180 | + $form['#theme'] = 'jump_quickly_form'; |
|
181 | + $form['#attributes']['class'] = 'jump-quickly'; |
|
182 | + $form['jump_goto'] = array( |
|
183 | 183 | '#type' => 'select', |
184 | 184 | '#default_value' => $default, |
185 | 185 | '#options' => $options |
186 | - ); |
|
187 | - $form['submit'] = array( |
|
186 | + ); |
|
187 | + $form['submit'] = array( |
|
188 | 188 | '#type' => 'submit', |
189 | 189 | '#value' => t('Go') |
190 | - ); |
|
191 | - if (variable_get('jump_use_js_' . $menu_state['delta'], 0) === 1) { |
|
190 | + ); |
|
191 | + if (variable_get('jump_use_js_' . $menu_state['delta'], 0) === 1) { |
|
192 | 192 | // Give each menu a unique name. |
193 | 193 | $form['#attributes']['name'] = 'jumpquickly' . $menu_state['delta']; |
194 | 194 | $form['#attributes']['class'] .= ' js-enabled'; |
195 | 195 | // unset($form['submit']); |
196 | 196 | if (variable_get('jump_add_select_' . $menu_state['delta'], 0) === 1) { |
197 | - $form['jump_goto']['#attributes']['class'] = 'first-no-jump'; |
|
198 | - // Add the extra empty select option to the top of the array. |
|
199 | - $form['jump_goto']['#options'] = array('' => variable_get('jump_add_select_text_' . $menu_state['delta'], t('Select Option'))) + $options; |
|
200 | - $form['jump_goto']['#default_value'] = (array_key_exists($default, $options)) ? $default : ''; |
|
197 | + $form['jump_goto']['#attributes']['class'] = 'first-no-jump'; |
|
198 | + // Add the extra empty select option to the top of the array. |
|
199 | + $form['jump_goto']['#options'] = array('' => variable_get('jump_add_select_text_' . $menu_state['delta'], t('Select Option'))) + $options; |
|
200 | + $form['jump_goto']['#default_value'] = (array_key_exists($default, $options)) ? $default : ''; |
|
201 | + } |
|
201 | 202 | } |
202 | - } |
|
203 | 203 | |
204 | - return $form; |
|
204 | + return $form; |
|
205 | 205 | } |
206 | 206 | |
207 | 207 | /** |
@@ -211,15 +211,15 @@ discard block |
||
211 | 211 | * @param array $form_state |
212 | 212 | */ |
213 | 213 | function jump_quickly_form_submit($form, &$form_state) { |
214 | - if (!empty($form_state['values']['jump_goto'])) { |
|
214 | + if (!empty($form_state['values']['jump_goto'])) { |
|
215 | 215 | $fragment = explode('#', $form_state['values']['jump_goto']); |
216 | 216 | if (isset($fragment[1])) { |
217 | - drupal_goto($fragment[0], NULL, $fragment[1]); |
|
217 | + drupal_goto($fragment[0], NULL, $fragment[1]); |
|
218 | 218 | } |
219 | 219 | else { |
220 | - drupal_goto($form_state['values']['jump_goto']); |
|
220 | + drupal_goto($form_state['values']['jump_goto']); |
|
221 | + } |
|
221 | 222 | } |
222 | - } |
|
223 | 223 | } |
224 | 224 | |
225 | 225 | /** |
@@ -229,12 +229,12 @@ discard block |
||
229 | 229 | * @return string |
230 | 230 | */ |
231 | 231 | function theme_jump_quickly_form($form) { |
232 | - $output = '<div class="container-inline">'; |
|
233 | - $output .= drupal_render($form['jump_goto']); |
|
234 | - $output .= drupal_render($form['submit']); |
|
235 | - $output .= '</div>'; |
|
236 | - $output .= drupal_render($form); |
|
237 | - return $output; |
|
232 | + $output = '<div class="container-inline">'; |
|
233 | + $output .= drupal_render($form['jump_goto']); |
|
234 | + $output .= drupal_render($form['submit']); |
|
235 | + $output .= '</div>'; |
|
236 | + $output .= drupal_render($form); |
|
237 | + return $output; |
|
238 | 238 | } |
239 | 239 | |
240 | 240 | /** |
@@ -244,15 +244,15 @@ discard block |
||
244 | 244 | * @param string $name |
245 | 245 | */ |
246 | 246 | function jump_menu_get_menu_options(&$options, $name) { |
247 | - $tree = menu_tree_page_data($name); |
|
248 | - $front = variable_get('site_frontpage', 'node'); |
|
249 | - foreach ($tree as $data) { |
|
247 | + $tree = menu_tree_page_data($name); |
|
248 | + $front = variable_get('site_frontpage', 'node'); |
|
249 | + foreach ($tree as $data) { |
|
250 | 250 | if (!$data['link']['hidden']) { |
251 | - $href = ($data['link']['href'] == '<front>') ? $front : $data['link']['href']; |
|
252 | - $href = (isset($data['link']['options']['fragment'])) ? $href . '#' . $data['link']['options']['fragment'] : $href; |
|
253 | - $options[$href] = $data['link']['title']; |
|
251 | + $href = ($data['link']['href'] == '<front>') ? $front : $data['link']['href']; |
|
252 | + $href = (isset($data['link']['options']['fragment'])) ? $href . '#' . $data['link']['options']['fragment'] : $href; |
|
253 | + $options[$href] = $data['link']['title']; |
|
254 | + } |
|
254 | 255 | } |
255 | - } |
|
256 | 256 | } |
257 | 257 | |
258 | 258 | /** |
@@ -262,10 +262,10 @@ discard block |
||
262 | 262 | * @param integer $vid |
263 | 263 | */ |
264 | 264 | function jump_menu_get_taxo_options(&$options, $vid) { |
265 | - $tree = taxonomy_get_tree($vid); |
|
266 | - foreach ($tree as $term) { |
|
265 | + $tree = taxonomy_get_tree($vid); |
|
266 | + foreach ($tree as $term) { |
|
267 | 267 | $options[taxonomy_term_path($term)] = $term->name; |
268 | - } |
|
268 | + } |
|
269 | 269 | } |
270 | 270 | |
271 | 271 | /** |
@@ -276,14 +276,14 @@ discard block |
||
276 | 276 | * @return array |
277 | 277 | */ |
278 | 278 | function jump_forms($form_id) { |
279 | - // Ensure we map a callback for our form and not something else |
|
280 | - $forms = array(); |
|
281 | - if (strpos($form_id, 'jump_quickly_form') === 0) { |
|
279 | + // Ensure we map a callback for our form and not something else |
|
280 | + $forms = array(); |
|
281 | + if (strpos($form_id, 'jump_quickly_form') === 0) { |
|
282 | 282 | // Let the forms API know where to get the form data corresponding |
283 | 283 | // to this form id. |
284 | 284 | $forms[$form_id] = array('callback' => 'jump_quickly_form'); |
285 | - } |
|
286 | - return $forms; |
|
285 | + } |
|
286 | + return $forms; |
|
287 | 287 | } |
288 | 288 | |
289 | 289 | /** |
@@ -292,11 +292,11 @@ discard block |
||
292 | 292 | * @return array |
293 | 293 | */ |
294 | 294 | function jump_theme() { |
295 | - return array( |
|
295 | + return array( |
|
296 | 296 | 'jump_quickly_form' => array( |
297 | - 'arguments' => array('form') |
|
297 | + 'arguments' => array('form') |
|
298 | 298 | ) |
299 | - ); |
|
299 | + ); |
|
300 | 300 | } |
301 | 301 | |
302 | 302 | /** |
@@ -308,7 +308,7 @@ discard block |
||
308 | 308 | * @param string $form_id |
309 | 309 | */ |
310 | 310 | function jump_form_alter(&$form, $form_state, $form_id) { |
311 | - switch ($form_id) { |
|
311 | + switch ($form_id) { |
|
312 | 312 | case 'block_admin_configure': |
313 | 313 | if ($form['module']['#value'] === 'jump' && function_exists('ahah_helper_register')) { |
314 | 314 | $delta = $form['delta']['#value']; |
@@ -317,45 +317,45 @@ discard block |
||
317 | 317 | $default_jump_add_select = (!isset($form_state['storage']['jump_add_select_' . $delta])) ? variable_get('jump_add_select_' . $delta, 0) : $form_state['storage']['jump_add_select_' . $delta]; |
318 | 318 | |
319 | 319 | $form['block_settings']['jump_wrapper'] = array( |
320 | - '#prefix' => '<div id="jump-wrapper">', |
|
321 | - '#suffix' => '</div>', |
|
322 | - '#type' => 'markup' |
|
320 | + '#prefix' => '<div id="jump-wrapper">', |
|
321 | + '#suffix' => '</div>', |
|
322 | + '#type' => 'markup' |
|
323 | 323 | ); |
324 | 324 | $form['block_settings']['jump_wrapper']['jump_use_js_' . $delta] = array( |
325 | - '#type' => 'checkbox', |
|
326 | - '#title' => t('Hide the submit button and use Javascript to automatically jump to the selected menu item'), |
|
327 | - '#default_value' => $default_jump_use_js, |
|
328 | - '#disabled' => ($default_jump_add_select === 1) ? TRUE : FALSE, |
|
329 | - '#ahah' => array( |
|
325 | + '#type' => 'checkbox', |
|
326 | + '#title' => t('Hide the submit button and use Javascript to automatically jump to the selected menu item'), |
|
327 | + '#default_value' => $default_jump_use_js, |
|
328 | + '#disabled' => ($default_jump_add_select === 1) ? TRUE : FALSE, |
|
329 | + '#ahah' => array( |
|
330 | 330 | 'event' => 'change', |
331 | 331 | 'path' => ahah_helper_path(array('block_settings', 'jump_wrapper')), |
332 | 332 | 'wrapper' => 'jump-wrapper', |
333 | - ), |
|
333 | + ), |
|
334 | 334 | ); |
335 | 335 | if ($default_jump_use_js === 1) { |
336 | - $form['block_settings']['jump_wrapper']['jump_add_select_' . $delta] = array( |
|
336 | + $form['block_settings']['jump_wrapper']['jump_add_select_' . $delta] = array( |
|
337 | 337 | '#type' => 'checkbox', |
338 | 338 | '#title' => t('Add an empty select option into the list of options'), |
339 | 339 | '#default_value' => $default_jump_add_select, |
340 | 340 | '#weight' => 1, |
341 | 341 | '#ahah' => array( |
342 | - 'event' => 'change', |
|
343 | - 'path' => ahah_helper_path(array('block_settings', 'jump_wrapper')), |
|
344 | - 'wrapper' => 'jump-wrapper', |
|
342 | + 'event' => 'change', |
|
343 | + 'path' => ahah_helper_path(array('block_settings', 'jump_wrapper')), |
|
344 | + 'wrapper' => 'jump-wrapper', |
|
345 | 345 | ), |
346 | - ); |
|
347 | - if ($default_jump_add_select === 1) { |
|
346 | + ); |
|
347 | + if ($default_jump_add_select === 1) { |
|
348 | 348 | $form['block_settings']['jump_wrapper']['jump_add_select_text_' . $delta] = array( |
349 | - '#type' => 'textfield', |
|
350 | - '#title' => t('Text to use for the empty select option'), |
|
351 | - '#default_value' => variable_get('jump_add_select_text_' . $delta, t('Select Option')), |
|
352 | - '#weight' => 2 |
|
349 | + '#type' => 'textfield', |
|
350 | + '#title' => t('Text to use for the empty select option'), |
|
351 | + '#default_value' => variable_get('jump_add_select_text_' . $delta, t('Select Option')), |
|
352 | + '#weight' => 2 |
|
353 | 353 | ); |
354 | - } |
|
354 | + } |
|
355 | 355 | } |
356 | - } |
|
357 | - break; |
|
358 | - } |
|
356 | + } |
|
357 | + break; |
|
358 | + } |
|
359 | 359 | } |
360 | 360 | |
361 | 361 | /** |
@@ -365,16 +365,16 @@ discard block |
||
365 | 365 | * @return integer |
366 | 366 | */ |
367 | 367 | function jump_get_active_setting($delta) { |
368 | - $active_site_default = variable_get('jump_activepageinmenu', 1); |
|
369 | - $active = variable_get('jump_activepageinmenu_' . $delta, $active_site_default); |
|
370 | - return $active; |
|
368 | + $active_site_default = variable_get('jump_activepageinmenu', 1); |
|
369 | + $active = variable_get('jump_activepageinmenu_' . $delta, $active_site_default); |
|
370 | + return $active; |
|
371 | 371 | } |
372 | 372 | |
373 | 373 | /** |
374 | 374 | * Implementation of hook_views_api(). |
375 | 375 | */ |
376 | 376 | function jump_views_api() { |
377 | - return array( |
|
377 | + return array( |
|
378 | 378 | 'api' => 2, |
379 | - ); |
|
379 | + ); |
|
380 | 380 | } |
@@ -49,62 +49,62 @@ discard block |
||
49 | 49 | */ |
50 | 50 | function jump_block($op = 'list', $delta = 0, $edit = array()) { |
51 | 51 | switch ($op) { |
52 | - case 'list': |
|
53 | - $blocks = array(); |
|
54 | - foreach (menu_get_menus() as $name => $title) { |
|
55 | - $blocks['menu-' . $name] = array( |
|
56 | - 'info' => t('Jump menu: !menu', array('!menu' => $name)) |
|
57 | - ); |
|
58 | - } |
|
52 | + case 'list': |
|
53 | + $blocks = array(); |
|
54 | + foreach (menu_get_menus() as $name => $title) { |
|
55 | + $blocks['menu-' . $name] = array( |
|
56 | + 'info' => t('Jump menu: !menu', array('!menu' => $name)) |
|
57 | + ); |
|
58 | + } |
|
59 | 59 | |
60 | - $vocs = taxonomy_get_vocabularies(); |
|
61 | - foreach ($vocs as $vid => $vocabulary) { |
|
62 | - $blocks['taxo-' . $vid] = array( |
|
63 | - 'info' => t('Jump menu: !voc', array('!voc' => $vocabulary->name)) |
|
64 | - ); |
|
65 | - } |
|
66 | - return $blocks; |
|
67 | - case 'configure': |
|
68 | - $form = array(); |
|
69 | - $form['block_settings']['jump_activepageinmenu_' . $delta] = array( |
|
70 | - '#type' => 'checkbox', |
|
71 | - '#title' => t('Show active page in jump menu.'), |
|
72 | - '#default_value' => variable_get('jump_activepageinmenu_' . $delta, 1), |
|
73 | - '#description' => t('This setting will force the jump menu to show the current page as the default selection in this block\'s jump menu.'), |
|
60 | + $vocs = taxonomy_get_vocabularies(); |
|
61 | + foreach ($vocs as $vid => $vocabulary) { |
|
62 | + $blocks['taxo-' . $vid] = array( |
|
63 | + 'info' => t('Jump menu: !voc', array('!voc' => $vocabulary->name)) |
|
74 | 64 | ); |
75 | - // Do the rest of the form additions in hook_form_alter() since we can't do ahah here. |
|
76 | - return $form; |
|
77 | - case 'save': |
|
78 | - variable_set('jump_activepageinmenu_' . $delta, $edit['jump_activepageinmenu_' . $delta]); |
|
79 | - variable_set('jump_use_js_' . $delta, $edit['jump_use_js_' . $delta]); |
|
80 | - variable_set('jump_add_select_' . $delta, $edit['jump_add_select_' . $delta]); |
|
81 | - variable_set('jump_add_select_text_' . $delta, $edit['jump_add_select_text_' . $delta]); |
|
82 | - break; |
|
83 | - case 'view': |
|
84 | - // The first 5 characters of $delta should be one of: |
|
85 | - // menu- |
|
86 | - // taxo- |
|
87 | - $subject = ''; |
|
88 | - $jumpmenu_type = substr($delta, 0, 4); |
|
89 | - $jumpmenu_name = substr($delta, 5); |
|
90 | - $active = jump_get_active_setting($delta); |
|
91 | - if ($jumpmenu_type == 'menu') { |
|
92 | - $form = jump_quickly($jumpmenu_name, 'menu', $active); |
|
65 | + } |
|
66 | + return $blocks; |
|
67 | + case 'configure': |
|
68 | + $form = array(); |
|
69 | + $form['block_settings']['jump_activepageinmenu_' . $delta] = array( |
|
70 | + '#type' => 'checkbox', |
|
71 | + '#title' => t('Show active page in jump menu.'), |
|
72 | + '#default_value' => variable_get('jump_activepageinmenu_' . $delta, 1), |
|
73 | + '#description' => t('This setting will force the jump menu to show the current page as the default selection in this block\'s jump menu.'), |
|
74 | + ); |
|
75 | + // Do the rest of the form additions in hook_form_alter() since we can't do ahah here. |
|
76 | + return $form; |
|
77 | + case 'save': |
|
78 | + variable_set('jump_activepageinmenu_' . $delta, $edit['jump_activepageinmenu_' . $delta]); |
|
79 | + variable_set('jump_use_js_' . $delta, $edit['jump_use_js_' . $delta]); |
|
80 | + variable_set('jump_add_select_' . $delta, $edit['jump_add_select_' . $delta]); |
|
81 | + variable_set('jump_add_select_text_' . $delta, $edit['jump_add_select_text_' . $delta]); |
|
82 | + break; |
|
83 | + case 'view': |
|
84 | + // The first 5 characters of $delta should be one of: |
|
85 | + // menu- |
|
86 | + // taxo- |
|
87 | + $subject = ''; |
|
88 | + $jumpmenu_type = substr($delta, 0, 4); |
|
89 | + $jumpmenu_name = substr($delta, 5); |
|
90 | + $active = jump_get_active_setting($delta); |
|
91 | + if ($jumpmenu_type == 'menu') { |
|
92 | + $form = jump_quickly($jumpmenu_name, 'menu', $active); |
|
93 | 93 | |
94 | - // Use the menu label as the default block subject |
|
95 | - $menus = menu_get_menus(); |
|
96 | - $subject = $menus[$jumpmenu_name]; |
|
97 | - } |
|
98 | - else if ($jumpmenu_type == 'taxo') { |
|
99 | - $form = jump_quickly($jumpmenu_name, 'taxo', $active); |
|
94 | + // Use the menu label as the default block subject |
|
95 | + $menus = menu_get_menus(); |
|
96 | + $subject = $menus[$jumpmenu_name]; |
|
97 | + } |
|
98 | + else if ($jumpmenu_type == 'taxo') { |
|
99 | + $form = jump_quickly($jumpmenu_name, 'taxo', $active); |
|
100 | 100 | |
101 | - // Use the vocabulary name as the default block subject |
|
102 | - $vocab = taxonomy_vocabulary_load($jumpmenu_name); |
|
103 | - $subject = $vocab->name; |
|
104 | - } |
|
105 | - if (variable_get('jump_use_js_' . $delta, 0) === 1) drupal_add_js(drupal_get_path('module', 'jump') . '/jump.js'); |
|
106 | - return array('subject' => $subject, 'content' => $form); |
|
107 | - break; |
|
101 | + // Use the vocabulary name as the default block subject |
|
102 | + $vocab = taxonomy_vocabulary_load($jumpmenu_name); |
|
103 | + $subject = $vocab->name; |
|
104 | + } |
|
105 | + if (variable_get('jump_use_js_' . $delta, 0) === 1) drupal_add_js(drupal_get_path('module', 'jump') . '/jump.js'); |
|
106 | + return array('subject' => $subject, 'content' => $form); |
|
107 | + break; |
|
108 | 108 | } |
109 | 109 | } |
110 | 110 | |
@@ -309,52 +309,52 @@ discard block |
||
309 | 309 | */ |
310 | 310 | function jump_form_alter(&$form, $form_state, $form_id) { |
311 | 311 | switch ($form_id) { |
312 | - case 'block_admin_configure': |
|
313 | - if ($form['module']['#value'] === 'jump' && function_exists('ahah_helper_register')) { |
|
314 | - $delta = $form['delta']['#value']; |
|
315 | - ahah_helper_register($form, $form_state); |
|
316 | - $default_jump_use_js = (!isset($form_state['storage']['jump_use_js_' . $delta])) ? variable_get('jump_use_js_' . $delta, 0) : $form_state['storage']['jump_use_js_' . $delta]; |
|
317 | - $default_jump_add_select = (!isset($form_state['storage']['jump_add_select_' . $delta])) ? variable_get('jump_add_select_' . $delta, 0) : $form_state['storage']['jump_add_select_' . $delta]; |
|
312 | + case 'block_admin_configure': |
|
313 | + if ($form['module']['#value'] === 'jump' && function_exists('ahah_helper_register')) { |
|
314 | + $delta = $form['delta']['#value']; |
|
315 | + ahah_helper_register($form, $form_state); |
|
316 | + $default_jump_use_js = (!isset($form_state['storage']['jump_use_js_' . $delta])) ? variable_get('jump_use_js_' . $delta, 0) : $form_state['storage']['jump_use_js_' . $delta]; |
|
317 | + $default_jump_add_select = (!isset($form_state['storage']['jump_add_select_' . $delta])) ? variable_get('jump_add_select_' . $delta, 0) : $form_state['storage']['jump_add_select_' . $delta]; |
|
318 | 318 | |
319 | - $form['block_settings']['jump_wrapper'] = array( |
|
320 | - '#prefix' => '<div id="jump-wrapper">', |
|
321 | - '#suffix' => '</div>', |
|
322 | - '#type' => 'markup' |
|
323 | - ); |
|
324 | - $form['block_settings']['jump_wrapper']['jump_use_js_' . $delta] = array( |
|
319 | + $form['block_settings']['jump_wrapper'] = array( |
|
320 | + '#prefix' => '<div id="jump-wrapper">', |
|
321 | + '#suffix' => '</div>', |
|
322 | + '#type' => 'markup' |
|
323 | + ); |
|
324 | + $form['block_settings']['jump_wrapper']['jump_use_js_' . $delta] = array( |
|
325 | + '#type' => 'checkbox', |
|
326 | + '#title' => t('Hide the submit button and use Javascript to automatically jump to the selected menu item'), |
|
327 | + '#default_value' => $default_jump_use_js, |
|
328 | + '#disabled' => ($default_jump_add_select === 1) ? TRUE : FALSE, |
|
329 | + '#ahah' => array( |
|
330 | + 'event' => 'change', |
|
331 | + 'path' => ahah_helper_path(array('block_settings', 'jump_wrapper')), |
|
332 | + 'wrapper' => 'jump-wrapper', |
|
333 | + ), |
|
334 | + ); |
|
335 | + if ($default_jump_use_js === 1) { |
|
336 | + $form['block_settings']['jump_wrapper']['jump_add_select_' . $delta] = array( |
|
325 | 337 | '#type' => 'checkbox', |
326 | - '#title' => t('Hide the submit button and use Javascript to automatically jump to the selected menu item'), |
|
327 | - '#default_value' => $default_jump_use_js, |
|
328 | - '#disabled' => ($default_jump_add_select === 1) ? TRUE : FALSE, |
|
338 | + '#title' => t('Add an empty select option into the list of options'), |
|
339 | + '#default_value' => $default_jump_add_select, |
|
340 | + '#weight' => 1, |
|
329 | 341 | '#ahah' => array( |
330 | 342 | 'event' => 'change', |
331 | 343 | 'path' => ahah_helper_path(array('block_settings', 'jump_wrapper')), |
332 | 344 | 'wrapper' => 'jump-wrapper', |
333 | 345 | ), |
334 | 346 | ); |
335 | - if ($default_jump_use_js === 1) { |
|
336 | - $form['block_settings']['jump_wrapper']['jump_add_select_' . $delta] = array( |
|
337 | - '#type' => 'checkbox', |
|
338 | - '#title' => t('Add an empty select option into the list of options'), |
|
339 | - '#default_value' => $default_jump_add_select, |
|
340 | - '#weight' => 1, |
|
341 | - '#ahah' => array( |
|
342 | - 'event' => 'change', |
|
343 | - 'path' => ahah_helper_path(array('block_settings', 'jump_wrapper')), |
|
344 | - 'wrapper' => 'jump-wrapper', |
|
345 | - ), |
|
347 | + if ($default_jump_add_select === 1) { |
|
348 | + $form['block_settings']['jump_wrapper']['jump_add_select_text_' . $delta] = array( |
|
349 | + '#type' => 'textfield', |
|
350 | + '#title' => t('Text to use for the empty select option'), |
|
351 | + '#default_value' => variable_get('jump_add_select_text_' . $delta, t('Select Option')), |
|
352 | + '#weight' => 2 |
|
346 | 353 | ); |
347 | - if ($default_jump_add_select === 1) { |
|
348 | - $form['block_settings']['jump_wrapper']['jump_add_select_text_' . $delta] = array( |
|
349 | - '#type' => 'textfield', |
|
350 | - '#title' => t('Text to use for the empty select option'), |
|
351 | - '#default_value' => variable_get('jump_add_select_text_' . $delta, t('Select Option')), |
|
352 | - '#weight' => 2 |
|
353 | - ); |
|
354 | - } |
|
355 | 354 | } |
356 | 355 | } |
357 | - break; |
|
356 | + } |
|
357 | + break; |
|
358 | 358 | } |
359 | 359 | } |
360 | 360 |
@@ -52,33 +52,33 @@ discard block |
||
52 | 52 | case 'list': |
53 | 53 | $blocks = array(); |
54 | 54 | foreach (menu_get_menus() as $name => $title) { |
55 | - $blocks['menu-' . $name] = array( |
|
55 | + $blocks['menu-'.$name] = array( |
|
56 | 56 | 'info' => t('Jump menu: !menu', array('!menu' => $name)) |
57 | 57 | ); |
58 | 58 | } |
59 | 59 | |
60 | 60 | $vocs = taxonomy_get_vocabularies(); |
61 | 61 | foreach ($vocs as $vid => $vocabulary) { |
62 | - $blocks['taxo-' . $vid] = array( |
|
62 | + $blocks['taxo-'.$vid] = array( |
|
63 | 63 | 'info' => t('Jump menu: !voc', array('!voc' => $vocabulary->name)) |
64 | 64 | ); |
65 | 65 | } |
66 | 66 | return $blocks; |
67 | 67 | case 'configure': |
68 | 68 | $form = array(); |
69 | - $form['block_settings']['jump_activepageinmenu_' . $delta] = array( |
|
69 | + $form['block_settings']['jump_activepageinmenu_'.$delta] = array( |
|
70 | 70 | '#type' => 'checkbox', |
71 | 71 | '#title' => t('Show active page in jump menu.'), |
72 | - '#default_value' => variable_get('jump_activepageinmenu_' . $delta, 1), |
|
72 | + '#default_value' => variable_get('jump_activepageinmenu_'.$delta, 1), |
|
73 | 73 | '#description' => t('This setting will force the jump menu to show the current page as the default selection in this block\'s jump menu.'), |
74 | 74 | ); |
75 | 75 | // Do the rest of the form additions in hook_form_alter() since we can't do ahah here. |
76 | 76 | return $form; |
77 | 77 | case 'save': |
78 | - variable_set('jump_activepageinmenu_' . $delta, $edit['jump_activepageinmenu_' . $delta]); |
|
79 | - variable_set('jump_use_js_' . $delta, $edit['jump_use_js_' . $delta]); |
|
80 | - variable_set('jump_add_select_' . $delta, $edit['jump_add_select_' . $delta]); |
|
81 | - variable_set('jump_add_select_text_' . $delta, $edit['jump_add_select_text_' . $delta]); |
|
78 | + variable_set('jump_activepageinmenu_'.$delta, $edit['jump_activepageinmenu_'.$delta]); |
|
79 | + variable_set('jump_use_js_'.$delta, $edit['jump_use_js_'.$delta]); |
|
80 | + variable_set('jump_add_select_'.$delta, $edit['jump_add_select_'.$delta]); |
|
81 | + variable_set('jump_add_select_text_'.$delta, $edit['jump_add_select_text_'.$delta]); |
|
82 | 82 | break; |
83 | 83 | case 'view': |
84 | 84 | // The first 5 characters of $delta should be one of: |
@@ -102,7 +102,7 @@ discard block |
||
102 | 102 | $vocab = taxonomy_vocabulary_load($jumpmenu_name); |
103 | 103 | $subject = $vocab->name; |
104 | 104 | } |
105 | - if (variable_get('jump_use_js_' . $delta, 0) === 1) drupal_add_js(drupal_get_path('module', 'jump') . '/jump.js'); |
|
105 | + if (variable_get('jump_use_js_'.$delta, 0) === 1) drupal_add_js(drupal_get_path('module', 'jump').'/jump.js'); |
|
106 | 106 | return array('subject' => $subject, 'content' => $form); |
107 | 107 | break; |
108 | 108 | } |
@@ -125,7 +125,7 @@ discard block |
||
125 | 125 | */ |
126 | 126 | function jump_quickly($name = 'navigation', $type = 'menu', $active = -1, $override = '') { |
127 | 127 | // Reconstruct the $delta |
128 | - $delta = $type . '-' . $name; |
|
128 | + $delta = $type.'-'.$name; |
|
129 | 129 | if ($active === -1) { |
130 | 130 | $active = variable_get('jump_activepageinmenu', 1); |
131 | 131 | } |
@@ -153,7 +153,7 @@ discard block |
||
153 | 153 | static $num_jump_forms = 0; |
154 | 154 | $num_jump_forms++; |
155 | 155 | |
156 | - return drupal_get_form('jump_quickly_form_' . $num_jump_forms, $options, $menu_state); |
|
156 | + return drupal_get_form('jump_quickly_form_'.$num_jump_forms, $options, $menu_state); |
|
157 | 157 | } |
158 | 158 | |
159 | 159 | /** |
@@ -188,15 +188,15 @@ discard block |
||
188 | 188 | '#type' => 'submit', |
189 | 189 | '#value' => t('Go') |
190 | 190 | ); |
191 | - if (variable_get('jump_use_js_' . $menu_state['delta'], 0) === 1) { |
|
191 | + if (variable_get('jump_use_js_'.$menu_state['delta'], 0) === 1) { |
|
192 | 192 | // Give each menu a unique name. |
193 | - $form['#attributes']['name'] = 'jumpquickly' . $menu_state['delta']; |
|
193 | + $form['#attributes']['name'] = 'jumpquickly'.$menu_state['delta']; |
|
194 | 194 | $form['#attributes']['class'] .= ' js-enabled'; |
195 | 195 | // unset($form['submit']); |
196 | - if (variable_get('jump_add_select_' . $menu_state['delta'], 0) === 1) { |
|
196 | + if (variable_get('jump_add_select_'.$menu_state['delta'], 0) === 1) { |
|
197 | 197 | $form['jump_goto']['#attributes']['class'] = 'first-no-jump'; |
198 | 198 | // Add the extra empty select option to the top of the array. |
199 | - $form['jump_goto']['#options'] = array('' => variable_get('jump_add_select_text_' . $menu_state['delta'], t('Select Option'))) + $options; |
|
199 | + $form['jump_goto']['#options'] = array('' => variable_get('jump_add_select_text_'.$menu_state['delta'], t('Select Option'))) + $options; |
|
200 | 200 | $form['jump_goto']['#default_value'] = (array_key_exists($default, $options)) ? $default : ''; |
201 | 201 | } |
202 | 202 | } |
@@ -249,7 +249,7 @@ discard block |
||
249 | 249 | foreach ($tree as $data) { |
250 | 250 | if (!$data['link']['hidden']) { |
251 | 251 | $href = ($data['link']['href'] == '<front>') ? $front : $data['link']['href']; |
252 | - $href = (isset($data['link']['options']['fragment'])) ? $href . '#' . $data['link']['options']['fragment'] : $href; |
|
252 | + $href = (isset($data['link']['options']['fragment'])) ? $href.'#'.$data['link']['options']['fragment'] : $href; |
|
253 | 253 | $options[$href] = $data['link']['title']; |
254 | 254 | } |
255 | 255 | } |
@@ -313,15 +313,15 @@ discard block |
||
313 | 313 | if ($form['module']['#value'] === 'jump' && function_exists('ahah_helper_register')) { |
314 | 314 | $delta = $form['delta']['#value']; |
315 | 315 | ahah_helper_register($form, $form_state); |
316 | - $default_jump_use_js = (!isset($form_state['storage']['jump_use_js_' . $delta])) ? variable_get('jump_use_js_' . $delta, 0) : $form_state['storage']['jump_use_js_' . $delta]; |
|
317 | - $default_jump_add_select = (!isset($form_state['storage']['jump_add_select_' . $delta])) ? variable_get('jump_add_select_' . $delta, 0) : $form_state['storage']['jump_add_select_' . $delta]; |
|
316 | + $default_jump_use_js = (!isset($form_state['storage']['jump_use_js_'.$delta])) ? variable_get('jump_use_js_'.$delta, 0) : $form_state['storage']['jump_use_js_'.$delta]; |
|
317 | + $default_jump_add_select = (!isset($form_state['storage']['jump_add_select_'.$delta])) ? variable_get('jump_add_select_'.$delta, 0) : $form_state['storage']['jump_add_select_'.$delta]; |
|
318 | 318 | |
319 | 319 | $form['block_settings']['jump_wrapper'] = array( |
320 | 320 | '#prefix' => '<div id="jump-wrapper">', |
321 | 321 | '#suffix' => '</div>', |
322 | 322 | '#type' => 'markup' |
323 | 323 | ); |
324 | - $form['block_settings']['jump_wrapper']['jump_use_js_' . $delta] = array( |
|
324 | + $form['block_settings']['jump_wrapper']['jump_use_js_'.$delta] = array( |
|
325 | 325 | '#type' => 'checkbox', |
326 | 326 | '#title' => t('Hide the submit button and use Javascript to automatically jump to the selected menu item'), |
327 | 327 | '#default_value' => $default_jump_use_js, |
@@ -333,7 +333,7 @@ discard block |
||
333 | 333 | ), |
334 | 334 | ); |
335 | 335 | if ($default_jump_use_js === 1) { |
336 | - $form['block_settings']['jump_wrapper']['jump_add_select_' . $delta] = array( |
|
336 | + $form['block_settings']['jump_wrapper']['jump_add_select_'.$delta] = array( |
|
337 | 337 | '#type' => 'checkbox', |
338 | 338 | '#title' => t('Add an empty select option into the list of options'), |
339 | 339 | '#default_value' => $default_jump_add_select, |
@@ -345,10 +345,10 @@ discard block |
||
345 | 345 | ), |
346 | 346 | ); |
347 | 347 | if ($default_jump_add_select === 1) { |
348 | - $form['block_settings']['jump_wrapper']['jump_add_select_text_' . $delta] = array( |
|
348 | + $form['block_settings']['jump_wrapper']['jump_add_select_text_'.$delta] = array( |
|
349 | 349 | '#type' => 'textfield', |
350 | 350 | '#title' => t('Text to use for the empty select option'), |
351 | - '#default_value' => variable_get('jump_add_select_text_' . $delta, t('Select Option')), |
|
351 | + '#default_value' => variable_get('jump_add_select_text_'.$delta, t('Select Option')), |
|
352 | 352 | '#weight' => 2 |
353 | 353 | ); |
354 | 354 | } |
@@ -366,7 +366,7 @@ discard block |
||
366 | 366 | */ |
367 | 367 | function jump_get_active_setting($delta) { |
368 | 368 | $active_site_default = variable_get('jump_activepageinmenu', 1); |
369 | - $active = variable_get('jump_activepageinmenu_' . $delta, $active_site_default); |
|
369 | + $active = variable_get('jump_activepageinmenu_'.$delta, $active_site_default); |
|
370 | 370 | return $active; |
371 | 371 | } |
372 | 372 |
@@ -94,8 +94,7 @@ discard block |
||
94 | 94 | // Use the menu label as the default block subject |
95 | 95 | $menus = menu_get_menus(); |
96 | 96 | $subject = $menus[$jumpmenu_name]; |
97 | - } |
|
98 | - else if ($jumpmenu_type == 'taxo') { |
|
97 | + } else if ($jumpmenu_type == 'taxo') { |
|
99 | 98 | $form = jump_quickly($jumpmenu_name, 'taxo', $active); |
100 | 99 | |
101 | 100 | // Use the vocabulary name as the default block subject |
@@ -137,13 +136,11 @@ discard block |
||
137 | 136 | |
138 | 137 | if (is_array($name)) { |
139 | 138 | $options = $name; |
140 | - } |
|
141 | - else { |
|
139 | + } else { |
|
142 | 140 | $options = array(); |
143 | 141 | if ($type == 'menu') { |
144 | 142 | jump_menu_get_menu_options($options, $name); |
145 | - } |
|
146 | - elseif ($type == 'taxo') { |
|
143 | + } elseif ($type == 'taxo') { |
|
147 | 144 | jump_menu_get_taxo_options($options, $name); |
148 | 145 | } |
149 | 146 | } |
@@ -215,8 +212,7 @@ discard block |
||
215 | 212 | $fragment = explode('#', $form_state['values']['jump_goto']); |
216 | 213 | if (isset($fragment[1])) { |
217 | 214 | drupal_goto($fragment[0], NULL, $fragment[1]); |
218 | - } |
|
219 | - else { |
|
215 | + } else { |
|
220 | 216 | drupal_goto($form_state['values']['jump_goto']); |
221 | 217 | } |
222 | 218 | } |
@@ -214,7 +214,7 @@ discard block |
||
214 | 214 | if (!empty($form_state['values']['jump_goto'])) { |
215 | 215 | $fragment = explode('#', $form_state['values']['jump_goto']); |
216 | 216 | if (isset($fragment[1])) { |
217 | - drupal_goto($fragment[0], NULL, $fragment[1]); |
|
217 | + drupal_goto($fragment[0], null, $fragment[1]); |
|
218 | 218 | } |
219 | 219 | else { |
220 | 220 | drupal_goto($form_state['values']['jump_goto']); |
@@ -325,7 +325,7 @@ discard block |
||
325 | 325 | '#type' => 'checkbox', |
326 | 326 | '#title' => t('Hide the submit button and use Javascript to automatically jump to the selected menu item'), |
327 | 327 | '#default_value' => $default_jump_use_js, |
328 | - '#disabled' => ($default_jump_add_select === 1) ? TRUE : FALSE, |
|
328 | + '#disabled' => ($default_jump_add_select === 1) ? true : false, |
|
329 | 329 | '#ahah' => array( |
330 | 330 | 'event' => 'change', |
331 | 331 | 'path' => ahah_helper_path(array('block_settings', 'jump_wrapper')), |
@@ -374,7 +374,7 @@ discard block |
||
374 | 374 | * messages from. |
375 | 375 | * |
376 | 376 | * @return |
377 | - * TRUE if the user is allowed to block $account, or FALSE if not. |
|
377 | + boolean TRUE if the user is allowed to block $account, or FALSE if not. |
|
378 | 378 | */ |
379 | 379 | function _pm_block_user_access($account) { |
380 | 380 | global $user; |
@@ -399,11 +399,11 @@ discard block |
||
399 | 399 | * Author user object to check. |
400 | 400 | * @param $recipient |
401 | 401 | * Receiver user object to check. |
402 | - * @param $action |
|
402 | + * @param integer $action |
|
403 | 403 | * The action to be taken, defaults to PM_BLOCK_USER_DISALLOW_BLOCKING. |
404 | 404 | * |
405 | 405 | * @return |
406 | - * TRUE if a rule exists for the combination of author recipient and action. |
|
406 | + boolean TRUE if a rule exists for the combination of author recipient and action. |
|
407 | 407 | */ |
408 | 408 | function _pm_block_user_rule_exists($author, $recipient, $action = PM_BLOCK_USER_DISALLOW_BLOCKING) { |
409 | 409 | $block_actions = variable_get('pm_block_user_actions', array()); |
@@ -20,8 +20,8 @@ discard block |
||
20 | 20 | */ |
21 | 21 | function pm_block_user_help($path) { |
22 | 22 | switch ($path) { |
23 | - case 'admin/settings/messages/block': |
|
24 | - return '<p>' . t('This area is used to define user blocking rules for the Privatemsg module. Rules allow control of who may block messages from whom. By default all users are allowed to block messages from anyone else. However, a site may have groups of users that need to contact or get information to others, for example: the site may have administrative staff or be a forum with moderators. Groups of users are defined by roles, which can be managed on the <a href="@roles">roles configuration page</a>.', array('@roles' => url('admin/user/roles'))) . '</p>'; |
|
23 | + case 'admin/settings/messages/block': |
|
24 | + return '<p>' . t('This area is used to define user blocking rules for the Privatemsg module. Rules allow control of who may block messages from whom. By default all users are allowed to block messages from anyone else. However, a site may have groups of users that need to contact or get information to others, for example: the site may have administrative staff or be a forum with moderators. Groups of users are defined by roles, which can be managed on the <a href="@roles">roles configuration page</a>.', array('@roles' => url('admin/user/roles'))) . '</p>'; |
|
25 | 25 | } |
26 | 26 | } |
27 | 27 | |
@@ -485,14 +485,14 @@ discard block |
||
485 | 485 | function pm_block_user_form_submit($form, &$form_state) { |
486 | 486 | if ($form_state['values']['confirm']) { |
487 | 487 | switch ($form_state['values']['block_action']) { |
488 | - case 'block_user': |
|
489 | - db_query('INSERT INTO {pm_block_user} (author, recipient) VALUES (%d, %d)', $form_state['values']['author'], $form_state['values']['recipient']); |
|
490 | - drupal_set_message(t('@author has been blocked from sending you any further messages.', array('@author' => $form_state['values']['author_name']))); |
|
491 | - break; |
|
492 | - case 'unblock_user': |
|
493 | - db_query('DELETE FROM {pm_block_user} WHERE author = %d AND recipient = %d', $form_state['values']['author'], $form_state['values']['recipient']); |
|
494 | - drupal_set_message(t('@author is now allowed to send you new messages.', array('@author' => $form_state['values']['author_name']))); |
|
495 | - break; |
|
488 | + case 'block_user': |
|
489 | + db_query('INSERT INTO {pm_block_user} (author, recipient) VALUES (%d, %d)', $form_state['values']['author'], $form_state['values']['recipient']); |
|
490 | + drupal_set_message(t('@author has been blocked from sending you any further messages.', array('@author' => $form_state['values']['author_name']))); |
|
491 | + break; |
|
492 | + case 'unblock_user': |
|
493 | + db_query('DELETE FROM {pm_block_user} WHERE author = %d AND recipient = %d', $form_state['values']['author'], $form_state['values']['recipient']); |
|
494 | + drupal_set_message(t('@author is now allowed to send you new messages.', array('@author' => $form_state['values']['author_name']))); |
|
495 | + break; |
|
496 | 496 | } |
497 | 497 | } |
498 | 498 | $form_state['redirect'] = $form_state['values']['destination']; |
@@ -576,9 +576,9 @@ discard block |
||
576 | 576 | */ |
577 | 577 | function pm_block_user_user($op, &$edit, &$account, $category = NULL) { |
578 | 578 | switch ($op) { |
579 | - case 'delete': |
|
580 | - // Delete blocking rules which involve this user. |
|
581 | - db_query("DELETE FROM {pm_block_user} WHERE author = %d OR recipient = %d", $account->uid, $account->uid); |
|
582 | - break; |
|
579 | + case 'delete': |
|
580 | + // Delete blocking rules which involve this user. |
|
581 | + db_query("DELETE FROM {pm_block_user} WHERE author = %d OR recipient = %d", $account->uid, $account->uid); |
|
582 | + break; |
|
583 | 583 | } |
584 | 584 | } |
@@ -65,12 +65,12 @@ discard block |
||
65 | 65 | drupal_add_css(drupal_get_path('module', 'pm_block_user') .'/pm_block_user.css'); |
66 | 66 | // Need to cache form for AHAH, so it can be rebuilt from cache later. |
67 | 67 | $form = array( |
68 | - '#cache' => TRUE, |
|
68 | + '#cache' => true, |
|
69 | 69 | ); |
70 | 70 | |
71 | 71 | // Container for just the actions, used for AHAH. |
72 | 72 | $form['block_actions'] = array( |
73 | - '#tree' => TRUE, |
|
73 | + '#tree' => true, |
|
74 | 74 | '#prefix' => '<div id="block-actions">', |
75 | 75 | '#suffix' => '</div>', |
76 | 76 | '#theme' => 'pm_block_user_actions', |
@@ -131,24 +131,24 @@ discard block |
||
131 | 131 | * @return |
132 | 132 | * Part of a form with controls for sending, receiving and actions. |
133 | 133 | */ |
134 | -function _pm_block_user_actions_form($details, $blacklist = TRUE) { |
|
134 | +function _pm_block_user_actions_form($details, $blacklist = true) { |
|
135 | 135 | $form = array( |
136 | - '#tree' => TRUE, |
|
136 | + '#tree' => true, |
|
137 | 137 | ); |
138 | 138 | $delta = $details['delta']; |
139 | 139 | // FALSE by default, or if the user has checked the 'Enabled' check box for |
140 | 140 | // this row. |
141 | - $row_disabled = (isset($details['enabled']) ? !$details['enabled'] : FALSE); |
|
141 | + $row_disabled = (isset($details['enabled']) ? !$details['enabled'] : false); |
|
142 | 142 | |
143 | 143 | $form['author'] = array( |
144 | 144 | '#type' => 'select', |
145 | - '#options' => user_roles(TRUE), |
|
145 | + '#options' => user_roles(true), |
|
146 | 146 | '#default_value' => (isset($details['author']) ? $details['author'] : DRUPAL_AUTHENTICATED_RID), |
147 | 147 | '#disabled' => $row_disabled, |
148 | 148 | ); |
149 | 149 | $form['recipient'] = array( |
150 | 150 | '#type' => 'select', |
151 | - '#options' => user_roles(TRUE), |
|
151 | + '#options' => user_roles(true), |
|
152 | 152 | '#default_value' => (isset($details['recipient']) ? $details['recipient'] : DRUPAL_AUTHENTICATED_RID), |
153 | 153 | '#disabled' => $row_disabled, |
154 | 154 | ); |
@@ -173,7 +173,7 @@ discard block |
||
173 | 173 | |
174 | 174 | $form['enabled'] = array( |
175 | 175 | '#type' => 'checkbox', |
176 | - '#default_value' => (isset($details['enabled']) ? $details['enabled'] : TRUE), |
|
176 | + '#default_value' => (isset($details['enabled']) ? $details['enabled'] : true), |
|
177 | 177 | ); |
178 | 178 | $form['remove'] = array( |
179 | 179 | '#type' => 'submit', |
@@ -209,7 +209,7 @@ discard block |
||
209 | 209 | $form_state['pm_block_user'] = $submitted_values; |
210 | 210 | // Rebuild the form by passing our $form_state through the |
211 | 211 | // pm_block_user_settings() builder function. |
212 | - $form_state['rebuild'] = TRUE; |
|
212 | + $form_state['rebuild'] = true; |
|
213 | 213 | } |
214 | 214 | |
215 | 215 | /** |
@@ -225,7 +225,7 @@ discard block |
||
225 | 225 | $delta = $form_state['clicked_button']['#parents'][1]; |
226 | 226 | unset($submitted_values['block_actions'][$delta]); |
227 | 227 | $form_state['pm_block_user'] = $submitted_values; |
228 | - $form_state['rebuild'] = TRUE; |
|
228 | + $form_state['rebuild'] = true; |
|
229 | 229 | } |
230 | 230 | |
231 | 231 | /** |
@@ -283,14 +283,14 @@ discard block |
||
283 | 283 | */ |
284 | 284 | function pm_block_user_js() { |
285 | 285 | // See: http://drupal.org/node/331941 for the philosophy of Drupal AHAH. |
286 | - $form_state = array('storage' => NULL, 'submitted' => FALSE); |
|
286 | + $form_state = array('storage' => null, 'submitted' => false); |
|
287 | 287 | $form_build_id = $_POST['form_build_id']; |
288 | 288 | $form = form_get_cache($form_build_id, $form_state); |
289 | 289 | $args = $form['#parameters']; |
290 | 290 | $form_id = array_shift($args); |
291 | 291 | $form['#post'] = $_POST; |
292 | - $form['#redirect'] = FALSE; |
|
293 | - $form['#programmed'] = FALSE; |
|
292 | + $form['#redirect'] = false; |
|
293 | + $form['#programmed'] = false; |
|
294 | 294 | $form_state['post'] = $_POST; |
295 | 295 | drupal_process_form($form_id, $form, $form_state); |
296 | 296 | $form = drupal_rebuild_form($form_id, $form_state, $args, $form_build_id); |
@@ -300,8 +300,8 @@ discard block |
||
300 | 300 | |
301 | 301 | // Hack to make behaviours attach to new HTML controls (delete buttons in |
302 | 302 | // this case). |
303 | - $javascript = drupal_add_js(NULL, NULL, 'header'); |
|
304 | - drupal_json(array('status' => TRUE, 'data' => $output)); |
|
303 | + $javascript = drupal_add_js(null, null, 'header'); |
|
304 | + drupal_json(array('status' => true, 'data' => $output)); |
|
305 | 305 | } |
306 | 306 | |
307 | 307 | /** |
@@ -310,7 +310,7 @@ discard block |
||
310 | 310 | function pm_block_user_theme() { |
311 | 311 | return array( |
312 | 312 | 'pm_block_user_actions' => array( |
313 | - 'arguments' => array('form' => NULL), |
|
313 | + 'arguments' => array('form' => null), |
|
314 | 314 | ), |
315 | 315 | ); |
316 | 316 | } |
@@ -379,12 +379,12 @@ discard block |
||
379 | 379 | function _pm_block_user_access($account) { |
380 | 380 | global $user; |
381 | 381 | if (!privatemsg_user_access('read privatemsg', $user)) { |
382 | - return FALSE; |
|
382 | + return false; |
|
383 | 383 | } |
384 | 384 | if (_pm_block_user_rule_exists($account, $user, PM_BLOCK_USER_DISALLOW_BLOCKING)) { |
385 | - return FALSE; |
|
385 | + return false; |
|
386 | 386 | } |
387 | - return TRUE; |
|
387 | + return true; |
|
388 | 388 | } |
389 | 389 | |
390 | 390 | /** |
@@ -425,10 +425,10 @@ discard block |
||
425 | 425 | } |
426 | 426 | // The author has a role matching the rule and so does the recipient. |
427 | 427 | if (isset($author->roles[$details['author']]) && isset($recipient->roles[$details['recipient']])) { |
428 | - return TRUE; |
|
428 | + return true; |
|
429 | 429 | } |
430 | 430 | } |
431 | - return FALSE; |
|
431 | + return false; |
|
432 | 432 | } |
433 | 433 | |
434 | 434 | function pm_block_user_form($form_state, $author) { |
@@ -574,7 +574,7 @@ discard block |
||
574 | 574 | /** |
575 | 575 | * Implement hook_user(). |
576 | 576 | */ |
577 | -function pm_block_user_user($op, &$edit, &$account, $category = NULL) { |
|
577 | +function pm_block_user_user($op, &$edit, &$account, $category = null) { |
|
578 | 578 | switch ($op) { |
579 | 579 | case 'delete': |
580 | 580 | // Delete blocking rules which involve this user. |
@@ -19,17 +19,17 @@ discard block |
||
19 | 19 | * Implements hook_help(). |
20 | 20 | */ |
21 | 21 | function pm_block_user_help($path) { |
22 | - switch ($path) { |
|
22 | + switch ($path) { |
|
23 | 23 | case 'admin/settings/messages/block': |
24 | 24 | return '<p>' . t('This area is used to define user blocking rules for the Privatemsg module. Rules allow control of who may block messages from whom. By default all users are allowed to block messages from anyone else. However, a site may have groups of users that need to contact or get information to others, for example: the site may have administrative staff or be a forum with moderators. Groups of users are defined by roles, which can be managed on the <a href="@roles">roles configuration page</a>.', array('@roles' => url('admin/user/roles'))) . '</p>'; |
25 | - } |
|
25 | + } |
|
26 | 26 | } |
27 | 27 | |
28 | 28 | /** |
29 | 29 | * Implements hook_menu(). |
30 | 30 | */ |
31 | 31 | function pm_block_user_menu() { |
32 | - $items['messages/block/%user'] = array( |
|
32 | + $items['messages/block/%user'] = array( |
|
33 | 33 | 'title' => 'Block user messages', |
34 | 34 | 'page callback' => 'drupal_get_form', |
35 | 35 | 'page arguments' => array('pm_block_user_form', 2), |
@@ -37,61 +37,61 @@ discard block |
||
37 | 37 | 'access arguments' => array(2), |
38 | 38 | 'type' => MENU_CALLBACK, |
39 | 39 | 'weight' => -10, |
40 | - ); |
|
40 | + ); |
|
41 | 41 | |
42 | - $items['admin/settings/messages/block'] = array( |
|
42 | + $items['admin/settings/messages/block'] = array( |
|
43 | 43 | 'title' => 'User blocking rules', |
44 | 44 | 'description' => 'Configure rules for which users may block each other.', |
45 | 45 | 'page callback' => 'drupal_get_form', |
46 | 46 | 'page arguments' => array('pm_block_user_settings'), |
47 | 47 | 'access arguments' => array('administer privatemsg settings'), |
48 | 48 | 'type' => MENU_LOCAL_TASK, |
49 | - ); |
|
49 | + ); |
|
50 | 50 | |
51 | - $items['messages/block/js'] = array( |
|
51 | + $items['messages/block/js'] = array( |
|
52 | 52 | 'title' => 'Javascript block actions form', |
53 | 53 | 'page callback' => 'pm_block_user_js', |
54 | 54 | 'access arguments' => array('administer privatemsg settings'), |
55 | 55 | 'type' => MENU_CALLBACK, |
56 | - ); |
|
56 | + ); |
|
57 | 57 | |
58 | - return $items; |
|
58 | + return $items; |
|
59 | 59 | } |
60 | 60 | |
61 | 61 | /** |
62 | 62 | * Menu callback for blocked user settings. |
63 | 63 | */ |
64 | 64 | function pm_block_user_settings(&$form_state) { |
65 | - drupal_add_css(drupal_get_path('module', 'pm_block_user') .'/pm_block_user.css'); |
|
66 | - // Need to cache form for AHAH, so it can be rebuilt from cache later. |
|
67 | - $form = array( |
|
65 | + drupal_add_css(drupal_get_path('module', 'pm_block_user') .'/pm_block_user.css'); |
|
66 | + // Need to cache form for AHAH, so it can be rebuilt from cache later. |
|
67 | + $form = array( |
|
68 | 68 | '#cache' => TRUE, |
69 | - ); |
|
69 | + ); |
|
70 | 70 | |
71 | - // Container for just the actions, used for AHAH. |
|
72 | - $form['block_actions'] = array( |
|
71 | + // Container for just the actions, used for AHAH. |
|
72 | + $form['block_actions'] = array( |
|
73 | 73 | '#tree' => TRUE, |
74 | 74 | '#prefix' => '<div id="block-actions">', |
75 | 75 | '#suffix' => '</div>', |
76 | 76 | '#theme' => 'pm_block_user_actions', |
77 | - ); |
|
77 | + ); |
|
78 | 78 | |
79 | - // Should we populate the form with data from $form_state or the database? |
|
80 | - if (!isset($form_state['pm_block_user']['block_actions'])) { |
|
79 | + // Should we populate the form with data from $form_state or the database? |
|
80 | + if (!isset($form_state['pm_block_user']['block_actions'])) { |
|
81 | 81 | $block_actions = variable_get('pm_block_user_actions', array()); |
82 | - } |
|
83 | - else { |
|
82 | + } |
|
83 | + else { |
|
84 | 84 | $block_actions = $form_state['pm_block_user']['block_actions']; |
85 | - } |
|
86 | - // Work through each rule, adding it as a new element in |
|
87 | - // $form['block_actions'] ready to be themed later. |
|
88 | - foreach ($block_actions as $delta => $details) { |
|
85 | + } |
|
86 | + // Work through each rule, adding it as a new element in |
|
87 | + // $form['block_actions'] ready to be themed later. |
|
88 | + foreach ($block_actions as $delta => $details) { |
|
89 | 89 | $details['delta'] = $delta; |
90 | 90 | $form['block_actions'][$delta] = _pm_block_user_actions_form($details); |
91 | - } |
|
91 | + } |
|
92 | 92 | |
93 | - // The magic AHAH callback button that adds more rows. |
|
94 | - $form['pm_block_actions_more'] = array( |
|
93 | + // The magic AHAH callback button that adds more rows. |
|
94 | + $form['pm_block_actions_more'] = array( |
|
95 | 95 | '#type' => 'submit', |
96 | 96 | '#value' => t('More'), |
97 | 97 | '#weight' => 1, |
@@ -99,20 +99,20 @@ discard block |
||
99 | 99 | '#suffix' => '<label for="edit-pm-block-actions-more">' . t('Add new rule') . '</label></div>', |
100 | 100 | '#submit' => array('pm_block_user_more_submit'), |
101 | 101 | '#ahah' => array( |
102 | - 'path' => 'messages/block/js', |
|
103 | - 'wrapper' => 'block-actions', |
|
104 | - 'method' => 'replace', |
|
105 | - 'effect' => 'fade', |
|
102 | + 'path' => 'messages/block/js', |
|
103 | + 'wrapper' => 'block-actions', |
|
104 | + 'method' => 'replace', |
|
105 | + 'effect' => 'fade', |
|
106 | 106 | ), |
107 | - ); |
|
107 | + ); |
|
108 | 108 | |
109 | - $form['submit_form'] = array( |
|
109 | + $form['submit_form'] = array( |
|
110 | 110 | '#type' => 'submit', |
111 | 111 | '#weight' => 10, |
112 | 112 | '#value' => t('Save configuration'), |
113 | - ); |
|
113 | + ); |
|
114 | 114 | |
115 | - return $form; |
|
115 | + return $form; |
|
116 | 116 | } |
117 | 117 | |
118 | 118 | /** |
@@ -132,50 +132,50 @@ discard block |
||
132 | 132 | * Part of a form with controls for sending, receiving and actions. |
133 | 133 | */ |
134 | 134 | function _pm_block_user_actions_form($details, $blacklist = TRUE) { |
135 | - $form = array( |
|
135 | + $form = array( |
|
136 | 136 | '#tree' => TRUE, |
137 | - ); |
|
138 | - $delta = $details['delta']; |
|
139 | - // FALSE by default, or if the user has checked the 'Enabled' check box for |
|
140 | - // this row. |
|
141 | - $row_disabled = (isset($details['enabled']) ? !$details['enabled'] : FALSE); |
|
137 | + ); |
|
138 | + $delta = $details['delta']; |
|
139 | + // FALSE by default, or if the user has checked the 'Enabled' check box for |
|
140 | + // this row. |
|
141 | + $row_disabled = (isset($details['enabled']) ? !$details['enabled'] : FALSE); |
|
142 | 142 | |
143 | - $form['author'] = array( |
|
143 | + $form['author'] = array( |
|
144 | 144 | '#type' => 'select', |
145 | 145 | '#options' => user_roles(TRUE), |
146 | 146 | '#default_value' => (isset($details['author']) ? $details['author'] : DRUPAL_AUTHENTICATED_RID), |
147 | 147 | '#disabled' => $row_disabled, |
148 | - ); |
|
149 | - $form['recipient'] = array( |
|
148 | + ); |
|
149 | + $form['recipient'] = array( |
|
150 | 150 | '#type' => 'select', |
151 | 151 | '#options' => user_roles(TRUE), |
152 | 152 | '#default_value' => (isset($details['recipient']) ? $details['recipient'] : DRUPAL_AUTHENTICATED_RID), |
153 | 153 | '#disabled' => $row_disabled, |
154 | - ); |
|
154 | + ); |
|
155 | 155 | |
156 | - // Provide different action radios if we're using a whitelist or a blacklist. |
|
157 | - if ($blacklist) { |
|
156 | + // Provide different action radios if we're using a whitelist or a blacklist. |
|
157 | + if ($blacklist) { |
|
158 | 158 | $options = array( |
159 | - PM_BLOCK_USER_DISALLOW_BLOCKING => t('Disallow blocking author'), |
|
160 | - PM_BLOCK_USER_DISALLOW_SENDING => t('Disallow sending message'), |
|
159 | + PM_BLOCK_USER_DISALLOW_BLOCKING => t('Disallow blocking author'), |
|
160 | + PM_BLOCK_USER_DISALLOW_SENDING => t('Disallow sending message'), |
|
161 | 161 | ); |
162 | 162 | $default_value = (isset($details['action']) ? $details['action'] : PM_BLOCK_USER_DISALLOW_BLOCKING); |
163 | - } |
|
164 | - else { |
|
163 | + } |
|
164 | + else { |
|
165 | 165 | // @todo: add whitelist options/default_value here. |
166 | - } |
|
167 | - $form['action'] = array( |
|
166 | + } |
|
167 | + $form['action'] = array( |
|
168 | 168 | '#type' => 'radios', |
169 | 169 | '#options' => $options, |
170 | 170 | '#disabled' => $row_disabled, |
171 | 171 | '#default_value' => $default_value, |
172 | - ); |
|
172 | + ); |
|
173 | 173 | |
174 | - $form['enabled'] = array( |
|
174 | + $form['enabled'] = array( |
|
175 | 175 | '#type' => 'checkbox', |
176 | 176 | '#default_value' => (isset($details['enabled']) ? $details['enabled'] : TRUE), |
177 | - ); |
|
178 | - $form['remove'] = array( |
|
177 | + ); |
|
178 | + $form['remove'] = array( |
|
179 | 179 | '#type' => 'submit', |
180 | 180 | '#submit' => array('pm_block_user_remove_submit'), |
181 | 181 | '#value' => t('Remove'), |
@@ -183,14 +183,14 @@ discard block |
||
183 | 183 | '#prefix' => '<div id="remove-rule-button">', |
184 | 184 | '#suffix' => '<label for="edit-remove">' . t('Remove rule') . '</label></div>', |
185 | 185 | '#ahah' => array( |
186 | - 'path' => 'messages/block/js', |
|
187 | - 'wrapper' => 'block-actions', |
|
188 | - 'method' => 'replace', |
|
189 | - 'effect' => 'fade', |
|
186 | + 'path' => 'messages/block/js', |
|
187 | + 'wrapper' => 'block-actions', |
|
188 | + 'method' => 'replace', |
|
189 | + 'effect' => 'fade', |
|
190 | 190 | ), |
191 | - ); |
|
191 | + ); |
|
192 | 192 | |
193 | - return $form; |
|
193 | + return $form; |
|
194 | 194 | } |
195 | 195 | |
196 | 196 | /** |
@@ -199,17 +199,17 @@ discard block |
||
199 | 199 | * @see pm_block_user_remove_submit() |
200 | 200 | */ |
201 | 201 | function pm_block_user_more_submit($form, &$form_state) { |
202 | - unset($form_state['submit_handlers']); |
|
203 | - form_execute_handlers('submit', $form, $form_state); |
|
204 | - // Get the submitted actions, then put them into a special area of |
|
205 | - // the $form_state. |
|
206 | - $submitted_values = $form_state['values']; |
|
207 | - // Add an empty action. |
|
208 | - $submitted_values['block_actions'][] = array(); |
|
209 | - $form_state['pm_block_user'] = $submitted_values; |
|
210 | - // Rebuild the form by passing our $form_state through the |
|
211 | - // pm_block_user_settings() builder function. |
|
212 | - $form_state['rebuild'] = TRUE; |
|
202 | + unset($form_state['submit_handlers']); |
|
203 | + form_execute_handlers('submit', $form, $form_state); |
|
204 | + // Get the submitted actions, then put them into a special area of |
|
205 | + // the $form_state. |
|
206 | + $submitted_values = $form_state['values']; |
|
207 | + // Add an empty action. |
|
208 | + $submitted_values['block_actions'][] = array(); |
|
209 | + $form_state['pm_block_user'] = $submitted_values; |
|
210 | + // Rebuild the form by passing our $form_state through the |
|
211 | + // pm_block_user_settings() builder function. |
|
212 | + $form_state['rebuild'] = TRUE; |
|
213 | 213 | } |
214 | 214 | |
215 | 215 | /** |
@@ -218,33 +218,33 @@ discard block |
||
218 | 218 | * @see pm_block_user_more_submit() |
219 | 219 | */ |
220 | 220 | function pm_block_user_remove_submit($form, &$form_state) { |
221 | - unset($form_state['submit_handlers']); |
|
222 | - form_execute_handlers('submit', $form, $form_state); |
|
223 | - $submitted_values = $form_state['values']; |
|
224 | - // Remove the requested action. |
|
225 | - $delta = $form_state['clicked_button']['#parents'][1]; |
|
226 | - unset($submitted_values['block_actions'][$delta]); |
|
227 | - $form_state['pm_block_user'] = $submitted_values; |
|
228 | - $form_state['rebuild'] = TRUE; |
|
221 | + unset($form_state['submit_handlers']); |
|
222 | + form_execute_handlers('submit', $form, $form_state); |
|
223 | + $submitted_values = $form_state['values']; |
|
224 | + // Remove the requested action. |
|
225 | + $delta = $form_state['clicked_button']['#parents'][1]; |
|
226 | + unset($submitted_values['block_actions'][$delta]); |
|
227 | + $form_state['pm_block_user'] = $submitted_values; |
|
228 | + $form_state['rebuild'] = TRUE; |
|
229 | 229 | } |
230 | 230 | |
231 | 231 | /** |
232 | 232 | * Submit handler for admin form. |
233 | 233 | */ |
234 | 234 | function pm_block_user_settings_submit($form, &$form_state) { |
235 | - // We don't want it to submit when we're adding/removing actions. |
|
236 | - if ($form_state['clicked_button']['#id'] == 'edit-submit-form') { |
|
235 | + // We don't want it to submit when we're adding/removing actions. |
|
236 | + if ($form_state['clicked_button']['#id'] == 'edit-submit-form') { |
|
237 | 237 | // If the form's 'block_actions' aren't set, the user has deleted all the |
238 | 238 | // rows in the table, so we save an empty array to stop errors in the form |
239 | 239 | // builder. |
240 | 240 | if (isset($form_state['values']['block_actions'])) { |
241 | - variable_set('pm_block_user_actions', _pm_block_user_settings_filter($form_state['values']['block_actions'])); |
|
241 | + variable_set('pm_block_user_actions', _pm_block_user_settings_filter($form_state['values']['block_actions'])); |
|
242 | 242 | } |
243 | 243 | else { |
244 | - variable_set('pm_block_user_actions', array()); |
|
244 | + variable_set('pm_block_user_actions', array()); |
|
245 | 245 | } |
246 | 246 | drupal_set_message(t('The configuration options have been saved.')); |
247 | - } |
|
247 | + } |
|
248 | 248 | } |
249 | 249 | |
250 | 250 | /** |
@@ -259,60 +259,60 @@ discard block |
||
259 | 259 | * @see pm_block_user_settings_submit() |
260 | 260 | */ |
261 | 261 | function _pm_block_user_settings_filter($settings) { |
262 | - // Add-in the names of any settings to be saved into the array below. |
|
263 | - $save_keys = array('author', 'recipient', 'action', 'enabled'); |
|
264 | - $matching = array(); |
|
265 | - // Run through each of the keys we want to save, creating a new array. |
|
266 | - // It's not possible to simply check for unwanted values and unset() them as |
|
267 | - // the array is multi-dimensional. |
|
268 | - foreach ($save_keys as $save_key) { |
|
262 | + // Add-in the names of any settings to be saved into the array below. |
|
263 | + $save_keys = array('author', 'recipient', 'action', 'enabled'); |
|
264 | + $matching = array(); |
|
265 | + // Run through each of the keys we want to save, creating a new array. |
|
266 | + // It's not possible to simply check for unwanted values and unset() them as |
|
267 | + // the array is multi-dimensional. |
|
268 | + foreach ($save_keys as $save_key) { |
|
269 | 269 | if (isset($settings[$save_key])) { |
270 | - $matching[$save_key] = $settings[$save_key]; |
|
270 | + $matching[$save_key] = $settings[$save_key]; |
|
271 | + } |
|
271 | 272 | } |
272 | - } |
|
273 | - if (count($matching) > 0) { |
|
273 | + if (count($matching) > 0) { |
|
274 | 274 | return $matching; |
275 | - } |
|
276 | - else { |
|
275 | + } |
|
276 | + else { |
|
277 | 277 | return array_map('_pm_block_user_settings_filter', $settings); |
278 | - } |
|
278 | + } |
|
279 | 279 | } |
280 | 280 | |
281 | 281 | /** |
282 | 282 | * Menu callback for AHAH handling. |
283 | 283 | */ |
284 | 284 | function pm_block_user_js() { |
285 | - // See: http://drupal.org/node/331941 for the philosophy of Drupal AHAH. |
|
286 | - $form_state = array('storage' => NULL, 'submitted' => FALSE); |
|
287 | - $form_build_id = $_POST['form_build_id']; |
|
288 | - $form = form_get_cache($form_build_id, $form_state); |
|
289 | - $args = $form['#parameters']; |
|
290 | - $form_id = array_shift($args); |
|
291 | - $form['#post'] = $_POST; |
|
292 | - $form['#redirect'] = FALSE; |
|
293 | - $form['#programmed'] = FALSE; |
|
294 | - $form_state['post'] = $_POST; |
|
295 | - drupal_process_form($form_id, $form, $form_state); |
|
296 | - $form = drupal_rebuild_form($form_id, $form_state, $args, $form_build_id); |
|
297 | - $output_form = $form['block_actions']; |
|
298 | - unset($output_form['#prefix'], $output_form['#suffix']); // Prevent duplicate wrappers. |
|
299 | - $output = theme('status_messages') . drupal_render($output_form); |
|
300 | - |
|
301 | - // Hack to make behaviours attach to new HTML controls (delete buttons in |
|
302 | - // this case). |
|
303 | - $javascript = drupal_add_js(NULL, NULL, 'header'); |
|
304 | - drupal_json(array('status' => TRUE, 'data' => $output)); |
|
285 | + // See: http://drupal.org/node/331941 for the philosophy of Drupal AHAH. |
|
286 | + $form_state = array('storage' => NULL, 'submitted' => FALSE); |
|
287 | + $form_build_id = $_POST['form_build_id']; |
|
288 | + $form = form_get_cache($form_build_id, $form_state); |
|
289 | + $args = $form['#parameters']; |
|
290 | + $form_id = array_shift($args); |
|
291 | + $form['#post'] = $_POST; |
|
292 | + $form['#redirect'] = FALSE; |
|
293 | + $form['#programmed'] = FALSE; |
|
294 | + $form_state['post'] = $_POST; |
|
295 | + drupal_process_form($form_id, $form, $form_state); |
|
296 | + $form = drupal_rebuild_form($form_id, $form_state, $args, $form_build_id); |
|
297 | + $output_form = $form['block_actions']; |
|
298 | + unset($output_form['#prefix'], $output_form['#suffix']); // Prevent duplicate wrappers. |
|
299 | + $output = theme('status_messages') . drupal_render($output_form); |
|
300 | + |
|
301 | + // Hack to make behaviours attach to new HTML controls (delete buttons in |
|
302 | + // this case). |
|
303 | + $javascript = drupal_add_js(NULL, NULL, 'header'); |
|
304 | + drupal_json(array('status' => TRUE, 'data' => $output)); |
|
305 | 305 | } |
306 | 306 | |
307 | 307 | /** |
308 | 308 | * Implements hook_theme(). |
309 | 309 | */ |
310 | 310 | function pm_block_user_theme() { |
311 | - return array( |
|
311 | + return array( |
|
312 | 312 | 'pm_block_user_actions' => array( |
313 | - 'arguments' => array('form' => NULL), |
|
313 | + 'arguments' => array('form' => NULL), |
|
314 | 314 | ), |
315 | - ); |
|
315 | + ); |
|
316 | 316 | } |
317 | 317 | |
318 | 318 | /** |
@@ -321,49 +321,49 @@ discard block |
||
321 | 321 | * @ingroup themeable |
322 | 322 | */ |
323 | 323 | function theme_pm_block_user_actions($form) { |
324 | - $rows = array(); |
|
325 | - $headers = array( |
|
324 | + $rows = array(); |
|
325 | + $headers = array( |
|
326 | 326 | t('If the author has the role'), |
327 | 327 | t('And the recipient has the role'), |
328 | 328 | t('Action'), |
329 | 329 | t('Enabled'), |
330 | 330 | '', |
331 | - ); |
|
332 | - $form_data = element_children($form); |
|
331 | + ); |
|
332 | + $form_data = element_children($form); |
|
333 | 333 | |
334 | - foreach ($form_data as $key) { |
|
334 | + foreach ($form_data as $key) { |
|
335 | 335 | // Build the table row. |
336 | 336 | $row = array( |
337 | - 'data' => array( |
|
337 | + 'data' => array( |
|
338 | 338 | array('data' => drupal_render($form[$key]['author'])), |
339 | 339 | array('data' => drupal_render($form[$key]['recipient'])), |
340 | 340 | array('data' => drupal_render($form[$key]['action'])), |
341 | 341 | array('data' => drupal_render($form[$key]['enabled'])), |
342 | 342 | array('data' => drupal_render($form[$key]['remove'])), |
343 | - ), |
|
343 | + ), |
|
344 | 344 | ); |
345 | 345 | |
346 | 346 | // Add additional attributes to the row, such as a class for this row. |
347 | 347 | if (isset($form[$key]['#attributes'])) { |
348 | - $row = array_merge($row, $form[$key]['#attributes']); |
|
348 | + $row = array_merge($row, $form[$key]['#attributes']); |
|
349 | 349 | } |
350 | 350 | $rows[] = $row; |
351 | - } |
|
351 | + } |
|
352 | 352 | |
353 | - // If there are no rows, output some instructions for the user. |
|
354 | - if (empty($form_data)) { |
|
353 | + // If there are no rows, output some instructions for the user. |
|
354 | + if (empty($form_data)) { |
|
355 | 355 | $rows[] = array( |
356 | - array( |
|
356 | + array( |
|
357 | 357 | 'data' => t("No rules have been added. All users may block private messages from each other. To limit which users may be blocked, click 'Add new rule'."), |
358 | 358 | 'colspan' => '5', |
359 | - ), |
|
359 | + ), |
|
360 | 360 | ); |
361 | - } |
|
361 | + } |
|
362 | 362 | |
363 | - $output = theme('table', $headers, $rows); |
|
364 | - $output .= drupal_render($form); |
|
363 | + $output = theme('table', $headers, $rows); |
|
364 | + $output .= drupal_render($form); |
|
365 | 365 | |
366 | - return $output; |
|
366 | + return $output; |
|
367 | 367 | } |
368 | 368 | |
369 | 369 | /** |
@@ -377,14 +377,14 @@ discard block |
||
377 | 377 | * TRUE if the user is allowed to block $account, or FALSE if not. |
378 | 378 | */ |
379 | 379 | function _pm_block_user_access($account) { |
380 | - global $user; |
|
381 | - if (!privatemsg_user_access('read privatemsg', $user)) { |
|
380 | + global $user; |
|
381 | + if (!privatemsg_user_access('read privatemsg', $user)) { |
|
382 | 382 | return FALSE; |
383 | - } |
|
384 | - if (_pm_block_user_rule_exists($account, $user, PM_BLOCK_USER_DISALLOW_BLOCKING)) { |
|
383 | + } |
|
384 | + if (_pm_block_user_rule_exists($account, $user, PM_BLOCK_USER_DISALLOW_BLOCKING)) { |
|
385 | 385 | return FALSE; |
386 | - } |
|
387 | - return TRUE; |
|
386 | + } |
|
387 | + return TRUE; |
|
388 | 388 | } |
389 | 389 | |
390 | 390 | /** |
@@ -406,143 +406,143 @@ discard block |
||
406 | 406 | * TRUE if a rule exists for the combination of author recipient and action. |
407 | 407 | */ |
408 | 408 | function _pm_block_user_rule_exists($author, $recipient, $action = PM_BLOCK_USER_DISALLOW_BLOCKING) { |
409 | - $block_actions = variable_get('pm_block_user_actions', array()); |
|
410 | - foreach ($block_actions as $delta => $details) { |
|
409 | + $block_actions = variable_get('pm_block_user_actions', array()); |
|
410 | + foreach ($block_actions as $delta => $details) { |
|
411 | 411 | // If this rule doesn't relate to $action, or it's disabled |
412 | 412 | // ignore it and go to next loop iteration. |
413 | 413 | if ($details['action'] != $action || !$details['enabled']) { |
414 | - continue; |
|
414 | + continue; |
|
415 | 415 | } |
416 | 416 | // There are no rules governing user one, but user one may have roles that |
417 | 417 | // affect other users, so these exceptions are narrow in scope. |
418 | 418 | // Disallow sending affects private message authors. |
419 | 419 | if ($author->uid == 1 && $action == PM_BLOCK_USER_DISALLOW_SENDING) { |
420 | - continue; |
|
420 | + continue; |
|
421 | 421 | } |
422 | 422 | // Disallow blocking affects private message recipients. |
423 | 423 | if ($recipient->uid == 1 && $action == PM_BLOCK_USER_DISALLOW_BLOCKING) { |
424 | - continue; |
|
424 | + continue; |
|
425 | 425 | } |
426 | 426 | // The author has a role matching the rule and so does the recipient. |
427 | 427 | if (isset($author->roles[$details['author']]) && isset($recipient->roles[$details['recipient']])) { |
428 | - return TRUE; |
|
428 | + return TRUE; |
|
429 | + } |
|
429 | 430 | } |
430 | - } |
|
431 | - return FALSE; |
|
431 | + return FALSE; |
|
432 | 432 | } |
433 | 433 | |
434 | 434 | function pm_block_user_form($form_state, $author) { |
435 | - global $user; |
|
435 | + global $user; |
|
436 | 436 | |
437 | - $form['author'] = array( |
|
437 | + $form['author'] = array( |
|
438 | 438 | '#type' => 'value', |
439 | 439 | '#value' => $author->uid, |
440 | - ); |
|
440 | + ); |
|
441 | 441 | $form['recipient'] = array( |
442 | 442 | '#type' => 'value', |
443 | 443 | '#value' => $user->uid, |
444 | - ); |
|
445 | - $form['author_name'] = array( |
|
444 | + ); |
|
445 | + $form['author_name'] = array( |
|
446 | 446 | '#type' => 'value', |
447 | 447 | '#value' => $author->name, |
448 | - ); |
|
449 | - $form['destination'] = array( |
|
448 | + ); |
|
449 | + $form['destination'] = array( |
|
450 | 450 | '#type' => 'value', |
451 | 451 | '#value' => isset($_GET['destination']) ? $_GET['destination'] : 'messages/', |
452 | - ); |
|
452 | + ); |
|
453 | 453 | |
454 | - if (db_result(db_query('SELECT COUNT(recipient) FROM {pm_block_user} WHERE author = %d AND recipient = %d', $author->uid, $user->uid))) { |
|
454 | + if (db_result(db_query('SELECT COUNT(recipient) FROM {pm_block_user} WHERE author = %d AND recipient = %d', $author->uid, $user->uid))) { |
|
455 | 455 | $form['block_action'] = array( |
456 | - '#type' => 'value', |
|
457 | - '#value' => 'unblock_user', |
|
456 | + '#type' => 'value', |
|
457 | + '#value' => 'unblock_user', |
|
458 | 458 | ); |
459 | 459 | return confirm_form($form, |
460 | - t('You have previously blocked "@author" from sending you any more messages. Are you sure you want to unblock this user?', array('@author' => $author->name)), |
|
461 | - isset($_GET['destination']) ? $_GET['destination'] : 'messages/', |
|
462 | - t('This action cannot be undone.'), |
|
463 | - t('Unblock @author', array('@author' => $author->name)), |
|
464 | - t('Cancel') |
|
460 | + t('You have previously blocked "@author" from sending you any more messages. Are you sure you want to unblock this user?', array('@author' => $author->name)), |
|
461 | + isset($_GET['destination']) ? $_GET['destination'] : 'messages/', |
|
462 | + t('This action cannot be undone.'), |
|
463 | + t('Unblock @author', array('@author' => $author->name)), |
|
464 | + t('Cancel') |
|
465 | 465 | ); |
466 | - } |
|
467 | - else { |
|
466 | + } |
|
467 | + else { |
|
468 | 468 | $form['block_action'] = array( |
469 | - '#type' => 'value', |
|
470 | - '#value' => 'block_user', |
|
469 | + '#type' => 'value', |
|
470 | + '#value' => 'block_user', |
|
471 | 471 | ); |
472 | 472 | return confirm_form($form, |
473 | - t('Are you sure you want to block "@author" from sending you any more messages?', array('@author' => $author->name)), |
|
474 | - isset($_GET['destination']) ? $_GET['destination'] : 'messages/', |
|
475 | - '', |
|
476 | - t('Block @author', array('@author' => $author->name)), |
|
477 | - t('Cancel') |
|
473 | + t('Are you sure you want to block "@author" from sending you any more messages?', array('@author' => $author->name)), |
|
474 | + isset($_GET['destination']) ? $_GET['destination'] : 'messages/', |
|
475 | + '', |
|
476 | + t('Block @author', array('@author' => $author->name)), |
|
477 | + t('Cancel') |
|
478 | 478 | ); |
479 | - } |
|
479 | + } |
|
480 | 480 | } |
481 | 481 | |
482 | 482 | /** |
483 | 483 | * Implements hook_form_submit(). |
484 | 484 | */ |
485 | 485 | function pm_block_user_form_submit($form, &$form_state) { |
486 | - if ($form_state['values']['confirm']) { |
|
486 | + if ($form_state['values']['confirm']) { |
|
487 | 487 | switch ($form_state['values']['block_action']) { |
488 | - case 'block_user': |
|
488 | + case 'block_user': |
|
489 | 489 | db_query('INSERT INTO {pm_block_user} (author, recipient) VALUES (%d, %d)', $form_state['values']['author'], $form_state['values']['recipient']); |
490 | 490 | drupal_set_message(t('@author has been blocked from sending you any further messages.', array('@author' => $form_state['values']['author_name']))); |
491 | - break; |
|
492 | - case 'unblock_user': |
|
491 | + break; |
|
492 | + case 'unblock_user': |
|
493 | 493 | db_query('DELETE FROM {pm_block_user} WHERE author = %d AND recipient = %d', $form_state['values']['author'], $form_state['values']['recipient']); |
494 | 494 | drupal_set_message(t('@author is now allowed to send you new messages.', array('@author' => $form_state['values']['author_name']))); |
495 | - break; |
|
495 | + break; |
|
496 | + } |
|
496 | 497 | } |
497 | - } |
|
498 | - $form_state['redirect'] = $form_state['values']['destination']; |
|
498 | + $form_state['redirect'] = $form_state['values']['destination']; |
|
499 | 499 | } |
500 | 500 | |
501 | 501 | /** |
502 | 502 | * Implements hook_privatemsg_block_message(). |
503 | 503 | */ |
504 | 504 | function pm_block_user_privatemsg_block_message($author, $recipients) { |
505 | - $blocked = array(); |
|
506 | - // Loop through each recipient and ensure there is no rule blocking this |
|
507 | - // author from sending them private messages. Use a reference, so when |
|
508 | - // user_load() is needed here the array is updated, negating the need for |
|
509 | - // further calls to user_load() later in the code. |
|
510 | - foreach (array_keys($recipients) as $uid) { |
|
505 | + $blocked = array(); |
|
506 | + // Loop through each recipient and ensure there is no rule blocking this |
|
507 | + // author from sending them private messages. Use a reference, so when |
|
508 | + // user_load() is needed here the array is updated, negating the need for |
|
509 | + // further calls to user_load() later in the code. |
|
510 | + foreach (array_keys($recipients) as $uid) { |
|
511 | 511 | |
512 | 512 | // Ensure we have a recipient user object which includes roles. |
513 | 513 | if (!isset($recipients[$uid]->roles)) { |
514 | - $recipients[$uid] = user_load($uid); |
|
514 | + $recipients[$uid] = user_load($uid); |
|
515 | 515 | } |
516 | 516 | // Note: this is checks whether the author may send the message (see third |
517 | 517 | // parameter). Further below is a check whether the recipient may block it. |
518 | 518 | if (_pm_block_user_rule_exists($author, $recipients[$uid], PM_BLOCK_USER_DISALLOW_SENDING)) { |
519 | - $blocked[] = array( |
|
519 | + $blocked[] = array( |
|
520 | 520 | 'uid' => $uid, |
521 | 521 | 'message' => t('Sorry, private messaging rules forbid sending messages to !name.', array('!name' => $recipients[$uid]->name)), |
522 | - ); |
|
522 | + ); |
|
523 | + } |
|
523 | 524 | } |
524 | - } |
|
525 | 525 | |
526 | - $args = array_merge(array($author->uid), array_keys($recipients)); |
|
527 | - $result = db_query('SELECT recipient FROM {pm_block_user} WHERE author = %d AND recipient IN ('. db_placeholders($recipients) .') GROUP BY recipient', $args); |
|
528 | - while ($row = db_fetch_array($result)) { |
|
526 | + $args = array_merge(array($author->uid), array_keys($recipients)); |
|
527 | + $result = db_query('SELECT recipient FROM {pm_block_user} WHERE author = %d AND recipient IN ('. db_placeholders($recipients) .') GROUP BY recipient', $args); |
|
528 | + while ($row = db_fetch_array($result)) { |
|
529 | 529 | $recipient = $recipients[$row['recipient']]; |
530 | 530 | // If there's a rule disallowing blocking of this message, send it anyway. |
531 | 531 | if (_pm_block_user_rule_exists($author, $recipient, PM_BLOCK_USER_DISALLOW_BLOCKING)) { |
532 | - continue; |
|
532 | + continue; |
|
533 | 533 | } |
534 | 534 | $blocked[] = array( |
535 | - 'uid' => $row['recipient'], |
|
536 | - 'message' => t('%name has chosen to not recieve any more messages from you.', array('%name' => $recipients[$row['recipient']]->name)) |
|
535 | + 'uid' => $row['recipient'], |
|
536 | + 'message' => t('%name has chosen to not recieve any more messages from you.', array('%name' => $recipients[$row['recipient']]->name)) |
|
537 | 537 | ); |
538 | - } |
|
539 | - return $blocked; |
|
538 | + } |
|
539 | + return $blocked; |
|
540 | 540 | } |
541 | 541 | |
542 | 542 | function pm_block_user_privatemsg_sql_load_alter(&$fragments, $pmid, $uid) { |
543 | - $fragments['select'][] = 'pmbu.recipient AS is_blocked'; |
|
543 | + $fragments['select'][] = 'pmbu.recipient AS is_blocked'; |
|
544 | 544 | |
545 | - $fragments['inner_join'][] = 'LEFT JOIN {pm_block_user} pmbu ON (pm.author = pmbu.author AND pmi.uid = pmbu.recipient)'; |
|
545 | + $fragments['inner_join'][] = 'LEFT JOIN {pm_block_user} pmbu ON (pm.author = pmbu.author AND pmi.uid = pmbu.recipient)'; |
|
546 | 546 | } |
547 | 547 | |
548 | 548 | /** |
@@ -558,10 +558,10 @@ discard block |
||
558 | 558 | * Implement hook_user(). |
559 | 559 | */ |
560 | 560 | function pm_block_user_user($op, &$edit, &$account, $category = NULL) { |
561 | - switch ($op) { |
|
562 | - case 'delete': |
|
561 | + switch ($op) { |
|
562 | + case 'delete': |
|
563 | 563 | // Delete blocking rules which involve this user. |
564 | 564 | db_query("DELETE FROM {pm_block_user} WHERE author = %d OR recipient = %d", $account->uid, $account->uid); |
565 | - break; |
|
566 | - } |
|
565 | + break; |
|
566 | + } |
|
567 | 567 | } |
@@ -21,7 +21,7 @@ discard block |
||
21 | 21 | function pm_block_user_help($path) { |
22 | 22 | switch ($path) { |
23 | 23 | case 'admin/settings/messages/block': |
24 | - return '<p>' . t('This area is used to define user blocking rules for the Privatemsg module. Rules allow control of who may block messages from whom. By default all users are allowed to block messages from anyone else. However, a site may have groups of users that need to contact or get information to others, for example: the site may have administrative staff or be a forum with moderators. Groups of users are defined by roles, which can be managed on the <a href="@roles">roles configuration page</a>.', array('@roles' => url('admin/user/roles'))) . '</p>'; |
|
24 | + return '<p>'.t('This area is used to define user blocking rules for the Privatemsg module. Rules allow control of who may block messages from whom. By default all users are allowed to block messages from anyone else. However, a site may have groups of users that need to contact or get information to others, for example: the site may have administrative staff or be a forum with moderators. Groups of users are defined by roles, which can be managed on the <a href="@roles">roles configuration page</a>.', array('@roles' => url('admin/user/roles'))).'</p>'; |
|
25 | 25 | } |
26 | 26 | } |
27 | 27 | |
@@ -62,7 +62,7 @@ discard block |
||
62 | 62 | * Menu callback for blocked user settings. |
63 | 63 | */ |
64 | 64 | function pm_block_user_settings(&$form_state) { |
65 | - drupal_add_css(drupal_get_path('module', 'pm_block_user') .'/pm_block_user.css'); |
|
65 | + drupal_add_css(drupal_get_path('module', 'pm_block_user').'/pm_block_user.css'); |
|
66 | 66 | // Need to cache form for AHAH, so it can be rebuilt from cache later. |
67 | 67 | $form = array( |
68 | 68 | '#cache' => TRUE, |
@@ -96,7 +96,7 @@ discard block |
||
96 | 96 | '#value' => t('More'), |
97 | 97 | '#weight' => 1, |
98 | 98 | '#prefix' => '<div id="add-rule-button">', |
99 | - '#suffix' => '<label for="edit-pm-block-actions-more">' . t('Add new rule') . '</label></div>', |
|
99 | + '#suffix' => '<label for="edit-pm-block-actions-more">'.t('Add new rule').'</label></div>', |
|
100 | 100 | '#submit' => array('pm_block_user_more_submit'), |
101 | 101 | '#ahah' => array( |
102 | 102 | 'path' => 'messages/block/js', |
@@ -164,7 +164,7 @@ discard block |
||
164 | 164 | else { |
165 | 165 | // @todo: add whitelist options/default_value here. |
166 | 166 | } |
167 | - $form['action'] = array( |
|
167 | + $form['action'] = array( |
|
168 | 168 | '#type' => 'radios', |
169 | 169 | '#options' => $options, |
170 | 170 | '#disabled' => $row_disabled, |
@@ -181,7 +181,7 @@ discard block |
||
181 | 181 | '#value' => t('Remove'), |
182 | 182 | '#attributes' => array('class' => 'remove-action'), |
183 | 183 | '#prefix' => '<div id="remove-rule-button">', |
184 | - '#suffix' => '<label for="edit-remove">' . t('Remove rule') . '</label></div>', |
|
184 | + '#suffix' => '<label for="edit-remove">'.t('Remove rule').'</label></div>', |
|
185 | 185 | '#ahah' => array( |
186 | 186 | 'path' => 'messages/block/js', |
187 | 187 | 'wrapper' => 'block-actions', |
@@ -296,7 +296,7 @@ discard block |
||
296 | 296 | $form = drupal_rebuild_form($form_id, $form_state, $args, $form_build_id); |
297 | 297 | $output_form = $form['block_actions']; |
298 | 298 | unset($output_form['#prefix'], $output_form['#suffix']); // Prevent duplicate wrappers. |
299 | - $output = theme('status_messages') . drupal_render($output_form); |
|
299 | + $output = theme('status_messages').drupal_render($output_form); |
|
300 | 300 | |
301 | 301 | // Hack to make behaviours attach to new HTML controls (delete buttons in |
302 | 302 | // this case). |
@@ -524,7 +524,7 @@ discard block |
||
524 | 524 | } |
525 | 525 | |
526 | 526 | $args = array_merge(array($author->uid), array_keys($recipients)); |
527 | - $result = db_query('SELECT recipient FROM {pm_block_user} WHERE author = %d AND recipient IN ('. db_placeholders($recipients) .') GROUP BY recipient', $args); |
|
527 | + $result = db_query('SELECT recipient FROM {pm_block_user} WHERE author = %d AND recipient IN ('.db_placeholders($recipients).') GROUP BY recipient', $args); |
|
528 | 528 | while ($row = db_fetch_array($result)) { |
529 | 529 | $recipient = $recipients[$row['recipient']]; |
530 | 530 | // If there's a rule disallowing blocking of this message, send it anyway. |
@@ -79,8 +79,7 @@ discard block |
||
79 | 79 | // Should we populate the form with data from $form_state or the database? |
80 | 80 | if (!isset($form_state['pm_block_user']['block_actions'])) { |
81 | 81 | $block_actions = variable_get('pm_block_user_actions', array()); |
82 | - } |
|
83 | - else { |
|
82 | + } else { |
|
84 | 83 | $block_actions = $form_state['pm_block_user']['block_actions']; |
85 | 84 | } |
86 | 85 | // Work through each rule, adding it as a new element in |
@@ -160,8 +159,7 @@ discard block |
||
160 | 159 | PM_BLOCK_USER_DISALLOW_SENDING => t('Disallow sending message'), |
161 | 160 | ); |
162 | 161 | $default_value = (isset($details['action']) ? $details['action'] : PM_BLOCK_USER_DISALLOW_BLOCKING); |
163 | - } |
|
164 | - else { |
|
162 | + } else { |
|
165 | 163 | // @todo: add whitelist options/default_value here. |
166 | 164 | } |
167 | 165 | $form['action'] = array( |
@@ -239,8 +237,7 @@ discard block |
||
239 | 237 | // builder. |
240 | 238 | if (isset($form_state['values']['block_actions'])) { |
241 | 239 | variable_set('pm_block_user_actions', _pm_block_user_settings_filter($form_state['values']['block_actions'])); |
242 | - } |
|
243 | - else { |
|
240 | + } else { |
|
244 | 241 | variable_set('pm_block_user_actions', array()); |
245 | 242 | } |
246 | 243 | drupal_set_message(t('The configuration options have been saved.')); |
@@ -272,8 +269,7 @@ discard block |
||
272 | 269 | } |
273 | 270 | if (count($matching) > 0) { |
274 | 271 | return $matching; |
275 | - } |
|
276 | - else { |
|
272 | + } else { |
|
277 | 273 | return array_map('_pm_block_user_settings_filter', $settings); |
278 | 274 | } |
279 | 275 | } |
@@ -463,8 +459,7 @@ discard block |
||
463 | 459 | t('Unblock @author', array('@author' => $author->name)), |
464 | 460 | t('Cancel') |
465 | 461 | ); |
466 | - } |
|
467 | - else { |
|
462 | + } else { |
|
468 | 463 | $form['block_action'] = array( |
469 | 464 | '#type' => 'value', |
470 | 465 | '#value' => 'block_user', |
@@ -148,6 +148,8 @@ |
||
148 | 148 | * Implements hook_user(). |
149 | 149 | * |
150 | 150 | * Display settings form and store its information. |
151 | + * @param string $op |
|
152 | + * @param string $category |
|
151 | 153 | */ |
152 | 154 | function pm_email_notify_user($op, &$edit, &$account, $category = NULL) { |
153 | 155 | switch ($op) { |
@@ -106,10 +106,10 @@ discard block |
||
106 | 106 | $variables = user_mail_tokens($params['recipient'], $language); |
107 | 107 | $variables = array_merge($variables, _pm_email_notify_token($params['recipient'], $params['message'], $language)); |
108 | 108 | switch ($key) { |
109 | - case 'notice': |
|
110 | - $message['subject'] = t(variable_get('pm_email_notify_subject', 'New private message at !site.'), $variables, $language->language); |
|
111 | - $message['body'] = t(variable_get('pm_email_notify_body', _pm_email_notify_default_body()), $variables, $language->language); |
|
112 | - break; |
|
109 | + case 'notice': |
|
110 | + $message['subject'] = t(variable_get('pm_email_notify_subject', 'New private message at !site.'), $variables, $language->language); |
|
111 | + $message['body'] = t(variable_get('pm_email_notify_body', _pm_email_notify_default_body()), $variables, $language->language); |
|
112 | + break; |
|
113 | 113 | } |
114 | 114 | } |
115 | 115 | |
@@ -151,42 +151,42 @@ discard block |
||
151 | 151 | */ |
152 | 152 | function pm_email_notify_user($op, &$edit, &$account, $category = NULL) { |
153 | 153 | switch ($op) { |
154 | - case 'form': |
|
155 | - if ($category == 'account' && privatemsg_user_access('read privatemsg', $account)) { |
|
156 | - $form['enable_pm_mail'] = array( |
|
157 | - '#type' => 'fieldset', |
|
158 | - '#title' => t('Privatemsg e-mail notification'), |
|
159 | - '#collapsible' => TRUE, |
|
160 | - '#collapsed' => FALSE, |
|
161 | - '#weight' => 10, |
|
162 | - ); |
|
163 | - $form['enable_pm_mail']['pm_send_notifications'] = array( |
|
164 | - '#type' => 'checkbox', |
|
165 | - '#title' => t('Receive email notification for incoming private messages'), |
|
166 | - '#default_value' => _pm_email_notify_is_enabled($account->uid), |
|
167 | - ); |
|
168 | - } |
|
169 | - return $form; |
|
154 | + case 'form': |
|
155 | + if ($category == 'account' && privatemsg_user_access('read privatemsg', $account)) { |
|
156 | + $form['enable_pm_mail'] = array( |
|
157 | + '#type' => 'fieldset', |
|
158 | + '#title' => t('Privatemsg e-mail notification'), |
|
159 | + '#collapsible' => TRUE, |
|
160 | + '#collapsed' => FALSE, |
|
161 | + '#weight' => 10, |
|
162 | + ); |
|
163 | + $form['enable_pm_mail']['pm_send_notifications'] = array( |
|
164 | + '#type' => 'checkbox', |
|
165 | + '#title' => t('Receive email notification for incoming private messages'), |
|
166 | + '#default_value' => _pm_email_notify_is_enabled($account->uid), |
|
167 | + ); |
|
168 | + } |
|
169 | + return $form; |
|
170 | 170 | |
171 | - case 'submit': |
|
172 | - if (isset($edit['pm_send_notifications']) && privatemsg_user_access('read privatemsg', $account)) { |
|
173 | - $pm_email_enabled = $edit['pm_send_notifications']; |
|
174 | - unset($edit['pm_send_notifications']); |
|
175 | - // Update database entry with user preference. |
|
176 | - $exists = db_result(db_query("SELECT 1 FROM {pm_email_notify} WHERE user_id = %d", $account->uid)); |
|
177 | - if ($exists) { |
|
178 | - // If there is an existing entry, update. |
|
179 | - db_query("UPDATE {pm_email_notify} SET email_notify_is_enabled = %d WHERE user_id = %d", $pm_email_enabled, $account->uid); |
|
180 | - } |
|
181 | - else { |
|
182 | - // If not, create a new one. |
|
183 | - db_query("INSERT INTO {pm_email_notify} (email_notify_is_enabled, user_id) VALUES (%d, %d)", $pm_email_enabled, $account->uid); |
|
184 | - } |
|
185 | - } |
|
186 | - break; |
|
171 | + case 'submit': |
|
172 | + if (isset($edit['pm_send_notifications']) && privatemsg_user_access('read privatemsg', $account)) { |
|
173 | + $pm_email_enabled = $edit['pm_send_notifications']; |
|
174 | + unset($edit['pm_send_notifications']); |
|
175 | + // Update database entry with user preference. |
|
176 | + $exists = db_result(db_query("SELECT 1 FROM {pm_email_notify} WHERE user_id = %d", $account->uid)); |
|
177 | + if ($exists) { |
|
178 | + // If there is an existing entry, update. |
|
179 | + db_query("UPDATE {pm_email_notify} SET email_notify_is_enabled = %d WHERE user_id = %d", $pm_email_enabled, $account->uid); |
|
180 | + } |
|
181 | + else { |
|
182 | + // If not, create a new one. |
|
183 | + db_query("INSERT INTO {pm_email_notify} (email_notify_is_enabled, user_id) VALUES (%d, %d)", $pm_email_enabled, $account->uid); |
|
184 | + } |
|
185 | + } |
|
186 | + break; |
|
187 | 187 | |
188 | - case 'delete': |
|
189 | - db_query("DELETE FROM {pm_email_notify} WHERE user_id = %d", $account->uid); |
|
190 | - break; |
|
188 | + case 'delete': |
|
189 | + db_query("DELETE FROM {pm_email_notify} WHERE user_id = %d", $account->uid); |
|
190 | + break; |
|
191 | 191 | } |
192 | 192 | } |
@@ -177,8 +177,7 @@ |
||
177 | 177 | if ($exists) { |
178 | 178 | // If there is an existing entry, update. |
179 | 179 | db_query("UPDATE {pm_email_notify} SET email_notify_is_enabled = %d WHERE user_id = %d", $pm_email_enabled, $account->uid); |
180 | - } |
|
181 | - else { |
|
180 | + } else { |
|
182 | 181 | // If not, create a new one. |
183 | 182 | db_query("INSERT INTO {pm_email_notify} (email_notify_is_enabled, user_id) VALUES (%d, %d)", $pm_email_enabled, $account->uid); |
184 | 183 | } |
@@ -9,7 +9,7 @@ discard block |
||
9 | 9 | * Implements hook_menu(). |
10 | 10 | */ |
11 | 11 | function pm_email_notify_menu() { |
12 | - $items['admin/settings/messages/notify'] = array( |
|
12 | + $items['admin/settings/messages/notify'] = array( |
|
13 | 13 | 'title' => 'E-mail notify', |
14 | 14 | 'description' => 'E-mail notification settings', |
15 | 15 | 'page callback' => 'drupal_get_form', |
@@ -17,47 +17,47 @@ discard block |
||
17 | 17 | 'access arguments' => array('administer privatemsg settings'), |
18 | 18 | 'type' => MENU_LOCAL_TASK, |
19 | 19 | 'weight' => 10, |
20 | - ); |
|
21 | - return $items; |
|
20 | + ); |
|
21 | + return $items; |
|
22 | 22 | } |
23 | 23 | |
24 | 24 | /** |
25 | 25 | * Menu callback for administration settings. |
26 | 26 | */ |
27 | 27 | function pm_email_notify_admin_settings_form() { |
28 | - $form['pm_email'] = array( |
|
28 | + $form['pm_email'] = array( |
|
29 | 29 | '#type' => 'fieldset', |
30 | 30 | '#title' => t('Privatemsg e-mail notification'), |
31 | 31 | '#collapsible' => FALSE, |
32 | 32 | '#collapsed' => FALSE, |
33 | - ); |
|
34 | - $form['pm_email']['pm_email_notify_default'] = array( |
|
33 | + ); |
|
34 | + $form['pm_email']['pm_email_notify_default'] = array( |
|
35 | 35 | '#type' => 'checkbox', |
36 | 36 | '#title' => t('Notify users of new private messages by default'), |
37 | 37 | '#default_value' => variable_get('pm_email_notify_default', TRUE), |
38 | 38 | '#weight' => 0, |
39 | - ); |
|
39 | + ); |
|
40 | 40 | |
41 | - $form['pm_email']['pm_email_notify_desc'] = array( |
|
41 | + $form['pm_email']['pm_email_notify_desc'] = array( |
|
42 | 42 | '#type' => 'item', |
43 | 43 | '#value' => t('Customize the email messages sent to users upon receipt of a new private message. <br />Available variables are: !author, !author_uid, !pm_subject, !pm_body, !thread, !site, !login_url, !uri, !uri_brief, !message (URL), !settings (URL), !boincuser_name, and !author_boincuser_name.'), |
44 | 44 | '#weight' => 1, |
45 | - ); |
|
45 | + ); |
|
46 | 46 | |
47 | - $form['pm_email']['pm_email_notify_subject'] = array( |
|
47 | + $form['pm_email']['pm_email_notify_subject'] = array( |
|
48 | 48 | '#type' => 'textfield', |
49 | 49 | '#title' => t('Subject of notification messages'), |
50 | 50 | '#default_value' => variable_get('pm_email_notify_subject', 'New private message at !site.'), |
51 | 51 | '#weight' => 2, |
52 | - ); |
|
52 | + ); |
|
53 | 53 | |
54 | - $form['pm_email']['pm_email_notify_body'] = array( |
|
54 | + $form['pm_email']['pm_email_notify_body'] = array( |
|
55 | 55 | '#type' => 'textarea', |
56 | 56 | '#title' => t('Body of notification messages'), |
57 | 57 | '#default_value' => variable_get('pm_email_notify_body', _pm_email_notify_default_body()), |
58 | 58 | '#weight' => 3, |
59 | - ); |
|
60 | - return system_settings_form($form); |
|
59 | + ); |
|
60 | + return system_settings_form($form); |
|
61 | 61 | } |
62 | 62 | |
63 | 63 | /** |
@@ -70,47 +70,47 @@ discard block |
||
70 | 70 | * User uid |
71 | 71 | */ |
72 | 72 | function _pm_email_notify_is_enabled($uid) { |
73 | - static $notifications = array(); |
|
74 | - // Cache the result set in case this method is executed in batched operation which will perform many unnecessary repeated selects for the same user |
|
75 | - if ( !isset($notifications[$uid]) ) { |
|
73 | + static $notifications = array(); |
|
74 | + // Cache the result set in case this method is executed in batched operation which will perform many unnecessary repeated selects for the same user |
|
75 | + if ( !isset($notifications[$uid]) ) { |
|
76 | 76 | $mail_notification = db_result(db_query('SELECT email_notify_is_enabled FROM {pm_email_notify} WHERE user_id = %d', $uid)); |
77 | 77 | if ($mail_notification === FALSE) { |
78 | - // db_result() returns FALSE if result was not found. |
|
79 | - $mail_notification = variable_get('pm_email_notify_default', TRUE); |
|
78 | + // db_result() returns FALSE if result was not found. |
|
79 | + $mail_notification = variable_get('pm_email_notify_default', TRUE); |
|
80 | 80 | } |
81 | 81 | $notifications[$uid] = $mail_notification; |
82 | - } |
|
83 | - return $notifications[$uid]; |
|
82 | + } |
|
83 | + return $notifications[$uid]; |
|
84 | 84 | } |
85 | 85 | |
86 | 86 | /** |
87 | 87 | * Implements hook_privatemsg_message_insert(). |
88 | 88 | */ |
89 | 89 | function pm_email_notify_privatemsg_message_insert($message) { |
90 | - foreach ($message['recipients'] as $recipient) { |
|
90 | + foreach ($message['recipients'] as $recipient) { |
|
91 | 91 | // check if recipient enabled email notifications |
92 | 92 | if (_pm_email_notify_is_enabled($recipient->uid)) { |
93 | - // send them a new pm notification email if they did |
|
94 | - $params['recipient'] = $recipient; |
|
95 | - $params['message'] = $message; |
|
96 | - drupal_mail('pm_email_notify', 'notice', $recipient->mail, user_preferred_language($recipient), $params); |
|
93 | + // send them a new pm notification email if they did |
|
94 | + $params['recipient'] = $recipient; |
|
95 | + $params['message'] = $message; |
|
96 | + drupal_mail('pm_email_notify', 'notice', $recipient->mail, user_preferred_language($recipient), $params); |
|
97 | + } |
|
97 | 98 | } |
98 | - } |
|
99 | 99 | } |
100 | 100 | |
101 | 101 | /** |
102 | 102 | * Implements hook_mail(). |
103 | 103 | */ |
104 | 104 | function pm_email_notify_mail($key, &$message, $params) { |
105 | - $language = $message['language']; |
|
106 | - $variables = user_mail_tokens($params['recipient'], $language); |
|
107 | - $variables = array_merge($variables, _pm_email_notify_token($params['recipient'], $params['message'], $language)); |
|
108 | - switch ($key) { |
|
105 | + $language = $message['language']; |
|
106 | + $variables = user_mail_tokens($params['recipient'], $language); |
|
107 | + $variables = array_merge($variables, _pm_email_notify_token($params['recipient'], $params['message'], $language)); |
|
108 | + switch ($key) { |
|
109 | 109 | case 'notice': |
110 | 110 | $message['subject'] = t(variable_get('pm_email_notify_subject', 'New private message at !site.'), $variables, $language->language); |
111 | - $message['body'] = t(variable_get('pm_email_notify_body', _pm_email_notify_default_body()), $variables, $language->language); |
|
112 | - break; |
|
113 | - } |
|
111 | + $message['body'] = t(variable_get('pm_email_notify_body', _pm_email_notify_default_body()), $variables, $language->language); |
|
112 | + break; |
|
113 | + } |
|
114 | 114 | } |
115 | 115 | |
116 | 116 | /** |
@@ -123,7 +123,7 @@ discard block |
||
123 | 123 | * Array of mappings from token names to values (for use with strtr()). |
124 | 124 | */ |
125 | 125 | function _pm_email_notify_token($recipient, $message, $language) { |
126 | - $tokens = array( |
|
126 | + $tokens = array( |
|
127 | 127 | '!author_uid' => $message['author']->uid, |
128 | 128 | '!author' => $message['author']->name, |
129 | 129 | '!pm_subject' => trim(drupal_html_to_text(check_plain($message['subject']))), |
@@ -134,16 +134,16 @@ discard block |
||
134 | 134 | '!settings' => url('user/' . $recipient->uid . '/edit', array('absolute' => TRUE, 'language' => $language)), |
135 | 135 | '!boincuser_name' => $recipient->boincuser_name, |
136 | 136 | '!author_boincuser_name' => user_load($message['author']->uid)->boincuser_name, |
137 | - ); |
|
137 | + ); |
|
138 | 138 | |
139 | - return $tokens; |
|
139 | + return $tokens; |
|
140 | 140 | } |
141 | 141 | |
142 | 142 | /** |
143 | 143 | * Returns default email notification body. |
144 | 144 | */ |
145 | 145 | function _pm_email_notify_default_body() { |
146 | - return "Hi !username,\n\nThis is an automatic reminder from the site !site. You have received a new private message from !author.\n\nTo read your message, follow this link:\n!message\n\nIf you don't want to receive these emails again, change your preferences here:\n!settings"; |
|
146 | + return "Hi !username,\n\nThis is an automatic reminder from the site !site. You have received a new private message from !author.\n\nTo read your message, follow this link:\n!message\n\nIf you don't want to receive these emails again, change your preferences here:\n!settings"; |
|
147 | 147 | } |
148 | 148 | |
149 | 149 | /** |
@@ -152,43 +152,43 @@ discard block |
||
152 | 152 | * Display settings form and store its information. |
153 | 153 | */ |
154 | 154 | function pm_email_notify_user($op, &$edit, &$account, $category = NULL) { |
155 | - switch ($op) { |
|
155 | + switch ($op) { |
|
156 | 156 | case 'form': |
157 | 157 | if ($category == 'account' && privatemsg_user_access('read privatemsg', $account)) { |
158 | 158 | $form['enable_pm_mail'] = array( |
159 | - '#type' => 'fieldset', |
|
160 | - '#title' => t('Privatemsg e-mail notification'), |
|
161 | - '#collapsible' => TRUE, |
|
162 | - '#collapsed' => FALSE, |
|
163 | - '#weight' => 10, |
|
159 | + '#type' => 'fieldset', |
|
160 | + '#title' => t('Privatemsg e-mail notification'), |
|
161 | + '#collapsible' => TRUE, |
|
162 | + '#collapsed' => FALSE, |
|
163 | + '#weight' => 10, |
|
164 | 164 | ); |
165 | 165 | $form['enable_pm_mail']['pm_send_notifications'] = array( |
166 | - '#type' => 'checkbox', |
|
167 | - '#title' => t('Receive email notification for incoming private messages'), |
|
168 | - '#default_value' => _pm_email_notify_is_enabled($account->uid), |
|
166 | + '#type' => 'checkbox', |
|
167 | + '#title' => t('Receive email notification for incoming private messages'), |
|
168 | + '#default_value' => _pm_email_notify_is_enabled($account->uid), |
|
169 | 169 | ); |
170 | - } |
|
171 | - return $form; |
|
170 | + } |
|
171 | + return $form; |
|
172 | 172 | |
173 | - case 'submit': |
|
173 | + case 'submit': |
|
174 | 174 | if (isset($edit['pm_send_notifications']) && privatemsg_user_access('read privatemsg', $account)) { |
175 | 175 | $pm_email_enabled = $edit['pm_send_notifications']; |
176 | 176 | unset($edit['pm_send_notifications']); |
177 | 177 | // Update database entry with user preference. |
178 | 178 | $exists = db_result(db_query("SELECT 1 FROM {pm_email_notify} WHERE user_id = %d", $account->uid)); |
179 | 179 | if ($exists) { |
180 | - // If there is an existing entry, update. |
|
181 | - db_query("UPDATE {pm_email_notify} SET email_notify_is_enabled = %d WHERE user_id = %d", $pm_email_enabled, $account->uid); |
|
180 | + // If there is an existing entry, update. |
|
181 | + db_query("UPDATE {pm_email_notify} SET email_notify_is_enabled = %d WHERE user_id = %d", $pm_email_enabled, $account->uid); |
|
182 | 182 | } |
183 | 183 | else { |
184 | - // If not, create a new one. |
|
185 | - db_query("INSERT INTO {pm_email_notify} (email_notify_is_enabled, user_id) VALUES (%d, %d)", $pm_email_enabled, $account->uid); |
|
184 | + // If not, create a new one. |
|
185 | + db_query("INSERT INTO {pm_email_notify} (email_notify_is_enabled, user_id) VALUES (%d, %d)", $pm_email_enabled, $account->uid); |
|
186 | + } |
|
186 | 187 | } |
187 | - } |
|
188 | - break; |
|
188 | + break; |
|
189 | 189 | |
190 | - case 'delete': |
|
190 | + case 'delete': |
|
191 | 191 | db_query("DELETE FROM {pm_email_notify} WHERE user_id = %d", $account->uid); |
192 | - break; |
|
193 | - } |
|
192 | + break; |
|
193 | + } |
|
194 | 194 | } |
@@ -72,7 +72,7 @@ discard block |
||
72 | 72 | function _pm_email_notify_is_enabled($uid) { |
73 | 73 | static $notifications = array(); |
74 | 74 | // Cache the result set in case this method is executed in batched operation which will perform many unnecessary repeated selects for the same user |
75 | - if ( !isset($notifications[$uid]) ) { |
|
75 | + if (!isset($notifications[$uid])) { |
|
76 | 76 | $mail_notification = db_result(db_query('SELECT email_notify_is_enabled FROM {pm_email_notify} WHERE user_id = %d', $uid)); |
77 | 77 | if ($mail_notification === FALSE) { |
78 | 78 | // db_result() returns FALSE if result was not found. |
@@ -130,8 +130,8 @@ discard block |
||
130 | 130 | '!pm_body' => trim(drupal_html_to_text(check_markup($message['body'], $message['format'], FALSE))), |
131 | 131 | '!thread' => $message['thread_id'], |
132 | 132 | '!user_uid' => $recipient->uid, |
133 | - '!message' => url('messages/view/' . $message['thread_id'], array('absolute' => TRUE, 'language' => $language)), |
|
134 | - '!settings' => url('user/' . $recipient->uid . '/edit', array('absolute' => TRUE, 'language' => $language)), |
|
133 | + '!message' => url('messages/view/'.$message['thread_id'], array('absolute' => TRUE, 'language' => $language)), |
|
134 | + '!settings' => url('user/'.$recipient->uid.'/edit', array('absolute' => TRUE, 'language' => $language)), |
|
135 | 135 | '!boincuser_name' => $recipient->boincuser_name, |
136 | 136 | '!author_boincuser_name' => user_load($message['author']->uid)->boincuser_name, |
137 | 137 | ); |
@@ -28,13 +28,13 @@ discard block |
||
28 | 28 | $form['pm_email'] = array( |
29 | 29 | '#type' => 'fieldset', |
30 | 30 | '#title' => t('Privatemsg e-mail notification'), |
31 | - '#collapsible' => FALSE, |
|
32 | - '#collapsed' => FALSE, |
|
31 | + '#collapsible' => false, |
|
32 | + '#collapsed' => false, |
|
33 | 33 | ); |
34 | 34 | $form['pm_email']['pm_email_notify_default'] = array( |
35 | 35 | '#type' => 'checkbox', |
36 | 36 | '#title' => t('Notify users of new private messages by default'), |
37 | - '#default_value' => variable_get('pm_email_notify_default', TRUE), |
|
37 | + '#default_value' => variable_get('pm_email_notify_default', true), |
|
38 | 38 | '#weight' => 0, |
39 | 39 | ); |
40 | 40 | |
@@ -74,9 +74,9 @@ discard block |
||
74 | 74 | // Cache the result set in case this method is executed in batched operation which will perform many unnecessary repeated selects for the same user |
75 | 75 | if ( !isset($notifications[$uid]) ) { |
76 | 76 | $mail_notification = db_result(db_query('SELECT email_notify_is_enabled FROM {pm_email_notify} WHERE user_id = %d', $uid)); |
77 | - if ($mail_notification === FALSE) { |
|
77 | + if ($mail_notification === false) { |
|
78 | 78 | // db_result() returns FALSE if result was not found. |
79 | - $mail_notification = variable_get('pm_email_notify_default', TRUE); |
|
79 | + $mail_notification = variable_get('pm_email_notify_default', true); |
|
80 | 80 | } |
81 | 81 | $notifications[$uid] = $mail_notification; |
82 | 82 | } |
@@ -127,11 +127,11 @@ discard block |
||
127 | 127 | '!author_uid' => $message['author']->uid, |
128 | 128 | '!author' => $message['author']->name, |
129 | 129 | '!pm_subject' => trim(drupal_html_to_text(check_plain($message['subject']))), |
130 | - '!pm_body' => trim(drupal_html_to_text(check_markup($message['body'], $message['format'], FALSE))), |
|
130 | + '!pm_body' => trim(drupal_html_to_text(check_markup($message['body'], $message['format'], false))), |
|
131 | 131 | '!thread' => $message['thread_id'], |
132 | 132 | '!user_uid' => $recipient->uid, |
133 | - '!message' => url('messages/view/' . $message['thread_id'], array('absolute' => TRUE, 'language' => $language)), |
|
134 | - '!settings' => url('user/' . $recipient->uid . '/edit', array('absolute' => TRUE, 'language' => $language)), |
|
133 | + '!message' => url('messages/view/' . $message['thread_id'], array('absolute' => true, 'language' => $language)), |
|
134 | + '!settings' => url('user/' . $recipient->uid . '/edit', array('absolute' => true, 'language' => $language)), |
|
135 | 135 | '!boincuser_name' => $recipient->boincuser_name, |
136 | 136 | '!author_boincuser_name' => user_load($message['author']->uid)->boincuser_name, |
137 | 137 | ); |
@@ -151,15 +151,15 @@ discard block |
||
151 | 151 | * |
152 | 152 | * Display settings form and store its information. |
153 | 153 | */ |
154 | -function pm_email_notify_user($op, &$edit, &$account, $category = NULL) { |
|
154 | +function pm_email_notify_user($op, &$edit, &$account, $category = null) { |
|
155 | 155 | switch ($op) { |
156 | 156 | case 'form': |
157 | 157 | if ($category == 'account' && privatemsg_user_access('read privatemsg', $account)) { |
158 | 158 | $form['enable_pm_mail'] = array( |
159 | 159 | '#type' => 'fieldset', |
160 | 160 | '#title' => t('Privatemsg e-mail notification'), |
161 | - '#collapsible' => TRUE, |
|
162 | - '#collapsed' => FALSE, |
|
161 | + '#collapsible' => true, |
|
162 | + '#collapsed' => false, |
|
163 | 163 | '#weight' => 10, |
164 | 164 | ); |
165 | 165 | $form['enable_pm_mail']['pm_send_notifications'] = array( |
@@ -37,6 +37,7 @@ discard block |
||
37 | 37 | * |
38 | 38 | * @param $userstring |
39 | 39 | * A string with user id, for example 1,2,4. Returned by the list query |
40 | + * @param integer $slice |
|
40 | 41 | * |
41 | 42 | * @return |
42 | 43 | * Array with user objects. |
@@ -72,7 +73,7 @@ discard block |
||
72 | 73 | * Array with user objects, for example the one returnd by |
73 | 74 | * _privatemsg_generate_user_array. |
74 | 75 | * |
75 | - * @param $limit |
|
76 | + * @param integer $limit |
|
76 | 77 | * Limit the number of user objects which should be displayed. |
77 | 78 | * @param $no_text |
78 | 79 | * When TRUE, don't display the Participants/From text. |
@@ -215,7 +216,7 @@ discard block |
||
215 | 216 | * Permission string, defaults to read privatemsg |
216 | 217 | * |
217 | 218 | * @return |
218 | - * TRUE if user has access, FALSE if not |
|
219 | + boolean TRUE if user has access, FALSE if not |
|
219 | 220 | * |
220 | 221 | * @ingroup api |
221 | 222 | */ |
@@ -730,7 +731,7 @@ discard block |
||
730 | 731 | * |
731 | 732 | * @param $pmid |
732 | 733 | * Message id |
733 | - * @param $status |
|
734 | + * @param integer $status |
|
734 | 735 | * Either PRIVATEMSG_READ or PRIVATEMSG_UNREAD |
735 | 736 | * @param $account |
736 | 737 | * User object, defaults to the current user |
@@ -1949,9 +1950,10 @@ discard block |
||
1949 | 1950 | * Recipient of the message |
1950 | 1951 | * @param $account |
1951 | 1952 | * Sender of the message, defaults to the current user |
1953 | + * @param string $subject |
|
1952 | 1954 | * |
1953 | 1955 | * @return |
1954 | - * Either FALSE or a URL string |
|
1956 | + false|string Either FALSE or a URL string |
|
1955 | 1957 | * |
1956 | 1958 | * @ingroup api |
1957 | 1959 | */ |
@@ -2273,7 +2275,7 @@ discard block |
||
2273 | 2275 | * |
2274 | 2276 | * Uses @link theming theme patterns @endlink to theme single headers. |
2275 | 2277 | * |
2276 | - * @param $has_posts |
|
2278 | + * @param boolean $has_posts |
|
2277 | 2279 | * TRUE when there is at least one row. Decides if the select all checkbox |
2278 | 2280 | * should be displayed. |
2279 | 2281 | * @param $keys |
@@ -1437,43 +1437,43 @@ discard block |
||
1437 | 1437 | global $user; |
1438 | 1438 | |
1439 | 1439 | switch ($op) { |
1440 | - case 'view': |
|
1441 | - if ($url = privatemsg_get_link(array($account))) { |
|
1442 | - $account->content['privatemsg_send_new_message'] = array( |
|
1443 | - '#type' => 'markup', |
|
1444 | - '#value' => l(t('Send this user a message'), $url, array('query' => drupal_get_destination())), |
|
1445 | - '#weight' => 10, |
|
1446 | - ); |
|
1447 | - } |
|
1448 | - break; |
|
1449 | - case 'login': |
|
1450 | - if (variable_get('privatemsg_display_loginmessage', TRUE) && privatemsg_user_access()) { |
|
1451 | - $count = privatemsg_unread_count(); |
|
1452 | - if ($count) { |
|
1453 | - drupal_set_message(format_plural($count, 'You have <a href="@messages">1 unread message</a>.', 'You have <a href="@messages">@count unread messages</a>', array('@messages' => url('messages')))); |
|
1454 | - } |
|
1440 | + case 'view': |
|
1441 | + if ($url = privatemsg_get_link(array($account))) { |
|
1442 | + $account->content['privatemsg_send_new_message'] = array( |
|
1443 | + '#type' => 'markup', |
|
1444 | + '#value' => l(t('Send this user a message'), $url, array('query' => drupal_get_destination())), |
|
1445 | + '#weight' => 10, |
|
1446 | + ); |
|
1447 | + } |
|
1448 | + break; |
|
1449 | + case 'login': |
|
1450 | + if (variable_get('privatemsg_display_loginmessage', TRUE) && privatemsg_user_access()) { |
|
1451 | + $count = privatemsg_unread_count(); |
|
1452 | + if ($count) { |
|
1453 | + drupal_set_message(format_plural($count, 'You have <a href="@messages">1 unread message</a>.', 'You have <a href="@messages">@count unread messages</a>', array('@messages' => url('messages')))); |
|
1455 | 1454 | } |
1456 | - break; |
|
1457 | - case 'delete': |
|
1455 | + } |
|
1456 | + break; |
|
1457 | + case 'delete': |
|
1458 | 1458 | |
1459 | - // Load all mids of the messages the user wrote. |
|
1460 | - $result = db_query("SELECT mid FROM {pm_message} WHERE author = %d", $account->uid); |
|
1461 | - $mids = array(); |
|
1462 | - while ($row = db_fetch_array($result)) { |
|
1463 | - $mids[] = $row['mid']; |
|
1464 | - } |
|
1459 | + // Load all mids of the messages the user wrote. |
|
1460 | + $result = db_query("SELECT mid FROM {pm_message} WHERE author = %d", $account->uid); |
|
1461 | + $mids = array(); |
|
1462 | + while ($row = db_fetch_array($result)) { |
|
1463 | + $mids[] = $row['mid']; |
|
1464 | + } |
|
1465 | 1465 | |
1466 | - // Delete messages the user wrote. |
|
1467 | - db_query('DELETE FROM {pm_message} WHERE author = %d', $account->uid); |
|
1466 | + // Delete messages the user wrote. |
|
1467 | + db_query('DELETE FROM {pm_message} WHERE author = %d', $account->uid); |
|
1468 | 1468 | |
1469 | - if (!empty($mids)) { |
|
1470 | - // Delete recipient entries in {pm_index} of the messages the user wrote. |
|
1471 | - db_query('DELETE FROM {pm_index} WHERE mid IN (' . db_placeholders($mids) . ')', $mids); |
|
1472 | - } |
|
1469 | + if (!empty($mids)) { |
|
1470 | + // Delete recipient entries in {pm_index} of the messages the user wrote. |
|
1471 | + db_query('DELETE FROM {pm_index} WHERE mid IN (' . db_placeholders($mids) . ')', $mids); |
|
1472 | + } |
|
1473 | 1473 | |
1474 | - // Delete recipient entries of that user. |
|
1475 | - db_query('DELETE FROM {pm_index} WHERE uid = %d', $account->uid); |
|
1476 | - break; |
|
1474 | + // Delete recipient entries of that user. |
|
1475 | + db_query('DELETE FROM {pm_index} WHERE uid = %d', $account->uid); |
|
1476 | + break; |
|
1477 | 1477 | } |
1478 | 1478 | } |
1479 | 1479 | |
@@ -1494,12 +1494,12 @@ discard block |
||
1494 | 1494 | elseif ('view' == $op) { |
1495 | 1495 | $block = array(); |
1496 | 1496 | switch ($delta) { |
1497 | - case 'privatemsg-menu': |
|
1498 | - $block = _privatemsg_block_menu(); |
|
1499 | - break; |
|
1500 | - case 'privatemsg-new': |
|
1501 | - $block = _privatemsg_block_new(); |
|
1502 | - break; |
|
1497 | + case 'privatemsg-menu': |
|
1498 | + $block = _privatemsg_block_menu(); |
|
1499 | + break; |
|
1500 | + case 'privatemsg-new': |
|
1501 | + $block = _privatemsg_block_new(); |
|
1502 | + break; |
|
1503 | 1503 | } |
1504 | 1504 | return $block; |
1505 | 1505 | } |
@@ -102,10 +102,11 @@ discard block |
||
102 | 102 | } |
103 | 103 | |
104 | 104 | $last = array_pop($to); |
105 | - if (count($to) == 0) { // Only one participant |
|
105 | + if (count($to) == 0) { |
|
106 | +// Only one participant |
|
106 | 107 | return t("From !last", array('!last' => $last)); |
107 | - } |
|
108 | - else { // Multipe participants.. |
|
108 | + } else { |
|
109 | +// Multipe participants.. |
|
109 | 110 | $participants = implode(', ', $to); |
110 | 111 | return t('Participants: !participants and !last', array('!participants' => $participants, '!last' => $last)); |
111 | 112 | } |
@@ -224,7 +225,8 @@ discard block |
||
224 | 225 | global $user; |
225 | 226 | $account = $user; |
226 | 227 | } |
227 | - if (!$account->uid) { // Disallow anonymous access, regardless of permissions |
|
228 | + if (!$account->uid) { |
|
229 | +// Disallow anonymous access, regardless of permissions |
|
228 | 230 | return FALSE; |
229 | 231 | } |
230 | 232 | if (!user_access($permission, $account)) { |
@@ -325,11 +327,9 @@ discard block |
||
325 | 327 | if (is_null($start)) { |
326 | 328 | if (isset($_GET['start']) && $_GET['start'] < $thread['message_count']) { |
327 | 329 | $start = $_GET['start']; |
328 | - } |
|
329 | - elseif (!variable_get('privatemsg_view_use_max_as_default', FALSE) && $max_amount == PRIVATEMSG_UNLIMITED) { |
|
330 | + } elseif (!variable_get('privatemsg_view_use_max_as_default', FALSE) && $max_amount == PRIVATEMSG_UNLIMITED) { |
|
330 | 331 | $start = PRIVATEMSG_UNLIMITED; |
331 | - } |
|
332 | - else { |
|
332 | + } else { |
|
333 | 333 | $start = $thread['message_count'] - (variable_get('privatemsg_view_use_max_as_default', FALSE) ? variable_get('privatemsg_view_default_amount', 10) : $max_amount); |
334 | 334 | } |
335 | 335 | } |
@@ -338,8 +338,7 @@ discard block |
||
338 | 338 | if ($max_amount == PRIVATEMSG_UNLIMITED) { |
339 | 339 | $last_page = 0; |
340 | 340 | $max_amount = $thread['message_count']; |
341 | - } |
|
342 | - else { |
|
341 | + } else { |
|
343 | 342 | // Calculate the number of messages on the "last" page to avoid |
344 | 343 | // message overlap. |
345 | 344 | // Note - the last page lists the earliest messages, not the latest. |
@@ -360,8 +359,7 @@ discard block |
||
360 | 359 | } |
361 | 360 | if ($start - $max_amount >= 0) { |
362 | 361 | $thread['older_start'] = $start - $max_amount; |
363 | - } |
|
364 | - elseif ($start > 0) { |
|
362 | + } elseif ($start > 0) { |
|
365 | 363 | $thread['older_start'] = 0; |
366 | 364 | } |
367 | 365 | |
@@ -377,8 +375,7 @@ discard block |
||
377 | 375 | // Visual counts start from 1 instead of zero, so plus one. |
378 | 376 | $thread['from'] = $start + 1; |
379 | 377 | $conversation = db_query_range($query['query'], $start, $max_amount); |
380 | - } |
|
381 | - else { |
|
378 | + } else { |
|
382 | 379 | $conversation = db_query($query['query']); |
383 | 380 | } |
384 | 381 | $mids = array(); |
@@ -398,12 +395,10 @@ discard block |
||
398 | 395 | // Thread does not exist, display 404. |
399 | 396 | $thread = FALSE; |
400 | 397 | } |
401 | - } |
|
402 | - else { |
|
398 | + } else { |
|
403 | 399 | $thread = FALSE; |
404 | 400 | } |
405 | - } |
|
406 | - else { |
|
401 | + } else { |
|
407 | 402 | // General data, assume subject is the same for all messages of that thread. |
408 | 403 | $thread['user'] = $account; |
409 | 404 | $message = current($thread['messages']); |
@@ -689,8 +684,7 @@ discard block |
||
689 | 684 | // Trying to view someone else's messages... |
690 | 685 | if (!privatemsg_user_access('read all private messages')) { |
691 | 686 | drupal_set_message(t("You do not have sufficient rights to view someone else's messages"), 'warning'); |
692 | - } |
|
693 | - elseif ($account_check = user_load(array('uid' => $uid))) { |
|
687 | + } elseif ($account_check = user_load(array('uid' => $uid))) { |
|
694 | 688 | // Has rights and user_load return an array so user does exist |
695 | 689 | $account = $account_check; |
696 | 690 | } |
@@ -852,11 +846,9 @@ discard block |
||
852 | 846 | // convert recipients to array of user objects |
853 | 847 | if (!empty($recipients) && is_string($recipients) || is_int($recipients)) { |
854 | 848 | $recipients = _privatemsg_generate_user_array($recipients); |
855 | - } |
|
856 | - elseif (is_object($recipients)) { |
|
849 | + } elseif (is_object($recipients)) { |
|
857 | 850 | $recipients = array($recipients); |
858 | - } |
|
859 | - elseif (empty($recipients) && is_string($recipients)) { |
|
851 | + } elseif (empty($recipients) && is_string($recipients)) { |
|
860 | 852 | $recipients = array(); |
861 | 853 | } |
862 | 854 | |
@@ -881,8 +873,7 @@ discard block |
||
881 | 873 | $myname = preg_replace("/ /", "\xc2\xa0", $myuser->boincuser_name); |
882 | 874 | $to[] = $myname . "_" . $myuser->boincuser_id; |
883 | 875 | $to_themed[$recipient->uid] = $myname; |
884 | - } |
|
885 | - else { |
|
876 | + } else { |
|
886 | 877 | // Recipient list contains blocked users. |
887 | 878 | $blocked = TRUE; |
888 | 879 | } |
@@ -909,8 +900,7 @@ discard block |
||
909 | 900 | } |
910 | 901 | if (!$thread_id && !empty($recipients_string)) { |
911 | 902 | drupal_set_title(t('Write new message to %recipient', array('%recipient' => $recipients_string))); |
912 | - } |
|
913 | - elseif (!$thread_id) { |
|
903 | + } elseif (!$thread_id) { |
|
914 | 904 | drupal_set_title(t('Write new message')); |
915 | 905 | } |
916 | 906 | $form = array(); |
@@ -985,8 +975,7 @@ discard block |
||
985 | 975 | $title = t('Cancel'); |
986 | 976 | if (isset($_REQUEST['destination'])) { |
987 | 977 | $url = $_REQUEST['destination']; |
988 | - } |
|
989 | - elseif (!is_null($thread_id)) { |
|
978 | + } elseif (!is_null($thread_id)) { |
|
990 | 979 | $url = $_GET['q']; |
991 | 980 | $title = t('Clear'); |
992 | 981 | } |
@@ -1037,8 +1026,7 @@ discard block |
||
1037 | 1026 | // Only parse the user string for a new thread. |
1038 | 1027 | if (!isset($message['thread_id'])) { |
1039 | 1028 | list($message['recipients'], $invalid) = _privatemsg_parse_userstring($message['recipient']); |
1040 | - } |
|
1041 | - else { |
|
1029 | + } else { |
|
1042 | 1030 | // Load participants. |
1043 | 1031 | $message['recipients'] = _privatemsg_load_thread_participants($message['thread_id']); |
1044 | 1032 | // Remove author. |
@@ -1096,7 +1084,8 @@ discard block |
||
1096 | 1084 | $recipients = array(); |
1097 | 1085 | foreach ($input as $string) { |
1098 | 1086 | $string = trim($string); |
1099 | - if (!empty($string)) { // We don't care about white space names. |
|
1087 | + if (!empty($string)) { |
|
1088 | +// We don't care about white space names. |
|
1100 | 1089 | |
1101 | 1090 | // First, check if another module is able to resolve the string into an |
1102 | 1091 | // user object. |
@@ -1132,10 +1121,9 @@ discard block |
||
1132 | 1121 | foreach ($form_state['validate_built_message']['recipients'] as $recipient) { |
1133 | 1122 | $recipient_names[] = theme('username', $recipient); |
1134 | 1123 | } |
1135 | - if ($status !== FALSE ) { |
|
1124 | + if ($status !== FALSE ) { |
|
1136 | 1125 | drupal_set_message(t('A message has been sent to !recipients.', array('!recipients' => implode(', ', $recipient_names)))); |
1137 | - } |
|
1138 | - else { |
|
1126 | + } else { |
|
1139 | 1127 | drupal_set_message(t('An attempt to send a message <em>may have failed</em> when sending to !recipients.', array('!recipients' => implode(', ', $recipient_names))), 'error'); |
1140 | 1128 | } |
1141 | 1129 | } |
@@ -1196,8 +1184,7 @@ discard block |
||
1196 | 1184 | $fragments['select'][] = "array_to_string(array(SELECT DISTINCT textin(int4out(pmia.uid)) |
1197 | 1185 | FROM {pm_index} pmia |
1198 | 1186 | WHERE pmia.thread_id = pmi.thread_id), ',') AS participants"; |
1199 | - } |
|
1200 | - else { |
|
1187 | + } else { |
|
1201 | 1188 | $fragments['select'][] = '(SELECT GROUP_CONCAT(DISTINCT pmia.uid SEPARATOR ",") |
1202 | 1189 | FROM {pm_index} pmia |
1203 | 1190 | WHERE pmia.thread_id = pmi.thread_id) AS participants'; |
@@ -1502,8 +1489,7 @@ discard block |
||
1502 | 1489 | ); |
1503 | 1490 | |
1504 | 1491 | return $blocks; |
1505 | - } |
|
1506 | - elseif ('view' == $op) { |
|
1492 | + } elseif ('view' == $op) { |
|
1507 | 1493 | $block = array(); |
1508 | 1494 | switch ($delta) { |
1509 | 1495 | case 'privatemsg-menu': |
@@ -1599,8 +1585,7 @@ discard block |
||
1599 | 1585 | if (isset($form_state['values']['delete_options']) && $form_state['values']['delete_options']) { |
1600 | 1586 | privatemsg_message_change_delete($form_state['values']['pmid'], 1); |
1601 | 1587 | drupal_set_message(t('Message has been deleted for all users.')); |
1602 | - } |
|
1603 | - else { |
|
1588 | + } else { |
|
1604 | 1589 | privatemsg_message_change_delete($form_state['values']['pmid'], 1, $account); |
1605 | 1590 | drupal_set_message(t('Message has been deleted.')); |
1606 | 1591 | } |
@@ -1629,8 +1614,7 @@ discard block |
||
1629 | 1614 | |
1630 | 1615 | if ($account) { |
1631 | 1616 | db_query('UPDATE {pm_index} SET deleted = %d WHERE mid = %d AND uid = %d', $delete_value, $pmid, $account->uid); |
1632 | - } |
|
1633 | - else { |
|
1617 | + } else { |
|
1634 | 1618 | // Mark deleted for all users. |
1635 | 1619 | db_query('UPDATE {pm_index} SET deleted = %d WHERE mid = %d', $delete_value, $pmid); |
1636 | 1620 | } |
@@ -1791,8 +1775,7 @@ discard block |
||
1791 | 1775 | 'success' => FALSE, |
1792 | 1776 | 'messages' => $messages, |
1793 | 1777 | ); |
1794 | - } |
|
1795 | - else { |
|
1778 | + } else { |
|
1796 | 1779 | $messages['error'][] = t('User @user is not allowed to write messages', array('@user' => $message['author']->name)); |
1797 | 1780 | return array( |
1798 | 1781 | 'success' => FALSE, |
@@ -1806,8 +1789,7 @@ discard block |
||
1806 | 1789 | if (empty($message['subject'])) { |
1807 | 1790 | if ($form) { |
1808 | 1791 | form_set_error('subject', t('Disallowed to send a message without subject')); |
1809 | - } |
|
1810 | - else { |
|
1792 | + } else { |
|
1811 | 1793 | $messages['error'][] = t('Disallowed to send a message without subject'); |
1812 | 1794 | } |
1813 | 1795 | } |
@@ -1816,8 +1798,7 @@ discard block |
||
1816 | 1798 | if (!empty($message['thread_id']) && ($message['body'] === NULL || $message['body'] === '') ) { |
1817 | 1799 | if ($form) { |
1818 | 1800 | form_set_error('body', t('Disallowed to send reply without a message.')); |
1819 | - } |
|
1820 | - else { |
|
1801 | + } else { |
|
1821 | 1802 | $messages['error'][] = t('Disallowed to send reply without a message.'); |
1822 | 1803 | } |
1823 | 1804 | } |
@@ -1831,8 +1812,7 @@ discard block |
||
1831 | 1812 | if (!filter_access($message['format'])) { |
1832 | 1813 | if ($form) { |
1833 | 1814 | form_set_error('format', t('You are not allowed to use the specified input format.')); |
1834 | - } |
|
1835 | - else { |
|
1815 | + } else { |
|
1836 | 1816 | $messages['error'][] = t('User @user is not allowed to use the specified input format.', array('@user' => $message['author']->name)); |
1837 | 1817 | } |
1838 | 1818 | } |
@@ -1843,8 +1823,7 @@ discard block |
||
1843 | 1823 | if (empty($message['recipients']) || !is_array($message['recipients'])) { |
1844 | 1824 | if ($form) { |
1845 | 1825 | form_set_error('to', t('Disallowed to send a message without at least one valid recipient')); |
1846 | - } |
|
1847 | - else { |
|
1826 | + } else { |
|
1848 | 1827 | $messages['error'][] = t('Disallowed to send a message without at least one valid recipient'); |
1849 | 1828 | } |
1850 | 1829 | } |
@@ -1854,8 +1833,7 @@ discard block |
||
1854 | 1833 | unset($message['recipients'][$blocked['uid']]); |
1855 | 1834 | if ($form) { |
1856 | 1835 | drupal_set_message($blocked['message'], 'warning'); |
1857 | - } |
|
1858 | - else { |
|
1836 | + } else { |
|
1859 | 1837 | $messages['warning'][] = $blocked['message']; |
1860 | 1838 | } |
1861 | 1839 | } |
@@ -1865,8 +1843,7 @@ discard block |
||
1865 | 1843 | if (empty($message['recipients'])) { |
1866 | 1844 | if ($form) { |
1867 | 1845 | form_set_error('to', t('Disallowed to send message because all recipients are blocked')); |
1868 | - } |
|
1869 | - else { |
|
1846 | + } else { |
|
1870 | 1847 | $messages['error'][] = t('Disallowed to send message because all recipients are blocked'); |
1871 | 1848 | } |
1872 | 1849 | } |
@@ -2072,8 +2049,7 @@ discard block |
||
2072 | 2049 | if (is_array($query)) { |
2073 | 2050 | $query_id = $query[0]; |
2074 | 2051 | $query_group = $query[1]; |
2075 | - } |
|
2076 | - else { |
|
2052 | + } else { |
|
2077 | 2053 | $query_id = $query; |
2078 | 2054 | $query_group = 'privatemsg'; |
2079 | 2055 | } |
@@ -2153,8 +2129,7 @@ discard block |
||
2153 | 2129 | // Works fine for thread_id/list but may generate an error when a more complex GROUP BY is used. |
2154 | 2130 | $str_group_by_count = current($GROUP_BY); |
2155 | 2131 | $count = "SELECT COUNT(DISTINCT {$str_group_by_count}) FROM ". $primary_table; |
2156 | - } |
|
2157 | - else { |
|
2132 | + } else { |
|
2158 | 2133 | $count = "SELECT COUNT(*) FROM ". $primary_table; |
2159 | 2134 | } |
2160 | 2135 | |
@@ -2275,8 +2250,7 @@ discard block |
||
2275 | 2250 | |
2276 | 2251 | if ($status == PRIVATEMSG_UNREAD) { |
2277 | 2252 | drupal_set_message(format_plural(count($threads), 'Marked 1 thread as unread.', 'Marked @count threads as unread.')); |
2278 | - } |
|
2279 | - else { |
|
2253 | + } else { |
|
2280 | 2254 | drupal_set_message(format_plural(count($threads), 'Marked 1 thread as read.', 'Marked @count threads as read.')); |
2281 | 2255 | } |
2282 | 2256 | } |
@@ -2457,8 +2431,7 @@ discard block |
||
2457 | 2431 | // Add in callback arguments if present. |
2458 | 2432 | if (isset($operation['callback arguments'])) { |
2459 | 2433 | $args = array_merge(array($threads), $operation['callback arguments']); |
2460 | - } |
|
2461 | - else { |
|
2434 | + } else { |
|
2462 | 2435 | $args = array($threads); |
2463 | 2436 | } |
2464 | 2437 | |
@@ -2475,8 +2448,7 @@ discard block |
||
2475 | 2448 | // Add in callback arguments if present. |
2476 | 2449 | if (isset($operation['undo callback arguments'])) { |
2477 | 2450 | $undo_args = array_merge(array($threads), $operation['undo callback arguments']); |
2478 | - } |
|
2479 | - else { |
|
2451 | + } else { |
|
2480 | 2452 | $undo_args = array($threads); |
2481 | 2453 | } |
2482 | 2454 | |
@@ -2528,8 +2500,7 @@ discard block |
||
2528 | 2500 | |
2529 | 2501 | if ($delete) { |
2530 | 2502 | drupal_set_message(format_plural(count($threads), 'Deleted 1 thread.', 'Deleted @count threads.')); |
2531 | - } |
|
2532 | - else { |
|
2503 | + } else { |
|
2533 | 2504 | drupal_set_message(format_plural(count($threads), 'Restored 1 thread.', 'Restored @count threads.')); |
2534 | 2505 | } |
2535 | 2506 | } |
@@ -41,7 +41,7 @@ discard block |
||
41 | 41 | * @return |
42 | 42 | * Array with user objects. |
43 | 43 | */ |
44 | -function _privatemsg_generate_user_array($userstring, $slice = NULL) { |
|
44 | +function _privatemsg_generate_user_array($userstring, $slice = null) { |
|
45 | 45 | static $user_cache = array(); |
46 | 46 | |
47 | 47 | // Convert user uid list (uid1,uid2,uid3) into an array. If $slice is not NULL |
@@ -79,13 +79,13 @@ discard block |
||
79 | 79 | * @return |
80 | 80 | * String with formated user objects, like user1, user2. |
81 | 81 | */ |
82 | -function _privatemsg_format_participants($part_array, $limit = NULL, $no_text = FALSE) { |
|
82 | +function _privatemsg_format_participants($part_array, $limit = null, $no_text = false) { |
|
83 | 83 | if (count($part_array) > 0) { |
84 | 84 | $to = array(); |
85 | - $limited = FALSE; |
|
85 | + $limited = false; |
|
86 | 86 | foreach ($part_array as $account) { |
87 | 87 | if (is_int($limit) && count($to) >= $limit) { |
88 | - $limited = TRUE; |
|
88 | + $limited = true; |
|
89 | 89 | break; |
90 | 90 | } |
91 | 91 | $to[] = theme('username', $account); |
@@ -137,7 +137,7 @@ discard block |
||
137 | 137 | 'title' => 'Read message', |
138 | 138 | // Set the third argument to TRUE so that we can show access denied instead |
139 | 139 | // of not found. |
140 | - 'load arguments' => array(NULL, NULL, TRUE), |
|
140 | + 'load arguments' => array(null, null, true), |
|
141 | 141 | 'page callback' => 'privatemsg_view', |
142 | 142 | 'page arguments' => array(2), |
143 | 143 | 'access callback' => 'privatemsg_view_access', |
@@ -156,7 +156,7 @@ discard block |
||
156 | 156 | $items['messages/new'] = array( |
157 | 157 | 'title' => 'Write new message', |
158 | 158 | 'page callback' => 'drupal_get_form', |
159 | - 'page arguments' => array('privatemsg_new', 2, 3, NULL), |
|
159 | + 'page arguments' => array('privatemsg_new', 2, 3, null), |
|
160 | 160 | 'access callback' => 'privatemsg_user_access', |
161 | 161 | 'access arguments' => array('write privatemsg'), |
162 | 162 | 'type' => MENU_LOCAL_TASK, |
@@ -219,18 +219,18 @@ discard block |
||
219 | 219 | * |
220 | 220 | * @ingroup api |
221 | 221 | */ |
222 | -function privatemsg_user_access($permission = 'read privatemsg', $account = NULL) { |
|
223 | - if ( $account === NULL ) { |
|
222 | +function privatemsg_user_access($permission = 'read privatemsg', $account = null) { |
|
223 | + if ( $account === null ) { |
|
224 | 224 | global $user; |
225 | 225 | $account = $user; |
226 | 226 | } |
227 | 227 | if (!$account->uid) { // Disallow anonymous access, regardless of permissions |
228 | - return FALSE; |
|
228 | + return false; |
|
229 | 229 | } |
230 | 230 | if (!user_access($permission, $account)) { |
231 | - return FALSE; |
|
231 | + return false; |
|
232 | 232 | } |
233 | - return TRUE; |
|
233 | + return true; |
|
234 | 234 | } |
235 | 235 | |
236 | 236 | /** |
@@ -250,12 +250,12 @@ discard block |
||
250 | 250 | // Do not allow access to threads without messages. |
251 | 251 | if (empty($thread['messages'])) { |
252 | 252 | // Count all messages, if there |
253 | - return FALSE; |
|
253 | + return false; |
|
254 | 254 | } |
255 | 255 | if (privatemsg_user_access('read privatemsg') && arg(1) == 'view') { |
256 | - return TRUE; |
|
256 | + return true; |
|
257 | 257 | } |
258 | - return FALSE; |
|
258 | + return false; |
|
259 | 259 | } |
260 | 260 | |
261 | 261 | /** |
@@ -287,7 +287,7 @@ discard block |
||
287 | 287 | |
288 | 288 | * @ingroup api |
289 | 289 | */ |
290 | -function privatemsg_thread_load($thread_id, $account = NULL, $start = NULL, $useAccessDenied = FALSE) { |
|
290 | +function privatemsg_thread_load($thread_id, $account = null, $start = null, $useAccessDenied = false) { |
|
291 | 291 | static $threads = array(); |
292 | 292 | if ((int)$thread_id > 0) { |
293 | 293 | $thread = array('thread_id' => $thread_id); |
@@ -309,13 +309,13 @@ discard block |
||
309 | 309 | while ($participant = db_fetch_object($participants)) { |
310 | 310 | $thread['participants'][$participant->uid] = $participant; |
311 | 311 | } |
312 | - $thread['read_all'] = FALSE; |
|
312 | + $thread['read_all'] = false; |
|
313 | 313 | if (!array_key_exists($account->uid, $thread['participants']) && privatemsg_user_access('read all private messages', $account)) { |
314 | - $thread['read_all'] = TRUE; |
|
314 | + $thread['read_all'] = true; |
|
315 | 315 | } |
316 | 316 | |
317 | 317 | // Load messages returned by the messages query with privatemsg_message_load_multiple(). |
318 | - $query = _privatemsg_assemble_query('messages', array($thread_id), $thread['read_all'] ? NULL : $account); |
|
318 | + $query = _privatemsg_assemble_query('messages', array($thread_id), $thread['read_all'] ? null : $account); |
|
319 | 319 | $thread['message_count'] = $thread['to'] = db_result(db_query($query['count'])); |
320 | 320 | $thread['from'] = 1; |
321 | 321 | // Check if we need to limit the messages. |
@@ -326,11 +326,11 @@ discard block |
||
326 | 326 | if (isset($_GET['start']) && $_GET['start'] < $thread['message_count']) { |
327 | 327 | $start = $_GET['start']; |
328 | 328 | } |
329 | - elseif (!variable_get('privatemsg_view_use_max_as_default', FALSE) && $max_amount == PRIVATEMSG_UNLIMITED) { |
|
329 | + elseif (!variable_get('privatemsg_view_use_max_as_default', false) && $max_amount == PRIVATEMSG_UNLIMITED) { |
|
330 | 330 | $start = PRIVATEMSG_UNLIMITED; |
331 | 331 | } |
332 | 332 | else { |
333 | - $start = $thread['message_count'] - (variable_get('privatemsg_view_use_max_as_default', FALSE) ? variable_get('privatemsg_view_default_amount', 10) : $max_amount); |
|
333 | + $start = $thread['message_count'] - (variable_get('privatemsg_view_use_max_as_default', false) ? variable_get('privatemsg_view_default_amount', 10) : $max_amount); |
|
334 | 334 | } |
335 | 335 | } |
336 | 336 | |
@@ -343,7 +343,7 @@ discard block |
||
343 | 343 | // Calculate the number of messages on the "last" page to avoid |
344 | 344 | // message overlap. |
345 | 345 | // Note - the last page lists the earliest messages, not the latest. |
346 | - $paging_count = variable_get('privatemsg_view_use_max_as_default', FALSE) ? $thread['message_count'] - variable_get('privatemsg_view_default_amount', 10) : $thread['message_count']; |
|
346 | + $paging_count = variable_get('privatemsg_view_use_max_as_default', false) ? $thread['message_count'] - variable_get('privatemsg_view_default_amount', 10) : $thread['message_count']; |
|
347 | 347 | $last_page = $paging_count % $max_amount; |
348 | 348 | } |
349 | 349 | |
@@ -386,21 +386,21 @@ discard block |
||
386 | 386 | $mids[] = $result['mid']; |
387 | 387 | } |
388 | 388 | // Load messages returned by the messages query. |
389 | - $thread['messages'] = privatemsg_message_load_multiple($mids, $thread['read_all'] ? NULL : $account); |
|
389 | + $thread['messages'] = privatemsg_message_load_multiple($mids, $thread['read_all'] ? null : $account); |
|
390 | 390 | |
391 | 391 | // If there are no messages, don't allow access to the thread. |
392 | 392 | if (empty($thread['messages'])) { |
393 | 393 | if ($useAccessDenied) { |
394 | 394 | // Generate new query with read all to see if the thread does exist. |
395 | - $query = _privatemsg_assemble_query('messages', array($thread_id), NULL); |
|
395 | + $query = _privatemsg_assemble_query('messages', array($thread_id), null); |
|
396 | 396 | $exists = db_result(db_query($query['count'])); |
397 | 397 | if (!$exists) { |
398 | 398 | // Thread does not exist, display 404. |
399 | - $thread = FALSE; |
|
399 | + $thread = false; |
|
400 | 400 | } |
401 | 401 | } |
402 | 402 | else { |
403 | - $thread = FALSE; |
|
403 | + $thread = false; |
|
404 | 404 | } |
405 | 405 | } |
406 | 406 | else { |
@@ -414,7 +414,7 @@ discard block |
||
414 | 414 | |
415 | 415 | return $threads[$account->uid][$thread_id]; |
416 | 416 | } |
417 | - return FALSE; |
|
417 | + return false; |
|
418 | 418 | } |
419 | 419 | |
420 | 420 | function private_message_view_options() { |
@@ -445,8 +445,8 @@ discard block |
||
445 | 445 | |
446 | 446 | $form['theming_settings'] = array( |
447 | 447 | '#type' => 'fieldset', |
448 | - '#collapsible' => TRUE, |
|
449 | - '#collapsed' => TRUE, |
|
448 | + '#collapsible' => true, |
|
449 | + '#collapsed' => true, |
|
450 | 450 | '#title' => t('Theming settings'), |
451 | 451 | ); |
452 | 452 | $form['theming_settings']['private_message_view_template'] = array( |
@@ -458,14 +458,14 @@ discard block |
||
458 | 458 | $form['privatemsg_display_loginmessage'] = array( |
459 | 459 | '#type' => 'checkbox', |
460 | 460 | '#title' => t('Inform the user about new messages on login'), |
461 | - '#default_value' => variable_get('privatemsg_display_loginmessage', TRUE), |
|
461 | + '#default_value' => variable_get('privatemsg_display_loginmessage', true), |
|
462 | 462 | '#description' => t('This option can safely be disabled if the "New message indication" block is used instead.'), |
463 | 463 | ); |
464 | 464 | |
465 | 465 | $form['flush_deleted'] = array( |
466 | 466 | '#type' => 'fieldset', |
467 | - '#collapsible' => TRUE, |
|
468 | - '#collapsed' => TRUE, |
|
467 | + '#collapsible' => true, |
|
468 | + '#collapsed' => true, |
|
469 | 469 | '#title' => t('Flush deleted messages'), |
470 | 470 | '#description' => t('By default, deleted messages are only hidden from the user but still stored in the database. These settings control if and when messages should be removed.'), |
471 | 471 | ); |
@@ -473,7 +473,7 @@ discard block |
||
473 | 473 | $form['flush_deleted']['privatemsg_flush_enabled'] = array( |
474 | 474 | '#type' => 'checkbox', |
475 | 475 | '#title' => t('Flush deleted messages'), |
476 | - '#default_value' => variable_get('privatemsg_flush_enabled', FALSE), |
|
476 | + '#default_value' => variable_get('privatemsg_flush_enabled', false), |
|
477 | 477 | '#description' => t('Enable the flushing of deleted messages. Requires that cron is enabled'), |
478 | 478 | ); |
479 | 479 | |
@@ -494,8 +494,8 @@ discard block |
||
494 | 494 | $form['privatemsg_listing'] = array( |
495 | 495 | '#type' => 'fieldset', |
496 | 496 | '#title' => t('Configure listings'), |
497 | - '#collapsible' => TRUE, |
|
498 | - '#collapsed' => FALSE, |
|
497 | + '#collapsible' => true, |
|
498 | + '#collapsed' => false, |
|
499 | 499 | ); |
500 | 500 | |
501 | 501 | $form['privatemsg_listing']['privatemsg_per_page'] = array( |
@@ -531,7 +531,7 @@ discard block |
||
531 | 531 | $form['privatemsg_listing']['privatemsg_view_use_max_as_default'] = array( |
532 | 532 | '#type' => 'checkbox', |
533 | 533 | '#title' => t('Display different amount of messages on first thread page'), |
534 | - '#default_value' => variable_get('privatemsg_view_use_max_as_default', FALSE), |
|
534 | + '#default_value' => variable_get('privatemsg_view_use_max_as_default', false), |
|
535 | 535 | '#description' => t('By default, the first thread page shows the maximally allowed amount of messages. Enable this checkbox to set a different value.'), |
536 | 536 | '#weight' => 15, |
537 | 537 | ); |
@@ -563,7 +563,7 @@ discard block |
||
563 | 563 | * old enough are flushed. |
564 | 564 | */ |
565 | 565 | function privatemsg_cron() { |
566 | - if (variable_get('privatemsg_flush_enabled', FALSE)) { |
|
566 | + if (variable_get('privatemsg_flush_enabled', false)) { |
|
567 | 567 | $query = _privatemsg_assemble_query('deleted', variable_get('privatemsg_flush_days', 30)); |
568 | 568 | $result = db_query($query['query']); |
569 | 569 | |
@@ -584,19 +584,19 @@ discard block |
||
584 | 584 | function privatemsg_theme() { |
585 | 585 | return array( |
586 | 586 | 'privatemsg_view' => array( |
587 | - 'arguments' => array('message' => NULL), |
|
587 | + 'arguments' => array('message' => null), |
|
588 | 588 | 'template' => variable_get('private_message_view_template', 'privatemsg-view'), // 'privatemsg', |
589 | 589 | ), |
590 | 590 | 'privatemsg_from' => array( |
591 | - 'arguments' => array('author' => NULL), |
|
591 | + 'arguments' => array('author' => null), |
|
592 | 592 | 'template' => 'privatemsg-from', |
593 | 593 | ), |
594 | 594 | 'privatemsg_recipients' => array( |
595 | - 'arguments' => array('message' => NULL), |
|
595 | + 'arguments' => array('message' => null), |
|
596 | 596 | 'template' => 'privatemsg-recipients', |
597 | 597 | ), |
598 | 598 | 'privatemsg_between' => array( |
599 | - 'arguments' => array('recipients' => NULL), |
|
599 | + 'arguments' => array('recipients' => null), |
|
600 | 600 | 'template' => 'privatemsg-between', |
601 | 601 | ), |
602 | 602 | 'privatemsg_list' => array( |
@@ -630,15 +630,15 @@ discard block |
||
630 | 630 | // drupal_set_message('<pre>'. print_r($vars,1 ) . '</pre>'); |
631 | 631 | |
632 | 632 | $message = $vars['message']; |
633 | - $vars['mid'] = isset($message['mid']) ? $message['mid'] : NULL; |
|
634 | - $vars['thread_id'] = isset($message['thread_id']) ? $message['thread_id'] : NULL; |
|
633 | + $vars['mid'] = isset($message['mid']) ? $message['mid'] : null; |
|
634 | + $vars['thread_id'] = isset($message['thread_id']) ? $message['thread_id'] : null; |
|
635 | 635 | $vars['author_picture'] = theme('user_picture', $message['author']); |
636 | 636 | $vars['author_name_link'] = theme('username', $message['author']); |
637 | 637 | /** |
638 | 638 | * @todo perhaps make this timestamp configurable via admin UI? |
639 | 639 | */ |
640 | 640 | $vars['message_timestamp'] = format_date($message['timestamp'], 'small'); |
641 | - $vars['message_body'] = check_markup($message['body'], $message['format'], FALSE); |
|
641 | + $vars['message_body'] = check_markup($message['body'], $message['format'], false); |
|
642 | 642 | if (isset($vars['mid']) && isset($vars['thread_id']) && privatemsg_user_access('delete privatemsg')) { |
643 | 643 | $vars['message_actions'][] = array('title' => t('Delete message'), 'href' => 'messages/delete/' . $vars['thread_id'] . '/' . $vars['mid']); |
644 | 644 | } |
@@ -679,7 +679,7 @@ discard block |
||
679 | 679 | * @return |
680 | 680 | * Form array |
681 | 681 | */ |
682 | -function privatemsg_list(&$form_state, $argument = 'list', $uid = NULL) { |
|
682 | +function privatemsg_list(&$form_state, $argument = 'list', $uid = null) { |
|
683 | 683 | global $user; |
684 | 684 | |
685 | 685 | // Setting default behavior... |
@@ -735,7 +735,7 @@ discard block |
||
735 | 735 | * @param $account |
736 | 736 | * User object, defaults to the current user |
737 | 737 | */ |
738 | -function privatemsg_message_change_status($pmid, $status, $account = NULL) { |
|
738 | +function privatemsg_message_change_status($pmid, $status, $account = null) { |
|
739 | 739 | if (!$account) { |
740 | 740 | global $user; |
741 | 741 | $account = $user; |
@@ -752,7 +752,7 @@ discard block |
||
752 | 752 | * |
753 | 753 | * @ingroup api |
754 | 754 | */ |
755 | -function privatemsg_unread_count($account = NULL) { |
|
755 | +function privatemsg_unread_count($account = null) { |
|
756 | 756 | static $counts = array(); |
757 | 757 | if (!$account || $account->uid == 0) { |
758 | 758 | global $user; |
@@ -843,7 +843,7 @@ discard block |
||
843 | 843 | } |
844 | 844 | |
845 | 845 | |
846 | -function privatemsg_new(&$form_state, $recipients = array(), $subject = '', $thread_id = NULL, $read_all = FALSE) { |
|
846 | +function privatemsg_new(&$form_state, $recipients = array(), $subject = '', $thread_id = null, $read_all = false) { |
|
847 | 847 | global $user; |
848 | 848 | |
849 | 849 | $recipients_string = ''; |
@@ -863,7 +863,7 @@ discard block |
||
863 | 863 | $usercount = 0; |
864 | 864 | $to = array(); |
865 | 865 | $to_themed = array(); |
866 | - $blocked = FALSE; |
|
866 | + $blocked = false; |
|
867 | 867 | foreach ($recipients as $recipient) { |
868 | 868 | if (in_array($recipient->name, $to)) { |
869 | 869 | // We already added the recipient to the list, skip him. |
@@ -884,7 +884,7 @@ discard block |
||
884 | 884 | } |
885 | 885 | else { |
886 | 886 | // Recipient list contains blocked users. |
887 | - $blocked = TRUE; |
|
887 | + $blocked = true; |
|
888 | 888 | } |
889 | 889 | } |
890 | 890 | |
@@ -937,7 +937,7 @@ discard block |
||
937 | 937 | '#title' => t('To'), |
938 | 938 | '#description' => t('Separate multiple names with a comma followed by one space. The number appearing in the suffix is the BOINC id. You can find a user\'s BOINC id on their user profile page.'), |
939 | 939 | '#default_value' => $recipients_string, |
940 | - '#required' => TRUE, |
|
940 | + '#required' => true, |
|
941 | 941 | '#weight' => -10, |
942 | 942 | '#size' => 50, |
943 | 943 | '#autocomplete_path' => 'messages/user-name-autocomplete', |
@@ -958,7 +958,7 @@ discard block |
||
958 | 958 | '#rows' => 6, |
959 | 959 | '#weight' => 0, |
960 | 960 | '#default_value' => $body, |
961 | - '#resizable' => TRUE, |
|
961 | + '#resizable' => true, |
|
962 | 962 | ); |
963 | 963 | $format = FILTER_FORMAT_DEFAULT; |
964 | 964 | // The input filter widget looses the format during preview, specify it |
@@ -1012,7 +1012,7 @@ discard block |
||
1012 | 1012 | ); |
1013 | 1013 | if (empty($recipients_string)) { |
1014 | 1014 | // If there are no valid recipients, unset the message reply form. |
1015 | - $form['privatemsg']['#access'] = FALSE; |
|
1015 | + $form['privatemsg']['#access'] = false; |
|
1016 | 1016 | } |
1017 | 1017 | } |
1018 | 1018 | $form['privatemsg']['read_all'] = array( |
@@ -1030,7 +1030,7 @@ discard block |
||
1030 | 1030 | $message['subject'] = trim($message['subject']); |
1031 | 1031 | |
1032 | 1032 | |
1033 | - $trimed_body = trim(truncate_utf8(strip_tags($message['body']), 50, TRUE, TRUE)); |
|
1033 | + $trimed_body = trim(truncate_utf8(strip_tags($message['body']), 50, true, true)); |
|
1034 | 1034 | if (empty($message['subject']) && !empty($trimed_body)) { |
1035 | 1035 | $message['subject'] = $trimed_body; |
1036 | 1036 | } |
@@ -1046,7 +1046,7 @@ discard block |
||
1046 | 1046 | unset($message['recipients'][$message['author']->uid]); |
1047 | 1047 | } |
1048 | 1048 | } |
1049 | - $validated = _privatemsg_validate_message($message, TRUE); |
|
1049 | + $validated = _privatemsg_validate_message($message, true); |
|
1050 | 1050 | foreach ($validated['messages'] as $type => $text) { |
1051 | 1051 | drupal_set_message($text, $type); |
1052 | 1052 | } |
@@ -1132,7 +1132,7 @@ discard block |
||
1132 | 1132 | foreach ($form_state['validate_built_message']['recipients'] as $recipient) { |
1133 | 1133 | $recipient_names[] = theme('username', $recipient); |
1134 | 1134 | } |
1135 | - if ($status !== FALSE ) { |
|
1135 | + if ($status !== false ) { |
|
1136 | 1136 | drupal_set_message(t('A message has been sent to !recipients.', array('!recipients' => implode(', ', $recipient_names)))); |
1137 | 1137 | } |
1138 | 1138 | else { |
@@ -1147,7 +1147,7 @@ discard block |
||
1147 | 1147 | $form_state['privatemsg_preview'] = theme('privatemsg_view', $form_state['validate_built_message']); |
1148 | 1148 | } |
1149 | 1149 | |
1150 | - $form_state['rebuild'] = TRUE; // this forces our form to be rebuilt instead of being submitted. |
|
1150 | + $form_state['rebuild'] = true; // this forces our form to be rebuilt instead of being submitted. |
|
1151 | 1151 | } |
1152 | 1152 | |
1153 | 1153 | /** |
@@ -1225,7 +1225,7 @@ discard block |
||
1225 | 1225 | // tablesort_sql() generates a ORDER BY string. However, the "ORDER BY " part |
1226 | 1226 | // is not needed and added by the query builder. Discard the first 9 |
1227 | 1227 | // characters of the string. |
1228 | - $order_by = drupal_substr(tablesort_sql(_privatemsg_list_headers( FALSE, array_merge(array('subject', 'last_updated'), $fields)), $order_by_first), 9); |
|
1228 | + $order_by = drupal_substr(tablesort_sql(_privatemsg_list_headers( false, array_merge(array('subject', 'last_updated'), $fields)), $order_by_first), 9); |
|
1229 | 1229 | $fragments['order_by'][] = $order_by; |
1230 | 1230 | } |
1231 | 1231 | |
@@ -1239,7 +1239,7 @@ discard block |
||
1239 | 1239 | * @param $account |
1240 | 1240 | * Account for which the messages should be loaded. |
1241 | 1241 | */ |
1242 | -function privatemsg_sql_load(&$fragments, $pmids, $account = NULL) { |
|
1242 | +function privatemsg_sql_load(&$fragments, $pmids, $account = null) { |
|
1243 | 1243 | $fragments['primary_table'] = '{pm_message} pm'; |
1244 | 1244 | |
1245 | 1245 | $fragments['select'][] = "pm.mid"; |
@@ -1275,7 +1275,7 @@ discard block |
||
1275 | 1275 | * @param $load_all |
1276 | 1276 | * Deleted messages are only loaded if this is set to TRUE. |
1277 | 1277 | */ |
1278 | -function privatemsg_sql_messages(&$fragments, $threads, $account = NULL, $load_all = FALSE) { |
|
1278 | +function privatemsg_sql_messages(&$fragments, $threads, $account = null, $load_all = false) { |
|
1279 | 1279 | $fragments['primary_table'] = '{pm_index} pmi'; |
1280 | 1280 | |
1281 | 1281 | $fragments['select'][] = 'pmi.mid'; |
@@ -1445,7 +1445,7 @@ discard block |
||
1445 | 1445 | drupal_json((object)$matches); |
1446 | 1446 | } |
1447 | 1447 | |
1448 | -function privatemsg_user($op, &$edit, &$account, $category = NULL) { |
|
1448 | +function privatemsg_user($op, &$edit, &$account, $category = null) { |
|
1449 | 1449 | global $user; |
1450 | 1450 | |
1451 | 1451 | switch ($op) { |
@@ -1459,7 +1459,7 @@ discard block |
||
1459 | 1459 | } |
1460 | 1460 | break; |
1461 | 1461 | case 'login': |
1462 | - if (variable_get('privatemsg_display_loginmessage', TRUE) && privatemsg_user_access()) { |
|
1462 | + if (variable_get('privatemsg_display_loginmessage', true) && privatemsg_user_access()) { |
|
1463 | 1463 | $count = privatemsg_unread_count(); |
1464 | 1464 | if ($count) { |
1465 | 1465 | drupal_set_message(format_plural($count, 'You have <a href="@messages">1 unread message</a>.', 'You have <a href="@messages">@count unread messages</a>', array('@messages' => url('messages')))); |
@@ -1517,7 +1517,7 @@ discard block |
||
1517 | 1517 | } |
1518 | 1518 | } |
1519 | 1519 | |
1520 | -function privatemsg_title_callback($title = NULL) { |
|
1520 | +function privatemsg_title_callback($title = null) { |
|
1521 | 1521 | $count = privatemsg_unread_count(); |
1522 | 1522 | |
1523 | 1523 | if ($count > 0) { |
@@ -1579,7 +1579,7 @@ discard block |
||
1579 | 1579 | '#type' => 'checkbox', |
1580 | 1580 | '#title' => t('Delete this message for all users?'), |
1581 | 1581 | '#description' => t('Tick the box to delete the message for all users.'), |
1582 | - '#default_value' => FALSE, |
|
1582 | + '#default_value' => false, |
|
1583 | 1583 | ); |
1584 | 1584 | } |
1585 | 1585 | return confirm_form($form, |
@@ -1621,9 +1621,9 @@ discard block |
||
1621 | 1621 | * |
1622 | 1622 | * @ingroup api |
1623 | 1623 | */ |
1624 | -function privatemsg_message_change_delete($pmid, $delete, $account = NULL) { |
|
1624 | +function privatemsg_message_change_delete($pmid, $delete, $account = null) { |
|
1625 | 1625 | $delete_value = 0; |
1626 | - if ($delete == TRUE) { |
|
1626 | + if ($delete == true) { |
|
1627 | 1627 | $delete_value = time(); |
1628 | 1628 | } |
1629 | 1629 | |
@@ -1675,7 +1675,7 @@ discard block |
||
1675 | 1675 | * |
1676 | 1676 | * @ingroup api |
1677 | 1677 | */ |
1678 | -function privatemsg_new_thread($recipients, $subject, $body = NULL, $options = array()) { |
|
1678 | +function privatemsg_new_thread($recipients, $subject, $body = null, $options = array()) { |
|
1679 | 1679 | global $user; |
1680 | 1680 | $author = drupal_clone($user); |
1681 | 1681 | |
@@ -1781,21 +1781,21 @@ discard block |
||
1781 | 1781 | return $validated; |
1782 | 1782 | } |
1783 | 1783 | |
1784 | -function _privatemsg_validate_message(&$message, $form = FALSE) { |
|
1784 | +function _privatemsg_validate_message(&$message, $form = false) { |
|
1785 | 1785 | $messages = array('error' => array(), 'warning' => array()); |
1786 | 1786 | if (!privatemsg_user_access('write privatemsg', $message['author'])) { |
1787 | 1787 | // no need to do further checks in this case... |
1788 | 1788 | if ($form) { |
1789 | 1789 | form_set_error('author', t('User @user is not allowed to write messages', array('@user' => $message['author']->name))); |
1790 | 1790 | return array( |
1791 | - 'success' => FALSE, |
|
1791 | + 'success' => false, |
|
1792 | 1792 | 'messages' => $messages, |
1793 | 1793 | ); |
1794 | 1794 | } |
1795 | 1795 | else { |
1796 | 1796 | $messages['error'][] = t('User @user is not allowed to write messages', array('@user' => $message['author']->name)); |
1797 | 1797 | return array( |
1798 | - 'success' => FALSE, |
|
1798 | + 'success' => false, |
|
1799 | 1799 | 'messages' => $messages, |
1800 | 1800 | ); |
1801 | 1801 | } |
@@ -1813,7 +1813,7 @@ discard block |
||
1813 | 1813 | } |
1814 | 1814 | |
1815 | 1815 | // Don't allow replies without a body. |
1816 | - if (!empty($message['thread_id']) && ($message['body'] === NULL || $message['body'] === '') ) { |
|
1816 | + if (!empty($message['thread_id']) && ($message['body'] === null || $message['body'] === '') ) { |
|
1817 | 1817 | if ($form) { |
1818 | 1818 | form_set_error('body', t('Disallowed to send reply without a message.')); |
1819 | 1819 | } |
@@ -1825,7 +1825,7 @@ discard block |
||
1825 | 1825 | // it is not possible to do the check for a specific user. |
1826 | 1826 | global $user; |
1827 | 1827 | $original_user = drupal_clone($user); |
1828 | - session_save_session(FALSE); |
|
1828 | + session_save_session(false); |
|
1829 | 1829 | $user = $message['author']; |
1830 | 1830 | |
1831 | 1831 | if (!filter_access($message['format'])) { |
@@ -1838,7 +1838,7 @@ discard block |
||
1838 | 1838 | } |
1839 | 1839 | |
1840 | 1840 | $user = $original_user; |
1841 | - session_save_session(TRUE); |
|
1841 | + session_save_session(true); |
|
1842 | 1842 | |
1843 | 1843 | if (empty($message['recipients']) || !is_array($message['recipients'])) { |
1844 | 1844 | if ($form) { |
@@ -1900,11 +1900,11 @@ discard block |
||
1900 | 1900 | if (isset($message['read_all']) && $message['read_all']) { |
1901 | 1901 | // The message was sent in read all mode, add the author as recipient to all |
1902 | 1902 | // existing messages. |
1903 | - $query_messages = _privatemsg_assemble_query('messages', array($message['thread_id']), NULL); |
|
1903 | + $query_messages = _privatemsg_assemble_query('messages', array($message['thread_id']), null); |
|
1904 | 1904 | $conversation = db_query($query_messages['query']); |
1905 | 1905 | while ($result = db_fetch_array($conversation)) { |
1906 | 1906 | if (!db_query($index_sql, $result['mid'], $message['thread_id'], $message['author']->uid, 0)) { |
1907 | - return FALSE; |
|
1907 | + return false; |
|
1908 | 1908 | } |
1909 | 1909 | } |
1910 | 1910 | } |
@@ -1932,7 +1932,7 @@ discard block |
||
1932 | 1932 | if (!db_query($index_sql, $mid, $message['thread_id'], $recipient->uid, 1) ) { |
1933 | 1933 | // We assume if one insert failed then the rest may fail too against the |
1934 | 1934 | // same table. |
1935 | - return FALSE; |
|
1935 | + return false; |
|
1936 | 1936 | } |
1937 | 1937 | } |
1938 | 1938 | |
@@ -1942,7 +1942,7 @@ discard block |
||
1942 | 1942 | |
1943 | 1943 | // Also add a record for the author to the pm_index table. |
1944 | 1944 | if (!db_query($index_sql, $mid, $message['thread_id'], $message['author']->uid, $is_new)) { |
1945 | - return FALSE; |
|
1945 | + return false; |
|
1946 | 1946 | } |
1947 | 1947 | |
1948 | 1948 | module_invoke_all('privatemsg_message_insert', $message); |
@@ -1967,8 +1967,8 @@ discard block |
||
1967 | 1967 | * |
1968 | 1968 | * @ingroup api |
1969 | 1969 | */ |
1970 | -function privatemsg_get_link($recipients, $account = array(), $subject = NULL) { |
|
1971 | - if ($account == NULL) { |
|
1970 | +function privatemsg_get_link($recipients, $account = array(), $subject = null) { |
|
1971 | + if ($account == null) { |
|
1972 | 1972 | global $user; |
1973 | 1973 | $account = $user; |
1974 | 1974 | } |
@@ -1978,7 +1978,7 @@ discard block |
||
1978 | 1978 | } |
1979 | 1979 | |
1980 | 1980 | if (!privatemsg_user_access('write privatemsg', $account) || $account->uid == 0) { |
1981 | - return FALSE; |
|
1981 | + return false; |
|
1982 | 1982 | } |
1983 | 1983 | |
1984 | 1984 | $validated = array(); |
@@ -1992,7 +1992,7 @@ discard block |
||
1992 | 1992 | $validated[] = $recipient->uid; |
1993 | 1993 | } |
1994 | 1994 | if (empty($validated)) { |
1995 | - return FALSE; |
|
1995 | + return false; |
|
1996 | 1996 | } |
1997 | 1997 | $url = 'messages/new/'. implode(',', $validated); |
1998 | 1998 | if (!is_null($subject)) { |
@@ -2012,7 +2012,7 @@ discard block |
||
2012 | 2012 | * |
2013 | 2013 | * @ingroup api |
2014 | 2014 | */ |
2015 | -function privatemsg_message_load($pmid, $account = NULL) { |
|
2015 | +function privatemsg_message_load($pmid, $account = null) { |
|
2016 | 2016 | $messages = privatemsg_message_load_multiple(array($pmid), $account); |
2017 | 2017 | return current($messages); |
2018 | 2018 | } |
@@ -2028,7 +2028,7 @@ discard block |
||
2028 | 2028 | * |
2029 | 2029 | * @ingroup api |
2030 | 2030 | */ |
2031 | -function privatemsg_message_load_multiple($pmids, $account = NULL) { |
|
2031 | +function privatemsg_message_load_multiple($pmids, $account = null) { |
|
2032 | 2032 | // Avoid SQL error that would happen with an empty pm.mid IN () clause. |
2033 | 2033 | if (empty($pmids)) { |
2034 | 2034 | return array(); |
@@ -2115,7 +2115,7 @@ discard block |
||
2115 | 2115 | */ |
2116 | 2116 | if (!function_exists($query_function)) { |
2117 | 2117 | drupal_set_message(t('Query function %function does not exist', array('%function' => $query_function)), 'error'); |
2118 | - return FALSE; |
|
2118 | + return false; |
|
2119 | 2119 | } |
2120 | 2120 | call_user_func_array($query_function, $alterargs); |
2121 | 2121 | |
@@ -2143,7 +2143,7 @@ discard block |
||
2143 | 2143 | // Perform the whole query assembly only if we have something to select. |
2144 | 2144 | if (!empty($SELECT)) { |
2145 | 2145 | $str_select = implode(", ", $SELECT); |
2146 | - $query = "SELECT {$str_select} FROM ". $primary_table; |
|
2146 | + $query = "select {$str_select} FROM ". $primary_table; |
|
2147 | 2147 | |
2148 | 2148 | // Also build a count query which can be passed to pager_query to get a "page count" as that does not play well with queries including "GROUP BY". |
2149 | 2149 | // In most cases, "COUNT(*)" is enough to get the count query, but in queries involving a GROUP BY, we want a count of the number of groups we have, not the count of elements inside each group. |
@@ -2186,14 +2186,14 @@ discard block |
||
2186 | 2186 | } |
2187 | 2187 | $QUERY_ARGS = array_merge($QUERY_ARGS['select'], $QUERY_ARGS['join'], $QUERY_ARGS['where'], $QUERY_ARGS['having']); |
2188 | 2188 | if (!empty($QUERY_ARGS)) { |
2189 | - _db_query_callback($QUERY_ARGS, TRUE); |
|
2189 | + _db_query_callback($QUERY_ARGS, true); |
|
2190 | 2190 | $query = preg_replace_callback(DB_QUERY_REGEXP, '_db_query_callback', $query); |
2191 | - _db_query_callback($QUERY_ARGS, TRUE); |
|
2191 | + _db_query_callback($QUERY_ARGS, true); |
|
2192 | 2192 | $count = preg_replace_callback(DB_QUERY_REGEXP, '_db_query_callback', $count); |
2193 | 2193 | } |
2194 | 2194 | return array('query' => $query, 'count' => $count); |
2195 | 2195 | } |
2196 | - return FALSE; |
|
2196 | + return false; |
|
2197 | 2197 | } |
2198 | 2198 | |
2199 | 2199 | /** |
@@ -2215,8 +2215,8 @@ discard block |
||
2215 | 2215 | '#title' => t('Actions'), |
2216 | 2216 | '#prefix' => '<div class="container-inline">', |
2217 | 2217 | '#suffix' => '</div>', |
2218 | - '#collapsible' => TRUE, |
|
2219 | - '#collapsed' => FALSE, |
|
2218 | + '#collapsible' => true, |
|
2219 | + '#collapsed' => false, |
|
2220 | 2220 | '#weight' => 15, |
2221 | 2221 | ); |
2222 | 2222 | if (privatemsg_user_access('delete privatemsg')) { |
@@ -2261,7 +2261,7 @@ discard block |
||
2261 | 2261 | * User object for which the threads should be deleted, defaults to the |
2262 | 2262 | * current user. |
2263 | 2263 | */ |
2264 | -function privatemsg_thread_change_status($threads, $status, $account = NULL) { |
|
2264 | +function privatemsg_thread_change_status($threads, $status, $account = null) { |
|
2265 | 2265 | if (!is_array($threads)) { |
2266 | 2266 | $threads = array($threads); |
2267 | 2267 | } |
@@ -2505,7 +2505,7 @@ discard block |
||
2505 | 2505 | * User object for which the threads should be deleted, |
2506 | 2506 | * defaults to the current user. |
2507 | 2507 | */ |
2508 | -function privatemsg_thread_change_delete($threads, $delete, $account = NULL) { |
|
2508 | +function privatemsg_thread_change_delete($threads, $delete, $account = null) { |
|
2509 | 2509 | if (!is_array($threads)) { |
2510 | 2510 | $threads = array($threads); |
2511 | 2511 | } |
@@ -2518,7 +2518,7 @@ discard block |
||
2518 | 2518 | $params = array_merge(array($delete, $account->uid), $threads); |
2519 | 2519 | |
2520 | 2520 | // Load all messages of those threads including the deleted. |
2521 | - $query = _privatemsg_assemble_query('messages', $threads, $account, TRUE); |
|
2521 | + $query = _privatemsg_assemble_query('messages', $threads, $account, true); |
|
2522 | 2522 | $result = db_query($query['query']); |
2523 | 2523 | |
2524 | 2524 | // Delete each message. We need to do that to trigger the delete hook. |
@@ -22,13 +22,13 @@ discard block |
||
22 | 22 | * Implements hook_perm(). |
23 | 23 | */ |
24 | 24 | function privatemsg_perm() { |
25 | - return array( |
|
25 | + return array( |
|
26 | 26 | 'read privatemsg', |
27 | 27 | 'read all private messages', |
28 | 28 | 'administer privatemsg settings', |
29 | 29 | 'write privatemsg', |
30 | 30 | 'delete privatemsg', |
31 | - ); |
|
31 | + ); |
|
32 | 32 | } |
33 | 33 | |
34 | 34 | /** |
@@ -42,27 +42,27 @@ discard block |
||
42 | 42 | * Array with user objects. |
43 | 43 | */ |
44 | 44 | function _privatemsg_generate_user_array($userstring, $slice = NULL) { |
45 | - static $user_cache = array(); |
|
46 | - |
|
47 | - // Convert user uid list (uid1,uid2,uid3) into an array. If $slice is not NULL |
|
48 | - // pass that as argument to array_slice(). For example, -4 will only load the |
|
49 | - // last four users. |
|
50 | - // This is done to avoid loading user objects that are not displayed, for |
|
51 | - // obvious performance reasons. |
|
52 | - $users = explode(',', $userstring); |
|
53 | - if (!is_null($slice)) { |
|
45 | + static $user_cache = array(); |
|
46 | + |
|
47 | + // Convert user uid list (uid1,uid2,uid3) into an array. If $slice is not NULL |
|
48 | + // pass that as argument to array_slice(). For example, -4 will only load the |
|
49 | + // last four users. |
|
50 | + // This is done to avoid loading user objects that are not displayed, for |
|
51 | + // obvious performance reasons. |
|
52 | + $users = explode(',', $userstring); |
|
53 | + if (!is_null($slice)) { |
|
54 | 54 | $users = array_slice($users, $slice); |
55 | - } |
|
56 | - $participants = array(); |
|
57 | - foreach ($users as $uid) { |
|
55 | + } |
|
56 | + $participants = array(); |
|
57 | + foreach ($users as $uid) { |
|
58 | 58 | if (!array_key_exists($uid, $user_cache)) { |
59 | - $user_cache[$uid] = user_load($uid); |
|
59 | + $user_cache[$uid] = user_load($uid); |
|
60 | 60 | } |
61 | 61 | if (is_object($user_cache[$uid])) { |
62 | - $participants[$uid] = $user_cache[$uid]; |
|
62 | + $participants[$uid] = $user_cache[$uid]; |
|
63 | + } |
|
63 | 64 | } |
64 | - } |
|
65 | - return $participants; |
|
65 | + return $participants; |
|
66 | 66 | } |
67 | 67 | |
68 | 68 | /** |
@@ -80,60 +80,60 @@ discard block |
||
80 | 80 | * String with formated user objects, like user1, user2. |
81 | 81 | */ |
82 | 82 | function _privatemsg_format_participants($part_array, $limit = NULL, $no_text = FALSE) { |
83 | - if (count($part_array) > 0) { |
|
83 | + if (count($part_array) > 0) { |
|
84 | 84 | $to = array(); |
85 | 85 | $limited = FALSE; |
86 | 86 | foreach ($part_array as $account) { |
87 | - if (is_int($limit) && count($to) >= $limit) { |
|
87 | + if (is_int($limit) && count($to) >= $limit) { |
|
88 | 88 | $limited = TRUE; |
89 | 89 | break; |
90 | - } |
|
91 | - $to[] = theme('username', $account); |
|
90 | + } |
|
91 | + $to[] = theme('username', $account); |
|
92 | 92 | } |
93 | 93 | |
94 | 94 | $limit_string = ''; |
95 | 95 | if ($limited) { |
96 | - $limit_string = t(' and others'); |
|
96 | + $limit_string = t(' and others'); |
|
97 | 97 | } |
98 | 98 | |
99 | 99 | |
100 | 100 | if ($no_text) { |
101 | - return implode(', ', $to) . $limit_string; |
|
101 | + return implode(', ', $to) . $limit_string; |
|
102 | 102 | } |
103 | 103 | |
104 | 104 | $last = array_pop($to); |
105 | 105 | if (count($to) == 0) { // Only one participant |
106 | - return t("From !last", array('!last' => $last)); |
|
106 | + return t("From !last", array('!last' => $last)); |
|
107 | 107 | } |
108 | 108 | else { // Multipe participants.. |
109 | - $participants = implode(', ', $to); |
|
110 | - return t('Participants: !participants and !last', array('!participants' => $participants, '!last' => $last)); |
|
109 | + $participants = implode(', ', $to); |
|
110 | + return t('Participants: !participants and !last', array('!participants' => $participants, '!last' => $last)); |
|
111 | + } |
|
111 | 112 | } |
112 | - } |
|
113 | - return ''; |
|
113 | + return ''; |
|
114 | 114 | } |
115 | 115 | |
116 | 116 | /** |
117 | 117 | * Implements hook_menu(). |
118 | 118 | */ |
119 | 119 | function privatemsg_menu() { |
120 | - $items['messages'] = array( |
|
120 | + $items['messages'] = array( |
|
121 | 121 | 'title' => 'Messages', |
122 | 122 | 'title callback' => 'privatemsg_title_callback', |
123 | 123 | 'page callback' => 'drupal_get_form', |
124 | 124 | 'page arguments' => array('privatemsg_list', 'list'), |
125 | 125 | 'access callback' => 'privatemsg_user_access', |
126 | 126 | 'type' => MENU_NORMAL_ITEM, |
127 | - ); |
|
128 | - $items['messages/list'] = array( |
|
127 | + ); |
|
128 | + $items['messages/list'] = array( |
|
129 | 129 | 'title' => 'Messages', |
130 | 130 | 'page callback' => 'drupal_get_form', |
131 | 131 | 'page arguments' => array('privatemsg_list', 'list'), |
132 | 132 | 'access callback' => 'privatemsg_user_access', |
133 | 133 | 'type' => MENU_DEFAULT_LOCAL_TASK, |
134 | 134 | 'weight' => -10, |
135 | - ); |
|
136 | - $items['messages/view/%privatemsg_thread'] = array( |
|
135 | + ); |
|
136 | + $items['messages/view/%privatemsg_thread'] = array( |
|
137 | 137 | 'title' => 'Read message', |
138 | 138 | // Set the third argument to TRUE so that we can show access denied instead |
139 | 139 | // of not found. |
@@ -144,16 +144,16 @@ discard block |
||
144 | 144 | 'access arguments' => array(2), |
145 | 145 | 'type' => MENU_LOCAL_TASK, |
146 | 146 | 'weight' => -5, |
147 | - ); |
|
148 | - $items['messages/delete/%privatemsg_thread/%privatemsg_message'] = array( |
|
147 | + ); |
|
148 | + $items['messages/delete/%privatemsg_thread/%privatemsg_message'] = array( |
|
149 | 149 | 'title' => 'Delete message', |
150 | 150 | 'page callback' => 'drupal_get_form', |
151 | 151 | 'page arguments' => array('privatemsg_delete', 2, 3), |
152 | 152 | 'access callback' => 'privatemsg_user_access', |
153 | 153 | 'access arguments' => array('delete privatemsg'), |
154 | 154 | 'type' => MENU_CALLBACK, |
155 | - ); |
|
156 | - $items['messages/new'] = array( |
|
155 | + ); |
|
156 | + $items['messages/new'] = array( |
|
157 | 157 | 'title' => 'Write new message', |
158 | 158 | 'page callback' => 'drupal_get_form', |
159 | 159 | 'page arguments' => array('privatemsg_new', 2, 3, NULL), |
@@ -161,24 +161,24 @@ discard block |
||
161 | 161 | 'access arguments' => array('write privatemsg'), |
162 | 162 | 'type' => MENU_LOCAL_TASK, |
163 | 163 | 'weight' => -3, |
164 | - ); |
|
165 | - // Auto-completes available user names & removes duplicates. |
|
166 | - $items['messages/user-name-autocomplete'] = array( |
|
164 | + ); |
|
165 | + // Auto-completes available user names & removes duplicates. |
|
166 | + $items['messages/user-name-autocomplete'] = array( |
|
167 | 167 | 'page callback' => 'privatemsg_user_name_autocomplete', |
168 | 168 | 'access callback' => 'privatemsg_user_access', |
169 | 169 | 'access arguments' => array('write privatemsg'), |
170 | 170 | 'type' => MENU_CALLBACK, |
171 | 171 | 'weight' => -10, |
172 | - ); |
|
173 | - $items['admin/settings/messages'] = array( |
|
172 | + ); |
|
173 | + $items['admin/settings/messages'] = array( |
|
174 | 174 | 'title' => 'Private messages', |
175 | 175 | 'description' => 'Configure private messaging settings.', |
176 | 176 | 'page callback' => 'drupal_get_form', |
177 | 177 | 'page arguments' => array('private_message_settings'), |
178 | 178 | 'access arguments' => array('administer privatemsg settings'), |
179 | 179 | 'type' => MENU_NORMAL_ITEM, |
180 | - ); |
|
181 | - $items['admin/settings/messages/default'] = array( |
|
180 | + ); |
|
181 | + $items['admin/settings/messages/default'] = array( |
|
182 | 182 | 'title' => 'Private messages', |
183 | 183 | 'description' => 'Configure private messaging settings.', |
184 | 184 | 'page callback' => 'drupal_get_form', |
@@ -186,24 +186,24 @@ discard block |
||
186 | 186 | 'access arguments' => array('administer privatemsg settings'), |
187 | 187 | 'type' => MENU_DEFAULT_LOCAL_TASK, |
188 | 188 | 'weight' => -10, |
189 | - ); |
|
190 | - $items['messages/undo/action'] = array( |
|
189 | + ); |
|
190 | + $items['messages/undo/action'] = array( |
|
191 | 191 | 'title' => 'Private messages', |
192 | 192 | 'description' => 'Undo last thread action', |
193 | 193 | 'page callback' => 'privatemsg_undo_action', |
194 | 194 | 'access arguments' => array('read privatemsg'), |
195 | 195 | 'type' => MENU_CALLBACK, |
196 | - ); |
|
197 | - $items['user/%/messages'] = array( |
|
196 | + ); |
|
197 | + $items['user/%/messages'] = array( |
|
198 | 198 | 'title' => 'Messages', |
199 | 199 | 'page callback' => 'drupal_get_form', |
200 | 200 | 'page arguments' => array('privatemsg_list', 'list', 1), |
201 | 201 | 'access callback' => 'privatemsg_user_access', |
202 | 202 | 'access arguments' => array('read all private messages'), |
203 | 203 | 'type' => MENU_LOCAL_TASK, |
204 | - ); |
|
204 | + ); |
|
205 | 205 | |
206 | - return $items; |
|
206 | + return $items; |
|
207 | 207 | } |
208 | 208 | |
209 | 209 | /** |
@@ -220,17 +220,17 @@ discard block |
||
220 | 220 | * @ingroup api |
221 | 221 | */ |
222 | 222 | function privatemsg_user_access($permission = 'read privatemsg', $account = NULL) { |
223 | - if ( $account === NULL ) { |
|
223 | + if ( $account === NULL ) { |
|
224 | 224 | global $user; |
225 | 225 | $account = $user; |
226 | - } |
|
227 | - if (!$account->uid) { // Disallow anonymous access, regardless of permissions |
|
226 | + } |
|
227 | + if (!$account->uid) { // Disallow anonymous access, regardless of permissions |
|
228 | 228 | return FALSE; |
229 | - } |
|
230 | - if (!user_access($permission, $account)) { |
|
229 | + } |
|
230 | + if (!user_access($permission, $account)) { |
|
231 | 231 | return FALSE; |
232 | - } |
|
233 | - return TRUE; |
|
232 | + } |
|
233 | + return TRUE; |
|
234 | 234 | } |
235 | 235 | |
236 | 236 | /** |
@@ -247,15 +247,15 @@ discard block |
||
247 | 247 | * @ingroup api |
248 | 248 | */ |
249 | 249 | function privatemsg_view_access($thread = array()) { |
250 | - // Do not allow access to threads without messages. |
|
251 | - if (empty($thread['messages'])) { |
|
250 | + // Do not allow access to threads without messages. |
|
251 | + if (empty($thread['messages'])) { |
|
252 | 252 | // Count all messages, if there |
253 | 253 | return FALSE; |
254 | - } |
|
255 | - if (privatemsg_user_access('read privatemsg') && arg(1) == 'view') { |
|
254 | + } |
|
255 | + if (privatemsg_user_access('read privatemsg') && arg(1) == 'view') { |
|
256 | 256 | return TRUE; |
257 | - } |
|
258 | - return FALSE; |
|
257 | + } |
|
258 | + return FALSE; |
|
259 | 259 | } |
260 | 260 | |
261 | 261 | /** |
@@ -284,142 +284,141 @@ discard block |
||
284 | 284 | * |
285 | 285 | * If no messages are found, or the thread_id is invalid, the function returns |
286 | 286 | * FALSE. |
287 | - |
|
288 | 287 | * @ingroup api |
289 | 288 | */ |
290 | 289 | function privatemsg_thread_load($thread_id, $account = NULL, $start = NULL, $useAccessDenied = FALSE) { |
291 | - static $threads = array(); |
|
292 | - if ((int)$thread_id > 0) { |
|
290 | + static $threads = array(); |
|
291 | + if ((int)$thread_id > 0) { |
|
293 | 292 | $thread = array('thread_id' => $thread_id); |
294 | 293 | |
295 | 294 | if (is_null($account)) { |
296 | - global $user; |
|
297 | - $account = drupal_clone($user); |
|
295 | + global $user; |
|
296 | + $account = drupal_clone($user); |
|
298 | 297 | } |
299 | 298 | |
300 | 299 | if (!isset($threads[$account->uid])) { |
301 | - $threads[$account->uid] = array(); |
|
300 | + $threads[$account->uid] = array(); |
|
302 | 301 | } |
303 | 302 | |
304 | 303 | if (!array_key_exists($thread_id, $threads[$account->uid])) { |
305 | - // Load the list of participants. |
|
306 | - $query = _privatemsg_assemble_query('participants', $thread_id); |
|
307 | - $participants = db_query($query['query']); |
|
308 | - $thread['participants'] = array(); |
|
309 | - while ($participant = db_fetch_object($participants)) { |
|
304 | + // Load the list of participants. |
|
305 | + $query = _privatemsg_assemble_query('participants', $thread_id); |
|
306 | + $participants = db_query($query['query']); |
|
307 | + $thread['participants'] = array(); |
|
308 | + while ($participant = db_fetch_object($participants)) { |
|
310 | 309 | $thread['participants'][$participant->uid] = $participant; |
311 | - } |
|
312 | - $thread['read_all'] = FALSE; |
|
313 | - if (!array_key_exists($account->uid, $thread['participants']) && privatemsg_user_access('read all private messages', $account)) { |
|
310 | + } |
|
311 | + $thread['read_all'] = FALSE; |
|
312 | + if (!array_key_exists($account->uid, $thread['participants']) && privatemsg_user_access('read all private messages', $account)) { |
|
314 | 313 | $thread['read_all'] = TRUE; |
315 | - } |
|
314 | + } |
|
316 | 315 | |
317 | - // Load messages returned by the messages query with privatemsg_message_load_multiple(). |
|
318 | - $query = _privatemsg_assemble_query('messages', array($thread_id), $thread['read_all'] ? NULL : $account); |
|
319 | - $thread['message_count'] = $thread['to'] = db_result(db_query($query['count'])); |
|
320 | - $thread['from'] = 1; |
|
321 | - // Check if we need to limit the messages. |
|
322 | - $max_amount = variable_get('privatemsg_view_max_amount', 20); |
|
316 | + // Load messages returned by the messages query with privatemsg_message_load_multiple(). |
|
317 | + $query = _privatemsg_assemble_query('messages', array($thread_id), $thread['read_all'] ? NULL : $account); |
|
318 | + $thread['message_count'] = $thread['to'] = db_result(db_query($query['count'])); |
|
319 | + $thread['from'] = 1; |
|
320 | + // Check if we need to limit the messages. |
|
321 | + $max_amount = variable_get('privatemsg_view_max_amount', 20); |
|
323 | 322 | |
324 | - // If there is no start value, select based on get params. |
|
325 | - if (is_null($start)) { |
|
323 | + // If there is no start value, select based on get params. |
|
324 | + if (is_null($start)) { |
|
326 | 325 | if (isset($_GET['start']) && $_GET['start'] < $thread['message_count']) { |
327 | - $start = $_GET['start']; |
|
326 | + $start = $_GET['start']; |
|
328 | 327 | } |
329 | 328 | elseif (!variable_get('privatemsg_view_use_max_as_default', FALSE) && $max_amount == PRIVATEMSG_UNLIMITED) { |
330 | - $start = PRIVATEMSG_UNLIMITED; |
|
329 | + $start = PRIVATEMSG_UNLIMITED; |
|
331 | 330 | } |
332 | 331 | else { |
333 | - $start = $thread['message_count'] - (variable_get('privatemsg_view_use_max_as_default', FALSE) ? variable_get('privatemsg_view_default_amount', 10) : $max_amount); |
|
332 | + $start = $thread['message_count'] - (variable_get('privatemsg_view_use_max_as_default', FALSE) ? variable_get('privatemsg_view_default_amount', 10) : $max_amount); |
|
333 | + } |
|
334 | 334 | } |
335 | - } |
|
336 | 335 | |
337 | - if ($start != PRIVATEMSG_UNLIMITED) { |
|
336 | + if ($start != PRIVATEMSG_UNLIMITED) { |
|
338 | 337 | if ($max_amount == PRIVATEMSG_UNLIMITED) { |
339 | - $last_page = 0; |
|
340 | - $max_amount = $thread['message_count']; |
|
338 | + $last_page = 0; |
|
339 | + $max_amount = $thread['message_count']; |
|
341 | 340 | } |
342 | 341 | else { |
343 | - // Calculate the number of messages on the "last" page to avoid |
|
344 | - // message overlap. |
|
345 | - // Note - the last page lists the earliest messages, not the latest. |
|
346 | - $paging_count = variable_get('privatemsg_view_use_max_as_default', FALSE) ? $thread['message_count'] - variable_get('privatemsg_view_default_amount', 10) : $thread['message_count']; |
|
347 | - $last_page = $paging_count % $max_amount; |
|
342 | + // Calculate the number of messages on the "last" page to avoid |
|
343 | + // message overlap. |
|
344 | + // Note - the last page lists the earliest messages, not the latest. |
|
345 | + $paging_count = variable_get('privatemsg_view_use_max_as_default', FALSE) ? $thread['message_count'] - variable_get('privatemsg_view_default_amount', 10) : $thread['message_count']; |
|
346 | + $last_page = $paging_count % $max_amount; |
|
348 | 347 | } |
349 | 348 | |
350 | 349 | // Sanity check - we cannot start from a negative number. |
351 | 350 | if ($start < 0) { |
352 | - $start = 0; |
|
351 | + $start = 0; |
|
353 | 352 | } |
354 | 353 | $thread['start'] = $start; |
355 | 354 | |
356 | 355 | //If there are newer messages on the page, show pager link allowing to go to the newer messages. |
357 | 356 | if (($start + $max_amount + 1) < $thread['message_count']) { |
358 | - $thread['to'] = $start + $max_amount; |
|
359 | - $thread['newer_start'] = $start + $max_amount; |
|
357 | + $thread['to'] = $start + $max_amount; |
|
358 | + $thread['newer_start'] = $start + $max_amount; |
|
360 | 359 | } |
361 | 360 | if ($start - $max_amount >= 0) { |
362 | - $thread['older_start'] = $start - $max_amount; |
|
361 | + $thread['older_start'] = $start - $max_amount; |
|
363 | 362 | } |
364 | 363 | elseif ($start > 0) { |
365 | - $thread['older_start'] = 0; |
|
364 | + $thread['older_start'] = 0; |
|
366 | 365 | } |
367 | 366 | |
368 | 367 | // Do not show messages on the last page that would show on the page |
369 | 368 | // before. This will only work when using the visual pager. |
370 | 369 | if ($start < $last_page && $max_amount != PRIVATEMSG_UNLIMITED && $max_amount < $thread['message_count']) { |
371 | - unset($thread['older_start']); |
|
372 | - $thread['to'] = $thread['newer_start'] = $max_amount = $last_page; |
|
373 | - // Start from the first message - this is a specific hack to make sure |
|
374 | - // the message display has sane paging on the last page. |
|
375 | - $start = 0; |
|
370 | + unset($thread['older_start']); |
|
371 | + $thread['to'] = $thread['newer_start'] = $max_amount = $last_page; |
|
372 | + // Start from the first message - this is a specific hack to make sure |
|
373 | + // the message display has sane paging on the last page. |
|
374 | + $start = 0; |
|
376 | 375 | } |
377 | 376 | // Visual counts start from 1 instead of zero, so plus one. |
378 | 377 | $thread['from'] = $start + 1; |
379 | 378 | $conversation = db_query_range($query['query'], $start, $max_amount); |
380 | - } |
|
381 | - else { |
|
379 | + } |
|
380 | + else { |
|
382 | 381 | $conversation = db_query($query['query']); |
383 | - } |
|
384 | - $mids = array(); |
|
385 | - while ($result = db_fetch_array($conversation)) { |
|
382 | + } |
|
383 | + $mids = array(); |
|
384 | + while ($result = db_fetch_array($conversation)) { |
|
386 | 385 | $mids[] = $result['mid']; |
387 | - } |
|
388 | - // Load messages returned by the messages query. |
|
389 | - $thread['messages'] = privatemsg_message_load_multiple($mids, $thread['read_all'] ? NULL : $account); |
|
386 | + } |
|
387 | + // Load messages returned by the messages query. |
|
388 | + $thread['messages'] = privatemsg_message_load_multiple($mids, $thread['read_all'] ? NULL : $account); |
|
390 | 389 | |
391 | - // If there are no messages, don't allow access to the thread. |
|
392 | - if (empty($thread['messages'])) { |
|
390 | + // If there are no messages, don't allow access to the thread. |
|
391 | + if (empty($thread['messages'])) { |
|
393 | 392 | if ($useAccessDenied) { |
394 | - // Generate new query with read all to see if the thread does exist. |
|
395 | - $query = _privatemsg_assemble_query('messages', array($thread_id), NULL); |
|
396 | - $exists = db_result(db_query($query['count'])); |
|
397 | - if (!$exists) { |
|
393 | + // Generate new query with read all to see if the thread does exist. |
|
394 | + $query = _privatemsg_assemble_query('messages', array($thread_id), NULL); |
|
395 | + $exists = db_result(db_query($query['count'])); |
|
396 | + if (!$exists) { |
|
398 | 397 | // Thread does not exist, display 404. |
399 | 398 | $thread = FALSE; |
400 | - } |
|
399 | + } |
|
401 | 400 | } |
402 | 401 | else { |
403 | - $thread = FALSE; |
|
402 | + $thread = FALSE; |
|
403 | + } |
|
404 | 404 | } |
405 | - } |
|
406 | - else { |
|
405 | + else { |
|
407 | 406 | // General data, assume subject is the same for all messages of that thread. |
408 | 407 | $thread['user'] = $account; |
409 | 408 | $message = current($thread['messages']); |
410 | 409 | $thread['subject'] = $message['subject']; |
411 | - } |
|
412 | - $threads[$account->uid][$thread_id] = $thread; |
|
410 | + } |
|
411 | + $threads[$account->uid][$thread_id] = $thread; |
|
413 | 412 | } |
414 | 413 | |
415 | 414 | return $threads[$account->uid][$thread_id]; |
416 | - } |
|
417 | - return FALSE; |
|
415 | + } |
|
416 | + return FALSE; |
|
418 | 417 | } |
419 | 418 | |
420 | 419 | function private_message_view_options() { |
421 | - $options = module_invoke_all('privatemsg_view_template'); |
|
422 | - return $options; |
|
420 | + $options = module_invoke_all('privatemsg_view_template'); |
|
421 | + return $options; |
|
423 | 422 | } |
424 | 423 | |
425 | 424 | /** |
@@ -435,108 +434,108 @@ discard block |
||
435 | 434 | * }; |
436 | 435 | */ |
437 | 436 | function privatemsg_privatemsg_view_template() { |
438 | - return array( |
|
437 | + return array( |
|
439 | 438 | 'privatemsg-view' => 'Default view', |
440 | - ); |
|
439 | + ); |
|
441 | 440 | } |
442 | 441 | |
443 | 442 | function private_message_settings() { |
444 | - $form = array(); |
|
443 | + $form = array(); |
|
445 | 444 | |
446 | - $form['theming_settings'] = array( |
|
445 | + $form['theming_settings'] = array( |
|
447 | 446 | '#type' => 'fieldset', |
448 | 447 | '#collapsible' => TRUE, |
449 | 448 | '#collapsed' => TRUE, |
450 | 449 | '#title' => t('Theming settings'), |
451 | - ); |
|
452 | - $form['theming_settings']['private_message_view_template'] = array( |
|
450 | + ); |
|
451 | + $form['theming_settings']['private_message_view_template'] = array( |
|
453 | 452 | '#type' => 'radios', |
454 | 453 | '#title' => t('Private message display template'), |
455 | 454 | '#default_value' => variable_get('private_message_view_template', 'privatemsg-view'), |
456 | 455 | '#options' => private_message_view_options(), |
457 | - ); |
|
458 | - $form['privatemsg_display_loginmessage'] = array( |
|
456 | + ); |
|
457 | + $form['privatemsg_display_loginmessage'] = array( |
|
459 | 458 | '#type' => 'checkbox', |
460 | 459 | '#title' => t('Inform the user about new messages on login'), |
461 | 460 | '#default_value' => variable_get('privatemsg_display_loginmessage', TRUE), |
462 | 461 | '#description' => t('This option can safely be disabled if the "New message indication" block is used instead.'), |
463 | - ); |
|
462 | + ); |
|
464 | 463 | |
465 | - $form['flush_deleted'] = array( |
|
464 | + $form['flush_deleted'] = array( |
|
466 | 465 | '#type' => 'fieldset', |
467 | 466 | '#collapsible' => TRUE, |
468 | 467 | '#collapsed' => TRUE, |
469 | 468 | '#title' => t('Flush deleted messages'), |
470 | 469 | '#description' => t('By default, deleted messages are only hidden from the user but still stored in the database. These settings control if and when messages should be removed.'), |
471 | - ); |
|
470 | + ); |
|
472 | 471 | |
473 | - $form['flush_deleted']['privatemsg_flush_enabled'] = array( |
|
472 | + $form['flush_deleted']['privatemsg_flush_enabled'] = array( |
|
474 | 473 | '#type' => 'checkbox', |
475 | 474 | '#title' => t('Flush deleted messages'), |
476 | 475 | '#default_value' => variable_get('privatemsg_flush_enabled', FALSE), |
477 | 476 | '#description' => t('Enable the flushing of deleted messages. Requires that cron is enabled'), |
478 | - ); |
|
477 | + ); |
|
479 | 478 | |
480 | - $form['flush_deleted']['privatemsg_flush_days'] = array( |
|
479 | + $form['flush_deleted']['privatemsg_flush_days'] = array( |
|
481 | 480 | '#type' => 'select', |
482 | 481 | '#title' => t('Flush messages after they have been deleted for more days than'), |
483 | 482 | '#default_value' => variable_get('privatemsg_flush_days', 30), |
484 | 483 | '#options' => drupal_map_assoc(array(0, 1, 2, 5, 10, 30, 100)), |
485 | - ); |
|
484 | + ); |
|
486 | 485 | |
487 | - $form['flush_deleted']['privatemsg_flush_max'] = array( |
|
486 | + $form['flush_deleted']['privatemsg_flush_max'] = array( |
|
488 | 487 | '#type' => 'select', |
489 | 488 | '#title' => t('Maximum number of messages to flush per cron run'), |
490 | 489 | '#default_value' => variable_get('privatemsg_flush_max', 200), |
491 | 490 | '#options' => drupal_map_assoc(array(50, 100, 200, 500, 1000)), |
492 | - ); |
|
491 | + ); |
|
493 | 492 | |
494 | - $form['privatemsg_listing'] = array( |
|
493 | + $form['privatemsg_listing'] = array( |
|
495 | 494 | '#type' => 'fieldset', |
496 | 495 | '#title' => t('Configure listings'), |
497 | 496 | '#collapsible' => TRUE, |
498 | 497 | '#collapsed' => FALSE, |
499 | - ); |
|
498 | + ); |
|
500 | 499 | |
501 | - $form['privatemsg_listing']['privatemsg_per_page'] = array( |
|
500 | + $form['privatemsg_listing']['privatemsg_per_page'] = array( |
|
502 | 501 | '#type' => 'select', |
503 | 502 | '#title' => t('Threads per page'), |
504 | 503 | '#default_value' => variable_get('privatemsg_per_page', 25), |
505 | 504 | '#options' => drupal_map_assoc(array(10, 25, 50, 75, 100)), |
506 | 505 | '#description' => t('Choose the number of conversations that should be listed per page.'), |
507 | - ); |
|
506 | + ); |
|
508 | 507 | |
509 | - $form['privatemsg_listing']['privatemsg_display_fields'] = array( |
|
508 | + $form['privatemsg_listing']['privatemsg_display_fields'] = array( |
|
510 | 509 | '#type' => 'checkboxes', |
511 | 510 | '#title' => t('Configure fields'), |
512 | 511 | '#description' => t('Select which columns/fields should be displayed in the message listings. Subject and Last updated cannot be disabled.'), |
513 | 512 | '#options' => array( |
514 | - 'participants' => t('Participants'), |
|
515 | - 'thread_started' => t('Started'), |
|
516 | - 'count' => t('Messages'), |
|
513 | + 'participants' => t('Participants'), |
|
514 | + 'thread_started' => t('Started'), |
|
515 | + 'count' => t('Messages'), |
|
517 | 516 | ), |
518 | 517 | '#default_value' => variable_get('privatemsg_display_fields', array('participants')), |
519 | - ); |
|
518 | + ); |
|
520 | 519 | |
521 | - $amounts = drupal_map_assoc(array(5, 10, 20, 30, 50, 70, 90, 150, 200, 250, 300)); |
|
522 | - $form['privatemsg_listing']['privatemsg_view_max_amount'] = array( |
|
520 | + $amounts = drupal_map_assoc(array(5, 10, 20, 30, 50, 70, 90, 150, 200, 250, 300)); |
|
521 | + $form['privatemsg_listing']['privatemsg_view_max_amount'] = array( |
|
523 | 522 | '#type' => 'select', |
524 | 523 | '#title' => t('Number of messages on thread pages'), |
525 | 524 | '#options' => $amounts + array(PRIVATEMSG_UNLIMITED => t('Unlimited')), |
526 | 525 | '#default_value' => variable_get('privatemsg_view_max_amount', 20), |
527 | 526 | '#description' => t('Threads will not show more than this number of messages on a single page.'), |
528 | 527 | '#weight' => 10, |
529 | - ); |
|
528 | + ); |
|
530 | 529 | |
531 | - $form['privatemsg_listing']['privatemsg_view_use_max_as_default'] = array( |
|
530 | + $form['privatemsg_listing']['privatemsg_view_use_max_as_default'] = array( |
|
532 | 531 | '#type' => 'checkbox', |
533 | 532 | '#title' => t('Display different amount of messages on first thread page'), |
534 | 533 | '#default_value' => variable_get('privatemsg_view_use_max_as_default', FALSE), |
535 | 534 | '#description' => t('By default, the first thread page shows the maximally allowed amount of messages. Enable this checkbox to set a different value.'), |
536 | 535 | '#weight' => 15, |
537 | - ); |
|
536 | + ); |
|
538 | 537 | |
539 | - $form['privatemsg_listing']['privatemsg_view_default_amount'] = array( |
|
538 | + $form['privatemsg_listing']['privatemsg_view_default_amount'] = array( |
|
540 | 539 | '#prefix' => '<div id="privatemsg-view-default-button">', |
541 | 540 | '#suffix' => '</div>', |
542 | 541 | '#type' => 'select', |
@@ -545,15 +544,15 @@ discard block |
||
545 | 544 | '#description' => t('The number of messages to be displayed on first thread page. Displays the newest messages.'), |
546 | 545 | '#options' => $amounts, |
547 | 546 | '#weight' => 20, |
548 | - ); |
|
549 | - drupal_add_js(drupal_get_path('module', 'privatemsg') .'/privatemsg-admin.js'); |
|
547 | + ); |
|
548 | + drupal_add_js(drupal_get_path('module', 'privatemsg') .'/privatemsg-admin.js'); |
|
550 | 549 | |
551 | - $form['#submit'][] = 'private_message_settings_submit'; |
|
552 | - return system_settings_form($form); |
|
550 | + $form['#submit'][] = 'private_message_settings_submit'; |
|
551 | + return system_settings_form($form); |
|
553 | 552 | } |
554 | 553 | |
555 | 554 | function private_message_settings_submit() { |
556 | - drupal_rebuild_theme_registry(); |
|
555 | + drupal_rebuild_theme_registry(); |
|
557 | 556 | } |
558 | 557 | |
559 | 558 | /** |
@@ -563,107 +562,107 @@ discard block |
||
563 | 562 | * old enough are flushed. |
564 | 563 | */ |
565 | 564 | function privatemsg_cron() { |
566 | - if (variable_get('privatemsg_flush_enabled', FALSE)) { |
|
565 | + if (variable_get('privatemsg_flush_enabled', FALSE)) { |
|
567 | 566 | $query = _privatemsg_assemble_query('deleted', variable_get('privatemsg_flush_days', 30)); |
568 | 567 | $result = db_query($query['query']); |
569 | 568 | |
570 | 569 | $flushed = 0; |
571 | 570 | while (($row = db_fetch_array($result)) && ($flushed < variable_get('privatemsg_flush_max', 200))) { |
572 | - $message = privatemsg_message_load($row['mid']); |
|
573 | - module_invoke_all('privatemsg_message_flush', $message); |
|
571 | + $message = privatemsg_message_load($row['mid']); |
|
572 | + module_invoke_all('privatemsg_message_flush', $message); |
|
574 | 573 | |
575 | - // Delete recipients of the message. |
|
576 | - db_query('DELETE FROM {pm_index} WHERE mid = %d', $row['mid']); |
|
577 | - // Delete message itself. |
|
578 | - db_query('DELETE FROM {pm_message} WHERE mid = %d', $row['mid']); |
|
579 | - $flushed++; |
|
574 | + // Delete recipients of the message. |
|
575 | + db_query('DELETE FROM {pm_index} WHERE mid = %d', $row['mid']); |
|
576 | + // Delete message itself. |
|
577 | + db_query('DELETE FROM {pm_message} WHERE mid = %d', $row['mid']); |
|
578 | + $flushed++; |
|
579 | + } |
|
580 | 580 | } |
581 | - } |
|
582 | 581 | } |
583 | 582 | |
584 | 583 | function privatemsg_theme() { |
585 | - return array( |
|
584 | + return array( |
|
586 | 585 | 'privatemsg_view' => array( |
587 | - 'arguments' => array('message' => NULL), |
|
588 | - 'template' => variable_get('private_message_view_template', 'privatemsg-view'), // 'privatemsg', |
|
586 | + 'arguments' => array('message' => NULL), |
|
587 | + 'template' => variable_get('private_message_view_template', 'privatemsg-view'), // 'privatemsg', |
|
589 | 588 | ), |
590 | 589 | 'privatemsg_from' => array( |
591 | - 'arguments' => array('author' => NULL), |
|
592 | - 'template' => 'privatemsg-from', |
|
590 | + 'arguments' => array('author' => NULL), |
|
591 | + 'template' => 'privatemsg-from', |
|
593 | 592 | ), |
594 | 593 | 'privatemsg_recipients' => array( |
595 | - 'arguments' => array('message' => NULL), |
|
596 | - 'template' => 'privatemsg-recipients', |
|
594 | + 'arguments' => array('message' => NULL), |
|
595 | + 'template' => 'privatemsg-recipients', |
|
597 | 596 | ), |
598 | 597 | 'privatemsg_between' => array( |
599 | - 'arguments' => array('recipients' => NULL), |
|
600 | - 'template' => 'privatemsg-between', |
|
598 | + 'arguments' => array('recipients' => NULL), |
|
599 | + 'template' => 'privatemsg-between', |
|
601 | 600 | ), |
602 | 601 | 'privatemsg_list' => array( |
603 | - 'file' => 'privatemsg.theme.inc', |
|
604 | - 'path' => drupal_get_path('module', 'privatemsg'), |
|
605 | - 'arguments' => array('form'), |
|
602 | + 'file' => 'privatemsg.theme.inc', |
|
603 | + 'path' => drupal_get_path('module', 'privatemsg'), |
|
604 | + 'arguments' => array('form'), |
|
606 | 605 | ), |
607 | 606 | // Define pattern for header/field templates. The theme system will register all |
608 | 607 | // theme functions that start with the defined pattern. |
609 | 608 | 'privatemsg_list_header' => array( |
610 | - 'file' => 'privatemsg.theme.inc', |
|
611 | - 'path' => drupal_get_path('module', 'privatemsg'), |
|
612 | - 'pattern' => 'privatemsg_list_header__', |
|
613 | - 'arguments' => array(), |
|
609 | + 'file' => 'privatemsg.theme.inc', |
|
610 | + 'path' => drupal_get_path('module', 'privatemsg'), |
|
611 | + 'pattern' => 'privatemsg_list_header__', |
|
612 | + 'arguments' => array(), |
|
614 | 613 | ), |
615 | 614 | 'privatemsg_list_field' => array( |
616 | - 'file' => 'privatemsg.theme.inc', |
|
617 | - 'path' => drupal_get_path('module', 'privatemsg'), |
|
618 | - 'pattern' => 'privatemsg_list_field__', |
|
619 | - 'arguments' => array('thread'), |
|
615 | + 'file' => 'privatemsg.theme.inc', |
|
616 | + 'path' => drupal_get_path('module', 'privatemsg'), |
|
617 | + 'pattern' => 'privatemsg_list_field__', |
|
618 | + 'arguments' => array('thread'), |
|
620 | 619 | ), |
621 | 620 | 'privatemsg_new_block' => array( |
622 | - 'file' => 'privatemsg.theme.inc', |
|
623 | - 'path' => drupal_get_path('module', 'privatemsg'), |
|
624 | - 'arguments' => array('count'), |
|
621 | + 'file' => 'privatemsg.theme.inc', |
|
622 | + 'path' => drupal_get_path('module', 'privatemsg'), |
|
623 | + 'arguments' => array('count'), |
|
625 | 624 | ), |
626 | - ); |
|
625 | + ); |
|
627 | 626 | } |
628 | 627 | |
629 | 628 | function template_preprocess_privatemsg_view(&$vars) { |
630 | 629 | // drupal_set_message('<pre>'. print_r($vars,1 ) . '</pre>'); |
631 | 630 | |
632 | - $message = $vars['message']; |
|
633 | - $vars['mid'] = isset($message['mid']) ? $message['mid'] : NULL; |
|
634 | - $vars['thread_id'] = isset($message['thread_id']) ? $message['thread_id'] : NULL; |
|
635 | - $vars['author_picture'] = theme('user_picture', $message['author']); |
|
636 | - $vars['author_name_link'] = theme('username', $message['author']); |
|
637 | - /** |
|
638 | - * @todo perhaps make this timestamp configurable via admin UI? |
|
639 | - */ |
|
640 | - $vars['message_timestamp'] = format_date($message['timestamp'], 'small'); |
|
641 | - $vars['message_body'] = check_markup($message['body'], $message['format'], FALSE); |
|
642 | - if (isset($vars['mid']) && isset($vars['thread_id']) && privatemsg_user_access('delete privatemsg')) { |
|
631 | + $message = $vars['message']; |
|
632 | + $vars['mid'] = isset($message['mid']) ? $message['mid'] : NULL; |
|
633 | + $vars['thread_id'] = isset($message['thread_id']) ? $message['thread_id'] : NULL; |
|
634 | + $vars['author_picture'] = theme('user_picture', $message['author']); |
|
635 | + $vars['author_name_link'] = theme('username', $message['author']); |
|
636 | + /** |
|
637 | + * @todo perhaps make this timestamp configurable via admin UI? |
|
638 | + */ |
|
639 | + $vars['message_timestamp'] = format_date($message['timestamp'], 'small'); |
|
640 | + $vars['message_body'] = check_markup($message['body'], $message['format'], FALSE); |
|
641 | + if (isset($vars['mid']) && isset($vars['thread_id']) && privatemsg_user_access('delete privatemsg')) { |
|
643 | 642 | $vars['message_actions'][] = array('title' => t('Delete message'), 'href' => 'messages/delete/' . $vars['thread_id'] . '/' . $vars['mid']); |
644 | - } |
|
645 | - $vars['message_anchors'][] = 'privatemsg-mid-' . $vars['mid']; |
|
646 | - if (!empty($message['is_new'])) { |
|
643 | + } |
|
644 | + $vars['message_anchors'][] = 'privatemsg-mid-' . $vars['mid']; |
|
645 | + if (!empty($message['is_new'])) { |
|
647 | 646 | $vars['message_anchors'][] = 'new'; |
648 | 647 | $vars['new'] = drupal_ucfirst(t('new')); |
649 | - } |
|
648 | + } |
|
650 | 649 | |
651 | - // call hook_privatemsg_message_view_alter |
|
652 | - drupal_alter('privatemsg_message_view', $vars); |
|
650 | + // call hook_privatemsg_message_view_alter |
|
651 | + drupal_alter('privatemsg_message_view', $vars); |
|
653 | 652 | |
654 | - $vars['message_actions'] = !empty($vars['message_actions']) ? theme('links', $vars['message_actions'], array('class' => 'message-actions')) : ''; |
|
653 | + $vars['message_actions'] = !empty($vars['message_actions']) ? theme('links', $vars['message_actions'], array('class' => 'message-actions')) : ''; |
|
655 | 654 | |
656 | - $vars['anchors'] = ''; |
|
657 | - foreach ($vars['message_anchors'] as $anchor) { |
|
655 | + $vars['anchors'] = ''; |
|
656 | + foreach ($vars['message_anchors'] as $anchor) { |
|
658 | 657 | $vars['anchors'] .= '<a name="' . $anchor . '"></a>'; |
659 | - } |
|
658 | + } |
|
660 | 659 | } |
661 | 660 | |
662 | 661 | function template_preprocess_privatemsg_recipients(&$vars) { |
663 | - $vars['participants'] = ''; // assign a default empty value |
|
664 | - if (isset($vars['message']['participants'])) { |
|
662 | + $vars['participants'] = ''; // assign a default empty value |
|
663 | + if (isset($vars['message']['participants'])) { |
|
665 | 664 | $vars['participants'] = _privatemsg_format_participants($vars['message']['participants']); |
666 | - } |
|
665 | + } |
|
667 | 666 | } |
668 | 667 | |
669 | 668 | /** |
@@ -680,49 +679,49 @@ discard block |
||
680 | 679 | * Form array |
681 | 680 | */ |
682 | 681 | function privatemsg_list(&$form_state, $argument = 'list', $uid = NULL) { |
683 | - global $user; |
|
682 | + global $user; |
|
684 | 683 | |
685 | - // Setting default behavior... |
|
686 | - $account = $user; |
|
687 | - // Because uid is submitted by the menu system, it's a string not a integer. |
|
688 | - if ((int)$uid > 0 && $uid != $user->uid) { |
|
684 | + // Setting default behavior... |
|
685 | + $account = $user; |
|
686 | + // Because uid is submitted by the menu system, it's a string not a integer. |
|
687 | + if ((int)$uid > 0 && $uid != $user->uid) { |
|
689 | 688 | // Trying to view someone else's messages... |
690 | 689 | if (!privatemsg_user_access('read all private messages')) { |
691 | - drupal_set_message(t("You do not have sufficient rights to view someone else's messages"), 'warning'); |
|
690 | + drupal_set_message(t("You do not have sufficient rights to view someone else's messages"), 'warning'); |
|
692 | 691 | } |
693 | 692 | elseif ($account_check = user_load(array('uid' => $uid))) { |
694 | - // Has rights and user_load return an array so user does exist |
|
695 | - $account = $account_check; |
|
693 | + // Has rights and user_load return an array so user does exist |
|
694 | + $account = $account_check; |
|
695 | + } |
|
696 | 696 | } |
697 | - } |
|
698 | - // By this point we have figured out for which user we are listing messages and now it is safe to use $account->uid in the listing query. |
|
697 | + // By this point we have figured out for which user we are listing messages and now it is safe to use $account->uid in the listing query. |
|
699 | 698 | |
700 | - $query = _privatemsg_assemble_query('list', $account, $argument); |
|
701 | - $result = pager_query($query['query'], variable_get('privatemsg_per_page', 25), 0, $query['count']); |
|
699 | + $query = _privatemsg_assemble_query('list', $account, $argument); |
|
700 | + $result = pager_query($query['query'], variable_get('privatemsg_per_page', 25), 0, $query['count']); |
|
702 | 701 | |
703 | - $threads = array(); |
|
704 | - $form['#data'] = array(); |
|
705 | - while ($row = db_fetch_array($result)) { |
|
702 | + $threads = array(); |
|
703 | + $form['#data'] = array(); |
|
704 | + while ($row = db_fetch_array($result)) { |
|
706 | 705 | // Store the raw row data. |
707 | 706 | $form['#data'][$row['thread_id']] = $row; |
708 | 707 | // store thread id for the checkboxes array |
709 | 708 | $threads[$row['thread_id']] = ''; |
710 | - } |
|
711 | - if (!empty($form['#data'])) { |
|
709 | + } |
|
710 | + if (!empty($form['#data'])) { |
|
712 | 711 | $form['actions'] = _privatemsg_action_form(); |
713 | - } |
|
712 | + } |
|
714 | 713 | |
715 | - // Save the currently active account, used for actions. |
|
716 | - $form['account'] = array('#type' => 'value', '#value' => $account); |
|
714 | + // Save the currently active account, used for actions. |
|
715 | + $form['account'] = array('#type' => 'value', '#value' => $account); |
|
717 | 716 | |
718 | - // Define checkboxes, pager and theme |
|
719 | - $form['threads'] = array('#type' => 'checkboxes', '#options' => $threads); |
|
720 | - $form['pager'] = array('#value' => theme('pager'), '#weight' => 20); |
|
721 | - $form['#theme'] = 'privatemsg_list'; |
|
717 | + // Define checkboxes, pager and theme |
|
718 | + $form['threads'] = array('#type' => 'checkboxes', '#options' => $threads); |
|
719 | + $form['pager'] = array('#value' => theme('pager'), '#weight' => 20); |
|
720 | + $form['#theme'] = 'privatemsg_list'; |
|
722 | 721 | |
723 | - // Store the account for which the threads are displayed. |
|
724 | - $form['#account'] = $account; |
|
725 | - return $form; |
|
722 | + // Store the account for which the threads are displayed. |
|
723 | + $form['#account'] = $account; |
|
724 | + return $form; |
|
726 | 725 | } |
727 | 726 | |
728 | 727 | /** |
@@ -736,12 +735,12 @@ discard block |
||
736 | 735 | * User object, defaults to the current user |
737 | 736 | */ |
738 | 737 | function privatemsg_message_change_status($pmid, $status, $account = NULL) { |
739 | - if (!$account) { |
|
738 | + if (!$account) { |
|
740 | 739 | global $user; |
741 | 740 | $account = $user; |
742 | - } |
|
743 | - $query = "UPDATE {pm_index} SET is_new = %d WHERE mid = %d AND uid = %d"; |
|
744 | - db_query($query, $status, $pmid, $account->uid); |
|
741 | + } |
|
742 | + $query = "UPDATE {pm_index} SET is_new = %d WHERE mid = %d AND uid = %d"; |
|
743 | + db_query($query, $status, $pmid, $account->uid); |
|
745 | 744 | } |
746 | 745 | |
747 | 746 | /** |
@@ -753,16 +752,16 @@ discard block |
||
753 | 752 | * @ingroup api |
754 | 753 | */ |
755 | 754 | function privatemsg_unread_count($account = NULL) { |
756 | - static $counts = array(); |
|
757 | - if (!$account || $account->uid == 0) { |
|
755 | + static $counts = array(); |
|
756 | + if (!$account || $account->uid == 0) { |
|
758 | 757 | global $user; |
759 | 758 | $account = $user; |
760 | - } |
|
761 | - if ( !isset($counts[$account->uid])) { |
|
759 | + } |
|
760 | + if ( !isset($counts[$account->uid])) { |
|
762 | 761 | $query = _privatemsg_assemble_query('unread_count', $account); |
763 | 762 | $counts[$account->uid] = db_result(db_query($query['query'])); |
764 | - } |
|
765 | - return $counts[$account->uid]; |
|
763 | + } |
|
764 | + return $counts[$account->uid]; |
|
766 | 765 | } |
767 | 766 | |
768 | 767 | /** |
@@ -776,284 +775,284 @@ discard block |
||
776 | 775 | * @see privatemsg_thread_load() |
777 | 776 | */ |
778 | 777 | function privatemsg_view($thread) { |
779 | - drupal_set_title(check_plain($thread['subject'])); |
|
778 | + drupal_set_title(check_plain($thread['subject'])); |
|
780 | 779 | |
781 | - // Generate paging links. |
|
782 | - $older = ''; |
|
783 | - if (isset($thread['older_start'])) { |
|
780 | + // Generate paging links. |
|
781 | + $older = ''; |
|
782 | + if (isset($thread['older_start'])) { |
|
784 | 783 | $options = array( |
785 | - 'query' => array('start' => $thread['older_start']), |
|
786 | - 'title' => t('Display older messages'), |
|
784 | + 'query' => array('start' => $thread['older_start']), |
|
785 | + 'title' => t('Display older messages'), |
|
787 | 786 | ); |
788 | - $older = l(t('<<'), 'messages/view/' . $thread['thread_id'], $options); |
|
789 | - } |
|
790 | - $newer = ''; |
|
791 | - if (isset($thread['newer_start'])) { |
|
787 | + $older = l(t('<<'), 'messages/view/' . $thread['thread_id'], $options); |
|
788 | + } |
|
789 | + $newer = ''; |
|
790 | + if (isset($thread['newer_start'])) { |
|
792 | 791 | $options = array( |
793 | - 'query' => array('start' => $thread['newer_start']), |
|
794 | - 'title' => t('Display newer messages'), |
|
792 | + 'query' => array('start' => $thread['newer_start']), |
|
793 | + 'title' => t('Display newer messages'), |
|
795 | 794 | ); |
796 | 795 | $newer = l(t('>>'), 'messages/view/' . $thread['thread_id'], $options); |
797 | - } |
|
798 | - $substitutions = array('@from' => $thread['from'], '@to' => $thread['to'], '@total' => $thread['message_count'], '!previous_link' => $older, '!newer_link' => $newer); |
|
799 | - $title = t('!previous_link Displaying messages @from - @to of @total !newer_link', $substitutions); |
|
800 | - $content['pager_top'] = array( |
|
796 | + } |
|
797 | + $substitutions = array('@from' => $thread['from'], '@to' => $thread['to'], '@total' => $thread['message_count'], '!previous_link' => $older, '!newer_link' => $newer); |
|
798 | + $title = t('!previous_link Displaying messages @from - @to of @total !newer_link', $substitutions); |
|
799 | + $content['pager_top'] = array( |
|
801 | 800 | '#value' => trim($title), |
802 | 801 | '#prefix' => '<div class="privatemsg-view-pager">', |
803 | 802 | '#suffix' => '</div>', |
804 | 803 | '#weight' => -10, |
805 | - ); |
|
804 | + ); |
|
806 | 805 | |
807 | - // Display a copy at the end. |
|
808 | - $content['pager_bottom'] = $content['pager_top']; |
|
809 | - $content['pager_bottom']['#weight'] = 3; |
|
806 | + // Display a copy at the end. |
|
807 | + $content['pager_bottom'] = $content['pager_top']; |
|
808 | + $content['pager_bottom']['#weight'] = 3; |
|
810 | 809 | |
811 | - // Render the participants. |
|
812 | - $content['participants']['#value'] = theme('privatemsg_recipients', $thread); |
|
813 | - $content['participants']['#weight'] = -5; |
|
810 | + // Render the participants. |
|
811 | + $content['participants']['#value'] = theme('privatemsg_recipients', $thread); |
|
812 | + $content['participants']['#weight'] = -5; |
|
814 | 813 | |
815 | - // Render the messages. |
|
816 | - $output = ''; |
|
817 | - foreach ($thread['messages'] as $pmid => $message) { |
|
814 | + // Render the messages. |
|
815 | + $output = ''; |
|
816 | + foreach ($thread['messages'] as $pmid => $message) { |
|
818 | 817 | // Set message as read and theme it. |
819 | 818 | if (!empty($message['is_new'])) { |
820 | - privatemsg_message_change_status($pmid, PRIVATEMSG_READ, $thread['user']); |
|
819 | + privatemsg_message_change_status($pmid, PRIVATEMSG_READ, $thread['user']); |
|
821 | 820 | } |
822 | 821 | $output .= theme('privatemsg_view', $message); |
823 | - } |
|
824 | - $content['messages']['#value'] = $output; |
|
825 | - $content['messages']['#weight'] = 0; |
|
822 | + } |
|
823 | + $content['messages']['#value'] = $output; |
|
824 | + $content['messages']['#weight'] = 0; |
|
826 | 825 | |
827 | - // Display the reply form if user is allowed to use it. |
|
828 | - if (privatemsg_user_access('write privatemsg')) { |
|
826 | + // Display the reply form if user is allowed to use it. |
|
827 | + if (privatemsg_user_access('write privatemsg')) { |
|
829 | 828 | $content['reply']['#value'] = drupal_get_form('privatemsg_new', $thread['participants'], $thread['subject'], $thread['thread_id'], $thread['read_all']); |
830 | 829 | $content['reply']['#weight'] = 5; |
831 | - } |
|
830 | + } |
|
832 | 831 | |
833 | - // Check after calling the privatemsg_new form so that this message is only |
|
834 | - // displayed when we are not sending a message. |
|
835 | - if ($thread['read_all']) { |
|
832 | + // Check after calling the privatemsg_new form so that this message is only |
|
833 | + // displayed when we are not sending a message. |
|
834 | + if ($thread['read_all']) { |
|
836 | 835 | // User has permission to read all messages AND is not a participant of the current thread. |
837 | 836 | drupal_set_message(t('This conversation is being viewed with escalated priviledges and may not be the same as shown to normal users.'), 'warning'); |
838 | - } |
|
837 | + } |
|
839 | 838 | |
840 | - // Allow other modules to hook into the $content array and alter it. |
|
841 | - drupal_alter('privatemsg_view_messages', $content, $thread); |
|
842 | - return drupal_render($content); |
|
839 | + // Allow other modules to hook into the $content array and alter it. |
|
840 | + drupal_alter('privatemsg_view_messages', $content, $thread); |
|
841 | + return drupal_render($content); |
|
843 | 842 | } |
844 | 843 | |
845 | 844 | |
846 | 845 | function privatemsg_new(&$form_state, $recipients = array(), $subject = '', $thread_id = NULL, $read_all = FALSE) { |
847 | - global $user; |
|
846 | + global $user; |
|
848 | 847 | |
849 | - $recipients_string = ''; |
|
850 | - $body = ''; |
|
848 | + $recipients_string = ''; |
|
849 | + $body = ''; |
|
851 | 850 | |
852 | - // convert recipients to array of user objects |
|
853 | - if (!empty($recipients) && is_string($recipients) || is_int($recipients)) { |
|
851 | + // convert recipients to array of user objects |
|
852 | + if (!empty($recipients) && is_string($recipients) || is_int($recipients)) { |
|
854 | 853 | $recipients = _privatemsg_generate_user_array($recipients); |
855 | - } |
|
856 | - elseif (is_object($recipients)) { |
|
854 | + } |
|
855 | + elseif (is_object($recipients)) { |
|
857 | 856 | $recipients = array($recipients); |
858 | - } |
|
859 | - elseif (empty($recipients) && is_string($recipients)) { |
|
857 | + } |
|
858 | + elseif (empty($recipients) && is_string($recipients)) { |
|
860 | 859 | $recipients = array(); |
861 | - } |
|
860 | + } |
|
862 | 861 | |
863 | - $usercount = 0; |
|
864 | - $to = array(); |
|
865 | - $to_themed = array(); |
|
866 | - $blocked = FALSE; |
|
867 | - foreach ($recipients as $recipient) { |
|
862 | + $usercount = 0; |
|
863 | + $to = array(); |
|
864 | + $to_themed = array(); |
|
865 | + $blocked = FALSE; |
|
866 | + foreach ($recipients as $recipient) { |
|
868 | 867 | if (in_array($recipient->name, $to)) { |
869 | - // We already added the recipient to the list, skip him. |
|
870 | - continue; |
|
868 | + // We already added the recipient to the list, skip him. |
|
869 | + continue; |
|
871 | 870 | } |
872 | 871 | // Check if another module is blocking the sending of messages to the recipient by current user. |
873 | 872 | $user_blocked = module_invoke_all('privatemsg_block_message', $user, array($recipient->uid => $recipient)); |
874 | 873 | if (!count($user_blocked) <> 0 && $recipient->uid) { |
875 | - if ($recipient->uid == $user->uid) { |
|
874 | + if ($recipient->uid == $user->uid) { |
|
876 | 875 | $usercount++; |
877 | 876 | // Skip putting author in the recipients list for now. |
878 | 877 | continue; |
879 | - } |
|
880 | - $myuser = user_load(array('uid' => $recipient->uid)); |
|
881 | - $myname = preg_replace("/ /", "\xc2\xa0", $myuser->boincuser_name); |
|
882 | - $to[] = $myname . "_" . $myuser->boincuser_id; |
|
883 | - $to_themed[$recipient->uid] = $myname; |
|
878 | + } |
|
879 | + $myuser = user_load(array('uid' => $recipient->uid)); |
|
880 | + $myname = preg_replace("/ /", "\xc2\xa0", $myuser->boincuser_name); |
|
881 | + $to[] = $myname . "_" . $myuser->boincuser_id; |
|
882 | + $to_themed[$recipient->uid] = $myname; |
|
884 | 883 | } |
885 | 884 | else { |
886 | - // Recipient list contains blocked users. |
|
887 | - $blocked = TRUE; |
|
885 | + // Recipient list contains blocked users. |
|
886 | + $blocked = TRUE; |
|
887 | + } |
|
888 | 888 | } |
889 | - } |
|
890 | 889 | |
891 | - if (empty($to) && $usercount >= 1 && !$blocked) { |
|
890 | + if (empty($to) && $usercount >= 1 && !$blocked) { |
|
892 | 891 | // Assume the user sent message to own account as if the usercount is one or less, then the user sent a message but not to self. |
893 | 892 | $myuser = user_load(array('uid' => $user->uid)); |
894 | 893 | $myname = preg_replace("/ /", "\xc2\xa0", $myuser->boincuser_name); |
895 | 894 | $to[] = $myname . "_" . $myuser->boincuser_id; |
896 | 895 | $to_themed[$user->uid] = $myname; |
897 | - } |
|
898 | - if (!empty($to)) { |
|
896 | + } |
|
897 | + if (!empty($to)) { |
|
899 | 898 | $recipients_string = implode(', ', $to); |
900 | 899 | $recipients_string .= ', '; |
901 | - } |
|
902 | - if (isset($form_state['values'])) { |
|
900 | + } |
|
901 | + if (isset($form_state['values'])) { |
|
903 | 902 | if (isset($form_state['values']['recipient'])) { |
904 | - $recipients_string = $form_state['values']['recipient']; |
|
903 | + $recipients_string = $form_state['values']['recipient']; |
|
905 | 904 | |
906 | 905 | } |
907 | 906 | $subject = $form_state['values']['subject']; |
908 | 907 | $body = $form_state['values']['body']; |
909 | - } |
|
910 | - if (!$thread_id && !empty($recipients_string)) { |
|
908 | + } |
|
909 | + if (!$thread_id && !empty($recipients_string)) { |
|
911 | 910 | drupal_set_title(t('Write new message to %recipient', array('%recipient' => $recipients_string))); |
912 | - } |
|
913 | - elseif (!$thread_id) { |
|
911 | + } |
|
912 | + elseif (!$thread_id) { |
|
914 | 913 | drupal_set_title(t('Write new message')); |
915 | - } |
|
916 | - $form = array(); |
|
917 | - if (isset($form_state['privatemsg_preview'])) { |
|
914 | + } |
|
915 | + $form = array(); |
|
916 | + if (isset($form_state['privatemsg_preview'])) { |
|
918 | 917 | $form['message_header'] = array( |
919 | - '#type' => 'fieldset', |
|
920 | - '#attributes' => array('class' => 'preview'), |
|
918 | + '#type' => 'fieldset', |
|
919 | + '#attributes' => array('class' => 'preview'), |
|
921 | 920 | ); |
922 | 921 | $form['message_header']['message_preview'] = array( |
923 | - '#value' => $form_state['privatemsg_preview'], |
|
922 | + '#value' => $form_state['privatemsg_preview'], |
|
924 | 923 | ); |
925 | - } |
|
926 | - $form['privatemsg'] = array( |
|
924 | + } |
|
925 | + $form['privatemsg'] = array( |
|
927 | 926 | '#type' => 'fieldset', |
928 | 927 | '#access' => privatemsg_user_access('write privatemsg'), |
929 | - ); |
|
930 | - $form['privatemsg']['author'] = array( |
|
928 | + ); |
|
929 | + $form['privatemsg']['author'] = array( |
|
931 | 930 | '#type' => 'value', |
932 | 931 | '#value' => $user, |
933 | - ); |
|
934 | - if (is_null($thread_id)) { |
|
932 | + ); |
|
933 | + if (is_null($thread_id)) { |
|
935 | 934 | $form['privatemsg']['recipient'] = array( |
936 | - '#type' => 'textfield', |
|
937 | - '#title' => t('To'), |
|
938 | - '#description' => t('Separate multiple names with a comma followed by one space. The number appearing in the suffix is the BOINC id. You can find a user\'s BOINC id on their user profile page.'), |
|
939 | - '#default_value' => $recipients_string, |
|
940 | - '#required' => TRUE, |
|
941 | - '#weight' => -10, |
|
942 | - '#size' => 50, |
|
943 | - '#autocomplete_path' => 'messages/user-name-autocomplete', |
|
944 | - // Do not hardcode #maxlength, make it configurable by number of recipients, not their name length. |
|
935 | + '#type' => 'textfield', |
|
936 | + '#title' => t('To'), |
|
937 | + '#description' => t('Separate multiple names with a comma followed by one space. The number appearing in the suffix is the BOINC id. You can find a user\'s BOINC id on their user profile page.'), |
|
938 | + '#default_value' => $recipients_string, |
|
939 | + '#required' => TRUE, |
|
940 | + '#weight' => -10, |
|
941 | + '#size' => 50, |
|
942 | + '#autocomplete_path' => 'messages/user-name-autocomplete', |
|
943 | + // Do not hardcode #maxlength, make it configurable by number of recipients, not their name length. |
|
945 | 944 | ); |
946 | - } |
|
947 | - $form['privatemsg']['subject'] = array( |
|
945 | + } |
|
946 | + $form['privatemsg']['subject'] = array( |
|
948 | 947 | '#type' => 'textfield', |
949 | 948 | '#title' => t('Subject'), |
950 | 949 | '#size' => 50, |
951 | 950 | '#maxlength' => 255, |
952 | 951 | '#default_value' => $subject, |
953 | 952 | '#weight' => -5, |
954 | - ); |
|
955 | - $form['privatemsg']['body'] = array( |
|
953 | + ); |
|
954 | + $form['privatemsg']['body'] = array( |
|
956 | 955 | '#type' => 'textarea', |
957 | 956 | '#title' => t('Message'), |
958 | 957 | '#rows' => 6, |
959 | 958 | '#weight' => 0, |
960 | 959 | '#default_value' => $body, |
961 | 960 | '#resizable' => TRUE, |
962 | - ); |
|
963 | - $format = FILTER_FORMAT_DEFAULT; |
|
964 | - // The input filter widget looses the format during preview, specify it |
|
965 | - // explicitly. |
|
966 | - if (isset($form_state['values']) && array_key_exists('format', $form_state['values'])) { |
|
961 | + ); |
|
962 | + $format = FILTER_FORMAT_DEFAULT; |
|
963 | + // The input filter widget looses the format during preview, specify it |
|
964 | + // explicitly. |
|
965 | + if (isset($form_state['values']) && array_key_exists('format', $form_state['values'])) { |
|
967 | 966 | $format = $form_state['values']['format']; |
968 | - } |
|
969 | - $form['privatemsg']['format'] = filter_form($format); |
|
970 | - $form['privatemsg']['preview'] = array( |
|
967 | + } |
|
968 | + $form['privatemsg']['format'] = filter_form($format); |
|
969 | + $form['privatemsg']['preview'] = array( |
|
971 | 970 | '#type' => 'submit', |
972 | 971 | '#value' => t('Preview message'), |
973 | 972 | '#submit' => array('pm_preview'), |
974 | 973 | '#validate' => array('pm_send_validate'), |
975 | 974 | '#weight' => 10, |
976 | - ); |
|
977 | - $form['privatemsg']['submit'] = array( |
|
975 | + ); |
|
976 | + $form['privatemsg']['submit'] = array( |
|
978 | 977 | '#type' => 'submit', |
979 | 978 | '#value' => t('Send message'), |
980 | 979 | '#submit' => array('pm_send'), |
981 | 980 | '#validate' => array('pm_send_validate'), |
982 | 981 | '#weight' => 15, |
983 | - ); |
|
984 | - $url = 'messages'; |
|
985 | - $title = t('Cancel'); |
|
986 | - if (isset($_REQUEST['destination'])) { |
|
982 | + ); |
|
983 | + $url = 'messages'; |
|
984 | + $title = t('Cancel'); |
|
985 | + if (isset($_REQUEST['destination'])) { |
|
987 | 986 | $url = $_REQUEST['destination']; |
988 | - } |
|
989 | - elseif (!is_null($thread_id)) { |
|
987 | + } |
|
988 | + elseif (!is_null($thread_id)) { |
|
990 | 989 | $url = $_GET['q']; |
991 | 990 | $title = t('Clear'); |
992 | - } |
|
991 | + } |
|
993 | 992 | |
994 | - $form['privatemsg']['cancel'] = array( |
|
993 | + $form['privatemsg']['cancel'] = array( |
|
995 | 994 | '#value' => l($title, $url, array('attributes' => array('id' => 'edit-cancel'))), |
996 | 995 | '#weight' => 20, |
997 | - ); |
|
996 | + ); |
|
998 | 997 | |
999 | - if (!is_null($thread_id)) { |
|
998 | + if (!is_null($thread_id)) { |
|
1000 | 999 | $form['privatemsg']['thread_id'] = array( |
1001 | - '#type' => 'value', |
|
1002 | - '#value' => $thread_id, |
|
1000 | + '#type' => 'value', |
|
1001 | + '#value' => $thread_id, |
|
1003 | 1002 | ); |
1004 | 1003 | $form['privatemsg']['subject'] = array( |
1005 | - '#type' => 'value', |
|
1006 | - '#default_value' => $subject, |
|
1004 | + '#type' => 'value', |
|
1005 | + '#default_value' => $subject, |
|
1007 | 1006 | ); |
1008 | 1007 | $recipients_string_themed = implode(', ', $to_themed); |
1009 | 1008 | $form['privatemsg']['recipient_display'] = array( |
1010 | - '#value' => '<p>'. t('<strong>Reply to thread</strong>:<br /> Recipients: !to', array('!to' => $recipients_string_themed)) .'</p>', |
|
1011 | - '#weight' => -10, |
|
1009 | + '#value' => '<p>'. t('<strong>Reply to thread</strong>:<br /> Recipients: !to', array('!to' => $recipients_string_themed)) .'</p>', |
|
1010 | + '#weight' => -10, |
|
1012 | 1011 | ); |
1013 | 1012 | if (empty($recipients_string)) { |
1014 | - // If there are no valid recipients, unset the message reply form. |
|
1015 | - $form['privatemsg']['#access'] = FALSE; |
|
1013 | + // If there are no valid recipients, unset the message reply form. |
|
1014 | + $form['privatemsg']['#access'] = FALSE; |
|
1015 | + } |
|
1016 | 1016 | } |
1017 | - } |
|
1018 | - $form['privatemsg']['read_all'] = array( |
|
1017 | + $form['privatemsg']['read_all'] = array( |
|
1019 | 1018 | '#type' => 'value', |
1020 | 1019 | '#value' => $read_all, |
1021 | - ); |
|
1022 | - return $form; |
|
1020 | + ); |
|
1021 | + return $form; |
|
1023 | 1022 | } |
1024 | 1023 | |
1025 | 1024 | function pm_send_validate($form, &$form_state) { |
1026 | - // The actual message that is being sent, we create this during validation and pass to submit to send out. |
|
1027 | - $message = $form_state['values']; |
|
1028 | - $message['timestamp'] = time(); |
|
1029 | - // Avoid subjects which only consist of a space as these can not be clicked. |
|
1030 | - $message['subject'] = trim($message['subject']); |
|
1025 | + // The actual message that is being sent, we create this during validation and pass to submit to send out. |
|
1026 | + $message = $form_state['values']; |
|
1027 | + $message['timestamp'] = time(); |
|
1028 | + // Avoid subjects which only consist of a space as these can not be clicked. |
|
1029 | + $message['subject'] = trim($message['subject']); |
|
1031 | 1030 | |
1032 | 1031 | |
1033 | - $trimed_body = trim(truncate_utf8(strip_tags($message['body']), 50, TRUE, TRUE)); |
|
1034 | - if (empty($message['subject']) && !empty($trimed_body)) { |
|
1032 | + $trimed_body = trim(truncate_utf8(strip_tags($message['body']), 50, TRUE, TRUE)); |
|
1033 | + if (empty($message['subject']) && !empty($trimed_body)) { |
|
1035 | 1034 | $message['subject'] = $trimed_body; |
1036 | - } |
|
1037 | - // Only parse the user string for a new thread. |
|
1038 | - if (!isset($message['thread_id'])) { |
|
1035 | + } |
|
1036 | + // Only parse the user string for a new thread. |
|
1037 | + if (!isset($message['thread_id'])) { |
|
1039 | 1038 | list($message['recipients'], $invalid) = _privatemsg_parse_userstring($message['recipient']); |
1040 | - } |
|
1041 | - else { |
|
1039 | + } |
|
1040 | + else { |
|
1042 | 1041 | // Load participants. |
1043 | 1042 | $message['recipients'] = _privatemsg_load_thread_participants($message['thread_id']); |
1044 | 1043 | // Remove author. |
1045 | 1044 | if (isset($message['recipients'][$message['author']->uid]) && count($message['recipients']) > 1) { |
1046 | - unset($message['recipients'][$message['author']->uid]); |
|
1045 | + unset($message['recipients'][$message['author']->uid]); |
|
1047 | 1046 | } |
1048 | - } |
|
1049 | - $validated = _privatemsg_validate_message($message, TRUE); |
|
1050 | - foreach ($validated['messages'] as $type => $text) { |
|
1047 | + } |
|
1048 | + $validated = _privatemsg_validate_message($message, TRUE); |
|
1049 | + foreach ($validated['messages'] as $type => $text) { |
|
1051 | 1050 | drupal_set_message($text, $type); |
1052 | - } |
|
1053 | - $form_state['validate_built_message'] = $message; |
|
1054 | - if (!empty($invalid)) { |
|
1051 | + } |
|
1052 | + $form_state['validate_built_message'] = $message; |
|
1053 | + if (!empty($invalid)) { |
|
1055 | 1054 | drupal_set_message(t('The following users will not receive this private message: @invalid', array('@invalid' => implode(", ", $invalid))), 'error'); |
1056 | - } |
|
1055 | + } |
|
1057 | 1056 | } |
1058 | 1057 | |
1059 | 1058 | /** |
@@ -1063,15 +1062,15 @@ discard block |
||
1063 | 1062 | * Thread ID for wich the participants should be loaded. |
1064 | 1063 | */ |
1065 | 1064 | function _privatemsg_load_thread_participants($thread_id) { |
1066 | - $query = _privatemsg_assemble_query('participants', $thread_id); |
|
1067 | - $result = db_query($query['query']); |
|
1068 | - $participants = array(); |
|
1069 | - while ($uid = db_fetch_object($result)) { |
|
1065 | + $query = _privatemsg_assemble_query('participants', $thread_id); |
|
1066 | + $result = db_query($query['query']); |
|
1067 | + $participants = array(); |
|
1068 | + while ($uid = db_fetch_object($result)) { |
|
1070 | 1069 | if (($recipient = user_load($uid->uid))) { |
1071 | - $participants[$recipient->uid] = $recipient; |
|
1070 | + $participants[$recipient->uid] = $recipient; |
|
1071 | + } |
|
1072 | 1072 | } |
1073 | - } |
|
1074 | - return $participants; |
|
1073 | + return $participants; |
|
1075 | 1074 | } |
1076 | 1075 | |
1077 | 1076 | /** |
@@ -1087,67 +1086,67 @@ discard block |
||
1087 | 1086 | * with invalid names. |
1088 | 1087 | */ |
1089 | 1088 | function _privatemsg_parse_userstring($input) { |
1090 | - if (is_string($input)) { |
|
1089 | + if (is_string($input)) { |
|
1091 | 1090 | $input = explode(', ', $input); |
1092 | - } |
|
1091 | + } |
|
1093 | 1092 | |
1094 | - // Start working through the input array. |
|
1095 | - $invalid = array(); |
|
1096 | - $recipients = array(); |
|
1097 | - foreach ($input as $string) { |
|
1093 | + // Start working through the input array. |
|
1094 | + $invalid = array(); |
|
1095 | + $recipients = array(); |
|
1096 | + foreach ($input as $string) { |
|
1098 | 1097 | $string = trim($string); |
1099 | 1098 | if (!empty($string)) { // We don't care about white space names. |
1100 | 1099 | |
1101 | - // First, check if another module is able to resolve the string into an |
|
1102 | - // user object. |
|
1103 | - foreach (module_implements('privatemsg_name_lookup') as $module) { |
|
1100 | + // First, check if another module is able to resolve the string into an |
|
1101 | + // user object. |
|
1102 | + foreach (module_implements('privatemsg_name_lookup') as $module) { |
|
1104 | 1103 | $function = $module . '_privatemsg_name_lookup'; |
1105 | 1104 | if (($recipient = $function($string)) && is_object($recipient)) { |
1106 | - // If there is a match, continue with the next input string. |
|
1107 | - $recipients[$recipient->uid] = $recipient; |
|
1108 | - continue 2; |
|
1105 | + // If there is a match, continue with the next input string. |
|
1106 | + $recipients[$recipient->uid] = $recipient; |
|
1107 | + continue 2; |
|
1109 | 1108 | } |
1110 | - } |
|
1111 | - // Fall back to the default username lookup. |
|
1112 | - if (!$error = module_invoke('user', 'validate_name', $string)) { |
|
1109 | + } |
|
1110 | + // Fall back to the default username lookup. |
|
1111 | + if (!$error = module_invoke('user', 'validate_name', $string)) { |
|
1113 | 1112 | // String is a valid username, look it up. |
1114 | 1113 | if ($recipient = user_load(array('name' => $string))) { |
1115 | - $recipients[$recipient->uid] = $recipient; |
|
1116 | - continue; |
|
1114 | + $recipients[$recipient->uid] = $recipient; |
|
1115 | + continue; |
|
1116 | + } |
|
1117 | 1117 | } |
1118 | - } |
|
1119 | - $invalid[$string] = $string; |
|
1118 | + $invalid[$string] = $string; |
|
1120 | 1119 | } |
1121 | - } |
|
1122 | - return array($recipients, $invalid); |
|
1120 | + } |
|
1121 | + return array($recipients, $invalid); |
|
1123 | 1122 | } |
1124 | 1123 | |
1125 | 1124 | /** |
1126 | 1125 | * Submit callback for the privatemsg_new form. |
1127 | 1126 | */ |
1128 | 1127 | function pm_send($form, &$form_state) { |
1129 | - $status = _privatemsg_send($form_state['validate_built_message']); |
|
1130 | - // Load usernames to which the message was sent to. |
|
1131 | - $recipient_names = array(); |
|
1132 | - foreach ($form_state['validate_built_message']['recipients'] as $recipient) { |
|
1128 | + $status = _privatemsg_send($form_state['validate_built_message']); |
|
1129 | + // Load usernames to which the message was sent to. |
|
1130 | + $recipient_names = array(); |
|
1131 | + foreach ($form_state['validate_built_message']['recipients'] as $recipient) { |
|
1133 | 1132 | $recipient_names[] = theme('username', $recipient); |
1134 | - } |
|
1135 | - if ($status !== FALSE ) { |
|
1133 | + } |
|
1134 | + if ($status !== FALSE ) { |
|
1136 | 1135 | drupal_set_message(t('A message has been sent to !recipients.', array('!recipients' => implode(', ', $recipient_names)))); |
1137 | - } |
|
1138 | - else { |
|
1136 | + } |
|
1137 | + else { |
|
1139 | 1138 | drupal_set_message(t('An attempt to send a message <em>may have failed</em> when sending to !recipients.', array('!recipients' => implode(', ', $recipient_names))), 'error'); |
1140 | - } |
|
1139 | + } |
|
1141 | 1140 | } |
1142 | 1141 | |
1143 | 1142 | function pm_preview($form, &$form_state) { |
1144 | 1143 | |
1145 | 1144 | drupal_validate_form($form['form_id']['#value'], $form, $form_state); |
1146 | 1145 | if (!form_get_errors()) { |
1147 | - $form_state['privatemsg_preview'] = theme('privatemsg_view', $form_state['validate_built_message']); |
|
1146 | + $form_state['privatemsg_preview'] = theme('privatemsg_view', $form_state['validate_built_message']); |
|
1148 | 1147 | } |
1149 | 1148 | |
1150 | - $form_state['rebuild'] = TRUE; // this forces our form to be rebuilt instead of being submitted. |
|
1149 | + $form_state['rebuild'] = TRUE; // this forces our form to be rebuilt instead of being submitted. |
|
1151 | 1150 | } |
1152 | 1151 | |
1153 | 1152 | /** |
@@ -1168,65 +1167,65 @@ discard block |
||
1168 | 1167 | */ |
1169 | 1168 | |
1170 | 1169 | function privatemsg_sql_list(&$fragments, $account, $argument = 'list') { |
1171 | - $fragments['primary_table'] = '{pm_message} pm'; |
|
1172 | - |
|
1173 | - // Load enabled columns. |
|
1174 | - $fields = array_filter(variable_get('privatemsg_display_fields', array('participants'))); |
|
1175 | - |
|
1176 | - // Required columns. |
|
1177 | - $fragments['select'][] = 'pmi.thread_id'; |
|
1178 | - // We have to use MIN as the subject might not be the same in some threads. |
|
1179 | - // MIN() does not have a useful meaning except that it helps to correctly |
|
1180 | - // aggregate the thread on PostgreSQL. |
|
1181 | - $fragments['select'][] = 'MIN(pm.subject) as subject'; |
|
1182 | - $fragments['select'][] = 'MAX(pm.timestamp) as last_updated'; |
|
1183 | - // We use SUM so that we can count the number of unread messages. |
|
1184 | - $fragments['select'][] = 'SUM(pmi.is_new) as is_new'; |
|
1185 | - |
|
1186 | - // Select number of messages in the thread if the count is |
|
1187 | - // set to be displayed. |
|
1188 | - if (in_array('count', $fields)) { |
|
1170 | + $fragments['primary_table'] = '{pm_message} pm'; |
|
1171 | + |
|
1172 | + // Load enabled columns. |
|
1173 | + $fields = array_filter(variable_get('privatemsg_display_fields', array('participants'))); |
|
1174 | + |
|
1175 | + // Required columns. |
|
1176 | + $fragments['select'][] = 'pmi.thread_id'; |
|
1177 | + // We have to use MIN as the subject might not be the same in some threads. |
|
1178 | + // MIN() does not have a useful meaning except that it helps to correctly |
|
1179 | + // aggregate the thread on PostgreSQL. |
|
1180 | + $fragments['select'][] = 'MIN(pm.subject) as subject'; |
|
1181 | + $fragments['select'][] = 'MAX(pm.timestamp) as last_updated'; |
|
1182 | + // We use SUM so that we can count the number of unread messages. |
|
1183 | + $fragments['select'][] = 'SUM(pmi.is_new) as is_new'; |
|
1184 | + |
|
1185 | + // Select number of messages in the thread if the count is |
|
1186 | + // set to be displayed. |
|
1187 | + if (in_array('count', $fields)) { |
|
1189 | 1188 | $fragments['select'][] = 'COUNT(distinct pmi.mid) as count'; |
1190 | - } |
|
1191 | - if (in_array('participants', $fields)) { |
|
1189 | + } |
|
1190 | + if (in_array('participants', $fields)) { |
|
1192 | 1191 | // Query for a string with uid's, for example "1,6,7". |
1193 | 1192 | // @todo: Replace this with a single query similiar to the tag list. |
1194 | 1193 | if ($GLOBALS['db_type'] == 'pgsql') { |
1195 | - // PostgreSQL does not know GROUP_CONCAT, so a subquery is required. |
|
1196 | - $fragments['select'][] = "array_to_string(array(SELECT DISTINCT textin(int4out(pmia.uid)) |
|
1194 | + // PostgreSQL does not know GROUP_CONCAT, so a subquery is required. |
|
1195 | + $fragments['select'][] = "array_to_string(array(SELECT DISTINCT textin(int4out(pmia.uid)) |
|
1197 | 1196 | FROM {pm_index} pmia |
1198 | 1197 | WHERE pmia.thread_id = pmi.thread_id), ',') AS participants"; |
1199 | 1198 | } |
1200 | 1199 | else { |
1201 | - $fragments['select'][] = '(SELECT GROUP_CONCAT(DISTINCT pmia.uid SEPARATOR ",") |
|
1200 | + $fragments['select'][] = '(SELECT GROUP_CONCAT(DISTINCT pmia.uid SEPARATOR ",") |
|
1202 | 1201 | FROM {pm_index} pmia |
1203 | 1202 | WHERE pmia.thread_id = pmi.thread_id) AS participants'; |
1204 | 1203 | } |
1205 | - } |
|
1206 | - if (in_array('thread_started', $fields)) { |
|
1204 | + } |
|
1205 | + if (in_array('thread_started', $fields)) { |
|
1207 | 1206 | $fragments['select'][] = 'MIN(pm.timestamp) as thread_started'; |
1208 | - } |
|
1207 | + } |
|
1209 | 1208 | |
1210 | - $fragments['inner_join'][] = 'INNER JOIN {pm_index} pmi ON pm.mid = pmi.mid'; |
|
1209 | + $fragments['inner_join'][] = 'INNER JOIN {pm_index} pmi ON pm.mid = pmi.mid'; |
|
1211 | 1210 | |
1212 | - // Only load undeleted messages of the current user and group by thread. |
|
1213 | - $fragments['where'][] = 'pmi.uid = %d'; |
|
1214 | - $fragments['query_args']['where'][] = $account->uid; |
|
1215 | - $fragments['where'][] = 'pmi.deleted = 0'; |
|
1216 | - $fragments['group_by'][] = 'pmi.thread_id'; |
|
1211 | + // Only load undeleted messages of the current user and group by thread. |
|
1212 | + $fragments['where'][] = 'pmi.uid = %d'; |
|
1213 | + $fragments['query_args']['where'][] = $account->uid; |
|
1214 | + $fragments['where'][] = 'pmi.deleted = 0'; |
|
1215 | + $fragments['group_by'][] = 'pmi.thread_id'; |
|
1217 | 1216 | |
1218 | - $order_by_first = 'MAX(pmi.is_new) DESC, '; |
|
1219 | - // MySQL 4.1 does not allow to order by aggregate functions. MAX() is used |
|
1220 | - // to avoid a ordering bug with multiple new messages. |
|
1221 | - if ($GLOBALS['db_type'] != 'pgsql' && version_compare(db_version(), '5.0.0') < 0) { |
|
1217 | + $order_by_first = 'MAX(pmi.is_new) DESC, '; |
|
1218 | + // MySQL 4.1 does not allow to order by aggregate functions. MAX() is used |
|
1219 | + // to avoid a ordering bug with multiple new messages. |
|
1220 | + if ($GLOBALS['db_type'] != 'pgsql' && version_compare(db_version(), '5.0.0') < 0) { |
|
1222 | 1221 | $order_by_first = 'is_new DESC, '; |
1223 | - } |
|
1222 | + } |
|
1224 | 1223 | |
1225 | - // tablesort_sql() generates a ORDER BY string. However, the "ORDER BY " part |
|
1226 | - // is not needed and added by the query builder. Discard the first 9 |
|
1227 | - // characters of the string. |
|
1228 | - $order_by = drupal_substr(tablesort_sql(_privatemsg_list_headers( FALSE, array_merge(array('subject', 'last_updated'), $fields)), $order_by_first), 9); |
|
1229 | - $fragments['order_by'][] = $order_by; |
|
1224 | + // tablesort_sql() generates a ORDER BY string. However, the "ORDER BY " part |
|
1225 | + // is not needed and added by the query builder. Discard the first 9 |
|
1226 | + // characters of the string. |
|
1227 | + $order_by = drupal_substr(tablesort_sql(_privatemsg_list_headers( FALSE, array_merge(array('subject', 'last_updated'), $fields)), $order_by_first), 9); |
|
1228 | + $fragments['order_by'][] = $order_by; |
|
1230 | 1229 | } |
1231 | 1230 | |
1232 | 1231 | /** |
@@ -1240,27 +1239,27 @@ discard block |
||
1240 | 1239 | * Account for which the messages should be loaded. |
1241 | 1240 | */ |
1242 | 1241 | function privatemsg_sql_load(&$fragments, $pmids, $account = NULL) { |
1243 | - $fragments['primary_table'] = '{pm_message} pm'; |
|
1244 | - |
|
1245 | - $fragments['select'][] = "pm.mid"; |
|
1246 | - $fragments['select'][] = "pm.author"; |
|
1247 | - $fragments['select'][] = "pm.subject"; |
|
1248 | - $fragments['select'][] = "pm.body"; |
|
1249 | - $fragments['select'][] = "pm.timestamp"; |
|
1250 | - $fragments['select'][] = "pm.format"; |
|
1251 | - $fragments['select'][] = "pmi.is_new"; |
|
1252 | - $fragments['select'][] = "pmi.thread_id"; |
|
1253 | - |
|
1254 | - $fragments['inner_join'][] = 'INNER JOIN {pm_index} pmi ON pm.mid = pmi.mid'; |
|
1255 | - // Use IN() to load multiple messages at the same time. |
|
1256 | - $fragments['where'][] = 'pmi.mid IN (' . db_placeholders($pmids) . ')'; |
|
1257 | - $fragments['query_args']['where'] += $pmids; |
|
1258 | - if ($account) { |
|
1242 | + $fragments['primary_table'] = '{pm_message} pm'; |
|
1243 | + |
|
1244 | + $fragments['select'][] = "pm.mid"; |
|
1245 | + $fragments['select'][] = "pm.author"; |
|
1246 | + $fragments['select'][] = "pm.subject"; |
|
1247 | + $fragments['select'][] = "pm.body"; |
|
1248 | + $fragments['select'][] = "pm.timestamp"; |
|
1249 | + $fragments['select'][] = "pm.format"; |
|
1250 | + $fragments['select'][] = "pmi.is_new"; |
|
1251 | + $fragments['select'][] = "pmi.thread_id"; |
|
1252 | + |
|
1253 | + $fragments['inner_join'][] = 'INNER JOIN {pm_index} pmi ON pm.mid = pmi.mid'; |
|
1254 | + // Use IN() to load multiple messages at the same time. |
|
1255 | + $fragments['where'][] = 'pmi.mid IN (' . db_placeholders($pmids) . ')'; |
|
1256 | + $fragments['query_args']['where'] += $pmids; |
|
1257 | + if ($account) { |
|
1259 | 1258 | $fragments['where'][] = 'pmi.uid = %d'; |
1260 | 1259 | $fragments['query_args']['where'][] = $account->uid; |
1261 | - } |
|
1262 | - $fragments['order_by'][] = 'pm.timestamp ASC'; |
|
1263 | - $fragments['order_by'][] = 'pm.mid ASC'; |
|
1260 | + } |
|
1261 | + $fragments['order_by'][] = 'pm.timestamp ASC'; |
|
1262 | + $fragments['order_by'][] = 'pm.mid ASC'; |
|
1264 | 1263 | } |
1265 | 1264 | |
1266 | 1265 | /** |
@@ -1276,30 +1275,30 @@ discard block |
||
1276 | 1275 | * Deleted messages are only loaded if this is set to TRUE. |
1277 | 1276 | */ |
1278 | 1277 | function privatemsg_sql_messages(&$fragments, $threads, $account = NULL, $load_all = FALSE) { |
1279 | - $fragments['primary_table'] = '{pm_index} pmi'; |
|
1278 | + $fragments['primary_table'] = '{pm_index} pmi'; |
|
1280 | 1279 | |
1281 | - $fragments['select'][] = 'pmi.mid'; |
|
1282 | - $fragments['where'][] = 'pmi.thread_id IN ('. db_placeholders($threads) .')'; |
|
1283 | - $fragments['query_args']['where'] += $threads; |
|
1284 | - $fragments['inner_join'][] = 'INNER JOIN {pm_message} pm ON (pm.mid = pmi.mid)'; |
|
1285 | - if ($account) { |
|
1280 | + $fragments['select'][] = 'pmi.mid'; |
|
1281 | + $fragments['where'][] = 'pmi.thread_id IN ('. db_placeholders($threads) .')'; |
|
1282 | + $fragments['query_args']['where'] += $threads; |
|
1283 | + $fragments['inner_join'][] = 'INNER JOIN {pm_message} pm ON (pm.mid = pmi.mid)'; |
|
1284 | + if ($account) { |
|
1286 | 1285 | // Only load the user's messages. |
1287 | 1286 | $fragments['where'][] = 'pmi.uid = %d'; |
1288 | 1287 | $fragments['query_args']['where'][] = $account->uid; |
1289 | - } |
|
1290 | - if (!$load_all) { |
|
1288 | + } |
|
1289 | + if (!$load_all) { |
|
1291 | 1290 | // Also load deleted messages when requested. |
1292 | 1291 | $fragments['where'][] = 'pmi.deleted = 0'; |
1293 | - } |
|
1294 | - // Only load each mid once. |
|
1295 | - $fragments['group_by'][] = 'pmi.mid'; |
|
1296 | - $fragments['group_by'][] = 'pm.timestamp'; |
|
1292 | + } |
|
1293 | + // Only load each mid once. |
|
1294 | + $fragments['group_by'][] = 'pmi.mid'; |
|
1295 | + $fragments['group_by'][] = 'pm.timestamp'; |
|
1297 | 1296 | |
1298 | - // Order by timestamp first. |
|
1299 | - $fragments['order_by'][] = 'pm.timestamp ASC'; |
|
1300 | - // If there are multiple inserts during the same second (tests, for example) |
|
1301 | - // sort by mid second to have them in the same order as they were saved. |
|
1302 | - $fragments['order_by'][] = 'pmi.mid ASC'; |
|
1297 | + // Order by timestamp first. |
|
1298 | + $fragments['order_by'][] = 'pm.timestamp ASC'; |
|
1299 | + // If there are multiple inserts during the same second (tests, for example) |
|
1300 | + // sort by mid second to have them in the same order as they were saved. |
|
1301 | + $fragments['order_by'][] = 'pmi.mid ASC'; |
|
1303 | 1302 | |
1304 | 1303 | } |
1305 | 1304 | |
@@ -1312,16 +1311,16 @@ discard block |
||
1312 | 1311 | * Thread id from which the participants should be loaded. |
1313 | 1312 | */ |
1314 | 1313 | function privatemsg_sql_participants(&$fragments, $thread_id) { |
1315 | - $fragments['primary_table'] = '{pm_index} pmi'; |
|
1314 | + $fragments['primary_table'] = '{pm_index} pmi'; |
|
1316 | 1315 | |
1317 | - // Only load each participant once since they are listed as recipient for |
|
1318 | - // every message of that thread. |
|
1319 | - $fragments['select'][] = 'DISTINCT(pmi.uid) AS uid'; |
|
1320 | - $fragments['select'][] = 'u.name AS name'; |
|
1316 | + // Only load each participant once since they are listed as recipient for |
|
1317 | + // every message of that thread. |
|
1318 | + $fragments['select'][] = 'DISTINCT(pmi.uid) AS uid'; |
|
1319 | + $fragments['select'][] = 'u.name AS name'; |
|
1321 | 1320 | |
1322 | - $fragments['inner_join'][] = 'INNER JOIN {users} u ON (u.uid = pmi.uid)'; |
|
1323 | - $fragments['where'][] = 'pmi.thread_id = %d'; |
|
1324 | - $fragments['query_args']['where'][] = $thread_id; |
|
1321 | + $fragments['inner_join'][] = 'INNER JOIN {users} u ON (u.uid = pmi.uid)'; |
|
1322 | + $fragments['where'][] = 'pmi.thread_id = %d'; |
|
1323 | + $fragments['query_args']['where'][] = $thread_id; |
|
1325 | 1324 | } |
1326 | 1325 | |
1327 | 1326 | /** |
@@ -1333,15 +1332,15 @@ discard block |
||
1333 | 1332 | * User object for which the messages are being counted. |
1334 | 1333 | */ |
1335 | 1334 | function privatemsg_sql_unread_count(&$fragments, $account) { |
1336 | - $fragments['primary_table'] = '{pm_index} pmi'; |
|
1335 | + $fragments['primary_table'] = '{pm_index} pmi'; |
|
1337 | 1336 | |
1338 | - $fragments['select'][] = 'COUNT(DISTINCT thread_id) as unread_count'; |
|
1337 | + $fragments['select'][] = 'COUNT(DISTINCT thread_id) as unread_count'; |
|
1339 | 1338 | |
1340 | - // Only count new messages that have not been deleted. |
|
1341 | - $fragments['where'][] = 'pmi.deleted = 0'; |
|
1342 | - $fragments['where'][] = 'pmi.is_new = 1'; |
|
1343 | - $fragments['where'][] = 'pmi.uid = %d'; |
|
1344 | - $fragments['query_args']['where'][] = $account->uid; |
|
1339 | + // Only count new messages that have not been deleted. |
|
1340 | + $fragments['where'][] = 'pmi.deleted = 0'; |
|
1341 | + $fragments['where'][] = 'pmi.is_new = 1'; |
|
1342 | + $fragments['where'][] = 'pmi.uid = %d'; |
|
1343 | + $fragments['query_args']['where'][] = $account->uid; |
|
1345 | 1344 | } |
1346 | 1345 | |
1347 | 1346 | /** |
@@ -1355,27 +1354,27 @@ discard block |
||
1355 | 1354 | * Array of names not to be used as suggestions. |
1356 | 1355 | */ |
1357 | 1356 | function privatemsg_sql_autocomplete(&$fragments, $search, $names) { |
1358 | - // Select users from BOINC user table by name and id. The id is |
|
1359 | - // unique. |
|
1360 | - $fragments['primary_table'] = '{user} u'; |
|
1361 | - $fragments['select'][] = 'u.name,u.id'; |
|
1362 | - // Escape the % to get it through the placeholder replacement. |
|
1363 | - $fragments['where'][] = "u.name LIKE '%s'"; |
|
1364 | - $fragments['query_args']['where'][] = $search .'%%'; |
|
1365 | - if (!empty($names)) { |
|
1357 | + // Select users from BOINC user table by name and id. The id is |
|
1358 | + // unique. |
|
1359 | + $fragments['primary_table'] = '{user} u'; |
|
1360 | + $fragments['select'][] = 'u.name,u.id'; |
|
1361 | + // Escape the % to get it through the placeholder replacement. |
|
1362 | + $fragments['where'][] = "u.name LIKE '%s'"; |
|
1363 | + $fragments['query_args']['where'][] = $search .'%%'; |
|
1364 | + if (!empty($names)) { |
|
1366 | 1365 | // If there are already names selected, exclude them from the |
1367 | 1366 | // suggestions. Extract the BOINC ids from the names array, and |
1368 | 1367 | // use to remove query results. |
1369 | 1368 | $ids = array(); |
1370 | 1369 | foreach ($names as $name) { |
1371 | - $boincid = substr($name, strrpos($name, '_') + 1); |
|
1372 | - $ids[$boincid] = $boincid; |
|
1370 | + $boincid = substr($name, strrpos($name, '_') + 1); |
|
1371 | + $ids[$boincid] = $boincid; |
|
1373 | 1372 | } |
1374 | 1373 | $fragments['where'][] = "u.id NOT IN (". db_placeholders($ids, 'int') .")"; |
1375 | 1374 | $fragments['query_args']['where'] += $ids; |
1376 | - } |
|
1377 | - // Only load active users and sort them by name. |
|
1378 | - $fragments['order_by'][] = 'u.name ASC'; |
|
1375 | + } |
|
1376 | + // Only load active users and sort them by name. |
|
1377 | + $fragments['order_by'][] = 'u.name ASC'; |
|
1379 | 1378 | } |
1380 | 1379 | |
1381 | 1380 | /** |
@@ -1387,24 +1386,24 @@ discard block |
||
1387 | 1386 | * Select messages older than x days. |
1388 | 1387 | */ |
1389 | 1388 | function privatemsg_sql_deleted(&$fragments, $days) { |
1390 | - $fragments['primary_table'] = '{pm_message} pm'; |
|
1389 | + $fragments['primary_table'] = '{pm_message} pm'; |
|
1391 | 1390 | |
1392 | - $fragments['select'][] = 'pm.mid'; |
|
1393 | - // The lowest value is higher than 0 if all recipients have deleted a message. |
|
1394 | - $fragments['select'][] = 'MIN(pmi.deleted) as is_deleted'; |
|
1395 | - // The time the most recent deletion happened. |
|
1396 | - $fragments['select'][] = 'MAX(pmi.deleted) as last_deleted'; |
|
1391 | + $fragments['select'][] = 'pm.mid'; |
|
1392 | + // The lowest value is higher than 0 if all recipients have deleted a message. |
|
1393 | + $fragments['select'][] = 'MIN(pmi.deleted) as is_deleted'; |
|
1394 | + // The time the most recent deletion happened. |
|
1395 | + $fragments['select'][] = 'MAX(pmi.deleted) as last_deleted'; |
|
1397 | 1396 | |
1398 | - $fragments['inner_join'][] = 'INNER JOIN {pm_index} pmi ON (pmi.mid = pm.mid)'; |
|
1397 | + $fragments['inner_join'][] = 'INNER JOIN {pm_index} pmi ON (pmi.mid = pm.mid)'; |
|
1399 | 1398 | |
1400 | - $fragments['group_by'][] = 'pm.mid'; |
|
1399 | + $fragments['group_by'][] = 'pm.mid'; |
|
1401 | 1400 | |
1402 | - // Ignore messages that have not been deleted by all users. |
|
1403 | - $fragments['having'][] = 'MIN(pmi.deleted) > 0'; |
|
1401 | + // Ignore messages that have not been deleted by all users. |
|
1402 | + $fragments['having'][] = 'MIN(pmi.deleted) > 0'; |
|
1404 | 1403 | |
1405 | - // Only select messages that have been deleted more than n days ago. |
|
1406 | - $fragments['having'][] = 'MAX(pmi.deleted) < %d'; |
|
1407 | - $fragments['query_args']['having'][] = time() - $days * 86400; |
|
1404 | + // Only select messages that have been deleted more than n days ago. |
|
1405 | + $fragments['having'][] = 'MAX(pmi.deleted) < %d'; |
|
1406 | + $fragments['query_args']['having'][] = time() - $days * 86400; |
|
1408 | 1407 | } |
1409 | 1408 | |
1410 | 1409 | /** |
@@ -1417,19 +1416,19 @@ discard block |
||
1417 | 1416 | * Prevents usernames from being used and/or suggested twice. |
1418 | 1417 | */ |
1419 | 1418 | function privatemsg_user_name_autocomplete($string) { |
1420 | - $names = array(); |
|
1421 | - // 1: Parse $string and build list of valid user names. |
|
1422 | - $fragments = explode(', ', $string); |
|
1423 | - foreach ($fragments as $index => $name) { |
|
1419 | + $names = array(); |
|
1420 | + // 1: Parse $string and build list of valid user names. |
|
1421 | + $fragments = explode(', ', $string); |
|
1422 | + foreach ($fragments as $index => $name) { |
|
1424 | 1423 | if ($name = trim($name)) { |
1425 | - $names[$name] = $name; |
|
1426 | - } |
|
1427 | - } |
|
1428 | - // By using user_validate_user we can ensure that names included in $names are at least logisticaly possible. |
|
1429 | - // 2: Find the next user name suggestion. |
|
1430 | - $fragment = array_pop($names); |
|
1431 | - $matches = array(); |
|
1432 | - if (!empty($fragment)) { |
|
1424 | + $names[$name] = $name; |
|
1425 | + } |
|
1426 | + } |
|
1427 | + // By using user_validate_user we can ensure that names included in $names are at least logisticaly possible. |
|
1428 | + // 2: Find the next user name suggestion. |
|
1429 | + $fragment = array_pop($names); |
|
1430 | + $matches = array(); |
|
1431 | + if (!empty($fragment)) { |
|
1433 | 1432 | $query = _privatemsg_assemble_query('autocomplete', $fragment, $names); |
1434 | 1433 | db_set_active('boinc_rw'); |
1435 | 1434 | $result = db_query_range($query['query'], $fragment, 0, 10); |
@@ -1437,175 +1436,175 @@ discard block |
||
1437 | 1436 | $prefix = count($names) ? implode(', ', $names) . ', ' : ''; |
1438 | 1437 | // 3: Build proper suggestions and print. |
1439 | 1438 | while ($user = db_fetch_object($result)) { |
1440 | - $myname = preg_replace("/ /", "\xc2\xa0", $user->name); |
|
1441 | - $matches[$prefix . $myname . "_" . $user->id . ', '] = htmlentities($myname) . ' (' . $user->id . ')'; |
|
1439 | + $myname = preg_replace("/ /", "\xc2\xa0", $user->name); |
|
1440 | + $matches[$prefix . $myname . "_" . $user->id . ', '] = htmlentities($myname) . ' (' . $user->id . ')'; |
|
1442 | 1441 | } |
1443 | - } |
|
1444 | - // convert to object to prevent drupal bug, see http://drupal.org/node/175361 |
|
1445 | - drupal_json((object)$matches); |
|
1442 | + } |
|
1443 | + // convert to object to prevent drupal bug, see http://drupal.org/node/175361 |
|
1444 | + drupal_json((object)$matches); |
|
1446 | 1445 | } |
1447 | 1446 | |
1448 | 1447 | function privatemsg_user($op, &$edit, &$account, $category = NULL) { |
1449 | - global $user; |
|
1448 | + global $user; |
|
1450 | 1449 | |
1451 | - switch ($op) { |
|
1450 | + switch ($op) { |
|
1452 | 1451 | case 'view': |
1453 | 1452 | if ($url = privatemsg_get_link(array($account))) { |
1454 | 1453 | $account->content['privatemsg_send_new_message'] = array( |
1455 | - '#type' => 'markup', |
|
1456 | - '#value' => l(t('Send this user a message'), $url, array('query' => drupal_get_destination())), |
|
1457 | - '#weight' => 10, |
|
1454 | + '#type' => 'markup', |
|
1455 | + '#value' => l(t('Send this user a message'), $url, array('query' => drupal_get_destination())), |
|
1456 | + '#weight' => 10, |
|
1458 | 1457 | ); |
1459 | - } |
|
1460 | - break; |
|
1458 | + } |
|
1459 | + break; |
|
1461 | 1460 | case 'login': |
1462 | 1461 | if (variable_get('privatemsg_display_loginmessage', TRUE) && privatemsg_user_access()) { |
1463 | 1462 | $count = privatemsg_unread_count(); |
1464 | 1463 | if ($count) { |
1465 | - drupal_set_message(format_plural($count, 'You have <a href="@messages">1 unread message</a>.', 'You have <a href="@messages">@count unread messages</a>', array('@messages' => url('messages')))); |
|
1464 | + drupal_set_message(format_plural($count, 'You have <a href="@messages">1 unread message</a>.', 'You have <a href="@messages">@count unread messages</a>', array('@messages' => url('messages')))); |
|
1466 | 1465 | } |
1467 | - } |
|
1468 | - break; |
|
1466 | + } |
|
1467 | + break; |
|
1469 | 1468 | case 'delete': |
1470 | 1469 | |
1471 | 1470 | // Load all mids of the messages the user wrote. |
1472 | 1471 | $result = db_query("SELECT mid FROM {pm_message} WHERE author = %d", $account->uid); |
1473 | - $mids = array(); |
|
1474 | - while ($row = db_fetch_array($result)) { |
|
1472 | + $mids = array(); |
|
1473 | + while ($row = db_fetch_array($result)) { |
|
1475 | 1474 | $mids[] = $row['mid']; |
1476 | - } |
|
1475 | + } |
|
1477 | 1476 | |
1478 | - // Delete messages the user wrote. |
|
1479 | - db_query('DELETE FROM {pm_message} WHERE author = %d', $account->uid); |
|
1477 | + // Delete messages the user wrote. |
|
1478 | + db_query('DELETE FROM {pm_message} WHERE author = %d', $account->uid); |
|
1480 | 1479 | |
1481 | - if (!empty($mids)) { |
|
1480 | + if (!empty($mids)) { |
|
1482 | 1481 | // Delete recipient entries in {pm_index} of the messages the user wrote. |
1483 | 1482 | db_query('DELETE FROM {pm_index} WHERE mid IN (' . db_placeholders($mids) . ')', $mids); |
1484 | - } |
|
1483 | + } |
|
1485 | 1484 | |
1486 | - // Delete recipient entries of that user. |
|
1487 | - db_query('DELETE FROM {pm_index} WHERE uid = %d', $account->uid); |
|
1488 | - break; |
|
1489 | - } |
|
1485 | + // Delete recipient entries of that user. |
|
1486 | + db_query('DELETE FROM {pm_index} WHERE uid = %d', $account->uid); |
|
1487 | + break; |
|
1488 | + } |
|
1490 | 1489 | } |
1491 | 1490 | |
1492 | 1491 | function privatemsg_block($op = 'list', $delta = 0, $edit = array()) { |
1493 | - if ('list' == $op) { |
|
1492 | + if ('list' == $op) { |
|
1494 | 1493 | $blocks = array(); |
1495 | 1494 | $blocks['privatemsg-menu'] = array( |
1496 | - 'info' => t('Privatemsg links'), |
|
1497 | - 'cache' => BLOCK_NO_CACHE, |
|
1495 | + 'info' => t('Privatemsg links'), |
|
1496 | + 'cache' => BLOCK_NO_CACHE, |
|
1498 | 1497 | ); |
1499 | 1498 | $blocks['privatemsg-new'] = array( |
1500 | - 'info' => t('New message indication'), |
|
1501 | - 'cache' => BLOCK_NO_CACHE, |
|
1499 | + 'info' => t('New message indication'), |
|
1500 | + 'cache' => BLOCK_NO_CACHE, |
|
1502 | 1501 | ); |
1503 | 1502 | |
1504 | 1503 | return $blocks; |
1505 | - } |
|
1506 | - elseif ('view' == $op) { |
|
1504 | + } |
|
1505 | + elseif ('view' == $op) { |
|
1507 | 1506 | $block = array(); |
1508 | 1507 | switch ($delta) { |
1509 | - case 'privatemsg-menu': |
|
1508 | + case 'privatemsg-menu': |
|
1510 | 1509 | $block = _privatemsg_block_menu(); |
1511 | 1510 | break; |
1512 | - case 'privatemsg-new': |
|
1511 | + case 'privatemsg-new': |
|
1513 | 1512 | $block = _privatemsg_block_new(); |
1514 | 1513 | break; |
1515 | 1514 | } |
1516 | 1515 | return $block; |
1517 | - } |
|
1516 | + } |
|
1518 | 1517 | } |
1519 | 1518 | |
1520 | 1519 | function privatemsg_title_callback($title = NULL) { |
1521 | - $count = privatemsg_unread_count(); |
|
1520 | + $count = privatemsg_unread_count(); |
|
1522 | 1521 | |
1523 | - if ($count > 0) { |
|
1522 | + if ($count > 0) { |
|
1524 | 1523 | return format_plural($count, 'Messages (1 new)', 'Messages (@count new)'); |
1525 | - } |
|
1526 | - return t('Messages'); |
|
1524 | + } |
|
1525 | + return t('Messages'); |
|
1527 | 1526 | } |
1528 | 1527 | |
1529 | 1528 | |
1530 | 1529 | function _privatemsg_block_new() { |
1531 | - $block = array(); |
|
1530 | + $block = array(); |
|
1532 | 1531 | |
1533 | - if (!privatemsg_user_access()) { |
|
1532 | + if (!privatemsg_user_access()) { |
|
1534 | 1533 | return $block; |
1535 | - } |
|
1534 | + } |
|
1536 | 1535 | |
1537 | - $count = privatemsg_unread_count(); |
|
1538 | - if ($count) { |
|
1536 | + $count = privatemsg_unread_count(); |
|
1537 | + if ($count) { |
|
1539 | 1538 | $block = array( |
1540 | - 'subject' => format_plural($count, 'New message', 'New messages'), |
|
1541 | - 'content' => theme('privatemsg_new_block', $count), |
|
1539 | + 'subject' => format_plural($count, 'New message', 'New messages'), |
|
1540 | + 'content' => theme('privatemsg_new_block', $count), |
|
1542 | 1541 | ); |
1543 | 1542 | return $block; |
1544 | - } |
|
1545 | - return array(); |
|
1543 | + } |
|
1544 | + return array(); |
|
1546 | 1545 | } |
1547 | 1546 | |
1548 | 1547 | function _privatemsg_block_menu() { |
1549 | - $block = array(); |
|
1548 | + $block = array(); |
|
1550 | 1549 | |
1551 | - $links = array(); |
|
1552 | - if (privatemsg_user_access('write privatemsg')) { |
|
1550 | + $links = array(); |
|
1551 | + if (privatemsg_user_access('write privatemsg')) { |
|
1553 | 1552 | $links[] = l(t('Write new message'), 'messages/new'); |
1554 | - } |
|
1555 | - if (privatemsg_user_access('read privatemsg') || privatemsg_user_access('read all private messages') ) { |
|
1553 | + } |
|
1554 | + if (privatemsg_user_access('read privatemsg') || privatemsg_user_access('read all private messages') ) { |
|
1556 | 1555 | $links[] = l(privatemsg_title_callback(), 'messages'); |
1557 | - } |
|
1558 | - if ( count( $links ) ) { |
|
1556 | + } |
|
1557 | + if ( count( $links ) ) { |
|
1559 | 1558 | $block = array( |
1560 | - 'subject' => t('Private messages'), |
|
1561 | - 'content' => theme('item_list', $links), |
|
1559 | + 'subject' => t('Private messages'), |
|
1560 | + 'content' => theme('item_list', $links), |
|
1562 | 1561 | ); |
1563 | - } |
|
1564 | - return $block; |
|
1562 | + } |
|
1563 | + return $block; |
|
1565 | 1564 | } |
1566 | 1565 | |
1567 | 1566 | function privatemsg_delete($form_state, $thread, $message) { |
1568 | - $form['pmid'] = array( |
|
1567 | + $form['pmid'] = array( |
|
1569 | 1568 | '#type' => 'value', |
1570 | 1569 | '#value' => $message['mid'], |
1571 | - ); |
|
1572 | - $form['delete_destination'] = array( |
|
1570 | + ); |
|
1571 | + $form['delete_destination'] = array( |
|
1573 | 1572 | '#type' => 'value', |
1574 | 1573 | '#value' => count($thread['messages']) > 1 ? 'messages/view/' . $message['thread_id'] : 'messages', |
1575 | - ); |
|
1574 | + ); |
|
1576 | 1575 | |
1577 | - if (privatemsg_user_access('read all private messages')) { |
|
1576 | + if (privatemsg_user_access('read all private messages')) { |
|
1578 | 1577 | $form['delete_options'] = array( |
1579 | - '#type' => 'checkbox', |
|
1580 | - '#title' => t('Delete this message for all users?'), |
|
1581 | - '#description' => t('Tick the box to delete the message for all users.'), |
|
1582 | - '#default_value' => FALSE, |
|
1578 | + '#type' => 'checkbox', |
|
1579 | + '#title' => t('Delete this message for all users?'), |
|
1580 | + '#description' => t('Tick the box to delete the message for all users.'), |
|
1581 | + '#default_value' => FALSE, |
|
1583 | 1582 | ); |
1584 | - } |
|
1585 | - return confirm_form($form, |
|
1583 | + } |
|
1584 | + return confirm_form($form, |
|
1586 | 1585 | t('Are you sure you want to delete this message?'), |
1587 | 1586 | isset($_GET['destination']) ? $_GET['destination'] : 'messages/view/'. $message['thread_id'], |
1588 | 1587 | t('This action cannot be undone.'), |
1589 | 1588 | t('Delete'), |
1590 | 1589 | t('Cancel') |
1591 | - ); |
|
1590 | + ); |
|
1592 | 1591 | } |
1593 | 1592 | |
1594 | 1593 | function privatemsg_delete_submit($form, &$form_state) { |
1595 | - global $user; |
|
1596 | - $account = drupal_clone($user); |
|
1594 | + global $user; |
|
1595 | + $account = drupal_clone($user); |
|
1597 | 1596 | |
1598 | - if ($form_state['values']['confirm']) { |
|
1597 | + if ($form_state['values']['confirm']) { |
|
1599 | 1598 | if (isset($form_state['values']['delete_options']) && $form_state['values']['delete_options']) { |
1600 | - privatemsg_message_change_delete($form_state['values']['pmid'], 1); |
|
1601 | - drupal_set_message(t('Message has been deleted for all users.')); |
|
1599 | + privatemsg_message_change_delete($form_state['values']['pmid'], 1); |
|
1600 | + drupal_set_message(t('Message has been deleted for all users.')); |
|
1602 | 1601 | } |
1603 | 1602 | else { |
1604 | - privatemsg_message_change_delete($form_state['values']['pmid'], 1, $account); |
|
1605 | - drupal_set_message(t('Message has been deleted.')); |
|
1603 | + privatemsg_message_change_delete($form_state['values']['pmid'], 1, $account); |
|
1604 | + drupal_set_message(t('Message has been deleted.')); |
|
1606 | 1605 | } |
1607 | - } |
|
1608 | - $form_state['redirect'] = $form_state['values']['delete_destination']; |
|
1606 | + } |
|
1607 | + $form_state['redirect'] = $form_state['values']['delete_destination']; |
|
1609 | 1608 | } |
1610 | 1609 | |
1611 | 1610 | /** |
@@ -1622,18 +1621,18 @@ discard block |
||
1622 | 1621 | * @ingroup api |
1623 | 1622 | */ |
1624 | 1623 | function privatemsg_message_change_delete($pmid, $delete, $account = NULL) { |
1625 | - $delete_value = 0; |
|
1626 | - if ($delete == TRUE) { |
|
1624 | + $delete_value = 0; |
|
1625 | + if ($delete == TRUE) { |
|
1627 | 1626 | $delete_value = time(); |
1628 | - } |
|
1627 | + } |
|
1629 | 1628 | |
1630 | - if ($account) { |
|
1629 | + if ($account) { |
|
1631 | 1630 | db_query('UPDATE {pm_index} SET deleted = %d WHERE mid = %d AND uid = %d', $delete_value, $pmid, $account->uid); |
1632 | - } |
|
1633 | - else { |
|
1631 | + } |
|
1632 | + else { |
|
1634 | 1633 | // Mark deleted for all users. |
1635 | 1634 | db_query('UPDATE {pm_index} SET deleted = %d WHERE mid = %d', $delete_value, $pmid); |
1636 | - } |
|
1635 | + } |
|
1637 | 1636 | } |
1638 | 1637 | |
1639 | 1638 | /** |
@@ -1676,35 +1675,35 @@ discard block |
||
1676 | 1675 | * @ingroup api |
1677 | 1676 | */ |
1678 | 1677 | function privatemsg_new_thread($recipients, $subject, $body = NULL, $options = array()) { |
1679 | - global $user; |
|
1680 | - $author = drupal_clone($user); |
|
1681 | - |
|
1682 | - $message = array(); |
|
1683 | - $message['subject'] = $subject; |
|
1684 | - $message['body'] = $body; |
|
1685 | - // Make sure that recipients are keyed by user id and are not added |
|
1686 | - // multiple times. |
|
1687 | - foreach ($recipients as $recipient) { |
|
1678 | + global $user; |
|
1679 | + $author = drupal_clone($user); |
|
1680 | + |
|
1681 | + $message = array(); |
|
1682 | + $message['subject'] = $subject; |
|
1683 | + $message['body'] = $body; |
|
1684 | + // Make sure that recipients are keyed by user id and are not added |
|
1685 | + // multiple times. |
|
1686 | + foreach ($recipients as $recipient) { |
|
1688 | 1687 | $message['recipients'][$recipient->uid] = $recipient; |
1689 | - } |
|
1688 | + } |
|
1690 | 1689 | |
1691 | - // Set custom options, if any. |
|
1692 | - if (!empty($options)) { |
|
1690 | + // Set custom options, if any. |
|
1691 | + if (!empty($options)) { |
|
1693 | 1692 | $message += $options; |
1694 | - } |
|
1695 | - // Apply defaults - this will not overwrite existing keys. |
|
1696 | - $message += array( |
|
1693 | + } |
|
1694 | + // Apply defaults - this will not overwrite existing keys. |
|
1695 | + $message += array( |
|
1697 | 1696 | 'author' => $author, |
1698 | 1697 | 'timestamp' => time(), |
1699 | 1698 | 'format' => filter_resolve_format(FILTER_FORMAT_DEFAULT), |
1700 | - ); |
|
1699 | + ); |
|
1701 | 1700 | |
1702 | - $validated = _privatemsg_validate_message($message); |
|
1703 | - if ($validated['success']) { |
|
1701 | + $validated = _privatemsg_validate_message($message); |
|
1702 | + if ($validated['success']) { |
|
1704 | 1703 | $validated['message'] = _privatemsg_send($message); |
1705 | - } |
|
1704 | + } |
|
1706 | 1705 | |
1707 | - return $validated; |
|
1706 | + return $validated; |
|
1708 | 1707 | } |
1709 | 1708 | |
1710 | 1709 | /** |
@@ -1741,144 +1740,144 @@ discard block |
||
1741 | 1740 | * @ingroup api |
1742 | 1741 | */ |
1743 | 1742 | function privatemsg_reply($thread_id, $body, $options = array()) { |
1744 | - global $user; |
|
1745 | - $author = drupal_clone($user); |
|
1743 | + global $user; |
|
1744 | + $author = drupal_clone($user); |
|
1746 | 1745 | |
1747 | - $message = array(); |
|
1748 | - $message['body'] = $body; |
|
1746 | + $message = array(); |
|
1747 | + $message['body'] = $body; |
|
1749 | 1748 | |
1750 | - // set custom options, if any |
|
1751 | - if (!empty($options)) { |
|
1749 | + // set custom options, if any |
|
1750 | + if (!empty($options)) { |
|
1752 | 1751 | $message += $options; |
1753 | - } |
|
1754 | - // apply defaults |
|
1755 | - $message += array( |
|
1752 | + } |
|
1753 | + // apply defaults |
|
1754 | + $message += array( |
|
1756 | 1755 | 'author' => $author, |
1757 | 1756 | 'timestamp' => time(), |
1758 | 1757 | 'format' => filter_resolve_format(FILTER_FORMAT_DEFAULT), |
1759 | - ); |
|
1758 | + ); |
|
1760 | 1759 | |
1761 | - // We don't know the subject and the recipients, so we need to load them.. |
|
1762 | - // thread_id == mid on the first message of the thread |
|
1763 | - $first_message = privatemsg_message_load($thread_id, $message['author']); |
|
1764 | - if (!$first_message) { |
|
1760 | + // We don't know the subject and the recipients, so we need to load them.. |
|
1761 | + // thread_id == mid on the first message of the thread |
|
1762 | + $first_message = privatemsg_message_load($thread_id, $message['author']); |
|
1763 | + if (!$first_message) { |
|
1765 | 1764 | return array(t('Thread %thread_id not found, unable to answer', array('%thread_id' => $thread_id))); |
1766 | - } |
|
1765 | + } |
|
1767 | 1766 | |
1768 | - $message['thread_id'] = $thread_id; |
|
1769 | - // Load participants. |
|
1770 | - $message['recipients'] = _privatemsg_load_thread_participants($thread_id); |
|
1771 | - // Remove author. |
|
1772 | - if (isset($message['recipients'][$message['author']->uid]) && count($message['recipients']) > 1) { |
|
1767 | + $message['thread_id'] = $thread_id; |
|
1768 | + // Load participants. |
|
1769 | + $message['recipients'] = _privatemsg_load_thread_participants($thread_id); |
|
1770 | + // Remove author. |
|
1771 | + if (isset($message['recipients'][$message['author']->uid]) && count($message['recipients']) > 1) { |
|
1773 | 1772 | unset($message['recipients'][$message['author']->uid]); |
1774 | - } |
|
1775 | - $message['subject'] = $first_message['subject']; |
|
1773 | + } |
|
1774 | + $message['subject'] = $first_message['subject']; |
|
1776 | 1775 | |
1777 | - $validated = _privatemsg_validate_message($message); |
|
1778 | - if ($validated['success']) { |
|
1776 | + $validated = _privatemsg_validate_message($message); |
|
1777 | + if ($validated['success']) { |
|
1779 | 1778 | $validated['message'] = _privatemsg_send($message); |
1780 | - } |
|
1781 | - return $validated; |
|
1779 | + } |
|
1780 | + return $validated; |
|
1782 | 1781 | } |
1783 | 1782 | |
1784 | 1783 | function _privatemsg_validate_message(&$message, $form = FALSE) { |
1785 | - $messages = array('error' => array(), 'warning' => array()); |
|
1786 | - if (!privatemsg_user_access('write privatemsg', $message['author'])) { |
|
1784 | + $messages = array('error' => array(), 'warning' => array()); |
|
1785 | + if (!privatemsg_user_access('write privatemsg', $message['author'])) { |
|
1787 | 1786 | // no need to do further checks in this case... |
1788 | 1787 | if ($form) { |
1789 | - form_set_error('author', t('User @user is not allowed to write messages', array('@user' => $message['author']->name))); |
|
1790 | - return array( |
|
1788 | + form_set_error('author', t('User @user is not allowed to write messages', array('@user' => $message['author']->name))); |
|
1789 | + return array( |
|
1791 | 1790 | 'success' => FALSE, |
1792 | 1791 | 'messages' => $messages, |
1793 | - ); |
|
1792 | + ); |
|
1794 | 1793 | } |
1795 | 1794 | else { |
1796 | - $messages['error'][] = t('User @user is not allowed to write messages', array('@user' => $message['author']->name)); |
|
1797 | - return array( |
|
1798 | - 'success' => FALSE, |
|
1799 | - 'messages' => $messages, |
|
1800 | - ); |
|
1795 | + $messages['error'][] = t('User @user is not allowed to write messages', array('@user' => $message['author']->name)); |
|
1796 | + return array( |
|
1797 | + 'success' => FALSE, |
|
1798 | + 'messages' => $messages, |
|
1799 | + ); |
|
1800 | + } |
|
1801 | 1801 | } |
1802 | - } |
|
1803 | 1802 | |
1804 | - // Prevent subjects which only consist of a space as these can not be clicked. |
|
1805 | - $message['subject'] = trim($message['subject']); |
|
1806 | - if (empty($message['subject'])) { |
|
1803 | + // Prevent subjects which only consist of a space as these can not be clicked. |
|
1804 | + $message['subject'] = trim($message['subject']); |
|
1805 | + if (empty($message['subject'])) { |
|
1807 | 1806 | if ($form) { |
1808 | - form_set_error('subject', t('Disallowed to send a message without subject')); |
|
1807 | + form_set_error('subject', t('Disallowed to send a message without subject')); |
|
1809 | 1808 | } |
1810 | 1809 | else { |
1811 | - $messages['error'][] = t('Disallowed to send a message without subject'); |
|
1810 | + $messages['error'][] = t('Disallowed to send a message without subject'); |
|
1811 | + } |
|
1812 | 1812 | } |
1813 | - } |
|
1814 | 1813 | |
1815 | - // Don't allow replies without a body. |
|
1816 | - if (!empty($message['thread_id']) && ($message['body'] === NULL || $message['body'] === '') ) { |
|
1814 | + // Don't allow replies without a body. |
|
1815 | + if (!empty($message['thread_id']) && ($message['body'] === NULL || $message['body'] === '') ) { |
|
1817 | 1816 | if ($form) { |
1818 | - form_set_error('body', t('Disallowed to send reply without a message.')); |
|
1817 | + form_set_error('body', t('Disallowed to send reply without a message.')); |
|
1819 | 1818 | } |
1820 | 1819 | else { |
1821 | - $messages['error'][] = t('Disallowed to send reply without a message.'); |
|
1820 | + $messages['error'][] = t('Disallowed to send reply without a message.'); |
|
1821 | + } |
|
1822 | 1822 | } |
1823 | - } |
|
1824 | - // Check if an allowed format is used. global $user needs to be changed since |
|
1825 | - // it is not possible to do the check for a specific user. |
|
1826 | - global $user; |
|
1827 | - $original_user = drupal_clone($user); |
|
1828 | - session_save_session(FALSE); |
|
1829 | - $user = $message['author']; |
|
1823 | + // Check if an allowed format is used. global $user needs to be changed since |
|
1824 | + // it is not possible to do the check for a specific user. |
|
1825 | + global $user; |
|
1826 | + $original_user = drupal_clone($user); |
|
1827 | + session_save_session(FALSE); |
|
1828 | + $user = $message['author']; |
|
1830 | 1829 | |
1831 | - if (!filter_access($message['format'])) { |
|
1830 | + if (!filter_access($message['format'])) { |
|
1832 | 1831 | if ($form) { |
1833 | - form_set_error('format', t('You are not allowed to use the specified input format.')); |
|
1832 | + form_set_error('format', t('You are not allowed to use the specified input format.')); |
|
1834 | 1833 | } |
1835 | 1834 | else { |
1836 | - $messages['error'][] = t('User @user is not allowed to use the specified input format.', array('@user' => $message['author']->name)); |
|
1835 | + $messages['error'][] = t('User @user is not allowed to use the specified input format.', array('@user' => $message['author']->name)); |
|
1836 | + } |
|
1837 | 1837 | } |
1838 | - } |
|
1839 | 1838 | |
1840 | - $user = $original_user; |
|
1841 | - session_save_session(TRUE); |
|
1839 | + $user = $original_user; |
|
1840 | + session_save_session(TRUE); |
|
1842 | 1841 | |
1843 | - if (empty($message['recipients']) || !is_array($message['recipients'])) { |
|
1842 | + if (empty($message['recipients']) || !is_array($message['recipients'])) { |
|
1844 | 1843 | if ($form) { |
1845 | - form_set_error('to', t('Disallowed to send a message without at least one valid recipient')); |
|
1844 | + form_set_error('to', t('Disallowed to send a message without at least one valid recipient')); |
|
1846 | 1845 | } |
1847 | 1846 | else { |
1848 | - $messages['error'][] = t('Disallowed to send a message without at least one valid recipient'); |
|
1847 | + $messages['error'][] = t('Disallowed to send a message without at least one valid recipient'); |
|
1848 | + } |
|
1849 | 1849 | } |
1850 | - } |
|
1851 | 1850 | |
1852 | - if (!empty($message['recipients']) && is_array($message['recipients'])) { |
|
1851 | + if (!empty($message['recipients']) && is_array($message['recipients'])) { |
|
1853 | 1852 | foreach (module_invoke_all('privatemsg_block_message', $message['author'], $message['recipients']) as $blocked) { |
1854 | - unset($message['recipients'][$blocked['uid']]); |
|
1855 | - if ($form) { |
|
1853 | + unset($message['recipients'][$blocked['uid']]); |
|
1854 | + if ($form) { |
|
1856 | 1855 | drupal_set_message($blocked['message'], 'warning'); |
1857 | - } |
|
1858 | - else { |
|
1856 | + } |
|
1857 | + else { |
|
1859 | 1858 | $messages['warning'][] = $blocked['message']; |
1860 | - } |
|
1859 | + } |
|
1860 | + } |
|
1861 | 1861 | } |
1862 | - } |
|
1863 | 1862 | |
1864 | - // Check again, give another error message if all recipients are blocked |
|
1865 | - if (empty($message['recipients'])) { |
|
1863 | + // Check again, give another error message if all recipients are blocked |
|
1864 | + if (empty($message['recipients'])) { |
|
1866 | 1865 | if ($form) { |
1867 | - form_set_error('to', t('Disallowed to send message because all recipients are blocked')); |
|
1866 | + form_set_error('to', t('Disallowed to send message because all recipients are blocked')); |
|
1868 | 1867 | } |
1869 | 1868 | else { |
1870 | - $messages['error'][] = t('Disallowed to send message because all recipients are blocked'); |
|
1869 | + $messages['error'][] = t('Disallowed to send message because all recipients are blocked'); |
|
1870 | + } |
|
1871 | 1871 | } |
1872 | - } |
|
1873 | 1872 | |
1874 | - $messages = array_merge_recursive(module_invoke_all('privatemsg_message_validate', $message, $form), $messages); |
|
1873 | + $messages = array_merge_recursive(module_invoke_all('privatemsg_message_validate', $message, $form), $messages); |
|
1875 | 1874 | |
1876 | - // Check if there are errors in $messages or if $form is TRUE, there are form errors. |
|
1877 | - $success = empty($messages['error']) || ($form && count((array)form_get_errors()) > 0); |
|
1878 | - return array( |
|
1875 | + // Check if there are errors in $messages or if $form is TRUE, there are form errors. |
|
1876 | + $success = empty($messages['error']) || ($form && count((array)form_get_errors()) > 0); |
|
1877 | + return array( |
|
1879 | 1878 | 'success' => $success, |
1880 | 1879 | 'messages' => $messages, |
1881 | - ); |
|
1880 | + ); |
|
1882 | 1881 | } |
1883 | 1882 | |
1884 | 1883 | /** |
@@ -1894,61 +1893,61 @@ discard block |
||
1894 | 1893 | */ |
1895 | 1894 | function _privatemsg_send($message) { |
1896 | 1895 | |
1897 | - drupal_alter('privatemsg_message_presave', $message); |
|
1896 | + drupal_alter('privatemsg_message_presave', $message); |
|
1898 | 1897 | |
1899 | - $index_sql = "INSERT INTO {pm_index} (mid, thread_id, uid, is_new, deleted) VALUES (%d, %d, %d, %d, 0)"; |
|
1900 | - if (isset($message['read_all']) && $message['read_all']) { |
|
1898 | + $index_sql = "INSERT INTO {pm_index} (mid, thread_id, uid, is_new, deleted) VALUES (%d, %d, %d, %d, 0)"; |
|
1899 | + if (isset($message['read_all']) && $message['read_all']) { |
|
1901 | 1900 | // The message was sent in read all mode, add the author as recipient to all |
1902 | 1901 | // existing messages. |
1903 | 1902 | $query_messages = _privatemsg_assemble_query('messages', array($message['thread_id']), NULL); |
1904 | 1903 | $conversation = db_query($query_messages['query']); |
1905 | 1904 | while ($result = db_fetch_array($conversation)) { |
1906 | - if (!db_query($index_sql, $result['mid'], $message['thread_id'], $message['author']->uid, 0)) { |
|
1905 | + if (!db_query($index_sql, $result['mid'], $message['thread_id'], $message['author']->uid, 0)) { |
|
1907 | 1906 | return FALSE; |
1908 | - } |
|
1909 | - } |
|
1910 | - } |
|
1911 | - |
|
1912 | - // 1) Save the message body first. |
|
1913 | - $args = array(); |
|
1914 | - $args[] = $message['subject']; |
|
1915 | - $args[] = $message['author']->uid; |
|
1916 | - $args[] = $message['body']; |
|
1917 | - $args[] = $message['format']; |
|
1918 | - $args[] = $message['timestamp']; |
|
1919 | - $message_sql = "INSERT INTO {pm_message} (subject, author, body, format, timestamp) VALUES ('%s', %d, '%s', %d, %d)"; |
|
1920 | - db_query($message_sql, $args); |
|
1921 | - $mid = db_last_insert_id('pm_message', 'mid'); |
|
1922 | - $message['mid'] = $mid; |
|
1923 | - |
|
1924 | - // Thread ID is the same as the mid if it's the first message in the thread. |
|
1925 | - if (!isset($message['thread_id'])) { |
|
1907 | + } |
|
1908 | + } |
|
1909 | + } |
|
1910 | + |
|
1911 | + // 1) Save the message body first. |
|
1912 | + $args = array(); |
|
1913 | + $args[] = $message['subject']; |
|
1914 | + $args[] = $message['author']->uid; |
|
1915 | + $args[] = $message['body']; |
|
1916 | + $args[] = $message['format']; |
|
1917 | + $args[] = $message['timestamp']; |
|
1918 | + $message_sql = "INSERT INTO {pm_message} (subject, author, body, format, timestamp) VALUES ('%s', %d, '%s', %d, %d)"; |
|
1919 | + db_query($message_sql, $args); |
|
1920 | + $mid = db_last_insert_id('pm_message', 'mid'); |
|
1921 | + $message['mid'] = $mid; |
|
1922 | + |
|
1923 | + // Thread ID is the same as the mid if it's the first message in the thread. |
|
1924 | + if (!isset($message['thread_id'])) { |
|
1926 | 1925 | $message['thread_id'] = $mid; |
1927 | - } |
|
1926 | + } |
|
1928 | 1927 | |
1929 | - // 2) Save message to recipients. |
|
1930 | - // Each recipient gets a record in the pm_index table. |
|
1931 | - foreach ($message['recipients'] as $recipient) { |
|
1928 | + // 2) Save message to recipients. |
|
1929 | + // Each recipient gets a record in the pm_index table. |
|
1930 | + foreach ($message['recipients'] as $recipient) { |
|
1932 | 1931 | if (!db_query($index_sql, $mid, $message['thread_id'], $recipient->uid, 1) ) { |
1933 | - // We assume if one insert failed then the rest may fail too against the |
|
1934 | - // same table. |
|
1935 | - return FALSE; |
|
1932 | + // We assume if one insert failed then the rest may fail too against the |
|
1933 | + // same table. |
|
1934 | + return FALSE; |
|
1935 | + } |
|
1936 | 1936 | } |
1937 | - } |
|
1938 | 1937 | |
1939 | - // When author is also the recipient, we want to set message to UNREAD. |
|
1940 | - // All other times the message is set to READ. |
|
1941 | - $is_new = isset($message['recipients'][$message['author']->uid]) ? 1 : 0; |
|
1938 | + // When author is also the recipient, we want to set message to UNREAD. |
|
1939 | + // All other times the message is set to READ. |
|
1940 | + $is_new = isset($message['recipients'][$message['author']->uid]) ? 1 : 0; |
|
1942 | 1941 | |
1943 | - // Also add a record for the author to the pm_index table. |
|
1944 | - if (!db_query($index_sql, $mid, $message['thread_id'], $message['author']->uid, $is_new)) { |
|
1942 | + // Also add a record for the author to the pm_index table. |
|
1943 | + if (!db_query($index_sql, $mid, $message['thread_id'], $message['author']->uid, $is_new)) { |
|
1945 | 1944 | return FALSE; |
1946 | - } |
|
1945 | + } |
|
1947 | 1946 | |
1948 | - module_invoke_all('privatemsg_message_insert', $message); |
|
1947 | + module_invoke_all('privatemsg_message_insert', $message); |
|
1949 | 1948 | |
1950 | - // If we reached here that means we were successful at writing all messages to db. |
|
1951 | - return $message; |
|
1949 | + // If we reached here that means we were successful at writing all messages to db. |
|
1950 | + return $message; |
|
1952 | 1951 | } |
1953 | 1952 | |
1954 | 1953 | /** |
@@ -1968,37 +1967,37 @@ discard block |
||
1968 | 1967 | * @ingroup api |
1969 | 1968 | */ |
1970 | 1969 | function privatemsg_get_link($recipients, $account = array(), $subject = NULL) { |
1971 | - if ($account == NULL) { |
|
1970 | + if ($account == NULL) { |
|
1972 | 1971 | global $user; |
1973 | 1972 | $account = $user; |
1974 | - } |
|
1973 | + } |
|
1975 | 1974 | |
1976 | - if (!is_array($recipients)) { |
|
1975 | + if (!is_array($recipients)) { |
|
1977 | 1976 | $recipients = array($recipients); |
1978 | - } |
|
1977 | + } |
|
1979 | 1978 | |
1980 | - if (!privatemsg_user_access('write privatemsg', $account) || $account->uid == 0) { |
|
1979 | + if (!privatemsg_user_access('write privatemsg', $account) || $account->uid == 0) { |
|
1981 | 1980 | return FALSE; |
1982 | - } |
|
1981 | + } |
|
1983 | 1982 | |
1984 | - $validated = array(); |
|
1985 | - foreach ($recipients as $recipient) { |
|
1983 | + $validated = array(); |
|
1984 | + foreach ($recipients as $recipient) { |
|
1986 | 1985 | if (!privatemsg_user_access('read privatemsg', $recipient)) { |
1987 | - continue; |
|
1986 | + continue; |
|
1988 | 1987 | } |
1989 | 1988 | if (count(module_invoke_all('privatemsg_block_message', $account, array($recipient->uid => $recipient))) > 0) { |
1990 | - continue; |
|
1989 | + continue; |
|
1991 | 1990 | } |
1992 | 1991 | $validated[] = $recipient->uid; |
1993 | - } |
|
1994 | - if (empty($validated)) { |
|
1992 | + } |
|
1993 | + if (empty($validated)) { |
|
1995 | 1994 | return FALSE; |
1996 | - } |
|
1997 | - $url = 'messages/new/'. implode(',', $validated); |
|
1998 | - if (!is_null($subject)) { |
|
1995 | + } |
|
1996 | + $url = 'messages/new/'. implode(',', $validated); |
|
1997 | + if (!is_null($subject)) { |
|
1999 | 1998 | $url .= '/'. $subject; |
2000 | - } |
|
2001 | - return $url; |
|
1999 | + } |
|
2000 | + return $url; |
|
2002 | 2001 | } |
2003 | 2002 | |
2004 | 2003 | /** |
@@ -2013,8 +2012,8 @@ discard block |
||
2013 | 2012 | * @ingroup api |
2014 | 2013 | */ |
2015 | 2014 | function privatemsg_message_load($pmid, $account = NULL) { |
2016 | - $messages = privatemsg_message_load_multiple(array($pmid), $account); |
|
2017 | - return current($messages); |
|
2015 | + $messages = privatemsg_message_load_multiple(array($pmid), $account); |
|
2016 | + return current($messages); |
|
2018 | 2017 | } |
2019 | 2018 | |
2020 | 2019 | /** |
@@ -2029,27 +2028,27 @@ discard block |
||
2029 | 2028 | * @ingroup api |
2030 | 2029 | */ |
2031 | 2030 | function privatemsg_message_load_multiple($pmids, $account = NULL) { |
2032 | - // Avoid SQL error that would happen with an empty pm.mid IN () clause. |
|
2033 | - if (empty($pmids)) { |
|
2031 | + // Avoid SQL error that would happen with an empty pm.mid IN () clause. |
|
2032 | + if (empty($pmids)) { |
|
2034 | 2033 | return array(); |
2035 | - } |
|
2034 | + } |
|
2036 | 2035 | |
2037 | - $query = _privatemsg_assemble_query('load', $pmids, $account); |
|
2038 | - $result = db_query($query['query']); |
|
2039 | - $messages = array(); |
|
2040 | - while ($message = db_fetch_array($result)) { |
|
2036 | + $query = _privatemsg_assemble_query('load', $pmids, $account); |
|
2037 | + $result = db_query($query['query']); |
|
2038 | + $messages = array(); |
|
2039 | + while ($message = db_fetch_array($result)) { |
|
2041 | 2040 | // Load author of message. |
2042 | 2041 | if (!($message['author'] = user_load($message['author']))) { |
2043 | - // If user does not exist, load anonymous user. |
|
2044 | - $message['author'] = user_load(array('uid' => 0)); |
|
2042 | + // If user does not exist, load anonymous user. |
|
2043 | + $message['author'] = user_load(array('uid' => 0)); |
|
2045 | 2044 | } |
2046 | 2045 | $returned = module_invoke_all('privatemsg_message_load', $message); |
2047 | 2046 | if (!empty($returned)) { |
2048 | - $message = array_merge_recursive($returned, $message); |
|
2047 | + $message = array_merge_recursive($returned, $message); |
|
2049 | 2048 | } |
2050 | 2049 | $messages[$message['mid']] = $message; |
2051 | - } |
|
2052 | - return $messages; |
|
2050 | + } |
|
2051 | + return $messages; |
|
2053 | 2052 | } |
2054 | 2053 | |
2055 | 2054 | /** |
@@ -2068,26 +2067,26 @@ discard block |
||
2068 | 2067 | */ |
2069 | 2068 | function _privatemsg_assemble_query($query) { |
2070 | 2069 | |
2071 | - // Modules will be allowed to choose the prefix for the querybuilder, but if there is not one supplied, 'privatemsg' will be taken by default. |
|
2072 | - if (is_array($query)) { |
|
2070 | + // Modules will be allowed to choose the prefix for the querybuilder, but if there is not one supplied, 'privatemsg' will be taken by default. |
|
2071 | + if (is_array($query)) { |
|
2073 | 2072 | $query_id = $query[0]; |
2074 | 2073 | $query_group = $query[1]; |
2075 | - } |
|
2076 | - else { |
|
2074 | + } |
|
2075 | + else { |
|
2077 | 2076 | $query_id = $query; |
2078 | 2077 | $query_group = 'privatemsg'; |
2079 | - } |
|
2080 | - |
|
2081 | - $SELECT = array(); |
|
2082 | - $INNER_JOIN = array(); |
|
2083 | - $WHERE = array(); |
|
2084 | - $GROUP_BY = array(); |
|
2085 | - $HAVING = array(); |
|
2086 | - $ORDER_BY = array(); |
|
2087 | - $QUERY_ARGS = array('select' => array(), 'where' => array(), 'join' => array(), 'having' => array()); |
|
2088 | - $primary_table = ''; |
|
2089 | - |
|
2090 | - $fragments = array( |
|
2078 | + } |
|
2079 | + |
|
2080 | + $SELECT = array(); |
|
2081 | + $INNER_JOIN = array(); |
|
2082 | + $WHERE = array(); |
|
2083 | + $GROUP_BY = array(); |
|
2084 | + $HAVING = array(); |
|
2085 | + $ORDER_BY = array(); |
|
2086 | + $QUERY_ARGS = array('select' => array(), 'where' => array(), 'join' => array(), 'having' => array()); |
|
2087 | + $primary_table = ''; |
|
2088 | + |
|
2089 | + $fragments = array( |
|
2091 | 2090 | 'select' => $SELECT, |
2092 | 2091 | 'inner_join' => $INNER_JOIN, |
2093 | 2092 | 'where' => $WHERE, |
@@ -2096,52 +2095,52 @@ discard block |
||
2096 | 2095 | 'order_by' => $ORDER_BY, |
2097 | 2096 | 'query_args' => $QUERY_ARGS, |
2098 | 2097 | 'primary_table' => $primary_table, |
2099 | - ); |
|
2100 | - |
|
2101 | - /** |
|
2102 | - * Begin: dynamic arguments |
|
2103 | - */ |
|
2104 | - $args = func_get_args(); |
|
2105 | - unset($args[0]); |
|
2106 | - // we do the merge because we call call_user_func_array and not drupal_alter |
|
2107 | - // this is necessary because otherwise we would not be able to use $args correctly (otherwise it doesnt unfold) |
|
2108 | - $alterargs = array(&$fragments); |
|
2109 | - $query_function = $query_group .'_sql_'. $query_id; |
|
2110 | - if (!empty($args)) { |
|
2098 | + ); |
|
2099 | + |
|
2100 | + /** |
|
2101 | + * Begin: dynamic arguments |
|
2102 | + */ |
|
2103 | + $args = func_get_args(); |
|
2104 | + unset($args[0]); |
|
2105 | + // we do the merge because we call call_user_func_array and not drupal_alter |
|
2106 | + // this is necessary because otherwise we would not be able to use $args correctly (otherwise it doesnt unfold) |
|
2107 | + $alterargs = array(&$fragments); |
|
2108 | + $query_function = $query_group .'_sql_'. $query_id; |
|
2109 | + if (!empty($args)) { |
|
2111 | 2110 | $alterargs = array_merge($alterargs, $args); |
2112 | - } |
|
2113 | - /** |
|
2114 | - * END: Dynamic arguments |
|
2115 | - */ |
|
2116 | - if (!function_exists($query_function)) { |
|
2111 | + } |
|
2112 | + /** |
|
2113 | + * END: Dynamic arguments |
|
2114 | + */ |
|
2115 | + if (!function_exists($query_function)) { |
|
2117 | 2116 | drupal_set_message(t('Query function %function does not exist', array('%function' => $query_function)), 'error'); |
2118 | 2117 | return FALSE; |
2119 | - } |
|
2120 | - call_user_func_array($query_function, $alterargs); |
|
2121 | - |
|
2122 | - array_unshift($alterargs, $query_function); |
|
2123 | - call_user_func_array('drupal_alter', $alterargs); |
|
2124 | - |
|
2125 | - $SELECT = $fragments['select']; |
|
2126 | - $INNER_JOIN = $fragments['inner_join']; |
|
2127 | - $WHERE = $fragments['where']; |
|
2128 | - $GROUP_BY = $fragments['group_by']; |
|
2129 | - $HAVING = $fragments['having']; |
|
2130 | - $ORDER_BY = $fragments['order_by']; |
|
2131 | - $QUERY_ARGS = $fragments['query_args']; |
|
2132 | - $primary_table = $fragments['primary_table']; |
|
2133 | - |
|
2134 | - // pgsql has a case sensitive LIKE - replace it with ILIKE. see http://drupal.org/node/462982 |
|
2135 | - if ($GLOBALS['db_type'] == 'pgsql') { |
|
2118 | + } |
|
2119 | + call_user_func_array($query_function, $alterargs); |
|
2120 | + |
|
2121 | + array_unshift($alterargs, $query_function); |
|
2122 | + call_user_func_array('drupal_alter', $alterargs); |
|
2123 | + |
|
2124 | + $SELECT = $fragments['select']; |
|
2125 | + $INNER_JOIN = $fragments['inner_join']; |
|
2126 | + $WHERE = $fragments['where']; |
|
2127 | + $GROUP_BY = $fragments['group_by']; |
|
2128 | + $HAVING = $fragments['having']; |
|
2129 | + $ORDER_BY = $fragments['order_by']; |
|
2130 | + $QUERY_ARGS = $fragments['query_args']; |
|
2131 | + $primary_table = $fragments['primary_table']; |
|
2132 | + |
|
2133 | + // pgsql has a case sensitive LIKE - replace it with ILIKE. see http://drupal.org/node/462982 |
|
2134 | + if ($GLOBALS['db_type'] == 'pgsql') { |
|
2136 | 2135 | $WHERE = str_replace('LIKE', 'ILIKE', $WHERE); |
2137 | - } |
|
2136 | + } |
|
2138 | 2137 | |
2139 | - if (empty($primary_table)) { |
|
2138 | + if (empty($primary_table)) { |
|
2140 | 2139 | $primary_table = '{privatemsg} pm'; |
2141 | - } |
|
2140 | + } |
|
2142 | 2141 | |
2143 | - // Perform the whole query assembly only if we have something to select. |
|
2144 | - if (!empty($SELECT)) { |
|
2142 | + // Perform the whole query assembly only if we have something to select. |
|
2143 | + if (!empty($SELECT)) { |
|
2145 | 2144 | $str_select = implode(", ", $SELECT); |
2146 | 2145 | $query = "SELECT {$str_select} FROM ". $primary_table; |
2147 | 2146 | |
@@ -2149,51 +2148,51 @@ discard block |
||
2149 | 2148 | // In most cases, "COUNT(*)" is enough to get the count query, but in queries involving a GROUP BY, we want a count of the number of groups we have, not the count of elements inside each group. |
2150 | 2149 | // So we test if there is GROUP BY and if there is, count the number of distinct groups. If not, we go the normal wal and do a plain COUNT(*). |
2151 | 2150 | if (!empty($GROUP_BY)) { |
2152 | - // PostgreSQL does not support COUNT(sometextfield, someintfield), so I'm only using the first one |
|
2153 | - // Works fine for thread_id/list but may generate an error when a more complex GROUP BY is used. |
|
2154 | - $str_group_by_count = current($GROUP_BY); |
|
2155 | - $count = "SELECT COUNT(DISTINCT {$str_group_by_count}) FROM ". $primary_table; |
|
2151 | + // PostgreSQL does not support COUNT(sometextfield, someintfield), so I'm only using the first one |
|
2152 | + // Works fine for thread_id/list but may generate an error when a more complex GROUP BY is used. |
|
2153 | + $str_group_by_count = current($GROUP_BY); |
|
2154 | + $count = "SELECT COUNT(DISTINCT {$str_group_by_count}) FROM ". $primary_table; |
|
2156 | 2155 | } |
2157 | 2156 | else { |
2158 | - $count = "SELECT COUNT(*) FROM ". $primary_table; |
|
2157 | + $count = "SELECT COUNT(*) FROM ". $primary_table; |
|
2159 | 2158 | } |
2160 | 2159 | |
2161 | 2160 | if (!empty($INNER_JOIN)) { |
2162 | - $str_inner_join = implode(' ', $INNER_JOIN); |
|
2163 | - $query .= " {$str_inner_join}"; |
|
2164 | - $count .= " {$str_inner_join}"; |
|
2161 | + $str_inner_join = implode(' ', $INNER_JOIN); |
|
2162 | + $query .= " {$str_inner_join}"; |
|
2163 | + $count .= " {$str_inner_join}"; |
|
2165 | 2164 | } |
2166 | 2165 | if (!empty($WHERE)) { |
2167 | - $str_where = '('. implode(') AND (', $WHERE) .')'; |
|
2168 | - $query .= " WHERE {$str_where}"; |
|
2169 | - $count .= " WHERE {$str_where}"; |
|
2166 | + $str_where = '('. implode(') AND (', $WHERE) .')'; |
|
2167 | + $query .= " WHERE {$str_where}"; |
|
2168 | + $count .= " WHERE {$str_where}"; |
|
2170 | 2169 | } |
2171 | 2170 | if (!empty($GROUP_BY)) { |
2172 | - $str_group_by = ' GROUP BY '. implode(", ", $GROUP_BY) ; |
|
2173 | - $query .= " {$str_group_by}"; |
|
2171 | + $str_group_by = ' GROUP BY '. implode(", ", $GROUP_BY) ; |
|
2172 | + $query .= " {$str_group_by}"; |
|
2174 | 2173 | } |
2175 | 2174 | if (!empty($HAVING)) { |
2176 | - $str_having = '('. implode(') AND (', $HAVING) .')'; |
|
2177 | - $query .= " HAVING {$str_having}"; |
|
2178 | - // queries containing a HAVING break the count query on pgsql. |
|
2179 | - // In this case, use the subquery method as outlined in http://drupal.org/node/303087#comment-1370752 . |
|
2180 | - // The subquery method will work for all COUNT queries, but it is thought to be much slower, so we are only using it where other cross database approaches fail. |
|
2181 | - $count = 'SELECT COUNT(*) FROM ('. $query .') as count'; |
|
2175 | + $str_having = '('. implode(') AND (', $HAVING) .')'; |
|
2176 | + $query .= " HAVING {$str_having}"; |
|
2177 | + // queries containing a HAVING break the count query on pgsql. |
|
2178 | + // In this case, use the subquery method as outlined in http://drupal.org/node/303087#comment-1370752 . |
|
2179 | + // The subquery method will work for all COUNT queries, but it is thought to be much slower, so we are only using it where other cross database approaches fail. |
|
2180 | + $count = 'SELECT COUNT(*) FROM ('. $query .') as count'; |
|
2182 | 2181 | } |
2183 | 2182 | if (!empty($ORDER_BY)) { |
2184 | - $str_order_by = ' ORDER BY '. implode(", ", $ORDER_BY) ; |
|
2185 | - $query .= " {$str_order_by}"; |
|
2183 | + $str_order_by = ' ORDER BY '. implode(", ", $ORDER_BY) ; |
|
2184 | + $query .= " {$str_order_by}"; |
|
2186 | 2185 | } |
2187 | 2186 | $QUERY_ARGS = array_merge($QUERY_ARGS['select'], $QUERY_ARGS['join'], $QUERY_ARGS['where'], $QUERY_ARGS['having']); |
2188 | 2187 | if (!empty($QUERY_ARGS)) { |
2189 | - _db_query_callback($QUERY_ARGS, TRUE); |
|
2190 | - $query = preg_replace_callback(DB_QUERY_REGEXP, '_db_query_callback', $query); |
|
2191 | - _db_query_callback($QUERY_ARGS, TRUE); |
|
2192 | - $count = preg_replace_callback(DB_QUERY_REGEXP, '_db_query_callback', $count); |
|
2188 | + _db_query_callback($QUERY_ARGS, TRUE); |
|
2189 | + $query = preg_replace_callback(DB_QUERY_REGEXP, '_db_query_callback', $query); |
|
2190 | + _db_query_callback($QUERY_ARGS, TRUE); |
|
2191 | + $count = preg_replace_callback(DB_QUERY_REGEXP, '_db_query_callback', $count); |
|
2193 | 2192 | } |
2194 | 2193 | return array('query' => $query, 'count' => $count); |
2195 | - } |
|
2196 | - return FALSE; |
|
2194 | + } |
|
2195 | + return FALSE; |
|
2197 | 2196 | } |
2198 | 2197 | |
2199 | 2198 | /** |
@@ -2210,44 +2209,44 @@ discard block |
||
2210 | 2209 | * The FAPI definitions for the thread action form. |
2211 | 2210 | */ |
2212 | 2211 | function _privatemsg_action_form() { |
2213 | - $form = array( |
|
2214 | - '#type' => 'fieldset', |
|
2215 | - '#title' => t('Actions'), |
|
2216 | - '#prefix' => '<div class="container-inline">', |
|
2217 | - '#suffix' => '</div>', |
|
2218 | - '#collapsible' => TRUE, |
|
2219 | - '#collapsed' => FALSE, |
|
2220 | - '#weight' => 15, |
|
2221 | - ); |
|
2222 | - if (privatemsg_user_access('delete privatemsg')) { |
|
2212 | + $form = array( |
|
2213 | + '#type' => 'fieldset', |
|
2214 | + '#title' => t('Actions'), |
|
2215 | + '#prefix' => '<div class="container-inline">', |
|
2216 | + '#suffix' => '</div>', |
|
2217 | + '#collapsible' => TRUE, |
|
2218 | + '#collapsed' => FALSE, |
|
2219 | + '#weight' => 15, |
|
2220 | + ); |
|
2221 | + if (privatemsg_user_access('delete privatemsg')) { |
|
2223 | 2222 | $form['delete'] = array( |
2224 | 2223 | '#type' => 'submit', |
2225 | 2224 | '#value' => t('Delete'), |
2226 | 2225 | ); |
2227 | - } |
|
2228 | - // Display all operations which have a label. |
|
2229 | - $options = array(0 => t('More actions...')); |
|
2230 | - foreach (module_invoke_all('privatemsg_thread_operations') as $operation => $array) { |
|
2226 | + } |
|
2227 | + // Display all operations which have a label. |
|
2228 | + $options = array(0 => t('More actions...')); |
|
2229 | + foreach (module_invoke_all('privatemsg_thread_operations') as $operation => $array) { |
|
2231 | 2230 | if (isset($array['label'])) { |
2232 | - $options[$operation] = $array['label']; |
|
2233 | - } |
|
2234 | - } |
|
2235 | - $form['operation'] = array( |
|
2236 | - '#type' => 'select', |
|
2237 | - '#options' => $options, |
|
2238 | - '#default_value' => 0, |
|
2239 | - ); |
|
2240 | - $form['submit'] = array( |
|
2241 | - '#prefix' => '<div class="privatemsg-op-button">', |
|
2242 | - '#suffix' => '</div>', |
|
2243 | - '#type' => 'submit', |
|
2244 | - '#value' => t('Execute'), |
|
2245 | - '#submit' => array('privatemsg_list_submit'), |
|
2246 | - '#attributes' => array('class' => 'privatemsg-action-button'), |
|
2247 | - ); |
|
2248 | - // JS for hiding the execute button. |
|
2249 | - drupal_add_js(drupal_get_path('module', 'privatemsg') .'/privatemsg-list.js'); |
|
2250 | - return $form; |
|
2231 | + $options[$operation] = $array['label']; |
|
2232 | + } |
|
2233 | + } |
|
2234 | + $form['operation'] = array( |
|
2235 | + '#type' => 'select', |
|
2236 | + '#options' => $options, |
|
2237 | + '#default_value' => 0, |
|
2238 | + ); |
|
2239 | + $form['submit'] = array( |
|
2240 | + '#prefix' => '<div class="privatemsg-op-button">', |
|
2241 | + '#suffix' => '</div>', |
|
2242 | + '#type' => 'submit', |
|
2243 | + '#value' => t('Execute'), |
|
2244 | + '#submit' => array('privatemsg_list_submit'), |
|
2245 | + '#attributes' => array('class' => 'privatemsg-action-button'), |
|
2246 | + ); |
|
2247 | + // JS for hiding the execute button. |
|
2248 | + drupal_add_js(drupal_get_path('module', 'privatemsg') .'/privatemsg-list.js'); |
|
2249 | + return $form; |
|
2251 | 2250 | } |
2252 | 2251 | |
2253 | 2252 | /** |
@@ -2262,23 +2261,23 @@ discard block |
||
2262 | 2261 | * current user. |
2263 | 2262 | */ |
2264 | 2263 | function privatemsg_thread_change_status($threads, $status, $account = NULL) { |
2265 | - if (!is_array($threads)) { |
|
2264 | + if (!is_array($threads)) { |
|
2266 | 2265 | $threads = array($threads); |
2267 | - } |
|
2268 | - if (empty($account)) { |
|
2266 | + } |
|
2267 | + if (empty($account)) { |
|
2269 | 2268 | global $user; |
2270 | 2269 | $account = drupal_clone($user); |
2271 | - } |
|
2272 | - // Merge status and uid with the threads list. array_merge() will not overwrite/ignore thread_id 1. |
|
2273 | - $params = array_merge(array($status, $account->uid), $threads); |
|
2274 | - db_query('UPDATE {pm_index} SET is_new = %d WHERE uid = %d AND thread_id IN ('. db_placeholders($threads) .')', $params); |
|
2270 | + } |
|
2271 | + // Merge status and uid with the threads list. array_merge() will not overwrite/ignore thread_id 1. |
|
2272 | + $params = array_merge(array($status, $account->uid), $threads); |
|
2273 | + db_query('UPDATE {pm_index} SET is_new = %d WHERE uid = %d AND thread_id IN ('. db_placeholders($threads) .')', $params); |
|
2275 | 2274 | |
2276 | - if ($status == PRIVATEMSG_UNREAD) { |
|
2275 | + if ($status == PRIVATEMSG_UNREAD) { |
|
2277 | 2276 | drupal_set_message(format_plural(count($threads), 'Marked 1 thread as unread.', 'Marked @count threads as unread.')); |
2278 | - } |
|
2279 | - else { |
|
2277 | + } |
|
2278 | + else { |
|
2280 | 2279 | drupal_set_message(format_plural(count($threads), 'Marked 1 thread as read.', 'Marked @count threads as read.')); |
2281 | - } |
|
2280 | + } |
|
2282 | 2281 | } |
2283 | 2282 | /** |
2284 | 2283 | * Returns a table header definition based on the submitted keys. |
@@ -2294,25 +2293,25 @@ discard block |
||
2294 | 2293 | * Array with header defintions for tablesort_sql and theme('table'). |
2295 | 2294 | */ |
2296 | 2295 | function _privatemsg_list_headers($has_posts, $keys) { |
2297 | - $select_header = $has_posts ? theme('table_select_header_cell') : ''; |
|
2298 | - $select_header['#weight'] = -50; |
|
2296 | + $select_header = $has_posts ? theme('table_select_header_cell') : ''; |
|
2297 | + $select_header['#weight'] = -50; |
|
2299 | 2298 | |
2300 | - // theme() doesn't include the theme file for patterns, we need to do it manually. |
|
2301 | - include_once drupal_get_path('module', 'privatemsg') .'/privatemsg.theme.inc'; |
|
2299 | + // theme() doesn't include the theme file for patterns, we need to do it manually. |
|
2300 | + include_once drupal_get_path('module', 'privatemsg') .'/privatemsg.theme.inc'; |
|
2302 | 2301 | |
2303 | - $header = array($select_header); |
|
2304 | - foreach ($keys as $key) { |
|
2302 | + $header = array($select_header); |
|
2303 | + foreach ($keys as $key) { |
|
2305 | 2304 | // First, try to load a specific theme for that header, if not present, use the default. |
2306 | 2305 | if ($return = theme(array('privatemsg_list_header__'. $key, 'privatemsg_list_header'))) { |
2307 | - // The default theme returns nothing, only store the value if we have something. |
|
2308 | - $header[$key] = $return; |
|
2306 | + // The default theme returns nothing, only store the value if we have something. |
|
2307 | + $header[$key] = $return; |
|
2308 | + } |
|
2309 | 2309 | } |
2310 | - } |
|
2311 | - if (count($header) == 1) { |
|
2310 | + if (count($header) == 1) { |
|
2312 | 2311 | // No header definition returned, fallback to the default. |
2313 | 2312 | $header += _privatemsg_list_headers_fallback($keys); |
2314 | - } |
|
2315 | - return $header; |
|
2313 | + } |
|
2314 | + return $header; |
|
2316 | 2315 | } |
2317 | 2316 | |
2318 | 2317 | /** |
@@ -2322,15 +2321,15 @@ discard block |
||
2322 | 2321 | * Array with the correct headers. |
2323 | 2322 | */ |
2324 | 2323 | function _privatemsg_list_headers_fallback($keys) { |
2325 | - $header = array(); |
|
2326 | - foreach ($keys as $key) { |
|
2324 | + $header = array(); |
|
2325 | + foreach ($keys as $key) { |
|
2327 | 2326 | $theme_function = 'phptemplate_privatemsg_list_header__' . $key; |
2328 | 2327 | if (function_exists($theme_function)) { |
2329 | - $header[$key] = $theme_function(); |
|
2328 | + $header[$key] = $theme_function(); |
|
2329 | + } |
|
2330 | 2330 | } |
2331 | - } |
|
2332 | 2331 | |
2333 | - return $header; |
|
2332 | + return $header; |
|
2334 | 2333 | } |
2335 | 2334 | |
2336 | 2335 | /** |
@@ -2344,23 +2343,23 @@ discard block |
||
2344 | 2343 | * Row definition for use with theme('table') |
2345 | 2344 | */ |
2346 | 2345 | function _privatemsg_list_thread($thread) { |
2347 | - $row = array('data' => array()); |
|
2346 | + $row = array('data' => array()); |
|
2348 | 2347 | |
2349 | - if (!empty($thread['is_new'])) { |
|
2348 | + if (!empty($thread['is_new'])) { |
|
2350 | 2349 | // Set the css class in the tr tag. |
2351 | 2350 | $row['class'] = 'privatemsg-unread'; |
2352 | - } |
|
2353 | - foreach ($thread as $key => $data) { |
|
2351 | + } |
|
2352 | + foreach ($thread as $key => $data) { |
|
2354 | 2353 | // First, try to load a specific theme for that field, if not present, use the default. |
2355 | 2354 | if ($return = theme(array('privatemsg_list_field__'. $key, 'privatemsg_list_field'), $thread)) { |
2356 | - // The default theme returns nothing, only store the value if we have something. |
|
2357 | - $row['data'][$key] = $return; |
|
2355 | + // The default theme returns nothing, only store the value if we have something. |
|
2356 | + $row['data'][$key] = $return; |
|
2357 | + } |
|
2358 | 2358 | } |
2359 | - } |
|
2360 | - if (empty($row['data'])) { |
|
2359 | + if (empty($row['data'])) { |
|
2361 | 2360 | $row['data'] = _privatemsg_list_thread_fallback($thread); |
2362 | - } |
|
2363 | - return $row; |
|
2361 | + } |
|
2362 | + return $row; |
|
2364 | 2363 | } |
2365 | 2364 | |
2366 | 2365 | /** |
@@ -2370,15 +2369,15 @@ discard block |
||
2370 | 2369 | * Array with row data. |
2371 | 2370 | */ |
2372 | 2371 | function _privatemsg_list_thread_fallback($thread) { |
2373 | - $row_data = array(); |
|
2374 | - foreach ($thread as $key => $data) { |
|
2372 | + $row_data = array(); |
|
2373 | + foreach ($thread as $key => $data) { |
|
2375 | 2374 | $theme_function = 'phptemplate_privatemsg_list_field__' . $key; |
2376 | 2375 | if (function_exists($theme_function)) { |
2377 | - $row_data[$key] = $theme_function($thread); |
|
2376 | + $row_data[$key] = $theme_function($thread); |
|
2377 | + } |
|
2378 | 2378 | } |
2379 | - } |
|
2380 | 2379 | |
2381 | - return $row_data; |
|
2380 | + return $row_data; |
|
2382 | 2381 | } |
2383 | 2382 | |
2384 | 2383 | /** |
@@ -2388,20 +2387,20 @@ discard block |
||
2388 | 2387 | * execute it. |
2389 | 2388 | */ |
2390 | 2389 | function privatemsg_undo_action() { |
2391 | - // Check if a undo callback for that user exists. |
|
2392 | - if (isset($_SESSION['privatemsg']['undo callback']) && is_array($_SESSION['privatemsg']['undo callback'])) { |
|
2390 | + // Check if a undo callback for that user exists. |
|
2391 | + if (isset($_SESSION['privatemsg']['undo callback']) && is_array($_SESSION['privatemsg']['undo callback'])) { |
|
2393 | 2392 | $undo = $_SESSION['privatemsg']['undo callback']; |
2394 | 2393 | // If the defined undo callback exists, execute it |
2395 | 2394 | if (isset($undo['function']) && isset($undo['args'])) { |
2396 | - // Load the user object. |
|
2397 | - if (isset($undo['args']['account']) && $undo['args']['account'] > 0) { |
|
2395 | + // Load the user object. |
|
2396 | + if (isset($undo['args']['account']) && $undo['args']['account'] > 0) { |
|
2398 | 2397 | $undo['args']['account'] = user_load((int)$undo['args']['account']); |
2399 | - } |
|
2400 | - call_user_func_array($undo['function'], $undo['args']); |
|
2398 | + } |
|
2399 | + call_user_func_array($undo['function'], $undo['args']); |
|
2401 | 2400 | } |
2402 | 2401 | // Return back to the site defined by the destination GET param. |
2403 | 2402 | drupal_goto(); |
2404 | - } |
|
2403 | + } |
|
2405 | 2404 | } |
2406 | 2405 | |
2407 | 2406 | /** |
@@ -2411,29 +2410,29 @@ discard block |
||
2411 | 2410 | * based on node_admin_nodes_submit(). |
2412 | 2411 | */ |
2413 | 2412 | function privatemsg_list_submit($form, &$form_state) { |
2414 | - // Load all available operation definitions. |
|
2415 | - $operations = module_invoke_all('privatemsg_thread_operations'); |
|
2413 | + // Load all available operation definitions. |
|
2414 | + $operations = module_invoke_all('privatemsg_thread_operations'); |
|
2416 | 2415 | |
2417 | - // Default "default" operation, which won't do anything. |
|
2418 | - $operation = array('callback' => 0); |
|
2416 | + // Default "default" operation, which won't do anything. |
|
2417 | + $operation = array('callback' => 0); |
|
2419 | 2418 | |
2420 | - // Check if a valid operation has been submitted. |
|
2421 | - if (isset($form_state['values']['operation']) && isset($operations[$form_state['values']['operation']])) { |
|
2419 | + // Check if a valid operation has been submitted. |
|
2420 | + if (isset($form_state['values']['operation']) && isset($operations[$form_state['values']['operation']])) { |
|
2422 | 2421 | $operation = $operations[$form_state['values']['operation']]; |
2423 | - } |
|
2422 | + } |
|
2424 | 2423 | |
2425 | - // Load all keys where the value is the current op. |
|
2426 | - $keys = array_keys($form_state['values'], $form_state['values']['op']); |
|
2424 | + // Load all keys where the value is the current op. |
|
2425 | + $keys = array_keys($form_state['values'], $form_state['values']['op']); |
|
2427 | 2426 | |
2428 | - // The first one is op itself, we need to use the second. |
|
2429 | - if (isset($keys[1]) && isset($operations[$keys[1]])) { |
|
2427 | + // The first one is op itself, we need to use the second. |
|
2428 | + if (isset($keys[1]) && isset($operations[$keys[1]])) { |
|
2430 | 2429 | $operation = $operations[$keys[1]]; |
2431 | - } |
|
2430 | + } |
|
2432 | 2431 | |
2433 | - // Only execute something if we have a valid callback and at least one checked thread. |
|
2434 | - if (!empty($operation['callback'])) { |
|
2432 | + // Only execute something if we have a valid callback and at least one checked thread. |
|
2433 | + if (!empty($operation['callback'])) { |
|
2435 | 2434 | privatemsg_operation_execute($operation, $form_state['values']['threads'], $form_state['values']['account']); |
2436 | - } |
|
2435 | + } |
|
2437 | 2436 | } |
2438 | 2437 | |
2439 | 2438 | /** |
@@ -2447,42 +2446,42 @@ discard block |
||
2447 | 2446 | * array can be directly passed to it. |
2448 | 2447 | */ |
2449 | 2448 | function privatemsg_operation_execute($operation, $threads, $account = null) { |
2450 | - // Filter out unchecked threads, this gives us an array of "checked" threads. |
|
2451 | - $threads = array_filter($threads); |
|
2449 | + // Filter out unchecked threads, this gives us an array of "checked" threads. |
|
2450 | + $threads = array_filter($threads); |
|
2452 | 2451 | |
2453 | - if (empty($threads)) { |
|
2452 | + if (empty($threads)) { |
|
2454 | 2453 | // Do not execute anything if there are no checked threads. |
2455 | 2454 | return; |
2456 | - } |
|
2457 | - // Add in callback arguments if present. |
|
2458 | - if (isset($operation['callback arguments'])) { |
|
2455 | + } |
|
2456 | + // Add in callback arguments if present. |
|
2457 | + if (isset($operation['callback arguments'])) { |
|
2459 | 2458 | $args = array_merge(array($threads), $operation['callback arguments']); |
2460 | - } |
|
2461 | - else { |
|
2459 | + } |
|
2460 | + else { |
|
2462 | 2461 | $args = array($threads); |
2463 | - } |
|
2462 | + } |
|
2464 | 2463 | |
2465 | - // Add the user object to the arguments. |
|
2466 | - if ($account) { |
|
2464 | + // Add the user object to the arguments. |
|
2465 | + if ($account) { |
|
2467 | 2466 | $args[] = $account; |
2468 | - } |
|
2467 | + } |
|
2469 | 2468 | |
2470 | - // Execute the chosen action and pass the defined arguments. |
|
2471 | - call_user_func_array($operation['callback'], $args); |
|
2469 | + // Execute the chosen action and pass the defined arguments. |
|
2470 | + call_user_func_array($operation['callback'], $args); |
|
2472 | 2471 | |
2473 | - // Check if that operation has defined an undo callback. |
|
2474 | - if (isset($operation['undo callback']) && $undo_function = $operation['undo callback']) { |
|
2472 | + // Check if that operation has defined an undo callback. |
|
2473 | + if (isset($operation['undo callback']) && $undo_function = $operation['undo callback']) { |
|
2475 | 2474 | // Add in callback arguments if present. |
2476 | 2475 | if (isset($operation['undo callback arguments'])) { |
2477 | - $undo_args = array_merge(array($threads), $operation['undo callback arguments']); |
|
2476 | + $undo_args = array_merge(array($threads), $operation['undo callback arguments']); |
|
2478 | 2477 | } |
2479 | 2478 | else { |
2480 | - $undo_args = array($threads); |
|
2479 | + $undo_args = array($threads); |
|
2481 | 2480 | } |
2482 | 2481 | |
2483 | 2482 | // Avoid saving the complete user object in the session. |
2484 | 2483 | if ($account) { |
2485 | - $undo_args['account'] = $account->uid; |
|
2484 | + $undo_args['account'] = $account->uid; |
|
2486 | 2485 | } |
2487 | 2486 | // Store the undo callback in the session and display a "Undo" link. |
2488 | 2487 | // @todo: Provide a more flexible solution for such an undo action, operation defined string for example. |
@@ -2490,7 +2489,7 @@ discard block |
||
2490 | 2489 | $undo = url('messages/undo/action', array('query' => drupal_get_destination())); |
2491 | 2490 | |
2492 | 2491 | drupal_set_message(t('The previous action can be <a href="!undo">undone</a>.', array('!undo' => $undo))); |
2493 | - } |
|
2492 | + } |
|
2494 | 2493 | } |
2495 | 2494 | |
2496 | 2495 | /** |
@@ -2506,71 +2505,71 @@ discard block |
||
2506 | 2505 | * defaults to the current user. |
2507 | 2506 | */ |
2508 | 2507 | function privatemsg_thread_change_delete($threads, $delete, $account = NULL) { |
2509 | - if (!is_array($threads)) { |
|
2508 | + if (!is_array($threads)) { |
|
2510 | 2509 | $threads = array($threads); |
2511 | - } |
|
2512 | - if (empty($account)) { |
|
2510 | + } |
|
2511 | + if (empty($account)) { |
|
2513 | 2512 | global $user; |
2514 | 2513 | $account = drupal_clone($user); |
2515 | - } |
|
2514 | + } |
|
2516 | 2515 | |
2517 | - // Merge status and uid with the threads list. array_merge() will not overwrite/ignore thread_id 1. |
|
2518 | - $params = array_merge(array($delete, $account->uid), $threads); |
|
2516 | + // Merge status and uid with the threads list. array_merge() will not overwrite/ignore thread_id 1. |
|
2517 | + $params = array_merge(array($delete, $account->uid), $threads); |
|
2519 | 2518 | |
2520 | - // Load all messages of those threads including the deleted. |
|
2521 | - $query = _privatemsg_assemble_query('messages', $threads, $account, TRUE); |
|
2522 | - $result = db_query($query['query']); |
|
2519 | + // Load all messages of those threads including the deleted. |
|
2520 | + $query = _privatemsg_assemble_query('messages', $threads, $account, TRUE); |
|
2521 | + $result = db_query($query['query']); |
|
2523 | 2522 | |
2524 | - // Delete each message. We need to do that to trigger the delete hook. |
|
2525 | - while ($row = db_fetch_array($result)) { |
|
2523 | + // Delete each message. We need to do that to trigger the delete hook. |
|
2524 | + while ($row = db_fetch_array($result)) { |
|
2526 | 2525 | privatemsg_message_change_delete($row['mid'], $delete, $account); |
2527 | - } |
|
2526 | + } |
|
2528 | 2527 | |
2529 | - if ($delete) { |
|
2528 | + if ($delete) { |
|
2530 | 2529 | drupal_set_message(format_plural(count($threads), 'Deleted 1 thread.', 'Deleted @count threads.')); |
2531 | - } |
|
2532 | - else { |
|
2530 | + } |
|
2531 | + else { |
|
2533 | 2532 | drupal_set_message(format_plural(count($threads), 'Restored 1 thread.', 'Restored @count threads.')); |
2534 | - } |
|
2533 | + } |
|
2535 | 2534 | } |
2536 | 2535 | |
2537 | 2536 | /** |
2538 | 2537 | * Implements hook_privatemsg_thread_operations(). |
2539 | 2538 | */ |
2540 | 2539 | function privatemsg_privatemsg_thread_operations() { |
2541 | - $operations = array( |
|
2540 | + $operations = array( |
|
2542 | 2541 | 'mark as read' => array( |
2543 | - 'label' => t('Mark as read'), |
|
2544 | - 'callback' => 'privatemsg_thread_change_status', |
|
2545 | - 'callback arguments' => array('status' => PRIVATEMSG_READ), |
|
2546 | - 'undo callback' => 'privatemsg_thread_change_status', |
|
2547 | - 'undo callback arguments' => array('status' => PRIVATEMSG_UNREAD), |
|
2542 | + 'label' => t('Mark as read'), |
|
2543 | + 'callback' => 'privatemsg_thread_change_status', |
|
2544 | + 'callback arguments' => array('status' => PRIVATEMSG_READ), |
|
2545 | + 'undo callback' => 'privatemsg_thread_change_status', |
|
2546 | + 'undo callback arguments' => array('status' => PRIVATEMSG_UNREAD), |
|
2548 | 2547 | ), |
2549 | 2548 | 'mark as unread' => array( |
2550 | - 'label' => t('Mark as unread'), |
|
2551 | - 'callback' => 'privatemsg_thread_change_status', |
|
2552 | - 'callback arguments' => array('status' => PRIVATEMSG_UNREAD), |
|
2553 | - 'undo callback' => 'privatemsg_thread_change_status', |
|
2554 | - 'undo callback arguments' => array('status' => PRIVATEMSG_READ), |
|
2549 | + 'label' => t('Mark as unread'), |
|
2550 | + 'callback' => 'privatemsg_thread_change_status', |
|
2551 | + 'callback arguments' => array('status' => PRIVATEMSG_UNREAD), |
|
2552 | + 'undo callback' => 'privatemsg_thread_change_status', |
|
2553 | + 'undo callback arguments' => array('status' => PRIVATEMSG_READ), |
|
2555 | 2554 | ), |
2556 | - ); |
|
2557 | - if (privatemsg_user_access('delete privatemsg')) { |
|
2555 | + ); |
|
2556 | + if (privatemsg_user_access('delete privatemsg')) { |
|
2558 | 2557 | $operations['delete'] = array( |
2559 | - 'callback' => 'privatemsg_thread_change_delete', |
|
2560 | - 'callback arguments' => array('delete' => 1), |
|
2561 | - 'undo callback' => 'privatemsg_thread_change_delete', |
|
2562 | - 'undo callback arguments' => array('delete' => 0), |
|
2558 | + 'callback' => 'privatemsg_thread_change_delete', |
|
2559 | + 'callback arguments' => array('delete' => 1), |
|
2560 | + 'undo callback' => 'privatemsg_thread_change_delete', |
|
2561 | + 'undo callback arguments' => array('delete' => 0), |
|
2563 | 2562 | ); |
2564 | - } |
|
2565 | - return $operations; |
|
2563 | + } |
|
2564 | + return $operations; |
|
2566 | 2565 | } |
2567 | 2566 | |
2568 | 2567 | /** |
2569 | 2568 | * Implementation of hook_views_api(). |
2570 | 2569 | */ |
2571 | 2570 | function privatemsg_views_api() { |
2572 | - return array( |
|
2571 | + return array( |
|
2573 | 2572 | 'api' => 2, |
2574 | 2573 | 'path' => drupal_get_path('module', 'privatemsg') . '/views', |
2575 | - ); |
|
2574 | + ); |
|
2576 | 2575 | } |
@@ -98,7 +98,7 @@ discard block |
||
98 | 98 | |
99 | 99 | |
100 | 100 | if ($no_text) { |
101 | - return implode(', ', $to) . $limit_string; |
|
101 | + return implode(', ', $to).$limit_string; |
|
102 | 102 | } |
103 | 103 | |
104 | 104 | $last = array_pop($to); |
@@ -220,7 +220,7 @@ discard block |
||
220 | 220 | * @ingroup api |
221 | 221 | */ |
222 | 222 | function privatemsg_user_access($permission = 'read privatemsg', $account = NULL) { |
223 | - if ( $account === NULL ) { |
|
223 | + if ($account === NULL) { |
|
224 | 224 | global $user; |
225 | 225 | $account = $user; |
226 | 226 | } |
@@ -344,7 +344,7 @@ discard block |
||
344 | 344 | // message overlap. |
345 | 345 | // Note - the last page lists the earliest messages, not the latest. |
346 | 346 | $paging_count = variable_get('privatemsg_view_use_max_as_default', FALSE) ? $thread['message_count'] - variable_get('privatemsg_view_default_amount', 10) : $thread['message_count']; |
347 | - $last_page = $paging_count % $max_amount; |
|
347 | + $last_page = $paging_count%$max_amount; |
|
348 | 348 | } |
349 | 349 | |
350 | 350 | // Sanity check - we cannot start from a negative number. |
@@ -546,7 +546,7 @@ discard block |
||
546 | 546 | '#options' => $amounts, |
547 | 547 | '#weight' => 20, |
548 | 548 | ); |
549 | - drupal_add_js(drupal_get_path('module', 'privatemsg') .'/privatemsg-admin.js'); |
|
549 | + drupal_add_js(drupal_get_path('module', 'privatemsg').'/privatemsg-admin.js'); |
|
550 | 550 | |
551 | 551 | $form['#submit'][] = 'private_message_settings_submit'; |
552 | 552 | return system_settings_form($form); |
@@ -640,9 +640,9 @@ discard block |
||
640 | 640 | $vars['message_timestamp'] = format_date($message['timestamp'], 'small'); |
641 | 641 | $vars['message_body'] = check_markup($message['body'], $message['format'], FALSE); |
642 | 642 | if (isset($vars['mid']) && isset($vars['thread_id']) && privatemsg_user_access('delete privatemsg')) { |
643 | - $vars['message_actions'][] = array('title' => t('Delete message'), 'href' => 'messages/delete/' . $vars['thread_id'] . '/' . $vars['mid']); |
|
643 | + $vars['message_actions'][] = array('title' => t('Delete message'), 'href' => 'messages/delete/'.$vars['thread_id'].'/'.$vars['mid']); |
|
644 | 644 | } |
645 | - $vars['message_anchors'][] = 'privatemsg-mid-' . $vars['mid']; |
|
645 | + $vars['message_anchors'][] = 'privatemsg-mid-'.$vars['mid']; |
|
646 | 646 | if (!empty($message['is_new'])) { |
647 | 647 | $vars['message_anchors'][] = 'new'; |
648 | 648 | $vars['new'] = drupal_ucfirst(t('new')); |
@@ -655,7 +655,7 @@ discard block |
||
655 | 655 | |
656 | 656 | $vars['anchors'] = ''; |
657 | 657 | foreach ($vars['message_anchors'] as $anchor) { |
658 | - $vars['anchors'] .= '<a name="' . $anchor . '"></a>'; |
|
658 | + $vars['anchors'] .= '<a name="'.$anchor.'"></a>'; |
|
659 | 659 | } |
660 | 660 | } |
661 | 661 | |
@@ -758,7 +758,7 @@ discard block |
||
758 | 758 | global $user; |
759 | 759 | $account = $user; |
760 | 760 | } |
761 | - if ( !isset($counts[$account->uid])) { |
|
761 | + if (!isset($counts[$account->uid])) { |
|
762 | 762 | $query = _privatemsg_assemble_query('unread_count', $account); |
763 | 763 | $counts[$account->uid] = db_result(db_query($query['query'])); |
764 | 764 | } |
@@ -785,7 +785,7 @@ discard block |
||
785 | 785 | 'query' => array('start' => $thread['older_start']), |
786 | 786 | 'title' => t('Display older messages'), |
787 | 787 | ); |
788 | - $older = l(t('<<'), 'messages/view/' . $thread['thread_id'], $options); |
|
788 | + $older = l(t('<<'), 'messages/view/'.$thread['thread_id'], $options); |
|
789 | 789 | } |
790 | 790 | $newer = ''; |
791 | 791 | if (isset($thread['newer_start'])) { |
@@ -793,7 +793,7 @@ discard block |
||
793 | 793 | 'query' => array('start' => $thread['newer_start']), |
794 | 794 | 'title' => t('Display newer messages'), |
795 | 795 | ); |
796 | - $newer = l(t('>>'), 'messages/view/' . $thread['thread_id'], $options); |
|
796 | + $newer = l(t('>>'), 'messages/view/'.$thread['thread_id'], $options); |
|
797 | 797 | } |
798 | 798 | $substitutions = array('@from' => $thread['from'], '@to' => $thread['to'], '@total' => $thread['message_count'], '!previous_link' => $older, '!newer_link' => $newer); |
799 | 799 | $title = t('!previous_link Displaying messages @from - @to of @total !newer_link', $substitutions); |
@@ -847,7 +847,7 @@ discard block |
||
847 | 847 | global $user; |
848 | 848 | |
849 | 849 | $recipients_string = ''; |
850 | - $body = ''; |
|
850 | + $body = ''; |
|
851 | 851 | |
852 | 852 | // convert recipients to array of user objects |
853 | 853 | if (!empty($recipients) && is_string($recipients) || is_int($recipients)) { |
@@ -879,7 +879,7 @@ discard block |
||
879 | 879 | } |
880 | 880 | $myuser = user_load(array('uid' => $recipient->uid)); |
881 | 881 | $myname = preg_replace("/ /", "\xc2\xa0", $myuser->boincuser_name); |
882 | - $to[] = $myname . "_" . $myuser->boincuser_id; |
|
882 | + $to[] = $myname."_".$myuser->boincuser_id; |
|
883 | 883 | $to_themed[$recipient->uid] = $myname; |
884 | 884 | } |
885 | 885 | else { |
@@ -892,7 +892,7 @@ discard block |
||
892 | 892 | // Assume the user sent message to own account as if the usercount is one or less, then the user sent a message but not to self. |
893 | 893 | $myuser = user_load(array('uid' => $user->uid)); |
894 | 894 | $myname = preg_replace("/ /", "\xc2\xa0", $myuser->boincuser_name); |
895 | - $to[] = $myname . "_" . $myuser->boincuser_id; |
|
895 | + $to[] = $myname."_".$myuser->boincuser_id; |
|
896 | 896 | $to_themed[$user->uid] = $myname; |
897 | 897 | } |
898 | 898 | if (!empty($to)) { |
@@ -1007,7 +1007,7 @@ discard block |
||
1007 | 1007 | ); |
1008 | 1008 | $recipients_string_themed = implode(', ', $to_themed); |
1009 | 1009 | $form['privatemsg']['recipient_display'] = array( |
1010 | - '#value' => '<p>'. t('<strong>Reply to thread</strong>:<br /> Recipients: !to', array('!to' => $recipients_string_themed)) .'</p>', |
|
1010 | + '#value' => '<p>'.t('<strong>Reply to thread</strong>:<br /> Recipients: !to', array('!to' => $recipients_string_themed)).'</p>', |
|
1011 | 1011 | '#weight' => -10, |
1012 | 1012 | ); |
1013 | 1013 | if (empty($recipients_string)) { |
@@ -1101,7 +1101,7 @@ discard block |
||
1101 | 1101 | // First, check if another module is able to resolve the string into an |
1102 | 1102 | // user object. |
1103 | 1103 | foreach (module_implements('privatemsg_name_lookup') as $module) { |
1104 | - $function = $module . '_privatemsg_name_lookup'; |
|
1104 | + $function = $module.'_privatemsg_name_lookup'; |
|
1105 | 1105 | if (($recipient = $function($string)) && is_object($recipient)) { |
1106 | 1106 | // If there is a match, continue with the next input string. |
1107 | 1107 | $recipients[$recipient->uid] = $recipient; |
@@ -1132,7 +1132,7 @@ discard block |
||
1132 | 1132 | foreach ($form_state['validate_built_message']['recipients'] as $recipient) { |
1133 | 1133 | $recipient_names[] = theme('username', $recipient); |
1134 | 1134 | } |
1135 | - if ($status !== FALSE ) { |
|
1135 | + if ($status !== FALSE) { |
|
1136 | 1136 | drupal_set_message(t('A message has been sent to !recipients.', array('!recipients' => implode(', ', $recipient_names)))); |
1137 | 1137 | } |
1138 | 1138 | else { |
@@ -1174,7 +1174,7 @@ discard block |
||
1174 | 1174 | $fields = array_filter(variable_get('privatemsg_display_fields', array('participants'))); |
1175 | 1175 | |
1176 | 1176 | // Required columns. |
1177 | - $fragments['select'][] = 'pmi.thread_id'; |
|
1177 | + $fragments['select'][] = 'pmi.thread_id'; |
|
1178 | 1178 | // We have to use MIN as the subject might not be the same in some threads. |
1179 | 1179 | // MIN() does not have a useful meaning except that it helps to correctly |
1180 | 1180 | // aggregate the thread on PostgreSQL. |
@@ -1186,32 +1186,32 @@ discard block |
||
1186 | 1186 | // Select number of messages in the thread if the count is |
1187 | 1187 | // set to be displayed. |
1188 | 1188 | if (in_array('count', $fields)) { |
1189 | - $fragments['select'][] = 'COUNT(distinct pmi.mid) as count'; |
|
1189 | + $fragments['select'][] = 'COUNT(distinct pmi.mid) as count'; |
|
1190 | 1190 | } |
1191 | 1191 | if (in_array('participants', $fields)) { |
1192 | 1192 | // Query for a string with uid's, for example "1,6,7". |
1193 | 1193 | // @todo: Replace this with a single query similiar to the tag list. |
1194 | 1194 | if ($GLOBALS['db_type'] == 'pgsql') { |
1195 | 1195 | // PostgreSQL does not know GROUP_CONCAT, so a subquery is required. |
1196 | - $fragments['select'][] = "array_to_string(array(SELECT DISTINCT textin(int4out(pmia.uid)) |
|
1196 | + $fragments['select'][] = "array_to_string(array(SELECT DISTINCT textin(int4out(pmia.uid)) |
|
1197 | 1197 | FROM {pm_index} pmia |
1198 | 1198 | WHERE pmia.thread_id = pmi.thread_id), ',') AS participants"; |
1199 | 1199 | } |
1200 | 1200 | else { |
1201 | - $fragments['select'][] = '(SELECT GROUP_CONCAT(DISTINCT pmia.uid SEPARATOR ",") |
|
1201 | + $fragments['select'][] = '(SELECT GROUP_CONCAT(DISTINCT pmia.uid SEPARATOR ",") |
|
1202 | 1202 | FROM {pm_index} pmia |
1203 | 1203 | WHERE pmia.thread_id = pmi.thread_id) AS participants'; |
1204 | 1204 | } |
1205 | 1205 | } |
1206 | 1206 | if (in_array('thread_started', $fields)) { |
1207 | - $fragments['select'][] = 'MIN(pm.timestamp) as thread_started'; |
|
1207 | + $fragments['select'][] = 'MIN(pm.timestamp) as thread_started'; |
|
1208 | 1208 | } |
1209 | 1209 | |
1210 | 1210 | $fragments['inner_join'][] = 'INNER JOIN {pm_index} pmi ON pm.mid = pmi.mid'; |
1211 | 1211 | |
1212 | 1212 | // Only load undeleted messages of the current user and group by thread. |
1213 | 1213 | $fragments['where'][] = 'pmi.uid = %d'; |
1214 | - $fragments['query_args']['where'][] = $account->uid; |
|
1214 | + $fragments['query_args']['where'][] = $account->uid; |
|
1215 | 1215 | $fragments['where'][] = 'pmi.deleted = 0'; |
1216 | 1216 | $fragments['group_by'][] = 'pmi.thread_id'; |
1217 | 1217 | |
@@ -1225,8 +1225,8 @@ discard block |
||
1225 | 1225 | // tablesort_sql() generates a ORDER BY string. However, the "ORDER BY " part |
1226 | 1226 | // is not needed and added by the query builder. Discard the first 9 |
1227 | 1227 | // characters of the string. |
1228 | - $order_by = drupal_substr(tablesort_sql(_privatemsg_list_headers( FALSE, array_merge(array('subject', 'last_updated'), $fields)), $order_by_first), 9); |
|
1229 | - $fragments['order_by'][] = $order_by; |
|
1228 | + $order_by = drupal_substr(tablesort_sql(_privatemsg_list_headers(FALSE, array_merge(array('subject', 'last_updated'), $fields)), $order_by_first), 9); |
|
1229 | + $fragments['order_by'][] = $order_by; |
|
1230 | 1230 | } |
1231 | 1231 | |
1232 | 1232 | /** |
@@ -1253,11 +1253,11 @@ discard block |
||
1253 | 1253 | |
1254 | 1254 | $fragments['inner_join'][] = 'INNER JOIN {pm_index} pmi ON pm.mid = pmi.mid'; |
1255 | 1255 | // Use IN() to load multiple messages at the same time. |
1256 | - $fragments['where'][] = 'pmi.mid IN (' . db_placeholders($pmids) . ')'; |
|
1257 | - $fragments['query_args']['where'] += $pmids; |
|
1256 | + $fragments['where'][] = 'pmi.mid IN ('.db_placeholders($pmids).')'; |
|
1257 | + $fragments['query_args']['where'] += $pmids; |
|
1258 | 1258 | if ($account) { |
1259 | - $fragments['where'][] = 'pmi.uid = %d'; |
|
1260 | - $fragments['query_args']['where'][] = $account->uid; |
|
1259 | + $fragments['where'][] = 'pmi.uid = %d'; |
|
1260 | + $fragments['query_args']['where'][] = $account->uid; |
|
1261 | 1261 | } |
1262 | 1262 | $fragments['order_by'][] = 'pm.timestamp ASC'; |
1263 | 1263 | $fragments['order_by'][] = 'pm.mid ASC'; |
@@ -1279,13 +1279,13 @@ discard block |
||
1279 | 1279 | $fragments['primary_table'] = '{pm_index} pmi'; |
1280 | 1280 | |
1281 | 1281 | $fragments['select'][] = 'pmi.mid'; |
1282 | - $fragments['where'][] = 'pmi.thread_id IN ('. db_placeholders($threads) .')'; |
|
1283 | - $fragments['query_args']['where'] += $threads; |
|
1282 | + $fragments['where'][] = 'pmi.thread_id IN ('.db_placeholders($threads).')'; |
|
1283 | + $fragments['query_args']['where'] += $threads; |
|
1284 | 1284 | $fragments['inner_join'][] = 'INNER JOIN {pm_message} pm ON (pm.mid = pmi.mid)'; |
1285 | 1285 | if ($account) { |
1286 | 1286 | // Only load the user's messages. |
1287 | 1287 | $fragments['where'][] = 'pmi.uid = %d'; |
1288 | - $fragments['query_args']['where'][] = $account->uid; |
|
1288 | + $fragments['query_args']['where'][] = $account->uid; |
|
1289 | 1289 | } |
1290 | 1290 | if (!$load_all) { |
1291 | 1291 | // Also load deleted messages when requested. |
@@ -1321,7 +1321,7 @@ discard block |
||
1321 | 1321 | |
1322 | 1322 | $fragments['inner_join'][] = 'INNER JOIN {users} u ON (u.uid = pmi.uid)'; |
1323 | 1323 | $fragments['where'][] = 'pmi.thread_id = %d'; |
1324 | - $fragments['query_args']['where'][] = $thread_id; |
|
1324 | + $fragments['query_args']['where'][] = $thread_id; |
|
1325 | 1325 | } |
1326 | 1326 | |
1327 | 1327 | /** |
@@ -1341,7 +1341,7 @@ discard block |
||
1341 | 1341 | $fragments['where'][] = 'pmi.deleted = 0'; |
1342 | 1342 | $fragments['where'][] = 'pmi.is_new = 1'; |
1343 | 1343 | $fragments['where'][] = 'pmi.uid = %d'; |
1344 | - $fragments['query_args']['where'][] = $account->uid; |
|
1344 | + $fragments['query_args']['where'][] = $account->uid; |
|
1345 | 1345 | } |
1346 | 1346 | |
1347 | 1347 | /** |
@@ -1361,7 +1361,7 @@ discard block |
||
1361 | 1361 | $fragments['select'][] = 'u.name,u.id'; |
1362 | 1362 | // Escape the % to get it through the placeholder replacement. |
1363 | 1363 | $fragments['where'][] = "u.name LIKE '%s'"; |
1364 | - $fragments['query_args']['where'][] = $search .'%%'; |
|
1364 | + $fragments['query_args']['where'][] = $search.'%%'; |
|
1365 | 1365 | if (!empty($names)) { |
1366 | 1366 | // If there are already names selected, exclude them from the |
1367 | 1367 | // suggestions. Extract the BOINC ids from the names array, and |
@@ -1371,7 +1371,7 @@ discard block |
||
1371 | 1371 | $boincid = substr($name, strrpos($name, '_') + 1); |
1372 | 1372 | $ids[$boincid] = $boincid; |
1373 | 1373 | } |
1374 | - $fragments['where'][] = "u.id NOT IN (". db_placeholders($ids, 'int') .")"; |
|
1374 | + $fragments['where'][] = "u.id NOT IN (".db_placeholders($ids, 'int').")"; |
|
1375 | 1375 | $fragments['query_args']['where'] += $ids; |
1376 | 1376 | } |
1377 | 1377 | // Only load active users and sort them by name. |
@@ -1404,7 +1404,7 @@ discard block |
||
1404 | 1404 | |
1405 | 1405 | // Only select messages that have been deleted more than n days ago. |
1406 | 1406 | $fragments['having'][] = 'MAX(pmi.deleted) < %d'; |
1407 | - $fragments['query_args']['having'][] = time() - $days * 86400; |
|
1407 | + $fragments['query_args']['having'][] = time() - $days*86400; |
|
1408 | 1408 | } |
1409 | 1409 | |
1410 | 1410 | /** |
@@ -1434,11 +1434,11 @@ discard block |
||
1434 | 1434 | db_set_active('boinc_rw'); |
1435 | 1435 | $result = db_query_range($query['query'], $fragment, 0, 10); |
1436 | 1436 | db_set_active('default'); |
1437 | - $prefix = count($names) ? implode(', ', $names) . ', ' : ''; |
|
1437 | + $prefix = count($names) ? implode(', ', $names).', ' : ''; |
|
1438 | 1438 | // 3: Build proper suggestions and print. |
1439 | 1439 | while ($user = db_fetch_object($result)) { |
1440 | 1440 | $myname = preg_replace("/ /", "\xc2\xa0", $user->name); |
1441 | - $matches[$prefix . $myname . "_" . $user->id . ', '] = htmlentities($myname) . ' (' . $user->id . ')'; |
|
1441 | + $matches[$prefix.$myname."_".$user->id.', '] = htmlentities($myname).' ('.$user->id.')'; |
|
1442 | 1442 | } |
1443 | 1443 | } |
1444 | 1444 | // convert to object to prevent drupal bug, see http://drupal.org/node/175361 |
@@ -1480,7 +1480,7 @@ discard block |
||
1480 | 1480 | |
1481 | 1481 | if (!empty($mids)) { |
1482 | 1482 | // Delete recipient entries in {pm_index} of the messages the user wrote. |
1483 | - db_query('DELETE FROM {pm_index} WHERE mid IN (' . db_placeholders($mids) . ')', $mids); |
|
1483 | + db_query('DELETE FROM {pm_index} WHERE mid IN ('.db_placeholders($mids).')', $mids); |
|
1484 | 1484 | } |
1485 | 1485 | |
1486 | 1486 | // Delete recipient entries of that user. |
@@ -1552,10 +1552,10 @@ discard block |
||
1552 | 1552 | if (privatemsg_user_access('write privatemsg')) { |
1553 | 1553 | $links[] = l(t('Write new message'), 'messages/new'); |
1554 | 1554 | } |
1555 | - if (privatemsg_user_access('read privatemsg') || privatemsg_user_access('read all private messages') ) { |
|
1555 | + if (privatemsg_user_access('read privatemsg') || privatemsg_user_access('read all private messages')) { |
|
1556 | 1556 | $links[] = l(privatemsg_title_callback(), 'messages'); |
1557 | 1557 | } |
1558 | - if ( count( $links ) ) { |
|
1558 | + if (count($links)) { |
|
1559 | 1559 | $block = array( |
1560 | 1560 | 'subject' => t('Private messages'), |
1561 | 1561 | 'content' => theme('item_list', $links), |
@@ -1571,7 +1571,7 @@ discard block |
||
1571 | 1571 | ); |
1572 | 1572 | $form['delete_destination'] = array( |
1573 | 1573 | '#type' => 'value', |
1574 | - '#value' => count($thread['messages']) > 1 ? 'messages/view/' . $message['thread_id'] : 'messages', |
|
1574 | + '#value' => count($thread['messages']) > 1 ? 'messages/view/'.$message['thread_id'] : 'messages', |
|
1575 | 1575 | ); |
1576 | 1576 | |
1577 | 1577 | if (privatemsg_user_access('read all private messages')) { |
@@ -1584,7 +1584,7 @@ discard block |
||
1584 | 1584 | } |
1585 | 1585 | return confirm_form($form, |
1586 | 1586 | t('Are you sure you want to delete this message?'), |
1587 | - isset($_GET['destination']) ? $_GET['destination'] : 'messages/view/'. $message['thread_id'], |
|
1587 | + isset($_GET['destination']) ? $_GET['destination'] : 'messages/view/'.$message['thread_id'], |
|
1588 | 1588 | t('This action cannot be undone.'), |
1589 | 1589 | t('Delete'), |
1590 | 1590 | t('Cancel') |
@@ -1813,7 +1813,7 @@ discard block |
||
1813 | 1813 | } |
1814 | 1814 | |
1815 | 1815 | // Don't allow replies without a body. |
1816 | - if (!empty($message['thread_id']) && ($message['body'] === NULL || $message['body'] === '') ) { |
|
1816 | + if (!empty($message['thread_id']) && ($message['body'] === NULL || $message['body'] === '')) { |
|
1817 | 1817 | if ($form) { |
1818 | 1818 | form_set_error('body', t('Disallowed to send reply without a message.')); |
1819 | 1819 | } |
@@ -1929,7 +1929,7 @@ discard block |
||
1929 | 1929 | // 2) Save message to recipients. |
1930 | 1930 | // Each recipient gets a record in the pm_index table. |
1931 | 1931 | foreach ($message['recipients'] as $recipient) { |
1932 | - if (!db_query($index_sql, $mid, $message['thread_id'], $recipient->uid, 1) ) { |
|
1932 | + if (!db_query($index_sql, $mid, $message['thread_id'], $recipient->uid, 1)) { |
|
1933 | 1933 | // We assume if one insert failed then the rest may fail too against the |
1934 | 1934 | // same table. |
1935 | 1935 | return FALSE; |
@@ -1994,9 +1994,9 @@ discard block |
||
1994 | 1994 | if (empty($validated)) { |
1995 | 1995 | return FALSE; |
1996 | 1996 | } |
1997 | - $url = 'messages/new/'. implode(',', $validated); |
|
1997 | + $url = 'messages/new/'.implode(',', $validated); |
|
1998 | 1998 | if (!is_null($subject)) { |
1999 | - $url .= '/'. $subject; |
|
1999 | + $url .= '/'.$subject; |
|
2000 | 2000 | } |
2001 | 2001 | return $url; |
2002 | 2002 | } |
@@ -2106,7 +2106,7 @@ discard block |
||
2106 | 2106 | // we do the merge because we call call_user_func_array and not drupal_alter |
2107 | 2107 | // this is necessary because otherwise we would not be able to use $args correctly (otherwise it doesnt unfold) |
2108 | 2108 | $alterargs = array(&$fragments); |
2109 | - $query_function = $query_group .'_sql_'. $query_id; |
|
2109 | + $query_function = $query_group.'_sql_'.$query_id; |
|
2110 | 2110 | if (!empty($args)) { |
2111 | 2111 | $alterargs = array_merge($alterargs, $args); |
2112 | 2112 | } |
@@ -2143,7 +2143,7 @@ discard block |
||
2143 | 2143 | // Perform the whole query assembly only if we have something to select. |
2144 | 2144 | if (!empty($SELECT)) { |
2145 | 2145 | $str_select = implode(", ", $SELECT); |
2146 | - $query = "SELECT {$str_select} FROM ". $primary_table; |
|
2146 | + $query = "SELECT {$str_select} FROM ".$primary_table; |
|
2147 | 2147 | |
2148 | 2148 | // Also build a count query which can be passed to pager_query to get a "page count" as that does not play well with queries including "GROUP BY". |
2149 | 2149 | // In most cases, "COUNT(*)" is enough to get the count query, but in queries involving a GROUP BY, we want a count of the number of groups we have, not the count of elements inside each group. |
@@ -2152,10 +2152,10 @@ discard block |
||
2152 | 2152 | // PostgreSQL does not support COUNT(sometextfield, someintfield), so I'm only using the first one |
2153 | 2153 | // Works fine for thread_id/list but may generate an error when a more complex GROUP BY is used. |
2154 | 2154 | $str_group_by_count = current($GROUP_BY); |
2155 | - $count = "SELECT COUNT(DISTINCT {$str_group_by_count}) FROM ". $primary_table; |
|
2155 | + $count = "SELECT COUNT(DISTINCT {$str_group_by_count}) FROM ".$primary_table; |
|
2156 | 2156 | } |
2157 | 2157 | else { |
2158 | - $count = "SELECT COUNT(*) FROM ". $primary_table; |
|
2158 | + $count = "SELECT COUNT(*) FROM ".$primary_table; |
|
2159 | 2159 | } |
2160 | 2160 | |
2161 | 2161 | if (!empty($INNER_JOIN)) { |
@@ -2164,24 +2164,24 @@ discard block |
||
2164 | 2164 | $count .= " {$str_inner_join}"; |
2165 | 2165 | } |
2166 | 2166 | if (!empty($WHERE)) { |
2167 | - $str_where = '('. implode(') AND (', $WHERE) .')'; |
|
2167 | + $str_where = '('.implode(') AND (', $WHERE).')'; |
|
2168 | 2168 | $query .= " WHERE {$str_where}"; |
2169 | 2169 | $count .= " WHERE {$str_where}"; |
2170 | 2170 | } |
2171 | 2171 | if (!empty($GROUP_BY)) { |
2172 | - $str_group_by = ' GROUP BY '. implode(", ", $GROUP_BY) ; |
|
2172 | + $str_group_by = ' GROUP BY '.implode(", ", $GROUP_BY); |
|
2173 | 2173 | $query .= " {$str_group_by}"; |
2174 | 2174 | } |
2175 | 2175 | if (!empty($HAVING)) { |
2176 | - $str_having = '('. implode(') AND (', $HAVING) .')'; |
|
2176 | + $str_having = '('.implode(') AND (', $HAVING).')'; |
|
2177 | 2177 | $query .= " HAVING {$str_having}"; |
2178 | 2178 | // queries containing a HAVING break the count query on pgsql. |
2179 | 2179 | // In this case, use the subquery method as outlined in http://drupal.org/node/303087#comment-1370752 . |
2180 | 2180 | // The subquery method will work for all COUNT queries, but it is thought to be much slower, so we are only using it where other cross database approaches fail. |
2181 | - $count = 'SELECT COUNT(*) FROM ('. $query .') as count'; |
|
2181 | + $count = 'SELECT COUNT(*) FROM ('.$query.') as count'; |
|
2182 | 2182 | } |
2183 | 2183 | if (!empty($ORDER_BY)) { |
2184 | - $str_order_by = ' ORDER BY '. implode(", ", $ORDER_BY) ; |
|
2184 | + $str_order_by = ' ORDER BY '.implode(", ", $ORDER_BY); |
|
2185 | 2185 | $query .= " {$str_order_by}"; |
2186 | 2186 | } |
2187 | 2187 | $QUERY_ARGS = array_merge($QUERY_ARGS['select'], $QUERY_ARGS['join'], $QUERY_ARGS['where'], $QUERY_ARGS['having']); |
@@ -2246,7 +2246,7 @@ discard block |
||
2246 | 2246 | '#attributes' => array('class' => 'privatemsg-action-button'), |
2247 | 2247 | ); |
2248 | 2248 | // JS for hiding the execute button. |
2249 | - drupal_add_js(drupal_get_path('module', 'privatemsg') .'/privatemsg-list.js'); |
|
2249 | + drupal_add_js(drupal_get_path('module', 'privatemsg').'/privatemsg-list.js'); |
|
2250 | 2250 | return $form; |
2251 | 2251 | } |
2252 | 2252 | |
@@ -2271,7 +2271,7 @@ discard block |
||
2271 | 2271 | } |
2272 | 2272 | // Merge status and uid with the threads list. array_merge() will not overwrite/ignore thread_id 1. |
2273 | 2273 | $params = array_merge(array($status, $account->uid), $threads); |
2274 | - db_query('UPDATE {pm_index} SET is_new = %d WHERE uid = %d AND thread_id IN ('. db_placeholders($threads) .')', $params); |
|
2274 | + db_query('UPDATE {pm_index} SET is_new = %d WHERE uid = %d AND thread_id IN ('.db_placeholders($threads).')', $params); |
|
2275 | 2275 | |
2276 | 2276 | if ($status == PRIVATEMSG_UNREAD) { |
2277 | 2277 | drupal_set_message(format_plural(count($threads), 'Marked 1 thread as unread.', 'Marked @count threads as unread.')); |
@@ -2298,12 +2298,12 @@ discard block |
||
2298 | 2298 | $select_header['#weight'] = -50; |
2299 | 2299 | |
2300 | 2300 | // theme() doesn't include the theme file for patterns, we need to do it manually. |
2301 | - include_once drupal_get_path('module', 'privatemsg') .'/privatemsg.theme.inc'; |
|
2301 | + include_once drupal_get_path('module', 'privatemsg').'/privatemsg.theme.inc'; |
|
2302 | 2302 | |
2303 | 2303 | $header = array($select_header); |
2304 | 2304 | foreach ($keys as $key) { |
2305 | 2305 | // First, try to load a specific theme for that header, if not present, use the default. |
2306 | - if ($return = theme(array('privatemsg_list_header__'. $key, 'privatemsg_list_header'))) { |
|
2306 | + if ($return = theme(array('privatemsg_list_header__'.$key, 'privatemsg_list_header'))) { |
|
2307 | 2307 | // The default theme returns nothing, only store the value if we have something. |
2308 | 2308 | $header[$key] = $return; |
2309 | 2309 | } |
@@ -2324,7 +2324,7 @@ discard block |
||
2324 | 2324 | function _privatemsg_list_headers_fallback($keys) { |
2325 | 2325 | $header = array(); |
2326 | 2326 | foreach ($keys as $key) { |
2327 | - $theme_function = 'phptemplate_privatemsg_list_header__' . $key; |
|
2327 | + $theme_function = 'phptemplate_privatemsg_list_header__'.$key; |
|
2328 | 2328 | if (function_exists($theme_function)) { |
2329 | 2329 | $header[$key] = $theme_function(); |
2330 | 2330 | } |
@@ -2352,7 +2352,7 @@ discard block |
||
2352 | 2352 | } |
2353 | 2353 | foreach ($thread as $key => $data) { |
2354 | 2354 | // First, try to load a specific theme for that field, if not present, use the default. |
2355 | - if ($return = theme(array('privatemsg_list_field__'. $key, 'privatemsg_list_field'), $thread)) { |
|
2355 | + if ($return = theme(array('privatemsg_list_field__'.$key, 'privatemsg_list_field'), $thread)) { |
|
2356 | 2356 | // The default theme returns nothing, only store the value if we have something. |
2357 | 2357 | $row['data'][$key] = $return; |
2358 | 2358 | } |
@@ -2372,7 +2372,7 @@ discard block |
||
2372 | 2372 | function _privatemsg_list_thread_fallback($thread) { |
2373 | 2373 | $row_data = array(); |
2374 | 2374 | foreach ($thread as $key => $data) { |
2375 | - $theme_function = 'phptemplate_privatemsg_list_field__' . $key; |
|
2375 | + $theme_function = 'phptemplate_privatemsg_list_field__'.$key; |
|
2376 | 2376 | if (function_exists($theme_function)) { |
2377 | 2377 | $row_data[$key] = $theme_function($thread); |
2378 | 2378 | } |
@@ -2571,6 +2571,6 @@ discard block |
||
2571 | 2571 | function privatemsg_views_api() { |
2572 | 2572 | return array( |
2573 | 2573 | 'api' => 2, |
2574 | - 'path' => drupal_get_path('module', 'privatemsg') . '/views', |
|
2574 | + 'path' => drupal_get_path('module', 'privatemsg').'/views', |
|
2575 | 2575 | ); |
2576 | 2576 | } |
@@ -55,7 +55,7 @@ |
||
55 | 55 | * An array containing editor properties as returned from hook_editor(). |
56 | 56 | * |
57 | 57 | * @return |
58 | - * The installed editor version. |
|
58 | + null|string The installed editor version. |
|
59 | 59 | */ |
60 | 60 | function wysiwyg_ckeditor_version($editor) { |
61 | 61 | $library = $editor['library path'] . '/ckeditor.js'; |
@@ -9,23 +9,23 @@ discard block |
||
9 | 9 | * Plugin implementation of hook_editor(). |
10 | 10 | */ |
11 | 11 | function wysiwyg_ckeditor_editor() { |
12 | - $editor['ckeditor'] = array( |
|
12 | + $editor['ckeditor'] = array( |
|
13 | 13 | 'title' => 'CKEditor', |
14 | 14 | 'vendor url' => 'http://ckeditor.com', |
15 | 15 | 'download url' => 'http://ckeditor.com/download', |
16 | 16 | 'libraries' => array( |
17 | - '' => array( |
|
17 | + '' => array( |
|
18 | 18 | 'title' => 'Default', |
19 | 19 | 'files' => array( |
20 | - 'ckeditor.js' => array('preprocess' => FALSE), |
|
20 | + 'ckeditor.js' => array('preprocess' => FALSE), |
|
21 | 21 | ), |
22 | - ), |
|
23 | - 'src' => array( |
|
22 | + ), |
|
23 | + 'src' => array( |
|
24 | 24 | 'title' => 'Source', |
25 | 25 | 'files' => array( |
26 | - 'ckeditor_source.js' => array('preprocess' => FALSE), |
|
26 | + 'ckeditor_source.js' => array('preprocess' => FALSE), |
|
27 | + ), |
|
27 | 28 | ), |
28 | - ), |
|
29 | 29 | ), |
30 | 30 | 'version callback' => 'wysiwyg_ckeditor_version', |
31 | 31 | 'themes callback' => 'wysiwyg_ckeditor_themes', |
@@ -33,19 +33,19 @@ discard block |
||
33 | 33 | 'plugin callback' => 'wysiwyg_ckeditor_plugins', |
34 | 34 | 'plugin settings callback' => 'wysiwyg_ckeditor_plugin_settings', |
35 | 35 | 'proxy plugin' => array( |
36 | - 'drupal' => array( |
|
36 | + 'drupal' => array( |
|
37 | 37 | 'load' => TRUE, |
38 | 38 | 'proxy' => TRUE, |
39 | - ), |
|
39 | + ), |
|
40 | 40 | ), |
41 | 41 | 'proxy plugin settings callback' => 'wysiwyg_ckeditor_proxy_plugin_settings', |
42 | 42 | 'versions' => array( |
43 | - '3.0.0.3665' => array( |
|
43 | + '3.0.0.3665' => array( |
|
44 | 44 | 'js files' => array('ckeditor-3.0.js'), |
45 | - ), |
|
45 | + ), |
|
46 | 46 | ), |
47 | - ); |
|
48 | - return $editor; |
|
47 | + ); |
|
48 | + return $editor; |
|
49 | 49 | } |
50 | 50 | |
51 | 51 | /** |
@@ -58,25 +58,25 @@ discard block |
||
58 | 58 | * The installed editor version. |
59 | 59 | */ |
60 | 60 | function wysiwyg_ckeditor_version($editor) { |
61 | - $library = $editor['library path'] . '/ckeditor.js'; |
|
62 | - if (!file_exists($library)) { |
|
61 | + $library = $editor['library path'] . '/ckeditor.js'; |
|
62 | + if (!file_exists($library)) { |
|
63 | 63 | return; |
64 | - } |
|
65 | - $library = fopen($library, 'r'); |
|
66 | - $max_lines = 8; |
|
67 | - while ($max_lines && $line = fgets($library, 500)) { |
|
64 | + } |
|
65 | + $library = fopen($library, 'r'); |
|
66 | + $max_lines = 8; |
|
67 | + while ($max_lines && $line = fgets($library, 500)) { |
|
68 | 68 | // version:'CKEditor 3.0 SVN',revision:'3665' |
69 | 69 | // version:'3.0 RC',revision:'3753' |
70 | 70 | // version:'3.0.1',revision:'4391' |
71 | 71 | if (preg_match('@version:\'(?:CKEditor )?([\d\.]+)(?:.+revision:\'([\d]+))?@', $line, $version)) { |
72 | - fclose($library); |
|
73 | - // Version numbers need to have three parts since 3.0.1. |
|
74 | - $version[1] = preg_replace('/^(\d+)\.(\d+)$/', '${1}.${2}.0', $version[1]); |
|
75 | - return $version[1] . '.' . $version[2]; |
|
72 | + fclose($library); |
|
73 | + // Version numbers need to have three parts since 3.0.1. |
|
74 | + $version[1] = preg_replace('/^(\d+)\.(\d+)$/', '${1}.${2}.0', $version[1]); |
|
75 | + return $version[1] . '.' . $version[2]; |
|
76 | 76 | } |
77 | 77 | $max_lines--; |
78 | - } |
|
79 | - fclose($library); |
|
78 | + } |
|
79 | + fclose($library); |
|
80 | 80 | } |
81 | 81 | |
82 | 82 | /** |
@@ -92,23 +92,23 @@ discard block |
||
92 | 92 | * theme name. |
93 | 93 | */ |
94 | 94 | function wysiwyg_ckeditor_themes($editor, $profile) { |
95 | - // @todo Skins are not themes but this will do for now. |
|
96 | - $path = $editor['library path'] . '/skins/'; |
|
97 | - if (file_exists($path) && ($dir_handle = opendir($path))) { |
|
95 | + // @todo Skins are not themes but this will do for now. |
|
96 | + $path = $editor['library path'] . '/skins/'; |
|
97 | + if (file_exists($path) && ($dir_handle = opendir($path))) { |
|
98 | 98 | $themes = array(); |
99 | 99 | while ($file = readdir($dir_handle)) { |
100 | - if (is_dir($path . $file) && substr($file, 0, 1) != '.' && $file != 'CVS') { |
|
100 | + if (is_dir($path . $file) && substr($file, 0, 1) != '.' && $file != 'CVS') { |
|
101 | 101 | $themes[] = $file; |
102 | - } |
|
102 | + } |
|
103 | 103 | } |
104 | 104 | closedir($dir_handle); |
105 | 105 | natcasesort($themes); |
106 | 106 | $themes = array_values($themes); |
107 | 107 | return !empty($themes) ? $themes : array('default'); |
108 | - } |
|
109 | - else { |
|
108 | + } |
|
109 | + else { |
|
110 | 110 | return array('default'); |
111 | - } |
|
111 | + } |
|
112 | 112 | } |
113 | 113 | |
114 | 114 | /** |
@@ -126,7 +126,7 @@ discard block |
||
126 | 126 | * Drupal.settings.wysiwyg.configs.{editor} |
127 | 127 | */ |
128 | 128 | function wysiwyg_ckeditor_settings($editor, $config, $theme) { |
129 | - $settings = array( |
|
129 | + $settings = array( |
|
130 | 130 | 'baseHref' => $GLOBALS['base_url'] . '/', |
131 | 131 | 'width' => '100%', |
132 | 132 | // For better compatibility with smaller textareas. |
@@ -142,155 +142,155 @@ discard block |
||
142 | 142 | // @todo Check whether completely disabling ProcessHTMLEntities is an option. |
143 | 143 | 'entities_latin' => FALSE, |
144 | 144 | 'entities_greek' => FALSE, |
145 | - ); |
|
145 | + ); |
|
146 | 146 | |
147 | - // Add HTML block format settings; common block formats are already predefined |
|
148 | - // by CKEditor. |
|
149 | - if (isset($config['block_formats'])) { |
|
147 | + // Add HTML block format settings; common block formats are already predefined |
|
148 | + // by CKEditor. |
|
149 | + if (isset($config['block_formats'])) { |
|
150 | 150 | $block_formats = explode(',', drupal_strtolower($config['block_formats'])); |
151 | 151 | $predefined_formats = array('h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'pre', 'address', 'div'); |
152 | 152 | foreach (array_diff($block_formats, $predefined_formats) as $tag) { |
153 | - $tag = trim($tag); |
|
154 | - $settings["format_$tag"] = array('element' => $tag); |
|
153 | + $tag = trim($tag); |
|
154 | + $settings["format_$tag"] = array('element' => $tag); |
|
155 | 155 | } |
156 | 156 | $settings['format_tags'] = implode(';', $block_formats); |
157 | - } |
|
157 | + } |
|
158 | 158 | |
159 | - if (isset($config['apply_source_formatting'])) { |
|
159 | + if (isset($config['apply_source_formatting'])) { |
|
160 | 160 | $settings['apply_source_formatting'] = $config['apply_source_formatting']; |
161 | - } |
|
161 | + } |
|
162 | 162 | |
163 | - if (isset($config['css_setting'])) { |
|
163 | + if (isset($config['css_setting'])) { |
|
164 | 164 | // Versions below 3.0.1 could only handle one stylesheet. |
165 | 165 | if (version_compare($editor['installed version'], '3.0.1.4391', '<')) { |
166 | - if ($config['css_setting'] == 'theme') { |
|
166 | + if ($config['css_setting'] == 'theme') { |
|
167 | 167 | $settings['contentsCss'] = reset(wysiwyg_get_css()); |
168 | - } |
|
169 | - elseif ($config['css_setting'] == 'self' && isset($config['css_path'])) { |
|
168 | + } |
|
169 | + elseif ($config['css_setting'] == 'self' && isset($config['css_path'])) { |
|
170 | 170 | $settings['contentsCss'] = strtr($config['css_path'], array('%b' => base_path(), '%t' => path_to_theme())); |
171 | - } |
|
171 | + } |
|
172 | 172 | } |
173 | 173 | else { |
174 | - if ($config['css_setting'] == 'theme') { |
|
174 | + if ($config['css_setting'] == 'theme') { |
|
175 | 175 | $settings['contentsCss'] = wysiwyg_get_css(); |
176 | - } |
|
177 | - elseif ($config['css_setting'] == 'self' && isset($config['css_path'])) { |
|
176 | + } |
|
177 | + elseif ($config['css_setting'] == 'self' && isset($config['css_path'])) { |
|
178 | 178 | $settings['contentsCss'] = explode(',', strtr($config['css_path'], array('%b' => base_path(), '%t' => path_to_theme()))); |
179 | - } |
|
179 | + } |
|
180 | + } |
|
180 | 181 | } |
181 | - } |
|
182 | 182 | |
183 | - if (isset($config['language'])) { |
|
183 | + if (isset($config['language'])) { |
|
184 | 184 | $settings['language'] = $config['language']; |
185 | - } |
|
186 | - if (isset($config['resizing'])) { |
|
185 | + } |
|
186 | + if (isset($config['resizing'])) { |
|
187 | 187 | // CKEditor tests "!== false", so ensure it is a Boolean. |
188 | 188 | $settings['resize_enabled'] = (bool) $config['resizing']; |
189 | - } |
|
190 | - if (isset($config['toolbar_loc'])) { |
|
189 | + } |
|
190 | + if (isset($config['toolbar_loc'])) { |
|
191 | 191 | $settings['toolbarLocation'] = $config['toolbar_loc']; |
192 | - } |
|
192 | + } |
|
193 | 193 | |
194 | - $settings['toolbar'] = array(); |
|
195 | - if (!empty($config['buttons'])) { |
|
194 | + $settings['toolbar'] = array(); |
|
195 | + if (!empty($config['buttons'])) { |
|
196 | 196 | $extra_plugins = array(); |
197 | 197 | $plugins = wysiwyg_get_plugins($editor['name']); |
198 | 198 | foreach ($config['buttons'] as $plugin => $buttons) { |
199 | - foreach ($buttons as $button => $enabled) { |
|
199 | + foreach ($buttons as $button => $enabled) { |
|
200 | 200 | // Iterate separately over buttons and extensions properties. |
201 | 201 | foreach (array('buttons', 'extensions') as $type) { |
202 | - // Skip unavailable plugins. |
|
203 | - if (!isset($plugins[$plugin][$type][$button])) { |
|
202 | + // Skip unavailable plugins. |
|
203 | + if (!isset($plugins[$plugin][$type][$button])) { |
|
204 | 204 | continue; |
205 | - } |
|
206 | - // Add buttons. |
|
207 | - if ($type == 'buttons') { |
|
205 | + } |
|
206 | + // Add buttons. |
|
207 | + if ($type == 'buttons') { |
|
208 | 208 | $settings['toolbar'][] = $button; |
209 | - } |
|
210 | - // Add external Drupal plugins to the list of extensions. |
|
211 | - if ($type == 'buttons' && !empty($plugins[$plugin]['proxy'])) { |
|
209 | + } |
|
210 | + // Add external Drupal plugins to the list of extensions. |
|
211 | + if ($type == 'buttons' && !empty($plugins[$plugin]['proxy'])) { |
|
212 | 212 | $extra_plugins[] = $button; |
213 | - } |
|
214 | - // Add external plugins to the list of extensions. |
|
215 | - elseif ($type == 'buttons' && empty($plugins[$plugin]['internal'])) { |
|
213 | + } |
|
214 | + // Add external plugins to the list of extensions. |
|
215 | + elseif ($type == 'buttons' && empty($plugins[$plugin]['internal'])) { |
|
216 | 216 | $extra_plugins[] = $plugin; |
217 | - } |
|
218 | - // Add internal buttons that also need to be loaded as extension. |
|
219 | - elseif ($type == 'buttons' && !empty($plugins[$plugin]['load'])) { |
|
217 | + } |
|
218 | + // Add internal buttons that also need to be loaded as extension. |
|
219 | + elseif ($type == 'buttons' && !empty($plugins[$plugin]['load'])) { |
|
220 | 220 | $extra_plugins[] = $plugin; |
221 | - } |
|
222 | - // Add plain extensions. |
|
223 | - elseif ($type == 'extensions' && !empty($plugins[$plugin]['load'])) { |
|
221 | + } |
|
222 | + // Add plain extensions. |
|
223 | + elseif ($type == 'extensions' && !empty($plugins[$plugin]['load'])) { |
|
224 | 224 | $extra_plugins[] = $plugin; |
225 | - } |
|
226 | - // Allow plugins to add or override global configuration settings. |
|
227 | - if (!empty($plugins[$plugin]['options'])) { |
|
225 | + } |
|
226 | + // Allow plugins to add or override global configuration settings. |
|
227 | + if (!empty($plugins[$plugin]['options'])) { |
|
228 | 228 | $settings = array_merge($settings, $plugins[$plugin]['options']); |
229 | - } |
|
229 | + } |
|
230 | + } |
|
230 | 231 | } |
231 | - } |
|
232 | 232 | } |
233 | 233 | if (!empty($extra_plugins)) { |
234 | - $settings['extraPlugins'] = implode(',', $extra_plugins); |
|
234 | + $settings['extraPlugins'] = implode(',', $extra_plugins); |
|
235 | 235 | } |
236 | - } |
|
237 | - // For now, all buttons are placed into one row. |
|
238 | - $settings['toolbar'] = array($settings['toolbar']); |
|
236 | + } |
|
237 | + // For now, all buttons are placed into one row. |
|
238 | + $settings['toolbar'] = array($settings['toolbar']); |
|
239 | 239 | |
240 | - return $settings; |
|
240 | + return $settings; |
|
241 | 241 | } |
242 | 242 | |
243 | 243 | /** |
244 | 244 | * Build a JS settings array of native external plugins that need to be loaded separately. |
245 | 245 | */ |
246 | 246 | function wysiwyg_ckeditor_plugin_settings($editor, $profile, $plugins) { |
247 | - $settings = array(); |
|
248 | - foreach ($plugins as $name => $plugin) { |
|
247 | + $settings = array(); |
|
248 | + foreach ($plugins as $name => $plugin) { |
|
249 | 249 | // Register all plugins that need to be loaded. |
250 | 250 | if (!empty($plugin['load'])) { |
251 | - $settings[$name] = array(); |
|
252 | - // Add path for native external plugins. |
|
253 | - if (empty($plugin['internal']) && isset($plugin['path'])) { |
|
251 | + $settings[$name] = array(); |
|
252 | + // Add path for native external plugins. |
|
253 | + if (empty($plugin['internal']) && isset($plugin['path'])) { |
|
254 | 254 | $settings[$name]['path'] = base_path() . $plugin['path'] . '/'; |
255 | - } |
|
256 | - // Force native internal plugins to use the standard path. |
|
257 | - else { |
|
255 | + } |
|
256 | + // Force native internal plugins to use the standard path. |
|
257 | + else { |
|
258 | 258 | $settings[$name]['path'] = base_path() . $editor['library path'] . '/plugins/' . $name . '/'; |
259 | - } |
|
260 | - // CKEditor defaults to 'plugin.js' on its own when filename is not set. |
|
261 | - if (!empty($plugin['filename'])) { |
|
259 | + } |
|
260 | + // CKEditor defaults to 'plugin.js' on its own when filename is not set. |
|
261 | + if (!empty($plugin['filename'])) { |
|
262 | 262 | $settings[$name]['fileName'] = $plugin['filename']; |
263 | - } |
|
263 | + } |
|
264 | 264 | } |
265 | - } |
|
266 | - return $settings; |
|
265 | + } |
|
266 | + return $settings; |
|
267 | 267 | } |
268 | 268 | |
269 | 269 | /** |
270 | 270 | * Build a JS settings array for Drupal plugins loaded via the proxy plugin. |
271 | 271 | */ |
272 | 272 | function wysiwyg_ckeditor_proxy_plugin_settings($editor, $profile, $plugins) { |
273 | - $settings = array(); |
|
274 | - foreach ($plugins as $name => $plugin) { |
|
273 | + $settings = array(); |
|
274 | + foreach ($plugins as $name => $plugin) { |
|
275 | 275 | // Populate required plugin settings. |
276 | 276 | $settings[$name] = $plugin['dialog settings'] + array( |
277 | - 'title' => $plugin['title'], |
|
278 | - 'icon' => base_path() . $plugin['icon path'] . '/' . $plugin['icon file'], |
|
279 | - 'iconTitle' => $plugin['icon title'], |
|
280 | - // @todo These should only be set if the plugin defined them. |
|
281 | - 'css' => base_path() . $plugin['css path'] . '/' . $plugin['css file'], |
|
277 | + 'title' => $plugin['title'], |
|
278 | + 'icon' => base_path() . $plugin['icon path'] . '/' . $plugin['icon file'], |
|
279 | + 'iconTitle' => $plugin['icon title'], |
|
280 | + // @todo These should only be set if the plugin defined them. |
|
281 | + 'css' => base_path() . $plugin['css path'] . '/' . $plugin['css file'], |
|
282 | 282 | ); |
283 | - } |
|
284 | - return $settings; |
|
283 | + } |
|
284 | + return $settings; |
|
285 | 285 | } |
286 | 286 | |
287 | 287 | /** |
288 | 288 | * Return internal plugins for this editor; semi-implementation of hook_wysiwyg_plugin(). |
289 | 289 | */ |
290 | 290 | function wysiwyg_ckeditor_plugins($editor) { |
291 | - $plugins = array( |
|
291 | + $plugins = array( |
|
292 | 292 | 'default' => array( |
293 | - 'buttons' => array( |
|
293 | + 'buttons' => array( |
|
294 | 294 | 'Bold' => t('Bold'), 'Italic' => t('Italic'), 'Underline' => t('Underline'), |
295 | 295 | 'Strike' => t('Strike-through'), |
296 | 296 | 'JustifyLeft' => t('Align left'), 'JustifyCenter' => t('Align center'), 'JustifyRight' => t('Align right'), 'JustifyBlock' => t('Justify'), |
@@ -317,17 +317,17 @@ discard block |
||
317 | 317 | 'Maximize' => t('Maximize'), |
318 | 318 | 'SpellChecker' => t('Check spelling'), 'Scayt' => t('Check spelling as you type'), |
319 | 319 | 'About' => t('About'), |
320 | - ), |
|
321 | - 'internal' => TRUE, |
|
320 | + ), |
|
321 | + 'internal' => TRUE, |
|
322 | 322 | ), |
323 | - ); |
|
323 | + ); |
|
324 | 324 | |
325 | - if (version_compare($editor['installed version'], '3.1.0.4885', '<')) { |
|
325 | + if (version_compare($editor['installed version'], '3.1.0.4885', '<')) { |
|
326 | 326 | unset($plugins['default']['buttons']['CreateDiv']); |
327 | - } |
|
328 | - if (version_compare($editor['installed version'], '3.5.0.6260', '<')) { |
|
327 | + } |
|
328 | + if (version_compare($editor['installed version'], '3.5.0.6260', '<')) { |
|
329 | 329 | unset($plugins['default']['buttons']['Iframe']); |
330 | - } |
|
331 | - return $plugins; |
|
330 | + } |
|
331 | + return $plugins; |
|
332 | 332 | } |
333 | 333 |
@@ -58,7 +58,7 @@ discard block |
||
58 | 58 | * The installed editor version. |
59 | 59 | */ |
60 | 60 | function wysiwyg_ckeditor_version($editor) { |
61 | - $library = $editor['library path'] . '/ckeditor.js'; |
|
61 | + $library = $editor['library path'].'/ckeditor.js'; |
|
62 | 62 | if (!file_exists($library)) { |
63 | 63 | return; |
64 | 64 | } |
@@ -72,7 +72,7 @@ discard block |
||
72 | 72 | fclose($library); |
73 | 73 | // Version numbers need to have three parts since 3.0.1. |
74 | 74 | $version[1] = preg_replace('/^(\d+)\.(\d+)$/', '${1}.${2}.0', $version[1]); |
75 | - return $version[1] . '.' . $version[2]; |
|
75 | + return $version[1].'.'.$version[2]; |
|
76 | 76 | } |
77 | 77 | $max_lines--; |
78 | 78 | } |
@@ -93,11 +93,11 @@ discard block |
||
93 | 93 | */ |
94 | 94 | function wysiwyg_ckeditor_themes($editor, $profile) { |
95 | 95 | // @todo Skins are not themes but this will do for now. |
96 | - $path = $editor['library path'] . '/skins/'; |
|
96 | + $path = $editor['library path'].'/skins/'; |
|
97 | 97 | if (file_exists($path) && ($dir_handle = opendir($path))) { |
98 | 98 | $themes = array(); |
99 | 99 | while ($file = readdir($dir_handle)) { |
100 | - if (is_dir($path . $file) && substr($file, 0, 1) != '.' && $file != 'CVS') { |
|
100 | + if (is_dir($path.$file) && substr($file, 0, 1) != '.' && $file != 'CVS') { |
|
101 | 101 | $themes[] = $file; |
102 | 102 | } |
103 | 103 | } |
@@ -127,7 +127,7 @@ discard block |
||
127 | 127 | */ |
128 | 128 | function wysiwyg_ckeditor_settings($editor, $config, $theme) { |
129 | 129 | $settings = array( |
130 | - 'baseHref' => $GLOBALS['base_url'] . '/', |
|
130 | + 'baseHref' => $GLOBALS['base_url'].'/', |
|
131 | 131 | 'width' => '100%', |
132 | 132 | // For better compatibility with smaller textareas. |
133 | 133 | 'resize_minWidth' => 450, |
@@ -185,7 +185,7 @@ discard block |
||
185 | 185 | } |
186 | 186 | if (isset($config['resizing'])) { |
187 | 187 | // CKEditor tests "!== false", so ensure it is a Boolean. |
188 | - $settings['resize_enabled'] = (bool) $config['resizing']; |
|
188 | + $settings['resize_enabled'] = (bool)$config['resizing']; |
|
189 | 189 | } |
190 | 190 | if (isset($config['toolbar_loc'])) { |
191 | 191 | $settings['toolbarLocation'] = $config['toolbar_loc']; |
@@ -251,11 +251,11 @@ discard block |
||
251 | 251 | $settings[$name] = array(); |
252 | 252 | // Add path for native external plugins. |
253 | 253 | if (empty($plugin['internal']) && isset($plugin['path'])) { |
254 | - $settings[$name]['path'] = base_path() . $plugin['path'] . '/'; |
|
254 | + $settings[$name]['path'] = base_path().$plugin['path'].'/'; |
|
255 | 255 | } |
256 | 256 | // Force native internal plugins to use the standard path. |
257 | 257 | else { |
258 | - $settings[$name]['path'] = base_path() . $editor['library path'] . '/plugins/' . $name . '/'; |
|
258 | + $settings[$name]['path'] = base_path().$editor['library path'].'/plugins/'.$name.'/'; |
|
259 | 259 | } |
260 | 260 | // CKEditor defaults to 'plugin.js' on its own when filename is not set. |
261 | 261 | if (!empty($plugin['filename'])) { |
@@ -275,10 +275,10 @@ discard block |
||
275 | 275 | // Populate required plugin settings. |
276 | 276 | $settings[$name] = $plugin['dialog settings'] + array( |
277 | 277 | 'title' => $plugin['title'], |
278 | - 'icon' => base_path() . $plugin['icon path'] . '/' . $plugin['icon file'], |
|
278 | + 'icon' => base_path().$plugin['icon path'].'/'.$plugin['icon file'], |
|
279 | 279 | 'iconTitle' => $plugin['icon title'], |
280 | 280 | // @todo These should only be set if the plugin defined them. |
281 | - 'css' => base_path() . $plugin['css path'] . '/' . $plugin['css file'], |
|
281 | + 'css' => base_path().$plugin['css path'].'/'.$plugin['css file'], |
|
282 | 282 | ); |
283 | 283 | } |
284 | 284 | return $settings; |
@@ -105,8 +105,7 @@ discard block |
||
105 | 105 | natcasesort($themes); |
106 | 106 | $themes = array_values($themes); |
107 | 107 | return !empty($themes) ? $themes : array('default'); |
108 | - } |
|
109 | - else { |
|
108 | + } else { |
|
110 | 109 | return array('default'); |
111 | 110 | } |
112 | 111 | } |
@@ -165,16 +164,13 @@ discard block |
||
165 | 164 | if (version_compare($editor['installed version'], '3.0.1.4391', '<')) { |
166 | 165 | if ($config['css_setting'] == 'theme') { |
167 | 166 | $settings['contentsCss'] = reset(wysiwyg_get_css()); |
168 | - } |
|
169 | - elseif ($config['css_setting'] == 'self' && isset($config['css_path'])) { |
|
167 | + } elseif ($config['css_setting'] == 'self' && isset($config['css_path'])) { |
|
170 | 168 | $settings['contentsCss'] = strtr($config['css_path'], array('%b' => base_path(), '%t' => path_to_theme())); |
171 | 169 | } |
172 | - } |
|
173 | - else { |
|
170 | + } else { |
|
174 | 171 | if ($config['css_setting'] == 'theme') { |
175 | 172 | $settings['contentsCss'] = wysiwyg_get_css(); |
176 | - } |
|
177 | - elseif ($config['css_setting'] == 'self' && isset($config['css_path'])) { |
|
173 | + } elseif ($config['css_setting'] == 'self' && isset($config['css_path'])) { |
|
178 | 174 | $settings['contentsCss'] = explode(',', strtr($config['css_path'], array('%b' => base_path(), '%t' => path_to_theme()))); |
179 | 175 | } |
180 | 176 | } |
@@ -17,13 +17,13 @@ discard block |
||
17 | 17 | '' => array( |
18 | 18 | 'title' => 'Default', |
19 | 19 | 'files' => array( |
20 | - 'ckeditor.js' => array('preprocess' => FALSE), |
|
20 | + 'ckeditor.js' => array('preprocess' => false), |
|
21 | 21 | ), |
22 | 22 | ), |
23 | 23 | 'src' => array( |
24 | 24 | 'title' => 'Source', |
25 | 25 | 'files' => array( |
26 | - 'ckeditor_source.js' => array('preprocess' => FALSE), |
|
26 | + 'ckeditor_source.js' => array('preprocess' => false), |
|
27 | 27 | ), |
28 | 28 | ), |
29 | 29 | ), |
@@ -34,8 +34,8 @@ discard block |
||
34 | 34 | 'plugin settings callback' => 'wysiwyg_ckeditor_plugin_settings', |
35 | 35 | 'proxy plugin' => array( |
36 | 36 | 'drupal' => array( |
37 | - 'load' => TRUE, |
|
38 | - 'proxy' => TRUE, |
|
37 | + 'load' => true, |
|
38 | + 'proxy' => true, |
|
39 | 39 | ), |
40 | 40 | ), |
41 | 41 | 'proxy plugin settings callback' => 'wysiwyg_ckeditor_proxy_plugin_settings', |
@@ -140,8 +140,8 @@ discard block |
||
140 | 140 | // disable at least the additional character sets. CKEditor always converts |
141 | 141 | // XML default characters '&', '<', '>'. |
142 | 142 | // @todo Check whether completely disabling ProcessHTMLEntities is an option. |
143 | - 'entities_latin' => FALSE, |
|
144 | - 'entities_greek' => FALSE, |
|
143 | + 'entities_latin' => false, |
|
144 | + 'entities_greek' => false, |
|
145 | 145 | ); |
146 | 146 | |
147 | 147 | // Add HTML block format settings; common block formats are already predefined |
@@ -318,7 +318,7 @@ discard block |
||
318 | 318 | 'SpellChecker' => t('Check spelling'), 'Scayt' => t('Check spelling as you type'), |
319 | 319 | 'About' => t('About'), |
320 | 320 | ), |
321 | - 'internal' => TRUE, |
|
321 | + 'internal' => true, |
|
322 | 322 | ), |
323 | 323 | ); |
324 | 324 |
@@ -47,7 +47,7 @@ discard block |
||
47 | 47 | * An array containing editor properties as returned from hook_editor(). |
48 | 48 | * |
49 | 49 | * @return |
50 | - * The installed editor version. |
|
50 | + null|string The installed editor version. |
|
51 | 51 | */ |
52 | 52 | function wysiwyg_fckeditor_version($editor) { |
53 | 53 | $library = $editor['library path'] . '/fckeditor.js'; |
@@ -75,7 +75,7 @@ discard block |
||
75 | 75 | * A wysiwyg editor profile. |
76 | 76 | * |
77 | 77 | * @return |
78 | - * An array of theme names. The first returned name should be the default |
|
78 | + string[] An array of theme names. The first returned name should be the default |
|
79 | 79 | * theme name. |
80 | 80 | */ |
81 | 81 | function wysiwyg_fckeditor_themes($editor, $profile) { |
@@ -9,15 +9,15 @@ discard block |
||
9 | 9 | * Plugin implementation of hook_editor(). |
10 | 10 | */ |
11 | 11 | function wysiwyg_fckeditor_editor() { |
12 | - $editor['fckeditor'] = array( |
|
12 | + $editor['fckeditor'] = array( |
|
13 | 13 | 'title' => 'FCKeditor', |
14 | 14 | 'vendor url' => 'http://www.fckeditor.net', |
15 | 15 | 'download url' => 'http://www.fckeditor.net/download', |
16 | 16 | 'libraries' => array( |
17 | - '' => array( |
|
17 | + '' => array( |
|
18 | 18 | 'title' => 'Default', |
19 | 19 | 'files' => array('fckeditor.js'), |
20 | - ), |
|
20 | + ), |
|
21 | 21 | ), |
22 | 22 | 'version callback' => 'wysiwyg_fckeditor_version', |
23 | 23 | 'themes callback' => 'wysiwyg_fckeditor_themes', |
@@ -25,19 +25,19 @@ discard block |
||
25 | 25 | 'plugin callback' => 'wysiwyg_fckeditor_plugins', |
26 | 26 | 'plugin settings callback' => 'wysiwyg_fckeditor_plugin_settings', |
27 | 27 | 'proxy plugin' => array( |
28 | - 'drupal' => array( |
|
28 | + 'drupal' => array( |
|
29 | 29 | 'load' => TRUE, |
30 | 30 | 'proxy' => TRUE, |
31 | - ), |
|
31 | + ), |
|
32 | 32 | ), |
33 | 33 | 'proxy plugin settings callback' => 'wysiwyg_fckeditor_proxy_plugin_settings', |
34 | 34 | 'versions' => array( |
35 | - '2.6' => array( |
|
35 | + '2.6' => array( |
|
36 | 36 | 'js files' => array('fckeditor-2.6.js'), |
37 | - ), |
|
37 | + ), |
|
38 | 38 | ), |
39 | - ); |
|
40 | - return $editor; |
|
39 | + ); |
|
40 | + return $editor; |
|
41 | 41 | } |
42 | 42 | |
43 | 43 | /** |
@@ -50,20 +50,20 @@ discard block |
||
50 | 50 | * The installed editor version. |
51 | 51 | */ |
52 | 52 | function wysiwyg_fckeditor_version($editor) { |
53 | - $library = $editor['library path'] . '/fckeditor.js'; |
|
54 | - if (!file_exists($library)) { |
|
53 | + $library = $editor['library path'] . '/fckeditor.js'; |
|
54 | + if (!file_exists($library)) { |
|
55 | 55 | return; |
56 | - } |
|
57 | - $library = fopen($library, 'r'); |
|
58 | - $max_lines = 100; |
|
59 | - while ($max_lines && $line = fgets($library, 60)) { |
|
56 | + } |
|
57 | + $library = fopen($library, 'r'); |
|
58 | + $max_lines = 100; |
|
59 | + while ($max_lines && $line = fgets($library, 60)) { |
|
60 | 60 | if (preg_match('@^FCKeditor.prototype.Version\s*= \'([\d\.]+)@', $line, $version)) { |
61 | - fclose($library); |
|
62 | - return $version[1]; |
|
61 | + fclose($library); |
|
62 | + return $version[1]; |
|
63 | 63 | } |
64 | 64 | $max_lines--; |
65 | - } |
|
66 | - fclose($library); |
|
65 | + } |
|
66 | + fclose($library); |
|
67 | 67 | } |
68 | 68 | |
69 | 69 | /** |
@@ -79,7 +79,7 @@ discard block |
||
79 | 79 | * theme name. |
80 | 80 | */ |
81 | 81 | function wysiwyg_fckeditor_themes($editor, $profile) { |
82 | - return array('default', 'office2003', 'silver'); |
|
82 | + return array('default', 'office2003', 'silver'); |
|
83 | 83 | } |
84 | 84 | |
85 | 85 | /** |
@@ -97,7 +97,7 @@ discard block |
||
97 | 97 | * Drupal.settings.wysiwyg.configs.{editor} |
98 | 98 | */ |
99 | 99 | function wysiwyg_fckeditor_settings($editor, $config, $theme) { |
100 | - $settings = array( |
|
100 | + $settings = array( |
|
101 | 101 | 'EditorPath' => base_path() . $editor['library path'] . '/', |
102 | 102 | 'SkinPath' => base_path() . $editor['library path'] . '/editor/skins/' . $theme . '/', |
103 | 103 | 'CustomConfigurationsPath' => base_path() . drupal_get_path('module', 'wysiwyg') . '/editors/js/fckeditor.config.js', |
@@ -116,105 +116,105 @@ discard block |
||
116 | 116 | // @todo Check whether completely disabling ProcessHTMLEntities is an option. |
117 | 117 | 'IncludeLatinEntities' => FALSE, |
118 | 118 | 'IncludeGreekEntities' => FALSE, |
119 | - ); |
|
120 | - if (isset($config['block_formats'])) { |
|
119 | + ); |
|
120 | + if (isset($config['block_formats'])) { |
|
121 | 121 | $settings['FontFormats'] = strtr($config['block_formats'], array(',' => ';')); |
122 | - } |
|
123 | - if (isset($config['apply_source_formatting'])) { |
|
122 | + } |
|
123 | + if (isset($config['apply_source_formatting'])) { |
|
124 | 124 | $settings['FormatOutput'] = $settings['FormatSource'] = $config['apply_source_formatting']; |
125 | - } |
|
126 | - if (isset($config['paste_auto_cleanup_on_paste'])) { |
|
125 | + } |
|
126 | + if (isset($config['paste_auto_cleanup_on_paste'])) { |
|
127 | 127 | $settings['AutoDetectPasteFromWord'] = $config['paste_auto_cleanup_on_paste']; |
128 | - } |
|
128 | + } |
|
129 | 129 | |
130 | - if (isset($config['css_setting'])) { |
|
130 | + if (isset($config['css_setting'])) { |
|
131 | 131 | if ($config['css_setting'] == 'theme') { |
132 | - $settings['EditorAreaCSS'] = implode(',', wysiwyg_get_css()); |
|
132 | + $settings['EditorAreaCSS'] = implode(',', wysiwyg_get_css()); |
|
133 | 133 | } |
134 | 134 | else if ($config['css_setting'] == 'self' && isset($config['css_path'])) { |
135 | - $settings['EditorAreaCSS'] = strtr($config['css_path'], array('%b' => base_path(), '%t' => path_to_theme())); |
|
135 | + $settings['EditorAreaCSS'] = strtr($config['css_path'], array('%b' => base_path(), '%t' => path_to_theme())); |
|
136 | + } |
|
136 | 137 | } |
137 | - } |
|
138 | 138 | |
139 | - // Use our custom toolbar set. |
|
140 | - $settings['ToolbarSet'] = 'Wysiwyg'; |
|
141 | - // Populate our custom toolbar set for fckeditor.config.js. |
|
142 | - $settings['buttons'] = array(); |
|
143 | - if (!empty($config['buttons'])) { |
|
139 | + // Use our custom toolbar set. |
|
140 | + $settings['ToolbarSet'] = 'Wysiwyg'; |
|
141 | + // Populate our custom toolbar set for fckeditor.config.js. |
|
142 | + $settings['buttons'] = array(); |
|
143 | + if (!empty($config['buttons'])) { |
|
144 | 144 | $plugins = wysiwyg_get_plugins($editor['name']); |
145 | 145 | foreach ($config['buttons'] as $plugin => $buttons) { |
146 | - foreach ($buttons as $button => $enabled) { |
|
146 | + foreach ($buttons as $button => $enabled) { |
|
147 | 147 | // Iterate separately over buttons and extensions properties. |
148 | 148 | foreach (array('buttons', 'extensions') as $type) { |
149 | - // Skip unavailable plugins. |
|
150 | - if (!isset($plugins[$plugin][$type][$button])) { |
|
149 | + // Skip unavailable plugins. |
|
150 | + if (!isset($plugins[$plugin][$type][$button])) { |
|
151 | 151 | continue; |
152 | - } |
|
153 | - // Add buttons. |
|
154 | - if ($type == 'buttons') { |
|
152 | + } |
|
153 | + // Add buttons. |
|
154 | + if ($type == 'buttons') { |
|
155 | 155 | $settings['buttons'][] = $button; |
156 | - } |
|
157 | - // Allow plugins to add or override global configuration settings. |
|
158 | - if (!empty($plugins[$plugin]['options'])) { |
|
156 | + } |
|
157 | + // Allow plugins to add or override global configuration settings. |
|
158 | + if (!empty($plugins[$plugin]['options'])) { |
|
159 | 159 | $settings = array_merge($settings, $plugins[$plugin]['options']); |
160 | - } |
|
160 | + } |
|
161 | 161 | } |
162 | - } |
|
162 | + } |
|
163 | + } |
|
163 | 164 | } |
164 | - } |
|
165 | - // For now, all buttons are placed into one row. |
|
166 | - $settings['buttons'] = array($settings['buttons']); |
|
165 | + // For now, all buttons are placed into one row. |
|
166 | + $settings['buttons'] = array($settings['buttons']); |
|
167 | 167 | |
168 | - return $settings; |
|
168 | + return $settings; |
|
169 | 169 | } |
170 | 170 | |
171 | 171 | /** |
172 | 172 | * Build a JS settings array of native external plugins that need to be loaded separately. |
173 | 173 | */ |
174 | 174 | function wysiwyg_fckeditor_plugin_settings($editor, $profile, $plugins) { |
175 | - $settings = array(); |
|
176 | - foreach ($plugins as $name => $plugin) { |
|
175 | + $settings = array(); |
|
176 | + foreach ($plugins as $name => $plugin) { |
|
177 | 177 | // Register all plugins that need to be loaded. |
178 | 178 | if (!empty($plugin['load'])) { |
179 | - $settings[$name] = array(); |
|
180 | - // Add path for native external plugins; internal ones do not need a path. |
|
181 | - if (empty($plugin['internal']) && isset($plugin['path'])) { |
|
179 | + $settings[$name] = array(); |
|
180 | + // Add path for native external plugins; internal ones do not need a path. |
|
181 | + if (empty($plugin['internal']) && isset($plugin['path'])) { |
|
182 | 182 | // All native FCKeditor plugins use the filename fckplugin.js. |
183 | 183 | $settings[$name]['path'] = base_path() . $plugin['path'] . '/'; |
184 | - } |
|
185 | - if (!empty($plugin['languages'])) { |
|
184 | + } |
|
185 | + if (!empty($plugin['languages'])) { |
|
186 | 186 | $settings[$name]['languages'] = $plugin['languages']; |
187 | - } |
|
187 | + } |
|
188 | + } |
|
188 | 189 | } |
189 | - } |
|
190 | - return $settings; |
|
190 | + return $settings; |
|
191 | 191 | } |
192 | 192 | |
193 | 193 | /** |
194 | 194 | * Build a JS settings array for Drupal plugins loaded via the proxy plugin. |
195 | 195 | */ |
196 | 196 | function wysiwyg_fckeditor_proxy_plugin_settings($editor, $profile, $plugins) { |
197 | - $settings = array(); |
|
198 | - foreach ($plugins as $name => $plugin) { |
|
197 | + $settings = array(); |
|
198 | + foreach ($plugins as $name => $plugin) { |
|
199 | 199 | // Populate required plugin settings. |
200 | 200 | $settings[$name] = $plugin['dialog settings'] + array( |
201 | - 'title' => $plugin['title'], |
|
202 | - 'icon' => base_path() . $plugin['icon path'] . '/' . $plugin['icon file'], |
|
203 | - 'iconTitle' => $plugin['icon title'], |
|
204 | - // @todo These should only be set if the plugin defined them. |
|
205 | - 'css' => base_path() . $plugin['css path'] . '/' . $plugin['css file'], |
|
201 | + 'title' => $plugin['title'], |
|
202 | + 'icon' => base_path() . $plugin['icon path'] . '/' . $plugin['icon file'], |
|
203 | + 'iconTitle' => $plugin['icon title'], |
|
204 | + // @todo These should only be set if the plugin defined them. |
|
205 | + 'css' => base_path() . $plugin['css path'] . '/' . $plugin['css file'], |
|
206 | 206 | ); |
207 | - } |
|
208 | - return $settings; |
|
207 | + } |
|
208 | + return $settings; |
|
209 | 209 | } |
210 | 210 | |
211 | 211 | /** |
212 | 212 | * Return internal plugins for this editor; semi-implementation of hook_wysiwyg_plugin(). |
213 | 213 | */ |
214 | 214 | function wysiwyg_fckeditor_plugins($editor) { |
215 | - $plugins = array( |
|
215 | + $plugins = array( |
|
216 | 216 | 'default' => array( |
217 | - 'buttons' => array( |
|
217 | + 'buttons' => array( |
|
218 | 218 | 'Bold' => t('Bold'), 'Italic' => t('Italic'), 'Underline' => t('Underline'), |
219 | 219 | 'StrikeThrough' => t('Strike-through'), |
220 | 220 | 'JustifyLeft' => t('Align left'), 'JustifyCenter' => t('Align center'), 'JustifyRight' => t('Align right'), 'JustifyFull' => t('Justify'), |
@@ -240,39 +240,39 @@ discard block |
||
240 | 240 | 'Flash' => t('Flash'), 'Smiley' => t('Smiley'), |
241 | 241 | 'FitWindow' => t('FitWindow'), |
242 | 242 | 'SpellCheck' => t('Check spelling'), |
243 | - ), |
|
244 | - 'internal' => TRUE, |
|
243 | + ), |
|
244 | + 'internal' => TRUE, |
|
245 | 245 | ), |
246 | 246 | 'autogrow' => array( |
247 | - 'path' => $editor['library path'] . '/editor/plugins', |
|
248 | - 'extensions' => array( |
|
247 | + 'path' => $editor['library path'] . '/editor/plugins', |
|
248 | + 'extensions' => array( |
|
249 | 249 | 'autogrow' => t('Autogrow'), |
250 | - ), |
|
251 | - 'options' => array( |
|
250 | + ), |
|
251 | + 'options' => array( |
|
252 | 252 | 'AutoGrowMax' => 800, |
253 | - ), |
|
254 | - 'internal' => TRUE, |
|
255 | - 'load' => TRUE, |
|
253 | + ), |
|
254 | + 'internal' => TRUE, |
|
255 | + 'load' => TRUE, |
|
256 | 256 | ), |
257 | 257 | 'bbcode' => array( |
258 | - 'path' => $editor['library path'] . '/editor/plugins', |
|
259 | - 'extensions' => array( |
|
258 | + 'path' => $editor['library path'] . '/editor/plugins', |
|
259 | + 'extensions' => array( |
|
260 | 260 | 'bbcode' => t('BBCode'), |
261 | - ), |
|
262 | - 'internal' => TRUE, |
|
263 | - 'load' => TRUE, |
|
261 | + ), |
|
262 | + 'internal' => TRUE, |
|
263 | + 'load' => TRUE, |
|
264 | 264 | ), |
265 | 265 | 'dragresizetable' => array( |
266 | - 'path' => $editor['library path'] . '/editor/plugins', |
|
267 | - 'extensions' => array( |
|
266 | + 'path' => $editor['library path'] . '/editor/plugins', |
|
267 | + 'extensions' => array( |
|
268 | 268 | 'dragresizetable' => t('Table drag/resize'), |
269 | - ), |
|
270 | - 'internal' => TRUE, |
|
271 | - 'load' => TRUE, |
|
269 | + ), |
|
270 | + 'internal' => TRUE, |
|
271 | + 'load' => TRUE, |
|
272 | 272 | ), |
273 | 273 | 'tablecommands' => array( |
274 | - 'path' => $editor['library path'] . '/editor/plugins', |
|
275 | - 'buttons' => array( |
|
274 | + 'path' => $editor['library path'] . '/editor/plugins', |
|
275 | + 'buttons' => array( |
|
276 | 276 | 'TableCellProp' => t('Table: Cell properties'), |
277 | 277 | 'TableInsertRowAfter' => t('Table: Insert row after'), |
278 | 278 | 'TableInsertColumnAfter' => t('Table: Insert column after'), |
@@ -282,11 +282,11 @@ discard block |
||
282 | 282 | 'TableDeleteCells' => t('Table: Delete cells'), |
283 | 283 | 'TableMergeCells' => t('Table: Merge cells'), |
284 | 284 | 'TableHorizontalSplitCell' => t('Table: Horizontal split cell'), |
285 | - ), |
|
286 | - 'internal' => TRUE, |
|
287 | - 'load' => TRUE, |
|
285 | + ), |
|
286 | + 'internal' => TRUE, |
|
287 | + 'load' => TRUE, |
|
288 | 288 | ), |
289 | - ); |
|
290 | - return $plugins; |
|
289 | + ); |
|
290 | + return $plugins; |
|
291 | 291 | } |
292 | 292 |
@@ -50,7 +50,7 @@ discard block |
||
50 | 50 | * The installed editor version. |
51 | 51 | */ |
52 | 52 | function wysiwyg_fckeditor_version($editor) { |
53 | - $library = $editor['library path'] . '/fckeditor.js'; |
|
53 | + $library = $editor['library path'].'/fckeditor.js'; |
|
54 | 54 | if (!file_exists($library)) { |
55 | 55 | return; |
56 | 56 | } |
@@ -98,9 +98,9 @@ discard block |
||
98 | 98 | */ |
99 | 99 | function wysiwyg_fckeditor_settings($editor, $config, $theme) { |
100 | 100 | $settings = array( |
101 | - 'EditorPath' => base_path() . $editor['library path'] . '/', |
|
102 | - 'SkinPath' => base_path() . $editor['library path'] . '/editor/skins/' . $theme . '/', |
|
103 | - 'CustomConfigurationsPath' => base_path() . drupal_get_path('module', 'wysiwyg') . '/editors/js/fckeditor.config.js', |
|
101 | + 'EditorPath' => base_path().$editor['library path'].'/', |
|
102 | + 'SkinPath' => base_path().$editor['library path'].'/editor/skins/'.$theme.'/', |
|
103 | + 'CustomConfigurationsPath' => base_path().drupal_get_path('module', 'wysiwyg').'/editors/js/fckeditor.config.js', |
|
104 | 104 | 'Width' => '100%', |
105 | 105 | 'Height' => 420, |
106 | 106 | 'LinkBrowser' => FALSE, |
@@ -180,7 +180,7 @@ discard block |
||
180 | 180 | // Add path for native external plugins; internal ones do not need a path. |
181 | 181 | if (empty($plugin['internal']) && isset($plugin['path'])) { |
182 | 182 | // All native FCKeditor plugins use the filename fckplugin.js. |
183 | - $settings[$name]['path'] = base_path() . $plugin['path'] . '/'; |
|
183 | + $settings[$name]['path'] = base_path().$plugin['path'].'/'; |
|
184 | 184 | } |
185 | 185 | if (!empty($plugin['languages'])) { |
186 | 186 | $settings[$name]['languages'] = $plugin['languages']; |
@@ -199,10 +199,10 @@ discard block |
||
199 | 199 | // Populate required plugin settings. |
200 | 200 | $settings[$name] = $plugin['dialog settings'] + array( |
201 | 201 | 'title' => $plugin['title'], |
202 | - 'icon' => base_path() . $plugin['icon path'] . '/' . $plugin['icon file'], |
|
202 | + 'icon' => base_path().$plugin['icon path'].'/'.$plugin['icon file'], |
|
203 | 203 | 'iconTitle' => $plugin['icon title'], |
204 | 204 | // @todo These should only be set if the plugin defined them. |
205 | - 'css' => base_path() . $plugin['css path'] . '/' . $plugin['css file'], |
|
205 | + 'css' => base_path().$plugin['css path'].'/'.$plugin['css file'], |
|
206 | 206 | ); |
207 | 207 | } |
208 | 208 | return $settings; |
@@ -244,7 +244,7 @@ discard block |
||
244 | 244 | 'internal' => TRUE, |
245 | 245 | ), |
246 | 246 | 'autogrow' => array( |
247 | - 'path' => $editor['library path'] . '/editor/plugins', |
|
247 | + 'path' => $editor['library path'].'/editor/plugins', |
|
248 | 248 | 'extensions' => array( |
249 | 249 | 'autogrow' => t('Autogrow'), |
250 | 250 | ), |
@@ -255,7 +255,7 @@ discard block |
||
255 | 255 | 'load' => TRUE, |
256 | 256 | ), |
257 | 257 | 'bbcode' => array( |
258 | - 'path' => $editor['library path'] . '/editor/plugins', |
|
258 | + 'path' => $editor['library path'].'/editor/plugins', |
|
259 | 259 | 'extensions' => array( |
260 | 260 | 'bbcode' => t('BBCode'), |
261 | 261 | ), |
@@ -263,7 +263,7 @@ discard block |
||
263 | 263 | 'load' => TRUE, |
264 | 264 | ), |
265 | 265 | 'dragresizetable' => array( |
266 | - 'path' => $editor['library path'] . '/editor/plugins', |
|
266 | + 'path' => $editor['library path'].'/editor/plugins', |
|
267 | 267 | 'extensions' => array( |
268 | 268 | 'dragresizetable' => t('Table drag/resize'), |
269 | 269 | ), |
@@ -271,7 +271,7 @@ discard block |
||
271 | 271 | 'load' => TRUE, |
272 | 272 | ), |
273 | 273 | 'tablecommands' => array( |
274 | - 'path' => $editor['library path'] . '/editor/plugins', |
|
274 | + 'path' => $editor['library path'].'/editor/plugins', |
|
275 | 275 | 'buttons' => array( |
276 | 276 | 'TableCellProp' => t('Table: Cell properties'), |
277 | 277 | 'TableInsertRowAfter' => t('Table: Insert row after'), |
@@ -130,8 +130,7 @@ |
||
130 | 130 | if (isset($config['css_setting'])) { |
131 | 131 | if ($config['css_setting'] == 'theme') { |
132 | 132 | $settings['EditorAreaCSS'] = implode(',', wysiwyg_get_css()); |
133 | - } |
|
134 | - else if ($config['css_setting'] == 'self' && isset($config['css_path'])) { |
|
133 | + } else if ($config['css_setting'] == 'self' && isset($config['css_path'])) { |
|
135 | 134 | $settings['EditorAreaCSS'] = strtr($config['css_path'], array('%b' => base_path(), '%t' => path_to_theme())); |
136 | 135 | } |
137 | 136 | } |
@@ -26,8 +26,8 @@ discard block |
||
26 | 26 | 'plugin settings callback' => 'wysiwyg_fckeditor_plugin_settings', |
27 | 27 | 'proxy plugin' => array( |
28 | 28 | 'drupal' => array( |
29 | - 'load' => TRUE, |
|
30 | - 'proxy' => TRUE, |
|
29 | + 'load' => true, |
|
30 | + 'proxy' => true, |
|
31 | 31 | ), |
32 | 32 | ), |
33 | 33 | 'proxy plugin settings callback' => 'wysiwyg_fckeditor_proxy_plugin_settings', |
@@ -103,19 +103,19 @@ discard block |
||
103 | 103 | 'CustomConfigurationsPath' => base_path() . drupal_get_path('module', 'wysiwyg') . '/editors/js/fckeditor.config.js', |
104 | 104 | 'Width' => '100%', |
105 | 105 | 'Height' => 420, |
106 | - 'LinkBrowser' => FALSE, |
|
107 | - 'LinkUpload' => FALSE, |
|
108 | - 'ImageBrowser' => FALSE, |
|
109 | - 'ImageUpload' => FALSE, |
|
110 | - 'FlashBrowser' => FALSE, |
|
111 | - 'FlashUpload' => FALSE, |
|
106 | + 'LinkBrowser' => false, |
|
107 | + 'LinkUpload' => false, |
|
108 | + 'ImageBrowser' => false, |
|
109 | + 'ImageUpload' => false, |
|
110 | + 'FlashBrowser' => false, |
|
111 | + 'FlashUpload' => false, |
|
112 | 112 | // By default, FCKeditor converts most characters into HTML entities. Since |
113 | 113 | // it does not support a custom definition, but Drupal supports Unicode, we |
114 | 114 | // disable at least the additional character sets. FCKeditor always converts |
115 | 115 | // XML default characters '&', '<', '>'. |
116 | 116 | // @todo Check whether completely disabling ProcessHTMLEntities is an option. |
117 | - 'IncludeLatinEntities' => FALSE, |
|
118 | - 'IncludeGreekEntities' => FALSE, |
|
117 | + 'IncludeLatinEntities' => false, |
|
118 | + 'IncludeGreekEntities' => false, |
|
119 | 119 | ); |
120 | 120 | if (isset($config['block_formats'])) { |
121 | 121 | $settings['FontFormats'] = strtr($config['block_formats'], array(',' => ';')); |
@@ -241,7 +241,7 @@ discard block |
||
241 | 241 | 'FitWindow' => t('FitWindow'), |
242 | 242 | 'SpellCheck' => t('Check spelling'), |
243 | 243 | ), |
244 | - 'internal' => TRUE, |
|
244 | + 'internal' => true, |
|
245 | 245 | ), |
246 | 246 | 'autogrow' => array( |
247 | 247 | 'path' => $editor['library path'] . '/editor/plugins', |
@@ -251,24 +251,24 @@ discard block |
||
251 | 251 | 'options' => array( |
252 | 252 | 'AutoGrowMax' => 800, |
253 | 253 | ), |
254 | - 'internal' => TRUE, |
|
255 | - 'load' => TRUE, |
|
254 | + 'internal' => true, |
|
255 | + 'load' => true, |
|
256 | 256 | ), |
257 | 257 | 'bbcode' => array( |
258 | 258 | 'path' => $editor['library path'] . '/editor/plugins', |
259 | 259 | 'extensions' => array( |
260 | 260 | 'bbcode' => t('BBCode'), |
261 | 261 | ), |
262 | - 'internal' => TRUE, |
|
263 | - 'load' => TRUE, |
|
262 | + 'internal' => true, |
|
263 | + 'load' => true, |
|
264 | 264 | ), |
265 | 265 | 'dragresizetable' => array( |
266 | 266 | 'path' => $editor['library path'] . '/editor/plugins', |
267 | 267 | 'extensions' => array( |
268 | 268 | 'dragresizetable' => t('Table drag/resize'), |
269 | 269 | ), |
270 | - 'internal' => TRUE, |
|
271 | - 'load' => TRUE, |
|
270 | + 'internal' => true, |
|
271 | + 'load' => true, |
|
272 | 272 | ), |
273 | 273 | 'tablecommands' => array( |
274 | 274 | 'path' => $editor['library path'] . '/editor/plugins', |
@@ -283,8 +283,8 @@ discard block |
||
283 | 283 | 'TableMergeCells' => t('Table: Merge cells'), |
284 | 284 | 'TableHorizontalSplitCell' => t('Table: Horizontal split cell'), |
285 | 285 | ), |
286 | - 'internal' => TRUE, |
|
287 | - 'load' => TRUE, |
|
286 | + 'internal' => true, |
|
287 | + 'load' => true, |
|
288 | 288 | ), |
289 | 289 | ); |
290 | 290 | return $plugins; |
@@ -43,7 +43,7 @@ |
||
43 | 43 | * An array containing editor properties as returned from hook_editor(). |
44 | 44 | * |
45 | 45 | * @return |
46 | - * The installed editor version. |
|
46 | + null|string The installed editor version. |
|
47 | 47 | */ |
48 | 48 | function wysiwyg_jwysiwyg_version($editor) { |
49 | 49 | $script = $editor['library path'] . '/jquery.wysiwyg.js'; |
@@ -9,31 +9,31 @@ discard block |
||
9 | 9 | * Plugin implementation of hook_editor(). |
10 | 10 | */ |
11 | 11 | function wysiwyg_jwysiwyg_editor() { |
12 | - $editor['jwysiwyg'] = array( |
|
12 | + $editor['jwysiwyg'] = array( |
|
13 | 13 | 'title' => 'jWYSIWYG', |
14 | 14 | 'vendor url' => 'http://code.google.com/p/jwysiwyg/', |
15 | 15 | 'download url' => 'http://code.google.com/p/jwysiwyg/downloads/list', |
16 | 16 | 'libraries' => array( |
17 | - '' => array( |
|
17 | + '' => array( |
|
18 | 18 | 'title' => 'Source', |
19 | 19 | 'files' => array('jquery.wysiwyg.js'), |
20 | - ), |
|
21 | - 'pack' => array( |
|
20 | + ), |
|
21 | + 'pack' => array( |
|
22 | 22 | 'title' => 'Packed', |
23 | 23 | 'files' => array('jquery.wysiwyg.pack.js'), |
24 | - ), |
|
24 | + ), |
|
25 | 25 | ), |
26 | 26 | 'version callback' => 'wysiwyg_jwysiwyg_version', |
27 | 27 | // @todo Wrong property; add separate properties for editor requisites. |
28 | 28 | 'css path' => wysiwyg_get_path('jwysiwyg'), |
29 | 29 | 'versions' => array( |
30 | - '0.5' => array( |
|
30 | + '0.5' => array( |
|
31 | 31 | 'js files' => array('jwysiwyg.js'), |
32 | 32 | 'css files' => array('jquery.wysiwyg.css'), |
33 | - ), |
|
33 | + ), |
|
34 | 34 | ), |
35 | - ); |
|
36 | - return $editor; |
|
35 | + ); |
|
36 | + return $editor; |
|
37 | 37 | } |
38 | 38 | |
39 | 39 | /** |
@@ -46,17 +46,17 @@ discard block |
||
46 | 46 | * The installed editor version. |
47 | 47 | */ |
48 | 48 | function wysiwyg_jwysiwyg_version($editor) { |
49 | - $script = $editor['library path'] . '/jquery.wysiwyg.js'; |
|
50 | - if (!file_exists($script)) { |
|
49 | + $script = $editor['library path'] . '/jquery.wysiwyg.js'; |
|
50 | + if (!file_exists($script)) { |
|
51 | 51 | return; |
52 | - } |
|
53 | - $script = fopen($script, 'r'); |
|
54 | - fgets($script); |
|
55 | - $line = fgets($script); |
|
56 | - if (preg_match('@([0-9\.]+)$@', $line, $version)) { |
|
52 | + } |
|
53 | + $script = fopen($script, 'r'); |
|
54 | + fgets($script); |
|
55 | + $line = fgets($script); |
|
56 | + if (preg_match('@([0-9\.]+)$@', $line, $version)) { |
|
57 | 57 | fclose($script); |
58 | 58 | return $version[1]; |
59 | - } |
|
60 | - fclose($script); |
|
59 | + } |
|
60 | + fclose($script); |
|
61 | 61 | } |
62 | 62 |
@@ -46,7 +46,7 @@ |
||
46 | 46 | * The installed editor version. |
47 | 47 | */ |
48 | 48 | function wysiwyg_jwysiwyg_version($editor) { |
49 | - $script = $editor['library path'] . '/jquery.wysiwyg.js'; |
|
49 | + $script = $editor['library path'].'/jquery.wysiwyg.js'; |
|
50 | 50 | if (!file_exists($script)) { |
51 | 51 | return; |
52 | 52 | } |