Passed
Pull Request — master (#3042)
by Christian
07:09
created
drupal/sites/default/boinc/modules/boincuser/boincuser.module 1 patch
Indentation   +836 added lines, -836 removed lines patch added patch discarded remove patch
@@ -27,44 +27,44 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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 ($account->uid > 1) {
304
+    require_boinc('password_compat/password');
305
+    // Handle BOINC integration for users with UID > 1 (skip anonymous and admin)
306
+    if ($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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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,35 +1279,35 @@  discard block
 block discarded – undo
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
     // Wrap action buttons for styling consistency
1308 1308
     $form['buttons']['form control tabs prefix'] = array(
1309
-      '#value' => '<ul class="form-control tab-list">',
1310
-      '#weight' => 1001,
1309
+        '#value' => '<ul class="form-control tab-list">',
1310
+        '#weight' => 1001,
1311 1311
     );
1312 1312
     $form['buttons']['submit'] = $form['submit'];
1313 1313
     $form['buttons']['submit']['#prefix'] = '<li class="first tab">';
@@ -1315,26 +1315,26 @@  discard block
 block discarded – undo
1315 1315
     $form['buttons']['submit']['#suffix'] = '</li>';
1316 1316
     $form['buttons']['submit']['#weight'] = 1002;
1317 1317
     $form['buttons']['cancel'] = array(
1318
-      '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), 'user/login') . '</li>',
1319
-      '#weight' => 1005,
1318
+        '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), 'user/login') . '</li>',
1319
+        '#weight' => 1005,
1320 1320
     );
1321 1321
     $form['buttons']['form control tabs suffix'] = array(
1322
-      '#value' => '</ul>',
1323
-      '#weight' => 1010,
1322
+        '#value' => '</ul>',
1323
+        '#weight' => 1010,
1324 1324
     );
1325 1325
     unset($form['submit']);
1326 1326
     
1327 1327
     // If the form is being submitted, use BOINC validation handler.
1328 1328
     if (isset($form_state['post']['name'])) {
1329
-      // Prepend the BOINC validation function to local validation
1330
-      array_unshift($form['#validate'], 'boincuser_request_pass_validate');
1329
+        // Prepend the BOINC validation function to local validation
1330
+        array_unshift($form['#validate'], 'boincuser_request_pass_validate');
1331 1331
     }
1332 1332
     break;
1333 1333
     
1334
-  case 'views_exposed_form':
1334
+    case 'views_exposed_form':
1335 1335
       $form['submit']['#value'] = bts('Search', array(), NULL, 'boinc:search-user');
1336 1336
     break;
1337
-  }
1337
+    }
1338 1338
 }
1339 1339
 
1340 1340
 /**
@@ -1342,10 +1342,10 @@  discard block
 block discarded – undo
1342 1342
  * built; this is called from boincuser_form_alter()
1343 1343
  */
1344 1344
 function boincuser_profile_node_form_after_build($form, &$form_state) {
1345
-  // Move to community prefs form
1346
-  $form_state['storage']['avatar'] = $form['field_image'];
1347
-  unset($form['field_image']);
1348
-  return $form;
1345
+    // Move to community prefs form
1346
+    $form_state['storage']['avatar'] = $form['field_image'];
1347
+    unset($form['field_image']);
1348
+    return $form;
1349 1349
 }
1350 1350
 
1351 1351
 /**
@@ -1353,8 +1353,8 @@  discard block
 block discarded – undo
1353 1353
  * @see http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_elements/6
1354 1354
  */
1355 1355
 function boincuser_elements() {
1356
-  $type['password_confirm']['#process'][] = 'boincuser_process_password_confirm';
1357
-  return $type;
1356
+    $type['password_confirm']['#process'][] = 'boincuser_process_password_confirm';
1357
+    return $type;
1358 1358
 }
1359 1359
 
1360 1360
 /**
@@ -1362,11 +1362,11 @@  discard block
 block discarded – undo
1362 1362
  * profile form
1363 1363
  */
1364 1364
 function boincuser_process_password_confirm($element) {
1365
-  // Check if parent element is "account".
1366
-  if ($element['#array_parents'][0] == 'account') {
1365
+    // Check if parent element is "account".
1366
+    if ($element['#array_parents'][0] == 'account') {
1367 1367
     $element['pass1']['#title'] = bts('Change password', array(), NULL, 'boinc:forgot-password');
1368
-  }
1369
-  return $element;
1368
+    }
1369
+    return $element;
1370 1370
 }
1371 1371
 
1372 1372
 /**
@@ -1374,40 +1374,40 @@  discard block
 block discarded – undo
1374 1374
  * Register theme functions for use in this module.
1375 1375
  */
1376 1376
 function boincuser_theme($existing, $type, $theme, $path) {
1377
-  return array(
1377
+    return array(
1378 1378
     'boincuser_user_pass' => array(
1379
-      'arguments' => array()
1379
+        'arguments' => array()
1380 1380
     )
1381
-  );
1381
+    );
1382 1382
 }
1383 1383
 
1384 1384
 /**
1385 1385
  * Implementation of hook_token_values
1386 1386
  */
1387 1387
 function boincuser_token_values($type, $object = NULL, $options = array()) {
1388
-  if ($type == 'user') {
1388
+    if ($type == 'user') {
1389 1389
     $account = user_load($object->uid);
1390 1390
     $tokens['display-name'] = $account->boincuser_name;
1391 1391
     return $tokens;
1392
-  }
1392
+    }
1393 1393
 }
1394 1394
 
1395 1395
 /**
1396 1396
  * Implementation of hook_token_list
1397 1397
  */
1398 1398
 function boincuser_token_list($type = 'all') {
1399
-  if ($type == 'user' || $type == 'all') {
1399
+    if ($type == 'user' || $type == 'all') {
1400 1400
     $tokens['user']['display-name']      = t("The user's name that should be displayed");
1401 1401
     return $tokens;
1402
-  }
1402
+    }
1403 1403
 }
1404 1404
 
1405 1405
 /**
1406 1406
  * Implementation of hook_views_pre_execute()
1407 1407
  */
1408 1408
 function boincuser_views_pre_execute(&$view) {
1409
-  $account_id = $view->args[0];
1410
-  if ($view->name=="user_activity") {
1409
+    $account_id = $view->args[0];
1410
+    if ($view->name=="user_activity") {
1411 1411
     // Run the following custom query for the user_activity view
1412 1412
     $view->build_info['query']= "
1413 1413
       SELECT node_revisions.vid AS vid,
@@ -1439,25 +1439,25 @@  discard block
 block discarded – undo
1439 1439
     
1440 1440
     // count_query determines the pager.  Do this so the right item count is returned.
1441 1441
     $view->build_info['count_query'] = $view->build_info['query'];
1442
-  }
1442
+    }
1443 1443
 }
1444 1444
 
1445 1445
 /**
1446 1446
  * Implementation of hook_cron()
1447 1447
  */
1448 1448
 function boincuser_cron() {
1449
-  // Delete expired users in the BOINC database, user_delete table.
1450
-  require_boinc('boinc_db');
1451
-  $num_deleted = BoincUserDeleted::delete_expired();
1452
-  if ($num_deleted>0) {
1449
+    // Delete expired users in the BOINC database, user_delete table.
1450
+    require_boinc('boinc_db');
1451
+    $num_deleted = BoincUserDeleted::delete_expired();
1452
+    if ($num_deleted>0) {
1453 1453
     watchdog('boincuser', "Deleted ${num_deleted} users from user_deleted table", WATCHDOG_NOTICE);
1454
-  }
1454
+    }
1455 1455
 
1456
-  // Delete expired tokens from token table
1457
-  $tokens_deleted = BoincToken::delete_expired();
1458
-  if ($tokens_deleted>0) {
1456
+    // Delete expired tokens from token table
1457
+    $tokens_deleted = BoincToken::delete_expired();
1458
+    if ($tokens_deleted>0) {
1459 1459
     watchdog('boincuser', "Deleted ${tokens_deleted} tokens from token table", WATCHDOG_NOTICE);
1460
-  }
1460
+    }
1461 1461
 }
1462 1462
 
1463 1463
 /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
@@ -1468,17 +1468,17 @@  discard block
 block discarded – undo
1468 1468
  * Page callback shortcut to recent posts for the logged in user
1469 1469
  */
1470 1470
 function boincuser_goto_recent_posts() {
1471
-  global $user;
1472
-  drupal_goto("account/{$user->uid}/posts");
1471
+    global $user;
1472
+    drupal_goto("account/{$user->uid}/posts");
1473 1473
 }
1474 1474
 
1475 1475
 /**
1476 1476
  * Page callback shortcut to the team of the logged in user
1477 1477
  */
1478 1478
 function boincuser_goto_team() {
1479
-  global $user;
1480
-  $account = user_load($user->uid);
1481
-  drupal_goto("community/teams/{$account->team}");
1479
+    global $user;
1480
+    $account = user_load($user->uid);
1481
+    drupal_goto("community/teams/{$account->team}");
1482 1482
 }
1483 1483
 
1484 1484
 /**
@@ -1487,93 +1487,93 @@  discard block
 block discarded – undo
1487 1487
  * user profile pages, so use a wrapper for display
1488 1488
  */
1489 1489
 function boincuser_view_profile($account = null) {
1490
-  // Create the user profile page
1491
-  if (!$account) {
1490
+    // Create the user profile page
1491
+    if (!$account) {
1492 1492
     global $user;
1493 1493
     $account = $user;
1494
-  }
1494
+    }
1495 1495
 
1496
-  $min_credit_to_post = variable_get('boinc_comment_min_credit', 0);
1497
-  $verified_contributor = array_search('verified contributor', user_roles(true));
1498
-  if (!isset($account->roles[$verified_contributor])) {
1496
+    $min_credit_to_post = variable_get('boinc_comment_min_credit', 0);
1497
+    $verified_contributor = array_search('verified contributor', user_roles(true));
1498
+    if (!isset($account->roles[$verified_contributor])) {
1499 1499
     drupal_set_message(bts(
1500 1500
         'You may only create or modify your user profile after earning @count credits.',
1501 1501
         array('@count' => $min_credit_to_post), NULL, 'boinc:view-profile'
1502 1502
     ), 'warning', FALSE);
1503
-  }
1503
+    }
1504 1504
 
1505
-  // For now, just call the user module profile view function
1506
-  user_build_content($account);
1507
-  return theme('user_profile', $account);
1505
+    // For now, just call the user module profile view function
1506
+    user_build_content($account);
1507
+    return theme('user_profile', $account);
1508 1508
 }
1509 1509
 
1510 1510
 /**
1511 1511
  * Page callback for editing a user profile
1512 1512
  */
1513 1513
 function boincuser_edit_profile($account = null) {
1514
-  // Create the user profile form
1515
-  if (!$account) {
1514
+    // Create the user profile form
1515
+    if (!$account) {
1516 1516
     global $user;
1517 1517
     $account = $user;
1518
-  }
1519
-  // Render the form
1520
-  module_load_include('pages.inc', 'node', 'node');
1521
-  return content_profile_page_edit('profile', $account);
1518
+    }
1519
+    // Render the form
1520
+    module_load_include('pages.inc', 'node', 'node');
1521
+    return content_profile_page_edit('profile', $account);
1522 1522
 }
1523 1523
 
1524 1524
 /**
1525
-  * Join page menu callback.
1526
-  * Display instructions on joining for new or existing BOINC users
1527
-  */
1525
+ * Join page menu callback.
1526
+ * Display instructions on joining for new or existing BOINC users
1527
+ */
1528 1528
 function join_page($type = null) {
1529
-  global $base_url;
1530
-  /* The paths/links to the rules-and-policies page is hardcoded
1529
+    global $base_url;
1530
+    /* The paths/links to the rules-and-policies page is hardcoded
1531 1531
    * here. An improvement would be admin settings for the Join Page
1532 1532
    * where this path could be set.
1533 1533
    */
1534
-  $ruleslinkA = 'rules-and-policies';
1535
-  $ruleslinkB = 'content/rules-and-policies';
1536
-  $site_name = variable_get('site_name', 'Drupal-BOINC');
1537
-  $registration_enabled = variable_get('user_register', 0);
1538
-  $output = '<div class="join">';
1539
-  switch ($type) {
1540
-  case 'boinc':
1534
+    $ruleslinkA = 'rules-and-policies';
1535
+    $ruleslinkB = 'content/rules-and-policies';
1536
+    $site_name = variable_get('site_name', 'Drupal-BOINC');
1537
+    $registration_enabled = variable_get('user_register', 0);
1538
+    $output = '<div class="join">';
1539
+    switch ($type) {
1540
+    case 'boinc':
1541 1541
     $output .= '<ol>';
1542 1542
     if ($registration_enabled) {
1543
-      $output .= '<li>' . bts('First !create_an_account here at @sitename.',
1544
-      array(
1543
+        $output .= '<li>' . bts('First !create_an_account here at @sitename.',
1544
+        array(
1545 1545
         '!create_an_account' => l(bts('create an account', array(), NULL, 'boinc:join-page'), 'user/registration'),
1546 1546
         '@sitename' => $site_name,
1547
-      ), NULL, 'boinc:join-page') . '</li>';
1547
+        ), NULL, 'boinc:join-page') . '</li>';
1548 1548
     }
1549 1549
     $output .= '  <li>' . bts("Install BOINC on this device if not already present.", array(), NULL, 'boinc:join-page') . '</li>';
1550 1550
     $output .= '  <li>' . bts("Select <i>Tools / Add Project</i>. Choose @sitename from the list, or enter @siteurl.",
1551 1551
     array(
1552
-      '@sitename' => $site_name,
1553
-      '@siteurl' => $base_url,
1552
+        '@sitename' => $site_name,
1553
+        '@siteurl' => $base_url,
1554 1554
     ), NULL, 'boinc:join-page') . '</li>';
1555 1555
     if ($registration_enabled) {
1556
-      $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.",
1556
+        $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.",
1557 1557
         array(
1558
-          '!boinccmd' => l('boinccmd --project_attach', 'http://boinc.berkeley.edu/wiki/Boinccmd_tool'),
1558
+            '!boinccmd' => l('boinccmd --project_attach', 'http://boinc.berkeley.edu/wiki/Boinccmd_tool'),
1559 1559
         ), NULL, 'boinc:join-page') . '</li>';
1560 1560
     }
1561 1561
     else {
1562
-      $output .= '<li>' . bts("If you're running a command-line version of BOINC,
1562
+        $output .= '<li>' . bts("If you're running a command-line version of BOINC,
1563 1563
         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.",
1564 1564
         array(
1565
-          '!instructionslink' => l('instructions', 'http://boinc.berkeley.edu/wiki/Boinccmd_tool'),
1565
+            '!instructionslink' => l('instructions', 'http://boinc.berkeley.edu/wiki/Boinccmd_tool'),
1566 1566
         ), NULL, 'boinc:join-page') . '</li>';
1567 1567
     }
1568 1568
     $output .= '<li>' . bts("If you're running a pre-5.0 version of BOINC, please
1569 1569
       upgrade to a more recent version of BOINC to create an account
1570 1570
       at @this_project.",
1571
-      array(
1571
+        array(
1572 1572
         '@this_project' => $site_name,
1573
-      ), NULL, 'boinc:join-page') . '</li>';
1573
+        ), NULL, 'boinc:join-page') . '</li>';
1574 1574
     $output .=  '</ol>';
1575 1575
     break;
1576
-  case 'new':
1576
+    case 'new':
1577 1577
   default:
1578 1578
     // Determine if there is a link to rules-and-policies
1579 1579
     //$ruleslink='';
@@ -1588,16 +1588,16 @@  discard block
 block discarded – undo
1588 1588
     // Join page output
1589 1589
     $output .= '<ol>';
1590 1590
     if ($registration_enabled) {
1591
-      $output .= '<li>' . bts('First !create_an_account here at @sitename.',
1592
-      array(
1591
+        $output .= '<li>' . bts('First !create_an_account here at @sitename.',
1592
+        array(
1593 1593
         '!create_an_account' => l(bts('create an account', array(), NULL, 'boinc:join-page'), 'user/registration'),
1594 1594
         '@sitename' => $site_name,
1595
-      ), NULL, 'boinc:join-page') . '</li>';
1595
+        ), NULL, 'boinc:join-page') . '</li>';
1596 1596
     }
1597 1597
     else if ( menu_valid_path(array('link_path' => $ruleslink)) ) {
1598
-      $output .= '  <li>' . bts("Read our !rules_and_policies.", array(
1598
+        $output .= '  <li>' . bts("Read our !rules_and_policies.", array(
1599 1599
         '!rules_and_policies' => l(bts('Rules and Policies', array(), NULL, 'boinc:join-page'), $ruleslink),
1600
-      ), NULL, 'boinc:join-page') . '</li>';
1600
+        ), NULL, 'boinc:join-page') . '</li>';
1601 1601
     }
1602 1602
     $output .= '  <li>' . bts('Download the BOINC desktop software.', array(), NULL, 'boinc:join-page');
1603 1603
     $output .= '    <p>';
@@ -1607,73 +1607,73 @@  discard block
 block discarded – undo
1607 1607
     $output .= '  </li>';
1608 1608
     $output .= '  <li>' . bts('Run the installer.', array(), NULL, 'boinc:join-page') . '</li>';
1609 1609
     $output .= '  <li>' . bts('Choose @sitename from the list, or enter @siteurl.', array(
1610
-      '@sitename' => $site_name,
1611
-      '@siteurl' => $base_url,
1610
+        '@sitename' => $site_name,
1611
+        '@siteurl' => $base_url,
1612 1612
     ), NULL, 'boinc:join-page') . '</li>';
1613 1613
     $output .=  '</ol>';
1614
-  }
1615
-  $output .= '</div>';
1616
-  return $output;
1614
+    }
1615
+    $output .= '</div>';
1616
+    return $output;
1617 1617
 }
1618 1618
 
1619 1619
 /**
1620
-  * Home page content for embedding in Panels page
1621
-  */
1620
+ * Home page content for embedding in Panels page
1621
+ */
1622 1622
 function boincuser_home_page() {
1623
-  global $user;
1624
-  $site_name = variable_get('site_name', 'Drupal-BOINC');
1625
-  // get the front page message from database; this is set in the admin interface under BOINC Other
1626
-  $site_message = variable_get('boinc_other_frontpage','');
1623
+    global $user;
1624
+    $site_name = variable_get('site_name', 'Drupal-BOINC');
1625
+    // get the front page message from database; this is set in the admin interface under BOINC Other
1626
+    $site_message = variable_get('boinc_other_frontpage','');
1627 1627
 
1628
-  // Determine the user of the day
1629
-  $current_uotd = db_fetch_object(db_query("
1628
+    // Determine the user of the day
1629
+    $current_uotd = db_fetch_object(db_query("
1630 1630
     SELECT
1631 1631
       uid,
1632 1632
       uotd_time
1633 1633
     FROM {boincuser}
1634 1634
     ORDER BY uotd_time DESC
1635 1635
     LIMIT 1"
1636
-  ));
1637
-  if ($current_uotd->uotd_time < strtotime('today midnight')) {
1636
+    ));
1637
+    if ($current_uotd->uotd_time < strtotime('today midnight')) {
1638 1638
     $uotd = boincuser_select_user_of_the_day();
1639
-  }
1640
-  else {
1639
+    }
1640
+    else {
1641 1641
     $uotd = user_load($current_uotd->uid);
1642
-  }
1643
-  $uotd_image = boincuser_get_user_profile_image($uotd->uid, FALSE);
1644
-  $output = '<h2 class="pane-title">';
1645
-  $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'));
1646
-  $output .= '</h2>';
1647
-  $output .= '<div class="boinc-overview balance-height-front">';
1648
-  $output .= '  <div>' . bts($site_message, array(), NULL, "project:front page") . ' ' . l(bts('Learn more', array(), NULL, 'boinc:front-page'), 'about') . '</div>';
1649
-  if ($user->uid) {
1642
+    }
1643
+    $uotd_image = boincuser_get_user_profile_image($uotd->uid, FALSE);
1644
+    $output = '<h2 class="pane-title">';
1645
+    $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'));
1646
+    $output .= '</h2>';
1647
+    $output .= '<div class="boinc-overview balance-height-front">';
1648
+    $output .= '  <div>' . bts($site_message, array(), NULL, "project:front page") . ' ' . l(bts('Learn more', array(), NULL, 'boinc:front-page'), 'about') . '</div>';
1649
+    if ($user->uid) {
1650 1650
     $output .= '  <div>' . l(bts('View account', array(), NULL, 'boinc:front-page'), 'dashboard', array('attributes' => array('class' => 'join button'))) . '</div>';
1651
-  }
1652
-  else {
1651
+    }
1652
+    else {
1653 1653
     $output .= '  <div>' . l(bts('Join now', array(), NULL, 'boinc:front-page'), 'join', array('attributes' => array('class' => 'join button'))) . '</div>';
1654
-  }
1655
-  $output .= '</div>';
1656
-  $output .= '<div class="boinc-overview-details">';
1657
-  $output .= '  <div class="detail-container">';
1658
-  $output .= '    <a class="user-of-the-day" href="account/' . $uotd->uid . '">';
1659
-  $output .= '      <div class="picture">';
1660
-  $output .= theme('imagefield_image', $uotd_image['image'], $uotd_image['alt'],
1654
+    }
1655
+    $output .= '</div>';
1656
+    $output .= '<div class="boinc-overview-details">';
1657
+    $output .= '  <div class="detail-container">';
1658
+    $output .= '    <a class="user-of-the-day" href="account/' . $uotd->uid . '">';
1659
+    $output .= '      <div class="picture">';
1660
+    $output .= theme('imagefield_image', $uotd_image['image'], $uotd_image['alt'],
1661 1661
     $uotd_image['alt'], array(), FALSE);
1662
-  $output .= '      </div>';
1663
-  $output .= '      <div class="text">' . bts('User of the day', array(), NULL, 'boinc:front-page') . '</div>';
1664
-  $output .= '      <div class="detail">' . $uotd->boincuser_name . '</div>';
1665
-  $output .= '    </a>';
1666
-  $output .= '    <div class="volunteers">';
1667
-  $output .= '      <div class="text">' . bts('Over 500,000 volunteers and counting.', array(), NULL, 'boinc:front-page') . '</div>';
1668
-  $output .= '      <div class="platforms">';
1669
-  $output .= '        <div class="detail platform windows">' . bts('Windows', array(), NULL, 'boinc:front-page') . '</div>';
1670
-  $output .= '        <div class="detail platform mac">' .  bts('Mac', array(), NULL, 'boinc:front-page') . '</div>';
1671
-  $output .= '        <div class="detail platform linux">' . bts('Linux', array(), NULL, 'boinc:front-page') . '</div>';
1672
-  $output .= '      </div>';
1673
-  $output .= '    </div>';
1674
-  $output .= '  </div>';
1675
-  $output .= '</div>';
1676
-  return $output;
1662
+    $output .= '      </div>';
1663
+    $output .= '      <div class="text">' . bts('User of the day', array(), NULL, 'boinc:front-page') . '</div>';
1664
+    $output .= '      <div class="detail">' . $uotd->boincuser_name . '</div>';
1665
+    $output .= '    </a>';
1666
+    $output .= '    <div class="volunteers">';
1667
+    $output .= '      <div class="text">' . bts('Over 500,000 volunteers and counting.', array(), NULL, 'boinc:front-page') . '</div>';
1668
+    $output .= '      <div class="platforms">';
1669
+    $output .= '        <div class="detail platform windows">' . bts('Windows', array(), NULL, 'boinc:front-page') . '</div>';
1670
+    $output .= '        <div class="detail platform mac">' .  bts('Mac', array(), NULL, 'boinc:front-page') . '</div>';
1671
+    $output .= '        <div class="detail platform linux">' . bts('Linux', array(), NULL, 'boinc:front-page') . '</div>';
1672
+    $output .= '      </div>';
1673
+    $output .= '    </div>';
1674
+    $output .= '  </div>';
1675
+    $output .= '</div>';
1676
+    return $output;
1677 1677
 }
1678 1678
 
1679 1679
 /**
@@ -1681,81 +1681,81 @@  discard block
 block discarded – undo
1681 1681
  * Create a new user account based on supplied parameters.
1682 1682
  */
1683 1683
 function boincuser_create_account() {
1684
-  global $base_url;
1684
+    global $base_url;
1685 1685
 
1686
-  require_boinc('boinc_db');
1687
-  require_boinc('user_util');
1688
-  require_boinc('xml');
1689
-  $params = array(
1686
+    require_boinc('boinc_db');
1687
+    require_boinc('user_util');
1688
+    require_boinc('xml');
1689
+    $params = array(
1690 1690
     'email_addr' => isset($_GET['email_addr']) ? $_GET['email_addr'] : '',
1691 1691
     'user_name' => isset($_GET['user_name']) ? $_GET['user_name'] : '',
1692 1692
     'passwd_hash' => isset($_GET['passwd_hash']) ? $_GET['passwd_hash'] : ''
1693
-  );
1693
+    );
1694 1694
   
1695
-  // Begin output
1696
-  xml_header();
1695
+    // Begin output
1696
+    xml_header();
1697 1697
   
1698
-  // Account creation disabled
1699
-  $enablethisRPC = variable_get('boinc_weboptions_enableaccountcreateRPC', TRUE);
1700
-  if (!$enablethisRPC) {
1698
+    // Account creation disabled
1699
+    $enablethisRPC = variable_get('boinc_weboptions_enableaccountcreateRPC', TRUE);
1700
+    if (!$enablethisRPC) {
1701 1701
     $mess = bts('Account creation is done through our Web site. Please register at @url', array(
1702
-      '@url' => $base_url . '/user/registration',
1702
+        '@url' => $base_url . '/user/registration',
1703 1703
     ),
1704 1704
     NULL, 'boinc:create_account');
1705 1705
     xml_error(-208, $mess);
1706
-  }
1707
-  // Invalid invite code
1706
+    }
1707
+    // Invalid invite code
1708 1708
   
1709
-  // Validate input
1710
-  if (user_validate_mail($params['email_addr']) or !is_valid_email_addr($params['email_addr'])) {
1709
+    // Validate input
1710
+    if (user_validate_mail($params['email_addr']) or !is_valid_email_addr($params['email_addr'])) {
1711 1711
     xml_error(-205);
1712
-  }
1712
+    }
1713 1713
 
1714
-  // Make sure user_name is unique and cleaned
1715
-  $unique_name = create_proper_drupalname($params['user_name']);
1716
-  if ($error = user_validate_name($unique_name)) {
1714
+    // Make sure user_name is unique and cleaned
1715
+    $unique_name = create_proper_drupalname($params['user_name']);
1716
+    if ($error = user_validate_name($unique_name)) {
1717 1717
     xml_error(-188, $error);
1718
-  }
1719
-  if (strlen($params['passwd_hash']) != 32) {
1718
+    }
1719
+    if (strlen($params['passwd_hash']) != 32) {
1720 1720
     xml_error(-1, 'password hash length not 32');
1721
-  }
1721
+    }
1722 1722
   
1723
-  // Process input
1724
-  // Check this email against previous email addresses.
1725
-  $tmpuser = BoincUser::lookup_prev_email_addr($params['email_addr']);
1726
-  if ($tmpuser) {
1723
+    // Process input
1724
+    // Check this email against previous email addresses.
1725
+    $tmpuser = BoincUser::lookup_prev_email_addr($params['email_addr']);
1726
+    if ($tmpuser) {
1727 1727
     xml_error(-137);
1728
-  }
1728
+    }
1729 1729
 
1730
-  // Check this email on current email addresses.
1731
-  $boinc_user = BoincUser::lookup_email_addr($params['email_addr']);
1732
-  if ($boinc_user) {
1730
+    // Check this email on current email addresses.
1731
+    $boinc_user = BoincUser::lookup_email_addr($params['email_addr']);
1732
+    if ($boinc_user) {
1733 1733
     // Return authenticator for existing users
1734 1734
     if ( ($params['passwd_hash'] == $boinc_user->passwd_hash) or
1735 1735
     password_verify($params['passwd_hash'], $boinc_user->passwd_hash) ) {
1736
-      $output = array('authenticator' => $boinc_user->authenticator);
1736
+        $output = array('authenticator' => $boinc_user->authenticator);
1737 1737
     }
1738 1738
     else {
1739
-      xml_error(-137);
1739
+        xml_error(-137);
1740 1740
     }
1741
-  }
1742
-  else {
1741
+    }
1742
+    else {
1743 1743
     // Verify that there isn't somehow a Drupal user already (not possible with proper function)
1744 1744
     if ($existing_user = user_load(array('mail' => $params['email_addr']))) {
1745
-      xml_error(-137, 'account error');
1745
+        xml_error(-137, 'account error');
1746 1746
     }
1747 1747
     // Create new account
1748 1748
     $unrestricted_role = array_search('community member', user_roles(true));
1749 1749
 
1750 1750
     $newUser = array(
1751
-      'name' => $unique_name,
1752
-      '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
1753
-      'mail' => $params['email_addr'],
1754
-      'status' => 1,
1755
-      'init' => $params['email_addr'],
1756
-      'roles' => array($unrestricted_role => ''),
1757
-      'boincuser_name' => $params['user_name'],
1758
-      'boinchash_flag' => TRUE,
1751
+        'name' => $unique_name,
1752
+        '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
1753
+        'mail' => $params['email_addr'],
1754
+        'status' => 1,
1755
+        'init' => $params['email_addr'],
1756
+        'roles' => array($unrestricted_role => ''),
1757
+        'boincuser_name' => $params['user_name'],
1758
+        'boinchash_flag' => TRUE,
1759 1759
     );
1760 1760
 
1761 1761
     // Create the drupal user. If the drupal user cannot be created,
@@ -1763,17 +1763,17 @@  discard block
 block discarded – undo
1763 1763
     // The user is created in the 'insert' op in hook_user.
1764 1764
     $user = user_save(null, $newUser);
1765 1765
     if (!$user) {
1766
-      watchdog('boincuser', 'create_account: Failed to create Drupal user account for @email', array('@email' => $params['email_addr']), WATCHDOG_WARNING);
1767
-      xml_error(-137, 'error creating BOINC account');
1766
+        watchdog('boincuser', 'create_account: Failed to create Drupal user account for @email', array('@email' => $params['email_addr']), WATCHDOG_WARNING);
1767
+        xml_error(-137, 'error creating BOINC account');
1768 1768
     }// if drupal user created.
1769 1769
 
1770 1770
     $output = array('authenticator' => $user->boincuser_account_key);
1771
-  }// if existing user found.
1771
+    }// if existing user found.
1772 1772
 
1773
-  // Output authenticator
1774
-  echo " <account_out>\n";
1775
-  echo "   <authenticator>{$output['authenticator']}</authenticator>\n";
1776
-  echo "</account_out>\n";
1773
+    // Output authenticator
1774
+    echo " <account_out>\n";
1775
+    echo "   <authenticator>{$output['authenticator']}</authenticator>\n";
1776
+    echo "</account_out>\n";
1777 1777
 }
1778 1778
 
1779 1779
 /**
@@ -1781,166 +1781,166 @@  discard block
 block discarded – undo
1781 1781
  * account is created using the BOINC clinet.
1782 1782
  */
1783 1783
 function boincuser_account_finish() {
1784
-  global $user;
1784
+    global $user;
1785 1785
 
1786
-  $authtoken = isset($_GET['auth']) ? $_GET['auth'] : '';
1786
+    $authtoken = isset($_GET['auth']) ? $_GET['auth'] : '';
1787 1787
 
1788
-  // Ensure there is a authentication token before continuing
1789
-  if (empty($authtoken)) {
1788
+    // Ensure there is a authentication token before continuing
1789
+    if (empty($authtoken)) {
1790 1790
     drupal_not_found();
1791 1791
     return ;
1792
-  }
1792
+    }
1793 1793
 
1794
-  if (strlen($authtoken) != 32) {
1794
+    if (strlen($authtoken) != 32) {
1795 1795
     drupal_set_message(bts('ERROR: There is no account with that authenticator.', array(), NULL, 'boinc:account-finish'), 'error');
1796 1796
     drupal_goto();
1797
-  }
1797
+    }
1798 1798
 
1799
-  require_boinc('boinc_db');
1800
-  $boinc_user = BoincUser::lookup("authenticator='".addslashes($authtoken)."'");
1801
-  if (!$boinc_user) {
1799
+    require_boinc('boinc_db');
1800
+    $boinc_user = BoincUser::lookup("authenticator='".addslashes($authtoken)."'");
1801
+    if (!$boinc_user) {
1802 1802
     drupal_set_message(bts('ERROR: There is no account with that authenticator.', array(), NULL, 'boinc:account-finish'), 'error');
1803 1803
     drupal_goto();
1804
-  }
1805
-  $user = user_load(get_drupal_id($boinc_user->id));
1804
+    }
1805
+    $user = user_load(get_drupal_id($boinc_user->id));
1806 1806
 
1807
-  if (!$user) {
1807
+    if (!$user) {
1808 1808
     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');
1809 1809
     drupal_goto();
1810
-  }
1810
+    }
1811 1811
 
1812
-  // Lookup path to custom account finish page
1813
-  $customaccountfinishpath = drupal_lookup_path('source', variable_get('boinc_weboptions_accountfinish', '') );
1814
-  if ( menu_valid_path(array('link_path' => $customaccountfinishpath)) ) {
1812
+    // Lookup path to custom account finish page
1813
+    $customaccountfinishpath = drupal_lookup_path('source', variable_get('boinc_weboptions_accountfinish', '') );
1814
+    if ( menu_valid_path(array('link_path' => $customaccountfinishpath)) ) {
1815 1815
     $node = menu_get_object('node', 1, $customaccountfinishpath);
1816 1816
     if ($node) {
1817
-      return node_page_view($node);
1817
+        return node_page_view($node);
1818
+    }
1818 1819
     }
1819
-  }
1820 1820
 
1821
-  // open links in new window
1822
-  $options = array(
1821
+    // open links in new window
1822
+    $options = array(
1823 1823
     'attributes' => array( 'target' => '_blank' ),
1824
-  );
1824
+    );
1825 1825
 
1826
-  // Check moderation page exists
1827
-  $moderationpath = drupal_lookup_path('source', variable_get('boinc_weboptions_moderationpage', '') );
1828
-  if ( menu_valid_path(array('link_path' => $moderationpath)) ) {
1826
+    // Check moderation page exists
1827
+    $moderationpath = drupal_lookup_path('source', variable_get('boinc_weboptions_moderationpage', '') );
1828
+    if ( menu_valid_path(array('link_path' => $moderationpath)) ) {
1829 1829
     $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');
1830
-  } else {
1830
+    } else {
1831 1831
     $modsentence = bts('Please note: user profiles are subject to moderation.', array(), NULL, 'boinc:account-finish');
1832
-  }
1832
+    }
1833 1833
 
1834
-  $username = $user->boincuser_name;
1835
-  $site_name = variable_get('site_name', 'Drupal-BOINC');
1836
-  $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.)',
1837
-  array(
1834
+    $username = $user->boincuser_name;
1835
+    $site_name = variable_get('site_name', 'Drupal-BOINC');
1836
+    $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.)',
1837
+    array(
1838 1838
     '@user_name' => $username,
1839 1839
     '@site_name' => $site_name,
1840
-  ), NULL, 'boinc:account-finish') . "</p>";
1840
+    ), NULL, 'boinc:account-finish') . "</p>";
1841 1841
 
1842
-  $links = array(
1842
+    $links = array(
1843 1843
     array(
1844
-      'data' => bts('Change your username at !community_preferences.', array(
1844
+        'data' => bts('Change your username at !community_preferences.', array(
1845 1845
         '!community_preferences' => l(bts('Community Preferences', array(), NULL, 'boinc:account-fininsh'), 'account/prefs/community', $options),
1846
-      ), NULL, 'boinc:account-finish'),
1847
-      'children' => array(
1846
+        ), NULL, 'boinc:account-finish'),
1847
+        'children' => array(
1848 1848
         bts('Your username is used to identify yourself to other volunteers on this Web site.', array(), NULL, 'boinc:account-finish'),
1849 1849
         bts('In addition, you may set your account\'s default language and adjust notification settings.', array(), NULL, 'boinc:account-finish'),
1850
-      ),
1850
+        ),
1851 1851
     ),
1852 1852
     array(
1853
-      'data' => bts('Change your !computing_preferences.', array(
1853
+        'data' => bts('Change your !computing_preferences.', array(
1854 1854
         '!computing_preferences' => l(bts('Computing Preferences', array(), NULL, 'boinc:account-finish'), 'account/prefs', $options),
1855
-      ), NULL, 'boinc:account-finish'),
1856
-      'children' => array(
1855
+        ), NULL, 'boinc:account-finish'),
1856
+        'children' => array(
1857 1857
         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'),
1858 1858
         bts('By default, you will run @site_name tasks without any additional configuration.', array(
1859
-          '@site_name' => $site_name,
1859
+            '@site_name' => $site_name,
1860 1860
         ), NULL, 'boinc:account-finish'),
1861 1861
         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(
1862
-          '!forums' => l(bts('forums', array(), NULL, 'boinc:account-finish'), 'community/forum', $options),
1862
+            '!forums' => l(bts('forums', array(), NULL, 'boinc:account-finish'), 'community/forum', $options),
1863 1863
         ), NULL, 'boinc:account-finish'),
1864
-      ),
1864
+        ),
1865 1865
     ),
1866 1866
     array(
1867 1867
         'data' => bts('Create a !user_profile.', array(
1868
-          '!user_profile' => l(bts('User Profile', array(), NULL, 'boinc:account-finish'), '/account/profile/edit', $options),
1868
+            '!user_profile' => l(bts('User Profile', array(), NULL, 'boinc:account-finish'), '/account/profile/edit', $options),
1869 1869
         ), NULL, 'boinc:account-finish'),
1870
-      'children' => array(
1870
+        'children' => array(
1871 1871
         bts('A user profile will inform other volunteers who you are and why you joined @site_name.', array(
1872
-          '@site_name' => $site_name,
1872
+            '@site_name' => $site_name,
1873 1873
         ), NULL, 'boinc:account-finish'),
1874 1874
         $modsentence,
1875
-      ),
1875
+        ),
1876 1876
     ),
1877 1877
     array(
1878
-      'data' => bts('Join a !team.', array(
1878
+        'data' => bts('Join a !team.', array(
1879 1879
         '!team' => l(bts('Team', array(), NULL, 'boinc:account-finish'), '/community/teams', $options),
1880
-      ), NULL, 'boinc:account-finish'),
1881
-      'children' => array(
1880
+        ), NULL, 'boinc:account-finish'),
1881
+        'children' => array(
1882 1882
         bts('You may join a team, made up of other volunteers.', array(), NULL, 'boinc:account-finish'),
1883
-      ),
1883
+        ),
1884 1884
     ),
1885 1885
     array(
1886
-      'data' => bts('Go to your !account_dashboard.', array(
1886
+        'data' => bts('Go to your !account_dashboard.', array(
1887 1887
         '!account_dashboard'=> l(bts('Account Dashboard', array(), NULL, 'boinc:account-finish'), 'account/dashboard', $options),
1888
-      ), NULL, 'boinc:account-finish'),
1889
-      'children' => array(
1888
+        ), NULL, 'boinc:account-finish'),
1889
+        'children' => array(
1890 1890
         bts('Your account dashboard has information and links about your computer(s) and task(s) assigned.', array(), NULL, 'boinc:account-finish'),
1891
-      ),
1891
+        ),
1892 1892
     ),
1893 1893
     array(
1894
-      'data' => bts('Visit our !help pages.', array(
1894
+        'data' => bts('Visit our !help pages.', array(
1895 1895
         '!help' => l(bts('Help', array(), NULL, 'boinc:account-finish'), '/help', $options)
1896
-      ), NULL, 'boinc:account-finish'),
1897
-      'children' => array(
1896
+        ), NULL, 'boinc:account-finish'),
1897
+        'children' => array(
1898 1898
         bts('Ask for help in our community\'s !forums.', array(
1899
-          '!forums' => l(bts('forums', array(), NULL, 'boinc:account-finish'), 'community/forum', $options)
1899
+            '!forums' => l(bts('forums', array(), NULL, 'boinc:account-finish'), 'community/forum', $options)
1900 1900
         ), NULL, 'boinc:account-finish'),
1901
-      ),
1901
+        ),
1902 1902
     ),
1903
-  );
1903
+    );
1904 1904
 
1905
-  //List of links
1906
-  $output .= theme_item_list($links, $title = NULL, $type='ul');
1905
+    //List of links
1906
+    $output .= theme_item_list($links, $title = NULL, $type='ul');
1907 1907
 
1908
-  return $output;
1908
+    return $output;
1909 1909
 }
1910 1910
 
1911 1911
 /**
1912 1912
  * Determine if the user has permission to control community access
1913 1913
  */
1914 1914
 function boincuser_moderate_community_access() {
1915
-  if (user_access('assign community member role')
1915
+    if (user_access('assign community member role')
1916 1916
   OR user_access('assign all roles')) {
1917 1917
     return TRUE;
1918
-  }
1919
-  return FALSE;
1918
+    }
1919
+    return FALSE;
1920 1920
 }
1921 1921
 
1922 1922
 /**
1923 1923
  * Get the count of items in the moderation queue
1924 1924
  */
1925 1925
 function boincuser_moderation_queue_count($caller = 'user') {
1926
-  $allowed = FALSE;
1927
-  switch ($caller) {
1928
-  case 'cron':
1926
+    $allowed = FALSE;
1927
+    switch ($caller) {
1928
+    case 'cron':
1929 1929
     $allowed = TRUE;
1930 1930
     break;
1931
-  case 'user':
1931
+    case 'user':
1932 1932
   default:
1933 1933
     $allowed = user_access('edit any profile content');
1934
-  }
1935
-  if ($allowed) {
1934
+    }
1935
+    if ($allowed) {
1936 1936
     return db_result(db_query("
1937 1937
       SELECT COUNT(*)
1938 1938
       FROM {node}
1939 1939
       WHERE type = 'profile'
1940 1940
       AND moderate = 1"
1941 1941
     ));
1942
-  }
1943
-  return NULL;
1942
+    }
1943
+    return NULL;
1944 1944
 }
1945 1945
 
1946 1946
 /**
@@ -1949,43 +1949,43 @@  discard block
 block discarded – undo
1949 1949
  * than through the user account info form.
1950 1950
  */
1951 1951
 function boincuser_control($uid = NULL, $action = NULL) {
1952
-  if (!$uid OR !$account = user_load($uid)) {
1952
+    if (!$uid OR !$account = user_load($uid)) {
1953 1953
     // What are you even doing here...
1954 1954
     return FALSE;
1955
-  }
1956
-  switch ($action) {
1957
-  case 'ban':
1955
+    }
1956
+    switch ($action) {
1957
+    case 'ban':
1958 1958
     if (boincuser_moderate_community_access()) {
1959
-      $penalty_period = variable_get('boinc_penalty_period', 7*24*60*60);
1960
-      $boincuser_record = array(
1959
+        $penalty_period = variable_get('boinc_penalty_period', 7*24*60*60);
1960
+        $boincuser_record = array(
1961 1961
         'uid' => $uid,
1962 1962
         'penalty_expiration' => time() + $penalty_period,
1963
-      );
1964
-      drupal_write_record('boincuser', $boincuser_record, 'uid');
1965
-      $community_role = array_search('community member', user_roles(true));
1966
-      if (isset($account->roles[$community_role])) {
1963
+        );
1964
+        drupal_write_record('boincuser', $boincuser_record, 'uid');
1965
+        $community_role = array_search('community member', user_roles(true));
1966
+        if (isset($account->roles[$community_role])) {
1967 1967
         unset($account->roles[$community_role]);
1968 1968
         user_save($account, array('roles' => $account->roles));
1969
-      }
1969
+        }
1970 1970
     }
1971 1971
     break;
1972
-  case 'lift-ban':
1972
+    case 'lift-ban':
1973 1973
     if (boincuser_moderate_community_access()) {
1974
-      $boincuser_record = array(
1974
+        $boincuser_record = array(
1975 1975
         'uid' => $uid,
1976 1976
         'penalty_expiration' => 0,
1977
-      );
1978
-      drupal_write_record('boincuser', $boincuser_record, 'uid');
1979
-      $community_role = array_search('community member', user_roles(true));
1980
-      if (!isset($account->roles[$community_role])) {
1977
+        );
1978
+        drupal_write_record('boincuser', $boincuser_record, 'uid');
1979
+        $community_role = array_search('community member', user_roles(true));
1980
+        if (!isset($account->roles[$community_role])) {
1981 1981
         $account->roles[$community_role] = 'community member';
1982 1982
         user_save($account, array('roles' => $account->roles));
1983
-      }
1983
+        }
1984 1984
     }
1985 1985
     break;
1986
-  default:
1986
+    default:
1987 1987
   }
1988
-  drupal_goto("account/{$account->uid}");
1988
+    drupal_goto("account/{$account->uid}");
1989 1989
 }
1990 1990
 
1991 1991
 /**
@@ -1993,29 +1993,29 @@  discard block
 block discarded – undo
1993 1993
  * moderation flag.
1994 1994
  */
1995 1995
 function boincuser_moderate_profile_approve($account) {
1996
-  $node = new stdClass;
1997
-  $node->type = 'profile';
1998
-  $node->language = '';
1999
-  $nid = content_profile_profile_exists($node, $account->uid);
2000
-  $profile = node_load($nid);
2001
-  $profile->moderate = 0;
2002
-  $profile->status = 1;
2003
-  node_save($profile);
2004
-  drupal_set_message('This profile has been marked as approved.');
2005
-  drupal_goto();
1996
+    $node = new stdClass;
1997
+    $node->type = 'profile';
1998
+    $node->language = '';
1999
+    $nid = content_profile_profile_exists($node, $account->uid);
2000
+    $profile = node_load($nid);
2001
+    $profile->moderate = 0;
2002
+    $profile->status = 1;
2003
+    node_save($profile);
2004
+    drupal_set_message('This profile has been marked as approved.');
2005
+    drupal_goto();
2006 2006
 }
2007 2007
 
2008 2008
 /**
2009 2009
  * Mark a user profile as rejected and notify the user of the reason.
2010 2010
  */
2011 2011
 function boincuser_moderate_profile_reject($uid, $reason = '') {
2012
-  $account = user_load($uid);
2013
-  $node = new stdClass;
2014
-  $node->type = 'profile';
2015
-  $node->language = '';
2016
-  $nid = content_profile_profile_exists($node, $uid);
2017
-  $profile = node_load($nid);
2018
-  if ($profile->nid) {
2012
+    $account = user_load($uid);
2013
+    $node = new stdClass;
2014
+    $node->type = 'profile';
2015
+    $node->language = '';
2016
+    $nid = content_profile_profile_exists($node, $uid);
2017
+    $profile = node_load($nid);
2018
+    if ($profile->nid) {
2019 2019
     global $user;
2020 2020
     global $base_url;
2021 2021
     global $base_path;
@@ -2026,64 +2026,64 @@  discard block
 block discarded – undo
2026 2026
     $profile->status = 0;
2027 2027
     node_save($profile);
2028 2028
     $settings = array(
2029
-      'from' => '',
2030
-      'subject' => "Profile moderation at {$site_name}",
2031
-      'message' => ''
2032
-      . "{$account->boincuser_name},\n"
2033
-      . "\n"
2034
-      . "{$moderator->boincuser_name} has rejected your profile at"
2035
-      . " {$site_name} for the following reason: \n"
2036
-      . "\n"
2037
-      . "{$reason}\n"
2038
-      . "\n"
2039
-      . "\n"
2040
-      . "Since it has not been approved, your profile is not visible to other"
2041
-      . " {$site_name} users. Please make the needed changes here:\n"
2042
-      . "\n"
2043
-      . "{$site_url}account/profile \n"
2044
-      . "\n"
2045
-      . "Thanks, \n"
2046
-      . "\n"
2047
-      . "{$site_name} support team",
2029
+        'from' => '',
2030
+        'subject' => "Profile moderation at {$site_name}",
2031
+        'message' => ''
2032
+        . "{$account->boincuser_name},\n"
2033
+        . "\n"
2034
+        . "{$moderator->boincuser_name} has rejected your profile at"
2035
+        . " {$site_name} for the following reason: \n"
2036
+        . "\n"
2037
+        . "{$reason}\n"
2038
+        . "\n"
2039
+        . "\n"
2040
+        . "Since it has not been approved, your profile is not visible to other"
2041
+        . " {$site_name} users. Please make the needed changes here:\n"
2042
+        . "\n"
2043
+        . "{$site_url}account/profile \n"
2044
+        . "\n"
2045
+        . "Thanks, \n"
2046
+        . "\n"
2047
+        . "{$site_name} support team",
2048 2048
     );
2049 2049
     rules_action_mail_to_user($account, $settings);
2050 2050
     drupal_set_message('This profile has been marked as rejected.');
2051
-  }
2052
-  drupal_goto();
2051
+    }
2052
+    drupal_goto();
2053 2053
 }
2054 2054
 
2055 2055
 /**
2056 2056
  * Ban a user and send a notification of the reason.
2057 2057
  */
2058 2058
 function boincuser_moderate_user_ban($uid, $reason = '', $duration = '') {
2059
-  if (user_access('assign community member role')
2059
+    if (user_access('assign community member role')
2060 2060
   OR user_access('assign all roles')) {
2061 2061
     $account = user_load($uid);
2062 2062
     if ($account->uid) {
2063
-      module_load_include('inc', 'rules', 'modules/system.rules');
2064
-      if ($duration === '') {
2063
+        module_load_include('inc', 'rules', 'modules/system.rules');
2064
+        if ($duration === '') {
2065 2065
         $duration = variable_get('boinc_penalty_period', 7*24*60*60);
2066
-      }
2067
-      $penalty_expiration = ($duration > 0) ? time() + $duration : 4294967295;
2068
-      $boincuser_record = array(
2066
+        }
2067
+        $penalty_expiration = ($duration > 0) ? time() + $duration : 4294967295;
2068
+        $boincuser_record = array(
2069 2069
         'uid' => $uid,
2070 2070
         'penalty_expiration' => $penalty_expiration,
2071
-      );
2072
-      drupal_write_record('boincuser', $boincuser_record, 'uid');
2071
+        );
2072
+        drupal_write_record('boincuser', $boincuser_record, 'uid');
2073 2073
       
2074
-      $community_role = array_search('community member', user_roles(true));
2075
-      if (isset($account->roles[$community_role])) {
2074
+        $community_role = array_search('community member', user_roles(true));
2075
+        if (isset($account->roles[$community_role])) {
2076 2076
         unset($account->roles[$community_role]);
2077 2077
         user_save($account, array('roles' => $account->roles));
2078
-      }
2078
+        }
2079 2079
       
2080
-      global $user;
2081
-      global $base_url;
2082
-      global $base_path;
2083
-      $site_name = variable_get('site_name', 'Drupal-BOINC');
2084
-      $site_url = $base_url . $base_path;
2085
-      $moderator = user_load($user->uid);
2086
-      $settings = array(
2080
+        global $user;
2081
+        global $base_url;
2082
+        global $base_path;
2083
+        $site_name = variable_get('site_name', 'Drupal-BOINC');
2084
+        $site_url = $base_url . $base_path;
2085
+        $moderator = user_load($user->uid);
2086
+        $settings = array(
2087 2087
         'from' => '',
2088 2088
         'subject' => "User moderation at {$site_name}",
2089 2089
         'message' => ''
@@ -2104,12 +2104,12 @@  discard block
 block discarded – undo
2104 2104
         . "Thanks, \n"
2105 2105
         . "\n"
2106 2106
         . "{$site_name} support team",
2107
-      );
2108
-      rules_action_mail_to_user($account, $settings);
2109
-      drupal_set_message('This user has been banned.');
2107
+        );
2108
+        rules_action_mail_to_user($account, $settings);
2109
+        drupal_set_message('This user has been banned.');
2110 2110
     }
2111
-  }
2112
-  drupal_goto();
2111
+    }
2112
+    drupal_goto();
2113 2113
 }
2114 2114
 
2115 2115
 
@@ -2121,15 +2121,15 @@  discard block
 block discarded – undo
2121 2121
  *
2122 2122
  */
2123 2123
 function boincuser_get_weak_auth($boinc_id = null) {
2124
-  if (!$boinc_id) {
2124
+    if (!$boinc_id) {
2125 2125
     global $user;
2126 2126
     $account = user_load($user->uid);
2127 2127
     $boinc_id = $account->boincuser_id;
2128
-  }
2128
+    }
2129 2129
   
2130
-  $boinc_user = boincuser_load($account->boincuser_id);
2130
+    $boinc_user = boincuser_load($account->boincuser_id);
2131 2131
   
2132
-  return weak_auth($boinc_user);
2132
+    return weak_auth($boinc_user);
2133 2133
 }
2134 2134
 
2135 2135
 /**
@@ -2138,75 +2138,75 @@  discard block
 block discarded – undo
2138 2138
  * Drupal User so must be inserted into comments, etc. (not so by default)
2139 2139
  */
2140 2140
 function boincuser_get_user_profile_image($uid, $avatar = TRUE) {
2141
-  // Though the function name implies otherwise, get the avatar by default
2142
-  $image_field = ($avatar) ? 'field_image_fid' : 'field_profile_image_fid';
2143
-  $image_fid = db_result(db_query("
2141
+    // Though the function name implies otherwise, get the avatar by default
2142
+    $image_field = ($avatar) ? 'field_image_fid' : 'field_profile_image_fid';
2143
+    $image_fid = db_result(db_query("
2144 2144
     SELECT ctp.%s
2145 2145
     FROM {content_type_profile} ctp
2146 2146
     INNER JOIN {node} n ON ctp.nid = n.nid
2147 2147
     WHERE n.uid = %d AND n.type = '%s'",
2148 2148
     $image_field, $uid, 'profile'));
2149
-  $user_image['image'] = field_file_load($image_fid);
2150
-  if (!$user_image['image']['filepath']) {
2149
+    $user_image['image'] = field_file_load($image_fid);
2150
+    if (!$user_image['image']['filepath']) {
2151 2151
     // Load the default image if one does not exist
2152 2152
     $account = user_load($uid);
2153 2153
     if ($avatar AND module_exists('gravatar') AND user_access('use gravatar', $account) AND $account->gravatar) {
2154
-      // Use a Gravatar rather than the system default image
2155
-      $options = array(
2154
+        // Use a Gravatar rather than the system default image
2155
+        $options = array(
2156 2156
         'size' => 100,
2157 2157
         'rating' => 'G',
2158
-      );
2159
-      // Get the Gravatar URL and see if the image exists
2160
-      $url = gravatar_get_gravatar($account->mail, $options);
2161
-      $headers = @get_headers($url);
2162
-      if (preg_match("|200|", $headers[0])) {
2158
+        );
2159
+        // Get the Gravatar URL and see if the image exists
2160
+        $url = gravatar_get_gravatar($account->mail, $options);
2161
+        $headers = @get_headers($url);
2162
+        if (preg_match("|200|", $headers[0])) {
2163 2163
         return $url;
2164
-      }
2164
+        }
2165 2165
     }
2166 2166
     // Get default image if nothing else works
2167 2167
     $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')));
2168 2168
     $content_node_widget_settings = unserialize($content_node_widget_settings);
2169 2169
     $user_image['image'] = $content_node_widget_settings['default_image'];
2170
-  }
2171
-  $user = user_load($uid);
2172
-  // Use boinc username for image alt/title attributes
2173
-  $user_image['alt'] = $user->boincuser_name;
2174
-  return $user_image;
2170
+    }
2171
+    $user = user_load($uid);
2172
+    // Use boinc username for image alt/title attributes
2173
+    $user_image['alt'] = $user->boincuser_name;
2174
+    return $user_image;
2175 2175
 }
2176 2176
 
2177 2177
 /**
2178 2178
  * Generate a table of a user's projects
2179 2179
  */
2180 2180
 function boincuser_get_projects_table($account = null) {
2181
-  if ($account AND is_numeric($account)) {
2181
+    if ($account AND is_numeric($account)) {
2182 2182
     $account = user_load($account);
2183
-  }
2184
-  $projects = boincuser_get_projects($account);
2185
-  if (!$projects) return bts('no projects...', array(), NULL, 'boinc:account-dashboard');
2183
+    }
2184
+    $projects = boincuser_get_projects($account);
2185
+    if (!$projects) return bts('no projects...', array(), NULL, 'boinc:account-dashboard');
2186 2186
   
2187
-  $output = '';
2188
-  $output .= '<table class="user-projects">' . "\n";
2189
-  $output .= '<thead>' . "\n";
2190
-  $output .= '  <tr>' . "\n";
2191
-  $output .= '    <th>' . bts('Name', array(), NULL, 'boinc:project-name:-1:ignoreoverwrite') . '</th>' . "\n";
2192
-  $output .= '    <th class="numeric">' . bts('Avg credit', array(), NULL, 'boinc:account-dashboard') . '</th>' . "\n";
2193
-  $output .= '    <th class="numeric">' . bts('Total credit', array(), NULL, 'boinc:user-or-team-total-credits') . '</th>' . "\n";
2194
-  $output .= '  </tr>' . "\n";
2195
-  $output .= '</thead>' . "\n";
2196
-  $output .= '<tbody>' . "\n";
2197
-  foreach ($projects AS $project) {
2187
+    $output = '';
2188
+    $output .= '<table class="user-projects">' . "\n";
2189
+    $output .= '<thead>' . "\n";
2190
+    $output .= '  <tr>' . "\n";
2191
+    $output .= '    <th>' . bts('Name', array(), NULL, 'boinc:project-name:-1:ignoreoverwrite') . '</th>' . "\n";
2192
+    $output .= '    <th class="numeric">' . bts('Avg credit', array(), NULL, 'boinc:account-dashboard') . '</th>' . "\n";
2193
+    $output .= '    <th class="numeric">' . bts('Total credit', array(), NULL, 'boinc:user-or-team-total-credits') . '</th>' . "\n";
2194
+    $output .= '  </tr>' . "\n";
2195
+    $output .= '</thead>' . "\n";
2196
+    $output .= '<tbody>' . "\n";
2197
+    foreach ($projects AS $project) {
2198 2198
     $url = rtrim($project->url, '/') . '/show_user.php?userid=' . $project->id;
2199 2199
     $output .= '  <tr>' . "\n";
2200 2200
     $output .= '    <td>' . l($project->name, $url) . '</td>' . "\n";
2201 2201
     $output .= '    <td class="numeric">' . boincwork_format_stats((float) $project->expavg_credit) . '</td>' . "\n"; 
2202 2202
     $output .= '    <td class="numeric">' . boincwork_format_stats((float) $project->total_credit) . '</td>' . "\n";
2203 2203
     $output .= '  </tr>' . "\n";
2204
-  }
2205
-  $output .= '</tbody>' . "\n";
2206
-  $output .= '</table>' . "\n";
2207
-  $more_link = ($account) ? "user/{$account->uid}/stats" : 'account/stats';
2208
-  //$output .= "<div class=\"more-link\"><a href=\"{$more_link}\">More stats</a></div>" . "\n";
2209
-  return $output;
2204
+    }
2205
+    $output .= '</tbody>' . "\n";
2206
+    $output .= '</table>' . "\n";
2207
+    $more_link = ($account) ? "user/{$account->uid}/stats" : 'account/stats';
2208
+    //$output .= "<div class=\"more-link\"><a href=\"{$more_link}\">More stats</a></div>" . "\n";
2209
+    return $output;
2210 2210
 }
2211 2211
 
2212 2212
 /**
@@ -2214,25 +2214,25 @@  discard block
 block discarded – undo
2214 2214
  */
2215 2215
 function boincuser_get_stats_user_data($cpid = null) {
2216 2216
   
2217
-  // [TODO] Set this stuff in site config!
2218
-  $stats_server = 'stats.gridrepublic.org';
2219
-  $stats_rpc = 'rpc/get_user.php';
2217
+    // [TODO] Set this stuff in site config!
2218
+    $stats_server = 'stats.gridrepublic.org';
2219
+    $stats_rpc = 'rpc/get_user.php';
2220 2220
   
2221
-  // Construct query string
2222
-  $get = array(
2221
+    // Construct query string
2222
+    $get = array(
2223 2223
     'cpid' => $cpid
2224
-  );
2225
-  $args = array();
2226
-  foreach ($get as $arg => $value) $args[] = "{$arg}=" . rawurlencode($value);
2227
-  $query = '?' . implode('&', $args);
2224
+    );
2225
+    $args = array();
2226
+    foreach ($get as $arg => $value) $args[] = "{$arg}=" . rawurlencode($value);
2227
+    $query = '?' . implode('&', $args);
2228 2228
   
2229
-  // Load XML from RPC
2230
-  $target_url = "http://{$stats_server}/{$stats_rpc}{$query}";
2231
-  $result = drupal_http_request($target_url);
2232
-  if (in_array($result->code, array(200, 304))) {
2229
+    // Load XML from RPC
2230
+    $target_url = "http://{$stats_server}/{$stats_rpc}{$query}";
2231
+    $result = drupal_http_request($target_url);
2232
+    if (in_array($result->code, array(200, 304))) {
2233 2233
     return simplexml_load_string($result->data);
2234
-  }
2235
-  return NULL;
2234
+    }
2235
+    return NULL;
2236 2236
 }
2237 2237
 
2238 2238
 /**
@@ -2240,15 +2240,15 @@  discard block
 block discarded – undo
2240 2240
  */
2241 2241
 function boincuser_get_projects($account = null) {
2242 2242
   
2243
-  // Use the current user by default
2244
-  if (!$account) {
2243
+    // Use the current user by default
2244
+    if (!$account) {
2245 2245
     global $user;
2246 2246
     $account = user_load($user->uid);
2247
-  }
2247
+    }
2248 2248
   
2249
-  $account_stats = boincuser_get_stats_user_data($account->boincuser_cpid);
2249
+    $account_stats = boincuser_get_stats_user_data($account->boincuser_cpid);
2250 2250
   
2251
-  return ($account_stats AND isset($account_stats->project)) ? $account_stats->project : null;
2251
+    return ($account_stats AND isset($account_stats->project)) ? $account_stats->project : null;
2252 2252
 }
2253 2253
 
2254 2254
 
@@ -2256,11 +2256,11 @@  discard block
 block discarded – undo
2256 2256
  * Get the links to display under the user profile
2257 2257
  */
2258 2258
 function boincuser_get_profile_links($uid) {
2259
-  global $user;
2260
-  $account = user_load($uid);
2261
-  $profile = content_profile_load('profile', $account->uid);
2262
-  $output = '';
2263
-  if ($profile) {
2259
+    global $user;
2260
+    $account = user_load($uid);
2261
+    $profile = content_profile_load('profile', $account->uid);
2262
+    $output = '';
2263
+    if ($profile) {
2264 2264
     $profile_is_approved = ($profile->status AND !$profile->moderate);
2265 2265
     $user_is_moderator = user_access('edit any profile content');
2266 2266
     $is_own_profile = ($user->uid == $account->uid);
@@ -2268,15 +2268,15 @@  discard block
 block discarded – undo
2268 2268
     $links = array();
2269 2269
     
2270 2270
     if ($profile->moderate AND $user_is_moderator) {
2271
-      $links['approve_profile'] = array(
2271
+        $links['approve_profile'] = array(
2272 2272
         'title' => bts('Approve profile', array(), NULL, 'boinc:moderate-user'),
2273 2273
         'href' => "{$profile_moderation_path}/approve",
2274 2274
         'attributes' => array(
2275
-          'title' => bts('Approve this profile content', array(), NULL, 'boinc:moderate-user'),
2276
-          'class' => 'first primary tab',
2275
+            'title' => bts('Approve this profile content', array(), NULL, 'boinc:moderate-user'),
2276
+            'class' => 'first primary tab',
2277 2277
         )
2278
-      );
2279
-      /*$links['edit_profile'] = array(
2278
+        );
2279
+        /*$links['edit_profile'] = array(
2280 2280
         'title' => bts('Edit profile', array(), NULL, 'boinc:moderate-user'),
2281 2281
         'href' => "{$profile_moderation_path}/edit",
2282 2282
         'attributes' => array(
@@ -2284,27 +2284,27 @@  discard block
 block discarded – undo
2284 2284
           'class' => 'tab',
2285 2285
         )
2286 2286
       );*/
2287
-      $links['reject_profile'] = array(
2287
+        $links['reject_profile'] = array(
2288 2288
         'title' => bts('Reject profile', array(), NULL, 'boinc:moderate-user'),
2289 2289
         'href' => "{$profile_moderation_path}/reject",
2290 2290
         'attributes' => array(
2291
-          'title' => bts('Reject this profile content', array(), NULL, 'boinc:moderate-user'),
2292
-          'class' => 'tab',
2291
+            'title' => bts('Reject this profile content', array(), NULL, 'boinc:moderate-user'),
2292
+            'class' => 'tab',
2293 2293
         )
2294
-      );
2294
+        );
2295 2295
     }
2296 2296
     $output .= '<ul class="tab-list">';
2297 2297
     $count = 0;
2298 2298
     foreach ($links as $key => $link) {
2299
-      $output .= '<li class="' . (($count == 0) ? 'first primary ' : '') . 'tab">';
2300
-      $output .= l($link['title'], $link['href'], array('query' => drupal_get_destination()));
2301
-      $output .= '</li>';
2302
-      $count++;
2299
+        $output .= '<li class="' . (($count == 0) ? 'first primary ' : '') . 'tab">';
2300
+        $output .= l($link['title'], $link['href'], array('query' => drupal_get_destination()));
2301
+        $output .= '</li>';
2302
+        $count++;
2303 2303
     }
2304 2304
     $output .= '<li class="' . (($count) ? '' : 'first ') . 'last tab">' . flag_create_link('abuse_user', $account->uid) . '</li>';
2305 2305
     $output .= '</ul>';
2306
-  }
2307
-  return $output;
2306
+    }
2307
+    return $output;
2308 2308
 /*
2309 2309
 <ul class="tab-list">
2310 2310
   <li class="primary first tab">
@@ -2341,36 +2341,36 @@  discard block
 block discarded – undo
2341 2341
  */
2342 2342
 function boincuser_apachesolr_index_documents_alter(array &$documents, $entity, $entity_type, $env_id) {
2343 2343
 
2344
-  foreach ($documents as $document) {
2344
+    foreach ($documents as $document) {
2345 2345
     if ( $document->entity_type=='node' AND $document->bundle=='profile' ) {
2346
-      // Node information.
2347
-      $nid = $document->entity_id;
2348
-      $node = node_load($nid);
2349
-      $account = user_load($node->uid);
2350
-
2351
-      // Use boincuser name and not drupal user name
2352
-      $document->label = apachesolr_clean_text($account->boincuser_name);
2353
-      // Author information
2354
-      if ($node->uid == 0 || strlen($node->name) == 0) {
2346
+        // Node information.
2347
+        $nid = $document->entity_id;
2348
+        $node = node_load($nid);
2349
+        $account = user_load($node->uid);
2350
+
2351
+        // Use boincuser name and not drupal user name
2352
+        $document->label = apachesolr_clean_text($account->boincuser_name);
2353
+        // Author information
2354
+        if ($node->uid == 0 || strlen($node->name) == 0) {
2355 2355
         // @see user_validate_name(). !'0' === TRUE.
2356 2356
         $document->ss_name = '0';
2357
-      }
2358
-      else {
2357
+        }
2358
+        else {
2359 2359
         $document->ss_name = $account->boincuser_name;
2360 2360
         // We want the name to be searchable for keywords.
2361 2361
         $document->tos_name = $account->boincuser_name;
2362
-      }
2362
+        }
2363 2363
 
2364
-      // Rename "Profle" to "User"
2365
-      $document->bundle = "User";
2366
-      $document->bundle_name = "User";
2364
+        // Rename "Profle" to "User"
2365
+        $document->bundle = "User";
2366
+        $document->bundle_name = "User";
2367 2367
 
2368
-      // Replace the Solr document's created field with the date the user 
2369
-      // account was created. This replaces the node creation date typically 
2370
-      // used for indexing nodes.
2371
-      $document->ds_created = apachesolr_date_iso($account->created);
2368
+        // Replace the Solr document's created field with the date the user 
2369
+        // account was created. This replaces the node creation date typically 
2370
+        // used for indexing nodes.
2371
+        $document->ds_created = apachesolr_date_iso($account->created);
2372
+    }
2372 2373
     }
2373
-  }
2374 2374
 
2375 2375
 }
2376 2376
 
@@ -2382,23 +2382,23 @@  discard block
 block discarded – undo
2382 2382
  * Implementation of hook_privatemsg_name_lookup();
2383 2383
  */
2384 2384
 function boincuser_privatemsg_name_lookup($string) {
2385
-  // Get the BOINC ID from the name string, and lookup the
2386
-  // corresponding drupal user.
2387
-  $boincname = substr($string, 0, strrpos($string, '_'));
2388
-  $boincid = substr($string, strrpos($string, '_') + 1);
2389
-  $drupalid = get_drupal_id($boincid);
2390
-
2391
-  // Name has spaced replaced with special UTF-8 characters in
2392
-  // privatemsg module. We need to convert them back to spaces for the
2393
-  // check below.
2394
-  $boincname = preg_replace("/\\xc2\\xa0/", " ", $boincname);
2395
-  if ($drupalid>0) {
2385
+    // Get the BOINC ID from the name string, and lookup the
2386
+    // corresponding drupal user.
2387
+    $boincname = substr($string, 0, strrpos($string, '_'));
2388
+    $boincid = substr($string, strrpos($string, '_') + 1);
2389
+    $drupalid = get_drupal_id($boincid);
2390
+
2391
+    // Name has spaced replaced with special UTF-8 characters in
2392
+    // privatemsg module. We need to convert them back to spaces for the
2393
+    // check below.
2394
+    $boincname = preg_replace("/\\xc2\\xa0/", " ", $boincname);
2395
+    if ($drupalid>0) {
2396 2396
     if ($recipient = user_load(array('uid' => $drupalid))) {
2397
-      // Double-check that the loaded user matches both boincuser_id
2398
-      // and boincuser_name.
2399
-      if ( ($boincid == $recipient->boincuser_id) AND ($boincname == $recipient->boincuser_name) ) {
2397
+        // Double-check that the loaded user matches both boincuser_id
2398
+        // and boincuser_name.
2399
+        if ( ($boincid == $recipient->boincuser_id) AND ($boincname == $recipient->boincuser_name) ) {
2400 2400
         return $recipient;
2401
-      }
2401
+        }
2402
+    }
2402 2403
     }
2403
-  }
2404 2404
 }
Please login to merge, or discard this patch.
drupal/sites/default/boinc/modules/boincuser/includes/boincuser.forms.inc 1 patch
Indentation   +427 added lines, -427 removed lines patch added patch discarded remove patch
@@ -15,59 +15,59 @@  discard block
 block discarded – undo
15 15
  * Form validation handler for login
16 16
  */
17 17
 function boincuser_login_validate($form, &$form_state) {
18
-  /* // SAMPLE: To try validation with Drupal first...
18
+    /* // SAMPLE: To try validation with Drupal first...
19 19
   global $user;
20 20
   if (!empty($user->uid)) {
21 21
     // Authentication with Drupal was successful
22 22
     return;
23 23
   }*/
24 24
   
25
-  // Set name for logging purposes
26
-  $form_state['values']['name'] = $form_state['values']['email'];
25
+    // Set name for logging purposes
26
+    $form_state['values']['name'] = $form_state['values']['email'];
27 27
   
28
-  // Bypass BOINC validation if passed the name of user 1
29
-  $user_1 = user_load(1);
30
-  if ($form_state['values']['email'] == $user_1->name) {
28
+    // Bypass BOINC validation if passed the name of user 1
29
+    $user_1 = user_load(1);
30
+    if ($form_state['values']['email'] == $user_1->name) {
31 31
     user_authenticate($form_state['values']);
32 32
     return;
33
-  }
33
+    }
34 34
   
35
-  // Call our custom authentication function to check for an existing BOINC user
36
-  if (!boincuser_login_authenticate($form_state['values'])) {
35
+    // Call our custom authentication function to check for an existing BOINC user
36
+    if (!boincuser_login_authenticate($form_state['values'])) {
37 37
     // Authentication failed; set an error accordingly
38 38
     form_set_error('name', bts('Sorry, unrecognized email address or password.', array(), NULL, 'boinc:forgot-password') . ' ' . l(bts('Have you forgotten your password?', array(), NULL, 'boinc:forgot-password'), 'user/password'));
39
-  }
39
+    }
40 40
 }
41 41
 
42 42
 /**
43 43
  * Custom authentication function to check BOINC account information
44 44
  */
45 45
 function boincuser_login_authenticate($form_values) {
46
-  global $boincuser_authenticated;
47
-  $lower_email_addr = strtolower($form_values['email']);
48
-  $passwd = $form_values['pass'];
49
-  $passwd_hash = md5($passwd.$lower_email_addr);
46
+    global $boincuser_authenticated;
47
+    $lower_email_addr = strtolower($form_values['email']);
48
+    $passwd = $form_values['pass'];
49
+    $passwd_hash = md5($passwd.$lower_email_addr);
50 50
   
51
-  // Include BOINC user library
52
-  require_boinc('boinc_db');
53
-  require_boinc('user_util');
51
+    // Include BOINC user library
52
+    require_boinc('boinc_db');
53
+    require_boinc('user_util');
54 54
 
55
-  // Get the BOINC user and check credentials
56
-  $boinc_user = BoincUser::lookup_email_addr($lower_email_addr);
57
-  if (!$boinc_user) return false;
55
+    // Get the BOINC user and check credentials
56
+    $boinc_user = BoincUser::lookup_email_addr($lower_email_addr);
57
+    if (!$boinc_user) return false;
58 58
 
59
-  if (!check_passwd_hash($boinc_user, $passwd_hash)) {
59
+    if (!check_passwd_hash($boinc_user, $passwd_hash)) {
60 60
     return false;
61
-  }
61
+    }
62 62
 
63
-  // BOINC authentication successful; log in and synchronize accounts
64
-  boincuser_login_register($boinc_user);
65
-  // Write session, update timestamp, run user 'login' hook.
66
-  user_authenticate_finalize($form_values);
67
-  // Use a global variable to save the fact that we did authentication.
68
-  $boincuser_authenticated = true;
63
+    // BOINC authentication successful; log in and synchronize accounts
64
+    boincuser_login_register($boinc_user);
65
+    // Write session, update timestamp, run user 'login' hook.
66
+    user_authenticate_finalize($form_values);
67
+    // Use a global variable to save the fact that we did authentication.
68
+    $boincuser_authenticated = true;
69 69
 
70
-  return true;
70
+    return true;
71 71
 }
72 72
 
73 73
 /**
@@ -75,18 +75,18 @@  discard block
 block discarded – undo
75 75
  * Drupal accounts
76 76
  */
77 77
 function boincuser_login_register($boinc_user) {
78
-  global $user;
79
-  require_boinc('boinc_db');
80
-  // If a Drupal account already exists, log in
81
-  $existing_user = user_load(array('mail' => $boinc_user->email_addr));
82
-  if (!empty($existing_user->uid)) {
78
+    global $user;
79
+    require_boinc('boinc_db');
80
+    // If a Drupal account already exists, log in
81
+    $existing_user = user_load(array('mail' => $boinc_user->email_addr));
82
+    if (!empty($existing_user->uid)) {
83 83
     $user = $existing_user;
84
-  } else {
84
+    } else {
85 85
     // Create a Drupal user from the BOINC user
86 86
     if ($user = boincuser_register_make_drupal_user($boinc_user)) {
87
-      watchdog('user', 'New external user: %email using module %module.', array('%email' => $email_addr, '%module' => $module), WATCHDOG_NOTICE, l(t('edit'), 'user/'. $user->uid .'/edit'));
87
+        watchdog('user', 'New external user: %email using module %module.', array('%email' => $email_addr, '%module' => $module), WATCHDOG_NOTICE, l(t('edit'), 'user/'. $user->uid .'/edit'));
88
+    }
88 89
     }
89
-  }
90 90
 }
91 91
 
92 92
 
@@ -98,111 +98,111 @@  discard block
 block discarded – undo
98 98
  * New user registration validation handler.
99 99
  */
100 100
 function boincuser_register_validate($form, &$form_state) {
101
-  // Include BOINC database objects library
102
-  require_boinc('boinc_db');
101
+    // Include BOINC database objects library
102
+    require_boinc('boinc_db');
103 103
 
104
-  // Check terms of use agreement
105
-  $termsofuse = variable_get('boinc_weboptions_termsofuse', '');
106
-  if (!empty($termsofuse)) {
104
+    // Check terms of use agreement
105
+    $termsofuse = variable_get('boinc_weboptions_termsofuse', '');
106
+    if (!empty($termsofuse)) {
107 107
     if (!$form_state['values']['agreeTOU']) {
108
-      form_set_error('termsofuse', bts('ERROR: You must acknowledge our terms of use by clicking the checkbox before registering for an account.', NULL, 'boinc:register-new-user'));
109
-      return false;
108
+        form_set_error('termsofuse', bts('ERROR: You must acknowledge our terms of use by clicking the checkbox before registering for an account.', NULL, 'boinc:register-new-user'));
109
+        return false;
110
+    }
110 111
     }
111
-  }
112 112
 
113
-  // Lower-case the email address
114
-  $lower_email_addr = strtolower($form_state['values']['mail']);
115
-  $tmp_user = BoincUser::lookup_prev_email_addr($lower_email_addr);
116
-  if ($tmp_user) {
113
+    // Lower-case the email address
114
+    $lower_email_addr = strtolower($form_state['values']['mail']);
115
+    $tmp_user = BoincUser::lookup_prev_email_addr($lower_email_addr);
116
+    if ($tmp_user) {
117 117
     // User already exists
118 118
     form_set_error('mail', bts('An account already exists for @email. Contact the administrators for @project for additional help.',
119
-      array(
119
+        array(
120 120
         '@email' => $lower_email_addr,
121 121
         '@project' => variable_get('site_name', 'Drupal-BOINC'), NULL, 'boinc:add-new-user',
122
-      )
122
+        )
123 123
     , NULL, 'boinc:register-new-user'));
124
-  }
125
-
126
-  // Check for an existing BOINC user
127
-  // This is somewhat redundent as Drupal will also check if the email
128
-  // is a duplicate. However, in the case where there is no Drupal
129
-  // account, but a BOINC account exists with this email, the check
130
-  // will fail.
131
-  $boinc_user = BoincUser::lookup_email_addr($lower_email_addr);
132
-  if ($boinc_user) {
124
+    }
125
+
126
+    // Check for an existing BOINC user
127
+    // This is somewhat redundent as Drupal will also check if the email
128
+    // is a duplicate. However, in the case where there is no Drupal
129
+    // account, but a BOINC account exists with this email, the check
130
+    // will fail.
131
+    $boinc_user = BoincUser::lookup_email_addr($lower_email_addr);
132
+    if ($boinc_user) {
133 133
     // User already exists
134 134
     form_set_error('mail', bts('An account already exists for @email. Log in or request password assistance to access your @project account.', array('@email' => $lower_email_addr, '@project' => PROJECT), NULL, 'boinc:add-new-user'));
135 135
     return false;
136
-  }
136
+    }
137 137
 
138
-  // Check Drupal name is not a duplicate, and create a proper drupal
139
-  // name from the boinc username.
140
-  $form_state['values']['name'] = create_proper_drupalname($form_state['values']['boincuser_name']);
138
+    // Check Drupal name is not a duplicate, and create a proper drupal
139
+    // name from the boinc username.
140
+    $form_state['values']['name'] = create_proper_drupalname($form_state['values']['boincuser_name']);
141 141
 
142
-  return true;
142
+    return true;
143 143
 }
144 144
 
145 145
 /**
146 146
  * Create BOINC account
147 147
  */
148 148
 function boincuser_register_make_user($params) {    
149
-  // Include BOINC user library
150
-  require_boinc('user_util');
151
-  // Create the BOINC user
152
-  $boinc_user = make_user($params['email_addr'], $params['name'], $params['passwd_hash'], $params['country'], $params['postal_code']);
153
-  return $boinc_user;
149
+    // Include BOINC user library
150
+    require_boinc('user_util');
151
+    // Create the BOINC user
152
+    $boinc_user = make_user($params['email_addr'], $params['name'], $params['passwd_hash'], $params['country'], $params['postal_code']);
153
+    return $boinc_user;
154 154
 }
155 155
 
156 156
 /**
157 157
  * Create Drupal account from existing BOINC account
158 158
  */
159 159
 function boincuser_register_make_drupal_user($boinc_user) {
160
-  $account = null;
161
-  if (is_numeric($boinc_user)) {
160
+    $account = null;
161
+    if (is_numeric($boinc_user)) {
162 162
     $boinc_user = boincuser_load($boinc_user);
163
-  }
164
-  if ($boinc_user) {
163
+    }
164
+    if ($boinc_user) {
165 165
     $account = boincuser_create_drupal_user($boinc_user);
166 166
     if ($account) {
167
-      boincuser_create_drupal_profile($account, $boinc_user);
167
+        boincuser_create_drupal_profile($account, $boinc_user);
168
+    }
168 169
     }
169
-  }
170
-  return $account;
170
+    return $account;
171 171
 }
172 172
 
173 173
 function boincuser_create_drupal_user($boinc_user) {
174
-  require_boinc('forum_db');
175
-  BoincForumPrefs::lookup($boinc_user);
176
-  $account = NULL;
177
-  $module = 'boincuser';
174
+    require_boinc('forum_db');
175
+    BoincForumPrefs::lookup($boinc_user);
176
+    $account = NULL;
177
+    $module = 'boincuser';
178 178
   
179
-  // Verify that this account has not already been imported
180
-  $already_imported = db_result(db_query('
179
+    // Verify that this account has not already been imported
180
+    $already_imported = db_result(db_query('
181 181
     SELECT COUNT(*) FROM {boincuser} WHERE boinc_id = %d',
182 182
     $boinc_user->id)
183
-  );
184
-  if ($already_imported) {
183
+    );
184
+    if ($already_imported) {
185 185
     return NULL;
186
-  }
186
+    }
187 187
   
188
-  // Email is limited to 64 characters...
189
-  $boinc_email = substr($boinc_user->email_addr, 0, 64);
188
+    // Email is limited to 64 characters...
189
+    $boinc_email = substr($boinc_user->email_addr, 0, 64);
190 190
   
191
-  // Email should be unique
192
-  $already_imported = db_result(db_query("
191
+    // Email should be unique
192
+    $already_imported = db_result(db_query("
193 193
     SELECT COUNT(*) FROM {users} WHERE mail = '%s'",
194 194
     $boinc_email)
195
-  );
196
-  if ($already_imported) {
195
+    );
196
+    if ($already_imported) {
197 197
     drupal_set_message(t('An account for @email already exists', array('@email' => $boinc_email)), 'warning');
198 198
     watchdog('boincimport', 'An account for @email already exists', array('@email' => $boinc_email), WATCHDOG_WARNING); 
199 199
     return NULL;
200
-  }
200
+    }
201 201
   
202
-  // Make sure name is unique
203
-  $unique_name = create_proper_drupalname($boinc_user->name);
202
+    // Make sure name is unique
203
+    $unique_name = create_proper_drupalname($boinc_user->name);
204 204
   
205
-  $userinfo = array(
205
+    $userinfo = array(
206 206
     'name' => $unique_name,
207 207
     'pass' => $boinc_user->passwd_hash,
208 208
     'mail' => $boinc_email,
@@ -212,126 +212,126 @@  discard block
 block discarded – undo
212 212
     'status' => 1,
213 213
     "authname_{$module}" => $boinc_email,
214 214
     'access' => time()
215
-  );
215
+    );
216 216
   
217
-  $in_penalty = ($boinc_user->prefs->banished_until > time());
217
+    $in_penalty = ($boinc_user->prefs->banished_until > time());
218 218
   
219
-  // Add user to community member role (if no current penalty)
220
-  if (!$in_penalty) {
219
+    // Add user to community member role (if no current penalty)
220
+    if (!$in_penalty) {
221 221
     $community_role = array_search('community member', user_roles(true)); 
222 222
     $userinfo['roles'] = array(
223
-      $community_role => ''
223
+        $community_role => ''
224 224
     );
225
-  }
225
+    }
226 226
   
227
-  // Mark account as imported so a BOINC account is not created on Insert (i.e. user_save)
228
-  $_SESSION['importedUser'] = true;
229
-  $account = user_save('', $userinfo);
227
+    // Mark account as imported so a BOINC account is not created on Insert (i.e. user_save)
228
+    $_SESSION['importedUser'] = true;
229
+    $account = user_save('', $userinfo);
230 230
   
231
-  // Drupal overrides the original registration date, so update to the correct date
232
-  $account = user_save($account, array('created' => $userinfo['created']));
231
+    // Drupal overrides the original registration date, so update to the correct date
232
+    $account = user_save($account, array('created' => $userinfo['created']));
233 233
   
234
-  // Terminate if an error occured during user_save().
235
-  if (!$account) {
234
+    // Terminate if an error occured during user_save().
235
+    if (!$account) {
236 236
     drupal_set_message(t("Error saving user account."), 'error');
237 237
     return NULL;
238
-  }
238
+    }
239 239
   
240
-  // Cross reference the Drupal and BOINC accounts
241
-  boincuser_account_cross_reference($account->uid, $boinc_user->id);
240
+    // Cross reference the Drupal and BOINC accounts
241
+    boincuser_account_cross_reference($account->uid, $boinc_user->id);
242 242
   
243
-  if ($in_penalty) {
243
+    if ($in_penalty) {
244 244
     // Import the timestamp of when the penalty period will be over
245 245
     $boincuser_record = array(
246
-      'uid' => $account->uid,
247
-      'penalty_expiration' => $boinc_user->prefs->banished_until,
246
+        'uid' => $account->uid,
247
+        'penalty_expiration' => $boinc_user->prefs->banished_until,
248 248
     );
249 249
     drupal_write_record('boincuser', $boincuser_record, 'uid');
250
-  }
250
+    }
251 251
   
252
-  return $account;
252
+    return $account;
253 253
 }
254 254
 
255 255
 function boincuser_create_drupal_profile($account, $boinc_user) {
256 256
   
257
-  require_boinc('forum_db');
258
-  BoincForumPrefs::lookup($boinc_user);
257
+    require_boinc('forum_db');
258
+    BoincForumPrefs::lookup($boinc_user);
259 259
   
260
-  $image_dir = boinc_get_path('user_image');
260
+    $image_dir = boinc_get_path('user_image');
261 261
   
262
-  // Automatically create a content profile
263
-  $now = time();
264
-  $profile_background = null;
265
-  $profile_opinions = null;
266
-  $profile_image = null;
267
-  $avatar_image = null;
268
-  $profile_approved = NULL;
262
+    // Automatically create a content profile
263
+    $now = time();
264
+    $profile_background = null;
265
+    $profile_opinions = null;
266
+    $profile_image = null;
267
+    $avatar_image = null;
268
+    $profile_approved = NULL;
269 269
   
270
-  // Load the BOINC profile, if available
271
-  if ($boinc_user->has_profile) {
270
+    // Load the BOINC profile, if available
271
+    if ($boinc_user->has_profile) {
272 272
     $boinc_profile = BoincProfile::lookup("userid={$boinc_user->id}");
273 273
     $profile_background = $boinc_profile->response1;
274 274
     $profile_opinions = $boinc_profile->response2;
275 275
     if ($boinc_profile->has_picture) {
276
-      // Load picture; load validators; determine where to store it in Drupal
277
-      $image_path = "{$image_dir}/{$boinc_user->id}.jpg";
278
-      $profile_image = get_cck_image_object($image_path, 'field_profile_image', 'profile', TRUE);
279
-      // If the user does not have a different image as an avatar, use this one
280
-      if (!$boinc_user->prefs->avatar) {
276
+        // Load picture; load validators; determine where to store it in Drupal
277
+        $image_path = "{$image_dir}/{$boinc_user->id}.jpg";
278
+        $profile_image = get_cck_image_object($image_path, 'field_profile_image', 'profile', TRUE);
279
+        // If the user does not have a different image as an avatar, use this one
280
+        if (!$boinc_user->prefs->avatar) {
281 281
         $avatar_image = get_cck_image_object($image_path, 'field_image', 'profile', TRUE);
282
-      }
282
+        }
283 283
     }
284 284
     if ($boinc_user->prefs->avatar) {
285
-      $image_path = "{$image_dir}/{$boinc_user->id}_avatar.jpg";
286
-      $avatar_image = get_cck_image_object($image_path, 'field_image', 'profile', TRUE);
285
+        $image_path = "{$image_dir}/{$boinc_user->id}_avatar.jpg";
286
+        $avatar_image = get_cck_image_object($image_path, 'field_image', 'profile', TRUE);
287 287
     }
288 288
     $profile_approved = $boinc_profile->verification ? TRUE : FALSE;
289
-  }
290
-  $default_input_format = db_result(db_query("
289
+    }
290
+    $default_input_format = db_result(db_query("
291 291
     SELECT format FROM {filter_formats} WHERE name = '%s'", 'Rich text'));
292
-  if (!$default_input_format) $default_input_format = 1;
293
-  
294
-  // Populate the profile object
295
-  $profile_node = new stdClass();
296
-  $profile_node->title = $boinc_user->name;
297
-  $profile_node->uid = $account->uid;
298
-  $profile_node->body = '';
299
-  $profile_node->type = 'profile'; 
300
-  $profile_node->created = $now;
301
-  $profile_node->changed = $now;
302
-  $profile_node->status = 1;
303
-  $profile_node->promote = 0;
304
-  $profile_node->sticky = 0;
305
-  $profile_node->format = $default_input_format;
306
-  $profile_node->name = $account->name; // Set to link profile to account uid!
307
-  $profile_node->field_country[]['value'] = $boinc_user->country;
308
-  $profile_node->field_zip[]['value'] = $boinc_user->postal_code;
309
-  $profile_node->field_url[]['value'] = $boinc_user->url;
310
-  $profile_node->field_background[]['value'] = $profile_background;
311
-  $profile_node->field_opinions[]['value'] = $profile_opinions;
312
-  $profile_node->field_image[] = $avatar_image;
313
-  $profile_node->field_profile_image[] = $profile_image;
314
-  
315
-  // Save the profile object to the database
316
-  // This will automatically set the author uid if node->name has been set
317
-  $profile_node = node_submit($profile_node);
318
-  node_save($profile_node);
319
-  
320
-  // Mark profile as approved if it has already been vetted somehow
321
-  if ($profile_approved OR !$boinc_user->has_profile) {
292
+    if (!$default_input_format) $default_input_format = 1;
293
+  
294
+    // Populate the profile object
295
+    $profile_node = new stdClass();
296
+    $profile_node->title = $boinc_user->name;
297
+    $profile_node->uid = $account->uid;
298
+    $profile_node->body = '';
299
+    $profile_node->type = 'profile'; 
300
+    $profile_node->created = $now;
301
+    $profile_node->changed = $now;
302
+    $profile_node->status = 1;
303
+    $profile_node->promote = 0;
304
+    $profile_node->sticky = 0;
305
+    $profile_node->format = $default_input_format;
306
+    $profile_node->name = $account->name; // Set to link profile to account uid!
307
+    $profile_node->field_country[]['value'] = $boinc_user->country;
308
+    $profile_node->field_zip[]['value'] = $boinc_user->postal_code;
309
+    $profile_node->field_url[]['value'] = $boinc_user->url;
310
+    $profile_node->field_background[]['value'] = $profile_background;
311
+    $profile_node->field_opinions[]['value'] = $profile_opinions;
312
+    $profile_node->field_image[] = $avatar_image;
313
+    $profile_node->field_profile_image[] = $profile_image;
314
+  
315
+    // Save the profile object to the database
316
+    // This will automatically set the author uid if node->name has been set
317
+    $profile_node = node_submit($profile_node);
318
+    node_save($profile_node);
319
+  
320
+    // Mark profile as approved if it has already been vetted somehow
321
+    if ($profile_approved OR !$boinc_user->has_profile) {
322 322
     $profile_node->moderate = 0;
323 323
     node_save($profile_node);
324
-  }
324
+    }
325 325
   
326
-  return;
326
+    return;
327 327
 }
328 328
 
329 329
 function boincuser_account_cross_reference($uid, $boinc_id) {
330 330
     // Cross reference Drupal account with BOINC
331 331
     $reference = db_query("INSERT INTO {boincuser} SET uid=%d, boinc_id=%d", $uid, $boinc_id);
332 332
     if (!$reference) {
333
-      drupal_set_message(t("Error connecting BOINC account."), 'error');
334
-      return false;
333
+        drupal_set_message(t("Error connecting BOINC account."), 'error');
334
+        return false;
335 335
     }
336 336
     return true;
337 337
 }
@@ -340,35 +340,35 @@  discard block
 block discarded – undo
340 340
  * Convert any BOINC forum thread subscriptions to Drupal flag subscriptions
341 341
  */
342 342
 function boincuser_pull_subscriptions($account = NULL) {
343
-  if (!$account) {
343
+    if (!$account) {
344 344
     global $user;
345 345
     $account = user_load($user->id);
346
-  }
347
-  elseif (is_numeric($account)) {
346
+    }
347
+    elseif (is_numeric($account)) {
348 348
     $account = user_load($account);
349
-  }
349
+    }
350 350
   
351
-  // Get any subscriptions for this user
352
-  db_set_active('boinc_rw');
353
-  $subscriptions = db_query('
351
+    // Get any subscriptions for this user
352
+    db_set_active('boinc_rw');
353
+    $subscriptions = db_query('
354 354
     SELECT threadid FROM {subscriptions}
355 355
     WHERE userid = %d', $account->boincuser_id);
356
-  db_set_active('default');
356
+    db_set_active('default');
357 357
   
358
-  $flag = flag_get_flag('subscriptions') or die('no "subscriptions" flag defined');
359
-  $count = 0;
360
-  while ($thread_id = db_result($subscriptions)) {
358
+    $flag = flag_get_flag('subscriptions') or die('no "subscriptions" flag defined');
359
+    $count = 0;
360
+    while ($thread_id = db_result($subscriptions)) {
361 361
     // For each BOINC thread ID subscribed, look up the corresponding node ID
362 362
     $nid = db_result(db_query('
363 363
       SELECT nid FROM {boincimport_temp_topic}
364 364
       WHERE topic_id = %d', $thread_id));
365 365
     // Flag this node for the user
366 366
     if ($nid > 0) {
367
-      $flag->flag('flag', $nid, $account);
368
-      $count++;
367
+        $flag->flag('flag', $nid, $account);
368
+        $count++;
369 369
     }
370
-  }
371
-  return $count;
370
+    }
371
+    return $count;
372 372
 }
373 373
 
374 374
 
@@ -380,12 +380,12 @@  discard block
 block discarded – undo
380 380
  * User account update validation handler.
381 381
  */
382 382
 function boincuser_account_validate($edit, $account) {
383
-  // Include BOINC database objects library, load BOINC account data
384
-  require_boinc('boinc_db');
385
-  $boinc_user = BoincUser::lookup_email_addr($account->mail);
386
-  $changing_email = ($edit['mail'] AND $edit['mail'] != $account->mail) ? true : false;
387
-  $changing_pass = ($edit['pass']) ? true : false;
388
-  if ($changing_email) {
383
+    // Include BOINC database objects library, load BOINC account data
384
+    require_boinc('boinc_db');
385
+    $boinc_user = BoincUser::lookup_email_addr($account->mail);
386
+    $changing_email = ($edit['mail'] AND $edit['mail'] != $account->mail) ? true : false;
387
+    $changing_pass = ($edit['pass']) ? true : false;
388
+    if ($changing_email) {
389 389
     // E-mail address is set to change; check for an existing BOINC user
390 390
     // Check previous email addresses as well, this user's current
391 391
     // email cannot be the same as another user's previous email
@@ -396,50 +396,50 @@  discard block
 block discarded – undo
396 396
 
397 397
     $boinc_user_already_exists = ( BoincUser::lookup_email_addr($edit['mail']) || BoincUser::lookup_prev_email_addr($edit['mail']) );
398 398
     if ($boinc_user_already_exists) {
399
-      form_set_error('mail', bts('A BOINC account already exists for @email.', array('@email' => $edit['mail']), NULL, 'boinc:add-new-user'));
399
+        form_set_error('mail', bts('A BOINC account already exists for @email.', array('@email' => $edit['mail']), NULL, 'boinc:add-new-user'));
400 400
     }
401 401
 
402 402
     // Check email has not been changed in last X days (default X=7).
403 403
     $duration = 86400 * 7;
404 404
     if ( (($boinc_user->email_addr_change_time + $duration) > time()) and (!(user_access('administer users'))) ) {
405
-      form_set_error('email_addr_change_time',
405
+        form_set_error('email_addr_change_time',
406 406
         bts('Your email address was changed within the past seven (7) days. You must wait until !futuredate to change your email again. If you need to reverse this change, please look for an email sent to !prev_email_addr.',
407 407
         array(
408
-          '!futuredate' => date('F j, Y \a\t H:i T', $boinc_user->email_addr_change_time + $duration),
409
-          '!prev_email_addr' => $boinc_user->previous_email_addr,
408
+            '!futuredate' => date('F j, Y \a\t H:i T', $boinc_user->email_addr_change_time + $duration),
409
+            '!prev_email_addr' => $boinc_user->previous_email_addr,
410 410
         ),
411 411
         NULL, 'boinc:account-credentials-change')
412
-      );
412
+        );
413
+    }
413 414
     }
414
-  }
415 415
 
416
-  // If user is changing email or password, require that the current
417
-  // password has been given as well.
418
-  if (($changing_email OR $changing_pass) AND !user_access('administer users')) {
416
+    // If user is changing email or password, require that the current
417
+    // password has been given as well.
418
+    if (($changing_email OR $changing_pass) AND !user_access('administer users')) {
419 419
     // If changing email or password, require current password
420 420
     // (except in cases where password is being reset)
421 421
     if (isset($_SESSION['reset_pass'])) {
422
-      unset($_SESSION['reset_pass']);
422
+        unset($_SESSION['reset_pass']);
423 423
     }
424 424
     else {
425
-      $given_hash = md5($edit['current_pass'] . strtolower($account->mail));
426
-      if (!$edit['current_pass']) {
425
+        $given_hash = md5($edit['current_pass'] . strtolower($account->mail));
426
+        if (!$edit['current_pass']) {
427 427
         form_set_error('current_pass', bts('Authentication is required when changing E-mail address or setting new password.', array(), NULL, 'boinc:account-credentials-change'));
428
-      }
429
-      elseif ( (!password_verify($given_hash, $boinc_user->passwd_hash)) and ($given_hash != $boinc_user->passwd_hash) ) {
428
+        }
429
+        elseif ( (!password_verify($given_hash, $boinc_user->passwd_hash)) and ($given_hash != $boinc_user->passwd_hash) ) {
430 430
         form_set_error('current_pass', bts('Password entered is not valid. Please verify that it is correct.', array(), NULL, 'boinc:account-credentials-change'));
431
-      }
431
+        }
432 432
 
433 433
     }
434
-  }
434
+    }
435 435
 
436
-  // If an admin tries to change the email and NOT the password, show
437
-  // error message. BOINC requires both to be changed together.
438
-  if ($changing_email AND !$changing_pass AND user_access('administer users')) {
436
+    // If an admin tries to change the email and NOT the password, show
437
+    // error message. BOINC requires both to be changed together.
438
+    if ($changing_email AND !$changing_pass AND user_access('administer users')) {
439 439
     form_set_error('pass', bts('If changing a user\'s email, you must also change the password simultaneously.', array(), NULL, 'boinc:account-credentials-change'));
440
-  }
440
+    }
441 441
   
442
-  // Expansion required to allow account key in place of passwd...?
442
+    // Expansion required to allow account key in place of passwd...?
443 443
   
444 444
 }
445 445
 
@@ -452,12 +452,12 @@  discard block
 block discarded – undo
452 452
  * Password request validation handler.
453 453
  */
454 454
 function boincuser_request_pass_validate($form, &$form_state) {
455
-  $edit = $form_state['values'];
456
-  // The Drupal submit function expects a "name" field, even though
457
-  // it contains an email address and we will not allow a user name
458
-  if (!$edit['name']) form_set_error('name', bts('Please enter your email address', array(), NULL, 'boinc:forgot-password'));
459
-  elseif (!valid_email_address($edit['name'])) form_set_error('name', bts('@email is not a well formed email address, please verify', array('@email' => $edit['name']), NULL, 'boinc:forgot-password'));
460
-  else {
455
+    $edit = $form_state['values'];
456
+    // The Drupal submit function expects a "name" field, even though
457
+    // it contains an email address and we will not allow a user name
458
+    if (!$edit['name']) form_set_error('name', bts('Please enter your email address', array(), NULL, 'boinc:forgot-password'));
459
+    elseif (!valid_email_address($edit['name'])) form_set_error('name', bts('@email is not a well formed email address, please verify', array('@email' => $edit['name']), NULL, 'boinc:forgot-password'));
460
+    else {
461 461
     // set email addrress to lower case
462 462
     $lower_email_addr = strtolower($edit['name']);
463 463
 
@@ -467,110 +467,110 @@  discard block
 block discarded – undo
467 467
     require_boinc('boinc_db');
468 468
     $boinc_user = BoincUser::lookup_email_addr($lower_email_addr);
469 469
     if ($boinc_user) {
470
-      // If the user is in BOINC but not Drupal, bring them over...
471
-      boincuser_register_make_drupal_user($boinc_user);
470
+        // If the user is in BOINC but not Drupal, bring them over...
471
+        boincuser_register_make_drupal_user($boinc_user);
472 472
     } else {
473
-      // If there is no existing BOINC user either, show an error
474
-      form_set_error('name', bts('No account exists for @email -- please create an account using a BOINC client -- !instructions',
475
-      array(
476
-          '@email' => $edit['name'],
477
-          '!instructions' => l(bts('Instructions', array(), NULL, 'boinc:forgot-password'), 'join')
478
-      ), NULL, 'boinc:forgot-password'));
479
-    }
480
-  }
473
+        // If there is no existing BOINC user either, show an error
474
+        form_set_error('name', bts('No account exists for @email -- please create an account using a BOINC client -- !instructions',
475
+        array(
476
+            '@email' => $edit['name'],
477
+            '!instructions' => l(bts('Instructions', array(), NULL, 'boinc:forgot-password'), 'join')
478
+        ), NULL, 'boinc:forgot-password'));
479
+    }
480
+    }
481 481
 }
482 482
 
483 483
 /**
484 484
  * The definition of the authenticator login form.
485 485
  */
486 486
 function boincuser_authloginform() {
487
-  $headers = apache_request_headers();
488
-  $project_name = variable_get('site_name', 'Drupal-BOINC');
489
-  $project_domain = $headers['Host'];
490
-  $form['heading'] = array(
487
+    $headers = apache_request_headers();
488
+    $project_name = variable_get('site_name', 'Drupal-BOINC');
489
+    $project_domain = $headers['Host'];
490
+    $form['heading'] = array(
491 491
     '#type' => 'markup',
492 492
     '#value' => '<h3>' . bts("If you forgot your account's email address, or you can't receive email there:", array(), NULL, 'boinc:authenticator-login-page') . '</h3>'
493
-  );
494
-  $form['instructions'] = array(
493
+    );
494
+    $form['instructions'] = array(
495 495
     '#type' => 'markup',
496 496
     '#value' => '' .
497
-      '<p>' . bts("If you have run BOINC under the account, you can still access it. Here's how:", array(), NULL, 'boinc:authenticator-login-page') .
498
-      '  <ul>' .
499
-      '    <li>' . bts('Go to the BOINC data directory on your computer (see !boinc_wiki for help finding this).', array('!boinc_wiki' => l(bts('BOINC documentation', array(), NULL, 'boinc:authenticator-login-page'), 'http://boinc.berkeley.edu/wiki/BOINC_Data_directory')), NULL, 'boinc:authenticator-login-page') . '</li>' .
500
-      '    <li>' . bts('Find your account file for this project; it will have a name like %file (where the project URL is %url).', array('%file' => "account_{$project_domain}.xml", '%url' => "http://{$project_domain}"), NULL, 'boinc:authenticator-login-page') . '</li>' .
501
-      '    <li>' . bts("Open the file in a text editor like Notepad. You'll see something like:", array(), NULL, 'boinc:authenticator-login-page') .
502
-      '      <pre>' .
503
-      '&lt;account&gt;' . "\n" .
504
-      "  &lt;master_url&gt;http://{$project_domain}/&lt;/master_url&gt;" . "\n" .
505
-      '  &lt;authenticator&gt;8b8496fdd26df7dc0423ecd43c09a56b&lt;/authenticator&gt;' . "\n" .
506
-      "  &lt;project_name&gt;{$project_name}&lt;/project_name&gt;" . "\n" .
507
-      '  ...' . "\n" .
508
-      '&lt;/account&gt;' .
509
-      '      </pre>' .
510
-      '    </li>' .
511
-      '    <li>' . bts('Select and Copy the string between &lt;authenticator&gt; and &lt;/authenticator&gt; (%auth in the above example).', array('%auth' => '8b8496fdd26df7dc0423ecd43c09a56b'), NULL, 'boinc:authenticator-login-page') . '</li>' .
512
-      '    <li>' . bts('Paste the string into the field below, and click OK.', array(), NULL, 'boinc:authenticator-login-page') . '</li>' .
513
-      '    <li>' . bts('You will now be logged in to your account; update the email and password of your account.', array(), NULL, 'boinc:authenticator-login-page') . '</li>' .
514
-      '  </ul>' .
515
-      '</p>'
516
-  );
517
-  $form['authenticator'] = array(
497
+        '<p>' . bts("If you have run BOINC under the account, you can still access it. Here's how:", array(), NULL, 'boinc:authenticator-login-page') .
498
+        '  <ul>' .
499
+        '    <li>' . bts('Go to the BOINC data directory on your computer (see !boinc_wiki for help finding this).', array('!boinc_wiki' => l(bts('BOINC documentation', array(), NULL, 'boinc:authenticator-login-page'), 'http://boinc.berkeley.edu/wiki/BOINC_Data_directory')), NULL, 'boinc:authenticator-login-page') . '</li>' .
500
+        '    <li>' . bts('Find your account file for this project; it will have a name like %file (where the project URL is %url).', array('%file' => "account_{$project_domain}.xml", '%url' => "http://{$project_domain}"), NULL, 'boinc:authenticator-login-page') . '</li>' .
501
+        '    <li>' . bts("Open the file in a text editor like Notepad. You'll see something like:", array(), NULL, 'boinc:authenticator-login-page') .
502
+        '      <pre>' .
503
+        '&lt;account&gt;' . "\n" .
504
+        "  &lt;master_url&gt;http://{$project_domain}/&lt;/master_url&gt;" . "\n" .
505
+        '  &lt;authenticator&gt;8b8496fdd26df7dc0423ecd43c09a56b&lt;/authenticator&gt;' . "\n" .
506
+        "  &lt;project_name&gt;{$project_name}&lt;/project_name&gt;" . "\n" .
507
+        '  ...' . "\n" .
508
+        '&lt;/account&gt;' .
509
+        '      </pre>' .
510
+        '    </li>' .
511
+        '    <li>' . bts('Select and Copy the string between &lt;authenticator&gt; and &lt;/authenticator&gt; (%auth in the above example).', array('%auth' => '8b8496fdd26df7dc0423ecd43c09a56b'), NULL, 'boinc:authenticator-login-page') . '</li>' .
512
+        '    <li>' . bts('Paste the string into the field below, and click OK.', array(), NULL, 'boinc:authenticator-login-page') . '</li>' .
513
+        '    <li>' . bts('You will now be logged in to your account; update the email and password of your account.', array(), NULL, 'boinc:authenticator-login-page') . '</li>' .
514
+        '  </ul>' .
515
+        '</p>'
516
+    );
517
+    $form['authenticator'] = array(
518 518
     '#title' => bts('Log in with authenticator', array(), NULL, 'boinc:authenticator-login-page'),
519 519
     '#type' => 'textfield',
520 520
     '#size' => 60,
521 521
     '#maxlength' => 32,
522 522
     '#required' => TRUE,
523 523
     '#description' => null
524
-  );
524
+    );
525 525
   
526
-  // Form control
527
-  $form['form control tabs prefix'] = array(
526
+    // Form control
527
+    $form['form control tabs prefix'] = array(
528 528
     '#value' => '<ul class="form-control tab-list">',
529 529
     '#weight' => 1001,
530
-  );
531
-  $form['submit'] = array(
530
+    );
531
+    $form['submit'] = array(
532 532
     '#prefix' => '<li class="first tab">',
533 533
     '#type' => 'submit',
534 534
     '#value' => bts('OK', array(), NULL, 'boinc:form-ok'),
535 535
     '#suffix' => '</li>',
536 536
     '#weight' => 1002,
537
-  );
538
-  $form['form control tabs'] = array(
537
+    );
538
+    $form['form control tabs'] = array(
539 539
     '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), 'user/password') . '</li>',
540 540
     '#weight' => 1003,
541
-  );
542
-  $form['form control tabs suffix'] = array(
541
+    );
542
+    $form['form control tabs suffix'] = array(
543 543
     '#value' => '</ul>',
544 544
     '#weight' => 1004,
545
-  );
546
-  return $form;
545
+    );
546
+    return $form;
547 547
 }
548 548
 
549 549
 /**
550 550
  * The authenticator login validation handler
551 551
  */
552 552
 function boincuser_authloginform_validate($form, &$form_state) {
553
-  $authenticator = $form_state['values']['authenticator'];
554
-  if (strlen($authenticator) != 32) {
553
+    $authenticator = $form_state['values']['authenticator'];
554
+    if (strlen($authenticator) != 32) {
555 555
     // We notify the form API that this field has failed validation.
556 556
     form_set_error('authenticator', bts('That authenticator is not valid.', array(), NULL, 'boinc:authenticator-login-page'));
557
-  } else {
557
+    } else {
558 558
     require_boinc('boinc_db');
559 559
     $boinc_user = BoincUser::lookup("authenticator='".addslashes($authenticator)."'");
560 560
     if (!$boinc_user) form_set_error('authenticator', bts('There is no account with that authenticator.', array(), NULL, 'boinc:authenticator-login-page'));
561
-  }
561
+    }
562 562
 }
563 563
 
564 564
 /**
565 565
  * The authenticator login submit handler
566 566
  */
567 567
 function boincuser_authloginform_submit($form, &$form_state) {
568
-  global $user;
569
-  $authenticator = $form_state['values']['authenticator'];
570
-  require_boinc('boinc_db');
571
-  $boinc_user = BoincUser::lookup("authenticator='".addslashes($authenticator)."'");
572
-  if (!$user = user_load(get_drupal_id($boinc_user->id))) drupal_set_message(t('An unresolved error occurred while logging into this account.'));
573
-  else $form_state['redirect'] = 'account/info/edit';
568
+    global $user;
569
+    $authenticator = $form_state['values']['authenticator'];
570
+    require_boinc('boinc_db');
571
+    $boinc_user = BoincUser::lookup("authenticator='".addslashes($authenticator)."'");
572
+    if (!$user = user_load(get_drupal_id($boinc_user->id))) drupal_set_message(t('An unresolved error occurred while logging into this account.'));
573
+    else $form_state['redirect'] = 'account/info/edit';
574 574
 }
575 575
 
576 576
 
@@ -578,44 +578,44 @@  discard block
 block discarded – undo
578 578
  * The definition of the moderator reject user profile form.
579 579
  */
580 580
 function boincuser_moderate_profile_reject_form(&$form_state, $uid) {
581
-  $form_state['storage']['reject_profile_uid'] = $uid;
582
-  $form['reason'] = array(
581
+    $form_state['storage']['reject_profile_uid'] = $uid;
582
+    $form['reason'] = array(
583 583
     '#title' => bts('Reason for rejecting this profile', array(), NULL, 'boinc:moderate-user'),
584 584
     '#type' => 'textarea',
585 585
     '#description' => bts('This reason will be included in an email to the user. Please write a brief explanation of the problem and how to fix it.', array(), NULL, 'boinc:moderate-user'),
586 586
     '#default_value' => '',
587
-  );
587
+    );
588 588
   
589
-  // Form control
590
-  $form['form control tabs prefix'] = array(
589
+    // Form control
590
+    $form['form control tabs prefix'] = array(
591 591
     '#value' => '<ul class="form-control tab-list">',
592 592
     '#weight' => 1001,
593
-  );
594
-  $form['submit'] = array(
593
+    );
594
+    $form['submit'] = array(
595 595
     '#prefix' => '<li class="first tab">',
596 596
     '#type' => 'submit',
597 597
     '#value' => bts('Submit', array(), NULL, 'boinc:form-submit'),
598 598
     '#suffix' => '</li>',
599 599
     '#weight' => 1002,
600
-  );
601
-  $form['form control tabs'] = array(
600
+    );
601
+    $form['form control tabs'] = array(
602 602
     '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), "account/{$uid}") . '</li>',
603 603
     '#weight' => 1003,
604
-  );
605
-  $form['form control tabs suffix'] = array(
604
+    );
605
+    $form['form control tabs suffix'] = array(
606 606
     '#value' => '</ul>',
607 607
     '#weight' => 1004,
608
-  );
609
-  return $form;
608
+    );
609
+    return $form;
610 610
 }
611 611
 
612 612
 /**
613 613
  * The moderator reject user profile submit handler
614 614
  */
615 615
 function boincuser_moderate_profile_reject_form_submit($form, &$form_state) {
616
-  $uid = $form_state['storage']['reject_profile_uid'];
617
-  $reason = $form_state['values']['reason'];
618
-  boincuser_moderate_profile_reject($uid, $reason);
616
+    $uid = $form_state['storage']['reject_profile_uid'];
617
+    $reason = $form_state['values']['reason'];
618
+    boincuser_moderate_profile_reject($uid, $reason);
619 619
 }
620 620
 
621 621
 
@@ -623,52 +623,52 @@  discard block
 block discarded – undo
623 623
  * The definition of the ban user form.
624 624
  */
625 625
 function boincuser_moderate_user_ban_form(&$form_state, $uid) {
626
-  $form_state['storage']['ban_user_uid'] = $uid;
627
-  $form['reason'] = array(
626
+    $form_state['storage']['ban_user_uid'] = $uid;
627
+    $form['reason'] = array(
628 628
     '#title' => bts('Reason for banning this user', array(), NULL, 'boinc:moderate-user'),
629 629
     '#type' => 'textarea',
630 630
     '#description' => bts('This reason will be included in an email to the user. Please write a brief explanation of why the user is being banned.', array(), NULL, 'boinc:moderate-user'),
631 631
     '#default_value' => '',
632
-  );
633
-  $form['duration'] = array(
632
+    );
633
+    $form['duration'] = array(
634 634
     '#title' => bts('Duration of the ban', array(), NULL, 'boinc:moderate-user'),
635 635
     '#type' => 'textfield',
636 636
     '#description' => bts('The number of days until the ban expires. Set to 0 to ban permanently.', array(), NULL, 'boinc:moderate-user'),
637 637
     '#default_value' => '',
638
-  );
638
+    );
639 639
   
640
-  // Form control
641
-  $form['form control tabs prefix'] = array(
640
+    // Form control
641
+    $form['form control tabs prefix'] = array(
642 642
     '#value' => '<ul class="form-control tab-list">',
643 643
     '#weight' => 1001,
644
-  );
645
-  $form['submit'] = array(
644
+    );
645
+    $form['submit'] = array(
646 646
     '#prefix' => '<li class="first tab">',
647 647
     '#type' => 'submit',
648 648
     '#value' => bts('Submit', array(), NULL, 'boinc:form-submit'),
649 649
     '#suffix' => '</li>',
650 650
     '#weight' => 1002,
651
-  );
652
-  $form['form control tabs'] = array(
651
+    );
652
+    $form['form control tabs'] = array(
653 653
     '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), "account/{$uid}") . '</li>',
654 654
     '#weight' => 1003,
655
-  );
656
-  $form['form control tabs suffix'] = array(
655
+    );
656
+    $form['form control tabs suffix'] = array(
657 657
     '#value' => '</ul>',
658 658
     '#weight' => 1004,
659
-  );
660
-  return $form;
659
+    );
660
+    return $form;
661 661
 }
662 662
 
663 663
 /**
664 664
  * The ban user submit handler
665 665
  */
666 666
 function boincuser_moderate_user_ban_form_submit($form, &$form_state) {
667
-  $uid = $form_state['storage']['ban_user_uid'];
668
-  $reason = $form_state['values']['reason'];
669
-  $duration = $form_state['values']['duration'];
670
-  if ($duration) $duration = $duration * 24*60*60;
671
-  boincuser_moderate_user_ban($uid, $reason, $duration);
667
+    $uid = $form_state['storage']['ban_user_uid'];
668
+    $reason = $form_state['values']['reason'];
669
+    $duration = $form_state['values']['duration'];
670
+    if ($duration) $duration = $duration * 24*60*60;
671
+    boincuser_moderate_user_ban($uid, $reason, $duration);
672 672
 }
673 673
 
674 674
 
@@ -676,10 +676,10 @@  discard block
 block discarded – undo
676 676
  * Hack to fix submission of the flag friend unfriend form
677 677
  */
678 678
 function boincuser_fix_unfriend_form_submit($form, &$form_state) {
679
-  // Leaving action as "unfriend" causes problems
680
-  if ($form_state['values']['action'] == 'unfriend') {
679
+    // Leaving action as "unfriend" causes problems
680
+    if ($form_state['values']['action'] == 'unfriend') {
681 681
     $form_state['values']['action'] = 'unflag';
682
-  }
682
+    }
683 683
 }
684 684
 
685 685
 /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
@@ -687,99 +687,99 @@  discard block
 block discarded – undo
687 687
  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  */
688 688
 
689 689
 function boincuser_termsofuse_form() {
690
-  global $user;
690
+    global $user;
691 691
 
692
-  // If user has already signed terms of use, and got to this form in error, send them to site home.
693
-  if (boincuser_check_termsofuse($user)) {
692
+    // If user has already signed terms of use, and got to this form in error, send them to site home.
693
+    if (boincuser_check_termsofuse($user)) {
694 694
     drupal_goto();
695
-  }
695
+    }
696 696
 
697
-  drupal_set_message( bts('WARNING: You have not agreed to our terms of use. Please agree to the terms of use before continuing.', array(), NULL, 'boinc:termsofuse-form'), 'warning' );
697
+    drupal_set_message( bts('WARNING: You have not agreed to our terms of use. Please agree to the terms of use before continuing.', array(), NULL, 'boinc:termsofuse-form'), 'warning' );
698 698
 
699
-  $form = array();
700
-  drupal_add_js(drupal_get_path('module', 'boincuser') . '/boincuser.js');
701
-  $termsofuse = variable_get('boinc_weboptions_termsofuse', '');
699
+    $form = array();
700
+    drupal_add_js(drupal_get_path('module', 'boincuser') . '/boincuser.js');
701
+    $termsofuse = variable_get('boinc_weboptions_termsofuse', '');
702 702
 
703
-  // Fieldset to hold all of the form as a container
704
-  $form['termsofuse'] = array(
703
+    // Fieldset to hold all of the form as a container
704
+    $form['termsofuse'] = array(
705 705
     '#type'   => 'fieldset',
706 706
     '#prefix' => '<div id="termsofuse-wrapper">', // This is our wrapper div.
707 707
     '#suffix' => '</div>',
708 708
     '#tree'   => TRUE,
709
-  );
709
+    );
710 710
 
711
-  $form['termsofuse']['title1'] = array(
711
+    $form['termsofuse']['title1'] = array(
712 712
     '#weight' => -12,
713 713
     '#value' => '<h2>' . bts( variable_get('boinc_weboptions_registrationtitle', 'Please read and acknowledge our terms of use'), array(), NULL, 'project:termsofuse-form' ) . '</h2>',
714 714
     '#prefix' => '<div id="register-title1">',
715 715
     '#suffix' => '</div>',
716
-  );
716
+    );
717 717
 
718
-  // Terms of use section
719
-  $form['termsofuse']['body'] = array(
718
+    // Terms of use section
719
+    $form['termsofuse']['body'] = array(
720 720
     '#weight' => -10,
721 721
     '#value' => bts($termsofuse, array(), NULL, 'project:termsofuse-form'),
722 722
     '#prefix' => '<div id="register-termsofuse">',
723 723
     '#suffix' => '</div>',
724
-  );
724
+    );
725 725
 
726
-  $form['termsofuse']['agreeTOU'] = array(
726
+    $form['termsofuse']['agreeTOU'] = array(
727 727
     '#type'   => 'checkbox',
728 728
     '#title'  => bts(variable_get('boinc_weboptions_agreequestion', 'Do you agree with the above terms of use?'), array(), NULL, 'project:termsofuse-form'),
729 729
     '#weight' => -8,
730 730
     '#prefix' => '<div id="register-checkbox">',
731 731
     '#suffix' => '</div>',
732
-  );
732
+    );
733 733
 
734
-  $form['termsofuse']['spacer'] = array(
734
+    $form['termsofuse']['spacer'] = array(
735 735
     '#prefix' => '<div class="clearfix" id="register-title2">',
736 736
     '#value'  => '&nbsp;',
737 737
     '#suffix' => '</div>',
738
-  );
738
+    );
739 739
 
740
-  // Form Control
741
-  $form['submit'] = array(
740
+    // Form Control
741
+    $form['submit'] = array(
742 742
     '#prefix' => '<p><p><p><li class="first tab" id="register-submit">',
743 743
     '#type' => 'submit',
744 744
     '#value' => bts('Yes', array(), NULL, 'boinc:form-submit'),
745 745
     '#suffix' => '</li>',
746
-  );
747
-  $form['form control tabs'] = array(
746
+    );
747
+    $form['form control tabs'] = array(
748 748
     '#value' => '<li class="tab">' . l(bts('NO - LOGOUT', array(), NULL, 'boinc:form-cancel'), '/logout') . '</li>',
749
-  );
750
-  if (module_exists('boincuser_delete')) {
749
+    );
750
+    if (module_exists('boincuser_delete')) {
751 751
     $deletelink = '/user/' . $user->uid . '/delete';
752 752
     $form['deleteaccount'] = array(
753
-      '#value' => '<li class="tab">' . l(bts('NO - DELETE ACCOUNT', array(), NULL, 'boinc:form-delete-user'), $deletelink) . '</li>',
753
+        '#value' => '<li class="tab">' . l(bts('NO - DELETE ACCOUNT', array(), NULL, 'boinc:form-delete-user'), $deletelink) . '</li>',
754 754
     );
755
-  }
755
+    }
756 756
 
757
-  // Set form redirect
758
-  $form['#redirect'] = $_REQUEST['destination'];
757
+    // Set form redirect
758
+    $form['#redirect'] = $_REQUEST['destination'];
759 759
 
760
-  // Add the current user's data into the form
761
-  $form['#account'] = $user;
760
+    // Add the current user's data into the form
761
+    $form['#account'] = $user;
762 762
 
763
-  return $form;
763
+    return $form;
764 764
 }
765 765
 
766 766
 function boincuser_termsofuse_form_validate($form, &$form_state) {
767
-  // Check TOU agreement
768
-  if (!$form_state['values']['termsofuse']['agreeTOU']) {
767
+    // Check TOU agreement
768
+    if (!$form_state['values']['termsofuse']['agreeTOU']) {
769 769
     form_set_error('termsofuse', bts('ERROR: You must acknowledge our terms of use by clicking the checkbox before registering for an account.', array(), NULL, 'boinc:termsofuse-form'));
770
-  }
770
+    }
771 771
 }
772 772
 
773 773
 function boincuser_termsofuse_form_submit($form, &$form_state) {
774
-  $user = $form['#account'];
775
-  if (!boincuser_consentto_termsofuse($user)) {
774
+    $user = $form['#account'];
775
+    if (!boincuser_consentto_termsofuse($user)) {
776 776
     form_set_error('termsofuse', bts('There was an error in agreeing to the terms of use. Please contact the site administrators.', array(), NULL, 'boinc:termsofuse-form'));
777
-  }
777
+    }
778 778
 
779
-  // Delete session messages
780
-  if ($_SESSION['messages']['warning']) {
779
+    // Delete session messages
780
+    if ($_SESSION['messages']['warning']) {
781 781
     unset($_SESSION['messages']['warning']);
782
-  }
782
+    }
783 783
 }
784 784
 
785 785
 /**
@@ -788,88 +788,88 @@  discard block
 block discarded – undo
788 788
  * removed after used.
789 789
  */
790 790
 function boincuser_revertemail(&$form_state, $token) {
791
-  require_boinc('token');
792
-  require_boinc('util');
791
+    require_boinc('token');
792
+    require_boinc('util');
793 793
 
794
-  global $user;
795
-  $form = array();
794
+    global $user;
795
+    $form = array();
796 796
 
797
-  // drupal JS for dynamic password validation
798
-  _user_password_dynamic_validation();
797
+    // drupal JS for dynamic password validation
798
+    _user_password_dynamic_validation();
799 799
 
800
-  // check BOINC user exists
801
-  $account = user_load(array('uid' => $user->uid));
802
-  $uid = $user->uid;
803
-  $boincid = $account->boincuser_id;
804
-  // check $token is valid
805
-  if (!is_valid_token($boincid, $token, 'E')) {
800
+    // check BOINC user exists
801
+    $account = user_load(array('uid' => $user->uid));
802
+    $uid = $user->uid;
803
+    $boincid = $account->boincuser_id;
804
+    // check $token is valid
805
+    if (!is_valid_token($boincid, $token, 'E')) {
806 806
     drupal_set_message(bts('ERROR: You have supplied an incorrect (most likely expired) token. Please obtain a new token by !link your email address.',
807 807
     array(
808
-      '!link' => l(bts('changing', array(), NULL, 'boinc:revert-email-change'), "/account/info/edit"),
808
+        '!link' => l(bts('changing', array(), NULL, 'boinc:revert-email-change'), "/account/info/edit"),
809 809
     ),
810 810
     NULL, 'boinc:revert-email-change'), 'error');
811 811
     drupal_goto();
812
-  }
812
+    }
813 813
 
814
-  // Attach account and token to this form.
815
-  $form['_account'] = array('#type' => 'value', '#value' => $account);
816
-  $form['_token'] = array('#type' => 'value', '#value' => $token);
814
+    // Attach account and token to this form.
815
+    $form['_account'] = array('#type' => 'value', '#value' => $account);
816
+    $form['_token'] = array('#type' => 'value', '#value' => $token);
817 817
 
818
-  // Instructions
819
-  $form['main']['instructions1'] = array(
818
+    // Instructions
819
+    $form['main']['instructions1'] = array(
820 820
     '#value' => '<p>'.
821 821
     bts('In order to change your email back to your previous email address, <strong>!prev_email</strong>, you must also change your password.',
822
-      array(
822
+        array(
823 823
         '!prev_email' => $account->boincuser_previous_email_addr,
824
-      ),
825
-      NULL, 'boinc:revert-email-change').
824
+        ),
825
+        NULL, 'boinc:revert-email-change').
826 826
     '</p>',
827
-  );
827
+    );
828 828
 
829
-  $form['main']['pass'] = array(
829
+    $form['main']['pass'] = array(
830 830
     '#type' => 'password_confirm',
831 831
     '#description' => 'Enter a new password in both fields',
832 832
     '#size' => 17,
833
-  );
834
-
835
-  // Wrap action buttons for styling consistency
836
-  $form['buttons']['form control tabs prefix'] = array(
837
-      '#value' => '<ul class="form-control tab-list">',
838
-      '#weight' => 1001,
839
-  );
840
-  $form['buttons']['submit']['#type'] = 'submit';
841
-  $form['buttons']['submit']['#prefix'] = '<li class="first tab">';
842
-  $form['buttons']['submit']['#value'] = bts('Submit', array(), NULL, 'boinc:form-submit');
843
-  $form['buttons']['submit']['#suffix'] = '</li>';
844
-  $form['buttons']['submit']['#weight'] = 1002;
845
-  $form['buttons']['cancel'] = array(
846
-      '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), 'user/info/edit') . '</li>',
847
-      '#weight' => 1005,
848
-  );
849
-  $form['buttons']['form control tabs suffix'] = array(
850
-      '#value' => '</ul>',
851
-      '#weight' => 1010,
852
-  );
853
-
854
-  return $form;
833
+    );
834
+
835
+    // Wrap action buttons for styling consistency
836
+    $form['buttons']['form control tabs prefix'] = array(
837
+        '#value' => '<ul class="form-control tab-list">',
838
+        '#weight' => 1001,
839
+    );
840
+    $form['buttons']['submit']['#type'] = 'submit';
841
+    $form['buttons']['submit']['#prefix'] = '<li class="first tab">';
842
+    $form['buttons']['submit']['#value'] = bts('Submit', array(), NULL, 'boinc:form-submit');
843
+    $form['buttons']['submit']['#suffix'] = '</li>';
844
+    $form['buttons']['submit']['#weight'] = 1002;
845
+    $form['buttons']['cancel'] = array(
846
+        '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), 'user/info/edit') . '</li>',
847
+        '#weight' => 1005,
848
+    );
849
+    $form['buttons']['form control tabs suffix'] = array(
850
+        '#value' => '</ul>',
851
+        '#weight' => 1010,
852
+    );
853
+
854
+    return $form;
855 855
 }
856 856
 
857 857
 /**
858 858
  * Validation handler for revertemail form
859 859
  */
860 860
 function boincuser_revertemail_validate($form, &$form_state) {
861
-  // Load account and boincuser
862
-  $account = $form_state['values']['_account'];
863
-  $boinc_user = BoincUser::lookup_id_nocache($account->boincuser_id);
861
+    // Load account and boincuser
862
+    $account = $form_state['values']['_account'];
863
+    $boinc_user = BoincUser::lookup_id_nocache($account->boincuser_id);
864 864
 
865
-  if (BoincUser::lookup_email_addr($boinc_user->previous_email_addr)) {
865
+    if (BoincUser::lookup_email_addr($boinc_user->previous_email_addr)) {
866 866
     form_set_error('mail', bts('An account already exists for @email. Please contact admins for @project. Previous email address cannot be used because another account is using it as their email address.',
867
-      array(
867
+        array(
868 868
         '@email' => $boinc_user->previous_email_addr,
869 869
         '@project' => variable_get('site_name', 'Drupal-BOINC'),
870
-      ),
870
+        ),
871 871
     NULL, 'boinc:add-new-user'));
872
-  }
872
+    }
873 873
 
874 874
 }
875 875
 
@@ -877,25 +877,25 @@  discard block
 block discarded – undo
877 877
  * Submit handler for revertemail form
878 878
  */
879 879
 function boincuser_revertemail_submit($form, &$form_state) {
880
-  require_boinc('password_compat/password');
880
+    require_boinc('password_compat/password');
881 881
 
882
-  // Load account and boincuser
883
-  $account = $form_state['values']['_account'];
884
-  $boinc_user = BoincUser::lookup_id_nocache($account->boincuser_id);
882
+    // Load account and boincuser
883
+    $account = $form_state['values']['_account'];
884
+    $boinc_user = BoincUser::lookup_id_nocache($account->boincuser_id);
885 885
 
886
-  $pem = strtolower($boinc_user->previous_email_addr);
886
+    $pem = strtolower($boinc_user->previous_email_addr);
887 887
 
888
-  // Set new password based on previous email address and entered
889
-  // password.
890
-  $new_passwd_hash = password_hash( md5($form_state['values']['pass'].$pem), PASSWORD_DEFAULT);
888
+    // Set new password based on previous email address and entered
889
+    // password.
890
+    $new_passwd_hash = password_hash( md5($form_state['values']['pass'].$pem), PASSWORD_DEFAULT);
891 891
 
892
-  $boinc_user->update("email_addr='${pem}', previous_email_addr='', email_addr_change_time=0, passwd_hash='${new_passwd_hash}'");
892
+    $boinc_user->update("email_addr='${pem}', previous_email_addr='', email_addr_change_time=0, passwd_hash='${new_passwd_hash}'");
893 893
 
894
-  // Set email in drupal database to previous email
895
-  user_save($account, array('mail' => $pem));
894
+    // Set email in drupal database to previous email
895
+    user_save($account, array('mail' => $pem));
896 896
 
897
-  // delete the token
898
-  $result = delete_token($account->boincuser_id, $form_state['values']['_token'], 'E');
897
+    // delete the token
898
+    $result = delete_token($account->boincuser_id, $form_state['values']['_token'], 'E');
899 899
 
900
-  drupal_goto('account');
900
+    drupal_goto('account');
901 901
 }
Please login to merge, or discard this patch.