@@ -27,44 +27,44 @@ discard block |
||
27 | 27 | * with defined URL paths |
28 | 28 | */ |
29 | 29 | function boincuser_menu() { |
30 | - $items['account/posts'] = array( |
|
30 | + $items['account/posts'] = array( |
|
31 | 31 | 'title' => 'Recent posts', |
32 | 32 | 'description' => '', |
33 | 33 | 'page callback' => 'boincuser_goto_recent_posts', |
34 | 34 | 'access callback' => 'user_is_logged_in', |
35 | 35 | 'type' => MENU_CALLBACK, |
36 | - ); |
|
37 | - $items['account/profile'] = array( |
|
36 | + ); |
|
37 | + $items['account/profile'] = array( |
|
38 | 38 | 'title' => '', |
39 | 39 | 'description' => '', |
40 | 40 | 'page callback' => 'boincuser_view_profile', |
41 | 41 | 'access callback' => 'user_is_logged_in', |
42 | 42 | 'type' => MENU_NORMAL_ITEM |
43 | - ); |
|
44 | - $items['account/profile/view'] = array( |
|
43 | + ); |
|
44 | + $items['account/profile/view'] = array( |
|
45 | 45 | 'title' => 'View', |
46 | 46 | 'description' => 'Show a user profile', |
47 | 47 | 'page callback' => 'boincuser_view_profile', |
48 | 48 | 'access callback' => 'user_is_logged_in', |
49 | 49 | 'type' => MENU_DEFAULT_LOCAL_TASK, |
50 | 50 | 'weight' => 0 |
51 | - ); |
|
52 | - $items['account/profile/edit'] = array( |
|
51 | + ); |
|
52 | + $items['account/profile/edit'] = array( |
|
53 | 53 | 'title' => 'Edit', |
54 | 54 | 'description' => 'Edit a user profile', |
55 | 55 | 'page callback' => 'boincuser_edit_profile', |
56 | 56 | 'access arguments' => array('edit own profile content'), |
57 | 57 | 'type' => MENU_LOCAL_TASK, |
58 | 58 | 'weight' => 5 |
59 | - ); |
|
60 | - $items['account/team'] = array( |
|
59 | + ); |
|
60 | + $items['account/team'] = array( |
|
61 | 61 | 'title' => 'User team', |
62 | 62 | 'description' => '', |
63 | 63 | 'page callback' => 'boincuser_goto_team', |
64 | 64 | 'access callback' => 'user_is_logged_in', |
65 | 65 | 'type' => MENU_CALLBACK, |
66 | - ); |
|
67 | - $items['moderate/profile/%user/approve'] = array( |
|
66 | + ); |
|
67 | + $items['moderate/profile/%user/approve'] = array( |
|
68 | 68 | 'title' => 'Profile approval', |
69 | 69 | 'description' => 'Approve profile content', |
70 | 70 | 'page callback' => 'boincuser_moderate_profile_approve', |
@@ -72,8 +72,8 @@ discard block |
||
72 | 72 | 'access arguments' => array('edit any profile content'), |
73 | 73 | 'type' => MENU_CALLBACK, |
74 | 74 | 'weight' => 5 |
75 | - ); |
|
76 | - $items['moderate/profile/%user/edit'] = array( |
|
75 | + ); |
|
76 | + $items['moderate/profile/%user/edit'] = array( |
|
77 | 77 | 'title' => 'Profile editor', |
78 | 78 | 'description' => 'Edit a user profile', |
79 | 79 | 'page callback' => 'boincuser_edit_profile', |
@@ -81,8 +81,8 @@ discard block |
||
81 | 81 | 'access arguments' => array('edit any profile content'), |
82 | 82 | 'type' => MENU_CALLBACK, |
83 | 83 | 'weight' => 5 |
84 | - ); |
|
85 | - $items['moderate/profile/%/reject'] = array( |
|
84 | + ); |
|
85 | + $items['moderate/profile/%/reject'] = array( |
|
86 | 86 | 'title' => bts('Reject profile', array(), NULL, 'boinc:moderate-user'), |
87 | 87 | 'description' => 'Reject profile content', |
88 | 88 | 'page callback' => 'drupal_get_form', |
@@ -90,60 +90,60 @@ discard block |
||
90 | 90 | 'access arguments' => array('edit any profile content'), |
91 | 91 | 'type' => MENU_CALLBACK, |
92 | 92 | 'weight' => 5 |
93 | - ); |
|
94 | - $items['moderate/user/%/ban'] = array( |
|
93 | + ); |
|
94 | + $items['moderate/user/%/ban'] = array( |
|
95 | 95 | 'title' => bts('Ban user', array(), NULL, 'boinc:moderate-ban-user'), |
96 | 96 | 'description' => 'Ban a user from using community features', |
97 | 97 | 'page callback' => 'drupal_get_form', |
98 | 98 | 'page arguments' => array('boincuser_moderate_user_ban_form', 2), |
99 | 99 | 'access callback' => 'boincuser_moderate_community_access', |
100 | 100 | 'type' => MENU_CALLBACK, |
101 | - ); |
|
102 | - $items['join'] = array( |
|
101 | + ); |
|
102 | + $items['join'] = array( |
|
103 | 103 | 'title' => '', |
104 | 104 | 'description' => '', |
105 | 105 | 'page callback' => 'join_page', |
106 | 106 | 'access arguments' => array('access content'), |
107 | 107 | 'type' => MENU_NORMAL_ITEM |
108 | - ); |
|
109 | - $items['join/new'] = array( |
|
108 | + ); |
|
109 | + $items['join/new'] = array( |
|
110 | 110 | 'title' => bts("I'm new"), |
111 | 111 | 'page callback' => 'join_page', |
112 | 112 | 'page arguments' => array(1), |
113 | 113 | 'access arguments' => array('access content'), |
114 | 114 | 'type' => MENU_DEFAULT_LOCAL_TASK, |
115 | 115 | 'weight' => 0 |
116 | - ); |
|
117 | - $items['join/boinc'] = array( |
|
116 | + ); |
|
117 | + $items['join/boinc'] = array( |
|
118 | 118 | 'title' => bts("I'm a BOINC user"), |
119 | 119 | 'page callback' => 'join_page', |
120 | 120 | 'page arguments' => array(1), |
121 | 121 | 'access arguments' => array('access content'), |
122 | 122 | 'type' => MENU_LOCAL_TASK, |
123 | 123 | 'weight' => 5 |
124 | - ); |
|
125 | - $items['user/login/auth'] = array( |
|
124 | + ); |
|
125 | + $items['user/login/auth'] = array( |
|
126 | 126 | 'title' => bts('Authenticator login', array(), NULL, 'boinc:authenticator-login-page'), |
127 | 127 | 'description' => 'Log in using a user authenticator', |
128 | 128 | 'page callback' => 'drupal_get_form', |
129 | 129 | 'page arguments' => array('boincuser_authloginform'), |
130 | 130 | 'access arguments' => array('access content'), |
131 | 131 | 'type' => MENU_CALLBACK, |
132 | - ); |
|
133 | - $items['user/termsofuse'] = array( |
|
132 | + ); |
|
133 | + $items['user/termsofuse'] = array( |
|
134 | 134 | 'title' => bts('Terms of Use', array(), NULL, 'boinc:termsofuse-form'), |
135 | 135 | 'description' => 'A site\'s term of use.', |
136 | 136 | 'page callback' => 'drupal_get_form', |
137 | 137 | 'page arguments' => array('boincuser_termsofuse_form'), |
138 | 138 | 'access callback' => 'user_is_logged_in', |
139 | 139 | 'type' => MENU_CALLBACK, |
140 | - ); |
|
141 | - $items['user_control'] = array( |
|
140 | + ); |
|
141 | + $items['user_control'] = array( |
|
142 | 142 | 'page callback' => 'boincuser_control', |
143 | 143 | 'access arguments' => array('access user profiles'), |
144 | 144 | 'type' => MENU_CALLBACK |
145 | - ); |
|
146 | - $items['admin/boinc'] = array( |
|
145 | + ); |
|
146 | + $items['admin/boinc'] = array( |
|
147 | 147 | 'title' => 'BOINC configuration', |
148 | 148 | 'position' => 'right', |
149 | 149 | 'weight' => -8, |
@@ -151,8 +151,8 @@ discard block |
||
151 | 151 | 'access arguments' => array('administer site configuration'), |
152 | 152 | 'file' => 'system.admin.inc', |
153 | 153 | 'file path' => drupal_get_path('module', 'system'), |
154 | - ); |
|
155 | - $items['admin/boinc/environment'] = array( |
|
154 | + ); |
|
155 | + $items['admin/boinc/environment'] = array( |
|
156 | 156 | 'title' => 'Environment: General', |
157 | 157 | 'description' => 'Set paths to BOINC functions and any other necessary |
158 | 158 | variables that establish a BOINC environment.', |
@@ -161,8 +161,8 @@ discard block |
||
161 | 161 | 'access arguments' => array('administer site configuration'), |
162 | 162 | 'type' => MENU_NORMAL_ITEM, |
163 | 163 | 'file' => 'boincuser.admin.inc' |
164 | - ); |
|
165 | - $items['admin/boinc/scheduler'] = array( |
|
164 | + ); |
|
165 | + $items['admin/boinc/scheduler'] = array( |
|
166 | 166 | 'title' => 'Environment: Scheduling server URLs', |
167 | 167 | 'description' => 'Set BOINC scheduler options.', |
168 | 168 | 'page callback' => 'drupal_get_form', |
@@ -170,8 +170,8 @@ discard block |
||
170 | 170 | 'access arguments' => array('administer site configuration'), |
171 | 171 | 'type' => MENU_NORMAL_ITEM, |
172 | 172 | 'file' => 'boincuser.admin.inc' |
173 | - ); |
|
174 | - $items['admin/boinc/weboptions'] = array( |
|
173 | + ); |
|
174 | + $items['admin/boinc/weboptions'] = array( |
|
175 | 175 | 'title' => 'Environment: Website Options', |
176 | 176 | 'description' => 'Set options configuring this Drupal-BOINC Web site.', |
177 | 177 | 'page callback' => 'drupal_get_form', |
@@ -179,117 +179,117 @@ discard block |
||
179 | 179 | 'access arguments' => array('administer site configuration'), |
180 | 180 | 'type' => MENU_NORMAL_ITEM, |
181 | 181 | 'file' => 'boincuser.admin.inc' |
182 | - ); |
|
182 | + ); |
|
183 | 183 | |
184 | - $items['create_account.php'] = array( |
|
184 | + $items['create_account.php'] = array( |
|
185 | 185 | 'title' => 'Create Account RPC', |
186 | 186 | 'description' => 'RPC for creating user accounts.', |
187 | 187 | 'page callback' => 'boincuser_create_account', |
188 | 188 | 'access callback' => TRUE, |
189 | 189 | 'type' => MENU_CALLBACK |
190 | - ); |
|
191 | - $items['account_finish.php'] = array( |
|
190 | + ); |
|
191 | + $items['account_finish.php'] = array( |
|
192 | 192 | 'title' => 'Welcome to ' . variable_get('site_name', 'Drupal-BOINC'), |
193 | 193 | 'description' => 'RPC for after a user has created an account.', |
194 | 194 | 'page callback' => 'boincuser_account_finish', |
195 | 195 | 'access callback' => TRUE, |
196 | 196 | 'type' => MENU_CALLBACK, |
197 | - ); |
|
198 | - $items['boincuser/autocomplete'] = array( |
|
197 | + ); |
|
198 | + $items['boincuser/autocomplete'] = array( |
|
199 | 199 | 'page callback' => '_boincuser_user_name_autocomplete', |
200 | 200 | 'access callback' => TRUE, |
201 | 201 | 'type' => MENU_CALLBACK, |
202 | - ); |
|
203 | - $items['user/%user/recoveremail/%'] = array( |
|
202 | + ); |
|
203 | + $items['user/%user/recoveremail/%'] = array( |
|
204 | 204 | 'title' => t('Recover previous email'), |
205 | 205 | 'description' => t('Form to revert email to previous address.'), |
206 | 206 | 'page callback' => 'drupal_get_form', |
207 | 207 | 'page arguments' => array('boincuser_revertemail', 3), |
208 | 208 | 'access callback' => 'user_is_logged_in', |
209 | 209 | 'type' => MENU_CALLBACK, |
210 | - ); |
|
211 | - $items['recover_email.php'] = array( |
|
210 | + ); |
|
211 | + $items['recover_email.php'] = array( |
|
212 | 212 | 'title' => t('Recover previous email'), |
213 | 213 | 'description' => t('redirect'), |
214 | 214 | 'page callback' => '_boincuser_redirect_recover_email', |
215 | 215 | 'access callback' => TRUE, |
216 | 216 | 'type' => MENU_CALLBACK, |
217 | - ); |
|
218 | - return $items; |
|
217 | + ); |
|
218 | + return $items; |
|
219 | 219 | } |
220 | 220 | |
221 | 221 | /** |
222 | 222 | * Implementation of hook_init() |
223 | 223 | */ |
224 | 224 | function boincuser_init() { |
225 | - global $user; |
|
226 | - // Skip this check for charts, which are loaded separately |
|
227 | - // (may get duplicate or unexpected messages otherwise) |
|
228 | - if (substr($_GET['q'], 0, 7) == 'charts/') { |
|
225 | + global $user; |
|
226 | + // Skip this check for charts, which are loaded separately |
|
227 | + // (may get duplicate or unexpected messages otherwise) |
|
228 | + if (substr($_GET['q'], 0, 7) == 'charts/') { |
|
229 | 229 | return; |
230 | - } |
|
230 | + } |
|
231 | 231 | |
232 | - // If admin user, do some basic site functionality checks |
|
233 | - if (user_access('administer site configuration')) { |
|
232 | + // If admin user, do some basic site functionality checks |
|
233 | + if (user_access('administer site configuration')) { |
|
234 | 234 | // Ensure we have a configured BOINC environment |
235 | 235 | boinc_get_path(); |
236 | 236 | boinc_get_scheduler_tags(); |
237 | - } |
|
237 | + } |
|
238 | 238 | |
239 | - // Check credits for the verified contributor role |
|
240 | - boincuser_check_credit_requirements(); |
|
239 | + // Check credits for the verified contributor role |
|
240 | + boincuser_check_credit_requirements(); |
|
241 | 241 | |
242 | - if (module_exists('boincteam')) { |
|
242 | + if (module_exists('boincteam')) { |
|
243 | 243 | // Display any persistent team messages |
244 | 244 | boincteam_show_messages(); |
245 | - } |
|
245 | + } |
|
246 | 246 | |
247 | - // Check if user has agreed to the terms of use. If not, send the |
|
248 | - // user to the terms-of-use form. This is only makes sense if the |
|
249 | - // termsofuse is enabled, by having text in the termsofuse variable. |
|
250 | - $existinguser_tou = variable_get('boinc_weboptions_existinguser_tou', FALSE); |
|
251 | - $termsofuse = variable_get('boinc_weboptions_termsofuse', ''); |
|
252 | - if ( (!empty($termsofuse)) and ($user->uid) ) { |
|
247 | + // Check if user has agreed to the terms of use. If not, send the |
|
248 | + // user to the terms-of-use form. This is only makes sense if the |
|
249 | + // termsofuse is enabled, by having text in the termsofuse variable. |
|
250 | + $existinguser_tou = variable_get('boinc_weboptions_existinguser_tou', FALSE); |
|
251 | + $termsofuse = variable_get('boinc_weboptions_termsofuse', ''); |
|
252 | + if ( (!empty($termsofuse)) and ($user->uid) ) { |
|
253 | 253 | if ( !boincuser_check_termsofuse($user) and ($existinguser_tou) ) { |
254 | 254 | |
255 | - // Admins are exempt, otherwise the admin may not be able to |
|
256 | - // access the site! |
|
257 | - $administrator_role = array_search('administrator', user_roles(true)); |
|
258 | - if (!isset($user->roles[$administrator_role])) { |
|
255 | + // Admins are exempt, otherwise the admin may not be able to |
|
256 | + // access the site! |
|
257 | + $administrator_role = array_search('administrator', user_roles(true)); |
|
258 | + if (!isset($user->roles[$administrator_role])) { |
|
259 | 259 | $path = drupal_get_path_alias($_GET['q']); |
260 | 260 | |
261 | 261 | // Any paths that should NOT be redirected go here. |
262 | 262 | // The site will not function correctly if these are not exempt! |
263 | 263 | $paths0 = array( |
264 | - 'user/termsofuse', |
|
265 | - 'logout', |
|
266 | - 'account/info/edit', |
|
267 | - 'user/' . $user->uid . '/edit', |
|
268 | - 'user/' . $user->uid . '/recoveremail/*', |
|
269 | - 'recover_email.php', |
|
264 | + 'user/termsofuse', |
|
265 | + 'logout', |
|
266 | + 'account/info/edit', |
|
267 | + 'user/' . $user->uid . '/edit', |
|
268 | + 'user/' . $user->uid . '/recoveremail/*', |
|
269 | + 'recover_email.php', |
|
270 | 270 | ); |
271 | 271 | if (module_exists('boincuser_delete')) { |
272 | - $paths0[] = 'user/' . $user->uid . '/delete'; |
|
273 | - $paths0[] = 'user/' . $user->uid . '/deleteconfirm/*'; |
|
274 | - $paths0[] = 'user/' . $user->uid . '/odeleteconfirm/*'; |
|
272 | + $paths0[] = 'user/' . $user->uid . '/delete'; |
|
273 | + $paths0[] = 'user/' . $user->uid . '/deleteconfirm/*'; |
|
274 | + $paths0[] = 'user/' . $user->uid . '/odeleteconfirm/*'; |
|
275 | 275 | } |
276 | 276 | |
277 | 277 | // Paths added by the admin |
278 | 278 | $paths1 = preg_split('/\r\n|\r|\n/', variable_get('boinc_weboptions_pathstoignore', "moderation\ncontent/moderation\nprivacy")); |
279 | 279 | $paths2 = array(); |
280 | 280 | if (is_array($paths1)) { |
281 | - $paths2 = array_map('strtolower', $paths1); |
|
281 | + $paths2 = array_map('strtolower', $paths1); |
|
282 | 282 | } |
283 | 283 | |
284 | 284 | // paths to ignore |
285 | 285 | $paths_to_ignore = array_unique( array_merge($paths0, $paths2) ); |
286 | 286 | |
287 | 287 | if (!_boincuser_ignore_paths($path, $paths_to_ignore)) { |
288 | - drupal_goto('user/termsofuse'); |
|
288 | + drupal_goto('user/termsofuse'); |
|
289 | + } |
|
289 | 290 | } |
290 | - } |
|
291 | 291 | } |
292 | - } |
|
292 | + } |
|
293 | 293 | } |
294 | 294 | |
295 | 295 | /** |
@@ -297,13 +297,13 @@ discard block |
||
297 | 297 | * Drupal user operations |
298 | 298 | */ |
299 | 299 | function boincuser_user($op, &$edit, &$account, $category = NULL) { |
300 | - require_boinc('boinc_db'); |
|
301 | - require_boinc('user'); |
|
302 | - require_boinc('xml'); |
|
300 | + require_boinc('boinc_db'); |
|
301 | + require_boinc('user'); |
|
302 | + require_boinc('xml'); |
|
303 | 303 | |
304 | - require_boinc('password_compat/password'); |
|
305 | - // Handle BOINC integration for users with UID > 1 (skip anonymous and admin) |
|
306 | - if (isset($account->uid) && ($account->uid > 1)) { |
|
304 | + require_boinc('password_compat/password'); |
|
305 | + // Handle BOINC integration for users with UID > 1 (skip anonymous and admin) |
|
306 | + if (isset($account->uid) && ($account->uid > 1)) { |
|
307 | 307 | switch($op) { |
308 | 308 | case 'load': |
309 | 309 | // User loading; insert BOINC data into the user object |
@@ -311,11 +311,11 @@ discard block |
||
311 | 311 | SELECT boinc_id, penalty_expiration |
312 | 312 | FROM {boincuser} WHERE uid = %d", |
313 | 313 | $account->uid |
314 | - )); |
|
315 | - $account->boincuser_id = $drupal_user->boinc_id; |
|
316 | - $account->boincuser_penalty_expiration = $drupal_user->penalty_expiration; |
|
317 | - db_set_active('boinc_rw'); |
|
318 | - $boinc_user = db_fetch_object(db_query(" |
|
314 | + )); |
|
315 | + $account->boincuser_id = $drupal_user->boinc_id; |
|
316 | + $account->boincuser_penalty_expiration = $drupal_user->penalty_expiration; |
|
317 | + db_set_active('boinc_rw'); |
|
318 | + $boinc_user = db_fetch_object(db_query(" |
|
319 | 319 | SELECT |
320 | 320 | name, |
321 | 321 | authenticator, |
@@ -331,29 +331,29 @@ discard block |
||
331 | 331 | FROM {user} |
332 | 332 | WHERE id = %d", |
333 | 333 | $account->boincuser_id |
334 | - )); |
|
335 | - $account->boincuser_name = $boinc_user->name; |
|
336 | - $account->boincuser_account_key = $boinc_user->authenticator; |
|
337 | - $account->boincuser_weak_auth = md5($boinc_user->authenticator . $boinc_user->passwd_hash); |
|
338 | - $account->boincuser_total_credit = round($boinc_user->total_credit); |
|
339 | - $account->boincuser_expavg_credit = round($boinc_user->expavg_credit); |
|
340 | - $account->boincuser_expavg_time = round($boinc_user->expavg_time); |
|
341 | - $account->boincuser_cpid = md5($boinc_user->cross_project_id . $account->mail); |
|
342 | - $account->boincuser_default_pref_set = $boinc_user->venue; |
|
343 | - $account->boincteam_id = $boinc_user->teamid; |
|
344 | - $account->boincuser_previous_email_addr = $boinc_user->previous_email_addr; |
|
345 | - $account->boincuser_email_addr_change_time = $boinc_user->email_addr_change_time; |
|
346 | - db_set_active('default'); |
|
347 | - // Set Drupal team ID |
|
348 | - $account->team = NULL; |
|
349 | - if ($account->boincteam_id) { |
|
334 | + )); |
|
335 | + $account->boincuser_name = $boinc_user->name; |
|
336 | + $account->boincuser_account_key = $boinc_user->authenticator; |
|
337 | + $account->boincuser_weak_auth = md5($boinc_user->authenticator . $boinc_user->passwd_hash); |
|
338 | + $account->boincuser_total_credit = round($boinc_user->total_credit); |
|
339 | + $account->boincuser_expavg_credit = round($boinc_user->expavg_credit); |
|
340 | + $account->boincuser_expavg_time = round($boinc_user->expavg_time); |
|
341 | + $account->boincuser_cpid = md5($boinc_user->cross_project_id . $account->mail); |
|
342 | + $account->boincuser_default_pref_set = $boinc_user->venue; |
|
343 | + $account->boincteam_id = $boinc_user->teamid; |
|
344 | + $account->boincuser_previous_email_addr = $boinc_user->previous_email_addr; |
|
345 | + $account->boincuser_email_addr_change_time = $boinc_user->email_addr_change_time; |
|
346 | + db_set_active('default'); |
|
347 | + // Set Drupal team ID |
|
348 | + $account->team = NULL; |
|
349 | + if ($account->boincteam_id) { |
|
350 | 350 | $account->team = db_result(db_query(" |
351 | 351 | SELECT nid FROM {boincteam} WHERE team_id = %d", |
352 | - $account->boincteam_id |
|
352 | + $account->boincteam_id |
|
353 | 353 | )); |
354 | - } |
|
355 | - // Set post count |
|
356 | - $account->post_count = db_result(db_query(" |
|
354 | + } |
|
355 | + // Set post count |
|
356 | + $account->post_count = db_result(db_query(" |
|
357 | 357 | SELECT COUNT(*) + |
358 | 358 | ( |
359 | 359 | SELECT COUNT(*) FROM {node} |
@@ -366,8 +366,8 @@ discard block |
||
366 | 366 | WHERE comments.uid = '%d' |
367 | 367 | AND node.status = 1", |
368 | 368 | $account->uid, $account->uid |
369 | - )); |
|
370 | - break; |
|
369 | + )); |
|
370 | + break; |
|
371 | 371 | |
372 | 372 | case 'view': |
373 | 373 | // SAMPLE: Add BOINC data to the user profile |
@@ -393,74 +393,74 @@ discard block |
||
393 | 393 | case 'user_account': |
394 | 394 | // Validate data before updating user account info |
395 | 395 | boincuser_account_validate($edit, $account); |
396 | - break; |
|
396 | + break; |
|
397 | 397 | |
398 | 398 | default: |
399 | 399 | |
400 | 400 | } |
401 | 401 | // We don't want to save validation source, so remove it |
402 | 402 | $edit['validation_source'] = null; |
403 | - } |
|
404 | - break; |
|
403 | + } |
|
404 | + break; |
|
405 | 405 | |
406 | 406 | case 'insert': |
407 | 407 | // New user being added to the system |
408 | 408 | $imported = $_SESSION['importedUser']; |
409 | - unset($_SESSION['importedUser']); |
|
409 | + unset($_SESSION['importedUser']); |
|
410 | 410 | |
411 | - watchdog( |
|
411 | + watchdog( |
|
412 | 412 | 'boincuser', |
413 | 413 | 'Creating user account for %email_addr', |
414 | 414 | array('%email_addr' => $edit['mail']), |
415 | 415 | WATCHDOG_NOTICE |
416 | - ); |
|
416 | + ); |
|
417 | 417 | |
418 | - // The create_acount RPC will call this block of code when |
|
419 | - // user_save() is used. If user is registering using the Web |
|
420 | - // registration form, create a BOINC user and relationships. |
|
421 | - // Create a BOINC account unless importing from BOINC. |
|
422 | - if (!$imported) { |
|
418 | + // The create_acount RPC will call this block of code when |
|
419 | + // user_save() is used. If user is registering using the Web |
|
420 | + // registration form, create a BOINC user and relationships. |
|
421 | + // Create a BOINC account unless importing from BOINC. |
|
422 | + if (!$imported) { |
|
423 | 423 | |
424 | 424 | // set email address lower-case |
425 | 425 | $lower_email_addr = strtolower($edit['mail']); |
426 | 426 | |
427 | 427 | if ($edit['boincuser_name']) { |
428 | - $myname = $edit['boincuser_name']; |
|
428 | + $myname = $edit['boincuser_name']; |
|
429 | 429 | } |
430 | 430 | else if ($edit['name']) { |
431 | - $myname = $edit['name']; |
|
431 | + $myname = $edit['name']; |
|
432 | 432 | } |
433 | 433 | else { |
434 | - $myname = 'noname'; |
|
434 | + $myname = 'noname'; |
|
435 | 435 | } |
436 | 436 | |
437 | 437 | $user_params = array( |
438 | - 'email_addr' => $lower_email_addr, |
|
439 | - 'name' => $myname, |
|
438 | + 'email_addr' => $lower_email_addr, |
|
439 | + 'name' => $myname, |
|
440 | 440 | ); |
441 | 441 | |
442 | 442 | // If the 'pass' variable is already a hash, then don't hash it again. |
443 | 443 | if ($edit['boinchash_flag']) { |
444 | - $user_params['passwd_hash'] = $edit['pass']; |
|
444 | + $user_params['passwd_hash'] = $edit['pass']; |
|
445 | 445 | } |
446 | 446 | else { |
447 | - // The passwd_hash here is only the md5() hash. This is |
|
448 | - // because BOINC make_user(), called later, will run |
|
449 | - // password_hash() on this md5 hash. |
|
450 | - $user_params['passwd_hash'] = md5($edit['pass'].$lower_email_addr); |
|
447 | + // The passwd_hash here is only the md5() hash. This is |
|
448 | + // because BOINC make_user(), called later, will run |
|
449 | + // password_hash() on this md5 hash. |
|
450 | + $user_params['passwd_hash'] = md5($edit['pass'].$lower_email_addr); |
|
451 | 451 | } |
452 | 452 | |
453 | 453 | $boinc_user = boincuser_register_make_user($user_params); |
454 | 454 | if (!$boinc_user) { |
455 | - // Account exists with this email addr |
|
456 | - form_set_error('email', bts('Error creating BOINC account.', array(), NULL, 'boinc:add-new-user')); |
|
457 | - return; |
|
455 | + // Account exists with this email addr |
|
456 | + form_set_error('email', bts('Error creating BOINC account.', array(), NULL, 'boinc:add-new-user')); |
|
457 | + return; |
|
458 | 458 | } |
459 | 459 | |
460 | 460 | // Add user to community role by default (not banned) |
461 | 461 | $unrestricted_role = array_search('community member', user_roles(true)); |
462 | 462 | $edit['roles'] = array( |
463 | - $unrestricted_role => '' |
|
463 | + $unrestricted_role => '' |
|
464 | 464 | ); |
465 | 465 | |
466 | 466 | // Disable show_hosts flag, set to TRUE by default |
@@ -471,14 +471,14 @@ discard block |
||
471 | 471 | // Cross reference Drupal account with BOINC |
472 | 472 | $reference = db_query("INSERT INTO {boincuser} SET uid='%d', boinc_id='%d'", $account->uid, $boinc_user->id); |
473 | 473 | if (!$reference) { |
474 | - drupal_set_message(t('Error connecting BOINC account.'), 'error'); |
|
475 | - return; |
|
474 | + drupal_set_message(t('Error connecting BOINC account.'), 'error'); |
|
475 | + return; |
|
476 | 476 | } |
477 | 477 | |
478 | 478 | // if terms of use exist, the user must agree. |
479 | 479 | $termsofuse = variable_get('boinc_weboptions_termsofuse', ''); |
480 | 480 | if (!empty($termsofuse)) { |
481 | - $reference2 = boincuser_consentto_termsofuse($account); |
|
481 | + $reference2 = boincuser_consentto_termsofuse($account); |
|
482 | 482 | } |
483 | 483 | |
484 | 484 | // Don't save custom fields to the Drupal user object |
@@ -486,10 +486,10 @@ discard block |
||
486 | 486 | $edit['boinchash_flag'] = null; |
487 | 487 | // Set email address to lower case in Drupal users table |
488 | 488 | if ($account) { |
489 | - user_save($account, array('mail' => $lower_email_addr)); |
|
489 | + user_save($account, array('mail' => $lower_email_addr)); |
|
490 | 490 | } |
491 | - } |
|
492 | - break; |
|
491 | + } |
|
492 | + break; |
|
493 | 493 | |
494 | 494 | case 'update': |
495 | 495 | if (isset($edit['update_source'])) { |
@@ -500,8 +500,8 @@ discard block |
||
500 | 500 | // Ensure that BOINC data is altered |
501 | 501 | |
502 | 502 | $changing_email = ($edit['mail'] AND $edit['mail'] != $boinc_user->email_addr) ? true : false; |
503 | - $changing_pass = ($edit['pass']) ? true : false; |
|
504 | - if ($changing_email OR $changing_pass) { |
|
503 | + $changing_pass = ($edit['pass']) ? true : false; |
|
504 | + if ($changing_email OR $changing_pass) { |
|
505 | 505 | // set email address to lower-case |
506 | 506 | $lower_email_addr = strtolower($edit['mail']); |
507 | 507 | |
@@ -510,70 +510,70 @@ discard block |
||
510 | 510 | $passwd_hash = password_hash( md5($passwd.$lower_email_addr), PASSWORD_DEFAULT ); |
511 | 511 | // Algorithm for changing email and/or password |
512 | 512 | if ($changing_email) { |
513 | - // locally store current email to set as previous email |
|
514 | - $prev_email = $account->mail; |
|
515 | - $mytime = (user_access('administer users')) ? $boinc_user->email_addr_change_time : time(); |
|
516 | - $querypart = "email_addr='{$lower_email_addr}', passwd_hash='{$passwd_hash}', previous_email_addr = '{$prev_email}', email_addr_change_time = $mytime"; |
|
513 | + // locally store current email to set as previous email |
|
514 | + $prev_email = $account->mail; |
|
515 | + $mytime = (user_access('administer users')) ? $boinc_user->email_addr_change_time : time(); |
|
516 | + $querypart = "email_addr='{$lower_email_addr}', passwd_hash='{$passwd_hash}', previous_email_addr = '{$prev_email}', email_addr_change_time = $mytime"; |
|
517 | 517 | } |
518 | 518 | else { |
519 | - $querypart = "email_addr='{$lower_email_addr}', passwd_hash='{$passwd_hash}'"; |
|
519 | + $querypart = "email_addr='{$lower_email_addr}', passwd_hash='{$passwd_hash}'"; |
|
520 | 520 | } |
521 | 521 | |
522 | 522 | // Update user account information |
523 | 523 | $result = $boinc_user->update($querypart); |
524 | 524 | |
525 | 525 | if ($changing_email) { |
526 | - // reload account |
|
527 | - $account = user_load($account->uid); |
|
528 | - _boincuser_send_emailchange($account, $lower_email_addr, $prev_email, user_access('administer users')); |
|
526 | + // reload account |
|
527 | + $account = user_load($account->uid); |
|
528 | + _boincuser_send_emailchange($account, $lower_email_addr, $prev_email, user_access('administer users')); |
|
529 | 529 | } |
530 | 530 | |
531 | 531 | // Change email to edit to lower-case version, this sets |
532 | 532 | // email in Drupal database to the lower-case email |
533 | 533 | // address. |
534 | 534 | $edit['mail'] = strtolower($lower_email_addr); |
535 | - } |
|
535 | + } |
|
536 | 536 | |
537 | - // Change boinc username |
|
538 | - if ($edit['boincuser_name'] and ($edit['boincuser_name'] != $boinc_user->name)) { |
|
537 | + // Change boinc username |
|
538 | + if ($edit['boincuser_name'] and ($edit['boincuser_name'] != $boinc_user->name)) { |
|
539 | 539 | $boincuser_name = $edit['boincuser_name']; |
540 | 540 | $result = $boinc_user->update( |
541 | 541 | "name='{$boincuser_name}'" |
542 | 542 | ); |
543 | - } |
|
543 | + } |
|
544 | 544 | |
545 | - break; |
|
545 | + break; |
|
546 | 546 | case 'user_profile': |
547 | 547 | if ($edit['boincuser_name'] != $boinc_user->name) { |
548 | 548 | $boincuser_name = $edit['boincuser_name']; |
549 | 549 | $result = $boinc_user->update( |
550 | 550 | "name='{$boincuser_name}'" |
551 | 551 | ); |
552 | - } |
|
553 | - break; |
|
552 | + } |
|
553 | + break; |
|
554 | 554 | default: |
555 | 555 | } |
556 | 556 | // We don't want to save update source or duplicate custom fields, so |
557 | 557 | // remove them before continuing to core Drupal routines |
558 | 558 | $edit['update_source'] = null; |
559 | 559 | $edit['boincuser_name'] = null; |
560 | - } |
|
561 | - break; |
|
560 | + } |
|
561 | + break; |
|
562 | 562 | |
563 | 563 | case 'login': |
564 | 564 | // Function is forward compatible to Drupal 7 |
565 | 565 | boincuser_user_login($edit, $account); |
566 | - break; |
|
566 | + break; |
|
567 | 567 | |
568 | 568 | case 'delete': |
569 | 569 | // Function is forward compatible to Drupal 7 |
570 | 570 | boincuser_user_delete($account); |
571 | - break; |
|
571 | + break; |
|
572 | 572 | |
573 | 573 | default: |
574 | 574 | |
575 | 575 | } |
576 | - } |
|
576 | + } |
|
577 | 577 | } |
578 | 578 | |
579 | 579 | /** |
@@ -582,39 +582,39 @@ discard block |
||
582 | 582 | *(forward compatible to Drupal 7). |
583 | 583 | */ |
584 | 584 | function boincuser_user_login(&$edit, $account) { |
585 | - $existinguser_tou = variable_get('boinc_weboptions_existinguser_tou', FALSE); |
|
586 | - $termsofuse = variable_get('boinc_weboptions_termsofuse', ''); |
|
587 | - |
|
588 | - // Use the same code as boincuser_form_alter(), for case |
|
589 | - // 'user_profile_form', if the refering page is the user password |
|
590 | - // reset form, then do not check for terms of use. |
|
591 | - $reset_pass = (strpos($_SERVER['HTTP_REFERER'], "/user/reset/$account->uid") === FALSE) ? 0 : 1; |
|
592 | - if ($reset_pass) { |
|
585 | + $existinguser_tou = variable_get('boinc_weboptions_existinguser_tou', FALSE); |
|
586 | + $termsofuse = variable_get('boinc_weboptions_termsofuse', ''); |
|
587 | + |
|
588 | + // Use the same code as boincuser_form_alter(), for case |
|
589 | + // 'user_profile_form', if the refering page is the user password |
|
590 | + // reset form, then do not check for terms of use. |
|
591 | + $reset_pass = (strpos($_SERVER['HTTP_REFERER'], "/user/reset/$account->uid") === FALSE) ? 0 : 1; |
|
592 | + if ($reset_pass) { |
|
593 | 593 | return; |
594 | - } |
|
594 | + } |
|
595 | 595 | |
596 | - // Check if user has agreed to terms of use. |
|
597 | - if ( (!empty($termsofuse)) and ($account->uid) and |
|
596 | + // Check if user has agreed to terms of use. |
|
597 | + if ( (!empty($termsofuse)) and ($account->uid) and |
|
598 | 598 | (!boincuser_check_termsofuse($account)) and ($existinguser_tou) ) { |
599 | 599 | |
600 | 600 | // Admins are exempted. |
601 | 601 | $administrator_role = array_search('administrator', user_roles(true)); |
602 | 602 | if (!isset($account->roles[$administrator_role])) { |
603 | 603 | |
604 | - // Find and save the current destination and use as an parameter |
|
605 | - // to send the user back to here he/she came from. |
|
606 | - $np = ltrim('user/termsofuse', '/'); |
|
607 | - $path_for_destination = rawurlencode($np); |
|
604 | + // Find and save the current destination and use as an parameter |
|
605 | + // to send the user back to here he/she came from. |
|
606 | + $np = ltrim('user/termsofuse', '/'); |
|
607 | + $path_for_destination = rawurlencode($np); |
|
608 | 608 | |
609 | - $query_for_destination = ''; |
|
610 | - $prevdest = $_REQUEST['destination']; |
|
611 | - if ($prevdest) { |
|
609 | + $query_for_destination = ''; |
|
610 | + $prevdest = $_REQUEST['destination']; |
|
611 | + if ($prevdest) { |
|
612 | 612 | $query_for_destination = '?destination=' . $prevdest; |
613 | - } |
|
614 | - $_REQUEST['destination'] = $path_for_destination . $query_for_destination; |
|
613 | + } |
|
614 | + $_REQUEST['destination'] = $path_for_destination . $query_for_destination; |
|
615 | 615 | |
616 | 616 | } |
617 | - } |
|
617 | + } |
|
618 | 618 | } |
619 | 619 | |
620 | 620 | /** |
@@ -623,16 +623,16 @@ discard block |
||
623 | 623 | */ |
624 | 624 | function boincuser_user_delete($account) { |
625 | 625 | |
626 | - $boincid = $account->boincuser_id; |
|
627 | - // bug in comment module, remove user name from comments. Find all |
|
628 | - // comments with uid=0 and clear the field 'name'. |
|
629 | - $qrc1 = db_query("UPDATE {comments} SET comments.name='' WHERE comments.uid=0"); |
|
626 | + $boincid = $account->boincuser_id; |
|
627 | + // bug in comment module, remove user name from comments. Find all |
|
628 | + // comments with uid=0 and clear the field 'name'. |
|
629 | + $qrc1 = db_query("UPDATE {comments} SET comments.name='' WHERE comments.uid=0"); |
|
630 | 630 | |
631 | - // Delete entry in drupal boincuser table. |
|
632 | - $qrc2 = db_query("DELETE FROM {boincuser} WHERE uid=%d", $account->uid); |
|
633 | - if (!$qrc2) { |
|
631 | + // Delete entry in drupal boincuser table. |
|
632 | + $qrc2 = db_query("DELETE FROM {boincuser} WHERE uid=%d", $account->uid); |
|
633 | + if (!$qrc2) { |
|
634 | 634 | watchdog('user', 'Error deleting user account, boincuser table UID: %uid.', array('%uid' => $account->uid), WATCHDOG_ERROR); |
635 | - } |
|
635 | + } |
|
636 | 636 | } |
637 | 637 | |
638 | 638 | |
@@ -641,13 +641,13 @@ discard block |
||
641 | 641 | * Obsolete in Drupal 7... |
642 | 642 | */ |
643 | 643 | function boincuser_nodeapi(&$node, $op, $a3 = null, $a4 = null) { |
644 | - // In Drupal 7, these operation cases will all exist as their own hooks, |
|
645 | - // so let's approximate that here so that this function can simply be removed |
|
646 | - // upon migration to 7 |
|
647 | - switch($op) { |
|
648 | - case 'update': |
|
644 | + // In Drupal 7, these operation cases will all exist as their own hooks, |
|
645 | + // so let's approximate that here so that this function can simply be removed |
|
646 | + // upon migration to 7 |
|
647 | + switch($op) { |
|
648 | + case 'update': |
|
649 | 649 | boincuser_node_update($node); |
650 | - } |
|
650 | + } |
|
651 | 651 | } |
652 | 652 | |
653 | 653 | /** |
@@ -655,8 +655,8 @@ discard block |
||
655 | 655 | * is updated (forward compatible to Drupal 7) |
656 | 656 | */ |
657 | 657 | function boincuser_node_update($node) { |
658 | - switch($node->type) { |
|
659 | - case 'profile': |
|
658 | + switch($node->type) { |
|
659 | + case 'profile': |
|
660 | 660 | // Update the BOINC database directly |
661 | 661 | $account = user_load($node->uid); |
662 | 662 | // Save user account data |
@@ -668,11 +668,11 @@ discard block |
||
668 | 668 | UPDATE user |
669 | 669 | SET country = '%s', postal_code = '%s', url = '%s', has_profile = 1 |
670 | 670 | WHERE id = %d", |
671 | - $country, $postal_code, $url, $account->boincuser_id |
|
671 | + $country, $postal_code, $url, $account->boincuser_id |
|
672 | 672 | ); |
673 | 673 | db_set_active('default'); |
674 | 674 | if (!$account_updated) { |
675 | - drupal_set_message(t('Error saving BOINC account info.'), 'error'); |
|
675 | + drupal_set_message(t('Error saving BOINC account info.'), 'error'); |
|
676 | 676 | } |
677 | 677 | // Save profile data |
678 | 678 | $response1 = $node->field_background[0]['value']; |
@@ -683,16 +683,16 @@ discard block |
||
683 | 683 | SET userid = %d, response1 = '%s', response2 = '%s' |
684 | 684 | ON DUPLICATE KEY UPDATE |
685 | 685 | response1 = '%s', response2 = '%s'", |
686 | - $account->boincuser_id, $response1, $response2, |
|
687 | - $response1, $response2 |
|
686 | + $account->boincuser_id, $response1, $response2, |
|
687 | + $response1, $response2 |
|
688 | 688 | ); |
689 | 689 | db_set_active('default'); |
690 | 690 | if (!$profile_updated) { |
691 | - drupal_set_message(t('Error saving BOINC profile.'), 'error'); |
|
691 | + drupal_set_message(t('Error saving BOINC profile.'), 'error'); |
|
692 | 692 | } |
693 | 693 | break; |
694 | 694 | |
695 | - default: |
|
695 | + default: |
|
696 | 696 | |
697 | 697 | } |
698 | 698 | } |
@@ -701,21 +701,21 @@ discard block |
||
701 | 701 | * Implementation of hook_views_api() |
702 | 702 | */ |
703 | 703 | function boincuser_views_api() { |
704 | - return array( |
|
704 | + return array( |
|
705 | 705 | 'api' => 2.0, |
706 | 706 | 'path' => drupal_get_path('module', 'boincuser') |
707 | - ); |
|
707 | + ); |
|
708 | 708 | } |
709 | 709 | |
710 | 710 | /** |
711 | 711 | * Implementation of hook_form_alter() |
712 | 712 | */ |
713 | 713 | function boincuser_form_alter(&$form, $form_state, $form_id) { |
714 | - require_boinc('token'); |
|
714 | + require_boinc('token'); |
|
715 | 715 | |
716 | - global $user; |
|
717 | - switch ($form_id) { |
|
718 | - case 'flag_confirm': |
|
716 | + global $user; |
|
717 | + switch ($form_id) { |
|
718 | + case 'flag_confirm': |
|
719 | 719 | // The URL seems to be the only way to put any kind of context to this |
720 | 720 | // request! |
721 | 721 | $action = arg(2); |
@@ -724,25 +724,25 @@ discard block |
||
724 | 724 | |
725 | 725 | // Wrap action buttons for styling consistency |
726 | 726 | $form['form control tabs prefix'] = array( |
727 | - '#value' => '<ul class="form-control tab-list">', |
|
728 | - '#weight' => 1001, |
|
727 | + '#value' => '<ul class="form-control tab-list">', |
|
728 | + '#weight' => 1001, |
|
729 | 729 | ); |
730 | 730 | |
731 | 731 | switch ($flag_type) { |
732 | 732 | case 'friend': |
733 | 733 | $friend_id = $form['content_id']['#value']; |
734 | - $flag = flag_get_flag('friend'); |
|
735 | - $friend_status = flag_friend_determine_friend_status($flag, $friend_id, $user->uid); |
|
734 | + $flag = flag_get_flag('friend'); |
|
735 | + $friend_status = flag_friend_determine_friend_status($flag, $friend_id, $user->uid); |
|
736 | 736 | |
737 | - // General friend form overrides |
|
738 | - $form['flag_friend_submit']['#prefix'] = '<li class="first tab">'; |
|
739 | - $form['flag_friend_submit']['#value'] = bts('Send request', array(), NULL, 'boinc:friends-page'); |
|
740 | - $form['flag_friend_submit']['#type'] = 'submit'; |
|
741 | - $form['flag_friend_submit']['#suffix'] = '</li>'; |
|
742 | - $form['flag_friend_submit']['#weight'] = 1002; |
|
737 | + // General friend form overrides |
|
738 | + $form['flag_friend_submit']['#prefix'] = '<li class="first tab">'; |
|
739 | + $form['flag_friend_submit']['#value'] = bts('Send request', array(), NULL, 'boinc:friends-page'); |
|
740 | + $form['flag_friend_submit']['#type'] = 'submit'; |
|
741 | + $form['flag_friend_submit']['#suffix'] = '</li>'; |
|
742 | + $form['flag_friend_submit']['#weight'] = 1002; |
|
743 | 743 | |
744 | - switch ($friend_status) { |
|
745 | - case FLAG_FRIEND_BOTH: |
|
744 | + switch ($friend_status) { |
|
745 | + case FLAG_FRIEND_BOTH: |
|
746 | 746 | case FLAG_FRIEND_FLAGGED: |
747 | 747 | unset($form['actions']); |
748 | 748 | $form['flag_friend_submit']['#value'] = bts('Remove friend', array(), NULL, 'boinc:friends-remove'); |
@@ -751,53 +751,53 @@ discard block |
||
751 | 751 | $form['#submit'][] = 'boincuser_fix_unfriend_form_submit'; |
752 | 752 | $form['#submit'][] = $final_handler; |
753 | 753 | break; |
754 | - case FLAG_FRIEND_PENDING: |
|
754 | + case FLAG_FRIEND_PENDING: |
|
755 | 755 | unset($form['actions']); |
756 | 756 | $form['flag_friend_submit']['#value'] = bts('Remove request', array(), NULL, 'boinc:friends-page'); |
757 | 757 | break; |
758 | - case FLAG_FRIEND_APPROVAL: |
|
758 | + case FLAG_FRIEND_APPROVAL: |
|
759 | 759 | if ($action == 'flag') { |
760 | - $form['flag_friend_submit']['#value'] = bts('Approve request', array(), NULL, 'boinc:friends-page'); |
|
760 | + $form['flag_friend_submit']['#value'] = bts('Approve request', array(), NULL, 'boinc:friends-page'); |
|
761 | 761 | } |
762 | 762 | elseif ($action == 'unflag') { |
763 | - unset($form['actions']); |
|
764 | - $form['flag_friend_submit']['#value'] = bts('Deny request', array(), NULL, 'boinc:friends-page'); |
|
763 | + unset($form['actions']); |
|
764 | + $form['flag_friend_submit']['#value'] = bts('Deny request', array(), NULL, 'boinc:friends-page'); |
|
765 | 765 | } |
766 | 766 | break; |
767 | - case FLAG_FRIEND_UNFLAGGED: |
|
767 | + case FLAG_FRIEND_UNFLAGGED: |
|
768 | 768 | default: |
769 | 769 | $user_links[] = array( |
770 | - 'title' => bts('Add as friend', array(), NULL, 'boinc:friends-add'), |
|
771 | - 'href' => "flag/confirm/flag/friend/{$account->uid}" |
|
770 | + 'title' => bts('Add as friend', array(), NULL, 'boinc:friends-add'), |
|
771 | + 'href' => "flag/confirm/flag/friend/{$account->uid}" |
|
772 | 772 | ); |
773 | - } |
|
774 | - break; |
|
773 | + } |
|
774 | + break; |
|
775 | 775 | |
776 | 776 | default: |
777 | 777 | } |
778 | 778 | |
779 | 779 | $form['cancel'] = array( |
780 | - '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), $cancel_dest) . '</li>', |
|
781 | - '#weight' => 1004, |
|
780 | + '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), $cancel_dest) . '</li>', |
|
781 | + '#weight' => 1004, |
|
782 | 782 | ); |
783 | 783 | $form['form control tabs suffix'] = array( |
784 | - '#value' => '</ul>', |
|
785 | - '#weight' => 1010, |
|
784 | + '#value' => '</ul>', |
|
785 | + '#weight' => 1010, |
|
786 | 786 | ); |
787 | 787 | |
788 | 788 | break; |
789 | 789 | |
790 | - // General node edit form |
|
791 | - case 'news_node_form': |
|
790 | + // General node edit form |
|
791 | + case 'news_node_form': |
|
792 | 792 | $form['separator_bottom'] = array( |
793 | - '#value' => '<div class="separator buttons"></div>', |
|
794 | - '#weight' => 999, |
|
793 | + '#value' => '<div class="separator buttons"></div>', |
|
794 | + '#weight' => 999, |
|
795 | 795 | ); |
796 | 796 | |
797 | 797 | // Wrap action buttons for styling consistency |
798 | 798 | $form['buttons']['form control tabs prefix'] = array( |
799 | - '#value' => '<ul class="form-control tab-list">', |
|
800 | - '#weight' => 1001, |
|
799 | + '#value' => '<ul class="form-control tab-list">', |
|
800 | + '#weight' => 1001, |
|
801 | 801 | ); |
802 | 802 | $form['buttons']['submit']['#prefix'] = '<li class="first tab">'; |
803 | 803 | $form['buttons']['submit']['#value'] = bts('Save changes', array(), NULL, 'boinc:form-save'); |
@@ -810,15 +810,15 @@ discard block |
||
810 | 810 | $form['buttons']['preview_changes']['#suffix'] = '</li>'; |
811 | 811 | $form['buttons']['preview_changes']['#weight'] = 1004; |
812 | 812 | $form['buttons']['cancel'] = array( |
813 | - '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), "node/{$form['nid']['#value']}") . '</li>', |
|
814 | - '#weight' => 1005, |
|
813 | + '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), "node/{$form['nid']['#value']}") . '</li>', |
|
814 | + '#weight' => 1005, |
|
815 | 815 | ); |
816 | 816 | $form['buttons']['delete']['#prefix'] = '<li class="tab">'; |
817 | 817 | $form['buttons']['delete']['#suffix'] = '</li>'; |
818 | 818 | $form['buttons']['delete']['#weight'] = 1006; |
819 | 819 | $form['buttons']['form control tabs suffix'] = array( |
820 | - '#value' => '</ul>', |
|
821 | - '#weight' => 1010, |
|
820 | + '#value' => '</ul>', |
|
821 | + '#weight' => 1010, |
|
822 | 822 | ); |
823 | 823 | |
824 | 824 | // Preview is ugly, unset until it works |
@@ -826,16 +826,16 @@ discard block |
||
826 | 826 | |
827 | 827 | break; |
828 | 828 | |
829 | - case 'node_delete_confirm': |
|
829 | + case 'node_delete_confirm': |
|
830 | 830 | $form['separator_bottom'] = array( |
831 | - '#value' => '<div class="separator buttons"></div>', |
|
832 | - '#weight' => 999, |
|
831 | + '#value' => '<div class="separator buttons"></div>', |
|
832 | + '#weight' => 999, |
|
833 | 833 | ); |
834 | 834 | |
835 | 835 | // Wrap action buttons for styling consistency |
836 | 836 | $form['actions']['form control tabs prefix'] = array( |
837 | - '#value' => '<ul class="form-control tab-list">', |
|
838 | - '#weight' => 1001, |
|
837 | + '#value' => '<ul class="form-control tab-list">', |
|
838 | + '#weight' => 1001, |
|
839 | 839 | ); |
840 | 840 | $form['actions']['submit']['#prefix'] = '<li class="first tab">'; |
841 | 841 | $form['actions']['submit']['#value'] = bts('Delete', array(), NULL, 'boinc:form-delete'); |
@@ -843,23 +843,23 @@ discard block |
||
843 | 843 | $form['actions']['submit']['#weight'] = 1002; |
844 | 844 | $form['actions']['cancel'] = array( |
845 | 845 | '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), "node/{$form['nid']['#value']}") . '</li>', |
846 | - '#weight' => 1005, |
|
846 | + '#weight' => 1005, |
|
847 | 847 | ); |
848 | 848 | $form['actions']['form control tabs suffix'] = array( |
849 | - '#value' => '</ul>', |
|
850 | - '#weight' => 1010, |
|
849 | + '#value' => '</ul>', |
|
850 | + '#weight' => 1010, |
|
851 | 851 | ); |
852 | 852 | $form['#redirect'] = 'account/profile'; |
853 | 853 | break; |
854 | 854 | |
855 | - case 'privatemsg_new': |
|
855 | + case 'privatemsg_new': |
|
856 | 856 | |
857 | 857 | $form['privatemsg']['body']['#title'] = ''; |
858 | 858 | |
859 | 859 | // Wrap action buttons for styling consistency |
860 | 860 | $form['privatemsg']['form control tabs prefix'] = array( |
861 | - '#value' => '<ul class="form-control tab-list">', |
|
862 | - '#weight' => 1001, |
|
861 | + '#value' => '<ul class="form-control tab-list">', |
|
862 | + '#weight' => 1001, |
|
863 | 863 | ); |
864 | 864 | $form['privatemsg']['submit']['#prefix'] = '<li class="first tab">'; |
865 | 865 | $form['privatemsg']['submit']['#value'] = bts('Send message', array(), NULL, 'boinc:private-message'); |
@@ -869,26 +869,26 @@ discard block |
||
869 | 869 | $form['privatemsg']['preview']['#suffix'] = '</li>'; |
870 | 870 | $form['privatemsg']['preview']['#weight'] = 1003; |
871 | 871 | $form['privatemsg']['cancel'] = array( |
872 | - '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), $_GET['q']) . '</li>', |
|
873 | - '#weight' => 1004, |
|
872 | + '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), $_GET['q']) . '</li>', |
|
873 | + '#weight' => 1004, |
|
874 | 874 | ); |
875 | 875 | $form['privatemsg']['form control tabs suffix'] = array( |
876 | - '#value' => '</ul>', |
|
877 | - '#weight' => 1010, |
|
876 | + '#value' => '</ul>', |
|
877 | + '#weight' => 1010, |
|
878 | 878 | ); |
879 | 879 | |
880 | 880 | unset($form['privatemsg']['recipient_display']); |
881 | 881 | |
882 | 882 | break; |
883 | 883 | |
884 | - // Login form |
|
885 | - case 'user_login': |
|
884 | + // Login form |
|
885 | + case 'user_login': |
|
886 | 886 | case 'user_login_block': |
887 | 887 | drupal_set_title(bts('Login', array(), NULL, 'boinc:menu-link')); |
888 | 888 | // Replace name with email in login form |
889 | 889 | unset($form['name']); |
890 | 890 | array_unshift($form, array( |
891 | - 'email' => array( |
|
891 | + 'email' => array( |
|
892 | 892 | '#type' => 'textfield', |
893 | 893 | '#title' => bts('Email address', array(), NULL, 'boinc:email-address-to-login'), |
894 | 894 | '#size' => ($form_id == 'user_login_block') ? 15 : 60, |
@@ -896,18 +896,18 @@ discard block |
||
896 | 896 | '#required' => TRUE, |
897 | 897 | '#attributes' => array('tabindex' => '1'), |
898 | 898 | '#description' => bts('Enter your @s email address.', array('@s' => variable_get('site_name', 'Drupal-BOINC')), NULL, 'boinc:standard-login-page') |
899 | - ), |
|
900 | - 'validation_source' => array( |
|
899 | + ), |
|
900 | + 'validation_source' => array( |
|
901 | 901 | '#type' => 'hidden', |
902 | 902 | '#value' => 'user_login' |
903 | - ) |
|
903 | + ) |
|
904 | 904 | )); |
905 | 905 | $form['#redirect'] = 'home'; |
906 | 906 | |
907 | 907 | // Wrap action buttons for styling consistency |
908 | 908 | $form['buttons']['form control tabs prefix'] = array( |
909 | - '#value' => '<ul class="form-control tab-list">', |
|
910 | - '#weight' => 1001, |
|
909 | + '#value' => '<ul class="form-control tab-list">', |
|
910 | + '#weight' => 1001, |
|
911 | 911 | ); |
912 | 912 | $form['buttons']['submit'] = $form['submit']; |
913 | 913 | $form['buttons']['submit']['#prefix'] = '<li class="first tab">'; |
@@ -915,8 +915,8 @@ discard block |
||
915 | 915 | $form['buttons']['submit']['#suffix'] = '</li>'; |
916 | 916 | $form['buttons']['submit']['#weight'] = 1002; |
917 | 917 | $form['buttons']['form control tabs suffix'] = array( |
918 | - '#value' => '</ul>', |
|
919 | - '#weight' => 1010, |
|
918 | + '#value' => '</ul>', |
|
919 | + '#weight' => 1010, |
|
920 | 920 | ); |
921 | 921 | unset($form['submit']); |
922 | 922 | |
@@ -925,23 +925,23 @@ discard block |
||
925 | 925 | isset($form['buttons']['submit']['#attributes']) ? array_push($form['buttons']['submit']['#attributes'], array('tabindex' => '3')) : $form['buttons']['submit']['#attributes'] = array('tabindex' => '3'); |
926 | 926 | // If the user login form is being submitted, use BOINC validation handler. |
927 | 927 | if (isset($form_state['post']['email']) and isset($form_state['post']['pass'])) { |
928 | - // Find the local validation function's entry so we can replace it. |
|
929 | - $array_key = array_search('user_login_authenticate_validate', $form['#validate']); |
|
930 | - if ($array_key === FALSE) { |
|
928 | + // Find the local validation function's entry so we can replace it. |
|
929 | + $array_key = array_search('user_login_authenticate_validate', $form['#validate']); |
|
930 | + if ($array_key === FALSE) { |
|
931 | 931 | // Could not find it. Some other module must have run form_alter(). |
932 | 932 | // We will simply add our validation just before the final validator. |
933 | 933 | $final_validator = array_pop($form['#validate']); |
934 | 934 | $form['#validate'][] = 'boincuser_login_validate'; |
935 | 935 | $form['#validate'][] = $final_validator; |
936 | - } else { |
|
936 | + } else { |
|
937 | 937 | // Replace the local validation function with BOINC validation |
938 | 938 | $form['#validate'][$array_key] = 'boincuser_login_validate'; |
939 | - } |
|
939 | + } |
|
940 | 940 | } |
941 | 941 | break; |
942 | 942 | |
943 | - // User credentials form |
|
944 | - case 'user_profile_form': |
|
943 | + // User credentials form |
|
944 | + case 'user_profile_form': |
|
945 | 945 | |
946 | 946 | // Use the displaly name as the title, not the username |
947 | 947 | $account = user_load($form['#uid']); |
@@ -949,28 +949,28 @@ discard block |
||
949 | 949 | |
950 | 950 | // Message for admins |
951 | 951 | if (user_access('administer users')) { |
952 | - drupal_set_message( |
|
952 | + drupal_set_message( |
|
953 | 953 | bts('WARNING: You are editing the information for user. Please note: you may change a user\'s password by itself. But to change the user\'s email address you must change both the email address and the password simultaneously.') |
954 | - , 'warning'); |
|
954 | + , 'warning'); |
|
955 | 955 | } |
956 | 956 | |
957 | 957 | // Set special message if user has not agreed to TOU |
958 | 958 | $existinguser_tou = variable_get('boinc_weboptions_existinguser_tou', FALSE); |
959 | 959 | $termsofuse = variable_get('boinc_weboptions_termsofuse', ''); |
960 | 960 | if ( (!boincuser_check_termsofuse($account)) and ($existinguser_tou) and (!empty($termsofuse)) and (!user_access('administer users')) ) { |
961 | - drupal_set_message( |
|
961 | + drupal_set_message( |
|
962 | 962 | bts('INFO: You have not agreed to the terms of use for @project. You may use this form to change your email address and/or password. Please note: you may not delete your account within seven (7) days of changing your email address.', |
963 | 963 | array( |
964 | - '@project' => variable_get('site_name','Drupal-BOINC'), |
|
964 | + '@project' => variable_get('site_name','Drupal-BOINC'), |
|
965 | 965 | ), NULL, 'boinc:account-credentials-change') |
966 | - , 'info'); |
|
966 | + , 'info'); |
|
967 | 967 | } |
968 | 968 | |
969 | 969 | // A bit hackish... but don't require the user to enter his password if |
970 | 970 | // coming from the password reset function |
971 | 971 | $reset_pass = (strpos($_SERVER['HTTP_REFERER'], "/user/reset/{$form['#uid']}") === FALSE) ? 0 : 1; |
972 | 972 | if ($reset_pass) { |
973 | - $_SESSION['reset_pass'] = 1; |
|
973 | + $_SESSION['reset_pass'] = 1; |
|
974 | 974 | } |
975 | 975 | |
976 | 976 | // Adjust form elements already present |
@@ -982,8 +982,8 @@ discard block |
||
982 | 982 | $form['account']['pass']['#size'] = 17; |
983 | 983 | |
984 | 984 | if (user_access('administer users')) { |
985 | - // Add BOINC username (aka displayname) |
|
986 | - $form['account']['boincuser_name'] = array( |
|
985 | + // Add BOINC username (aka displayname) |
|
986 | + $form['account']['boincuser_name'] = array( |
|
987 | 987 | '#type' => 'textfield', |
988 | 988 | '#title' => bts('BOINC Username', array(), NULL, 'boinc:user-or-team-name'), |
989 | 989 | '#default_value' => $account->boincuser_name, |
@@ -991,68 +991,68 @@ discard block |
||
991 | 991 | '#required' => TRUE, |
992 | 992 | '#description' => bts('This is the BOINC (external) username. This is the same setting as found in Account -> Preferences -> Community.', array(), NULL, 'boinc:username-change'), |
993 | 993 | '#size' => 40, |
994 | - ); |
|
994 | + ); |
|
995 | 995 | } |
996 | 996 | |
997 | 997 | // If email address was changed less than 7 days (7 * 86400 s) |
998 | 998 | // ago, it cannot be changed again. |
999 | 999 | $duration = TOKEN_DURATION_ONE_WEEK; |
1000 | 1000 | if (($account->boincuser_email_addr_change_time + $duration) > time() and (!user_access('administer users'))) { |
1001 | - $form['account']['mail']['#required'] = FALSE; |
|
1002 | - $form['account']['mailhelp'] = array( |
|
1001 | + $form['account']['mail']['#required'] = FALSE; |
|
1002 | + $form['account']['mailhelp'] = array( |
|
1003 | 1003 | '#value' => bts("You email address was changed within the past seven (7) days. Please look for an email to !prev_email if you need to revert this change. You may change your email address on !time.", |
1004 | - array( |
|
1004 | + array( |
|
1005 | 1005 | '!prev_email' => $account->boincuser_previous_email_addr, |
1006 | 1006 | '!time' => date('F j, Y \a\t G:i T', $account->boincuser_email_addr_change_time + $duration), |
1007 | - ), NULL, 'boinc:account-credentials-change'), |
|
1008 | - ); |
|
1007 | + ), NULL, 'boinc:account-credentials-change'), |
|
1008 | + ); |
|
1009 | 1009 | } |
1010 | 1010 | |
1011 | 1011 | if (!$reset_pass AND ($user->uid == $account->uid OR !user_access('administer users'))) { |
1012 | - // Add a password authenticator, required to change email or pw |
|
1013 | - $form['account']['current_pass'] = array( |
|
1012 | + // Add a password authenticator, required to change email or pw |
|
1013 | + $form['account']['current_pass'] = array( |
|
1014 | 1014 | '#type' => 'password', |
1015 | 1015 | '#title' => bts('Enter your password to save changes', array(), NULL, 'boinc:account-credentials-change'), |
1016 | 1016 | '#description' => bts('Enter your current password if changing your email |
1017 | 1017 | address or password.', array(), NULL, 'boinc:account-credentials-change'), |
1018 | 1018 | '#size' => 17, |
1019 | 1019 | '#attributes' => array( |
1020 | - 'autocomplete' => 'off', |
|
1020 | + 'autocomplete' => 'off', |
|
1021 | 1021 | ), |
1022 | - ); |
|
1022 | + ); |
|
1023 | 1023 | } |
1024 | 1024 | |
1025 | 1025 | // Add account keys, CPID, etc |
1026 | 1026 | $form['account']['boincuser_id'] = array( |
1027 | - '#value' => ' |
|
1027 | + '#value' => ' |
|
1028 | 1028 | <div class="form-item"> |
1029 | 1029 | <label>' . bts('BOINC user ID', array(), NULL, 'boinc:account-credentials-change') . '</label> |
1030 | 1030 | <span>' . $account->boincuser_id . '</span> |
1031 | 1031 | </div>', |
1032 | 1032 | ); |
1033 | 1033 | $form['account']['user_id'] = array( |
1034 | - '#value' => ' |
|
1034 | + '#value' => ' |
|
1035 | 1035 | <div class="form-item"> |
1036 | 1036 | <label>' . bts('Drupal user ID', array(), NULL, 'boinc:account-credentials-change') . '</label> |
1037 | 1037 | <span>' . $account->uid . '</span> |
1038 | 1038 | </div>', |
1039 | 1039 | ); |
1040 | 1040 | $form['account']['account_key'] = array( |
1041 | - '#value' => ' |
|
1041 | + '#value' => ' |
|
1042 | 1042 | <div class="form-item"> |
1043 | 1043 | <label>' . bts('Account key', array(), NULL, 'boinc:account-credentials-change') . '</label> |
1044 | 1044 | <span>' . $account->boincuser_account_key . '</span> |
1045 | 1045 | </div>', |
1046 | 1046 | ); |
1047 | 1047 | $form['account']['weak_account_key'] = array( |
1048 | - '#value' => ' |
|
1048 | + '#value' => ' |
|
1049 | 1049 | <div class="form-item"> |
1050 | 1050 | <label>' . bts('Weak account key', array(), NULL, 'boinc:account-credentials-change') . '</label> |
1051 | 1051 | <span>' . "{$account->boincuser_id}_{$account->boincuser_weak_auth}" . '</span> |
1052 | 1052 | </div>', |
1053 | 1053 | ); |
1054 | 1054 | $form['account']['cpid'] = array( |
1055 | - '#value' => ' |
|
1055 | + '#value' => ' |
|
1056 | 1056 | <div class="form-item"> |
1057 | 1057 | <label>' . bts('Cross-project ID', array(), NULL, 'boinc:account-credentials-change') . '</label> |
1058 | 1058 | <span>' . $account->boincuser_cpid . '</span> |
@@ -1060,30 +1060,30 @@ discard block |
||
1060 | 1060 | ); |
1061 | 1061 | |
1062 | 1062 | $form['account']['separator_bottom'] = array( |
1063 | - '#value' => '<div class="separator buttons"></div>' |
|
1063 | + '#value' => '<div class="separator buttons"></div>' |
|
1064 | 1064 | ); |
1065 | 1065 | |
1066 | 1066 | // Wrap action buttons for styling consistency |
1067 | 1067 | $form['form control tabs prefix'] = array( |
1068 | - '#value' => '<ul class="form-control tab-list">', |
|
1069 | - '#weight' => 1001, |
|
1068 | + '#value' => '<ul class="form-control tab-list">', |
|
1069 | + '#weight' => 1001, |
|
1070 | 1070 | ); |
1071 | 1071 | $form['submit']['#prefix'] = '<li class="first tab">'; |
1072 | 1072 | $form['submit']['#value'] = bts('Save changes', array(), NULL, 'boinc:form-save'); |
1073 | 1073 | $form['submit']['#suffix'] = '</li>'; |
1074 | 1074 | $form['submit']['#weight'] = 1002; |
1075 | 1075 | $form['cancel'] = array( |
1076 | - '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), $_GET['q']) . '</li>', |
|
1077 | - '#weight' => 1003, |
|
1076 | + '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), $_GET['q']) . '</li>', |
|
1077 | + '#weight' => 1003, |
|
1078 | 1078 | ); |
1079 | 1079 | if (isset($form['delete']) AND is_array($form['delete'])) { |
1080 | - $form['delete']['#prefix'] = '<li class="first alt tab">'; |
|
1081 | - $form['delete']['#suffix'] = '</li>'; |
|
1082 | - $form['delete']['#weight'] = 1004; |
|
1080 | + $form['delete']['#prefix'] = '<li class="first alt tab">'; |
|
1081 | + $form['delete']['#suffix'] = '</li>'; |
|
1082 | + $form['delete']['#weight'] = 1004; |
|
1083 | 1083 | } |
1084 | 1084 | $form['form control tabs suffix'] = array( |
1085 | - '#value' => '</ul>', |
|
1086 | - '#weight' => 1010, |
|
1085 | + '#value' => '</ul>', |
|
1086 | + '#weight' => 1010, |
|
1087 | 1087 | ); |
1088 | 1088 | |
1089 | 1089 | // Rearrange form elements |
@@ -1103,7 +1103,7 @@ discard block |
||
1103 | 1103 | // Remove redundant / unnecessary form elements |
1104 | 1104 | unset($form['theme_select']); |
1105 | 1105 | if (!module_exists('boincuser_delete')) { |
1106 | - unset($form['delete']); |
|
1106 | + unset($form['delete']); |
|
1107 | 1107 | } |
1108 | 1108 | |
1109 | 1109 | // These are on the Community preferences form (boincwork module) |
@@ -1119,18 +1119,18 @@ discard block |
||
1119 | 1119 | |
1120 | 1120 | // Internal fields to indicate where these user changes are taking place |
1121 | 1121 | array_unshift($form, array( |
1122 | - 'validation_source' => array( |
|
1122 | + 'validation_source' => array( |
|
1123 | 1123 | '#type' => 'hidden', |
1124 | 1124 | '#value' => 'user_account' |
1125 | - ), |
|
1126 | - 'update_source' => array( |
|
1125 | + ), |
|
1126 | + 'update_source' => array( |
|
1127 | 1127 | '#type' => 'hidden', |
1128 | 1128 | '#value' => 'user_account' |
1129 | - ) |
|
1129 | + ) |
|
1130 | 1130 | )); |
1131 | 1131 | break; |
1132 | 1132 | |
1133 | - case 'profile_node_form': |
|
1133 | + case 'profile_node_form': |
|
1134 | 1134 | |
1135 | 1135 | // Use the display name as the title, not the username |
1136 | 1136 | $account = user_load($form['uid']['#value']); |
@@ -1141,22 +1141,22 @@ discard block |
||
1141 | 1141 | $form['title']['#access'] = FALSE; |
1142 | 1142 | |
1143 | 1143 | $form['separator_bottom'] = array( |
1144 | - '#value' => '<div class="separator buttons"></div>', |
|
1145 | - '#weight' => 999, |
|
1144 | + '#value' => '<div class="separator buttons"></div>', |
|
1145 | + '#weight' => 999, |
|
1146 | 1146 | ); |
1147 | 1147 | |
1148 | 1148 | if (module_exists('captcha')) { |
1149 | - // Add an optional captcha |
|
1150 | - $form['profile_captcha'] = array( |
|
1149 | + // Add an optional captcha |
|
1150 | + $form['profile_captcha'] = array( |
|
1151 | 1151 | '#type' => 'captcha', |
1152 | 1152 | '#weight' => 1000, |
1153 | - ); |
|
1153 | + ); |
|
1154 | 1154 | } |
1155 | 1155 | |
1156 | 1156 | // Wrap action buttons for styling consistency |
1157 | 1157 | $form['buttons']['form control tabs prefix'] = array( |
1158 | - '#value' => '<ul class="form-control tab-list">', |
|
1159 | - '#weight' => 1001, |
|
1158 | + '#value' => '<ul class="form-control tab-list">', |
|
1159 | + '#weight' => 1001, |
|
1160 | 1160 | ); |
1161 | 1161 | $form['buttons']['submit']['#prefix'] = '<li class="first tab">'; |
1162 | 1162 | $form['buttons']['submit']['#value'] = bts('Save changes', array(), NULL, 'boinc:form-save'); |
@@ -1169,8 +1169,8 @@ discard block |
||
1169 | 1169 | $form['buttons']['preview_changes']['#suffix'] = '</li>'; |
1170 | 1170 | $form['buttons']['preview_changes']['#weight'] = 1004; |
1171 | 1171 | $form['buttons']['cancel'] = array( |
1172 | - '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), $_GET['q']) . '</li>', |
|
1173 | - '#weight' => 1005, |
|
1172 | + '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), $_GET['q']) . '</li>', |
|
1173 | + '#weight' => 1005, |
|
1174 | 1174 | ); |
1175 | 1175 | $form['buttons']['delete']['#prefix'] = '<li class="tab">'; |
1176 | 1176 | $form['buttons']['delete']['#suffix'] = '</li>'; |
@@ -1178,8 +1178,8 @@ discard block |
||
1178 | 1178 | $form['buttons']['delete']['#weight'] = 1006; |
1179 | 1179 | $form['buttons']['delete']['#submit'] = array('_boincuser_node_profile_delete_submit'); |
1180 | 1180 | $form['buttons']['form control tabs suffix'] = array( |
1181 | - '#value' => '</ul>', |
|
1182 | - '#weight' => 1010, |
|
1181 | + '#value' => '</ul>', |
|
1182 | + '#weight' => 1010, |
|
1183 | 1183 | ); |
1184 | 1184 | |
1185 | 1185 | $form['#after_build'][] = 'boincuser_profile_node_form_after_build'; |
@@ -1192,33 +1192,33 @@ discard block |
||
1192 | 1192 | |
1193 | 1193 | // Internal fields to indicate where these user changes are taking place |
1194 | 1194 | array_unshift($form, array( |
1195 | - 'validation_source' => array( |
|
1195 | + 'validation_source' => array( |
|
1196 | 1196 | '#type' => 'hidden', |
1197 | 1197 | '#value' => 'user_profile' |
1198 | - ), |
|
1199 | - 'update_source' => array( |
|
1198 | + ), |
|
1199 | + 'update_source' => array( |
|
1200 | 1200 | '#type' => 'hidden', |
1201 | 1201 | '#value' => 'user_profile' |
1202 | - ) |
|
1202 | + ) |
|
1203 | 1203 | )); |
1204 | 1204 | break; |
1205 | 1205 | |
1206 | - // Registration form |
|
1207 | - case 'user_register': |
|
1206 | + // Registration form |
|
1207 | + case 'user_register': |
|
1208 | 1208 | array_unshift($form, array( |
1209 | - 'boincuser_name' => array( |
|
1209 | + 'boincuser_name' => array( |
|
1210 | 1210 | '#type' => 'textfield', |
1211 | 1211 | '#title' => bts('Name', array(), NULL, 'boinc:user-or-team-name'), |
1212 | 1212 | '#default_value' => $edit['boincuser_name'], |
1213 | 1213 | '#maxlength' => USERNAME_MAX_LENGTH, |
1214 | 1214 | '#description' => bts('Spaces are allowed; punctuation is not allowed except for periods, hyphens, and underscores.', array(), NULL, 'boinc:user-register'), |
1215 | 1215 | '#required' => TRUE |
1216 | - ), |
|
1216 | + ), |
|
1217 | 1217 | )); |
1218 | 1218 | // Set name temporarily to dummy value to beat validation |
1219 | 1219 | $form['name'] = array( |
1220 | - '#type' => 'hidden', |
|
1221 | - '#value' => rand() . '.' . time() |
|
1220 | + '#type' => 'hidden', |
|
1221 | + '#value' => rand() . '.' . time() |
|
1222 | 1222 | ); |
1223 | 1223 | |
1224 | 1224 | // Add JS for submit button disabling |
@@ -1228,50 +1228,50 @@ discard block |
||
1228 | 1228 | $termsofuse = variable_get('boinc_weboptions_termsofuse', ''); |
1229 | 1229 | if (!empty($termsofuse)) { |
1230 | 1230 | |
1231 | - $form['termsofuse'] = array( |
|
1231 | + $form['termsofuse'] = array( |
|
1232 | 1232 | '#type' => 'fieldset', |
1233 | 1233 | '#prefix' => '<div id="termsofuse-wrapper">', // This is our wrapper div. |
1234 | 1234 | '#suffix' => '</div>', |
1235 | 1235 | '#tree' => TRUE, |
1236 | 1236 | '#weight' => -15, |
1237 | - ); |
|
1237 | + ); |
|
1238 | 1238 | |
1239 | - $form['termsofuse']['title1'] = array( |
|
1239 | + $form['termsofuse']['title1'] = array( |
|
1240 | 1240 | '#weight' => -12, |
1241 | 1241 | '#value' => '<h2>' . bts(variable_get('boinc_weboptions_registrationtitle', 'Please read and acknowledge our terms of use'), array(), NULL, 'project:user-register' ) . '</h2>', |
1242 | 1242 | '#prefix' => '<div id="register-title1">', |
1243 | 1243 | '#suffix' => '</div>', |
1244 | - ); |
|
1244 | + ); |
|
1245 | 1245 | |
1246 | - $form['termsofuse']['body'] = array( |
|
1246 | + $form['termsofuse']['body'] = array( |
|
1247 | 1247 | '#weight' => -10, |
1248 | 1248 | '#value' => bts($termsofuse, array(), NULL, 'project:user-register'), |
1249 | 1249 | '#prefix' => '<div id="register-termsofuse">', |
1250 | 1250 | '#suffix' => '</div>', |
1251 | - ); |
|
1251 | + ); |
|
1252 | 1252 | |
1253 | - $form['termsofuse']['agreeTOU'] = array( |
|
1253 | + $form['termsofuse']['agreeTOU'] = array( |
|
1254 | 1254 | '#type' => 'checkbox', |
1255 | 1255 | '#title' => bts(variable_get('boinc_weboptions_agreequestion', 'Do you agree with the above terms of use?'), array(), NULL, 'project:user-register'), |
1256 | 1256 | '#weight' => -8, |
1257 | 1257 | '#prefix' => '<div id="register-checkbox">', |
1258 | 1258 | '#suffix' => '</div>', |
1259 | - ); |
|
1259 | + ); |
|
1260 | 1260 | } |
1261 | 1261 | |
1262 | 1262 | $form['title2'] = array( |
1263 | - '#weight' => -6, |
|
1264 | - '#value' => '<h2>' . bts(variable_get('boinc_weboptions_registrationtitle2', 'Fill in your name, email, and choose a secure passphrase.'), array(), NULL, 'project:user-register') . '</h2>', |
|
1265 | - '#prefix' => '<div id="register-title2">', |
|
1266 | - '#suffix' => '</div>', |
|
1263 | + '#weight' => -6, |
|
1264 | + '#value' => '<h2>' . bts(variable_get('boinc_weboptions_registrationtitle2', 'Fill in your name, email, and choose a secure passphrase.'), array(), NULL, 'project:user-register') . '</h2>', |
|
1265 | + '#prefix' => '<div id="register-title2">', |
|
1266 | + '#suffix' => '</div>', |
|
1267 | 1267 | ); |
1268 | 1268 | |
1269 | 1269 | if (module_exists('captcha')) { |
1270 | - // Add an optional captcha |
|
1271 | - $form['register_captcha'] = array( |
|
1270 | + // Add an optional captcha |
|
1271 | + $form['register_captcha'] = array( |
|
1272 | 1272 | '#type' => 'captcha', |
1273 | 1273 | '#weight' => 1000, |
1274 | - ); |
|
1274 | + ); |
|
1275 | 1275 | } |
1276 | 1276 | |
1277 | 1277 | $form['#validate'][] = 'boincuser_register_validate'; |
@@ -1279,45 +1279,45 @@ discard block |
||
1279 | 1279 | $form['submit']['#weight'] = 1001; |
1280 | 1280 | break; |
1281 | 1281 | |
1282 | - // Request new password form |
|
1283 | - case 'user_pass': |
|
1282 | + // Request new password form |
|
1283 | + case 'user_pass': |
|
1284 | 1284 | drupal_set_title(bts('Forgot password', array(), NULL, 'boinc:forgot-password')); |
1285 | 1285 | // Replace name/email text box with email only; retain "name" label |
1286 | 1286 | // for compatibility with standard Drupal submit function |
1287 | 1287 | unset($form['name']); |
1288 | 1288 | array_unshift($form, array( |
1289 | - 'name' => array( |
|
1289 | + 'name' => array( |
|
1290 | 1290 | '#type' => 'textfield', |
1291 | 1291 | '#title' => bts('Email address', array(), NULL, 'boinc:email-address-to-login'), |
1292 | 1292 | '#size' => 60, |
1293 | 1293 | '#maxlength' => EMAIL_MAX_LENGTH, |
1294 | 1294 | '#required' => TRUE, |
1295 | 1295 | '#description' => bts( |
1296 | - 'Enter your email address to receive instructions for resetting your password (or use the !authenticator_login).', |
|
1297 | - array( |
|
1296 | + 'Enter your email address to receive instructions for resetting your password (or use the !authenticator_login).', |
|
1297 | + array( |
|
1298 | 1298 | '!authenticator_login' => l( |
1299 | - bts('authenticator-based login', array(), NULL, 'boinc:forgot-password'), |
|
1300 | - 'user/login/auth' |
|
1299 | + bts('authenticator-based login', array(), NULL, 'boinc:forgot-password'), |
|
1300 | + 'user/login/auth' |
|
1301 | + ) |
|
1301 | 1302 | ) |
1302 | - ) |
|
1303 | 1303 | , NULL, 'boinc:forgot-password'), |
1304 | - ), |
|
1304 | + ), |
|
1305 | 1305 | )); |
1306 | 1306 | |
1307 | 1307 | if (module_exists('captcha')) { |
1308 | - // Add an optional captcha |
|
1309 | - $form['register_captcha'] = array( |
|
1308 | + // Add an optional captcha |
|
1309 | + $form['register_captcha'] = array( |
|
1310 | 1310 | '#type' => 'captcha', |
1311 | 1311 | '#weight' => 0, |
1312 | 1312 | '#prefix' => '<div id="captcha-password-reset">', |
1313 | 1313 | '#suffix' => '</div>' |
1314 | - ); |
|
1314 | + ); |
|
1315 | 1315 | } |
1316 | 1316 | |
1317 | 1317 | // Wrap action buttons for styling consistency |
1318 | 1318 | $form['buttons']['form control tabs prefix'] = array( |
1319 | - '#value' => '<ul class="form-control tab-list">', |
|
1320 | - '#weight' => 1001, |
|
1319 | + '#value' => '<ul class="form-control tab-list">', |
|
1320 | + '#weight' => 1001, |
|
1321 | 1321 | ); |
1322 | 1322 | $form['buttons']['submit'] = $form['submit']; |
1323 | 1323 | $form['buttons']['submit']['#prefix'] = '<li class="first tab">'; |
@@ -1325,26 +1325,26 @@ discard block |
||
1325 | 1325 | $form['buttons']['submit']['#suffix'] = '</li>'; |
1326 | 1326 | $form['buttons']['submit']['#weight'] = 1002; |
1327 | 1327 | $form['buttons']['cancel'] = array( |
1328 | - '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), 'user/login') . '</li>', |
|
1329 | - '#weight' => 1005, |
|
1328 | + '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), 'user/login') . '</li>', |
|
1329 | + '#weight' => 1005, |
|
1330 | 1330 | ); |
1331 | 1331 | $form['buttons']['form control tabs suffix'] = array( |
1332 | - '#value' => '</ul>', |
|
1333 | - '#weight' => 1010, |
|
1332 | + '#value' => '</ul>', |
|
1333 | + '#weight' => 1010, |
|
1334 | 1334 | ); |
1335 | 1335 | unset($form['submit']); |
1336 | 1336 | |
1337 | 1337 | // If the form is being submitted, use BOINC validation handler. |
1338 | 1338 | if (isset($form_state['post']['name'])) { |
1339 | - // Prepend the BOINC validation function to local validation |
|
1340 | - array_unshift($form['#validate'], 'boincuser_request_pass_validate'); |
|
1339 | + // Prepend the BOINC validation function to local validation |
|
1340 | + array_unshift($form['#validate'], 'boincuser_request_pass_validate'); |
|
1341 | 1341 | } |
1342 | 1342 | break; |
1343 | 1343 | |
1344 | - case 'views_exposed_form': |
|
1344 | + case 'views_exposed_form': |
|
1345 | 1345 | $form['submit']['#value'] = bts('Search', array(), NULL, 'boinc:search-user'); |
1346 | 1346 | break; |
1347 | - } |
|
1347 | + } |
|
1348 | 1348 | } |
1349 | 1349 | |
1350 | 1350 | /** |
@@ -1352,10 +1352,10 @@ discard block |
||
1352 | 1352 | * built; this is called from boincuser_form_alter() |
1353 | 1353 | */ |
1354 | 1354 | function boincuser_profile_node_form_after_build($form, &$form_state) { |
1355 | - // Move to community prefs form |
|
1356 | - $form_state['storage']['avatar'] = $form['field_image']; |
|
1357 | - unset($form['field_image']); |
|
1358 | - return $form; |
|
1355 | + // Move to community prefs form |
|
1356 | + $form_state['storage']['avatar'] = $form['field_image']; |
|
1357 | + unset($form['field_image']); |
|
1358 | + return $form; |
|
1359 | 1359 | } |
1360 | 1360 | |
1361 | 1361 | /** |
@@ -1363,8 +1363,8 @@ discard block |
||
1363 | 1363 | * @see http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_elements/6 |
1364 | 1364 | */ |
1365 | 1365 | function boincuser_elements() { |
1366 | - $type['password_confirm']['#process'][] = 'boincuser_process_password_confirm'; |
|
1367 | - return $type; |
|
1366 | + $type['password_confirm']['#process'][] = 'boincuser_process_password_confirm'; |
|
1367 | + return $type; |
|
1368 | 1368 | } |
1369 | 1369 | |
1370 | 1370 | /** |
@@ -1372,11 +1372,11 @@ discard block |
||
1372 | 1372 | * profile form |
1373 | 1373 | */ |
1374 | 1374 | function boincuser_process_password_confirm($element) { |
1375 | - // Check if parent element is "account". |
|
1376 | - if ($element['#array_parents'][0] == 'account') { |
|
1375 | + // Check if parent element is "account". |
|
1376 | + if ($element['#array_parents'][0] == 'account') { |
|
1377 | 1377 | $element['pass1']['#title'] = bts('Change password', array(), NULL, 'boinc:forgot-password'); |
1378 | - } |
|
1379 | - return $element; |
|
1378 | + } |
|
1379 | + return $element; |
|
1380 | 1380 | } |
1381 | 1381 | |
1382 | 1382 | /** |
@@ -1384,42 +1384,42 @@ discard block |
||
1384 | 1384 | * Register theme functions for use in this module. |
1385 | 1385 | */ |
1386 | 1386 | function boincuser_theme($existing, $type, $theme, $path) { |
1387 | - return array( |
|
1387 | + return array( |
|
1388 | 1388 | 'boincuser_user_pass' => array( |
1389 | - 'arguments' => array() |
|
1389 | + 'arguments' => array() |
|
1390 | 1390 | ) |
1391 | - ); |
|
1391 | + ); |
|
1392 | 1392 | } |
1393 | 1393 | |
1394 | 1394 | /** |
1395 | 1395 | * Implementation of hook_token_values |
1396 | 1396 | */ |
1397 | 1397 | function boincuser_token_values($type, $object = NULL, $options = array()) { |
1398 | - if ($type == 'user') { |
|
1398 | + if ($type == 'user') { |
|
1399 | 1399 | $account = user_load($object->uid); |
1400 | 1400 | $tokens['display-name'] = $account->boincuser_name; |
1401 | 1401 | return $tokens; |
1402 | - } |
|
1402 | + } |
|
1403 | 1403 | } |
1404 | 1404 | |
1405 | 1405 | /** |
1406 | 1406 | * Implementation of hook_token_list |
1407 | 1407 | */ |
1408 | 1408 | function boincuser_token_list($type = 'all') { |
1409 | - if ($type == 'user' || $type == 'all') { |
|
1409 | + if ($type == 'user' || $type == 'all') { |
|
1410 | 1410 | $tokens['user']['display-name'] = t("The user's name that should be displayed"); |
1411 | 1411 | return $tokens; |
1412 | - } |
|
1412 | + } |
|
1413 | 1413 | } |
1414 | 1414 | |
1415 | 1415 | /** |
1416 | 1416 | * Implementation of hook_views_pre_execute() |
1417 | 1417 | */ |
1418 | 1418 | function boincuser_views_pre_execute(&$view) { |
1419 | - if ($view->args) { |
|
1419 | + if ($view->args) { |
|
1420 | 1420 | $account_id = $view->args[0]; |
1421 | - } |
|
1422 | - if ($view->name=="user_activity") { |
|
1421 | + } |
|
1422 | + if ($view->name=="user_activity") { |
|
1423 | 1423 | // Run the following custom query for the user_activity view |
1424 | 1424 | $view->build_info['query']= " |
1425 | 1425 | SELECT node_revisions.vid AS vid, |
@@ -1451,25 +1451,25 @@ discard block |
||
1451 | 1451 | |
1452 | 1452 | // count_query determines the pager. Do this so the right item count is returned. |
1453 | 1453 | $view->build_info['count_query'] = $view->build_info['query']; |
1454 | - } |
|
1454 | + } |
|
1455 | 1455 | } |
1456 | 1456 | |
1457 | 1457 | /** |
1458 | 1458 | * Implementation of hook_cron() |
1459 | 1459 | */ |
1460 | 1460 | function boincuser_cron() { |
1461 | - // Delete expired users in the BOINC database, user_delete table. |
|
1462 | - require_boinc('boinc_db'); |
|
1463 | - $num_deleted = BoincUserDeleted::delete_expired(); |
|
1464 | - if ($num_deleted>0) { |
|
1461 | + // Delete expired users in the BOINC database, user_delete table. |
|
1462 | + require_boinc('boinc_db'); |
|
1463 | + $num_deleted = BoincUserDeleted::delete_expired(); |
|
1464 | + if ($num_deleted>0) { |
|
1465 | 1465 | watchdog('boincuser', "Deleted ${num_deleted} users from user_deleted table", WATCHDOG_NOTICE); |
1466 | - } |
|
1466 | + } |
|
1467 | 1467 | |
1468 | - // Delete expired tokens from token table |
|
1469 | - $tokens_deleted = BoincToken::delete_expired(); |
|
1470 | - if ($tokens_deleted>0) { |
|
1468 | + // Delete expired tokens from token table |
|
1469 | + $tokens_deleted = BoincToken::delete_expired(); |
|
1470 | + if ($tokens_deleted>0) { |
|
1471 | 1471 | watchdog('boincuser', "Deleted ${tokens_deleted} tokens from token table", WATCHDOG_NOTICE); |
1472 | - } |
|
1472 | + } |
|
1473 | 1473 | } |
1474 | 1474 | |
1475 | 1475 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * |
@@ -1480,17 +1480,17 @@ discard block |
||
1480 | 1480 | * Page callback shortcut to recent posts for the logged in user |
1481 | 1481 | */ |
1482 | 1482 | function boincuser_goto_recent_posts() { |
1483 | - global $user; |
|
1484 | - drupal_goto("account/{$user->uid}/posts"); |
|
1483 | + global $user; |
|
1484 | + drupal_goto("account/{$user->uid}/posts"); |
|
1485 | 1485 | } |
1486 | 1486 | |
1487 | 1487 | /** |
1488 | 1488 | * Page callback shortcut to the team of the logged in user |
1489 | 1489 | */ |
1490 | 1490 | function boincuser_goto_team() { |
1491 | - global $user; |
|
1492 | - $account = user_load($user->uid); |
|
1493 | - drupal_goto("community/teams/{$account->team}"); |
|
1491 | + global $user; |
|
1492 | + $account = user_load($user->uid); |
|
1493 | + drupal_goto("community/teams/{$account->team}"); |
|
1494 | 1494 | } |
1495 | 1495 | |
1496 | 1496 | /** |
@@ -1499,93 +1499,93 @@ discard block |
||
1499 | 1499 | * user profile pages, so use a wrapper for display |
1500 | 1500 | */ |
1501 | 1501 | function boincuser_view_profile($account = null) { |
1502 | - // Create the user profile page |
|
1503 | - if (!$account) { |
|
1502 | + // Create the user profile page |
|
1503 | + if (!$account) { |
|
1504 | 1504 | global $user; |
1505 | 1505 | $account = $user; |
1506 | - } |
|
1506 | + } |
|
1507 | 1507 | |
1508 | - $min_credit_to_post = variable_get('boinc_comment_min_credit', 0); |
|
1509 | - $verified_contributor = array_search('verified contributor', user_roles(true)); |
|
1510 | - if (!isset($account->roles[$verified_contributor])) { |
|
1508 | + $min_credit_to_post = variable_get('boinc_comment_min_credit', 0); |
|
1509 | + $verified_contributor = array_search('verified contributor', user_roles(true)); |
|
1510 | + if (!isset($account->roles[$verified_contributor])) { |
|
1511 | 1511 | drupal_set_message(bts( |
1512 | 1512 | 'You may only create or modify your user profile after earning @count credits.', |
1513 | 1513 | array('@count' => $min_credit_to_post), NULL, 'boinc:view-profile' |
1514 | 1514 | ), 'warning', FALSE); |
1515 | - } |
|
1515 | + } |
|
1516 | 1516 | |
1517 | - // For now, just call the user module profile view function |
|
1518 | - user_build_content($account); |
|
1519 | - return theme('user_profile', $account); |
|
1517 | + // For now, just call the user module profile view function |
|
1518 | + user_build_content($account); |
|
1519 | + return theme('user_profile', $account); |
|
1520 | 1520 | } |
1521 | 1521 | |
1522 | 1522 | /** |
1523 | 1523 | * Page callback for editing a user profile |
1524 | 1524 | */ |
1525 | 1525 | function boincuser_edit_profile($account = null) { |
1526 | - // Create the user profile form |
|
1527 | - if (!$account) { |
|
1526 | + // Create the user profile form |
|
1527 | + if (!$account) { |
|
1528 | 1528 | global $user; |
1529 | 1529 | $account = $user; |
1530 | - } |
|
1531 | - // Render the form |
|
1532 | - module_load_include('pages.inc', 'node', 'node'); |
|
1533 | - return content_profile_page_edit('profile', $account); |
|
1530 | + } |
|
1531 | + // Render the form |
|
1532 | + module_load_include('pages.inc', 'node', 'node'); |
|
1533 | + return content_profile_page_edit('profile', $account); |
|
1534 | 1534 | } |
1535 | 1535 | |
1536 | 1536 | /** |
1537 | - * Join page menu callback. |
|
1538 | - * Display instructions on joining for new or existing BOINC users |
|
1539 | - */ |
|
1537 | + * Join page menu callback. |
|
1538 | + * Display instructions on joining for new or existing BOINC users |
|
1539 | + */ |
|
1540 | 1540 | function join_page($type = null) { |
1541 | - global $base_url; |
|
1542 | - /* The paths/links to the rules-and-policies page is hardcoded |
|
1541 | + global $base_url; |
|
1542 | + /* The paths/links to the rules-and-policies page is hardcoded |
|
1543 | 1543 | * here. An improvement would be admin settings for the Join Page |
1544 | 1544 | * where this path could be set. |
1545 | 1545 | */ |
1546 | - $ruleslinkA = 'rules-and-policies'; |
|
1547 | - $ruleslinkB = 'content/rules-and-policies'; |
|
1548 | - $site_name = variable_get('site_name', 'Drupal-BOINC'); |
|
1549 | - $registration_enabled = variable_get('user_register', 0); |
|
1550 | - $output = '<div class="join">'; |
|
1551 | - switch ($type) { |
|
1552 | - case 'boinc': |
|
1546 | + $ruleslinkA = 'rules-and-policies'; |
|
1547 | + $ruleslinkB = 'content/rules-and-policies'; |
|
1548 | + $site_name = variable_get('site_name', 'Drupal-BOINC'); |
|
1549 | + $registration_enabled = variable_get('user_register', 0); |
|
1550 | + $output = '<div class="join">'; |
|
1551 | + switch ($type) { |
|
1552 | + case 'boinc': |
|
1553 | 1553 | $output .= '<ol>'; |
1554 | 1554 | if ($registration_enabled) { |
1555 | - $output .= '<li>' . bts('First !create_an_account here at @sitename.', |
|
1556 | - array( |
|
1555 | + $output .= '<li>' . bts('First !create_an_account here at @sitename.', |
|
1556 | + array( |
|
1557 | 1557 | '!create_an_account' => l(bts('create an account', array(), NULL, 'boinc:join-page'), 'user/registration'), |
1558 | 1558 | '@sitename' => $site_name, |
1559 | - ), NULL, 'boinc:join-page') . '</li>'; |
|
1559 | + ), NULL, 'boinc:join-page') . '</li>'; |
|
1560 | 1560 | } |
1561 | 1561 | $output .= ' <li>' . bts("Install BOINC on this device if not already present.", array(), NULL, 'boinc:join-page') . '</li>'; |
1562 | 1562 | $output .= ' <li>' . bts("Select <i>Tools / Add Project</i>. Choose @sitename from the list, or enter @siteurl.", |
1563 | 1563 | array( |
1564 | - '@sitename' => $site_name, |
|
1565 | - '@siteurl' => $base_url, |
|
1564 | + '@sitename' => $site_name, |
|
1565 | + '@siteurl' => $base_url, |
|
1566 | 1566 | ), NULL, 'boinc:join-page') . '</li>'; |
1567 | 1567 | if ($registration_enabled) { |
1568 | - $output .= '<li>' . bts("If you're running a command-line or pre-5.0 version of BOINC, use <b>!boinccmd</b> to add the project.", |
|
1568 | + $output .= '<li>' . bts("If you're running a command-line or pre-5.0 version of BOINC, use <b>!boinccmd</b> to add the project.", |
|
1569 | 1569 | array( |
1570 | - '!boinccmd' => l('boinccmd --project_attach', 'http://boinc.berkeley.edu/wiki/Boinccmd_tool'), |
|
1570 | + '!boinccmd' => l('boinccmd --project_attach', 'http://boinc.berkeley.edu/wiki/Boinccmd_tool'), |
|
1571 | 1571 | ), NULL, 'boinc:join-page') . '</li>'; |
1572 | 1572 | } |
1573 | 1573 | else { |
1574 | - $output .= '<li>' . bts("If you're running a command-line version of BOINC, |
|
1574 | + $output .= '<li>' . bts("If you're running a command-line version of BOINC, |
|
1575 | 1575 | please follow the <b>!instructionslink</b> to first <i>create an account</i>, and then <i>attach</i> to this project. Use the same project URL as above.", |
1576 | 1576 | array( |
1577 | - '!instructionslink' => l('instructions', 'http://boinc.berkeley.edu/wiki/Boinccmd_tool'), |
|
1577 | + '!instructionslink' => l('instructions', 'http://boinc.berkeley.edu/wiki/Boinccmd_tool'), |
|
1578 | 1578 | ), NULL, 'boinc:join-page') . '</li>'; |
1579 | 1579 | } |
1580 | 1580 | $output .= '<li>' . bts("If you're running a pre-5.0 version of BOINC, please |
1581 | 1581 | upgrade to a more recent version of BOINC to create an account |
1582 | 1582 | at @this_project.", |
1583 | - array( |
|
1583 | + array( |
|
1584 | 1584 | '@this_project' => $site_name, |
1585 | - ), NULL, 'boinc:join-page') . '</li>'; |
|
1585 | + ), NULL, 'boinc:join-page') . '</li>'; |
|
1586 | 1586 | $output .= '</ol>'; |
1587 | 1587 | break; |
1588 | - case 'new': |
|
1588 | + case 'new': |
|
1589 | 1589 | default: |
1590 | 1590 | // Determine if there is a link to rules-and-policies |
1591 | 1591 | //$ruleslink=''; |
@@ -1600,16 +1600,16 @@ discard block |
||
1600 | 1600 | // Join page output |
1601 | 1601 | $output .= '<ol>'; |
1602 | 1602 | if ($registration_enabled) { |
1603 | - $output .= '<li>' . bts('First !create_an_account here at @sitename.', |
|
1604 | - array( |
|
1603 | + $output .= '<li>' . bts('First !create_an_account here at @sitename.', |
|
1604 | + array( |
|
1605 | 1605 | '!create_an_account' => l(bts('create an account', array(), NULL, 'boinc:join-page'), 'user/registration'), |
1606 | 1606 | '@sitename' => $site_name, |
1607 | - ), NULL, 'boinc:join-page') . '</li>'; |
|
1607 | + ), NULL, 'boinc:join-page') . '</li>'; |
|
1608 | 1608 | } |
1609 | 1609 | else if ( menu_valid_path(array('link_path' => $ruleslink)) ) { |
1610 | - $output .= ' <li>' . bts("Read our !rules_and_policies.", array( |
|
1610 | + $output .= ' <li>' . bts("Read our !rules_and_policies.", array( |
|
1611 | 1611 | '!rules_and_policies' => l(bts('Rules and Policies', array(), NULL, 'boinc:join-page'), $ruleslink), |
1612 | - ), NULL, 'boinc:join-page') . '</li>'; |
|
1612 | + ), NULL, 'boinc:join-page') . '</li>'; |
|
1613 | 1613 | } |
1614 | 1614 | $output .= ' <li>' . bts('Download the BOINC desktop software.', array(), NULL, 'boinc:join-page'); |
1615 | 1615 | $output .= ' <p>'; |
@@ -1619,73 +1619,73 @@ discard block |
||
1619 | 1619 | $output .= ' </li>'; |
1620 | 1620 | $output .= ' <li>' . bts('Run the installer.', array(), NULL, 'boinc:join-page') . '</li>'; |
1621 | 1621 | $output .= ' <li>' . bts('Choose @sitename from the list, or enter @siteurl.', array( |
1622 | - '@sitename' => $site_name, |
|
1623 | - '@siteurl' => $base_url, |
|
1622 | + '@sitename' => $site_name, |
|
1623 | + '@siteurl' => $base_url, |
|
1624 | 1624 | ), NULL, 'boinc:join-page') . '</li>'; |
1625 | 1625 | $output .= '</ol>'; |
1626 | - } |
|
1627 | - $output .= '</div>'; |
|
1628 | - return $output; |
|
1626 | + } |
|
1627 | + $output .= '</div>'; |
|
1628 | + return $output; |
|
1629 | 1629 | } |
1630 | 1630 | |
1631 | 1631 | /** |
1632 | - * Home page content for embedding in Panels page |
|
1633 | - */ |
|
1632 | + * Home page content for embedding in Panels page |
|
1633 | + */ |
|
1634 | 1634 | function boincuser_home_page() { |
1635 | - global $user; |
|
1636 | - $site_name = variable_get('site_name', 'Drupal-BOINC'); |
|
1637 | - // get the front page message from database; this is set in the admin interface under BOINC Other |
|
1638 | - $site_message = variable_get('boinc_other_frontpage',''); |
|
1635 | + global $user; |
|
1636 | + $site_name = variable_get('site_name', 'Drupal-BOINC'); |
|
1637 | + // get the front page message from database; this is set in the admin interface under BOINC Other |
|
1638 | + $site_message = variable_get('boinc_other_frontpage',''); |
|
1639 | 1639 | |
1640 | - // Determine the user of the day |
|
1641 | - $current_uotd = db_fetch_object(db_query(" |
|
1640 | + // Determine the user of the day |
|
1641 | + $current_uotd = db_fetch_object(db_query(" |
|
1642 | 1642 | SELECT |
1643 | 1643 | uid, |
1644 | 1644 | uotd_time |
1645 | 1645 | FROM {boincuser} |
1646 | 1646 | ORDER BY uotd_time DESC |
1647 | 1647 | LIMIT 1" |
1648 | - )); |
|
1649 | - if ($current_uotd->uotd_time < strtotime('today midnight')) { |
|
1648 | + )); |
|
1649 | + if ($current_uotd->uotd_time < strtotime('today midnight')) { |
|
1650 | 1650 | $uotd = boincuser_select_user_of_the_day(); |
1651 | - } |
|
1652 | - else { |
|
1651 | + } |
|
1652 | + else { |
|
1653 | 1653 | $uotd = user_load($current_uotd->uid); |
1654 | - } |
|
1655 | - $uotd_image = boincuser_get_user_profile_image($uotd->uid, FALSE); |
|
1656 | - $output = '<h2 class="pane-title">'; |
|
1657 | - $output .= ($user->uid) ? bts('Welcome back!', array(), NULL, 'boinc:front-page') : ($site_name ? bts('What is @this_project?', array('@this_project' => $site_name)) : bts('Welcome!', array(), NULL, 'boinc:front-page')); |
|
1658 | - $output .= '</h2>'; |
|
1659 | - $output .= '<div class="boinc-overview balance-height-front">'; |
|
1660 | - $output .= ' <div>' . bts($site_message, array(), NULL, "project:front page") . ' ' . l(bts('Learn more', array(), NULL, 'boinc:front-page'), 'about') . '</div>'; |
|
1661 | - if ($user->uid) { |
|
1654 | + } |
|
1655 | + $uotd_image = boincuser_get_user_profile_image($uotd->uid, FALSE); |
|
1656 | + $output = '<h2 class="pane-title">'; |
|
1657 | + $output .= ($user->uid) ? bts('Welcome back!', array(), NULL, 'boinc:front-page') : ($site_name ? bts('What is @this_project?', array('@this_project' => $site_name)) : bts('Welcome!', array(), NULL, 'boinc:front-page')); |
|
1658 | + $output .= '</h2>'; |
|
1659 | + $output .= '<div class="boinc-overview balance-height-front">'; |
|
1660 | + $output .= ' <div>' . bts($site_message, array(), NULL, "project:front page") . ' ' . l(bts('Learn more', array(), NULL, 'boinc:front-page'), 'about') . '</div>'; |
|
1661 | + if ($user->uid) { |
|
1662 | 1662 | $output .= ' <div>' . l(bts('View account', array(), NULL, 'boinc:front-page'), 'dashboard', array('attributes' => array('class' => 'join button'))) . '</div>'; |
1663 | - } |
|
1664 | - else { |
|
1663 | + } |
|
1664 | + else { |
|
1665 | 1665 | $output .= ' <div>' . l(bts('Join now', array(), NULL, 'boinc:front-page'), 'join', array('attributes' => array('class' => 'join button'))) . '</div>'; |
1666 | - } |
|
1667 | - $output .= '</div>'; |
|
1668 | - $output .= '<div class="boinc-overview-details">'; |
|
1669 | - $output .= ' <div class="detail-container">'; |
|
1670 | - $output .= ' <a class="user-of-the-day" href="account/' . $uotd->uid . '">'; |
|
1671 | - $output .= ' <div class="picture">'; |
|
1672 | - $output .= theme('imagefield_image', $uotd_image['image'], $uotd_image['alt'], |
|
1666 | + } |
|
1667 | + $output .= '</div>'; |
|
1668 | + $output .= '<div class="boinc-overview-details">'; |
|
1669 | + $output .= ' <div class="detail-container">'; |
|
1670 | + $output .= ' <a class="user-of-the-day" href="account/' . $uotd->uid . '">'; |
|
1671 | + $output .= ' <div class="picture">'; |
|
1672 | + $output .= theme('imagefield_image', $uotd_image['image'], $uotd_image['alt'], |
|
1673 | 1673 | $uotd_image['alt'], array(), FALSE); |
1674 | - $output .= ' </div>'; |
|
1675 | - $output .= ' <div class="text">' . bts('User of the day', array(), NULL, 'boinc:front-page') . '</div>'; |
|
1676 | - $output .= ' <div class="detail">' . $uotd->boincuser_name . '</div>'; |
|
1677 | - $output .= ' </a>'; |
|
1678 | - $output .= ' <div class="volunteers">'; |
|
1679 | - $output .= ' <div class="text">' . bts('Over 500,000 volunteers and counting.', array(), NULL, 'boinc:front-page') . '</div>'; |
|
1680 | - $output .= ' <div class="platforms">'; |
|
1681 | - $output .= ' <div class="detail platform windows">' . bts('Windows', array(), NULL, 'boinc:front-page') . '</div>'; |
|
1682 | - $output .= ' <div class="detail platform mac">' . bts('Mac', array(), NULL, 'boinc:front-page') . '</div>'; |
|
1683 | - $output .= ' <div class="detail platform linux">' . bts('Linux', array(), NULL, 'boinc:front-page') . '</div>'; |
|
1684 | - $output .= ' </div>'; |
|
1685 | - $output .= ' </div>'; |
|
1686 | - $output .= ' </div>'; |
|
1687 | - $output .= '</div>'; |
|
1688 | - return $output; |
|
1674 | + $output .= ' </div>'; |
|
1675 | + $output .= ' <div class="text">' . bts('User of the day', array(), NULL, 'boinc:front-page') . '</div>'; |
|
1676 | + $output .= ' <div class="detail">' . $uotd->boincuser_name . '</div>'; |
|
1677 | + $output .= ' </a>'; |
|
1678 | + $output .= ' <div class="volunteers">'; |
|
1679 | + $output .= ' <div class="text">' . bts('Over 500,000 volunteers and counting.', array(), NULL, 'boinc:front-page') . '</div>'; |
|
1680 | + $output .= ' <div class="platforms">'; |
|
1681 | + $output .= ' <div class="detail platform windows">' . bts('Windows', array(), NULL, 'boinc:front-page') . '</div>'; |
|
1682 | + $output .= ' <div class="detail platform mac">' . bts('Mac', array(), NULL, 'boinc:front-page') . '</div>'; |
|
1683 | + $output .= ' <div class="detail platform linux">' . bts('Linux', array(), NULL, 'boinc:front-page') . '</div>'; |
|
1684 | + $output .= ' </div>'; |
|
1685 | + $output .= ' </div>'; |
|
1686 | + $output .= ' </div>'; |
|
1687 | + $output .= '</div>'; |
|
1688 | + return $output; |
|
1689 | 1689 | } |
1690 | 1690 | |
1691 | 1691 | /** |
@@ -1693,81 +1693,81 @@ discard block |
||
1693 | 1693 | * Create a new user account based on supplied parameters. |
1694 | 1694 | */ |
1695 | 1695 | function boincuser_create_account() { |
1696 | - global $base_url; |
|
1696 | + global $base_url; |
|
1697 | 1697 | |
1698 | - require_boinc('boinc_db'); |
|
1699 | - require_boinc('user_util'); |
|
1700 | - require_boinc('xml'); |
|
1701 | - $params = array( |
|
1698 | + require_boinc('boinc_db'); |
|
1699 | + require_boinc('user_util'); |
|
1700 | + require_boinc('xml'); |
|
1701 | + $params = array( |
|
1702 | 1702 | 'email_addr' => isset($_GET['email_addr']) ? $_GET['email_addr'] : '', |
1703 | 1703 | 'user_name' => isset($_GET['user_name']) ? $_GET['user_name'] : '', |
1704 | 1704 | 'passwd_hash' => isset($_GET['passwd_hash']) ? $_GET['passwd_hash'] : '' |
1705 | - ); |
|
1705 | + ); |
|
1706 | 1706 | |
1707 | - // Begin output |
|
1708 | - xml_header(); |
|
1707 | + // Begin output |
|
1708 | + xml_header(); |
|
1709 | 1709 | |
1710 | - // Account creation disabled |
|
1711 | - $enablethisRPC = variable_get('boinc_weboptions_enableaccountcreateRPC', TRUE); |
|
1712 | - if (!$enablethisRPC) { |
|
1710 | + // Account creation disabled |
|
1711 | + $enablethisRPC = variable_get('boinc_weboptions_enableaccountcreateRPC', TRUE); |
|
1712 | + if (!$enablethisRPC) { |
|
1713 | 1713 | $mess = bts('Account creation is done through our Web site. Please register at @url', array( |
1714 | - '@url' => $base_url . '/user/registration', |
|
1714 | + '@url' => $base_url . '/user/registration', |
|
1715 | 1715 | ), |
1716 | 1716 | NULL, 'boinc:create_account'); |
1717 | 1717 | xml_error(-208, $mess); |
1718 | - } |
|
1719 | - // Invalid invite code |
|
1718 | + } |
|
1719 | + // Invalid invite code |
|
1720 | 1720 | |
1721 | - // Validate input |
|
1722 | - if (user_validate_mail($params['email_addr']) or !is_valid_email_addr($params['email_addr'])) { |
|
1721 | + // Validate input |
|
1722 | + if (user_validate_mail($params['email_addr']) or !is_valid_email_addr($params['email_addr'])) { |
|
1723 | 1723 | xml_error(-205); |
1724 | - } |
|
1724 | + } |
|
1725 | 1725 | |
1726 | - // Make sure user_name is unique and cleaned |
|
1727 | - $unique_name = create_proper_drupalname($params['user_name']); |
|
1728 | - if ($error = user_validate_name($unique_name)) { |
|
1726 | + // Make sure user_name is unique and cleaned |
|
1727 | + $unique_name = create_proper_drupalname($params['user_name']); |
|
1728 | + if ($error = user_validate_name($unique_name)) { |
|
1729 | 1729 | xml_error(-188, $error); |
1730 | - } |
|
1731 | - if (strlen($params['passwd_hash']) != 32) { |
|
1730 | + } |
|
1731 | + if (strlen($params['passwd_hash']) != 32) { |
|
1732 | 1732 | xml_error(-1, 'password hash length not 32'); |
1733 | - } |
|
1733 | + } |
|
1734 | 1734 | |
1735 | - // Process input |
|
1736 | - // Check this email against previous email addresses. |
|
1737 | - $tmpuser = BoincUser::lookup_prev_email_addr($params['email_addr']); |
|
1738 | - if ($tmpuser) { |
|
1735 | + // Process input |
|
1736 | + // Check this email against previous email addresses. |
|
1737 | + $tmpuser = BoincUser::lookup_prev_email_addr($params['email_addr']); |
|
1738 | + if ($tmpuser) { |
|
1739 | 1739 | xml_error(-137); |
1740 | - } |
|
1740 | + } |
|
1741 | 1741 | |
1742 | - // Check this email on current email addresses. |
|
1743 | - $boinc_user = BoincUser::lookup_email_addr($params['email_addr']); |
|
1744 | - if ($boinc_user) { |
|
1742 | + // Check this email on current email addresses. |
|
1743 | + $boinc_user = BoincUser::lookup_email_addr($params['email_addr']); |
|
1744 | + if ($boinc_user) { |
|
1745 | 1745 | // Return authenticator for existing users |
1746 | 1746 | if ( ($params['passwd_hash'] == $boinc_user->passwd_hash) or |
1747 | 1747 | password_verify($params['passwd_hash'], $boinc_user->passwd_hash) ) { |
1748 | - $output = array('authenticator' => $boinc_user->authenticator); |
|
1748 | + $output = array('authenticator' => $boinc_user->authenticator); |
|
1749 | 1749 | } |
1750 | 1750 | else { |
1751 | - xml_error(-137); |
|
1751 | + xml_error(-137); |
|
1752 | 1752 | } |
1753 | - } |
|
1754 | - else { |
|
1753 | + } |
|
1754 | + else { |
|
1755 | 1755 | // Verify that there isn't somehow a Drupal user already (not possible with proper function) |
1756 | 1756 | if ($existing_user = user_load(array('mail' => $params['email_addr']))) { |
1757 | - xml_error(-137, 'account error'); |
|
1757 | + xml_error(-137, 'account error'); |
|
1758 | 1758 | } |
1759 | 1759 | // Create new account |
1760 | 1760 | $unrestricted_role = array_search('community member', user_roles(true)); |
1761 | 1761 | |
1762 | 1762 | $newUser = array( |
1763 | - 'name' => $unique_name, |
|
1764 | - 'pass' => $params['passwd_hash'], // note: passing a hash here requires ALL passwords to be hashed via hook prior to interacting with the hash stored in the db |
|
1765 | - 'mail' => $params['email_addr'], |
|
1766 | - 'status' => 1, |
|
1767 | - 'init' => $params['email_addr'], |
|
1768 | - 'roles' => array($unrestricted_role => ''), |
|
1769 | - 'boincuser_name' => $params['user_name'], |
|
1770 | - 'boinchash_flag' => TRUE, |
|
1763 | + 'name' => $unique_name, |
|
1764 | + 'pass' => $params['passwd_hash'], // note: passing a hash here requires ALL passwords to be hashed via hook prior to interacting with the hash stored in the db |
|
1765 | + 'mail' => $params['email_addr'], |
|
1766 | + 'status' => 1, |
|
1767 | + 'init' => $params['email_addr'], |
|
1768 | + 'roles' => array($unrestricted_role => ''), |
|
1769 | + 'boincuser_name' => $params['user_name'], |
|
1770 | + 'boinchash_flag' => TRUE, |
|
1771 | 1771 | ); |
1772 | 1772 | |
1773 | 1773 | // Create the drupal user. If the drupal user cannot be created, |
@@ -1775,17 +1775,17 @@ discard block |
||
1775 | 1775 | // The user is created in the 'insert' op in hook_user. |
1776 | 1776 | $user = user_save(null, $newUser); |
1777 | 1777 | if (!$user) { |
1778 | - watchdog('boincuser', 'create_account: Failed to create Drupal user account for @email', array('@email' => $params['email_addr']), WATCHDOG_WARNING); |
|
1779 | - xml_error(-137, 'error creating BOINC account'); |
|
1778 | + watchdog('boincuser', 'create_account: Failed to create Drupal user account for @email', array('@email' => $params['email_addr']), WATCHDOG_WARNING); |
|
1779 | + xml_error(-137, 'error creating BOINC account'); |
|
1780 | 1780 | }// if drupal user created. |
1781 | 1781 | |
1782 | 1782 | $output = array('authenticator' => $user->boincuser_account_key); |
1783 | - }// if existing user found. |
|
1783 | + }// if existing user found. |
|
1784 | 1784 | |
1785 | - // Output authenticator |
|
1786 | - echo " <account_out>\n"; |
|
1787 | - echo " <authenticator>{$output['authenticator']}</authenticator>\n"; |
|
1788 | - echo "</account_out>\n"; |
|
1785 | + // Output authenticator |
|
1786 | + echo " <account_out>\n"; |
|
1787 | + echo " <authenticator>{$output['authenticator']}</authenticator>\n"; |
|
1788 | + echo "</account_out>\n"; |
|
1789 | 1789 | } |
1790 | 1790 | |
1791 | 1791 | /** |
@@ -1793,166 +1793,166 @@ discard block |
||
1793 | 1793 | * account is created using the BOINC clinet. |
1794 | 1794 | */ |
1795 | 1795 | function boincuser_account_finish() { |
1796 | - global $user; |
|
1796 | + global $user; |
|
1797 | 1797 | |
1798 | - $authtoken = isset($_GET['auth']) ? $_GET['auth'] : ''; |
|
1798 | + $authtoken = isset($_GET['auth']) ? $_GET['auth'] : ''; |
|
1799 | 1799 | |
1800 | - // Ensure there is a authentication token before continuing |
|
1801 | - if (empty($authtoken)) { |
|
1800 | + // Ensure there is a authentication token before continuing |
|
1801 | + if (empty($authtoken)) { |
|
1802 | 1802 | drupal_not_found(); |
1803 | 1803 | return ; |
1804 | - } |
|
1804 | + } |
|
1805 | 1805 | |
1806 | - if (strlen($authtoken) != 32) { |
|
1806 | + if (strlen($authtoken) != 32) { |
|
1807 | 1807 | drupal_set_message(bts('ERROR: There is no account with that authenticator.', array(), NULL, 'boinc:account-finish'), 'error'); |
1808 | 1808 | drupal_goto(); |
1809 | - } |
|
1809 | + } |
|
1810 | 1810 | |
1811 | - require_boinc('boinc_db'); |
|
1812 | - $boinc_user = BoincUser::lookup("authenticator='".addslashes($authtoken)."'"); |
|
1813 | - if (!$boinc_user) { |
|
1811 | + require_boinc('boinc_db'); |
|
1812 | + $boinc_user = BoincUser::lookup("authenticator='".addslashes($authtoken)."'"); |
|
1813 | + if (!$boinc_user) { |
|
1814 | 1814 | drupal_set_message(bts('ERROR: There is no account with that authenticator.', array(), NULL, 'boinc:account-finish'), 'error'); |
1815 | 1815 | drupal_goto(); |
1816 | - } |
|
1817 | - $user = user_load(get_drupal_id($boinc_user->id)); |
|
1816 | + } |
|
1817 | + $user = user_load(get_drupal_id($boinc_user->id)); |
|
1818 | 1818 | |
1819 | - if (!$user) { |
|
1819 | + if (!$user) { |
|
1820 | 1820 | drupal_set_message(bts('ERROR: There was a problem loading your account. Try logging in with your user name and password.', array(), NULL, 'boinc:account-finish'), 'error'); |
1821 | 1821 | drupal_goto(); |
1822 | - } |
|
1822 | + } |
|
1823 | 1823 | |
1824 | - // Lookup path to custom account finish page |
|
1825 | - $customaccountfinishpath = drupal_lookup_path('source', variable_get('boinc_weboptions_accountfinish', '') ); |
|
1826 | - if ( menu_valid_path(array('link_path' => $customaccountfinishpath)) ) { |
|
1824 | + // Lookup path to custom account finish page |
|
1825 | + $customaccountfinishpath = drupal_lookup_path('source', variable_get('boinc_weboptions_accountfinish', '') ); |
|
1826 | + if ( menu_valid_path(array('link_path' => $customaccountfinishpath)) ) { |
|
1827 | 1827 | $node = menu_get_object('node', 1, $customaccountfinishpath); |
1828 | 1828 | if ($node) { |
1829 | - return node_page_view($node); |
|
1829 | + return node_page_view($node); |
|
1830 | + } |
|
1830 | 1831 | } |
1831 | - } |
|
1832 | 1832 | |
1833 | - // open links in new window |
|
1834 | - $options = array( |
|
1833 | + // open links in new window |
|
1834 | + $options = array( |
|
1835 | 1835 | 'attributes' => array( 'target' => '_blank' ), |
1836 | - ); |
|
1836 | + ); |
|
1837 | 1837 | |
1838 | - // Check moderation page exists |
|
1839 | - $moderationpath = drupal_lookup_path('source', variable_get('boinc_weboptions_moderationpage', '') ); |
|
1840 | - if ( menu_valid_path(array('link_path' => $moderationpath)) ) { |
|
1838 | + // Check moderation page exists |
|
1839 | + $moderationpath = drupal_lookup_path('source', variable_get('boinc_weboptions_moderationpage', '') ); |
|
1840 | + if ( menu_valid_path(array('link_path' => $moderationpath)) ) { |
|
1841 | 1841 | $modsentence = bts('Please note: user profiles are subject to !moderation.', array('!moderation' => l(bts('moderation', array(), NULL, 'boinc:account-finish'), $moderationpath, $options)), NULL, 'boinc:account-finish'); |
1842 | - } else { |
|
1842 | + } else { |
|
1843 | 1843 | $modsentence = bts('Please note: user profiles are subject to moderation.', array(), NULL, 'boinc:account-finish'); |
1844 | - } |
|
1844 | + } |
|
1845 | 1845 | |
1846 | - $username = $user->boincuser_name; |
|
1847 | - $site_name = variable_get('site_name', 'Drupal-BOINC'); |
|
1848 | - $output = "<p>" . bts('Thank you @user_name for joining @site_name. Your account has been created. Your BOINC client should start working on assigned tasks soon, without any additional action or configuration. Please visit the links below for more information and additional options. (Links will open in a new window.)', |
|
1849 | - array( |
|
1846 | + $username = $user->boincuser_name; |
|
1847 | + $site_name = variable_get('site_name', 'Drupal-BOINC'); |
|
1848 | + $output = "<p>" . bts('Thank you @user_name for joining @site_name. Your account has been created. Your BOINC client should start working on assigned tasks soon, without any additional action or configuration. Please visit the links below for more information and additional options. (Links will open in a new window.)', |
|
1849 | + array( |
|
1850 | 1850 | '@user_name' => $username, |
1851 | 1851 | '@site_name' => $site_name, |
1852 | - ), NULL, 'boinc:account-finish') . "</p>"; |
|
1852 | + ), NULL, 'boinc:account-finish') . "</p>"; |
|
1853 | 1853 | |
1854 | - $links = array( |
|
1854 | + $links = array( |
|
1855 | 1855 | array( |
1856 | - 'data' => bts('Change your username at !community_preferences.', array( |
|
1856 | + 'data' => bts('Change your username at !community_preferences.', array( |
|
1857 | 1857 | '!community_preferences' => l(bts('Community Preferences', array(), NULL, 'boinc:account-fininsh'), 'account/prefs/community', $options), |
1858 | - ), NULL, 'boinc:account-finish'), |
|
1859 | - 'children' => array( |
|
1858 | + ), NULL, 'boinc:account-finish'), |
|
1859 | + 'children' => array( |
|
1860 | 1860 | bts('Your username is used to identify yourself to other volunteers on this Web site.', array(), NULL, 'boinc:account-finish'), |
1861 | 1861 | bts('In addition, you may set your account\'s default language and adjust notification settings.', array(), NULL, 'boinc:account-finish'), |
1862 | - ), |
|
1862 | + ), |
|
1863 | 1863 | ), |
1864 | 1864 | array( |
1865 | - 'data' => bts('Change your !computing_preferences.', array( |
|
1865 | + 'data' => bts('Change your !computing_preferences.', array( |
|
1866 | 1866 | '!computing_preferences' => l(bts('Computing Preferences', array(), NULL, 'boinc:account-finish'), 'account/prefs', $options), |
1867 | - ), NULL, 'boinc:account-finish'), |
|
1868 | - 'children' => array( |
|
1867 | + ), NULL, 'boinc:account-finish'), |
|
1868 | + 'children' => array( |
|
1869 | 1869 | bts('You may adjust how much CPU, RAM, and Disk space the BOINC client is allowed to use for tasks on your computer.', array(), NULL, 'boinc:account-finish'), |
1870 | 1870 | bts('By default, you will run @site_name tasks without any additional configuration.', array( |
1871 | - '@site_name' => $site_name, |
|
1871 | + '@site_name' => $site_name, |
|
1872 | 1872 | ), NULL, 'boinc:account-finish'), |
1873 | 1873 | bts('It is recommended new volunteers leave the default settings until they gain experience running some tasks. Ask questions in the !forums to get advice before making changes to a setting you don\'t understand.', array( |
1874 | - '!forums' => l(bts('forums', array(), NULL, 'boinc:account-finish'), 'community/forum', $options), |
|
1874 | + '!forums' => l(bts('forums', array(), NULL, 'boinc:account-finish'), 'community/forum', $options), |
|
1875 | 1875 | ), NULL, 'boinc:account-finish'), |
1876 | - ), |
|
1876 | + ), |
|
1877 | 1877 | ), |
1878 | 1878 | array( |
1879 | 1879 | 'data' => bts('Create a !user_profile.', array( |
1880 | - '!user_profile' => l(bts('User Profile', array(), NULL, 'boinc:account-finish'), '/account/profile/edit', $options), |
|
1880 | + '!user_profile' => l(bts('User Profile', array(), NULL, 'boinc:account-finish'), '/account/profile/edit', $options), |
|
1881 | 1881 | ), NULL, 'boinc:account-finish'), |
1882 | - 'children' => array( |
|
1882 | + 'children' => array( |
|
1883 | 1883 | bts('A user profile will inform other volunteers who you are and why you joined @site_name.', array( |
1884 | - '@site_name' => $site_name, |
|
1884 | + '@site_name' => $site_name, |
|
1885 | 1885 | ), NULL, 'boinc:account-finish'), |
1886 | 1886 | $modsentence, |
1887 | - ), |
|
1887 | + ), |
|
1888 | 1888 | ), |
1889 | 1889 | array( |
1890 | - 'data' => bts('Join a !team.', array( |
|
1890 | + 'data' => bts('Join a !team.', array( |
|
1891 | 1891 | '!team' => l(bts('Team', array(), NULL, 'boinc:account-finish'), '/community/teams', $options), |
1892 | - ), NULL, 'boinc:account-finish'), |
|
1893 | - 'children' => array( |
|
1892 | + ), NULL, 'boinc:account-finish'), |
|
1893 | + 'children' => array( |
|
1894 | 1894 | bts('You may join a team, made up of other volunteers.', array(), NULL, 'boinc:account-finish'), |
1895 | - ), |
|
1895 | + ), |
|
1896 | 1896 | ), |
1897 | 1897 | array( |
1898 | - 'data' => bts('Go to your !account_dashboard.', array( |
|
1898 | + 'data' => bts('Go to your !account_dashboard.', array( |
|
1899 | 1899 | '!account_dashboard'=> l(bts('Account Dashboard', array(), NULL, 'boinc:account-finish'), 'account/dashboard', $options), |
1900 | - ), NULL, 'boinc:account-finish'), |
|
1901 | - 'children' => array( |
|
1900 | + ), NULL, 'boinc:account-finish'), |
|
1901 | + 'children' => array( |
|
1902 | 1902 | bts('Your account dashboard has information and links about your computer(s) and task(s) assigned.', array(), NULL, 'boinc:account-finish'), |
1903 | - ), |
|
1903 | + ), |
|
1904 | 1904 | ), |
1905 | 1905 | array( |
1906 | - 'data' => bts('Visit our !help pages.', array( |
|
1906 | + 'data' => bts('Visit our !help pages.', array( |
|
1907 | 1907 | '!help' => l(bts('Help', array(), NULL, 'boinc:account-finish'), '/help', $options) |
1908 | - ), NULL, 'boinc:account-finish'), |
|
1909 | - 'children' => array( |
|
1908 | + ), NULL, 'boinc:account-finish'), |
|
1909 | + 'children' => array( |
|
1910 | 1910 | bts('Ask for help in our community\'s !forums.', array( |
1911 | - '!forums' => l(bts('forums', array(), NULL, 'boinc:account-finish'), 'community/forum', $options) |
|
1911 | + '!forums' => l(bts('forums', array(), NULL, 'boinc:account-finish'), 'community/forum', $options) |
|
1912 | 1912 | ), NULL, 'boinc:account-finish'), |
1913 | - ), |
|
1913 | + ), |
|
1914 | 1914 | ), |
1915 | - ); |
|
1915 | + ); |
|
1916 | 1916 | |
1917 | - //List of links |
|
1918 | - $output .= theme_item_list($links, $title = NULL, $type='ul'); |
|
1917 | + //List of links |
|
1918 | + $output .= theme_item_list($links, $title = NULL, $type='ul'); |
|
1919 | 1919 | |
1920 | - return $output; |
|
1920 | + return $output; |
|
1921 | 1921 | } |
1922 | 1922 | |
1923 | 1923 | /** |
1924 | 1924 | * Determine if the user has permission to control community access |
1925 | 1925 | */ |
1926 | 1926 | function boincuser_moderate_community_access() { |
1927 | - if (user_access('assign community member role') |
|
1927 | + if (user_access('assign community member role') |
|
1928 | 1928 | OR user_access('assign all roles')) { |
1929 | 1929 | return TRUE; |
1930 | - } |
|
1931 | - return FALSE; |
|
1930 | + } |
|
1931 | + return FALSE; |
|
1932 | 1932 | } |
1933 | 1933 | |
1934 | 1934 | /** |
1935 | 1935 | * Get the count of items in the moderation queue |
1936 | 1936 | */ |
1937 | 1937 | function boincuser_moderation_queue_count($caller = 'user') { |
1938 | - $allowed = FALSE; |
|
1939 | - switch ($caller) { |
|
1940 | - case 'cron': |
|
1938 | + $allowed = FALSE; |
|
1939 | + switch ($caller) { |
|
1940 | + case 'cron': |
|
1941 | 1941 | $allowed = TRUE; |
1942 | 1942 | break; |
1943 | - case 'user': |
|
1943 | + case 'user': |
|
1944 | 1944 | default: |
1945 | 1945 | $allowed = user_access('edit any profile content'); |
1946 | - } |
|
1947 | - if ($allowed) { |
|
1946 | + } |
|
1947 | + if ($allowed) { |
|
1948 | 1948 | return db_result(db_query(" |
1949 | 1949 | SELECT COUNT(*) |
1950 | 1950 | FROM {node} |
1951 | 1951 | WHERE type = 'profile' |
1952 | 1952 | AND moderate = 1" |
1953 | 1953 | )); |
1954 | - } |
|
1955 | - return NULL; |
|
1954 | + } |
|
1955 | + return NULL; |
|
1956 | 1956 | } |
1957 | 1957 | |
1958 | 1958 | /** |
@@ -1961,43 +1961,43 @@ discard block |
||
1961 | 1961 | * than through the user account info form. |
1962 | 1962 | */ |
1963 | 1963 | function boincuser_control($uid = NULL, $action = NULL) { |
1964 | - if (!$uid OR !$account = user_load($uid)) { |
|
1964 | + if (!$uid OR !$account = user_load($uid)) { |
|
1965 | 1965 | // What are you even doing here... |
1966 | 1966 | return FALSE; |
1967 | - } |
|
1968 | - switch ($action) { |
|
1969 | - case 'ban': |
|
1967 | + } |
|
1968 | + switch ($action) { |
|
1969 | + case 'ban': |
|
1970 | 1970 | if (boincuser_moderate_community_access()) { |
1971 | - $penalty_period = variable_get('boinc_penalty_period', 7*24*60*60); |
|
1972 | - $boincuser_record = array( |
|
1971 | + $penalty_period = variable_get('boinc_penalty_period', 7*24*60*60); |
|
1972 | + $boincuser_record = array( |
|
1973 | 1973 | 'uid' => $uid, |
1974 | 1974 | 'penalty_expiration' => time() + $penalty_period, |
1975 | - ); |
|
1976 | - drupal_write_record('boincuser', $boincuser_record, 'uid'); |
|
1977 | - $community_role = array_search('community member', user_roles(true)); |
|
1978 | - if (isset($account->roles[$community_role])) { |
|
1975 | + ); |
|
1976 | + drupal_write_record('boincuser', $boincuser_record, 'uid'); |
|
1977 | + $community_role = array_search('community member', user_roles(true)); |
|
1978 | + if (isset($account->roles[$community_role])) { |
|
1979 | 1979 | unset($account->roles[$community_role]); |
1980 | 1980 | user_save($account, array('roles' => $account->roles)); |
1981 | - } |
|
1981 | + } |
|
1982 | 1982 | } |
1983 | 1983 | break; |
1984 | - case 'lift-ban': |
|
1984 | + case 'lift-ban': |
|
1985 | 1985 | if (boincuser_moderate_community_access()) { |
1986 | - $boincuser_record = array( |
|
1986 | + $boincuser_record = array( |
|
1987 | 1987 | 'uid' => $uid, |
1988 | 1988 | 'penalty_expiration' => 0, |
1989 | - ); |
|
1990 | - drupal_write_record('boincuser', $boincuser_record, 'uid'); |
|
1991 | - $community_role = array_search('community member', user_roles(true)); |
|
1992 | - if (!isset($account->roles[$community_role])) { |
|
1989 | + ); |
|
1990 | + drupal_write_record('boincuser', $boincuser_record, 'uid'); |
|
1991 | + $community_role = array_search('community member', user_roles(true)); |
|
1992 | + if (!isset($account->roles[$community_role])) { |
|
1993 | 1993 | $account->roles[$community_role] = 'community member'; |
1994 | 1994 | user_save($account, array('roles' => $account->roles)); |
1995 | - } |
|
1995 | + } |
|
1996 | 1996 | } |
1997 | 1997 | break; |
1998 | - default: |
|
1998 | + default: |
|
1999 | 1999 | } |
2000 | - drupal_goto("account/{$account->uid}"); |
|
2000 | + drupal_goto("account/{$account->uid}"); |
|
2001 | 2001 | } |
2002 | 2002 | |
2003 | 2003 | /** |
@@ -2005,29 +2005,29 @@ discard block |
||
2005 | 2005 | * moderation flag. |
2006 | 2006 | */ |
2007 | 2007 | function boincuser_moderate_profile_approve($account) { |
2008 | - $node = new stdClass; |
|
2009 | - $node->type = 'profile'; |
|
2010 | - $node->language = ''; |
|
2011 | - $nid = content_profile_profile_exists($node, $account->uid); |
|
2012 | - $profile = node_load($nid); |
|
2013 | - $profile->moderate = 0; |
|
2014 | - $profile->status = 1; |
|
2015 | - node_save($profile); |
|
2016 | - drupal_set_message('This profile has been marked as approved.'); |
|
2017 | - drupal_goto(); |
|
2008 | + $node = new stdClass; |
|
2009 | + $node->type = 'profile'; |
|
2010 | + $node->language = ''; |
|
2011 | + $nid = content_profile_profile_exists($node, $account->uid); |
|
2012 | + $profile = node_load($nid); |
|
2013 | + $profile->moderate = 0; |
|
2014 | + $profile->status = 1; |
|
2015 | + node_save($profile); |
|
2016 | + drupal_set_message('This profile has been marked as approved.'); |
|
2017 | + drupal_goto(); |
|
2018 | 2018 | } |
2019 | 2019 | |
2020 | 2020 | /** |
2021 | 2021 | * Mark a user profile as rejected and notify the user of the reason. |
2022 | 2022 | */ |
2023 | 2023 | function boincuser_moderate_profile_reject($uid, $reason = '') { |
2024 | - $account = user_load($uid); |
|
2025 | - $node = new stdClass; |
|
2026 | - $node->type = 'profile'; |
|
2027 | - $node->language = ''; |
|
2028 | - $nid = content_profile_profile_exists($node, $uid); |
|
2029 | - $profile = node_load($nid); |
|
2030 | - if ($profile->nid) { |
|
2024 | + $account = user_load($uid); |
|
2025 | + $node = new stdClass; |
|
2026 | + $node->type = 'profile'; |
|
2027 | + $node->language = ''; |
|
2028 | + $nid = content_profile_profile_exists($node, $uid); |
|
2029 | + $profile = node_load($nid); |
|
2030 | + if ($profile->nid) { |
|
2031 | 2031 | global $user; |
2032 | 2032 | global $base_url; |
2033 | 2033 | global $base_path; |
@@ -2038,64 +2038,64 @@ discard block |
||
2038 | 2038 | $profile->status = 0; |
2039 | 2039 | node_save($profile); |
2040 | 2040 | $settings = array( |
2041 | - 'from' => '', |
|
2042 | - 'subject' => "Profile moderation at {$site_name}", |
|
2043 | - 'message' => '' |
|
2044 | - . "{$account->boincuser_name},\n" |
|
2045 | - . "\n" |
|
2046 | - . "{$moderator->boincuser_name} has rejected your profile at" |
|
2047 | - . " {$site_name} for the following reason: \n" |
|
2048 | - . "\n" |
|
2049 | - . "{$reason}\n" |
|
2050 | - . "\n" |
|
2051 | - . "\n" |
|
2052 | - . "Since it has not been approved, your profile is not visible to other" |
|
2053 | - . " {$site_name} users. Please make the needed changes here:\n" |
|
2054 | - . "\n" |
|
2055 | - . "{$site_url}account/profile \n" |
|
2056 | - . "\n" |
|
2057 | - . "Thanks, \n" |
|
2058 | - . "\n" |
|
2059 | - . "{$site_name} support team", |
|
2041 | + 'from' => '', |
|
2042 | + 'subject' => "Profile moderation at {$site_name}", |
|
2043 | + 'message' => '' |
|
2044 | + . "{$account->boincuser_name},\n" |
|
2045 | + . "\n" |
|
2046 | + . "{$moderator->boincuser_name} has rejected your profile at" |
|
2047 | + . " {$site_name} for the following reason: \n" |
|
2048 | + . "\n" |
|
2049 | + . "{$reason}\n" |
|
2050 | + . "\n" |
|
2051 | + . "\n" |
|
2052 | + . "Since it has not been approved, your profile is not visible to other" |
|
2053 | + . " {$site_name} users. Please make the needed changes here:\n" |
|
2054 | + . "\n" |
|
2055 | + . "{$site_url}account/profile \n" |
|
2056 | + . "\n" |
|
2057 | + . "Thanks, \n" |
|
2058 | + . "\n" |
|
2059 | + . "{$site_name} support team", |
|
2060 | 2060 | ); |
2061 | 2061 | rules_action_mail_to_user($account, $settings); |
2062 | 2062 | drupal_set_message('This profile has been marked as rejected.'); |
2063 | - } |
|
2064 | - drupal_goto(); |
|
2063 | + } |
|
2064 | + drupal_goto(); |
|
2065 | 2065 | } |
2066 | 2066 | |
2067 | 2067 | /** |
2068 | 2068 | * Ban a user and send a notification of the reason. |
2069 | 2069 | */ |
2070 | 2070 | function boincuser_moderate_user_ban($uid, $reason = '', $duration = '') { |
2071 | - if (user_access('assign community member role') |
|
2071 | + if (user_access('assign community member role') |
|
2072 | 2072 | OR user_access('assign all roles')) { |
2073 | 2073 | $account = user_load($uid); |
2074 | 2074 | if ($account->uid) { |
2075 | - module_load_include('inc', 'rules', 'modules/system.rules'); |
|
2076 | - if ($duration === '') { |
|
2075 | + module_load_include('inc', 'rules', 'modules/system.rules'); |
|
2076 | + if ($duration === '') { |
|
2077 | 2077 | $duration = variable_get('boinc_penalty_period', 7*24*60*60); |
2078 | - } |
|
2079 | - $penalty_expiration = ($duration > 0) ? time() + $duration : 4294967295; |
|
2080 | - $boincuser_record = array( |
|
2078 | + } |
|
2079 | + $penalty_expiration = ($duration > 0) ? time() + $duration : 4294967295; |
|
2080 | + $boincuser_record = array( |
|
2081 | 2081 | 'uid' => $uid, |
2082 | 2082 | 'penalty_expiration' => $penalty_expiration, |
2083 | - ); |
|
2084 | - drupal_write_record('boincuser', $boincuser_record, 'uid'); |
|
2083 | + ); |
|
2084 | + drupal_write_record('boincuser', $boincuser_record, 'uid'); |
|
2085 | 2085 | |
2086 | - $community_role = array_search('community member', user_roles(true)); |
|
2087 | - if (isset($account->roles[$community_role])) { |
|
2086 | + $community_role = array_search('community member', user_roles(true)); |
|
2087 | + if (isset($account->roles[$community_role])) { |
|
2088 | 2088 | unset($account->roles[$community_role]); |
2089 | 2089 | user_save($account, array('roles' => $account->roles)); |
2090 | - } |
|
2090 | + } |
|
2091 | 2091 | |
2092 | - global $user; |
|
2093 | - global $base_url; |
|
2094 | - global $base_path; |
|
2095 | - $site_name = variable_get('site_name', 'Drupal-BOINC'); |
|
2096 | - $site_url = $base_url . $base_path; |
|
2097 | - $moderator = user_load($user->uid); |
|
2098 | - $settings = array( |
|
2092 | + global $user; |
|
2093 | + global $base_url; |
|
2094 | + global $base_path; |
|
2095 | + $site_name = variable_get('site_name', 'Drupal-BOINC'); |
|
2096 | + $site_url = $base_url . $base_path; |
|
2097 | + $moderator = user_load($user->uid); |
|
2098 | + $settings = array( |
|
2099 | 2099 | 'from' => '', |
2100 | 2100 | 'subject' => "User moderation at {$site_name}", |
2101 | 2101 | 'message' => '' |
@@ -2116,12 +2116,12 @@ discard block |
||
2116 | 2116 | . "Thanks, \n" |
2117 | 2117 | . "\n" |
2118 | 2118 | . "{$site_name} support team", |
2119 | - ); |
|
2120 | - rules_action_mail_to_user($account, $settings); |
|
2121 | - drupal_set_message('This user has been banned.'); |
|
2119 | + ); |
|
2120 | + rules_action_mail_to_user($account, $settings); |
|
2121 | + drupal_set_message('This user has been banned.'); |
|
2122 | 2122 | } |
2123 | - } |
|
2124 | - drupal_goto(); |
|
2123 | + } |
|
2124 | + drupal_goto(); |
|
2125 | 2125 | } |
2126 | 2126 | |
2127 | 2127 | |
@@ -2133,15 +2133,15 @@ discard block |
||
2133 | 2133 | * |
2134 | 2134 | */ |
2135 | 2135 | function boincuser_get_weak_auth($boinc_id = null) { |
2136 | - if (!$boinc_id) { |
|
2136 | + if (!$boinc_id) { |
|
2137 | 2137 | global $user; |
2138 | 2138 | $account = user_load($user->uid); |
2139 | 2139 | $boinc_id = $account->boincuser_id; |
2140 | - } |
|
2140 | + } |
|
2141 | 2141 | |
2142 | - $boinc_user = boincuser_load($account->boincuser_id); |
|
2142 | + $boinc_user = boincuser_load($account->boincuser_id); |
|
2143 | 2143 | |
2144 | - return weak_auth($boinc_user); |
|
2144 | + return weak_auth($boinc_user); |
|
2145 | 2145 | } |
2146 | 2146 | |
2147 | 2147 | /** |
@@ -2150,75 +2150,75 @@ discard block |
||
2150 | 2150 | * Drupal User so must be inserted into comments, etc. (not so by default) |
2151 | 2151 | */ |
2152 | 2152 | function boincuser_get_user_profile_image($uid, $avatar = TRUE) { |
2153 | - // Though the function name implies otherwise, get the avatar by default |
|
2154 | - $image_field = ($avatar) ? 'field_image_fid' : 'field_profile_image_fid'; |
|
2155 | - $image_fid = db_result(db_query(" |
|
2153 | + // Though the function name implies otherwise, get the avatar by default |
|
2154 | + $image_field = ($avatar) ? 'field_image_fid' : 'field_profile_image_fid'; |
|
2155 | + $image_fid = db_result(db_query(" |
|
2156 | 2156 | SELECT ctp.%s |
2157 | 2157 | FROM {content_type_profile} ctp |
2158 | 2158 | INNER JOIN {node} n ON ctp.nid = n.nid |
2159 | 2159 | WHERE n.uid = %d AND n.type = '%s'", |
2160 | 2160 | $image_field, $uid, 'profile')); |
2161 | - $user_image['image'] = field_file_load($image_fid); |
|
2162 | - if (!$user_image['image']['filepath']) { |
|
2161 | + $user_image['image'] = field_file_load($image_fid); |
|
2162 | + if (!$user_image['image']['filepath']) { |
|
2163 | 2163 | // Load the default image if one does not exist |
2164 | 2164 | $account = user_load($uid); |
2165 | 2165 | if ($avatar AND module_exists('gravatar') AND user_access('use gravatar', $account) AND $account->gravatar) { |
2166 | - // Use a Gravatar rather than the system default image |
|
2167 | - $options = array( |
|
2166 | + // Use a Gravatar rather than the system default image |
|
2167 | + $options = array( |
|
2168 | 2168 | 'size' => 100, |
2169 | 2169 | 'rating' => 'G', |
2170 | - ); |
|
2171 | - // Get the Gravatar URL and see if the image exists |
|
2172 | - $url = gravatar_get_gravatar($account->mail, $options); |
|
2173 | - $headers = @get_headers($url); |
|
2174 | - if (preg_match("|200|", $headers[0])) { |
|
2170 | + ); |
|
2171 | + // Get the Gravatar URL and see if the image exists |
|
2172 | + $url = gravatar_get_gravatar($account->mail, $options); |
|
2173 | + $headers = @get_headers($url); |
|
2174 | + if (preg_match("|200|", $headers[0])) { |
|
2175 | 2175 | return $url; |
2176 | - } |
|
2176 | + } |
|
2177 | 2177 | } |
2178 | 2178 | // Get default image if nothing else works |
2179 | 2179 | $content_node_widget_settings = db_result(db_query("SELECT widget_settings FROM {content_node_field_instance} WHERE field_name = '%s'", ($avatar ? 'field_image' : 'field_profile_image'))); |
2180 | 2180 | $content_node_widget_settings = unserialize($content_node_widget_settings); |
2181 | 2181 | $user_image['image'] = $content_node_widget_settings['default_image']; |
2182 | - } |
|
2183 | - $user = user_load($uid); |
|
2184 | - // Use boinc username for image alt/title attributes |
|
2185 | - $user_image['alt'] = $user->boincuser_name; |
|
2186 | - return $user_image; |
|
2182 | + } |
|
2183 | + $user = user_load($uid); |
|
2184 | + // Use boinc username for image alt/title attributes |
|
2185 | + $user_image['alt'] = $user->boincuser_name; |
|
2186 | + return $user_image; |
|
2187 | 2187 | } |
2188 | 2188 | |
2189 | 2189 | /** |
2190 | 2190 | * Generate a table of a user's projects |
2191 | 2191 | */ |
2192 | 2192 | function boincuser_get_projects_table($account = null) { |
2193 | - if ($account AND is_numeric($account)) { |
|
2193 | + if ($account AND is_numeric($account)) { |
|
2194 | 2194 | $account = user_load($account); |
2195 | - } |
|
2196 | - $projects = boincuser_get_projects($account); |
|
2197 | - if (!$projects) return bts('no projects...', array(), NULL, 'boinc:account-dashboard'); |
|
2195 | + } |
|
2196 | + $projects = boincuser_get_projects($account); |
|
2197 | + if (!$projects) return bts('no projects...', array(), NULL, 'boinc:account-dashboard'); |
|
2198 | 2198 | |
2199 | - $output = ''; |
|
2200 | - $output .= '<table class="user-projects">' . "\n"; |
|
2201 | - $output .= '<thead>' . "\n"; |
|
2202 | - $output .= ' <tr>' . "\n"; |
|
2203 | - $output .= ' <th>' . bts('Name', array(), NULL, 'boinc:project-name:-1:ignoreoverwrite') . '</th>' . "\n"; |
|
2204 | - $output .= ' <th class="numeric">' . bts('Avg credit', array(), NULL, 'boinc:account-dashboard') . '</th>' . "\n"; |
|
2205 | - $output .= ' <th class="numeric">' . bts('Total credit', array(), NULL, 'boinc:user-or-team-total-credits') . '</th>' . "\n"; |
|
2206 | - $output .= ' </tr>' . "\n"; |
|
2207 | - $output .= '</thead>' . "\n"; |
|
2208 | - $output .= '<tbody>' . "\n"; |
|
2209 | - foreach ($projects AS $project) { |
|
2199 | + $output = ''; |
|
2200 | + $output .= '<table class="user-projects">' . "\n"; |
|
2201 | + $output .= '<thead>' . "\n"; |
|
2202 | + $output .= ' <tr>' . "\n"; |
|
2203 | + $output .= ' <th>' . bts('Name', array(), NULL, 'boinc:project-name:-1:ignoreoverwrite') . '</th>' . "\n"; |
|
2204 | + $output .= ' <th class="numeric">' . bts('Avg credit', array(), NULL, 'boinc:account-dashboard') . '</th>' . "\n"; |
|
2205 | + $output .= ' <th class="numeric">' . bts('Total credit', array(), NULL, 'boinc:user-or-team-total-credits') . '</th>' . "\n"; |
|
2206 | + $output .= ' </tr>' . "\n"; |
|
2207 | + $output .= '</thead>' . "\n"; |
|
2208 | + $output .= '<tbody>' . "\n"; |
|
2209 | + foreach ($projects AS $project) { |
|
2210 | 2210 | $url = rtrim($project->url, '/') . '/show_user.php?userid=' . $project->id; |
2211 | 2211 | $output .= ' <tr>' . "\n"; |
2212 | 2212 | $output .= ' <td>' . l($project->name, $url) . '</td>' . "\n"; |
2213 | 2213 | $output .= ' <td class="numeric">' . boincwork_format_stats((float) $project->expavg_credit) . '</td>' . "\n"; |
2214 | 2214 | $output .= ' <td class="numeric">' . boincwork_format_stats((float) $project->total_credit) . '</td>' . "\n"; |
2215 | 2215 | $output .= ' </tr>' . "\n"; |
2216 | - } |
|
2217 | - $output .= '</tbody>' . "\n"; |
|
2218 | - $output .= '</table>' . "\n"; |
|
2219 | - $more_link = ($account) ? "user/{$account->uid}/stats" : 'account/stats'; |
|
2220 | - //$output .= "<div class=\"more-link\"><a href=\"{$more_link}\">More stats</a></div>" . "\n"; |
|
2221 | - return $output; |
|
2216 | + } |
|
2217 | + $output .= '</tbody>' . "\n"; |
|
2218 | + $output .= '</table>' . "\n"; |
|
2219 | + $more_link = ($account) ? "user/{$account->uid}/stats" : 'account/stats'; |
|
2220 | + //$output .= "<div class=\"more-link\"><a href=\"{$more_link}\">More stats</a></div>" . "\n"; |
|
2221 | + return $output; |
|
2222 | 2222 | } |
2223 | 2223 | |
2224 | 2224 | /** |
@@ -2226,25 +2226,25 @@ discard block |
||
2226 | 2226 | */ |
2227 | 2227 | function boincuser_get_stats_user_data($cpid = null) { |
2228 | 2228 | |
2229 | - // [TODO] Set this stuff in site config! |
|
2230 | - $stats_server = 'stats.gridrepublic.org'; |
|
2231 | - $stats_rpc = 'rpc/get_user.php'; |
|
2229 | + // [TODO] Set this stuff in site config! |
|
2230 | + $stats_server = 'stats.gridrepublic.org'; |
|
2231 | + $stats_rpc = 'rpc/get_user.php'; |
|
2232 | 2232 | |
2233 | - // Construct query string |
|
2234 | - $get = array( |
|
2233 | + // Construct query string |
|
2234 | + $get = array( |
|
2235 | 2235 | 'cpid' => $cpid |
2236 | - ); |
|
2237 | - $args = array(); |
|
2238 | - foreach ($get as $arg => $value) $args[] = "{$arg}=" . rawurlencode($value); |
|
2239 | - $query = '?' . implode('&', $args); |
|
2236 | + ); |
|
2237 | + $args = array(); |
|
2238 | + foreach ($get as $arg => $value) $args[] = "{$arg}=" . rawurlencode($value); |
|
2239 | + $query = '?' . implode('&', $args); |
|
2240 | 2240 | |
2241 | - // Load XML from RPC |
|
2242 | - $target_url = "http://{$stats_server}/{$stats_rpc}{$query}"; |
|
2243 | - $result = drupal_http_request($target_url); |
|
2244 | - if (in_array($result->code, array(200, 304))) { |
|
2241 | + // Load XML from RPC |
|
2242 | + $target_url = "http://{$stats_server}/{$stats_rpc}{$query}"; |
|
2243 | + $result = drupal_http_request($target_url); |
|
2244 | + if (in_array($result->code, array(200, 304))) { |
|
2245 | 2245 | return simplexml_load_string($result->data); |
2246 | - } |
|
2247 | - return NULL; |
|
2246 | + } |
|
2247 | + return NULL; |
|
2248 | 2248 | } |
2249 | 2249 | |
2250 | 2250 | /** |
@@ -2252,15 +2252,15 @@ discard block |
||
2252 | 2252 | */ |
2253 | 2253 | function boincuser_get_projects($account = null) { |
2254 | 2254 | |
2255 | - // Use the current user by default |
|
2256 | - if (!$account) { |
|
2255 | + // Use the current user by default |
|
2256 | + if (!$account) { |
|
2257 | 2257 | global $user; |
2258 | 2258 | $account = user_load($user->uid); |
2259 | - } |
|
2259 | + } |
|
2260 | 2260 | |
2261 | - $account_stats = boincuser_get_stats_user_data($account->boincuser_cpid); |
|
2261 | + $account_stats = boincuser_get_stats_user_data($account->boincuser_cpid); |
|
2262 | 2262 | |
2263 | - return ($account_stats AND isset($account_stats->project)) ? $account_stats->project : null; |
|
2263 | + return ($account_stats AND isset($account_stats->project)) ? $account_stats->project : null; |
|
2264 | 2264 | } |
2265 | 2265 | |
2266 | 2266 | |
@@ -2268,11 +2268,11 @@ discard block |
||
2268 | 2268 | * Get the links to display under the user profile |
2269 | 2269 | */ |
2270 | 2270 | function boincuser_get_profile_links($uid) { |
2271 | - global $user; |
|
2272 | - $account = user_load($uid); |
|
2273 | - $profile = content_profile_load('profile', $account->uid); |
|
2274 | - $output = ''; |
|
2275 | - if ($profile) { |
|
2271 | + global $user; |
|
2272 | + $account = user_load($uid); |
|
2273 | + $profile = content_profile_load('profile', $account->uid); |
|
2274 | + $output = ''; |
|
2275 | + if ($profile) { |
|
2276 | 2276 | $profile_is_approved = ($profile->status AND !$profile->moderate); |
2277 | 2277 | $user_is_moderator = user_access('edit any profile content'); |
2278 | 2278 | $is_own_profile = ($user->uid == $account->uid); |
@@ -2280,15 +2280,15 @@ discard block |
||
2280 | 2280 | $links = array(); |
2281 | 2281 | |
2282 | 2282 | if ($profile->moderate AND $user_is_moderator) { |
2283 | - $links['approve_profile'] = array( |
|
2283 | + $links['approve_profile'] = array( |
|
2284 | 2284 | 'title' => bts('Approve profile', array(), NULL, 'boinc:moderate-user'), |
2285 | 2285 | 'href' => "{$profile_moderation_path}/approve", |
2286 | 2286 | 'attributes' => array( |
2287 | - 'title' => bts('Approve this profile content', array(), NULL, 'boinc:moderate-user'), |
|
2288 | - 'class' => 'first primary tab', |
|
2287 | + 'title' => bts('Approve this profile content', array(), NULL, 'boinc:moderate-user'), |
|
2288 | + 'class' => 'first primary tab', |
|
2289 | 2289 | ) |
2290 | - ); |
|
2291 | - /*$links['edit_profile'] = array( |
|
2290 | + ); |
|
2291 | + /*$links['edit_profile'] = array( |
|
2292 | 2292 | 'title' => bts('Edit profile', array(), NULL, 'boinc:moderate-user'), |
2293 | 2293 | 'href' => "{$profile_moderation_path}/edit", |
2294 | 2294 | 'attributes' => array( |
@@ -2296,27 +2296,27 @@ discard block |
||
2296 | 2296 | 'class' => 'tab', |
2297 | 2297 | ) |
2298 | 2298 | );*/ |
2299 | - $links['reject_profile'] = array( |
|
2299 | + $links['reject_profile'] = array( |
|
2300 | 2300 | 'title' => bts('Reject profile', array(), NULL, 'boinc:moderate-user'), |
2301 | 2301 | 'href' => "{$profile_moderation_path}/reject", |
2302 | 2302 | 'attributes' => array( |
2303 | - 'title' => bts('Reject this profile content', array(), NULL, 'boinc:moderate-user'), |
|
2304 | - 'class' => 'tab', |
|
2303 | + 'title' => bts('Reject this profile content', array(), NULL, 'boinc:moderate-user'), |
|
2304 | + 'class' => 'tab', |
|
2305 | 2305 | ) |
2306 | - ); |
|
2306 | + ); |
|
2307 | 2307 | } |
2308 | 2308 | $output .= '<ul class="tab-list">'; |
2309 | 2309 | $count = 0; |
2310 | 2310 | foreach ($links as $key => $link) { |
2311 | - $output .= '<li class="' . (($count == 0) ? 'first primary ' : '') . 'tab">'; |
|
2312 | - $output .= l($link['title'], $link['href'], array('query' => drupal_get_destination())); |
|
2313 | - $output .= '</li>'; |
|
2314 | - $count++; |
|
2311 | + $output .= '<li class="' . (($count == 0) ? 'first primary ' : '') . 'tab">'; |
|
2312 | + $output .= l($link['title'], $link['href'], array('query' => drupal_get_destination())); |
|
2313 | + $output .= '</li>'; |
|
2314 | + $count++; |
|
2315 | 2315 | } |
2316 | 2316 | $output .= '<li class="' . (($count) ? '' : 'first ') . 'last tab">' . flag_create_link('abuse_user_meta', $account->uid) . '</li>'; |
2317 | 2317 | $output .= '</ul>'; |
2318 | - } |
|
2319 | - return $output; |
|
2318 | + } |
|
2319 | + return $output; |
|
2320 | 2320 | /* |
2321 | 2321 | <ul class="tab-list"> |
2322 | 2322 | <li class="primary first tab"> |
@@ -2353,36 +2353,36 @@ discard block |
||
2353 | 2353 | */ |
2354 | 2354 | function boincuser_apachesolr_index_documents_alter(array &$documents, $entity, $entity_type, $env_id) { |
2355 | 2355 | |
2356 | - foreach ($documents as $document) { |
|
2356 | + foreach ($documents as $document) { |
|
2357 | 2357 | if ( $document->entity_type=='node' AND $document->bundle=='profile' ) { |
2358 | - // Node information. |
|
2359 | - $nid = $document->entity_id; |
|
2360 | - $node = node_load($nid); |
|
2361 | - $account = user_load($node->uid); |
|
2362 | - |
|
2363 | - // Use boincuser name and not drupal user name |
|
2364 | - $document->label = apachesolr_clean_text($account->boincuser_name); |
|
2365 | - // Author information |
|
2366 | - if ($node->uid == 0 || strlen($node->name) == 0) { |
|
2358 | + // Node information. |
|
2359 | + $nid = $document->entity_id; |
|
2360 | + $node = node_load($nid); |
|
2361 | + $account = user_load($node->uid); |
|
2362 | + |
|
2363 | + // Use boincuser name and not drupal user name |
|
2364 | + $document->label = apachesolr_clean_text($account->boincuser_name); |
|
2365 | + // Author information |
|
2366 | + if ($node->uid == 0 || strlen($node->name) == 0) { |
|
2367 | 2367 | // @see user_validate_name(). !'0' === TRUE. |
2368 | 2368 | $document->ss_name = '0'; |
2369 | - } |
|
2370 | - else { |
|
2369 | + } |
|
2370 | + else { |
|
2371 | 2371 | $document->ss_name = $account->boincuser_name; |
2372 | 2372 | // We want the name to be searchable for keywords. |
2373 | 2373 | $document->tos_name = $account->boincuser_name; |
2374 | - } |
|
2374 | + } |
|
2375 | 2375 | |
2376 | - // Rename "Profle" to "User" |
|
2377 | - $document->bundle = "User"; |
|
2378 | - $document->bundle_name = "User"; |
|
2376 | + // Rename "Profle" to "User" |
|
2377 | + $document->bundle = "User"; |
|
2378 | + $document->bundle_name = "User"; |
|
2379 | 2379 | |
2380 | - // Replace the Solr document's created field with the date the user |
|
2381 | - // account was created. This replaces the node creation date typically |
|
2382 | - // used for indexing nodes. |
|
2383 | - $document->ds_created = apachesolr_date_iso($account->created); |
|
2380 | + // Replace the Solr document's created field with the date the user |
|
2381 | + // account was created. This replaces the node creation date typically |
|
2382 | + // used for indexing nodes. |
|
2383 | + $document->ds_created = apachesolr_date_iso($account->created); |
|
2384 | + } |
|
2384 | 2385 | } |
2385 | - } |
|
2386 | 2386 | |
2387 | 2387 | } |
2388 | 2388 | |
@@ -2394,23 +2394,23 @@ discard block |
||
2394 | 2394 | * Implementation of hook_privatemsg_name_lookup(); |
2395 | 2395 | */ |
2396 | 2396 | function boincuser_privatemsg_name_lookup($string) { |
2397 | - // Get the BOINC ID from the name string, and lookup the |
|
2398 | - // corresponding drupal user. |
|
2399 | - $boincname = substr($string, 0, strrpos($string, '_')); |
|
2400 | - $boincid = substr($string, strrpos($string, '_') + 1); |
|
2401 | - $drupalid = get_drupal_id($boincid); |
|
2402 | - |
|
2403 | - // Name has spaced replaced with special UTF-8 characters in |
|
2404 | - // privatemsg module. We need to convert them back to spaces for the |
|
2405 | - // check below. |
|
2406 | - $boincname = preg_replace("/\\xc2\\xa0/", " ", $boincname); |
|
2407 | - if ($drupalid>0) { |
|
2397 | + // Get the BOINC ID from the name string, and lookup the |
|
2398 | + // corresponding drupal user. |
|
2399 | + $boincname = substr($string, 0, strrpos($string, '_')); |
|
2400 | + $boincid = substr($string, strrpos($string, '_') + 1); |
|
2401 | + $drupalid = get_drupal_id($boincid); |
|
2402 | + |
|
2403 | + // Name has spaced replaced with special UTF-8 characters in |
|
2404 | + // privatemsg module. We need to convert them back to spaces for the |
|
2405 | + // check below. |
|
2406 | + $boincname = preg_replace("/\\xc2\\xa0/", " ", $boincname); |
|
2407 | + if ($drupalid>0) { |
|
2408 | 2408 | if ($recipient = user_load(array('uid' => $drupalid))) { |
2409 | - // Double-check that the loaded user matches both boincuser_id |
|
2410 | - // and boincuser_name. |
|
2411 | - if ( ($boincid == $recipient->boincuser_id) AND ($boincname == $recipient->boincuser_name) ) { |
|
2409 | + // Double-check that the loaded user matches both boincuser_id |
|
2410 | + // and boincuser_name. |
|
2411 | + if ( ($boincid == $recipient->boincuser_id) AND ($boincname == $recipient->boincuser_name) ) { |
|
2412 | 2412 | return $recipient; |
2413 | - } |
|
2413 | + } |
|
2414 | + } |
|
2414 | 2415 | } |
2415 | - } |
|
2416 | 2416 | } |