Passed
Push — master ( 8b88f4...c5ef2d )
by Christian
07:24 queued 10s
created
default/boinc/modules/boincuser/boincuser_quote/boincuser_quote.module 1 patch
Indentation   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -31,43 +31,43 @@
 block discarded – undo
31 31
  */
32 32
 
33 33
 function boincuser_quote_form_alter(&$form, $form_state, $form_id) {
34
-  switch ($form_id) {
35
-  // Comment form
36
-  case 'comment_form':
34
+    switch ($form_id) {
35
+    // Comment form
36
+    case 'comment_form':
37 37
     // If there is a quote as part of the comment body, replace the
38 38
     // first instance of quote=author with quote=boincusername. This
39 39
     // is done with regexp.
40 40
     // Modify for quotes only
41 41
     if ((isset($_POST['quote']) || isset($_GET['quote']) && $_GET['quote'])) {
42
-      // If default_value is already set, then modify it
43
-      if (isset($form['comment_filter']['comment']['#default_value'])) {
42
+        // If default_value is already set, then modify it
43
+        if (isset($form['comment_filter']['comment']['#default_value'])) {
44 44
         $nid = arg(2);
45 45
         $cid = arg(3);
46 46
 
47 47
         $replace = FALSE;
48 48
         if ($cid) {
49
-          $comment = db_fetch_object(db_query('SELECT c.*, u.uid, u.name AS registered_name FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0', $cid));
50
-          if ($comment->uid) {
49
+            $comment = db_fetch_object(db_query('SELECT c.*, u.uid, u.name AS registered_name FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0', $cid));
50
+            if ($comment->uid) {
51 51
             $account = user_load($comment->uid);
52 52
             $boincusername = (!empty($account)) ? $account->boincuser_name : variable_get('anonymous', 'Anonymous');
53 53
             $replace = TRUE;
54
-          }
54
+            }
55 55
         }
56 56
         elseif ($nid && _quote_variable_get('node_link_display')) {
57
-          $node = node_load(array('nid' => $nid));
58
-          if (in_array($node->type, _quote_variable_get('node_types'))) {
57
+            $node = node_load(array('nid' => $nid));
58
+            if (in_array($node->type, _quote_variable_get('node_types'))) {
59 59
             $account = user_load($node->uid);
60 60
             $boincusername = (!empty($account)) ? $account->boincuser_name : variable_get('anonymous', 'Anonymous');
61 61
             $replace = TRUE;
62
-          }
62
+            }
63 63
         }
64 64
 
65 65
         // Replace the quoted author name (drupal name) with BOINC username.
66 66
         if ($replace) {
67
-          $form['comment_filter']['comment']['#default_value'] = preg_replace("/\[quote=(.*?)\]/", "[quote=${boincusername}]", $form['comment_filter']['comment']['#default_value'], 1);
67
+            $form['comment_filter']['comment']['#default_value'] = preg_replace("/\[quote=(.*?)\]/", "[quote=${boincusername}]", $form['comment_filter']['comment']['#default_value'], 1);
68
+        }
68 69
         }
69
-      }
70 70
     }
71 71
     break;
72
-  }
72
+    }
73 73
 }
Please login to merge, or discard this patch.
drupal/sites/all/features/user_profiles/user_profiles.views_default.inc 1 patch
Indentation   +403 added lines, -403 removed lines patch added patch discarded remove patch
@@ -4,22 +4,22 @@  discard block
 block discarded – undo
4 4
  * Implementation of hook_views_default_views().
5 5
  */
6 6
 function user_profiles_views_default_views() {
7
-  $views = array();
7
+    $views = array();
8 8
 
9
-  // Exported view: moderation_queue
10
-  $view = new view;
11
-  $view->name = 'moderation_queue';
12
-  $view->description = '';
13
-  $view->tag = '';
14
-  $view->base_table = 'node';
15
-  $view->core = 6;
16
-  $view->api_version = '2';
17
-  $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
18
-  $handler = $view->new_display('default', 'Defaults', 'default');
19
-  $handler->override_option('fields', array(
9
+    // Exported view: moderation_queue
10
+    $view = new view;
11
+    $view->name = 'moderation_queue';
12
+    $view->description = '';
13
+    $view->tag = '';
14
+    $view->base_table = 'node';
15
+    $view->core = 6;
16
+    $view->api_version = '2';
17
+    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
18
+    $handler = $view->new_display('default', 'Defaults', 'default');
19
+    $handler->override_option('fields', array(
20 20
     'title' => array(
21
-      'label' => 'Title',
22
-      'alter' => array(
21
+        'label' => 'Title',
22
+        'alter' => array(
23 23
         'alter_text' => 0,
24 24
         'text' => '',
25 25
         'make_link' => 0,
@@ -38,21 +38,21 @@  discard block
 block discarded – undo
38 38
         'ellipsis' => 1,
39 39
         'html' => 0,
40 40
         'strip_tags' => 0,
41
-      ),
42
-      'empty' => '',
43
-      'hide_empty' => 0,
44
-      'empty_zero' => 0,
45
-      'hide_alter_empty' => 1,
46
-      'link_to_node' => 1,
47
-      'exclude' => 0,
48
-      'id' => 'title',
49
-      'table' => 'node',
50
-      'field' => 'title',
51
-      'relationship' => 'none',
41
+        ),
42
+        'empty' => '',
43
+        'hide_empty' => 0,
44
+        'empty_zero' => 0,
45
+        'hide_alter_empty' => 1,
46
+        'link_to_node' => 1,
47
+        'exclude' => 0,
48
+        'id' => 'title',
49
+        'table' => 'node',
50
+        'field' => 'title',
51
+        'relationship' => 'none',
52 52
     ),
53 53
     'changed' => array(
54
-      'label' => 'Updated date',
55
-      'alter' => array(
54
+        'label' => 'Updated date',
55
+        'alter' => array(
56 56
         'alter_text' => 0,
57 57
         'text' => '',
58 58
         'make_link' => 0,
@@ -71,22 +71,22 @@  discard block
 block discarded – undo
71 71
         'ellipsis' => 1,
72 72
         'html' => 0,
73 73
         'strip_tags' => 0,
74
-      ),
75
-      'empty' => '',
76
-      'hide_empty' => 0,
77
-      'empty_zero' => 0,
78
-      'hide_alter_empty' => 1,
79
-      'date_format' => 'time ago',
80
-      'custom_date_format' => '',
81
-      'exclude' => 0,
82
-      'id' => 'changed',
83
-      'table' => 'node',
84
-      'field' => 'changed',
85
-      'relationship' => 'none',
74
+        ),
75
+        'empty' => '',
76
+        'hide_empty' => 0,
77
+        'empty_zero' => 0,
78
+        'hide_alter_empty' => 1,
79
+        'date_format' => 'time ago',
80
+        'custom_date_format' => '',
81
+        'exclude' => 0,
82
+        'id' => 'changed',
83
+        'table' => 'node',
84
+        'field' => 'changed',
85
+        'relationship' => 'none',
86 86
     ),
87 87
     'uid' => array(
88
-      'label' => 'Uid',
89
-      'alter' => array(
88
+        'label' => 'Uid',
89
+        'alter' => array(
90 90
         'alter_text' => 0,
91 91
         'text' => '',
92 92
         'make_link' => 0,
@@ -105,21 +105,21 @@  discard block
 block discarded – undo
105 105
         'ellipsis' => 1,
106 106
         'html' => 0,
107 107
         'strip_tags' => 0,
108
-      ),
109
-      'empty' => '',
110
-      'hide_empty' => 0,
111
-      'empty_zero' => 0,
112
-      'hide_alter_empty' => 1,
113
-      'link_to_user' => 1,
114
-      'exclude' => 1,
115
-      'id' => 'uid',
116
-      'table' => 'users',
117
-      'field' => 'uid',
118
-      'relationship' => 'none',
108
+        ),
109
+        'empty' => '',
110
+        'hide_empty' => 0,
111
+        'empty_zero' => 0,
112
+        'hide_alter_empty' => 1,
113
+        'link_to_user' => 1,
114
+        'exclude' => 1,
115
+        'id' => 'uid',
116
+        'table' => 'users',
117
+        'field' => 'uid',
118
+        'relationship' => 'none',
119 119
     ),
120 120
     'name' => array(
121
-      'label' => 'Author',
122
-      'alter' => array(
121
+        'label' => 'Author',
122
+        'alter' => array(
123 123
         'alter_text' => 0,
124 124
         'text' => '',
125 125
         'make_link' => 1,
@@ -138,81 +138,81 @@  discard block
 block discarded – undo
138 138
         'ellipsis' => 1,
139 139
         'html' => 0,
140 140
         'strip_tags' => 0,
141
-      ),
142
-      'empty' => '',
143
-      'hide_empty' => 0,
144
-      'empty_zero' => 0,
145
-      'hide_alter_empty' => 0,
146
-      'link_to_user' => 0,
147
-      'overwrite_anonymous' => 1,
148
-      'anonymous_text' => 'Anonymous',
149
-      'exclude' => 0,
150
-      'id' => 'name',
151
-      'table' => 'users',
152
-      'field' => 'name',
153
-      'relationship' => 'none',
141
+        ),
142
+        'empty' => '',
143
+        'hide_empty' => 0,
144
+        'empty_zero' => 0,
145
+        'hide_alter_empty' => 0,
146
+        'link_to_user' => 0,
147
+        'overwrite_anonymous' => 1,
148
+        'anonymous_text' => 'Anonymous',
149
+        'exclude' => 0,
150
+        'id' => 'name',
151
+        'table' => 'users',
152
+        'field' => 'name',
153
+        'relationship' => 'none',
154 154
     ),
155
-  ));
156
-  $handler->override_option('filters', array(
155
+    ));
156
+    $handler->override_option('filters', array(
157 157
     'moderate' => array(
158
-      'operator' => '=',
159
-      'value' => '1',
160
-      'group' => '0',
161
-      'exposed' => FALSE,
162
-      'expose' => array(
158
+        'operator' => '=',
159
+        'value' => '1',
160
+        'group' => '0',
161
+        'exposed' => FALSE,
162
+        'expose' => array(
163 163
         'operator' => FALSE,
164 164
         'label' => '',
165
-      ),
166
-      'id' => 'moderate',
167
-      'table' => 'node',
168
-      'field' => 'moderate',
169
-      'relationship' => 'none',
165
+        ),
166
+        'id' => 'moderate',
167
+        'table' => 'node',
168
+        'field' => 'moderate',
169
+        'relationship' => 'none',
170 170
     ),
171
-  ));
172
-  $handler->override_option('access', array(
171
+    ));
172
+    $handler->override_option('access', array(
173 173
     'type' => 'role',
174 174
     'role' => array(
175
-      1271379760 => 1271379760,
175
+        1271379760 => 1271379760,
176 176
     ),
177
-  ));
178
-  $handler->override_option('cache', array(
177
+    ));
178
+    $handler->override_option('cache', array(
179 179
     'type' => 'none',
180
-  ));
181
-  $handler->override_option('empty', bts('No content is in the queue for moderation.', array(), NULL, 'boinc:moderate-user-page'));
182
-  $handler->override_option('empty_format', '4');
183
-  $handler->override_option('use_pager', '1');
184
-  $handler->override_option('style_plugin', 'table');
185
-  $handler->override_option('style_options', array(
180
+    ));
181
+    $handler->override_option('empty', bts('No content is in the queue for moderation.', array(), NULL, 'boinc:moderate-user-page'));
182
+    $handler->override_option('empty_format', '4');
183
+    $handler->override_option('use_pager', '1');
184
+    $handler->override_option('style_plugin', 'table');
185
+    $handler->override_option('style_options', array(
186 186
     'grouping' => '',
187 187
     'override' => 1,
188 188
     'sticky' => 0,
189 189
     'order' => 'desc',
190 190
     'summary' => '',
191 191
     'columns' => array(
192
-      'view_node' => 'view_node',
193
-      'title' => 'title',
194
-      'changed' => 'changed',
192
+        'view_node' => 'view_node',
193
+        'title' => 'title',
194
+        'changed' => 'changed',
195 195
     ),
196 196
     'info' => array(
197
-      'view_node' => array(
197
+        'view_node' => array(
198 198
         'separator' => '',
199
-      ),
200
-      'title' => array(
199
+        ),
200
+        'title' => array(
201 201
         'sortable' => 0,
202 202
         'separator' => '',
203
-      ),
204
-      'changed' => array(
203
+        ),
204
+        'changed' => array(
205 205
         'sortable' => 0,
206 206
         'separator' => '',
207
-      ),
207
+        ),
208 208
     ),
209 209
     'default' => 'changed',
210
-  ));
211
-  $handler = $view->new_display('page', 'User profiles', 'page_1');
212
-  $handler->override_option('fields', array(
210
+    ));
211
+    $handler = $view->new_display('page', 'User profiles', 'page_1');
212
+    $handler->override_option('fields', array(
213 213
     'uid' => array(
214
-      'label' => 'Uid',
215
-      'alter' => array(
214
+        'label' => 'Uid',
215
+        'alter' => array(
216 216
         'alter_text' => 0,
217 217
         'text' => '',
218 218
         'make_link' => 0,
@@ -231,24 +231,24 @@  discard block
 block discarded – undo
231 231
         'ellipsis' => 1,
232 232
         'html' => 0,
233 233
         'strip_tags' => 0,
234
-      ),
235
-      'empty' => '',
236
-      'hide_empty' => 0,
237
-      'empty_zero' => 0,
238
-      'hide_alter_empty' => 1,
239
-      'link_to_user' => 1,
240
-      'exclude' => 1,
241
-      'id' => 'uid',
242
-      'table' => 'users',
243
-      'field' => 'uid',
244
-      'override' => array(
234
+        ),
235
+        'empty' => '',
236
+        'hide_empty' => 0,
237
+        'empty_zero' => 0,
238
+        'hide_alter_empty' => 1,
239
+        'link_to_user' => 1,
240
+        'exclude' => 1,
241
+        'id' => 'uid',
242
+        'table' => 'users',
243
+        'field' => 'uid',
244
+        'override' => array(
245 245
         'button' => 'Use default',
246
-      ),
247
-      'relationship' => 'none',
246
+        ),
247
+        'relationship' => 'none',
248 248
     ),
249 249
     'name' => array(
250
-      'label' => 'User',
251
-      'alter' => array(
250
+        'label' => 'User',
251
+        'alter' => array(
252 252
         'alter_text' => 0,
253 253
         'text' => '',
254 254
         'make_link' => 1,
@@ -267,26 +267,26 @@  discard block
 block discarded – undo
267 267
         'ellipsis' => 1,
268 268
         'html' => 0,
269 269
         'strip_tags' => 0,
270
-      ),
271
-      'empty' => '',
272
-      'hide_empty' => 0,
273
-      'empty_zero' => 0,
274
-      'hide_alter_empty' => 1,
275
-      'link_to_user' => 1,
276
-      'overwrite_anonymous' => 0,
277
-      'anonymous_text' => '',
278
-      'exclude' => 0,
279
-      'id' => 'name',
280
-      'table' => 'users',
281
-      'field' => 'name',
282
-      'override' => array(
270
+        ),
271
+        'empty' => '',
272
+        'hide_empty' => 0,
273
+        'empty_zero' => 0,
274
+        'hide_alter_empty' => 1,
275
+        'link_to_user' => 1,
276
+        'overwrite_anonymous' => 0,
277
+        'anonymous_text' => '',
278
+        'exclude' => 0,
279
+        'id' => 'name',
280
+        'table' => 'users',
281
+        'field' => 'name',
282
+        'override' => array(
283 283
         'button' => 'Use default',
284
-      ),
285
-      'relationship' => 'none',
284
+        ),
285
+        'relationship' => 'none',
286 286
     ),
287 287
     'changed' => array(
288
-      'label' => 'Updated date',
289
-      'alter' => array(
288
+        'label' => 'Updated date',
289
+        'alter' => array(
290 290
         'alter_text' => 0,
291 291
         'text' => '',
292 292
         'make_link' => 0,
@@ -305,22 +305,22 @@  discard block
 block discarded – undo
305 305
         'ellipsis' => 1,
306 306
         'html' => 0,
307 307
         'strip_tags' => 0,
308
-      ),
309
-      'empty' => '',
310
-      'hide_empty' => 0,
311
-      'empty_zero' => 0,
312
-      'hide_alter_empty' => 1,
313
-      'date_format' => 'time ago',
314
-      'custom_date_format' => '',
315
-      'exclude' => 0,
316
-      'id' => 'changed',
317
-      'table' => 'node',
318
-      'field' => 'changed',
319
-      'relationship' => 'none',
308
+        ),
309
+        'empty' => '',
310
+        'hide_empty' => 0,
311
+        'empty_zero' => 0,
312
+        'hide_alter_empty' => 1,
313
+        'date_format' => 'time ago',
314
+        'custom_date_format' => '',
315
+        'exclude' => 0,
316
+        'id' => 'changed',
317
+        'table' => 'node',
318
+        'field' => 'changed',
319
+        'relationship' => 'none',
320 320
     ),
321 321
     'phpcode' => array(
322
-      'label' => 'Edit Profile',
323
-      'alter' => array(
322
+        'label' => 'Edit Profile',
323
+        'alter' => array(
324 324
         'alter_text' => 0,
325 325
         'text' => '',
326 326
         'make_link' => 0,
@@ -339,108 +339,108 @@  discard block
 block discarded – undo
339 339
         'ellipsis' => 1,
340 340
         'html' => 0,
341 341
         'strip_tags' => 0,
342
-      ),
343
-      'empty' => '',
344
-      'hide_empty' => 0,
345
-      'empty_zero' => 0,
346
-      'hide_alter_empty' => 1,
347
-      'value' => '<?php
342
+        ),
343
+        'empty' => '',
344
+        'hide_empty' => 0,
345
+        'empty_zero' => 0,
346
+        'hide_alter_empty' => 1,
347
+        'value' => '<?php
348 348
 $uid = $data->users_uid;
349 349
 return l(
350 350
 bts(\'edit\', array(), NULL, \'boinc:edit-profile\'),
351 351
 "/moderate/profile/$uid/edit");
352 352
 ?>',
353
-      'exclude' => 0,
354
-      'id' => 'phpcode',
355
-      'table' => 'customfield',
356
-      'field' => 'phpcode',
357
-      'override' => array(
353
+        'exclude' => 0,
354
+        'id' => 'phpcode',
355
+        'table' => 'customfield',
356
+        'field' => 'phpcode',
357
+        'override' => array(
358 358
         'button' => 'Use default',
359
-      ),
360
-      'relationship' => 'none',
359
+        ),
360
+        'relationship' => 'none',
361 361
     ),
362
-  ));
363
-  $handler->override_option('filters', array(
362
+    ));
363
+    $handler->override_option('filters', array(
364 364
     'moderate' => array(
365
-      'operator' => '=',
366
-      'value' => '1',
367
-      'group' => '0',
368
-      'exposed' => FALSE,
369
-      'expose' => array(
365
+        'operator' => '=',
366
+        'value' => '1',
367
+        'group' => '0',
368
+        'exposed' => FALSE,
369
+        'expose' => array(
370 370
         'operator' => FALSE,
371 371
         'label' => '',
372
-      ),
373
-      'id' => 'moderate',
374
-      'table' => 'node',
375
-      'field' => 'moderate',
376
-      'override' => array(
372
+        ),
373
+        'id' => 'moderate',
374
+        'table' => 'node',
375
+        'field' => 'moderate',
376
+        'override' => array(
377 377
         'button' => 'Use default',
378
-      ),
379
-      'relationship' => 'none',
378
+        ),
379
+        'relationship' => 'none',
380 380
     ),
381 381
     'type' => array(
382
-      'operator' => 'in',
383
-      'value' => array(
382
+        'operator' => 'in',
383
+        'value' => array(
384 384
         'profile' => 'profile',
385
-      ),
386
-      'group' => '0',
387
-      'exposed' => FALSE,
388
-      'expose' => array(
385
+        ),
386
+        'group' => '0',
387
+        'exposed' => FALSE,
388
+        'expose' => array(
389 389
         'operator' => FALSE,
390 390
         'label' => '',
391
-      ),
392
-      'id' => 'type',
393
-      'table' => 'node',
394
-      'field' => 'type',
395
-      'override' => array(
391
+        ),
392
+        'id' => 'type',
393
+        'table' => 'node',
394
+        'field' => 'type',
395
+        'override' => array(
396 396
         'button' => 'Use default',
397
-      ),
398
-      'relationship' => 'none',
397
+        ),
398
+        'relationship' => 'none',
399 399
     ),
400
-  ));
401
-  $handler->override_option('title', bts('User profile moderation queue', array(), NULL, 'boinc:moderate-user-page'));
402
-  $handler->override_option('path', 'moderate/profiles');
403
-  $handler->override_option('menu', array(
400
+    ));
401
+    $handler->override_option('title', bts('User profile moderation queue', array(), NULL, 'boinc:moderate-user-page'));
402
+    $handler->override_option('path', 'moderate/profiles');
403
+    $handler->override_option('menu', array(
404 404
     'type' => 'default tab',
405 405
     'title' => 'Queue',
406 406
     'description' => '',
407 407
     'weight' => '-50',
408 408
     'name' => 'primary-links',
409
-  ));
410
-  $handler->override_option('tab_options', array(
409
+    ));
410
+    $handler->override_option('tab_options', array(
411 411
     'type' => 'normal',
412 412
     'title' => 'Moderation',
413 413
     'description' => '',
414 414
     'weight' => '0',
415 415
     'name' => 'primary-links',
416
-  ));
416
+    ));
417 417
 
418
-  $views[$view->name] = $view;
418
+    $views[$view->name] = $view;
419 419
 
420
-  // Exported view: user_activity
421
-  $view = new view;
422
-  $view->name = 'user_activity';
423
-  $view->description = 'A feed of a user\'s activity on the site';
424
-  $view->tag = '';
425
-  $view->base_table = 'node_revisions';
426
-  $view->core = 6;
427
-  $view->api_version = '2';
428
-  $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
429
-  $handler = $view->new_display('default', 'Defaults', 'default');
430
-  $handler->override_option('relationships', array(
420
+    // Exported view: user_activity
421
+    $view = new view;
422
+    $view->name = 'user_activity';
423
+    $view->description = 'A feed of a user\'s activity on the site';
424
+    $view->tag = '';
425
+    $view->base_table = 'node_revisions';
426
+    $view->core = 6;
427
+    $view->api_version = '2';
428
+    $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
429
+    $handler = $view->new_display('default', 'Defaults', 'default');
430
+    $handler->override_option('relationships', array(
431 431
     'uid' => array(
432
-      'label' => 'user',
433
-      'required' => 1,
434
-      'id' => 'uid',
435
-      'table' => 'node_revisions',
436
-      'field' => 'uid',
437
-      'relationship' => 'none',
432
+        'label' => 'user',
433
+        'required' => 1,
434
+        'id' => 'uid',
435
+        'table' => 'node_revisions',
436
+        'field' => 'uid',
437
+        'relationship' => 'none',
438 438
     ),
439
-  ));
440
-  $handler->override_option('fields', array(
439
+    ));
440
+    $handler->override_option('fields', array(
441 441
     'nid' => array(
442
-      'label' => 'Nid',
443
-      'alter' => array(
442
+        'label' => 'Nid',
443
+        'alter' => array(
444 444
         'alter_text' => 0,
445 445
         'text' => '',
446 446
         'make_link' => 0,
@@ -459,21 +459,21 @@  discard block
 block discarded – undo
459 459
         'ellipsis' => 1,
460 460
         'html' => 0,
461 461
         'strip_tags' => 0,
462
-      ),
463
-      'empty' => '',
464
-      'hide_empty' => 0,
465
-      'empty_zero' => 0,
466
-      'hide_alter_empty' => 1,
467
-      'link_to_node' => 0,
468
-      'exclude' => 1,
469
-      'id' => 'nid',
470
-      'table' => 'node',
471
-      'field' => 'nid',
472
-      'relationship' => 'none',
462
+        ),
463
+        'empty' => '',
464
+        'hide_empty' => 0,
465
+        'empty_zero' => 0,
466
+        'hide_alter_empty' => 1,
467
+        'link_to_node' => 0,
468
+        'exclude' => 1,
469
+        'id' => 'nid',
470
+        'table' => 'node',
471
+        'field' => 'nid',
472
+        'relationship' => 'none',
473 473
     ),
474 474
     'title' => array(
475
-      'label' => 'Title',
476
-      'alter' => array(
475
+        'label' => 'Title',
476
+        'alter' => array(
477 477
         'alter_text' => 0,
478 478
         'text' => '',
479 479
         'make_link' => 0,
@@ -492,21 +492,21 @@  discard block
 block discarded – undo
492 492
         'ellipsis' => 1,
493 493
         'html' => 0,
494 494
         'strip_tags' => 0,
495
-      ),
496
-      'empty' => '',
497
-      'hide_empty' => 0,
498
-      'empty_zero' => 0,
499
-      'hide_alter_empty' => 1,
500
-      'link_to_node' => 0,
501
-      'exclude' => 1,
502
-      'id' => 'title',
503
-      'table' => 'node',
504
-      'field' => 'title',
505
-      'relationship' => 'none',
495
+        ),
496
+        'empty' => '',
497
+        'hide_empty' => 0,
498
+        'empty_zero' => 0,
499
+        'hide_alter_empty' => 1,
500
+        'link_to_node' => 0,
501
+        'exclude' => 1,
502
+        'id' => 'title',
503
+        'table' => 'node',
504
+        'field' => 'title',
505
+        'relationship' => 'none',
506 506
     ),
507 507
     'type' => array(
508
-      'label' => 'Type',
509
-      'alter' => array(
508
+        'label' => 'Type',
509
+        'alter' => array(
510 510
         'alter_text' => 0,
511 511
         'text' => '',
512 512
         'make_link' => 0,
@@ -525,22 +525,22 @@  discard block
 block discarded – undo
525 525
         'ellipsis' => 1,
526 526
         'html' => 0,
527 527
         'strip_tags' => 0,
528
-      ),
529
-      'empty' => '',
530
-      'hide_empty' => 0,
531
-      'empty_zero' => 0,
532
-      'hide_alter_empty' => 1,
533
-      'link_to_node' => 0,
534
-      'machine_name' => 0,
535
-      'exclude' => 1,
536
-      'id' => 'type',
537
-      'table' => 'node',
538
-      'field' => 'type',
539
-      'relationship' => 'none',
528
+        ),
529
+        'empty' => '',
530
+        'hide_empty' => 0,
531
+        'empty_zero' => 0,
532
+        'hide_alter_empty' => 1,
533
+        'link_to_node' => 0,
534
+        'machine_name' => 0,
535
+        'exclude' => 1,
536
+        'id' => 'type',
537
+        'table' => 'node',
538
+        'field' => 'type',
539
+        'relationship' => 'none',
540 540
     ),
541 541
     'uid' => array(
542
-      'label' => 'Uid',
543
-      'alter' => array(
542
+        'label' => 'Uid',
543
+        'alter' => array(
544 544
         'alter_text' => 0,
545 545
         'text' => '',
546 546
         'make_link' => 0,
@@ -559,21 +559,21 @@  discard block
 block discarded – undo
559 559
         'ellipsis' => 1,
560 560
         'html' => 0,
561 561
         'strip_tags' => 0,
562
-      ),
563
-      'empty' => '',
564
-      'hide_empty' => 0,
565
-      'empty_zero' => 0,
566
-      'hide_alter_empty' => 1,
567
-      'link_to_user' => 0,
568
-      'exclude' => 1,
569
-      'id' => 'uid',
570
-      'table' => 'users',
571
-      'field' => 'uid',
572
-      'relationship' => 'uid',
562
+        ),
563
+        'empty' => '',
564
+        'hide_empty' => 0,
565
+        'empty_zero' => 0,
566
+        'hide_alter_empty' => 1,
567
+        'link_to_user' => 0,
568
+        'exclude' => 1,
569
+        'id' => 'uid',
570
+        'table' => 'users',
571
+        'field' => 'uid',
572
+        'relationship' => 'uid',
573 573
     ),
574 574
     'nothing' => array(
575
-      'label' => '',
576
-      'alter' => array(
575
+        'label' => '',
576
+        'alter' => array(
577 577
         'text' => '<div class="gray-divider"></div>',
578 578
         'make_link' => 0,
579 579
         'path' => '',
@@ -591,20 +591,20 @@  discard block
 block discarded – undo
591 591
         'ellipsis' => 1,
592 592
         'html' => 0,
593 593
         'strip_tags' => 0,
594
-      ),
595
-      'empty' => '',
596
-      'hide_empty' => 0,
597
-      'empty_zero' => 0,
598
-      'hide_alter_empty' => 1,
599
-      'exclude' => 0,
600
-      'id' => 'nothing',
601
-      'table' => 'views',
602
-      'field' => 'nothing',
603
-      'relationship' => 'none',
594
+        ),
595
+        'empty' => '',
596
+        'hide_empty' => 0,
597
+        'empty_zero' => 0,
598
+        'hide_alter_empty' => 1,
599
+        'exclude' => 0,
600
+        'id' => 'nothing',
601
+        'table' => 'views',
602
+        'field' => 'nothing',
603
+        'relationship' => 'none',
604 604
     ),
605 605
     'phpcode_1' => array(
606
-      'label' => '',
607
-      'alter' => array(
606
+        'label' => '',
607
+        'alter' => array(
608 608
         'alter_text' => 0,
609 609
         'text' => '',
610 610
         'make_link' => 0,
@@ -623,12 +623,12 @@  discard block
 block discarded – undo
623 623
         'ellipsis' => 1,
624 624
         'html' => 0,
625 625
         'strip_tags' => 0,
626
-      ),
627
-      'empty' => '',
628
-      'hide_empty' => 0,
629
-      'empty_zero' => 0,
630
-      'hide_alter_empty' => 1,
631
-      'value' => '<?php
626
+        ),
627
+        'empty' => '',
628
+        'hide_empty' => 0,
629
+        'empty_zero' => 0,
630
+        'hide_alter_empty' => 1,
631
+        'value' => '<?php
632 632
 
633 633
 switch($data->node_type) {
634 634
 case \'forum\':
@@ -657,18 +657,18 @@  discard block
 block discarded – undo
657 657
 $account = user_load($uid);
658 658
 echo l($account->boincuser_name, "account/{$uid}") . " {$action} " . l($data->node_title, $url, array(\'fragment\' => $fragment));
659 659
 ?>',
660
-      'exclude' => 0,
661
-      'id' => 'phpcode_1',
662
-      'table' => 'customfield',
663
-      'field' => 'phpcode',
664
-      'relationship' => 'none',
665
-      'override' => array(
660
+        'exclude' => 0,
661
+        'id' => 'phpcode_1',
662
+        'table' => 'customfield',
663
+        'field' => 'phpcode',
664
+        'relationship' => 'none',
665
+        'override' => array(
666 666
         'button' => 'Override',
667
-      ),
667
+        ),
668 668
     ),
669 669
     'body' => array(
670
-      'label' => '',
671
-      'alter' => array(
670
+        'label' => '',
671
+        'alter' => array(
672 672
         'alter_text' => 0,
673 673
         'text' => '',
674 674
         'make_link' => 0,
@@ -687,20 +687,20 @@  discard block
 block discarded – undo
687 687
         'ellipsis' => 1,
688 688
         'html' => 0,
689 689
         'strip_tags' => 1,
690
-      ),
691
-      'empty' => '',
692
-      'hide_empty' => 0,
693
-      'empty_zero' => 0,
694
-      'hide_alter_empty' => 1,
695
-      'exclude' => 0,
696
-      'id' => 'body',
697
-      'table' => 'node_revisions',
698
-      'field' => 'body',
699
-      'relationship' => 'none',
690
+        ),
691
+        'empty' => '',
692
+        'hide_empty' => 0,
693
+        'empty_zero' => 0,
694
+        'hide_alter_empty' => 1,
695
+        'exclude' => 0,
696
+        'id' => 'body',
697
+        'table' => 'node_revisions',
698
+        'field' => 'body',
699
+        'relationship' => 'none',
700 700
     ),
701 701
     'timestamp' => array(
702
-      'label' => '',
703
-      'alter' => array(
702
+        'label' => '',
703
+        'alter' => array(
704 704
         'alter_text' => 0,
705 705
         'text' => '',
706 706
         'make_link' => 0,
@@ -719,40 +719,40 @@  discard block
 block discarded – undo
719 719
         'ellipsis' => 1,
720 720
         'html' => 0,
721 721
         'strip_tags' => 0,
722
-      ),
723
-      'empty' => '',
724
-      'hide_empty' => 0,
725
-      'empty_zero' => 0,
726
-      'hide_alter_empty' => 1,
727
-      'date_format' => 'custom',
728
-      'custom_date_format' => 'jS F Y',
729
-      'exclude' => 0,
730
-      'id' => 'timestamp',
731
-      'table' => 'node_revisions',
732
-      'field' => 'timestamp',
733
-      'relationship' => 'none',
722
+        ),
723
+        'empty' => '',
724
+        'hide_empty' => 0,
725
+        'empty_zero' => 0,
726
+        'hide_alter_empty' => 1,
727
+        'date_format' => 'custom',
728
+        'custom_date_format' => 'jS F Y',
729
+        'exclude' => 0,
730
+        'id' => 'timestamp',
731
+        'table' => 'node_revisions',
732
+        'field' => 'timestamp',
733
+        'relationship' => 'none',
734 734
     ),
735
-  ));
736
-  $handler->override_option('arguments', array(
735
+    ));
736
+    $handler->override_option('arguments', array(
737 737
     'uid' => array(
738
-      'default_action' => 'default',
739
-      'style_plugin' => 'default_summary',
740
-      'style_options' => array(),
741
-      'wildcard' => 'all',
742
-      'wildcard_substitution' => 'All',
743
-      'title' => '',
744
-      'breadcrumb' => '',
745
-      'default_argument_type' => 'user',
746
-      'default_argument' => '',
747
-      'validate_type' => 'user',
748
-      'validate_fail' => 'empty',
749
-      'break_phrase' => 0,
750
-      'not' => 0,
751
-      'id' => 'uid',
752
-      'table' => 'users',
753
-      'field' => 'uid',
754
-      'validate_user_argument_type' => 'uid',
755
-      'validate_user_roles' => array(
738
+        'default_action' => 'default',
739
+        'style_plugin' => 'default_summary',
740
+        'style_options' => array(),
741
+        'wildcard' => 'all',
742
+        'wildcard_substitution' => 'All',
743
+        'title' => '',
744
+        'breadcrumb' => '',
745
+        'default_argument_type' => 'user',
746
+        'default_argument' => '',
747
+        'validate_type' => 'user',
748
+        'validate_fail' => 'empty',
749
+        'break_phrase' => 0,
750
+        'not' => 0,
751
+        'id' => 'uid',
752
+        'table' => 'users',
753
+        'field' => 'uid',
754
+        'validate_user_argument_type' => 'uid',
755
+        'validate_user_roles' => array(
756 756
         2 => 0,
757 757
         3519698132 => 0,
758 758
         1110965548 => 0,
@@ -761,20 +761,20 @@  discard block
 block discarded – undo
761 761
         268174006 => 0,
762 762
         1271379760 => 0,
763 763
         933038561 => 0,
764
-      ),
765
-      'relationship' => 'uid',
766
-      'default_options_div_prefix' => '',
767
-      'default_taxonomy_tid_term_page' => 0,
768
-      'default_taxonomy_tid_node' => 0,
769
-      'default_taxonomy_tid_limit' => 0,
770
-      'default_taxonomy_tid_vids' => array(
764
+        ),
765
+        'relationship' => 'uid',
766
+        'default_options_div_prefix' => '',
767
+        'default_taxonomy_tid_term_page' => 0,
768
+        'default_taxonomy_tid_node' => 0,
769
+        'default_taxonomy_tid_limit' => 0,
770
+        'default_taxonomy_tid_vids' => array(
771 771
         1 => 0,
772 772
         2 => 0,
773
-      ),
774
-      'default_argument_user' => 0,
775
-      'default_argument_fixed' => '',
776
-      'default_argument_php' => '',
777
-      'validate_argument_node_type' => array(
773
+        ),
774
+        'default_argument_user' => 0,
775
+        'default_argument_fixed' => '',
776
+        'default_argument_php' => '',
777
+        'validate_argument_node_type' => array(
778 778
         'page' => 0,
779 779
         'news' => 0,
780 780
         'team' => 0,
@@ -783,20 +783,20 @@  discard block
 block discarded – undo
783 783
         'forum' => 0,
784 784
         'panel' => 0,
785 785
         'story' => 0,
786
-      ),
787
-      'validate_argument_node_access' => 0,
788
-      'validate_argument_nid_type' => 'nid',
789
-      'validate_argument_vocabulary' => array(
786
+        ),
787
+        'validate_argument_node_access' => 0,
788
+        'validate_argument_nid_type' => 'nid',
789
+        'validate_argument_vocabulary' => array(
790 790
         1 => 0,
791 791
         2 => 0,
792
-      ),
793
-      'validate_argument_type' => 'tid',
794
-      'validate_argument_transform' => 0,
795
-      'validate_user_restrict_roles' => 0,
796
-      'validate_argument_php' => '',
797
-      'me_redirect' => 0,
798
-      'me_validate_user_argument_type' => 'uid',
799
-      'me_validate_user_roles' => array(
792
+        ),
793
+        'validate_argument_type' => 'tid',
794
+        'validate_argument_transform' => 0,
795
+        'validate_user_restrict_roles' => 0,
796
+        'validate_argument_php' => '',
797
+        'me_redirect' => 0,
798
+        'me_validate_user_argument_type' => 'uid',
799
+        'me_validate_user_roles' => array(
800 800
         2 => 0,
801 801
         3519698132 => 0,
802 802
         1110965548 => 0,
@@ -805,67 +805,67 @@  discard block
 block discarded – undo
805 805
         268174006 => 0,
806 806
         1271379760 => 0,
807 807
         933038561 => 0,
808
-      ),
809
-      'validate_argument_node_flag_name' => '*relationship*',
810
-      'validate_argument_node_flag_test' => 'flaggable',
811
-      'validate_argument_node_flag_id_type' => 'id',
812
-      'validate_argument_user_flag_name' => '*relationship*',
813
-      'validate_argument_user_flag_test' => 'flaggable',
814
-      'validate_argument_user_flag_id_type' => 'id',
815
-      'me_validate_user_restrict_roles' => 0,
808
+        ),
809
+        'validate_argument_node_flag_name' => '*relationship*',
810
+        'validate_argument_node_flag_test' => 'flaggable',
811
+        'validate_argument_node_flag_id_type' => 'id',
812
+        'validate_argument_user_flag_name' => '*relationship*',
813
+        'validate_argument_user_flag_test' => 'flaggable',
814
+        'validate_argument_user_flag_id_type' => 'id',
815
+        'me_validate_user_restrict_roles' => 0,
816 816
     ),
817
-  ));
818
-  $handler->override_option('access', array(
817
+    ));
818
+    $handler->override_option('access', array(
819 819
     'type' => 'none',
820
-  ));
821
-  $handler->override_option('cache', array(
820
+    ));
821
+    $handler->override_option('cache', array(
822 822
     'type' => 'none',
823
-  ));
824
-  $handler->override_option('items_per_page', 5);
825
-  $handler->override_option('use_pager', '1');
826
-  $handler->override_option('row_options', array(
823
+    ));
824
+    $handler->override_option('items_per_page', 5);
825
+    $handler->override_option('use_pager', '1');
826
+    $handler->override_option('row_options', array(
827 827
     'inline' => array(
828
-      'value' => 'value',
829
-      'phpcode_1' => 'phpcode_1',
828
+        'value' => 'value',
829
+        'phpcode_1' => 'phpcode_1',
830 830
     ),
831 831
     'separator' => ' ',
832 832
     'hide_empty' => 0,
833
-  ));
834
-  $handler = $view->new_display('block', 'Block', 'block_1');
835
-  $handler->override_option('block_description', '');
836
-  $handler->override_option('block_caching', -1);
837
-  $handler = $view->new_display('page', 'Page', 'page_1');
838
-  $handler->override_option('title', 'Recent posts');
839
-  $handler->override_option('style_plugin', 'grid');
840
-  $handler->override_option('style_options', array(
833
+    ));
834
+    $handler = $view->new_display('block', 'Block', 'block_1');
835
+    $handler->override_option('block_description', '');
836
+    $handler->override_option('block_caching', -1);
837
+    $handler = $view->new_display('page', 'Page', 'page_1');
838
+    $handler->override_option('title', 'Recent posts');
839
+    $handler->override_option('style_plugin', 'grid');
840
+    $handler->override_option('style_options', array(
841 841
     'grouping' => '',
842 842
     'columns' => '1',
843 843
     'alignment' => 'vertical',
844 844
     'fill_single_line' => 1,
845 845
     'summary' => '',
846
-  ));
847
-  $handler->override_option('row_options', array(
846
+    ));
847
+    $handler->override_option('row_options', array(
848 848
     'inline' => array(),
849 849
     'separator' => '',
850 850
     'hide_empty' => 0,
851
-  ));
852
-  $handler->override_option('path', 'account/%/posts');
853
-  $handler->override_option('menu', array(
851
+    ));
852
+    $handler->override_option('path', 'account/%/posts');
853
+    $handler->override_option('menu', array(
854 854
     'type' => 'none',
855 855
     'title' => '',
856 856
     'description' => '',
857 857
     'weight' => '0',
858 858
     'name' => 'primary-links',
859
-  ));
860
-  $handler->override_option('tab_options', array(
859
+    ));
860
+    $handler->override_option('tab_options', array(
861 861
     'type' => 'none',
862 862
     'title' => '',
863 863
     'description' => '',
864 864
     'weight' => 0,
865 865
     'name' => 'navigation',
866
-  ));
866
+    ));
867 867
 
868
-  $views[$view->name] = $view;
868
+    $views[$view->name] = $view;
869 869
 
870
-  return $views;
870
+    return $views;
871 871
 }
Please login to merge, or discard this patch.
drupal/sites/default/boinc/modules/boincwork/includes/boincwork.helpers.inc 1 patch
Indentation   +863 added lines, -863 removed lines patch added patch discarded remove patch
@@ -11,19 +11,19 @@  discard block
 block discarded – undo
11 11
  * that was selected
12 12
  */
13 13
 function boincwork_ahah_helper_venue_submit($form, &$form_state) {
14
-  $form_state['storage']['prefs']['preset'] = null;
15
-  ahah_helper_generic_submit($form, $form_state);
14
+    $form_state['storage']['prefs']['preset'] = null;
15
+    ahah_helper_generic_submit($form, $form_state);
16 16
 }
17 17
 
18 18
 /**
19 19
  * Get a predetermined set of preferences
20 20
  */
21 21
 function boincwork_get_preset_prefs($preset = null) {
22
-  $saved_state = variable_get('boincwork_preset_prefs', null);
22
+    $saved_state = variable_get('boincwork_preset_prefs', null);
23 23
   
24
-  // If not configured yet, use these values as for inital
25
-  // computing/general preferences.
26
-  if (!$saved_state) {
24
+    // If not configured yet, use these values as for inital
25
+    // computing/general preferences.
26
+    if (!$saved_state) {
27 27
     // Get BOINC project disk space configurations from config.xml to
28 28
     // fill in initial preference values.
29 29
     require_boinc(array('db', 'prefs'));
@@ -160,88 +160,88 @@  discard block
 block discarded – undo
160 160
           <dont_verify_images>0</dont_verify_images>
161 161
         </preset>
162 162
       </general_preferences>';
163
-  }
163
+    }
164 164
   
165
-  // Convert XML data to array format
166
-  $preset_prefs = load_configuration($saved_state);
165
+    // Convert XML data to array format
166
+    $preset_prefs = load_configuration($saved_state);
167 167
   
168
-  if ($preset) {
168
+    if ($preset) {
169 169
     // Load preset from configuration
170 170
     $preset_prefs = (array) $preset_prefs['general_preferences'];
171 171
     if (isset($preset_prefs['preset'])) {
172
-      if (!is_numeric(key($preset_prefs['preset']))) {
172
+        if (!is_numeric(key($preset_prefs['preset']))) {
173 173
         $preset_prefs['preset'] = array($preset_prefs['preset']);
174
-      }
175
-      foreach ($preset_prefs['preset'] as $key => $prefs) {
174
+        }
175
+        foreach ($preset_prefs['preset'] as $key => $prefs) {
176 176
         if (isset($prefs['@attributes']['name']) AND $prefs['@attributes']['name'] == $preset) {
177
-          return $preset_prefs['preset'][$key];
177
+            return $preset_prefs['preset'][$key];
178
+        }
178 179
         }
179
-      }
180 180
     }
181
-  }
182
-  return $preset_prefs;
181
+    }
182
+    return $preset_prefs;
183 183
 }
184 184
 
185 185
 /**
186 186
  * Load (and validate) the project specific configuration XML
187 187
  */
188 188
 function boincwork_get_project_specific_config() {
189
-  $raw_config_data = variable_get('boinc_project_specific_prefs_config', '');
189
+    $raw_config_data = variable_get('boinc_project_specific_prefs_config', '');
190 190
   
191
-  $xsd = './' . drupal_get_path('module', 'boincwork') . '/includes/projectprefs.xsd';
192
-  libxml_use_internal_errors(true);
191
+    $xsd = './' . drupal_get_path('module', 'boincwork') . '/includes/projectprefs.xsd';
192
+    libxml_use_internal_errors(true);
193 193
   
194
-  $xml = new DomDocument();
195
-  $xml->loadXML($raw_config_data, LIBXML_NOBLANKS);
196
-  if (!$xml->schemaValidate($xsd)) {
194
+    $xml = new DomDocument();
195
+    $xml->loadXML($raw_config_data, LIBXML_NOBLANKS);
196
+    if (!$xml->schemaValidate($xsd)) {
197 197
     $errors = libxml_get_errors();
198 198
     $lines = explode("\r", $raw_config_data);
199 199
     drupal_set_message("{$errors[0]->message} at line {$errors[0]->line}" .
200
-      ': <br/>' . htmlentities($lines[$errors[0]->line - 1]), 'error');
200
+        ': <br/>' . htmlentities($lines[$errors[0]->line - 1]), 'error');
201 201
     return NULL;
202
-  }
202
+    }
203 203
   
204
-  // Convert XML to array for validation
205
-  $xml = load_configuration($raw_config_data);
206
-  return $xml;
204
+    // Convert XML to array for validation
205
+    $xml = load_configuration($raw_config_data);
206
+    return $xml;
207 207
 }
208 208
 
209 209
 /**
210 210
  * Get rules by which to validate project specific data
211 211
  */
212 212
 function boincwork_get_project_specific_config_validation_rules($xml = array()) {
213
-  $rules = array();
214
-  if (!$xml) {
213
+    $rules = array();
214
+    if (!$xml) {
215 215
     // Read the config XML
216 216
     $xml = boincwork_get_project_specific_config();
217 217
     $xml = $xml['project_specific_preferences'];
218
-  }
219
-  foreach ($xml as $type => $elements) {
218
+    }
219
+    foreach ($xml as $type => $elements) {
220 220
     if (is_array($elements) AND !is_numeric(key($elements))) {
221
-      $elements = array($elements);
221
+        $elements = array($elements);
222 222
     }
223 223
     switch ($type) {
224 224
     case 'compound':
225 225
       foreach ($elements as $element) {
226 226
         $name = $element['@attributes']['name'];
227 227
         $rules[$name] = boincwork_get_project_specific_config_validation_rules($element['attributes']);
228
-      }
229
-      break;
228
+        }
229
+        break;
230 230
       
231 231
     case 'text':
232 232
       foreach ($elements as $element) {
233 233
         $name = $element['@attributes']['name'];
234 234
         $rules[$name] = array(
235
-          'datatype' => $element['@attributes']['datatype']
235
+            'datatype' => $element['@attributes']['datatype']
236 236
         );
237 237
         if (isset($element['@attributes']['min'])) {
238
-          $rules[$name]['min'] = $element['@attributes']['min'];
238
+            $rules[$name]['min'] = $element['@attributes']['min'];
239 239
         }
240 240
         if (isset($element['@attributes']['max'])) {
241
-          $rules[$name]['max'] = $element['@attributes']['max'];
241
+            $rules[$name]['max'] = $element['@attributes']['max'];
242 242
         }
243
-      }
244
-      break;
243
+        }
244
+        break;
245 245
     /*
246 246
     case 'radio':
247 247
     case 'dropdown':
@@ -265,24 +265,24 @@  discard block
 block discarded – undo
265 265
       $rules['apps'] = array(
266 266
         'minimum selected' => 1,
267 267
         'list' => array()
268
-      );
269
-      foreach ($elements as $element) {
268
+        );
269
+        foreach ($elements as $element) {
270 270
         foreach ($element['app'] as $app) {
271
-          $name = "app_{$app['@attributes']['id']}";
272
-          $rules['apps']['list'][] = $name;
273
-          //$rules[$name] = array(
274
-          //  'options' => $options
275
-          //);
271
+            $name = "app_{$app['@attributes']['id']}";
272
+            $rules['apps']['list'][] = $name;
273
+            //$rules[$name] = array(
274
+            //  'options' => $options
275
+            //);
276 276
         }
277
-      }
278
-      break;
277
+        }
278
+        break;
279 279
       
280 280
     case 'group':
281 281
       foreach ($elements as $element) {
282 282
         $name = $element['@attributes']['name'];
283 283
         $rules += boincwork_get_project_specific_config_validation_rules($element);
284
-      }
285
-      break;
284
+        }
285
+        break;
286 286
     /*
287 287
     case 'boolean':
288 288
       // Shouldn't need to validate boolean...
@@ -290,39 +290,39 @@  discard block
 block discarded – undo
290 290
       */
291 291
     default:
292 292
     }
293
-  }
294
-  return $rules;
293
+    }
294
+    return $rules;
295 295
 }
296 296
 
297 297
 /**
298 298
  * Define how project specific settings should be saved
299 299
  */
300 300
 function boincwork_format_project_specific_prefs_data($values, $xml = array()) {
301
-  $defaults = array();
302
-  if (!$xml) {
301
+    $defaults = array();
302
+    if (!$xml) {
303 303
     // Read the config XML
304 304
     $xml = boincwork_get_project_specific_config();
305 305
     $xml = $xml['project_specific_preferences'];
306
-  }
307
-  foreach ($xml as $type => $elements) {
306
+    }
307
+    foreach ($xml as $type => $elements) {
308 308
     $structure_data = array();
309 309
     if (is_array($elements) AND !is_numeric(key($elements))) {
310
-      $elements = array($elements);
310
+        $elements = array($elements);
311 311
     }
312 312
     switch ($type) {
313 313
     case 'compound':
314 314
       foreach ($elements as $element) {
315 315
         $name = $element['@attributes']['name'];
316 316
         $default[$name]['@attributes'] = boincwork_format_project_specific_prefs_data($values[$name], $element['attributes']);
317
-      }
318
-      $defaults += $default;
319
-      break;
317
+        }
318
+        $defaults += $default;
319
+        break;
320 320
       
321 321
     case 'group':
322 322
       foreach ($elements as $element) {
323 323
         $defaults += boincwork_format_project_specific_prefs_data($values, $element);
324
-      }
325
-      break;
324
+        }
325
+        break;
326 326
       
327 327
     case 'text':
328 328
     case 'radio':
@@ -331,315 +331,315 @@  discard block
 block discarded – undo
331 331
       foreach ($elements as $element) {
332 332
         $name = $element['@attributes']['name'];
333 333
         if (isset($element['@attributes']['entitytype']) AND $element['@attributes']['entitytype'] == 'attribute') {
334
-          $defaults['@attributes'][$name] = $values[$name];
334
+            $defaults['@attributes'][$name] = $values[$name];
335 335
         }
336 336
         else {
337
-          $defaults[$name] = $values[$name];
337
+            $defaults[$name] = $values[$name];
338 338
         }
339
-      }
340
-      break;
339
+        }
340
+        break;
341 341
     
342 342
     case 'apps':
343 343
       foreach ($elements as $element) {
344 344
         $defaults['app_id'] = array();
345 345
         foreach ($element['app'] as $app) {
346
-          $app_id = $app['@attributes']['id'];
347
-          if ($values['applications']["app_{$app_id}"]) {
346
+            $app_id = $app['@attributes']['id'];
347
+            if ($values['applications']["app_{$app_id}"]) {
348 348
             $defaults['app_id'][] = $app_id;
349
-          }
349
+            }
350 350
         }
351
-      }
352
-      break;
351
+        }
352
+        break;
353 353
       
354 354
     default:
355 355
     }
356
-  }
357
-  return $defaults;
356
+    }
357
+    return $defaults;
358 358
 }
359 359
 
360 360
 /**
361 361
  * Add an element to the form based on its definition
362 362
  */
363 363
 function boincwork_generate_prefs_element(&$form, $type, $elements, $user_prefs = null) {
364
-  switch ($type) {
365
-  case 'text':
364
+    switch ($type) {
365
+    case 'text':
366 366
     if (!is_numeric(key($elements))) {
367
-      $elements = array($elements);
367
+        $elements = array($elements);
368 368
     }
369 369
     foreach ($elements as $element) {
370
-      $name = $element['@attributes']['name'];
371
-      $default = $element['@attributes']['default'];
372
-      $title = is_array($element['title']) ? $element['title']['@value'] : $element['title'];
373
-      $description = '';
374
-      if (isset($element['description'])) {
370
+        $name = $element['@attributes']['name'];
371
+        $default = $element['@attributes']['default'];
372
+        $title = is_array($element['title']) ? $element['title']['@value'] : $element['title'];
373
+        $description = '';
374
+        if (isset($element['description'])) {
375 375
         $description = is_array($element['description']) ? $element['description']['@value'] : $element['description'];
376
-      }
376
+        }
377 377
       
378
-      $value = $default;
379
-      $user_pref = $user_prefs;
380
-      $entitytype = isset($element['@attributes']['entitytype']) ? $element['@attributes']['entitytype'] : 'element';
381
-      if ($entitytype == 'attribute') {
378
+        $value = $default;
379
+        $user_pref = $user_prefs;
380
+        $entitytype = isset($element['@attributes']['entitytype']) ? $element['@attributes']['entitytype'] : 'element';
381
+        if ($entitytype == 'attribute') {
382 382
         $user_pref = $user_prefs['@attributes'];
383
-      }
384
-      if (isset($user_pref[$name])) {
383
+        }
384
+        if (isset($user_pref[$name])) {
385 385
         if (is_array($user_pref[$name]) AND isset($user_pref[$name]['@value'])) {
386
-          $value = $user_pref[$name]['@value'];
386
+            $value = $user_pref[$name]['@value'];
387 387
         }
388 388
         else {
389
-          $value = $user_pref[$name];
389
+            $value = $user_pref[$name];
390
+        }
390 391
         }
391
-      }
392 392
       
393
-      // Use appropriate datatype
394
-      if (isset($element['@attributes']['datatype'])) {
393
+        // Use appropriate datatype
394
+        if (isset($element['@attributes']['datatype'])) {
395 395
         switch($element['@attributes']['datatype']) {
396 396
         case 'integer':
397 397
           $value = (int) $value;
398
-          break;
398
+            break;
399 399
           
400 400
         case 'float':
401 401
           $value = number_format((float) $value, 2);
402
-          break;
402
+            break;
403 403
         
404 404
         default:
405 405
         }
406
-      }
406
+        }
407 407
       
408
-      // Translate elements as appropriate
409
-      if ($title) {
408
+        // Translate elements as appropriate
409
+        if ($title) {
410 410
         i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($title));
411 411
         $title = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($title));
412
-      }
413
-      if ($description) {
412
+        }
413
+        if ($description) {
414 414
         i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($description));
415 415
         $description = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($description));
416
-      }
416
+        }
417 417
       
418
-      $form[$name] = array(
418
+        $form[$name] = array(
419 419
         '#title' => $title,
420 420
         '#type' => 'textfield',
421 421
         '#default_value' => $value,
422 422
         '#size' => 5,
423 423
         '#description' => $description . bts(' Default value: @default', array('@default' => $default), NULL, 'boinc:account-preferences-project')
424
-      );
424
+        );
425 425
     }
426 426
     break;
427 427
     
428
-  case 'boolean':
428
+    case 'boolean':
429 429
     if (!is_numeric(key($elements))) {
430
-      $elements = array($elements);
430
+        $elements = array($elements);
431 431
     }
432 432
     foreach ($elements as $element) {
433
-      $name = $element['@attributes']['name'];
434
-      $title = is_array($element['title']) ? $element['title']['@value'] : $element['title'];
435
-      $default = (isset($element['@attributes']['selected']) AND $element['@attributes']['selected'] == 'true') ? 1 : 0;
436
-      $description = '';
437
-      if (isset($element['description'])) {
433
+        $name = $element['@attributes']['name'];
434
+        $title = is_array($element['title']) ? $element['title']['@value'] : $element['title'];
435
+        $default = (isset($element['@attributes']['selected']) AND $element['@attributes']['selected'] == 'true') ? 1 : 0;
436
+        $description = '';
437
+        if (isset($element['description'])) {
438 438
         $description = is_array($element['description']) ? $element['description']['@value'] : $element['description'];
439
-      }
439
+        }
440 440
       
441
-      $value = $default;
442
-      $user_pref = $user_prefs;
443
-      $entitytype = isset($element['@attributes']['entitytype']) ? $element['@attributes']['entitytype'] : 'element';
444
-      if ($entitytype == 'attribute') {
441
+        $value = $default;
442
+        $user_pref = $user_prefs;
443
+        $entitytype = isset($element['@attributes']['entitytype']) ? $element['@attributes']['entitytype'] : 'element';
444
+        if ($entitytype == 'attribute') {
445 445
         $user_pref = $user_prefs['@attributes'];
446
-      }
447
-      if (isset($user_pref[$name])) {
446
+        }
447
+        if (isset($user_pref[$name])) {
448 448
         if (is_array($user_pref[$name]) AND isset($user_pref[$name]['@value'])) {
449
-          $value = $user_pref[$name]['@value'];
449
+            $value = $user_pref[$name]['@value'];
450 450
         }
451 451
         else {
452
-          $value = $user_pref[$name];
452
+            $value = $user_pref[$name];
453
+        }
453 454
         }
454
-      }
455 455
       
456
-      // Translate elements as appropriate
457
-      if ($title) {
456
+        // Translate elements as appropriate
457
+        if ($title) {
458 458
         i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($title));
459 459
         $title = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($title));
460
-      }
461
-      if ($description) {
460
+        }
461
+        if ($description) {
462 462
         i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($description));
463 463
         $description = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($description));
464
-      }
464
+        }
465 465
       
466
-      $form[$name] = array(
466
+        $form[$name] = array(
467 467
         '#title' => $title,
468 468
         '#type' => 'radios',
469 469
         '#options' => array(1 => bts('yes', array(), NULL, 'boinc:form-yes-no:-1:binary-form-option-pairs-with-no'), 0 => bts('no', array(), NULL, 'boinc:form-yes-no:-1:binary-form-option-pairs-with-yes')),
470 470
         '#attributes' => array('class' => 'fancy'),
471 471
         '#default_value' => $value,
472 472
         '#description' => $description
473
-      );
473
+        );
474 474
     }
475 475
     break;
476 476
     
477
-  case 'radio':
477
+    case 'radio':
478 478
   case 'dropdown':
479 479
     
480 480
     if (!is_numeric(key($elements))) {
481
-      $elements = array($elements);
481
+        $elements = array($elements);
482 482
     }
483 483
     foreach ($elements as $element) {
484
-      $name = $element['@attributes']['name'];
485
-      $default = null;
486
-      $options = array();
487
-      foreach($element['items']['item'] as $item) {
484
+        $name = $element['@attributes']['name'];
485
+        $default = null;
486
+        $options = array();
487
+        foreach($element['items']['item'] as $item) {
488 488
         if (is_array($item)) {
489
-          $value = $item['@value'];
490
-          if ($default === NULL AND
489
+            $value = $item['@value'];
490
+            if ($default === NULL AND
491 491
               isset($item['@attributes']) AND
492 492
               isset($item['@attributes']['selected'])) {
493 493
             $default = ($item['@attributes']['selected'] == 'true') ? $item['@value'] : null;
494
-          }
494
+            }
495 495
         }
496 496
         else {
497
-          $value = $item;
497
+            $value = $item;
498 498
         }
499 499
         $options[$value] = $value;
500
-      }
501
-      $title = is_array($element['title']) ? $element['title']['@value'] : $element['title'];
502
-      $description = '';
503
-      if (isset($element['description'])) {
500
+        }
501
+        $title = is_array($element['title']) ? $element['title']['@value'] : $element['title'];
502
+        $description = '';
503
+        if (isset($element['description'])) {
504 504
         $description = is_array($element['description']) ? $element['description']['@value'] : $element['description'];
505
-      }
506
-      $user_pref = $user_prefs;
507
-      $entitytype = isset($element['@attributes']['entitytype']) ? $element['@attributes']['entitytype'] : 'element';
508
-      if ($entitytype == 'attribute') {
505
+        }
506
+        $user_pref = $user_prefs;
507
+        $entitytype = isset($element['@attributes']['entitytype']) ? $element['@attributes']['entitytype'] : 'element';
508
+        if ($entitytype == 'attribute') {
509 509
         $user_pref = $user_prefs['@attributes'];
510
-      }
511
-      $value = isset($user_pref[$name]) ? $user_pref[$name] : $default;
510
+        }
511
+        $value = isset($user_pref[$name]) ? $user_pref[$name] : $default;
512 512
       
513
-      // Translate elements as appropriate
514
-      if ($title) {
513
+        // Translate elements as appropriate
514
+        if ($title) {
515 515
         i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($title));
516 516
         $title = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($title));
517
-      }
518
-      if ($description) {
517
+        }
518
+        if ($description) {
519 519
         i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($description));
520 520
         $description = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($description));
521
-      }
521
+        }
522 522
       
523
-      $form[$name] = array(
523
+        $form[$name] = array(
524 524
         '#title' => $title,
525 525
         '#type' => ($type == 'radio') ? 'radios' : 'select',
526 526
         '#options' => $options,
527 527
         '#attributes' => array('class' => 'fancy'),
528 528
         '#default_value' => $value,
529 529
         '#description' => $description . bts(' Default value: @default', array('@default' =>$default), NULL, 'boinc:account-preferences-project')
530
-      );
530
+        );
531 531
     }
532 532
     break;
533 533
     
534
-  case 'apps':
534
+    case 'apps':
535 535
     $title = is_array($elements['title']) ? $elements['title']['@value'] : $elements['title'];
536 536
     
537
-      // Translate elements as appropriate
538
-      if ($title) {
537
+        // Translate elements as appropriate
538
+        if ($title) {
539 539
         i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($title));
540 540
         $title = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($title));
541
-      }
541
+        }
542 542
     
543 543
     $form['applications'] = array(
544
-      '#title' => bts('Applications', array(), NULL, 'boinc:account-preferences'),
545
-      '#type' => 'fieldset',
546
-      '#description' => $title,
547
-      '#collapsible' => TRUE,
548
-      '#collapsed' => FALSE
544
+        '#title' => bts('Applications', array(), NULL, 'boinc:account-preferences'),
545
+        '#type' => 'fieldset',
546
+        '#description' => $title,
547
+        '#collapsible' => TRUE,
548
+        '#collapsed' => FALSE
549 549
     );
550 550
     $applications = array();
551 551
     if (!is_array($user_prefs['app_id'])) {
552
-      $user_prefs['app_id'] = array($user_prefs['app_id']);
552
+        $user_prefs['app_id'] = array($user_prefs['app_id']);
553 553
     }
554 554
     foreach ($user_prefs['app_id'] as $app) {
555
-      if (!$app) continue;
556
-      if (is_array($app) AND isset($app['@value'])) {
555
+        if (!$app) continue;
556
+        if (is_array($app) AND isset($app['@value'])) {
557 557
         $app = $app['@value'];
558
-      }
559
-      $applications[] = $app;
558
+        }
559
+        $applications[] = $app;
560 560
     }
561 561
     foreach ($elements['app'] as $app) {
562
-      $app_id = $app['@attributes']['id'];
563
-      $app_name = $app['@value'];
564
-      $app_enabled = TRUE;
565
-      if (isset($app['@attributes']['enabled']) AND
562
+        $app_id = $app['@attributes']['id'];
563
+        $app_name = $app['@value'];
564
+        $app_enabled = TRUE;
565
+        if (isset($app['@attributes']['enabled']) AND
566 566
           $app['@attributes']['enabled'] == 'false') {
567 567
         $app_enabled = FALSE;
568
-      }
569
-      if ($applications) {
568
+        }
569
+        if ($applications) {
570 570
         $checked = in_array($app_id, $applications);
571
-      } else {
571
+        } else {
572 572
         $checked = TRUE;
573 573
         if (isset($app['@attributes']['selected']) AND
574 574
             $app['@attributes']['selected'] == 'false') {
575
-          $checked = FALSE;
575
+            $checked = FALSE;
576 576
         }
577
-      }
578
-      $form['applications']["app_{$app_id}"] = array(
577
+        }
578
+        $form['applications']["app_{$app_id}"] = array(
579 579
         '#title' => $app_name,
580 580
         '#type' => 'checkbox',
581 581
         '#default_value' => ($checked) ? 'x' : false,
582 582
         '#disabled' => !$app_enabled
583
-      );
583
+        );
584 584
     }
585 585
     
586 586
     break;
587 587
     
588
-  case 'group':
588
+    case 'group':
589 589
     if (!is_numeric(key($elements))) {
590
-      $elements = array($elements);
590
+        $elements = array($elements);
591 591
     }
592 592
     foreach ($elements as $key => $element) {
593
-      $title = is_array($element['title']) ? $element['title']['@value'] : $element['title'];
594
-      $name = str_replace(' ','_',strtolower($title));
595
-      $name = "group_{$name}";
593
+        $title = is_array($element['title']) ? $element['title']['@value'] : $element['title'];
594
+        $name = str_replace(' ','_',strtolower($title));
595
+        $name = "group_{$name}";
596 596
       
597
-      // Translate elements as appropriate
598
-      if ($title) {
597
+        // Translate elements as appropriate
598
+        if ($title) {
599 599
         i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($title));
600 600
         $title = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($title));
601
-      }
601
+        }
602 602
       
603
-      $form[$name] = array(
604
-          '#title' => $title,
605
-          '#type' => 'fieldset',
606
-          '#tree' => FALSE,
607
-          //'#description' => t('Notes about this group of fields'),
608
-          '#collapsible' => TRUE,
609
-          '#collapsed' => FALSE
610
-      );
611
-      // Recursively populate the compound element
612
-      foreach ($element as $child_type => $child) {
603
+        $form[$name] = array(
604
+            '#title' => $title,
605
+            '#type' => 'fieldset',
606
+            '#tree' => FALSE,
607
+            //'#description' => t('Notes about this group of fields'),
608
+            '#collapsible' => TRUE,
609
+            '#collapsed' => FALSE
610
+        );
611
+        // Recursively populate the compound element
612
+        foreach ($element as $child_type => $child) {
613 613
         boincwork_generate_prefs_element($form[$name], $child_type, $child, $user_prefs);
614
-      }
614
+        }
615 615
     }
616 616
     break;
617 617
     
618
-  case 'compound':
618
+    case 'compound':
619 619
     if (!is_numeric(key($elements))) {
620
-      $elements = array($elements);
620
+        $elements = array($elements);
621 621
     }
622 622
     foreach ($elements as $element) {
623
-      $name = $element['@attributes']['name'];
624
-      $title = is_array($element['title']) ? $element['title']['@value'] : $element['title'];
623
+        $name = $element['@attributes']['name'];
624
+        $title = is_array($element['title']) ? $element['title']['@value'] : $element['title'];
625 625
       
626
-      // Translate elements as appropriate
627
-      if ($title) {
626
+        // Translate elements as appropriate
627
+        if ($title) {
628 628
         i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($title));
629 629
         $title = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($title));
630
-      }
630
+        }
631 631
       
632
-      $form[$name] = array(
633
-          '#title' => $title,
634
-          '#type' => 'fieldset',
635
-          //'#description' => t('Notes about this group of fields'),
636
-          '#collapsible' => TRUE,
637
-          '#collapsed' => FALSE
638
-      );
639
-      // Recursively populate the compound element
640
-      foreach ($element['attributes'] as $child_type => $child) {
632
+        $form[$name] = array(
633
+            '#title' => $title,
634
+            '#type' => 'fieldset',
635
+            //'#description' => t('Notes about this group of fields'),
636
+            '#collapsible' => TRUE,
637
+            '#collapsed' => FALSE
638
+        );
639
+        // Recursively populate the compound element
640
+        foreach ($element['attributes'] as $child_type => $child) {
641 641
         boincwork_generate_prefs_element($form[$name], $child_type, $child, $user_prefs[$name]['@attributes']);
642
-      }
642
+        }
643 643
     }
644 644
     break;
645 645
     
@@ -655,24 +655,24 @@  discard block
 block discarded – undo
655 655
  */
656 656
 function boincwork_make_prefs_table($prefs, $top_level = TRUE) {
657 657
 
658
-  $prefs_table = array();
659
-  $uncategorized = array();
658
+    $prefs_table = array();
659
+    $uncategorized = array();
660 660
   
661
-  // Parse the project preferences form
662
-  foreach ($prefs as $key => $element) {
661
+    // Parse the project preferences form
662
+    foreach ($prefs as $key => $element) {
663 663
     
664 664
     // Determine which type of element this is and act accordingly
665 665
     $element_type = NULL;
666 666
     if (is_array($element) AND isset($element['#type'])) {
667
-      $element_type = $element['#type'];
667
+        $element_type = $element['#type'];
668 668
     }
669 669
     switch ($element_type) {
670 670
     case 'fieldset':
671 671
       $prefs_table[$key] = array(
672 672
         'name' => $element['#title'],
673 673
         'elements' => boincwork_make_prefs_table($element, FALSE),
674
-      );
675
-      break;
674
+        );
675
+        break;
676 676
     case 'textfield':
677 677
     case 'radios':
678 678
     case 'checkbox':
@@ -682,45 +682,45 @@  discard block
 block discarded – undo
682 682
         switch ($key) {
683 683
         case 'start_hour':
684 684
           $element['#title'] = bts('Compute only between:', array(), NULL, 'boinc:account-preferences-computing');
685
-          break;
685
+            break;
686 686
         case 'net_start_hour':
687 687
           $element['#title'] = bts('Transfer files only between:', array(), NULL, 'boinc:account-preferences-comuting');
688
-          break;
688
+            break;
689 689
         default:
690 690
         }
691
-      }
692
-      $prefs_element = array(
691
+        }
692
+        $prefs_element = array(
693 693
         'name' => (isset($element['#title'])) ? $element['#title'] : '',
694 694
         'description' => (isset($element['#description'])) ? $element['#description'] : '',
695 695
         'default_value' => (isset($element['#default_value'])) ? $element['#default_value'] : NULL,
696
-      );
697
-      if ($top_level) {
696
+        );
697
+        if ($top_level) {
698 698
         $uncategorized[$key] = $prefs_element;
699
-      }
700
-      else {
699
+        }
700
+        else {
701 701
         $prefs_table[$key] = $prefs_element;
702
-      }
703
-      break;
702
+        }
703
+        break;
704 704
     default:
705 705
     }
706
-  }
706
+    }
707 707
   
708
-  if ($prefs_table AND $uncategorized) {
708
+    if ($prefs_table AND $uncategorized) {
709 709
     // Throw any settings that don't fit elsewhere into "other"
710 710
     $prefs_table['other'] = array(
711
-      'name' => bts('Other settings', array(), NULL, 'boinc:account-preferences'),
712
-      'elements' => $uncategorized,
711
+        'name' => bts('Other settings', array(), NULL, 'boinc:account-preferences'),
712
+        'elements' => $uncategorized,
713 713
     );
714
-  }
715
-  elseif ($uncategorized) {
714
+    }
715
+    elseif ($uncategorized) {
716 716
     // If nothing is categorized, output all prefs under a general "settings"
717 717
     $prefs_table['settings'] = array(
718
-      'name' => bts('Settings', array(), NULL, 'boinc:account-preferences'),
719
-      'elements' => $uncategorized,
718
+        'name' => bts('Settings', array(), NULL, 'boinc:account-preferences'),
719
+        'elements' => $uncategorized,
720 720
     );
721
-  }
721
+    }
722 722
   
723
-  return $prefs_table;
723
+    return $prefs_table;
724 724
 }
725 725
  
726 726
 /**
@@ -728,33 +728,33 @@  discard block
 block discarded – undo
728 728
  */
729 729
 function boincwork_load_prefs($type = 'general', $venue = null, $account = null) {
730 730
   
731
-  require_boinc(array('user'));
731
+    require_boinc(array('user'));
732 732
   
733
-  // Load the BOINC user object
734
-  if (!$account) {
733
+    // Load the BOINC user object
734
+    if (!$account) {
735 735
     global $user;
736 736
     $account = $user;
737
-  }
738
-  $account = user_load($account->uid);
739
-  $boincuser = BoincUser::lookup_id($account->boincuser_id);
737
+    }
738
+    $account = user_load($account->uid);
739
+    $boincuser = BoincUser::lookup_id($account->boincuser_id);
740 740
   
741
-  // Load the desired preferences for the user
742
-  $main_prefs = array();
743
-  if ($type == 'project') {
741
+    // Load the desired preferences for the user
742
+    $main_prefs = array();
743
+    if ($type == 'project') {
744 744
     if ($boincuser->project_prefs) {
745
-      $main_prefs = load_configuration($boincuser->project_prefs);
746
-      $main_prefs = (array) $main_prefs['project_preferences'];
745
+        $main_prefs = load_configuration($boincuser->project_prefs);
746
+        $main_prefs = (array) $main_prefs['project_preferences'];
747 747
     }
748
-  }
749
-  else {
748
+    }
749
+    else {
750 750
     if ($boincuser->global_prefs) {
751
-      $main_prefs = load_configuration($boincuser->global_prefs);
752
-      $main_prefs = (array) $main_prefs['global_preferences'];
751
+        $main_prefs = load_configuration($boincuser->global_prefs);
752
+        $main_prefs = (array) $main_prefs['global_preferences'];
753
+    }
753 754
     }
754
-  }
755 755
   
756
-  // Return general preferences or a subset based on venue
757
-  if (!$venue OR $venue == 'generic') {
756
+    // Return general preferences or a subset based on venue
757
+    if (!$venue OR $venue == 'generic') {
758 758
     unset($main_prefs['venue']);
759 759
     // Use the length of the $main_prefs array as a condition as to
760 760
     // whether the preferences have already been set. This is
@@ -762,23 +762,23 @@  discard block
 block discarded – undo
762 762
     if (count($main_prefs) < 3)
763 763
         $main_prefs['@attributes'] = array('cleared' => 1);
764 764
     return $main_prefs;
765
-  }
766
-  else {
765
+    }
766
+    else {
767 767
     if (isset($main_prefs['venue'])) {
768
-      if (!is_numeric(key($main_prefs['venue']))) {
768
+        if (!is_numeric(key($main_prefs['venue']))) {
769 769
         $main_prefs['venue'] = array($main_prefs['venue']);
770
-      }
771
-      foreach ($main_prefs['venue'] as $key => $prefs_venue) {
770
+        }
771
+        foreach ($main_prefs['venue'] as $key => $prefs_venue) {
772 772
         if (isset($prefs_venue['@attributes']['name']) AND $prefs_venue['@attributes']['name'] == $venue) {
773
-          return $main_prefs['venue'][$key];
773
+            return $main_prefs['venue'][$key];
774
+        }
774 775
         }
775
-      }
776 776
     }
777
-  }
777
+    }
778 778
 
779
-  return array(
779
+    return array(
780 780
     '@attributes' => array('name' => $venue, 'cleared' => 1)
781
-  );
781
+    );
782 782
 }
783 783
 
784 784
 /**
@@ -786,104 +786,104 @@  discard block
 block discarded – undo
786 786
  */
787 787
 function boincwork_save_prefs($prefs, $type = 'general', $venue = null, $account = null) {
788 788
   
789
-  require_boinc(array('user'));
789
+    require_boinc(array('user'));
790 790
   
791
-  // Load existing project prefs from the BOINC user object
792
-  if (!$account) {
791
+    // Load existing project prefs from the BOINC user object
792
+    if (!$account) {
793 793
     global $user;
794 794
     $account = $user;
795
-  }
796
-  $account = user_load($account->uid);
797
-  $boincuser = BoincUser::lookup_id($account->boincuser_id);
795
+    }
796
+    $account = user_load($account->uid);
797
+    $boincuser = BoincUser::lookup_id($account->boincuser_id);
798 798
   
799
-  // Load the specified preferences for the user
800
-  $main_prefs = array();
801
-  if ($type == 'project') {
799
+    // Load the specified preferences for the user
800
+    $main_prefs = array();
801
+    if ($type == 'project') {
802 802
     if ($boincuser->project_prefs) {
803
-      $main_prefs = load_configuration($boincuser->project_prefs);
804
-      $main_prefs = (array) $main_prefs['project_preferences'];
803
+        $main_prefs = load_configuration($boincuser->project_prefs);
804
+        $main_prefs = (array) $main_prefs['project_preferences'];
805 805
     }
806
-  }
807
-  else {
806
+    }
807
+    else {
808 808
     if ($boincuser->global_prefs) {
809
-      $main_prefs = load_configuration($boincuser->global_prefs);
810
-      $main_prefs = (array) $main_prefs['global_preferences'];
809
+        $main_prefs = load_configuration($boincuser->global_prefs);
810
+        $main_prefs = (array) $main_prefs['global_preferences'];
811
+    }
811 812
     }
812
-  }
813 813
   
814
-  // Save all preferences or a subset based on venue
815
-  //drupal_set_message('<pre>' . print_r($main_prefs, true) . '</pre>');
816
-  $new_venue = true;
817
-  if (!$venue OR $venue == 'generic') {
814
+    // Save all preferences or a subset based on venue
815
+    //drupal_set_message('<pre>' . print_r($main_prefs, true) . '</pre>');
816
+    $new_venue = true;
817
+    if (!$venue OR $venue == 'generic') {
818 818
     //$main_prefs = $prefs;
819 819
     $main_prefs = $prefs + $main_prefs;
820
-  }
821
-  else {
820
+    }
821
+    else {
822 822
     if (isset($main_prefs['venue'])) {
823
-      if (!is_numeric(key($main_prefs['venue']))) {
823
+        if (!is_numeric(key($main_prefs['venue']))) {
824 824
         $main_prefs['venue'] = array($main_prefs['venue']);
825
-      }
826
-      foreach ($main_prefs['venue'] as $key => $prefs_venue) {
825
+        }
826
+        foreach ($main_prefs['venue'] as $key => $prefs_venue) {
827 827
         if (isset($prefs_venue['@attributes']['name']) AND $prefs_venue['@attributes']['name'] == $venue) {
828
-          if ($prefs) {
828
+            if ($prefs) {
829 829
             $main_prefs['venue'][$key] = $prefs;
830
-          }
831
-          else {
830
+            }
831
+            else {
832 832
             // If prefs is null, clear out this preference set
833 833
             unset($main_prefs['venue'][$key]);
834 834
             if (count($main_prefs['venue']) == 0) {
835
-              // If that was the only preference set configured, unset the
836
-              // venue tag altogether
837
-              unset($main_prefs['venue']);
835
+                // If that was the only preference set configured, unset the
836
+                // venue tag altogether
837
+                unset($main_prefs['venue']);
838 838
             }
839
-          }
840
-          $new_venue = false;
841
-          break;
839
+            }
840
+            $new_venue = false;
841
+            break;
842
+        }
842 843
         }
843
-      }
844 844
     }
845 845
     if ($new_venue) {
846
-      $main_prefs['venue'][] = $prefs;
846
+        $main_prefs['venue'][] = $prefs;
847
+    }
847 848
     }
848
-  }
849 849
 
850
-  // Set modified time
851
-  if ($type == 'project') {
850
+    // Set modified time
851
+    if ($type == 'project') {
852 852
     if (!isset($main_prefs['modified'])) {
853
-      $main_prefs = array_merge(array('modified' => 0), $main_prefs);
853
+        $main_prefs = array_merge(array('modified' => 0), $main_prefs);
854 854
     }
855 855
     $main_prefs['modified'] = time();
856
-  } else {
856
+    } else {
857 857
     if (!isset($main_prefs['mod_time'])) {
858
-      $main_prefs = array_merge(array('mod_time' => 0), $main_prefs);
858
+        $main_prefs = array_merge(array('mod_time' => 0), $main_prefs);
859 859
     }
860 860
     $main_prefs['mod_time'] = time();
861 861
     // unset source information, the Client will fill this in again
862 862
     if (isset($main_prefs['source_project'])) {
863
-      unset($main_prefs['source_project']);
863
+        unset($main_prefs['source_project']);
864 864
     }
865 865
     if (isset($main_prefs['source_scheduler'])) {
866
-      unset($main_prefs['source_scheduler']);
866
+        unset($main_prefs['source_scheduler']);
867
+    }
867 868
     }
868
-  }
869 869
 
870
-  // Convert prefs back to XML and save to database
871
-  $result = null;
872
-  if ($type == 'project') {
870
+    // Convert prefs back to XML and save to database
871
+    $result = null;
872
+    if ($type == 'project') {
873 873
     $main_prefs = array('project_preferences' => $main_prefs);
874 874
     $boincuser->project_prefs = save_configuration($main_prefs);
875 875
     db_set_active('boinc_rw');
876 876
     $result = db_query("UPDATE user SET project_prefs = '{$boincuser->project_prefs}' WHERE id = '{$boincuser->id}'");
877 877
     db_set_active('default');
878
-  }
879
-  else {
878
+    }
879
+    else {
880 880
     $main_prefs = array('global_preferences' => $main_prefs);
881 881
     $boincuser->global_prefs = save_configuration($main_prefs);
882 882
     db_set_active('boinc_rw');
883 883
     $result = db_query("UPDATE user SET global_prefs = '{$boincuser->global_prefs}' WHERE id = '{$boincuser->id}'");
884 884
     db_set_active('default');
885
-  }
886
-  return $result;
885
+    }
886
+    return $result;
887 887
 }
888 888
 
889 889
 
@@ -900,9 +900,9 @@  discard block
 block discarded – undo
900 900
  *username. Called from privacy preference form.
901 901
  */
902 902
 function boincwork_ignore_user_add_user_username($name = NULL) {
903
-  global $user;
903
+    global $user;
904 904
 
905
-  if (isset($name)) {
905
+    if (isset($name)) {
906 906
     // Get the BOINC ID from the name string, and lookup the
907 907
     // corresponding drupal user.
908 908
     $boincname = substr($name, 0, strrpos($name, '_'));
@@ -911,84 +911,84 @@  discard block
 block discarded – undo
911 911
     $iuid = get_drupal_id($boincid);
912 912
 
913 913
     if ($user->uid == $iuid) {
914
-      drupal_set_message(bts('You can\'t add yourself to your own ignore list.', array(), NULL, 'boinc:ignore-user-error-message'), 'error');
915
-      drupal_goto('account/prefs/privacy');
914
+        drupal_set_message(bts('You can\'t add yourself to your own ignore list.', array(), NULL, 'boinc:ignore-user-error-message'), 'error');
915
+        drupal_goto('account/prefs/privacy');
916 916
     }
917 917
 
918 918
     if (is_numeric($iuid) && $iuid > 0) {
919
-      if (!db_result(db_query('SELECT COUNT(iuid) FROM {ignore_user} WHERE uid = %d AND iuid = %d', $user->uid, $iuid))) {
919
+        if (!db_result(db_query('SELECT COUNT(iuid) FROM {ignore_user} WHERE uid = %d AND iuid = %d', $user->uid, $iuid))) {
920 920
         db_query('INSERT INTO {ignore_user} (uid, iuid) VALUES (%d, %d)', $user->uid, $iuid);
921
-      }// endif db_result
921
+        }// endif db_result
922 922
 
923
-      if (module_exists('pm_block_user')) {
923
+        if (module_exists('pm_block_user')) {
924 924
         if (!db_result(db_query('SELECT COUNT(recipient) FROM {pm_block_user} WHERE author = %d AND recipient = %d', $iuid, $user->uid))) {
925
-          db_query('INSERT INTO {pm_block_user} (author, recipient) VALUES (%d, %d)', $iuid, $user->uid);
925
+            db_query('INSERT INTO {pm_block_user} (author, recipient) VALUES (%d, %d)', $iuid, $user->uid);
926 926
         }// endif db_result
927
-      }// endif module_exists('pm_block_user')
927
+        }// endif module_exists('pm_block_user')
928 928
 
929 929
     }// endif $iuid
930
-  }
930
+    }
931 931
 }
932 932
 
933 933
 /**
934 934
  * Add another user's UID to the current user's ignore list.
935 935
  */
936 936
 function boincwork_ignore_user_add_user($iuid = NULL) {
937
-  global $user;
937
+    global $user;
938 938
 
939
-  if ($user->uid == $iuid) {
939
+    if ($user->uid == $iuid) {
940 940
     drupal_set_message(bts('You can\'t add yourself to your own ignore list.', array(), NULL, 'boinc:ignore-user-error-message'), 'error');
941 941
     drupal_goto();
942
-  }
942
+    }
943 943
 
944
-  $otheraccount = user_load($iuid);
944
+    $otheraccount = user_load($iuid);
945 945
 
946
-  if (is_numeric($iuid) && $iuid > 0) {
946
+    if (is_numeric($iuid) && $iuid > 0) {
947 947
     if (!db_result(db_query('SELECT COUNT(iuid) FROM {ignore_user} WHERE uid = %d AND iuid = %d', $user->uid, $iuid))) {
948
-      db_query('INSERT INTO {ignore_user} (uid, iuid) VALUES (%d, %d)', $user->uid, $iuid);
948
+        db_query('INSERT INTO {ignore_user} (uid, iuid) VALUES (%d, %d)', $user->uid, $iuid);
949 949
     }// endif db_result
950 950
 
951 951
     if (module_exists('pm_block_user')) {
952
-      if (!db_result(db_query('SELECT COUNT(recipient) FROM {pm_block_user} WHERE author = %d AND recipient = %d', $iuid, $user->uid))) {
952
+        if (!db_result(db_query('SELECT COUNT(recipient) FROM {pm_block_user} WHERE author = %d AND recipient = %d', $iuid, $user->uid))) {
953 953
         db_query('INSERT INTO {pm_block_user} (author, recipient) VALUES (%d, %d)', $iuid, $user->uid);
954
-      }// endif db_result
954
+        }// endif db_result
955 955
     }// endif module_exists('pm_block_user')
956 956
 
957 957
     drupal_set_message(
958
-      bts('@username has been added to your ignore list. See your !privacy_preferences for more details.',
958
+        bts('@username has been added to your ignore list. See your !privacy_preferences for more details.',
959 959
         array(
960
-          '@username' => $otheraccount->boincuser_name,
961
-          '!privacy_preferences' => l(bts('privacy preferences', array(), NULL, 'boinc:ignore-user-add'), 'account/prefs/privacy'),
960
+            '@username' => $otheraccount->boincuser_name,
961
+            '!privacy_preferences' => l(bts('privacy preferences', array(), NULL, 'boinc:ignore-user-add'), 'account/prefs/privacy'),
962 962
         ),
963 963
         NULL, 'boinc:ignore-user-add'),
964
-      'status');
964
+        'status');
965 965
     drupal_goto();
966
-  }
967
-  else {
966
+    }
967
+    else {
968 968
     drupal_not_found();
969
-  }// endif iuid
969
+    }// endif iuid
970 970
 }
971 971
 
972 972
 /**
973 973
  * Remove user from user's ignore list.
974 974
  */
975 975
 function boincwork_ignore_user_remove_user($iuid = NULL) {
976
-  global $user;
977
-  $otheraccount = user_load($iuid);
976
+    global $user;
977
+    $otheraccount = user_load($iuid);
978 978
 
979
-  db_query('DELETE FROM {ignore_user} WHERE uid = %d AND iuid = %d', $user->uid, $iuid);
980
-  if (module_exists('pm_block_user')) {
979
+    db_query('DELETE FROM {ignore_user} WHERE uid = %d AND iuid = %d', $user->uid, $iuid);
980
+    if (module_exists('pm_block_user')) {
981 981
     db_query('DELETE FROM {pm_block_user} WHERE author = %d AND recipient = %d', $iuid, $user->uid);
982
-  }// endif module_exists
983
-  drupal_set_message(
982
+    }// endif module_exists
983
+    drupal_set_message(
984 984
     bts('@username has been removed from your ignore list. See your !privacy_preferences for more details.',
985
-      array(
985
+        array(
986 986
         '@username' => $otheraccount->boincuser_name,
987 987
         '!privacy_preferences' => l(bts('privacy preferences', array(), NULL, 'boinc:ignore-user-add'), 'account/prefs/privacy'),
988
-      ),
989
-      NULL, 'boinc:ignore-user-add'),
988
+        ),
989
+        NULL, 'boinc:ignore-user-add'),
990 990
     'status');
991
-  drupal_goto('account/prefs/privacy');
991
+    drupal_goto('account/prefs/privacy');
992 992
 }
993 993
 
994 994
 /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
@@ -1002,18 +1002,18 @@  discard block
 block discarded – undo
1002 1002
  */
1003 1003
 function boincwork_load_privacyconsenttypes() {
1004 1004
 
1005
-  db_set_active('boinc_rw');
1006
-  $db_result = db_query("SELECT id,shortname,description FROM consent_type WHERE enabled=1 AND privacypref=1 ORDER by project_specific ASC");
1007
-  db_set_active('drupal');
1005
+    db_set_active('boinc_rw');
1006
+    $db_result = db_query("SELECT id,shortname,description FROM consent_type WHERE enabled=1 AND privacypref=1 ORDER by project_specific ASC");
1007
+    db_set_active('drupal');
1008 1008
 
1009
-  if ($db_result) {
1009
+    if ($db_result) {
1010 1010
     $consent_types = array();
1011 1011
     while ($result = db_fetch_array($db_result)) {
1012
-      $consent_types[] = $result;
1012
+        $consent_types[] = $result;
1013 1013
     }
1014 1014
     return $consent_types;
1015
-  }
1016
-  return array();
1015
+    }
1016
+    return array();
1017 1017
 }
1018 1018
 
1019 1019
 /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
@@ -1025,94 +1025,94 @@  discard block
 block discarded – undo
1025 1025
  */ 
1026 1026
 function boincwork_set_default_venue($venue = '') {
1027 1027
   
1028
-  global $user;
1029
-  $account = user_load($user->uid);
1028
+    global $user;
1029
+    $account = user_load($user->uid);
1030 1030
   
1031
-  if ($venue == 'generic') {
1031
+    if ($venue == 'generic') {
1032 1032
     $venue = '';
1033
-  }
1033
+    }
1034 1034
   
1035
-  db_set_active('boinc_rw');
1036
-  db_query("
1035
+    db_set_active('boinc_rw');
1036
+    db_query("
1037 1037
     UPDATE user
1038 1038
     SET venue = '%s'
1039 1039
     WHERE id = %d",
1040 1040
     $venue, $account->boincuser_id
1041
-  );
1042
-  db_set_active('default');
1041
+    );
1042
+    db_set_active('default');
1043 1043
 }
1044 1044
 
1045 1045
 /**
1046 1046
  * Recursively validate submitted form values against a set of rules
1047 1047
  */ 
1048 1048
 function boincwork_validate_form($validation_rules, $values, $path = array()) {
1049
-  foreach ($validation_rules as $field => $rules) {
1049
+    foreach ($validation_rules as $field => $rules) {
1050 1050
     $parents = $path;
1051 1051
     if (is_array($values[$field])) {
1052
-      // Process nested form elements
1053
-      $parents[] = $field;
1054
-      boincwork_validate_form($rules, $values[$field], $parents);
1052
+        // Process nested form elements
1053
+        $parents[] = $field;
1054
+        boincwork_validate_form($rules, $values[$field], $parents);
1055 1055
     }
1056 1056
     else {
1057
-      if ($parents) {
1057
+        if ($parents) {
1058 1058
         // form_set_error() identifies nested form elements with '][' as a
1059 1059
         // delimiter between each parent and child element
1060 1060
         $parents[] = $field;
1061 1061
         $form_field = implode('][', $parents);
1062
-      }
1063
-      else {
1062
+        }
1063
+        else {
1064 1064
         $form_field = $field;
1065
-      }
1066
-      if (isset($rules['datatype']) AND !boincwork_validate_datatype($values[$field], $rules['datatype'])) {
1065
+        }
1066
+        if (isset($rules['datatype']) AND !boincwork_validate_datatype($values[$field], $rules['datatype'])) {
1067 1067
         form_set_error($form_field, bts('Invalid data type for @field', array('@field' => $field), NULL, 'boinc:account-preferences'));
1068
-      }
1069
-      if (isset($rules['min']) AND $values[$field] < $rules['min']) {
1068
+        }
1069
+        if (isset($rules['min']) AND $values[$field] < $rules['min']) {
1070 1070
         form_set_error($form_field, bts('Minimum value not met for @field', array('@field' => $field), NULL, 'boinc:account-preferences'));
1071
-      }
1072
-      if (isset($rules['max']) AND $values[$field] > $rules['max']) {
1071
+        }
1072
+        if (isset($rules['max']) AND $values[$field] > $rules['max']) {
1073 1073
         form_set_error($form_field, bts('Maximum value exceeded for @field', array('@field' => $field), NULL, 'boinc:account-preferences'));
1074
-      }
1074
+        }
1075
+    }
1075 1076
     }
1076
-  }
1077 1077
 }
1078 1078
 
1079 1079
 /**
1080 1080
  * Check that numeric data conforms to specifications
1081 1081
  */
1082 1082
 function boincwork_validate_datatype($data, $datatype = NULL) {
1083
-  switch ($datatype) {
1084
-  case 'float':
1083
+    switch ($datatype) {
1084
+    case 'float':
1085 1085
     if (!is_numeric($data)) {
1086
-      return FALSE;
1086
+        return FALSE;
1087 1087
     }
1088 1088
     $data += 0.0;
1089 1089
     if (!is_float($data)) {
1090
-      return FALSE;
1090
+        return FALSE;
1091 1091
     }
1092 1092
     break;
1093 1093
     
1094
-  case 'integer':
1094
+    case 'integer':
1095 1095
     if (!is_numeric($data)) {
1096
-      return FALSE;
1096
+        return FALSE;
1097 1097
     }
1098 1098
     $data += 0;
1099 1099
     if (!is_int($data)) {
1100
-      return FALSE;
1100
+        return FALSE;
1101 1101
     }
1102 1102
     break;
1103 1103
   
1104
-  case 'text':
1104
+    case 'text':
1105 1105
   default:
1106 1106
     
1107 1107
   }
1108
-  return TRUE;
1108
+    return TRUE;
1109 1109
 }
1110 1110
 
1111 1111
 /**
1112 1112
  * Format a number to be displayed using a maximum number of digits
1113 1113
  */ 
1114 1114
 function boincwork_format_stats($number, $max_digits = 4) {
1115
-  $suffix = array(
1115
+    $suffix = array(
1116 1116
     0 => '',
1117 1117
     1 => 'k',
1118 1118
     2 => 'M',
@@ -1122,94 +1122,94 @@  discard block
 block discarded – undo
1122 1122
     6 => 'E',
1123 1123
     7 => 'Z',
1124 1124
     8 => 'Y'
1125
-  );
1126
-  if (!is_numeric($number)) $number = 0;
1125
+    );
1126
+    if (!is_numeric($number)) $number = 0;
1127 1127
   
1128
-  $digits = floor(log($number, 10)) + 1;
1129
-  $magnitude = 0;
1130
-  $precision = 0;
1131
-  if ($digits > $max_digits) {
1128
+    $digits = floor(log($number, 10)) + 1;
1129
+    $magnitude = 0;
1130
+    $precision = 0;
1131
+    if ($digits > $max_digits) {
1132 1132
     $magnitude = floor(($digits - ($max_digits - 3)) / 3);
1133 1133
     $precision = $max_digits - ($digits - ($magnitude * 3) + 1);
1134 1134
     $number = round($number / pow(1000, $magnitude), $precision);
1135
-  }
1136
-  $number = number_format($number, $precision) . (($magnitude) ? "{$suffix[$magnitude]}" : '');
1135
+    }
1136
+    $number = number_format($number, $precision) . (($magnitude) ? "{$suffix[$magnitude]}" : '');
1137 1137
   
1138
-  return $number;
1138
+    return $number;
1139 1139
 }
1140 1140
 
1141
-  //------------------------------------------------------------------------------------------------
1142
-  //  load_configuration(): Convert structured text/xml to array
1143
-  //------------------------------------------------------------------------------------------------
1141
+    //------------------------------------------------------------------------------------------------
1142
+    //  load_configuration(): Convert structured text/xml to array
1143
+    //------------------------------------------------------------------------------------------------
1144 1144
   
1145
-  function load_configuration($text)
1146
-  {
1147
-      if (preg_match('/^\<\?xml .*\?\>$/i', $text)) return null;
1148
-      if ($xml = text_to_xml($text)) return xml_to_array($xml);
1149
-      return false;
1150
-  }
1145
+    function load_configuration($text)
1146
+    {
1147
+        if (preg_match('/^\<\?xml .*\?\>$/i', $text)) return null;
1148
+        if ($xml = text_to_xml($text)) return xml_to_array($xml);
1149
+        return false;
1150
+    }
1151 1151
   
1152
-  //------------------------------------------------------------------------------------------------
1153
-  //  save_configuration(): Convert array to structured text/xml
1154
-  //------------------------------------------------------------------------------------------------
1152
+    //------------------------------------------------------------------------------------------------
1153
+    //  save_configuration(): Convert array to structured text/xml
1154
+    //------------------------------------------------------------------------------------------------
1155 1155
   
1156
-  function save_configuration($array)
1157
-  {
1158
-      if ($xml = array_to_xml($array)) return xml_to_text($xml, false, true);
1159
-      return false;
1160
-  }
1156
+    function save_configuration($array)
1157
+    {
1158
+        if ($xml = array_to_xml($array)) return xml_to_text($xml, false, true);
1159
+        return false;
1160
+    }
1161 1161
   
1162
-  //------------------------------------------------------------------------------------------------
1163
-  //  array_to_xml(): Take a multidimensional array and convert it to a structured
1164
-  //  DOM XML object
1165
-  //------------------------------------------------------------------------------------------------
1162
+    //------------------------------------------------------------------------------------------------
1163
+    //  array_to_xml(): Take a multidimensional array and convert it to a structured
1164
+    //  DOM XML object
1165
+    //------------------------------------------------------------------------------------------------
1166 1166
   
1167
-  function array_to_xml($array, $dom = false, $parent_node = false) {
1167
+    function array_to_xml($array, $dom = false, $parent_node = false) {
1168 1168
     $is_root = false;
1169 1169
     if (!$dom) $dom = new DomDocument('1.0');
1170 1170
     if (!$parent_node) {
1171
-      $parent_node = $dom;
1172
-      $is_root = true;
1171
+        $parent_node = $dom;
1172
+        $is_root = true;
1173 1173
     }
1174 1174
     // Created an intermediate array to attempt to sort by @position
1175 1175
     $ordered_array = array();
1176 1176
     $unordered_array = array();
1177 1177
     foreach ($array as $name => $value) {
1178
-      if ($is_root) {
1178
+        if ($is_root) {
1179 1179
         $unordered_array[] = $array;
1180 1180
         break;
1181
-      }
1182
-      if (is_array($value)) {
1181
+        }
1182
+        if (is_array($value)) {
1183 1183
         if (is_numeric(key($value))) {
1184
-          foreach ($value as $item) {
1184
+            foreach ($value as $item) {
1185 1185
             if (is_array($item) AND isset($item['@position'])) {
1186
-              $ordered_array[$item['@position']] = array(
1186
+                $ordered_array[$item['@position']] = array(
1187 1187
                 $name => $item
1188
-              );
1188
+                );
1189 1189
             }
1190 1190
             else {
1191
-              $unordered_array[] = array(
1191
+                $unordered_array[] = array(
1192 1192
                 $name => $item
1193
-              );
1193
+                );
1194
+            }
1194 1195
             }
1195
-          }
1196 1196
         }
1197 1197
         elseif (isset($value['@position'])) {
1198
-          $ordered_array[$value['@position']] = array(
1198
+            $ordered_array[$value['@position']] = array(
1199 1199
             $name => $value
1200
-          );
1200
+            );
1201 1201
         }
1202 1202
         else {
1203
-          $unordered_array[] = array(
1203
+            $unordered_array[] = array(
1204 1204
             $name => $value
1205
-          );
1205
+            );
1206 1206
         }
1207
-      }
1208
-      else {
1207
+        }
1208
+        else {
1209 1209
         $unordered_array[] = array(
1210
-          $name => $value
1210
+            $name => $value
1211 1211
         );
1212
-      }
1212
+        }
1213 1213
     }
1214 1214
     
1215 1215
     // Now append items without explicit positions at the end
@@ -1217,39 +1217,39 @@  discard block
 block discarded – undo
1217 1217
     
1218 1218
     // Convert to XML...
1219 1219
     foreach ($primed_array as $item) {
1220
-      list($name, $value) = each($item);
1221
-      if (strcmp($name, '@attributes') == 0) {
1220
+        list($name, $value) = each($item);
1221
+        if (strcmp($name, '@attributes') == 0) {
1222 1222
         if (!is_array($value)) continue;
1223 1223
         foreach ($value as $attributeName => $attributeValue) {
1224
-          $parent_node->setAttribute($attributeName, $attributeValue);
1224
+            $parent_node->setAttribute($attributeName, $attributeValue);
1225 1225
         }
1226
-      } elseif (strcmp($name, '@value') == 0) {
1226
+        } elseif (strcmp($name, '@value') == 0) {
1227 1227
         if (isset($value)) $parent_node->nodeValue = $value;
1228
-      } elseif (strcmp($name, '@position') == 0) {
1228
+        } elseif (strcmp($name, '@position') == 0) {
1229 1229
         continue;
1230
-      } else {
1230
+        } else {
1231 1231
         if (is_numeric($name)) {
1232
-          $name = $parent_node->tagName;
1232
+            $name = $parent_node->tagName;
1233 1233
         }
1234 1234
         $current_item = $dom->createElement($name);
1235 1235
         if (is_array($value)) {
1236
-          if (is_numeric(key($value))) {
1236
+            if (is_numeric(key($value))) {
1237 1237
             $current_node = $parent_node->appendChild($current_item);
1238 1238
             $current_node = array_to_xml($value, $dom, $current_node);
1239 1239
             $child_count = $current_node->childNodes->length;
1240 1240
             for ($i = 0; $i < $child_count; $i++) {
1241
-              $parent_node->appendChild($current_node->childNodes->item(0));
1241
+                $parent_node->appendChild($current_node->childNodes->item(0));
1242 1242
             }
1243 1243
             $parent_node->removeChild($current_node);
1244
-          } else {
1244
+            } else {
1245 1245
             $current_node = $dom->appendChild($current_item);
1246 1246
             $parent_node->appendChild(array_to_xml($value, $dom, $current_node));
1247
-          }
1247
+            }
1248 1248
         } else {
1249
-          if (isset($value)) $current_item->nodeValue = $value;
1250
-          $parent_node->appendChild($current_item);
1249
+            if (isset($value)) $current_item->nodeValue = $value;
1250
+            $parent_node->appendChild($current_item);
1251
+        }
1251 1252
         }
1252
-      }
1253 1253
     }
1254 1254
     /*
1255 1255
     foreach ($array as $name => $value) {
@@ -1285,114 +1285,114 @@  discard block
 block discarded – undo
1285 1285
       }
1286 1286
     }*/
1287 1287
     return $parent_node;
1288
-  }
1288
+    }
1289 1289
   
1290
-  //------------------------------------------------------------------------------------------------
1291
-  //  xml_to_text(): Convert an XML DOM object to string format
1292
-  //------------------------------------------------------------------------------------------------
1290
+    //------------------------------------------------------------------------------------------------
1291
+    //  xml_to_text(): Convert an XML DOM object to string format
1292
+    //------------------------------------------------------------------------------------------------
1293 1293
   
1294
-  function xml_to_text($xml, $include_xml_declaration = true, $add_carriage_returns = false)
1295
-  {
1296
-      $xml->formatOutput = true;
1297
-      $text = $xml->saveXML();
1298
-      if (!$include_xml_declaration) {
1294
+    function xml_to_text($xml, $include_xml_declaration = true, $add_carriage_returns = false)
1295
+    {
1296
+        $xml->formatOutput = true;
1297
+        $text = $xml->saveXML();
1298
+        if (!$include_xml_declaration) {
1299 1299
         $text = preg_replace('/<\?xml version=.*\?>\s*/i', '', $text, 1);
1300
-      }
1301
-      if ($add_carriage_returns) {;
1300
+        }
1301
+        if ($add_carriage_returns) {;
1302 1302
         $text = preg_replace('/\n/i', "\r\n", $text);
1303
-      }
1304
-      return trim($text);
1305
-  }
1303
+        }
1304
+        return trim($text);
1305
+    }
1306 1306
   
1307
-  //------------------------------------------------------------------------------------------------
1308
-  //  text_to_xml(): Convert an XML DOM object to string format
1309
-  //------------------------------------------------------------------------------------------------
1307
+    //------------------------------------------------------------------------------------------------
1308
+    //  text_to_xml(): Convert an XML DOM object to string format
1309
+    //------------------------------------------------------------------------------------------------
1310 1310
   
1311
-  function text_to_xml($text) {
1311
+    function text_to_xml($text) {
1312 1312
     $xml = new DomDocument();
1313 1313
     if ( !($xml->loadXML($text)) ) return false;
1314 1314
     return $xml;
1315
-  }
1315
+    }
1316 1316
   
1317 1317
   
1318
-  //------------------------------------------------------------------------------------------------
1319
-  //  xml_to_array(): Convert an XML DOM object to array format
1320
-  //------------------------------------------------------------------------------------------------
1318
+    //------------------------------------------------------------------------------------------------
1319
+    //  xml_to_array(): Convert an XML DOM object to array format
1320
+    //------------------------------------------------------------------------------------------------
1321 1321
   
1322
-  function xml_to_array($xml) {
1323
-      $node = $xml->firstChild; //$xml->first_child();
1324
-      $result = '';
1325
-      $index = 1;
1326
-      $position = 0;
1327
-      while (!is_null($node)) {
1328
-          switch ($node->nodeType) {
1329
-          case XML_TEXT_NODE:
1322
+    function xml_to_array($xml) {
1323
+        $node = $xml->firstChild; //$xml->first_child();
1324
+        $result = '';
1325
+        $index = 1;
1326
+        $position = 0;
1327
+        while (!is_null($node)) {
1328
+            switch ($node->nodeType) {
1329
+            case XML_TEXT_NODE:
1330 1330
               if (trim($node->nodeValue)  != '') $result = $node->nodeValue;
1331
-              break;
1332
-          case XML_ELEMENT_NODE:
1331
+                break;
1332
+            case XML_ELEMENT_NODE:
1333 1333
               $node_name = $node->nodeName;
1334
-              $parent = $node->parentNode;
1335
-              $sibling = $node->nextSibling;
1334
+                $parent = $node->parentNode;
1335
+                $sibling = $node->nextSibling;
1336 1336
               
1337
-              // Determine if this node forms a set with siblings (share a node name)
1338
-              while (($sibling) AND (($sibling->nodeType != XML_ELEMENT_NODE) OR ($sibling->nodeName != $node->nodeName))) $sibling = $sibling->nextSibling;
1339
-              if (!$sibling) {
1340
-                  $sibling = $node->previousSibling;
1341
-                  while (($sibling) AND (($sibling->nodeType != XML_ELEMENT_NODE) OR ($sibling->nodeName != $node->nodeName))) $sibling = $sibling->previousSibling;
1342
-              }
1337
+                // Determine if this node forms a set with siblings (share a node name)
1338
+                while (($sibling) AND (($sibling->nodeType != XML_ELEMENT_NODE) OR ($sibling->nodeName != $node->nodeName))) $sibling = $sibling->nextSibling;
1339
+                if (!$sibling) {
1340
+                    $sibling = $node->previousSibling;
1341
+                    while (($sibling) AND (($sibling->nodeType != XML_ELEMENT_NODE) OR ($sibling->nodeName != $node->nodeName))) $sibling = $sibling->previousSibling;
1342
+                }
1343 1343
               
1344
-              if ($sibling) {
1345
-                  $result[$node_name][$index] = '';
1346
-                  if ($node->childNodes) {
1347
-                      $result[$node_name][$index] = xml_to_array($node) ;
1348
-                  }
1349
-                  if ($node->hasAttributes()) {
1350
-                      $attributes = $node->attributes;
1351
-                      if ($result[$node_name][$index] !== '' AND !is_array($result[$node_name][$index])) {
1352
-                          $result[$node_name][$index] = array('@value' => $result[$node_name][$index]);
1353
-                      }
1354
-                      foreach ($attributes as $key => $attribute) {
1355
-                          $result[$node_name][$index]['@attributes'][$attribute->name] = $attribute->value;
1356
-                      }
1357
-                  }
1358
-                  // Retain the position of the element
1359
-                  if (!is_array($result[$node_name][$index])) {
1344
+                if ($sibling) {
1345
+                    $result[$node_name][$index] = '';
1346
+                    if ($node->childNodes) {
1347
+                        $result[$node_name][$index] = xml_to_array($node) ;
1348
+                    }
1349
+                    if ($node->hasAttributes()) {
1350
+                        $attributes = $node->attributes;
1351
+                        if ($result[$node_name][$index] !== '' AND !is_array($result[$node_name][$index])) {
1352
+                            $result[$node_name][$index] = array('@value' => $result[$node_name][$index]);
1353
+                        }
1354
+                        foreach ($attributes as $key => $attribute) {
1355
+                            $result[$node_name][$index]['@attributes'][$attribute->name] = $attribute->value;
1356
+                        }
1357
+                    }
1358
+                    // Retain the position of the element
1359
+                    if (!is_array($result[$node_name][$index])) {
1360 1360
                     $result[$node_name][$index] = array(
1361
-                      '@value' => $result[$node_name][$index]
1361
+                        '@value' => $result[$node_name][$index]
1362 1362
                     );
1363
-                  }
1364
-                  $result[$node_name][$index]['@position'] = $position;
1365
-                  $position++;
1366
-                  $index++;
1367
-              } else {
1368
-                  $result[$node_name] = '';
1369
-                  if ($node->childNodes) {
1370
-                      $result[$node_name] = xml_to_array($node) ;
1371
-                  }
1372
-                  if ($node->hasAttributes()) {
1373
-                      $attributes = $node->attributes;
1374
-                      if ($result[$node_name] !== '' AND !is_array($result[$node_name])) {
1375
-                          $result[$node_name] = array('@value' => $result[$node_name]);
1376
-                      }
1377
-                      foreach($attributes as $key => $attribute) {
1378
-                          $result[$node_name]['@attributes'][$attribute->name] = $attribute->value;
1379
-                      }
1380
-                  }
1381
-                  // Retain the position of the element
1382
-                  if (!is_array($result[$node_name])) {
1363
+                    }
1364
+                    $result[$node_name][$index]['@position'] = $position;
1365
+                    $position++;
1366
+                    $index++;
1367
+                } else {
1368
+                    $result[$node_name] = '';
1369
+                    if ($node->childNodes) {
1370
+                        $result[$node_name] = xml_to_array($node) ;
1371
+                    }
1372
+                    if ($node->hasAttributes()) {
1373
+                        $attributes = $node->attributes;
1374
+                        if ($result[$node_name] !== '' AND !is_array($result[$node_name])) {
1375
+                            $result[$node_name] = array('@value' => $result[$node_name]);
1376
+                        }
1377
+                        foreach($attributes as $key => $attribute) {
1378
+                            $result[$node_name]['@attributes'][$attribute->name] = $attribute->value;
1379
+                        }
1380
+                    }
1381
+                    // Retain the position of the element
1382
+                    if (!is_array($result[$node_name])) {
1383 1383
                     $result[$node_name] = array(
1384
-                      '@value' => $result[$node_name]
1384
+                        '@value' => $result[$node_name]
1385 1385
                     );
1386
-                  }
1387
-                  $result[$node_name]['@position'] = $position;
1388
-                  $position++;
1389
-              }
1390
-              break;
1391
-          }
1392
-          $node = $node->nextSibling;
1393
-      }
1394
-      return $result;
1395
-  }
1386
+                    }
1387
+                    $result[$node_name]['@position'] = $position;
1388
+                    $position++;
1389
+                }
1390
+                break;
1391
+            }
1392
+            $node = $node->nextSibling;
1393
+        }
1394
+        return $result;
1395
+    }
1396 1396
   
1397 1397
 
1398 1398
 /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
@@ -1400,172 +1400,172 @@  discard block
 block discarded – undo
1400 1400
  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  */
1401 1401
 
1402 1402
 /**
1403
-  * Determine output for host list views when no hosts are found.
1404
-  */
1403
+ * Determine output for host list views when no hosts are found.
1404
+ */
1405 1405
 function boincwork_views_host_list_empty_text($context = NULL) {
1406 1406
   
1407
-  // Pull the BOINC user ID from the view arguments to get show_hosts 
1408
-  // preference for that user
1409
-  require_boinc('boinc_db');
1410
-  $view = views_get_current_view();
1411
-  $account = user_load($view->args[0]);
1412
-  $boincuser = BoincUser::lookup_id($account->boincuser_id);
1407
+    // Pull the BOINC user ID from the view arguments to get show_hosts 
1408
+    // preference for that user
1409
+    require_boinc('boinc_db');
1410
+    $view = views_get_current_view();
1411
+    $account = user_load($view->args[0]);
1412
+    $boincuser = BoincUser::lookup_id($account->boincuser_id);
1413 1413
   
1414
-  // Determine if hosts are associated at all or just hidden
1415
-  $output = '';
1416
-  if ($boincuser->show_hosts) {
1414
+    // Determine if hosts are associated at all or just hidden
1415
+    $output = '';
1416
+    if ($boincuser->show_hosts) {
1417 1417
     switch($context) {
1418 1418
     case 'active':
1419 1419
       $output .=  '<h2>' . bts('No active computers', array(), NULL, 'boinc:host-list') . '</h2>';
1420
-      $output .=  '<p>' . bts('This user has no computers that have been'
1421
-      . ' active in the last 30 days.', array(), NULL, 'boinc:host-list') . '</p>';
1422
-      break;
1420
+        $output .=  '<p>' . bts('This user has no computers that have been'
1421
+        . ' active in the last 30 days.', array(), NULL, 'boinc:host-list') . '</p>';
1422
+        break;
1423 1423
       
1424 1424
     case 'preferences':
1425 1425
       $output .=  '<h2>' . bts('No computers', array(), NULL, 'boinc:host-list') . '</h2>';
1426
-      $output .=  '<p>' . bts('There are no computers assigned to this'
1427
-      . ' preference set.', array(), NULL, 'boinc:host-list') . '</p>';
1428
-      break;
1426
+        $output .=  '<p>' . bts('There are no computers assigned to this'
1427
+        . ' preference set.', array(), NULL, 'boinc:host-list') . '</p>';
1428
+        break;
1429 1429
     
1430 1430
     default:
1431 1431
       $output .=  '<h2>' . bts('Computers pending', array(), NULL, 'boinc:host-list') . '</h2>';
1432
-      $output .=  '<p>' . bts('This user does not yet have any associated'
1433
-      . ' computers. Computers will be displayed when they have earned their'
1434
-      . ' first credits.', array(), NULL, 'boinc:host-list') . '</p>';
1432
+        $output .=  '<p>' . bts('This user does not yet have any associated'
1433
+        . ' computers. Computers will be displayed when they have earned their'
1434
+        . ' first credits.', array(), NULL, 'boinc:host-list') . '</p>';
1435 1435
     }
1436
-  }
1437
-  else {
1436
+    }
1437
+    else {
1438 1438
     $output .=  '<h2>' . bts('Computers hidden', array(), NULL, 'boinc:host-list') . '</h2>';
1439 1439
     $output .=  '<p>' . bts('This user has chosen not to show information'
1440 1440
     . ' about their computers.', array(), NULL, 'boinc:host-list') . '</p>';
1441
-  }
1442
-  return $output;
1441
+    }
1442
+    return $output;
1443 1443
 }
1444 1444
 
1445 1445
 /**
1446
-  * Determine output for task list views when no tasks are found.
1447
-  */
1446
+ * Determine output for task list views when no tasks are found.
1447
+ */
1448 1448
 function boincwork_views_task_list_empty_text($context = NULL) {
1449 1449
   
1450
-  // 
1451
-  $output = '';
1452
-  switch($context) {
1453
-  default:
1450
+    // 
1451
+    $output = '';
1452
+    switch($context) {
1453
+    default:
1454 1454
     $output .=  '<h2>' . bts('No @type tasks', array('@type' => $context), NULL, 'boinc:task-list')
1455 1455
     . '</h2>';
1456 1456
     $output .=  '<p>' . bts('There are no tasks of this type on record', array(), NULL, 'boinc:task-list')
1457 1457
     . '</p>';
1458
-  }
1459
-  return $output;
1458
+    }
1459
+    return $output;
1460 1460
 }
1461 1461
 
1462 1462
 /**
1463
-  * Output links to perform host actions
1464
-  */
1463
+ * Output links to perform host actions
1464
+ */
1465 1465
 function boincwork_host_action_links($host_id) {
1466
-  $output = '';
1467
-  if (boincwork_host_user_is_owner($host_id)) {
1466
+    $output = '';
1467
+    if (boincwork_host_user_is_owner($host_id)) {
1468 1468
     // Show merge hosts option
1469 1469
     $output = '<ul class="tab-list"><li class="first tab">';
1470 1470
     $output .= l(bts('Merge', array(), NULL, 'boinc:form-merge'), "host/{$host_id}/merge");
1471 1471
     $output .= '</li>';
1472 1472
     // If host has no tasks, allow the host to be deleted
1473 1473
     if (!boincwork_host_get_task_count($host_id)) {
1474
-      $output .= '<li class="tab">';
1475
-      $output .= l(bts('Delete', array(), NULL, 'boinc:form-delete'), "host/{$host_id}/delete",
1474
+        $output .= '<li class="tab">';
1475
+        $output .= l(bts('Delete', array(), NULL, 'boinc:form-delete'), "host/{$host_id}/delete",
1476 1476
         array(
1477
-          'attributes' => array(
1477
+            'attributes' => array(
1478 1478
             'onclick' => 'return confirm(\'' . bts('This will delete host @id'
1479
-              . ' from your account forever. Are you sure this is OK?',
1480
-              array('@id' => $host_id),
1481
-              NULL, 'boinc:account-host-delete') . '\')'
1482
-          )
1479
+                . ' from your account forever. Are you sure this is OK?',
1480
+                array('@id' => $host_id),
1481
+                NULL, 'boinc:account-host-delete') . '\')'
1482
+            )
1483 1483
         )
1484
-      );
1485
-      $output .= '</li>';
1484
+        );
1485
+        $output .= '</li>';
1486 1486
     }
1487 1487
     $output .= '</ul>';
1488
-  }
1489
-  return $output;
1488
+    }
1489
+    return $output;
1490 1490
 }
1491 1491
 
1492 1492
 /**
1493 1493
  * Get details for a given host
1494 1494
  */
1495 1495
 function boincwork_host_get_info($host_id) {
1496
-  db_set_active('boinc_ro');
1497
-  $host = db_fetch_object(db_query(
1496
+    db_set_active('boinc_ro');
1497
+    $host = db_fetch_object(db_query(
1498 1498
     "SELECT * FROM {host} WHERE id = '%d'",
1499 1499
     $host_id
1500
-  ));
1501
-  db_set_active('default');
1502
-  return $host;
1500
+    ));
1501
+    db_set_active('default');
1502
+    return $host;
1503 1503
 }
1504 1504
 
1505 1505
 /**
1506 1506
  * Get the number of tasks associated with a given host
1507 1507
  */
1508 1508
 function boincwork_host_get_task_count($host_id) {
1509
-  db_set_active('boinc_ro');
1510
-  $count = db_result(db_query(
1509
+    db_set_active('boinc_ro');
1510
+    $count = db_result(db_query(
1511 1511
     "SELECT COUNT(*) FROM {result} WHERE hostid = '%d'",
1512 1512
     $host_id
1513
-  ));
1514
-  db_set_active('default');
1515
-  return $count;
1513
+    ));
1514
+    db_set_active('default');
1515
+    return $count;
1516 1516
 }
1517 1517
 
1518 1518
 /**
1519 1519
  * Check whether a user is the owner of a host
1520 1520
  */
1521 1521
 function boincwork_host_user_is_owner($host_id, $uid = NULL) {
1522
-  if (!$uid) {
1522
+    if (!$uid) {
1523 1523
     global $user;
1524 1524
     $uid = $user->uid;
1525
-  }
1526
-  $account = user_load($uid);
1527
-  // Get host owner
1528
-  db_set_active('boinc_ro');
1529
-  $owner = db_result(db_query(
1525
+    }
1526
+    $account = user_load($uid);
1527
+    // Get host owner
1528
+    db_set_active('boinc_ro');
1529
+    $owner = db_result(db_query(
1530 1530
     "SELECT userid FROM {host} WHERE id = '%d'",
1531 1531
     $host_id
1532
-  ));
1533
-  db_set_active('default');
1534
-  return ($account->boincuser_id === $owner);
1532
+    ));
1533
+    db_set_active('default');
1534
+    return ($account->boincuser_id === $owner);
1535 1535
 }
1536 1536
 
1537 1537
 /**
1538
-  * Determine output for host last contact time
1539
-  */
1538
+ * Determine output for host last contact time
1539
+ */
1540 1540
 function boincwork_host_last_contact($timestamp, $host_id = NULL, $context = NULL) {
1541
-  $output = '---';
1542
-  $root_log_dir = variable_get('boinc_host_sched_logs_dir', '');
1543
-  $log = '';
1544
-  if ($timestamp) {
1541
+    $output = '---';
1542
+    $root_log_dir = variable_get('boinc_host_sched_logs_dir', '');
1543
+    $log = '';
1544
+    if ($timestamp) {
1545 1545
     $output = date('j M Y G:i:s T', $timestamp);
1546
-  }
1547
-  if ($root_log_dir AND $host_id) {
1546
+    }
1547
+    if ($root_log_dir AND $host_id) {
1548 1548
     $subdir = substr($host_id, 0, -3) OR $subdir = 0;
1549 1549
     $log = implode('/', array($root_log_dir, $subdir, $host_id));
1550
-  }
1551
-  if ($log AND file_exists($log)) {
1550
+    }
1551
+    if ($log AND file_exists($log)) {
1552 1552
     $output = l($output, "host/{$host_id}/log");
1553
-  }
1554
-  return $output;
1553
+    }
1554
+    return $output;
1555 1555
 }
1556 1556
 
1557 1557
 /**
1558 1558
  * 
1559 1559
  */
1560 1560
 function boincwork_host_venue_selector($host_id) {
1561
-  $output = '';
1562
-  if (function_exists('jump_quickly')) {
1561
+    $output = '';
1562
+    if (function_exists('jump_quickly')) {
1563 1563
     $path = "host/{$host_id}/set-venue";
1564 1564
     $venues = array(
1565
-      "{$path}/generic" => bts('Generic', array(), NULL, 'boinc:account-preferences-location'),
1566
-      "{$path}/home" => bts('Home', array(), NULL, 'boinc:account-preferences-location:-1:ignoreoverwrite'),
1567
-      "{$path}/work" => bts('Work', array(), NULL, 'boinc:account-preferences-location'),
1568
-      "{$path}/school" => bts('School', array(), NULL, 'boinc:account-preferences-location')
1565
+        "{$path}/generic" => bts('Generic', array(), NULL, 'boinc:account-preferences-location'),
1566
+        "{$path}/home" => bts('Home', array(), NULL, 'boinc:account-preferences-location:-1:ignoreoverwrite'),
1567
+        "{$path}/work" => bts('Work', array(), NULL, 'boinc:account-preferences-location'),
1568
+        "{$path}/school" => bts('School', array(), NULL, 'boinc:account-preferences-location')
1569 1569
     );
1570 1570
     variable_set('jump_use_js_venues-Array', 1);
1571 1571
     drupal_add_js(drupal_get_path('module', 'jump') . '/jump.js');
@@ -1573,34 +1573,34 @@  discard block
 block discarded – undo
1573 1573
     // Get current venue
1574 1574
     db_set_active('boinc_ro');
1575 1575
     $venue = db_result(db_query(
1576
-      "SELECT venue FROM {host} WHERE id = '%d'",
1577
-      $host_id
1576
+        "SELECT venue FROM {host} WHERE id = '%d'",
1577
+        $host_id
1578 1578
     ));
1579 1579
     db_set_active('default');
1580 1580
     $output .= jump_quickly($venues, 'venues', 1, "{$path}/{$venue}");
1581
-  }
1582
-  return $output;
1581
+    }
1582
+    return $output;
1583 1583
 }
1584 1584
 
1585 1585
 /**
1586
-  * Determine output for task reported time / deadline
1587
-  */
1586
+ * Determine output for task reported time / deadline
1587
+ */
1588 1588
 function boincwork_task_time_reported($received_time = NULL, $deadline = NULL, $context = NULL) {
1589
-  $output = '---';
1590
-  if ($received_time OR $deadline) {
1589
+    $output = '---';
1590
+    if ($received_time OR $deadline) {
1591 1591
     $timestamp = ($received_time) ? $received_time : $deadline;
1592 1592
     $output = date('j M Y G:i:s T', $timestamp);
1593 1593
     // Add a wrapper to deadline text
1594 1594
     if (!$received_time) {
1595
-      if (time() < $deadline) {
1595
+        if (time() < $deadline) {
1596 1596
         $output = '<span class="on-time">' . $output . '</span>';
1597
-      }
1598
-      else {
1597
+        }
1598
+        else {
1599 1599
         $output = '<span class="past-due">' . $output . '</span>';
1600
-      }
1600
+        }
1601 1601
     }
1602
-  }
1603
-  return $output;
1602
+    }
1603
+    return $output;
1604 1604
 }
1605 1605
 
1606 1606
 /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
@@ -1631,345 +1631,345 @@  discard block
 block discarded – undo
1631 1631
  *   Number of table row to display per page. Defaults to 20.
1632 1632
  */
1633 1633
 function boincwork_tasktable($category = 0, $queryid = 1, $tselect = NULL, $app_id = 0, $tablerows = 20) {
1634
-  // Check type parameter, if not (0,2) then return an error.
1635
-  if ( ($category!=0) AND ($category!=1) AND ($category!=2) ) {
1634
+    // Check type parameter, if not (0,2) then return an error.
1635
+    if ( ($category!=0) AND ($category!=1) AND ($category!=2) ) {
1636 1636
     watchdog('boincwork', 'task table called with invalid category = %category', array('%category' => $category), WATCHDOG_WARNING);
1637 1637
     return '';
1638
-  }
1638
+    }
1639 1639
 
1640
-  require_boinc( array('util', 'result') );
1640
+    require_boinc( array('util', 'result') );
1641 1641
 
1642
-  global $language;
1643
-  $locality=$language->language;
1644
-  $nf = new NumberFormatter($locality, NumberFormatter::DECIMAL);
1645
-  $nf->setAttribute(NumberFormatter::MIN_FRACTION_DIGITS, 0);
1646
-  $nf->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 0);
1642
+    global $language;
1643
+    $locality=$language->language;
1644
+    $nf = new NumberFormatter($locality, NumberFormatter::DECIMAL);
1645
+    $nf->setAttribute(NumberFormatter::MIN_FRACTION_DIGITS, 0);
1646
+    $nf->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 0);
1647 1647
 
1648
-  $output = '';
1648
+    $output = '';
1649 1649
 
1650
-  $state_hnames = array(
1650
+    $state_hnames = array(
1651 1651
     STATE_ALL => 'All',
1652 1652
     STATE_IN_PROGRESS => 'In progress',
1653 1653
     STATE_PENDING => 'Pending',
1654 1654
     STATE_VALID => 'Valid',
1655 1655
     STATE_INVALID => 'Invalid',
1656 1656
     STATE_ERROR => 'Error',
1657
-  );
1658
-  // Array (hash) to count total number of results/tasks, and their states.
1659
-  $taskstates = array(
1657
+    );
1658
+    // Array (hash) to count total number of results/tasks, and their states.
1659
+    $taskstates = array(
1660 1660
     STATE_ALL => 0,
1661 1661
     STATE_IN_PROGRESS => 0,
1662 1662
     STATE_PENDING => 0,
1663 1663
     STATE_VALID => 0,
1664 1664
     STATE_INVALID => 0,
1665 1665
     STATE_ERROR => 0,
1666
-  );
1667
-  // Array to hold pretty-print result data to be displayed in a table.
1668
-  $resultdata = array();
1669
-  // Arrays for applications. Form below uses $applications as parameter.
1670
-  $application_map = array();
1671
-  $application_select_count = array();
1672
-  $applications = array();
1673
-
1674
-  // BOINC DB queries for results, application names
1675
-  db_set_active('boinc_ro');
1676
-
1677
-  // Query to retreive all results, in order to calculate status for a
1678
-  // host with application names for each result.
1679
-  $sqlall = "SELECT user_friendly_name,"
1680
-      ."r.appid as appid,"
1681
-      ."r.server_state AS server_state,"
1682
-      ."r.outcome AS outcome,"
1683
-      ."r.client_state AS client_state,"
1684
-      ."r.validate_state AS validate_state,"
1685
-      ."r.exit_status AS exit_status "
1686
-      ."FROM {result} AS r "
1687
-      ."INNER JOIN {app} AS a "
1688
-      ."ON r.appid=a.id ";
1689
-
1690
-  // Use userid, hostid, or workunitid
1691
-  if ($category==0) {
1666
+    );
1667
+    // Array to hold pretty-print result data to be displayed in a table.
1668
+    $resultdata = array();
1669
+    // Arrays for applications. Form below uses $applications as parameter.
1670
+    $application_map = array();
1671
+    $application_select_count = array();
1672
+    $applications = array();
1673
+
1674
+    // BOINC DB queries for results, application names
1675
+    db_set_active('boinc_ro');
1676
+
1677
+    // Query to retreive all results, in order to calculate status for a
1678
+    // host with application names for each result.
1679
+    $sqlall = "SELECT user_friendly_name,"
1680
+        ."r.appid as appid,"
1681
+        ."r.server_state AS server_state,"
1682
+        ."r.outcome AS outcome,"
1683
+        ."r.client_state AS client_state,"
1684
+        ."r.validate_state AS validate_state,"
1685
+        ."r.exit_status AS exit_status "
1686
+        ."FROM {result} AS r "
1687
+        ."INNER JOIN {app} AS a "
1688
+        ."ON r.appid=a.id ";
1689
+
1690
+    // Use userid, hostid, or workunitid
1691
+    if ($category==0) {
1692 1692
     $sqlall .= " WHERE r.userid='%s' ";
1693
-  }
1694
-  elseif ($category==1) {
1693
+    }
1694
+    elseif ($category==1) {
1695 1695
     $sqlall .= " WHERE r.workunitid='%s' ";
1696
-  }
1697
-  elseif ($category==2) {
1696
+    }
1697
+    elseif ($category==2) {
1698 1698
     $sqlall .= " WHERE r.hostid='%s' ";
1699
-  }
1700
-  $sqlall .= " ORDER BY user_friendly_name";
1701
-  $dbres_all = db_query($sqlall, $queryid);
1702
-  db_set_active('default');
1699
+    }
1700
+    $sqlall .= " ORDER BY user_friendly_name";
1701
+    $dbres_all = db_query($sqlall, $queryid);
1702
+    db_set_active('default');
1703 1703
 
1704
-  // Loop 1 of DB results
1705
-  if ($dbres_all) {
1704
+    // Loop 1 of DB results
1705
+    if ($dbres_all) {
1706 1706
     while ($result = db_fetch_object($dbres_all)) {
1707
-      $mystate = state_num($result);
1708
-      if ( ($result->appid==$app_id) OR ($app_id==0) OR ($app_id==-1) ) {
1707
+        $mystate = state_num($result);
1708
+        if ( ($result->appid==$app_id) OR ($app_id==0) OR ($app_id==-1) ) {
1709 1709
         $taskstates[STATE_ALL]++;
1710 1710
         switch ($mystate) {
1711 1711
         case STATE_IN_PROGRESS:
1712 1712
           $taskstates[STATE_IN_PROGRESS]++;
1713
-          break;
1713
+            break;
1714 1714
         case STATE_PENDING:
1715 1715
           $taskstates[STATE_PENDING]++;
1716
-          break;
1716
+            break;
1717 1717
         case STATE_VALID:
1718 1718
           $taskstates[STATE_VALID]++;
1719
-          break;
1719
+            break;
1720 1720
         case STATE_INVALID:
1721 1721
           $taskstates[STATE_INVALID]++;
1722
-          break;
1722
+            break;
1723 1723
         case STATE_ERROR:
1724 1724
           $taskstates[STATE_ERROR]++;
1725
-          break;
1725
+            break;
1726 1726
         }
1727
-      }// if app_id
1727
+        }// if app_id
1728 1728
 
1729
-      //map holds a map between app ids and user friendly names for all applications.
1730
-      $application_map[$result->appid] = $result->user_friendly_name;
1731
-      if ( ($mystate == $tselect) OR ($tselect==STATE_ALL) ) {
1729
+        //map holds a map between app ids and user friendly names for all applications.
1730
+        $application_map[$result->appid] = $result->user_friendly_name;
1731
+        if ( ($mystate == $tselect) OR ($tselect==STATE_ALL) ) {
1732 1732
         //count of appids in the results.
1733 1733
         $application_select_count[$result->appid]++;
1734
-      }// if mystate
1734
+        }// if mystate
1735 1735
 
1736 1736
     }// while
1737
-  }
1738
-  else {
1739
-  }
1737
+    }
1738
+    else {
1739
+    }
1740 1740
   
1741
-  // Entry for all applications.
1742
-  $allcount = $application_select_count ? array_sum($application_select_count) : 0;
1743
-  $applications[-1] = bts('Application', array(), NULL, 'boinc:task-table');
1744
-  $applications[0] = bts('All applications', array(), NULL, 'boinc:task-table') . ' (' . $allcount . ')';
1745
-  // Create application filter from application_map and application_select_count.
1746
-  foreach($application_map as $akey => $aname) {
1741
+    // Entry for all applications.
1742
+    $allcount = $application_select_count ? array_sum($application_select_count) : 0;
1743
+    $applications[-1] = bts('Application', array(), NULL, 'boinc:task-table');
1744
+    $applications[0] = bts('All applications', array(), NULL, 'boinc:task-table') . ' (' . $allcount . ')';
1745
+    // Create application filter from application_map and application_select_count.
1746
+    foreach($application_map as $akey => $aname) {
1747 1747
     $acount = 0;
1748 1748
     if ( $application_select_count and array_key_exists($akey, $application_select_count) ) {
1749
-      $acount = $application_select_count[$akey];
1749
+        $acount = $application_select_count[$akey];
1750 1750
     }
1751 1751
     $applications[$akey] = $aname . ' ('. $acount . ')';
1752
-  }
1753
-  // Header array for (sub) results table.
1754
-  $resultheader = array(
1752
+    }
1753
+    // Header array for (sub) results table.
1754
+    $resultheader = array(
1755 1755
     array(
1756
-      'data' => bts('Task ID', array(), NULL, 'boinc:task-table'),
1757
-      'field' => 'id',
1756
+        'data' => bts('Task ID', array(), NULL, 'boinc:task-table'),
1757
+        'field' => 'id',
1758 1758
     ),
1759 1759
     array(
1760
-      'data' => bts('Workunit ID', array(), NULL, 'boinc:task-table'),
1761
-      'field' => 'workunitid',
1760
+        'data' => bts('Workunit ID', array(), NULL, 'boinc:task-table'),
1761
+        'field' => 'workunitid',
1762 1762
     ),
1763 1763
     array(
1764
-      'data' => bts('Computer', array(), NULL, 'boinc:task-table'),
1765
-      'field' => 'hostid',
1764
+        'data' => bts('Computer', array(), NULL, 'boinc:task-table'),
1765
+        'field' => 'hostid',
1766 1766
     ),
1767 1767
     array(
1768
-      'data' => bts('Sent', array(), NULL, 'boinc:task-table'),
1769
-      'field' => 'sent_time',
1768
+        'data' => bts('Sent', array(), NULL, 'boinc:task-table'),
1769
+        'field' => 'sent_time',
1770 1770
     ),
1771 1771
     array(
1772
-      'data' => bts('Time Reported or Deadline', array(), NULL, 'boinc:task-table')
1772
+        'data' => bts('Time Reported or Deadline', array(), NULL, 'boinc:task-table')
1773 1773
     ),
1774 1774
     array(
1775
-      'data' => bts('Status', array(), NULL, 'boinc:task-table')
1775
+        'data' => bts('Status', array(), NULL, 'boinc:task-table')
1776 1776
     ),
1777 1777
     array(
1778
-      'data' => bts('Run time', array(), NULL, 'boinc:task-table'),
1779
-      'field' => 'elapsed_time',
1778
+        'data' => bts('Run time', array(), NULL, 'boinc:task-table'),
1779
+        'field' => 'elapsed_time',
1780 1780
     ),
1781 1781
     array(
1782
-      'data' => bts('CPU time', array(), NULL, 'boinc:task-table'),
1783
-      'field' => 'cpu_time',
1782
+        'data' => bts('CPU time', array(), NULL, 'boinc:task-table'),
1783
+        'field' => 'cpu_time',
1784 1784
     ),
1785 1785
     array(
1786
-      'data' => bts('Granted Credit', array(), NULL, 'boinc:task-table'),
1787
-      'field' => 'granted_credit',
1786
+        'data' => bts('Granted Credit', array(), NULL, 'boinc:task-table'),
1787
+        'field' => 'granted_credit',
1788 1788
     ),
1789 1789
     // Application is a column, but won't be added until after tablesort_sql().
1790
-  );
1791
-
1792
-  // Query to retreive a subset of the total results for the results table.
1793
-  db_set_active('boinc_ro');
1794
-  $sqlsub = "SELECT r.id AS id,"
1795
-      ."r.name AS name,"
1796
-      ."r.workunitid AS workunitid,"
1797
-      ."r.hostid as hostid,"
1798
-      ."r.sent_time AS sent_time,"
1799
-      ."r.received_time AS received_time,"
1800
-      ."r.report_deadline AS report_deadline,"
1801
-      ."r.server_state AS server_state,"
1802
-      ."r.outcome AS outcome,"
1803
-      ."r.client_state AS client_state,"
1804
-      ."r.validate_state AS validate_state,"
1805
-      ."r.exit_status AS exit_status,"
1806
-      ."r.elapsed_time AS elapsed_time,"
1807
-      ."r.cpu_time AS cpu_time,"
1808
-      ."r.granted_credit AS granted_credit,"
1809
-      ."r.appid AS appid,"
1810
-      ."r.app_version_id AS app_version_id,"
1811
-      ."a.user_friendly_name,"
1812
-      ."av.version_num AS version_number,"
1813
-      ."av.plan_class AS plan_class,"
1814
-      ."pl.name AS platform "
1815
-      ."FROM {result} AS r "
1816
-      ."INNER JOIN {app} AS a "
1817
-      ."ON r.appid=a.id "
1818
-      ."LEFT JOIN {app_version} AS av "
1819
-      ."ON r.app_version_id=av.id "
1820
-      ."LEFT JOIN {platform} AS pl "
1821
-      ."ON av.platformid=pl.id ";
1822
-
1823
-  // Build an array for the WHERE clauses. The individual clauses are
1824
-  // placed into an array, and implode() is used to combine them into
1825
-  // a WHERE statement for the sql query. If no such clauses are added
1826
-  // to the array, then no WHERE statement will be included.
1827
-  $sqlwhere = array();
1828
-
1829
-  // Use userid, hostid, or workunitid
1830
-  if ($category==0) {
1790
+    );
1791
+
1792
+    // Query to retreive a subset of the total results for the results table.
1793
+    db_set_active('boinc_ro');
1794
+    $sqlsub = "SELECT r.id AS id,"
1795
+        ."r.name AS name,"
1796
+        ."r.workunitid AS workunitid,"
1797
+        ."r.hostid as hostid,"
1798
+        ."r.sent_time AS sent_time,"
1799
+        ."r.received_time AS received_time,"
1800
+        ."r.report_deadline AS report_deadline,"
1801
+        ."r.server_state AS server_state,"
1802
+        ."r.outcome AS outcome,"
1803
+        ."r.client_state AS client_state,"
1804
+        ."r.validate_state AS validate_state,"
1805
+        ."r.exit_status AS exit_status,"
1806
+        ."r.elapsed_time AS elapsed_time,"
1807
+        ."r.cpu_time AS cpu_time,"
1808
+        ."r.granted_credit AS granted_credit,"
1809
+        ."r.appid AS appid,"
1810
+        ."r.app_version_id AS app_version_id,"
1811
+        ."a.user_friendly_name,"
1812
+        ."av.version_num AS version_number,"
1813
+        ."av.plan_class AS plan_class,"
1814
+        ."pl.name AS platform "
1815
+        ."FROM {result} AS r "
1816
+        ."INNER JOIN {app} AS a "
1817
+        ."ON r.appid=a.id "
1818
+        ."LEFT JOIN {app_version} AS av "
1819
+        ."ON r.app_version_id=av.id "
1820
+        ."LEFT JOIN {platform} AS pl "
1821
+        ."ON av.platformid=pl.id ";
1822
+
1823
+    // Build an array for the WHERE clauses. The individual clauses are
1824
+    // placed into an array, and implode() is used to combine them into
1825
+    // a WHERE statement for the sql query. If no such clauses are added
1826
+    // to the array, then no WHERE statement will be included.
1827
+    $sqlwhere = array();
1828
+
1829
+    // Use userid, hostid, or workunitid
1830
+    if ($category==0) {
1831 1831
     $sqlwhere[] = "r.userid = '%s'";
1832
-  }
1833
-  elseif ($category==1) {
1832
+    }
1833
+    elseif ($category==1) {
1834 1834
     $sqlwhere[] = "r.workunitid = '%s'";
1835
-  }
1836
-  elseif ($category==2) {
1835
+    }
1836
+    elseif ($category==2) {
1837 1837
     $sqlwhere[] = "r.hostid = '%s'";
1838
-  }
1838
+    }
1839 1839
 
1840
-  // Append additional where clauses based on task selection.
1841
-  switch ($tselect) {
1842
-  case STATE_IN_PROGRESS:
1840
+    // Append additional where clauses based on task selection.
1841
+    switch ($tselect) {
1842
+    case STATE_IN_PROGRESS:
1843 1843
     $sqlwhere[] = "r.server_state = 4";
1844 1844
     break;
1845
-  case STATE_PENDING:
1845
+    case STATE_PENDING:
1846 1846
     $sqlwhere[] = "(r.server_state = 5) AND (r.outcome = 1) AND (r.validate_state >= 0) AND (r.validate_state <= 0 OR r.validate_state >= 4) AND (r.validate_state <= 4)";
1847 1847
     break;
1848
-  case STATE_VALID:
1848
+    case STATE_VALID:
1849 1849
     $sqlwhere[] = "(r.server_state = 5) AND (r.outcome = 1) AND (r.validate_state = 1)";
1850 1850
     break;
1851
-  case STATE_INVALID:
1851
+    case STATE_INVALID:
1852 1852
     $sqlwhere[] = "(r.server_state = 5) AND ((r.outcome = 6) OR ((r.outcome = 1) AND ((r.validate_state = 2) OR (r.validate_state = 3) OR (r.validate_state = 5))))";
1853 1853
     break;
1854
-  case STATE_ERROR:
1854
+    case STATE_ERROR:
1855 1855
     $sqlwhere[] = "(r.server_state = 5) AND (r.outcome >= 3) AND (r.outcome <= 4 OR r.outcome >= 7) AND (r.outcome <= 7)";
1856 1856
     break;
1857
-  default:
1857
+    default:
1858 1858
   }
1859 1859
 
1860
-  if (is_numeric($app_id) AND $app_id>0 ) {
1860
+    if (is_numeric($app_id) AND $app_id>0 ) {
1861 1861
     $sqlwhere[] = "r.appid = '%s'";
1862 1862
     if ($sqlwhere)  $sqlsub .= " WHERE " . implode(' AND ', $sqlwhere);
1863 1863
     $dbres_sub = pager_query( $sqlsub . tablesort_sql($resultheader), $tablerows, 0, NULL, $queryid, $app_id);
1864
-  }
1865
-  else {
1864
+    }
1865
+    else {
1866 1866
     if ($sqlwhere)  $sqlsub .= " WHERE " . implode(' AND ', $sqlwhere);
1867 1867
     $dbres_sub = pager_query( $sqlsub . tablesort_sql($resultheader), $tablerows, 0, NULL, $queryid);
1868
-  }
1869
-  db_set_active('default');
1868
+    }
1869
+    db_set_active('default');
1870 1870
 
1871
-  // Loop 2 over DB results.
1872
-  if ($dbres_sub) {
1871
+    // Loop 2 over DB results.
1872
+    if ($dbres_sub) {
1873 1873
     while ($result = db_fetch_object($dbres_sub)) {
1874
-      // state_num() function changes $result object, clone $result
1875
-      // object for use in state_num()
1876
-      // check if state matches selection
1877
-      if ( (state_num(clone $result) == $tselect) OR ($tselect==STATE_ALL) ) {
1874
+        // state_num() function changes $result object, clone $result
1875
+        // object for use in state_num()
1876
+        // check if state matches selection
1877
+        if ( (state_num(clone $result) == $tselect) OR ($tselect==STATE_ALL) ) {
1878 1878
         // create pretty result row
1879 1879
         $prettyresult = array(
1880
-          array(
1880
+            array(
1881 1881
             'data' => l($result->name, "task/{$result->id}"),
1882 1882
             'class' => 'task-name',
1883
-          ),
1884
-          l($result->workunitid, "workunit/{$result->workunitid}"),
1885
-          l($result->hostid, "host/{$result->hostid}"),
1886
-          date('j M Y G:i:s T', $result->sent_time),
1887
-          boincwork_task_time_reported($result->received_time, $result->report_deadline),
1888
-          state_string($result),
1889
-          $nf->format($result->elapsed_time),
1890
-          $nf->format($result->cpu_time),
1891
-          $nf->format($result->granted_credit),
1892
-          array(
1883
+            ),
1884
+            l($result->workunitid, "workunit/{$result->workunitid}"),
1885
+            l($result->hostid, "host/{$result->hostid}"),
1886
+            date('j M Y G:i:s T', $result->sent_time),
1887
+            boincwork_task_time_reported($result->received_time, $result->report_deadline),
1888
+            state_string($result),
1889
+            $nf->format($result->elapsed_time),
1890
+            $nf->format($result->cpu_time),
1891
+            $nf->format($result->granted_credit),
1892
+            array(
1893 1893
             'data' => $result->user_friendly_name . " " . pretty_application_version($result->app_version_id,$result->version_number, $result->plan_class, $result->platform),
1894 1894
             'class' => 'task-app',
1895
-          ),
1895
+            ),
1896 1896
         );
1897 1897
         $resultdata[] = array_values($prettyresult);
1898
-      }
1898
+        }
1899 1899
     }// while
1900
-  }
1901
-  else {
1902
-  }
1903
-  // Begin result navigation
1900
+    }
1901
+    else {
1902
+    }
1903
+    // Begin result navigation
1904 1904
 
1905
-  // Set pathprefix based on type
1906
-  if ($category==0) {
1905
+    // Set pathprefix based on type
1906
+    if ($category==0) {
1907 1907
     $pathprefix = 'account/tasks';
1908
-  }
1909
-  elseif ($category==1) {
1908
+    }
1909
+    elseif ($category==1) {
1910 1910
     $pathprefix = 'workunit/' . $queryid . '/tasks';
1911
-  }
1912
-  elseif ($category==2) {
1911
+    }
1912
+    elseif ($category==2) {
1913 1913
     $pathprefix = 'host/' . $queryid . '/tasks';
1914
-  }
1915
-  // Need an "All" tab as well, maps to app_id of zero.
1916
-  $application_map[0] = bts('All', array(), NULL, 'boinc:task-table');
1917
-  $stitems = array();
1918
-  foreach ($taskstates as $state => $numstates) {
1914
+    }
1915
+    // Need an "All" tab as well, maps to app_id of zero.
1916
+    $application_map[0] = bts('All', array(), NULL, 'boinc:task-table');
1917
+    $stitems = array();
1918
+    foreach ($taskstates as $state => $numstates) {
1919 1919
     $mypath = $pathprefix . '/' . $state . '/' . $app_id;
1920 1920
     if ($state==STATE_ALL) {
1921
-      $ltext = '<span class="tab task-app-name">' . bts('All', array(), NULL, 'boinc:task-table') . ' (' . $numstates . ')</span>';
1921
+        $ltext = '<span class="tab task-app-name">' . bts('All', array(), NULL, 'boinc:task-table') . ' (' . $numstates . ')</span>';
1922 1922
     }
1923 1923
     else {
1924
-      $ltext = '<span class="tab">' . bts($state_hnames[$state], array(), NULL, 'boinc:task-table') . ' (' . $numstates . ')</span>';
1924
+        $ltext = '<span class="tab">' . bts($state_hnames[$state], array(), NULL, 'boinc:task-table') . ' (' . $numstates . ')</span>';
1925 1925
     }
1926 1926
     $myitem = array(
1927
-      'data' => l($ltext, $mypath, array('html' => TRUE) ),
1927
+        'data' => l($ltext, $mypath, array('html' => TRUE) ),
1928 1928
     );
1929 1929
     if ($state==$tselect) {
1930
-      $myitem['class'] = 'active';
1930
+        $myitem['class'] = 'active';
1931 1931
     }
1932 1932
     $stitems[] = $myitem;
1933
-  }
1934
-  // Add reset button
1935
-  $mypath = $pathprefix . '/0/0';
1936
-  $ltext = '<span class="tab">' . bts('Reset', array(), NULL, 'boinc:task-table') . '</span>';
1937
-  $stitems[] = array( 'data' => l($ltext, $mypath, array('html' => TRUE) ) );
1933
+    }
1934
+    // Add reset button
1935
+    $mypath = $pathprefix . '/0/0';
1936
+    $ltext = '<span class="tab">' . bts('Reset', array(), NULL, 'boinc:task-table') . '</span>';
1937
+    $stitems[] = array( 'data' => l($ltext, $mypath, array('html' => TRUE) ) );
1938 1938
 
1939
-  $output .= theme_item_list($stitems, NULL, 'ul' . ' class="tabs secondary clearfix"');
1939
+    $output .= theme_item_list($stitems, NULL, 'ul' . ' class="tabs secondary clearfix"');
1940 1940
 
1941
-  // Application select-drop down form
1942
-  // Hack to place Application form into header
1943
-  // App ID of zero maps to "-1" for drop-down box.
1944
-  if ($app_id==0) {
1941
+    // Application select-drop down form
1942
+    // Hack to place Application form into header
1943
+    // App ID of zero maps to "-1" for drop-down box.
1944
+    if ($app_id==0) {
1945 1945
     $app_id=-1;
1946
-  }
1947
-  $resultheader[] = drupal_get_form('boincwork_selectapp_form', $applications, $app_id);
1946
+    }
1947
+    $resultheader[] = drupal_get_form('boincwork_selectapp_form', $applications, $app_id);
1948 1948
 
1949
-  // Begin table of results
1950
-  if ( is_array($resultheader) AND is_array($resultdata) ) {
1949
+    // Begin table of results
1950
+    if ( is_array($resultheader) AND is_array($resultdata) ) {
1951 1951
 
1952 1952
     // Take advantage of the fact that $category is the same as the row/column we want to remove.
1953 1953
     if ( ($category==1) OR ($category==2) ) {
1954
-      unset($resultheader[$category]);
1955
-      delete_col($resultdata, $category);
1954
+        unset($resultheader[$category]);
1955
+        delete_col($resultdata, $category);
1956 1956
     }
1957 1957
 
1958 1958
     $output .= theme_table($resultheader, $resultdata);
1959 1959
     if (count($resultdata) > 0) {
1960
-      $output .= theme('pager');
1960
+        $output .= theme('pager');
1961 1961
     }
1962
-  }
1963
-  return $output;
1962
+    }
1963
+    return $output;
1964 1964
 }
1965 1965
 
1966 1966
 /**
1967 1967
  * Function to delete a column from an array.
1968 1968
  */
1969 1969
 function delete_col(&$array, $offset) {
1970
-  return array_walk($array, function (&$v) use ($offset) {
1971
-     array_splice($v, $offset, 1);
1972
-  });
1970
+    return array_walk($array, function (&$v) use ($offset) {
1971
+        array_splice($v, $offset, 1);
1972
+    });
1973 1973
 }
1974 1974
 
1975 1975
 /**
@@ -1989,7 +1989,7 @@  discard block
 block discarded – undo
1989 1989
  *  platform name, may be NULL
1990 1990
  */
1991 1991
 function pretty_application_version($appverid, $vernum, $plan_class, $plfm) {
1992
-  switch ($appverid) {
1992
+    switch ($appverid) {
1993 1993
     case ANON_PLATFORM_UNKNOWN:
1994 1994
       return "Anonymous platform";
1995 1995
     case ANON_PLATFORM_CPU:
@@ -2008,11 +2008,11 @@  discard block
 block discarded – undo
2008 2008
       // that is not handled by the above case statements.
2009 2009
       if ($appverid < 0) {
2010 2010
         return "Unknown Anonymous platform";
2011
-      }
2012
-      else {
2011
+        }
2012
+        else {
2013 2013
         $prettyv = sprintf("%d.%02d", $vernum/100, $vernum%100);
2014 2014
         $prettyc = ($plan_class) ? "($av->plan_class)" : '';
2015 2015
         return "v$prettyv $prettyc $plfm";
2016
-      }
2017
-  }
2016
+        }
2017
+    }
2018 2018
 }
Please login to merge, or discard this patch.
html/inc/util.inc 1 patch
Indentation   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -556,14 +556,14 @@
 block discarded – undo
556 556
     $tnow = get_str('tnow', true);
557 557
     $ttok = get_str('ttok', true);
558 558
     if (!$tnow) {
559
-      if (isset($_POST['tnow'])) {
560
-          $tnow = $_POST['tnow'];
561
-      }
559
+        if (isset($_POST['tnow'])) {
560
+            $tnow = $_POST['tnow'];
561
+        }
562 562
     }
563 563
     if (!$ttok) {
564
-      if (isset($_POST['ttok'])) {
565
-          $ttok = $_POST['ttok'];
566
-      }
564
+        if (isset($_POST['ttok'])) {
565
+            $ttok = $_POST['ttok'];
566
+        }
567 567
     }
568 568
     if (!$tnow) return false;
569 569
     if (!$ttok) return false;
Please login to merge, or discard this patch.
html/user/get_project_config.php 1 patch
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -86,11 +86,11 @@  discard block
 block discarded – undo
86 86
 }
87 87
 
88 88
 if ($disable_account_creation || defined('INVITE_CODES')) {
89
-	echo "    <account_creation_disabled/>\n";
89
+    echo "    <account_creation_disabled/>\n";
90 90
 }
91 91
 
92 92
 if (defined('INVITE_CODES')) {
93
-	echo "    <invite_code_required/>\n";
93
+    echo "    <invite_code_required/>\n";
94 94
 }
95 95
 
96 96
 echo "    <min_passwd_length>$min_passwd_length</min_passwd_length>\n";
@@ -113,9 +113,9 @@  discard block
 block discarded – undo
113 113
 // the terms_of_use.txt file in the project base directory.
114 114
 //
115 115
 if (defined('TERMSOFUSE_FILE')) {
116
-  $tou_file = TERMSOFUSE_FILE;
116
+    $tou_file = TERMSOFUSE_FILE;
117 117
 } else {
118
-  $tou_file =  "../../terms_of_use.txt";
118
+    $tou_file =  "../../terms_of_use.txt";
119 119
 }
120 120
 if (file_exists($tou_file)) {
121 121
     $terms_of_use = trim(file_get_contents($tou_file));
Please login to merge, or discard this patch.
drupal/sites/default/boinc/modules/boincimport/boincimport.module 1 patch
Indentation   +1726 added lines, -1726 removed lines patch added patch discarded remove patch
@@ -19,9 +19,9 @@  discard block
 block discarded – undo
19 19
  * Implementation of hook_menu()
20 20
  */
21 21
 function boincimport_menu() {
22
-  $items = array();
22
+    $items = array();
23 23
   
24
-  $items['admin/boinc/import'] = array(
24
+    $items['admin/boinc/import'] = array(
25 25
     'title' => 'Environment: Data import',
26 26
     'description' => 'Overview of the BOINC data import process.',
27 27
     'access callback' => 'user_access',
@@ -29,8 +29,8 @@  discard block
 block discarded – undo
29 29
     'page callback' => 'boincimport_main',
30 30
     'file' => 'boincimport.pages.inc',
31 31
     'type' => MENU_NORMAL_ITEM,
32
-  );
33
-  $items['admin/boinc/import/post_configuration'] = array(
32
+    );
33
+    $items['admin/boinc/import/post_configuration'] = array(
34 34
     'title' => 'Post-migration configuration',
35 35
     'description' => 'Tie up a few odds and ends in the system configuration
36 36
       after data importation is complete.',
@@ -39,44 +39,44 @@  discard block
 block discarded – undo
39 39
     'page callback' => 'boincimport_post_configuration', 
40 40
     'file' => 'boincimport.pages.inc',
41 41
     'type' => MENU_CALLBACK,
42
-  );
43
-  $items['admin/boinc/import/cleanup'] = array(
42
+    );
43
+    $items['admin/boinc/import/cleanup'] = array(
44 44
     'title' => 'Cleanup',
45 45
     'access callback' => 'user_access',
46 46
     'access arguments' => array('import boinc data'),
47 47
     'page callback' => 'boincimport_cleanup', 
48 48
     'type' => MENU_CALLBACK,
49
-  );
50
-  $items['admin/boinc/import/complete/%'] = array(
49
+    );
50
+    $items['admin/boinc/import/complete/%'] = array(
51 51
     'title' => 'Complete',
52 52
     'access callback' => 'user_access',
53 53
     'access arguments' => array('import boinc data'),
54 54
     'page callback' => 'boincimport_complete',
55 55
     'page arguments' => array(4),
56 56
     'type' => MENU_CALLBACK,
57
-  );
58
-  $items['admin/boinc/import/process'] = array(
57
+    );
58
+    $items['admin/boinc/import/process'] = array(
59 59
     'title' => 'Execute migration',
60 60
     'access callback' => 'user_access',
61 61
     'access arguments' => array('import boinc data'),
62 62
     'page callback' => 'boincimport_process', 
63 63
     'type' => MENU_CALLBACK,
64
-  );
65
-  $items['admin/boinc/import/reset'] = array(
64
+    );
65
+    $items['admin/boinc/import/reset'] = array(
66 66
     'title' => 'Reset BOINC database URL',
67 67
     'access callback' => 'user_access',
68 68
     'access arguments' => array('import boinc data'),
69 69
     'page callback' => 'boincimport_reset',
70 70
     'type' => MENU_CALLBACK,
71
-  );
72
-  $items['admin/boinc/import/unlock'] = array(
71
+    );
72
+    $items['admin/boinc/import/unlock'] = array(
73 73
     'title' => 'Unlock BOINC import process',
74 74
     'access callback' => 'user_access',
75 75
     'access arguments' => array('import boinc data'),
76 76
     'page callback' => 'boincimport_unlock',
77 77
     'type' => MENU_CALLBACK,
78
-  );
79
-  $items['admin/boinc/import/settings'] = array(
78
+    );
79
+    $items['admin/boinc/import/settings'] = array(
80 80
     'title' => 'BOINC data import settings',
81 81
     'description' => 'Configure the BOINC data import process in preparation
82 82
       for pulling user accounts, teams, and forums into Drupal.',
@@ -86,37 +86,37 @@  discard block
 block discarded – undo
86 86
     'page arguments' => array('boincimport_admin_settings'),
87 87
     'file' => 'boincimport.pages.inc',
88 88
     'type' => MENU_CALLBACK,
89
-  );
90
-  return $items;
89
+    );
90
+    return $items;
91 91
 }
92 92
 
93 93
 /**
94 94
  * Implementation of hook_perm()
95 95
  */
96 96
 function boincimport_perm() {
97
-  return array('import boinc data');
97
+    return array('import boinc data');
98 98
 }
99 99
 
100 100
 /**
101 101
  * Callback admin/boinc/import/reset
102 102
  */
103 103
 function boincimport_reset() {
104
-  global $db_url;
105
-  $boinc_db_url = (is_array($db_url)) ? (isset($db_url['boinc_rw']) ? $db_url['boinc_rw'] : $db_url['default']) : $db_url;
106
-  variable_set('boincimport_db_url', $boinc_db_url);
107
-  variable_set('boincimport_ready', 0);
108
-  return '<p>'. t('The BOINC database URL has been reset. You may now <a href="@configlink">go back to the configuration page</a>.',
109
-      array('@configlink' => url('admin/boinc/import/settings'))) .'</p>';
104
+    global $db_url;
105
+    $boinc_db_url = (is_array($db_url)) ? (isset($db_url['boinc_rw']) ? $db_url['boinc_rw'] : $db_url['default']) : $db_url;
106
+    variable_set('boincimport_db_url', $boinc_db_url);
107
+    variable_set('boincimport_ready', 0);
108
+    return '<p>'. t('The BOINC database URL has been reset. You may now <a href="@configlink">go back to the configuration page</a>.',
109
+        array('@configlink' => url('admin/boinc/import/settings'))) .'</p>';
110 110
 }
111 111
 
112 112
 /**
113 113
  * Callback admin/boinc/import/unlock
114 114
  */
115 115
 function boincimport_unlock() {
116
-  variable_del('boincimport_process_locked');
117
-  return '<p>'. t('The BOINC data import process has been unlocked. You may
116
+    variable_del('boincimport_process_locked');
117
+    return '<p>'. t('The BOINC data import process has been unlocked. You may
118 118
     now !proceed_with_import.', array(
119
-      '!proceed_with_import' => l(t('proceed with the import'),
119
+        '!proceed_with_import' => l(t('proceed with the import'),
120 120
         'admin/boinc/import/process')
121 121
     )) .'</p>';
122 122
 }
@@ -125,7 +125,7 @@  discard block
 block discarded – undo
125 125
  * Callback admin/boinc/import/cleanup
126 126
  */
127 127
 function boincimport_cleanup() {
128
-  return boincimport_process_cleanup() .'<p>'. t('Drupal database cleaned.') .'</p>';
128
+    return boincimport_process_cleanup() .'<p>'. t('Drupal database cleaned.') .'</p>';
129 129
 }
130 130
 
131 131
 /**
@@ -139,23 +139,23 @@  discard block
 block discarded – undo
139 139
  * want to test. Therefore, the test part of the code is not used, now.
140 140
  */
141 141
 function _boincimport_db_connect($test= 0) {
142
-  global $db_url;
143
-  $db_ready = variable_get('boincimport_db_configured', 1);
144
-  if (!$db_ready) {
142
+    global $db_url;
143
+    $db_ready = variable_get('boincimport_db_configured', 1);
144
+    if (!$db_ready) {
145 145
     if (is_array($db_url)) {
146
-      $db_url2 = $db_url;
146
+        $db_url2 = $db_url;
147 147
     } else {
148
-      $db_url2['default'] = $db_url;
148
+        $db_url2['default'] = $db_url;
149 149
     }
150 150
     $db_url2['boinc_rw'] = variable_get('boincimport_db_url', $db_url);
151 151
     $GLOBALS['db_url'] =& $db_url2;
152 152
     if ($test) {
153
-      if (!db_connect($db_url2['boinc_rw'])) {
153
+        if (!db_connect($db_url2['boinc_rw'])) {
154 154
         return 0;
155
-      }
155
+        }
156 156
     }
157
-  }
158
-  return 1;
157
+    }
158
+    return 1;
159 159
   
160 160
 }
161 161
 
@@ -167,17 +167,17 @@  discard block
 block discarded – undo
167 167
  *    $out['result'] = boolean.
168 168
  */
169 169
 function _boincimport_check_module($module) {
170
-  $out['html'] = '<ul>';
171
-  $result = module_exists($module);
172
-  $out['result'] = $result;
173
-  if ($result == 1) {
170
+    $out['html'] = '<ul>';
171
+    $result = module_exists($module);
172
+    $out['result'] = $result;
173
+    if ($result == 1) {
174 174
     $out['html'] .= '<li>'. t('Module %module is enabled. OK!', array('%module' => $module)) .'</li>';
175
-  }
176
-  else {
175
+    }
176
+    else {
177 177
     $out['html'] .= '<li><span class="marker">'. t('Module %module is disabled.', array('%module' => $module)) .'</span></li>';
178
-  }
179
-  $out['html'] .= '</ul>';
180
-  return $out;
178
+    }
179
+    $out['html'] .= '</ul>';
180
+    return $out;
181 181
 }
182 182
 
183 183
 /**
@@ -188,259 +188,259 @@  discard block
 block discarded – undo
188 188
  *   $out['result'] = boolean.
189 189
  */
190 190
 function _boincimport_check_tables($tables = array(), $db = 'default' , $prefix = 1) {
191
-  _boincimport_db_connect();
191
+    _boincimport_db_connect();
192 192
 
193
-  $out['html'] = '<ul>';
194
-  $out['result']= 1;
195
-  foreach ($tables as $table) {
193
+    $out['html'] = '<ul>';
194
+    $out['result']= 1;
195
+    foreach ($tables as $table) {
196 196
     if ($prefix) {
197
-      $table = db_prefix_tables('{'. $table .'}');
197
+        $table = db_prefix_tables('{'. $table .'}');
198 198
     }  
199 199
 
200 200
     db_set_active($db);
201 201
     if ($GLOBALS['db_type'] == 'pgsql') {
202
-      // adapt from db_table_exists in database.pgsql.inc
203
-      $result = (bool) db_result(db_query("SELECT COUNT(*) FROM pg_class WHERE relname = '%s'", $table));
202
+        // adapt from db_table_exists in database.pgsql.inc
203
+        $result = (bool) db_result(db_query("SELECT COUNT(*) FROM pg_class WHERE relname = '%s'", $table));
204 204
     }
205 205
     else {
206
-      // adapt from db_table_exists in database.mysql.inc
207
-      $result = (bool) db_fetch_object(db_query("SHOW TABLES LIKE '%s'", $table));
206
+        // adapt from db_table_exists in database.mysql.inc
207
+        $result = (bool) db_fetch_object(db_query("SHOW TABLES LIKE '%s'", $table));
208 208
     }
209 209
     db_set_active('default');
210 210
     if ($result) {
211
-      $out['html'] .= '<li>'. t('Table %table: OK!', array('%table' => $table)) .'</li>';
211
+        $out['html'] .= '<li>'. t('Table %table: OK!', array('%table' => $table)) .'</li>';
212 212
     }
213 213
     else {
214
-      $out['html'] .= '<li><span class="marker">'. t('Table <strong>%table</strong> does not exist!', array('%table' => $table)) .'</span></li>';
215
-      $out['result']= 0;
214
+        $out['html'] .= '<li><span class="marker">'. t('Table <strong>%table</strong> does not exist!', array('%table' => $table)) .'</span></li>';
215
+        $out['result']= 0;
216 216
     }
217
-  }
218
-  $out['html'] .= '</ul>';
219
-  return $out;
217
+    }
218
+    $out['html'] .= '</ul>';
219
+    return $out;
220 220
 }
221 221
 
222 222
 
223 223
 
224 224
 function boincimport_process() {
225
-  // Start with a quick sanity check on the BOINC environment
226
-  boinc_get_path();
225
+    // Start with a quick sanity check on the BOINC environment
226
+    boinc_get_path();
227 227
   
228
-  if (!variable_get('boincimport_ready', 0)) {
228
+    if (!variable_get('boincimport_ready', 0)) {
229 229
     return '<p>'. t('You cannot import the data now. Please <a href="@settings">complete the setup first</a>', array('@settings' => url('admin/boinc/import/settings'))) .'</p>';
230
-  }
230
+    }
231 231
 
232
-  $output = 'BOINC import process form';
233
-  $output .= drupal_get_form('boincimport_process_form');
234
-  return $output;
232
+    $output = 'BOINC import process form';
233
+    $output .= drupal_get_form('boincimport_process_form');
234
+    return $output;
235 235
 }
236 236
 
237 237
 function boincimport_process_form() {
238
-  $form = array();
239
-  _boincimport_db_connect() ;
240
-  // Causes problems with form api redirect
241
-  //ini_set('display_errors', TRUE);
238
+    $form = array();
239
+    _boincimport_db_connect() ;
240
+    // Causes problems with form api redirect
241
+    //ini_set('display_errors', TRUE);
242 242
 
243
-  // Adjust how long you want the script to run...
244
-  if (!ini_get('safe_mode')) {
243
+    // Adjust how long you want the script to run...
244
+    if (!ini_get('safe_mode')) {
245 245
     // This will always be set on PHP7, but not on PHP5 with safe mode
246 246
     set_time_limit(variable_get('boincimport_time_limit', 0));
247
-  }
247
+    }
248 248
 
249
-  // Check for a lock on the import process
250
-  if (variable_get('boincimport_process_locked', 0)) {
249
+    // Check for a lock on the import process
250
+    if (variable_get('boincimport_process_locked', 0)) {
251 251
     drupal_set_message(t('The import process is locked. If you are sure that
252 252
       it is no longer running, you may !unlock_it', 
253
-      array('!unlock_it' => l(t('release the lock'),
253
+        array('!unlock_it' => l(t('release the lock'),
254 254
         'admin/boinc/import/unlock')
255
-      )), 'warning');
255
+        )), 'warning');
256 256
     watchdog('boincimport', 'The import process is locked. If you are sure that
257 257
       it is no longer running, you may !unlock_it', 
258
-      array('!unlock_it' => l(t('release the lock'),
258
+        array('!unlock_it' => l(t('release the lock'),
259 259
         'admin/boinc/import/unlock')
260
-      ), WATCHDOG_WARNING); 
261
-  }
262
-  else {
260
+        ), WATCHDOG_WARNING); 
261
+    }
262
+    else {
263 263
     $boincimport_functions = array(
264
-      'users' => t('Import users'),
265
-      'teams' => t('Import teams'),
266
-      'friends' => t('Import friendships'), 
267
-      'preferences' => t('Import user preferences'),
268
-      'private messages' => t('Import private messages'),
269
-      'categories' => t('Import forum containers'),
270
-      'topics' => t('Import topics'),
271
-      'posts' => t('Import posts'),
272
-      'team forums' => t('Import team forums'),
273
-      'team topics' => t('Import team topics'),
274
-      'team posts' => t('Import team posts'),
275
-      'url' => t('Transform URLs'),
264
+        'users' => t('Import users'),
265
+        'teams' => t('Import teams'),
266
+        'friends' => t('Import friendships'), 
267
+        'preferences' => t('Import user preferences'),
268
+        'private messages' => t('Import private messages'),
269
+        'categories' => t('Import forum containers'),
270
+        'topics' => t('Import topics'),
271
+        'posts' => t('Import posts'),
272
+        'team forums' => t('Import team forums'),
273
+        'team topics' => t('Import team topics'),
274
+        'team posts' => t('Import team posts'),
275
+        'url' => t('Transform URLs'),
276 276
     );
277 277
 
278 278
     $form['import'] = array(
279
-      '#type' => 'select',
280
-      '#title' => t('Next import to perform'),
281
-      '#default_value' => $_SESSION['boincimport_stage_selected'],
282
-      '#options' => $boincimport_functions,
279
+        '#type' => 'select',
280
+        '#title' => t('Next import to perform'),
281
+        '#default_value' => $_SESSION['boincimport_stage_selected'],
282
+        '#options' => $boincimport_functions,
283 283
     );
284 284
     $form[] = array(
285
-      '#type' => 'submit',
286
-      '#value' => t('Import'),
285
+        '#type' => 'submit',
286
+        '#value' => t('Import'),
287 287
     );
288
-  }
289
-  return $form;
288
+    }
289
+    return $form;
290 290
 }
291 291
 
292 292
 function boincimport_process_form_submit($form, $form_state) {
293 293
   
294
-  // Lock the import process
295
-  if (!variable_get('boincimport_process_locked', 0)) {
294
+    // Lock the import process
295
+    if (!variable_get('boincimport_process_locked', 0)) {
296 296
     variable_set('boincimport_process_locked', 1);
297
-  }
298
-  else {
297
+    }
298
+    else {
299 299
     watchdog('boincimport', 'The import process is locked, but another process
300 300
       is trying to access it...', array(), WATCHDOG_WARNING); 
301
-  }
301
+    }
302 302
   
303
-  switch ($form_state['values']['import']) {
303
+    switch ($form_state['values']['import']) {
304 304
     case 'users':
305 305
       boincimport_users();
306
-      break;
306
+        break;
307 307
 
308 308
     case 'teams':
309 309
       boincimport_teams();
310
-      if (!variable_get('boincimport_import_team_successful', 0)) {
310
+        if (!variable_get('boincimport_import_team_successful', 0)) {
311 311
         $_SESSION['boincimport_stage_selected'] = 'teams';
312
-      }
313
-      else {
312
+        }
313
+        else {
314 314
         $_SESSION['boincimport_stage_selected'] = 'friends';
315
-      }
316
-      break;
315
+        }
316
+        break;
317 317
 
318 318
     case 'friends':
319 319
       boincimport_friends();
320
-      if (!variable_get('boincimport_import_friend_successful', 0)) {
320
+        if (!variable_get('boincimport_import_friend_successful', 0)) {
321 321
         $_SESSION['boincimport_stage_selected'] = 'friends';
322
-      }
323
-      else {
322
+        }
323
+        else {
324 324
         $_SESSION['boincimport_stage_selected'] = 'preferences';
325
-      }
326
-      break;
325
+        }
326
+        break;
327 327
 
328 328
     case 'preferences':
329 329
       boincimport_preferences();
330
-      if (!variable_get('boincimport_import_preferences_successful', 0)) {
330
+        if (!variable_get('boincimport_import_preferences_successful', 0)) {
331 331
         $_SESSION['boincimport_stage_selected'] = 'preferences';
332
-      }
333
-      else {
332
+        }
333
+        else {
334 334
         $_SESSION['boincimport_stage_selected'] = 'private messages';
335
-      }
336
-      break;
335
+        }
336
+        break;
337 337
 
338 338
     case 'private messages':
339 339
       boincimport_private_msgs();
340
-      if (!variable_get('boincimport_import_private_msg_successful', 0)) {
340
+        if (!variable_get('boincimport_import_private_msg_successful', 0)) {
341 341
         $_SESSION['boincimport_stage_selected'] = 'private messages';
342
-      }
343
-      else {
342
+        }
343
+        else {
344 344
         $_SESSION['boincimport_stage_selected'] = 'categories';
345
-      }
346
-      break;
345
+        }
346
+        break;
347 347
 
348 348
     case 'categories':
349 349
       boincimport_forum_categories();
350
-      if (!variable_get('boincimport_import_category_successful', 0)) {
350
+        if (!variable_get('boincimport_import_category_successful', 0)) {
351 351
         $_SESSION['boincimport_stage_selected'] = 'categories';
352
-      }
353
-      else {
352
+        }
353
+        else {
354 354
         $_SESSION['boincimport_stage_selected'] = 'topics';
355
-      }
356
-      break;
355
+        }
356
+        break;
357 357
 
358 358
     case 'topics':      
359 359
       boincimport_forum_topics();
360
-      if (!variable_get('boincimport_import_topic_successful', 0)) {
360
+        if (!variable_get('boincimport_import_topic_successful', 0)) {
361 361
         $_SESSION['boincimport_stage_selected'] = 'topics';
362
-      }
363
-      else {
362
+        }
363
+        else {
364 364
         $_SESSION['boincimport_stage_selected'] = 'posts';
365
-      }
366
-      break;
365
+        }
366
+        break;
367 367
       
368 368
     case 'posts':
369 369
       boincimport_forum_posts();
370
-      if (!variable_get('boincimport_import_post_successful', 0)) {
370
+        if (!variable_get('boincimport_import_post_successful', 0)) {
371 371
         $_SESSION['boincimport_stage_selected'] = 'posts';
372
-      }
373
-      else {
372
+        }
373
+        else {
374 374
         $_SESSION['boincimport_stage_selected'] = 'url';
375
-      }
376
-      break;
375
+        }
376
+        break;
377 377
 
378 378
     case 'team forums':
379 379
       boincimport_team_forums();
380
-      if (!variable_get('boincimport_team_forum_successful', 0)) {
380
+        if (!variable_get('boincimport_team_forum_successful', 0)) {
381 381
         $_SESSION['boincimport_stage_selected'] = 'team forums';
382
-      }
383
-      else {
382
+        }
383
+        else {
384 384
         $_SESSION['boincimport_stage_selected'] = 'team topics';
385
-      }
386
-      break;
385
+        }
386
+        break;
387 387
 
388 388
     case 'team topics':      
389 389
       boincimport_team_forum_topics();
390
-      if (!variable_get('boincimport_team_topic_successful', 0)) {
390
+        if (!variable_get('boincimport_team_topic_successful', 0)) {
391 391
         $_SESSION['boincimport_stage_selected'] = 'team topics';
392
-      }
393
-      else {
392
+        }
393
+        else {
394 394
         $_SESSION['boincimport_stage_selected'] = 'team posts';
395
-      }
396
-      break;
395
+        }
396
+        break;
397 397
       
398 398
     case 'team posts':
399 399
       boincimport_team_forum_posts();
400
-      if (!variable_get('boincimport_team_post_successful', 0)) {
400
+        if (!variable_get('boincimport_team_post_successful', 0)) {
401 401
         $_SESSION['boincimport_stage_selected'] = 'team posts';
402
-      }
403
-      else {
402
+        }
403
+        else {
404 404
         $_SESSION['boincimport_stage_selected'] = 'url';
405
-      }
406
-      break;
405
+        }
406
+        break;
407 407
 
408 408
     case 'url':
409 409
       boincimport_replace_urls();
410
-      if (!variable_get('boincimport_replace_url_successful', 0)) {
410
+        if (!variable_get('boincimport_replace_url_successful', 0)) {
411 411
         $_SESSION['boincimport_stage_selected'] = 'url';
412
-      }
413
-      else {
412
+        }
413
+        else {
414 414
         drupal_set_message('Congratulations.  Import Finished');
415 415
         drupal_set_message('Please visit the '. l('Post migration configuration', 'admin/boinc/import/post_configuration') .' page');
416 416
         watchdog('boincimport', 'Import process is complete', array(), WATCHDOG_INFO); 
417 417
         unset($_SESSION['boincimport_stage_selected']);
418
-      }
419
-      break;
418
+        }
419
+        break;
420 420
     default:
421 421
       $_SESSION['boincimport_stage_selected'] = 'users';
422
-      break;
423
-  }
422
+        break;
423
+    }
424 424
 }
425 425
 
426 426
 function boincimport_complete($section) {
427
-  switch ($section) {
428
-  case 'users':
427
+    switch ($section) {
428
+    case 'users':
429 429
     // Set the user import successful flag in the variable table
430 430
     variable_set('boincimport_import_user_successful', '1');
431 431
     $_SESSION['boincimport_stage_selected'] = 'teams';
432 432
     break;
433
-  case 'teams':
433
+    case 'teams':
434 434
     
435 435
     break;
436 436
   
437
-  default:
437
+    default:
438 438
   }
439 439
   
440
-  // Release the lock on the import process
441
-  variable_del('boincimport_process_locked');
440
+    // Release the lock on the import process
441
+    variable_del('boincimport_process_locked');
442 442
   
443
-  drupal_goto('admin/boinc/import/process');
443
+    drupal_goto('admin/boinc/import/process');
444 444
 }
445 445
 
446 446
 
@@ -452,26 +452,26 @@  discard block
 block discarded – undo
452 452
  * Import users (at least those required for further data import)
453 453
  */
454 454
 function boincimport_users() {
455
-  // Check whether the user table has been successfully imported already
456
-  if (variable_get('boincimport_import_user_successful', 0)) {
455
+    // Check whether the user table has been successfully imported already
456
+    if (variable_get('boincimport_import_user_successful', 0)) {
457 457
     drupal_set_message(t('Note: user import has already run successfully'));
458 458
     watchdog(
459
-      'boincimport', 'Note: user import has already run successfully',
460
-      array(), WATCHDOG_INFO
459
+        'boincimport', 'Note: user import has already run successfully',
460
+        array(), WATCHDOG_INFO
461 461
     ); 
462
-  } 
462
+    } 
463 463
 
464
-  if (!variable_get('boincimport_import_user_started', 0)) {
464
+    if (!variable_get('boincimport_import_user_started', 0)) {
465 465
     // Could prepare database tables, if new fields are necessary, etc.
466 466
     variable_set('boincimport_import_user_started', 1);
467
-  }
467
+    }
468 468
 
469
-  $pre = variable_get('boincimport_table_prefix', '');
470
-  $import_lurkers = variable_get('boincimport_import_lurkers', 1);
469
+    $pre = variable_get('boincimport_table_prefix', '');
470
+    $import_lurkers = variable_get('boincimport_import_lurkers', 1);
471 471
 
472
-  // Determine which users need to be processed
473
-  db_set_active('boinc_rw');
474
-  if ($import_lurkers) {
472
+    // Determine which users need to be processed
473
+    db_set_active('boinc_rw');
474
+    if ($import_lurkers) {
475 475
     // Import all users, even those who have no community participation; other
476 476
     // users will be imported when they first try to log into the drupal site
477 477
     $boinc_accounts = db_query('
@@ -479,8 +479,8 @@  discard block
 block discarded – undo
479 479
       ORDER BY id ASC'
480 480
     );
481 481
     $user_count = mysqli_num_rows($boinc_accounts);
482
-  }
483
-  else {
482
+    }
483
+    else {
484 484
     // Need to import any user who is currently ignored in order to keep them
485 485
     // ignored... not particularly clean (ignored users are stored in a string)
486 486
     $ignored_user_list = array(0);
@@ -491,7 +491,7 @@  discard block
 block discarded – undo
491 491
       ORDER BY userid ASC"
492 492
     );
493 493
     while ($ignoring_user = db_fetch_object($ignoring_users)) {
494
-      $ignored_user_list = $ignored_user_list + array_fill_keys(explode('|', trim($ignoring_user->ignorelist, '|')), 1);
494
+        $ignored_user_list = $ignored_user_list + array_fill_keys(explode('|', trim($ignoring_user->ignorelist, '|')), 1);
495 495
     }
496 496
     $ignored_user_list = array_keys($ignored_user_list);
497 497
     // Get IDs for all users who will need to be imported now
@@ -507,86 +507,86 @@  discard block
 block discarded – undo
507 507
         (SELECT DISTINCT userid FROM {private_messages}) UNION
508 508
         (SELECT DISTINCT senderid FROM {private_messages})
509 509
       ) AS usersToImport",
510
-      implode(',', $ignored_user_list)
510
+        implode(',', $ignored_user_list)
511 511
     );
512 512
     $user_count = mysqli_num_rows($boinc_accounts);
513
-  }
514
-  db_set_active('default');
513
+    }
514
+    db_set_active('default');
515 515
   
516
-  if (!$user_count) {
516
+    if (!$user_count) {
517 517
     drupal_set_message(
518
-      t('There were no users found: Aborting script'), 'error'
518
+        t('There were no users found: Aborting script'), 'error'
519 519
     );
520 520
     watchdog('boincimport',
521
-      'There were no users found: Aborting script', array(), WATCHDOG_INFO
521
+        'There were no users found: Aborting script', array(), WATCHDOG_INFO
522 522
     );
523 523
     // Release the lock on the import process
524 524
     variable_del('boincimport_process_locked');
525 525
     return t('There were no users found: Aborting script.');
526
-  }
526
+    }
527 527
 
528
-  watchdog('boincimport',
528
+    watchdog('boincimport',
529 529
     'Found %user_count users: Beginning import',
530 530
     array('%user_count' => $user_count), WATCHDOG_INFO
531
-  ); 
532
-  
533
-  // User import relies on Drupal and BOINC APIs to manage data being read
534
-  // from one database and saved to the other. This approach keeps things
535
-  // clean and simple, but since a sizable user base will wreak havoc on system
536
-  // resources, the job is broken into batches here and each batch is processed
537
-  // by a separate process. 
538
-  
539
-  //$batch_size = variable_get('boincimport_user_batch_size', 50);
540
-  //$batch_count = $user_count - ($user_count % $batch_size) + $batch_size;
541
-  $operations = array();
542
-  $existing_users = array();
543
-  $duplicates = array();
544
-  
545
-  // Get the list of users already in Drupal to be sure we're not importing
546
-  // any twice
547
-  $result = db_query('
531
+    ); 
532
+  
533
+    // User import relies on Drupal and BOINC APIs to manage data being read
534
+    // from one database and saved to the other. This approach keeps things
535
+    // clean and simple, but since a sizable user base will wreak havoc on system
536
+    // resources, the job is broken into batches here and each batch is processed
537
+    // by a separate process. 
538
+  
539
+    //$batch_size = variable_get('boincimport_user_batch_size', 50);
540
+    //$batch_count = $user_count - ($user_count % $batch_size) + $batch_size;
541
+    $operations = array();
542
+    $existing_users = array();
543
+    $duplicates = array();
544
+  
545
+    // Get the list of users already in Drupal to be sure we're not importing
546
+    // any twice
547
+    $result = db_query('
548 548
     SELECT uid, boinc_id FROM {boincuser}'
549
-  );
550
-  while ($row = db_fetch_object($result)) {
549
+    );
550
+    while ($row = db_fetch_object($result)) {
551 551
     $existing_users[$row->boinc_id] = $row->uid;
552
-  }
552
+    }
553 553
   
554
-  // Create batches to process
555
-  while ($boinc_account = db_fetch_object($boinc_accounts)) {
556
-     if (isset($existing_users[$boinc_account->id])) {
557
-      // This user has already been imported
558
-      $duplicates[] = $boinc_account->id;
554
+    // Create batches to process
555
+    while ($boinc_account = db_fetch_object($boinc_accounts)) {
556
+        if (isset($existing_users[$boinc_account->id])) {
557
+        // This user has already been imported
558
+        $duplicates[] = $boinc_account->id;
559 559
     }
560 560
     else {
561
-      $operations[] = array(
561
+        $operations[] = array(
562 562
         'boincimport_users_op', array(
563
-          $boinc_account->id
563
+            $boinc_account->id
564 564
         )
565
-      );
565
+        );
566
+    }
566 567
     }
567
-  }
568 568
   
569
-  if ($duplicates) {
569
+    if ($duplicates) {
570 570
     drupal_set_message(t(
571
-      'Skipped @count accounts that were already imported',
572
-      array('@count' => count($duplicates))
571
+        'Skipped @count accounts that were already imported',
572
+        array('@count' => count($duplicates))
573 573
     ));
574 574
     watchdog('boincimport',
575
-      'Skipped @count accounts that were already imported',
576
-      array('@count' => count($duplicates)), WATCHDOG_INFO
575
+        'Skipped @count accounts that were already imported',
576
+        array('@count' => count($duplicates)), WATCHDOG_INFO
577 577
     ); 
578
-  }
578
+    }
579 579
   
580
-  $batch = array(
580
+    $batch = array(
581 581
     'operations' => $operations,
582 582
     'finished' => 'boincimport_users_finished',
583 583
     'title' => t('Importing users'),
584 584
     'init_message' => t('Beginning user import...'),
585 585
     'progress_message' => t('Processed @current out of @total users.'),
586 586
     'error_message' => t('User import has encountered an error.'),
587
-  );
587
+    );
588 588
   
589
-  batch_set($batch);
589
+    batch_set($batch);
590 590
 }
591 591
 
592 592
 /**
@@ -594,81 +594,81 @@  discard block
 block discarded – undo
594 594
  */
595 595
 function boincimport_users_op($boinc_id, &$context) {
596 596
   
597
-  // Use the $context['sandbox'] to store information needed to track progress
598
-  // between successive calls.
599
-  if (!isset($context['sandbox']['progress'])) {
597
+    // Use the $context['sandbox'] to store information needed to track progress
598
+    // between successive calls.
599
+    if (!isset($context['sandbox']['progress'])) {
600 600
     $context['sandbox']['progress'] = 0;
601 601
     $context['sandbox']['current_user'] = 0;
602 602
     $context['sandbox']['max'] = 1;
603
-  }
603
+    }
604 604
 
605
-  // Note about batch size: When a batch is processed, the batch update engine
606
-  // determines whether it should continue processing in the same request or
607
-  // provide progress feedback to the user and wait for the next request.
605
+    // Note about batch size: When a batch is processed, the batch update engine
606
+    // determines whether it should continue processing in the same request or
607
+    // provide progress feedback to the user and wait for the next request.
608 608
   
609
-  // Grab the BOINC user object and create a Drupal user from it
610
-  $account = boincuser_register_make_drupal_user($boinc_id);
611
-  $message = '';
612
-  if ($account) {
609
+    // Grab the BOINC user object and create a Drupal user from it
610
+    $account = boincuser_register_make_drupal_user($boinc_id);
611
+    $message = '';
612
+    if ($account) {
613 613
     // Store some result for post-processing in the finished callback.
614 614
     $context['results']['success'][] = $boinc_id;
615 615
     $message = "Successfully imported user {$boinc_id}";
616
-  }
617
-  else {
616
+    }
617
+    else {
618 618
     $context['results']['failure'][] = $boinc_id;
619 619
     $message = "Failed to import user {$boinc_id}!";
620 620
     watchdog('boincimport',
621
-      'Failed to import user @id!',
622
-      array('@id' => $boinc_id), WATCHDOG_WARNING
621
+        'Failed to import user @id!',
622
+        array('@id' => $boinc_id), WATCHDOG_WARNING
623 623
     ); 
624
-  }
624
+    }
625 625
   
626
-  // Update our progress information.
627
-  $context['sandbox']['progress']++;
628
-  $context['sandbox']['current_user'] = $boinc_id;
629
-  $context['message'] = $message;
626
+    // Update our progress information.
627
+    $context['sandbox']['progress']++;
628
+    $context['sandbox']['current_user'] = $boinc_id;
629
+    $context['message'] = $message;
630 630
 
631
-  // Update the progress for the batch engine
632
-  if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
631
+    // Update the progress for the batch engine
632
+    if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
633 633
     $context['finished'] = 1;
634
-  }
635
-  else {
634
+    }
635
+    else {
636 636
     $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
637
-  }
637
+    }
638 638
 }
639 639
 
640 640
 /**
641 641
  * Batch 'finished' callback
642 642
  */
643 643
 function boincimport_users_finished($success, $results, $operations) {
644
-  if ($success) {
644
+    if ($success) {
645 645
     // Let's count our successes
646 646
     $total_imported = count($results['success']);
647 647
     $total_failures = count($results['failure']);
648 648
     $message = t(
649
-      'Successfully imported @count users (@fail_count failures)',
650
-      array('@count' => $total_imported, '@fail_count' => $total_failures)
649
+        'Successfully imported @count users (@fail_count failures)',
650
+        array('@count' => $total_imported, '@fail_count' => $total_failures)
651 651
     );
652 652
     watchdog('boincimport',
653
-      'Successfully imported @count users (@fail_count failures).',
654
-      array('@count' => $total_imported, '@fail_count' => $total_failures),
655
-      WATCHDOG_INFO
653
+        'Successfully imported @count users (@fail_count failures).',
654
+        array('@count' => $total_imported, '@fail_count' => $total_failures),
655
+        WATCHDOG_INFO
656 656
     ); 
657 657
     // Set the user import successful flag in the variable table
658 658
     variable_set('boincimport_import_user_successful', '1');
659 659
     $_SESSION['boincimport_stage_selected'] = 'teams';
660
-  }
661
-  else {
660
+    }
661
+    else {
662 662
     // An error occurred.
663 663
     // $operations contains the operations that remained unprocessed.
664 664
     $error_operation = reset($operations);
665 665
     $message = 'An error occurred while processing ' . $error_operation[0] . ' with arguments :' . print_r($error_operation[0], TRUE);
666
-  }
667
-  drupal_set_message($message);
666
+    }
667
+    drupal_set_message($message);
668 668
   
669
-  // Release the lock on the import process
670
-  variable_del('boincimport_process_locked');
671
-  drupal_goto('admin/boinc/import/process');
669
+    // Release the lock on the import process
670
+    variable_del('boincimport_process_locked');
671
+    drupal_goto('admin/boinc/import/process');
672 672
 }
673 673
 
674 674
 
@@ -681,23 +681,23 @@  discard block
 block discarded – undo
681 681
  */
682 682
 function boincimport_teams() {
683 683
   
684
-  // Check whether the team table has been successfully imported already
685
-  if (variable_get('boincimport_import_team_successful', 0)) {
684
+    // Check whether the team table has been successfully imported already
685
+    if (variable_get('boincimport_import_team_successful', 0)) {
686 686
     drupal_set_message(t('Note: team import has already run successfully'));
687 687
     watchdog(
688
-      'boincimport', 'Note: team import has already run successfully',
689
-      array(), WATCHDOG_INFO
688
+        'boincimport', 'Note: team import has already run successfully',
689
+        array(), WATCHDOG_INFO
690 690
     ); 
691
-  }
691
+    }
692 692
 
693
-  if (!variable_get('boincimport_import_team_started', 0)) {
693
+    if (!variable_get('boincimport_import_team_started', 0)) {
694 694
     // Could prepare database tables, if new fields are necessary, etc.
695 695
     variable_set('boincimport_import_team_started', 1);
696
-  }
696
+    }
697 697
   
698
-  // Initialize the map of BOINC team types to taxonomy IDs, if needed
699
-  $team_type_map = variable_get('boincimport_team_types', array());
700
-  if (!$team_type_map) {
698
+    // Initialize the map of BOINC team types to taxonomy IDs, if needed
699
+    $team_type_map = variable_get('boincimport_team_types', array());
700
+    if (!$team_type_map) {
701 701
     // Import team types from BOINC to a Drupal vocabulary
702 702
     require_boinc('team_types');
703 703
     global $team_types;
@@ -705,112 +705,112 @@  discard block
 block discarded – undo
705 705
     // Create vocabulary if it isn't set
706 706
     $team_vid = db_result(db_query('SELECT vid FROM {vocabulary} WHERE name="%s"', 'Teams'));
707 707
     if (!$team_vid) {
708
-      $team_vocab = array(
708
+        $team_vocab = array(
709 709
         'name' => t('Teams'),
710 710
         'description' => t('Types of BOINC teams'),
711
-      );
712
-      taxonomy_save_vocabulary($team_vocab);
713
-      $team_vid = db_result(db_query('SELECT vid FROM {vocabulary} WHERE name="%s"', 'Teams'));
711
+        );
712
+        taxonomy_save_vocabulary($team_vocab);
713
+        $team_vid = db_result(db_query('SELECT vid FROM {vocabulary} WHERE name="%s"', 'Teams'));
714 714
     }
715 715
     
716 716
     foreach ($team_types as $boinc_type_id => $name) {
717
-      // Check for an existing term in the vocabulary
718
-      $team_type_id = db_result(db_query("SELECT tid FROM {term_data} WHERE vid = '{$team_vid}' AND LOWER(name) = LOWER('%s')", trim($name)));
719
-      if ($team_type_id) {
717
+        // Check for an existing term in the vocabulary
718
+        $team_type_id = db_result(db_query("SELECT tid FROM {term_data} WHERE vid = '{$team_vid}' AND LOWER(name) = LOWER('%s')", trim($name)));
719
+        if ($team_type_id) {
720 720
         $team_type = array(
721
-          'tid' => $team_type_id
721
+            'tid' => $team_type_id
722 722
         );
723
-      }
724
-      else {
723
+        }
724
+        else {
725 725
         if (!$name) continue;
726 726
         $team_type = array(
727
-          'name' => strip_tags($name),
728
-          'vid' => $team_vid,
729
-          'description' => '',
730
-          'parent' => 0
727
+            'name' => strip_tags($name),
728
+            'vid' => $team_vid,
729
+            'description' => '',
730
+            'parent' => 0
731 731
         );
732 732
         taxonomy_save_term($team_type);
733
-      }
734
-      // Note the taxonomy ID for mapping forums to categories
735
-      $team_type_map[$boinc_type_id] = $team_type['tid'];
733
+        }
734
+        // Note the taxonomy ID for mapping forums to categories
735
+        $team_type_map[$boinc_type_id] = $team_type['tid'];
736 736
     }
737 737
     variable_set('boincimport_team_types', $team_type_map);
738
-  }
738
+    }
739 739
   
740
-  $pre = variable_get('boincimport_table_prefix', '');
740
+    $pre = variable_get('boincimport_table_prefix', '');
741 741
 
742
-  // Get the list of teams to import
743
-  db_set_active('boinc_rw');
744
-  $boinc_teams = db_query('
742
+    // Get the list of teams to import
743
+    db_set_active('boinc_rw');
744
+    $boinc_teams = db_query('
745 745
     SELECT id, name, description, userid, create_time
746 746
     FROM %steam',
747 747
     $pre
748
-  );
749
-  $team_count = mysqli_num_rows($boinc_teams);
750
-  db_set_active('default');
748
+    );
749
+    $team_count = mysqli_num_rows($boinc_teams);
750
+    db_set_active('default');
751 751
 
752
-  if (!$team_count) {
752
+    if (!$team_count) {
753 753
     drupal_set_message(
754
-      t('There were no teams found: Aborting script'), 'error'
754
+        t('There were no teams found: Aborting script'), 'error'
755 755
     );
756 756
     watchdog('boincimport',
757
-      'There were no teams found: Aborting script', array(), WATCHDOG_INFO
757
+        'There were no teams found: Aborting script', array(), WATCHDOG_INFO
758 758
     );
759 759
     // Release the lock on the import process
760 760
     variable_del('boincimport_process_locked');
761 761
     return t('There were no teams found: Aborting script.');
762
-  }
762
+    }
763 763
 
764
-  watchdog('boincimport',
764
+    watchdog('boincimport',
765 765
     'Found %team_count teams: Beginning Import',
766 766
     array('%team_count' => $team_count), WATCHDOG_INFO
767
-  );
767
+    );
768 768
   
769
-  $operations = array();
770
-  $existing_teams = array();
771
-  $duplicates = array();
769
+    $operations = array();
770
+    $existing_teams = array();
771
+    $duplicates = array();
772 772
   
773
-  // Get the list of teams already in Drupal to be sure we're not importing
774
-  // any twice
775
-  $result = db_query('
773
+    // Get the list of teams already in Drupal to be sure we're not importing
774
+    // any twice
775
+    $result = db_query('
776 776
     SELECT nid, team_id FROM {boincteam}'
777
-  );
778
-  while ($row = db_fetch_object($result)) {
777
+    );
778
+    while ($row = db_fetch_object($result)) {
779 779
     $existing_teams[$row->team_id] = $row->nid;
780
-  }
780
+    }
781 781
   
782
-  // Create batches to process
783
-  while ($boinc_team = db_fetch_object($boinc_teams)) {
784
-     if (isset($existing_teams[$boinc_team->id])) {
785
-      // This team has already been imported
786
-      $duplicates[] = $boinc_team->id;
782
+    // Create batches to process
783
+    while ($boinc_team = db_fetch_object($boinc_teams)) {
784
+        if (isset($existing_teams[$boinc_team->id])) {
785
+        // This team has already been imported
786
+        $duplicates[] = $boinc_team->id;
787 787
     }
788 788
     else {
789
-      $operations[] = array(
789
+        $operations[] = array(
790 790
         'boincimport_teams_op', array(
791
-          $boinc_team
791
+            $boinc_team
792 792
         )
793
-      );
793
+        );
794
+    }
794 795
     }
795
-  }
796 796
   
797
-  if ($duplicates) {
797
+    if ($duplicates) {
798 798
     drupal_set_message(t(
799
-      'Skipped @count teams that were already imported',
800
-      array('@count' => count($duplicates))
799
+        'Skipped @count teams that were already imported',
800
+        array('@count' => count($duplicates))
801 801
     ));
802
-  }
802
+    }
803 803
   
804
-  $batch = array(
804
+    $batch = array(
805 805
     'operations' => $operations,
806 806
     'finished' => 'boincimport_teams_finished',
807 807
     'title' => t('Importing teams'),
808 808
     'init_message' => t('Beginning team import...'),
809 809
     'progress_message' => t('Processed @current out of @total teams.'),
810 810
     'error_message' => t('Team import has encountered an error.'),
811
-  );
811
+    );
812 812
   
813
-  batch_set($batch);
813
+    batch_set($batch);
814 814
 }
815 815
 
816 816
 /**
@@ -819,67 +819,67 @@  discard block
 block discarded – undo
819 819
  */
820 820
 function boincimport_teams_op($boincteam, &$context) {
821 821
   
822
-  $success = boincteam_import($boincteam);
822
+    $success = boincteam_import($boincteam);
823 823
   
824
-  $message = '';
825
-  if ($success) {
824
+    $message = '';
825
+    if ($success) {
826 826
     // Store some result for post-processing in the finished callback.
827 827
     $context['results']['success'][] = $boincteam->id;
828 828
     $message = "Successfully imported team {$boincteam->id}";
829
-  }
830
-  else {
829
+    }
830
+    else {
831 831
     $context['results']['failure'][] = $boincteam->id;
832 832
     $message = "Failed to import team {$boincteam->id}!";
833 833
     watchdog('boincimport',
834
-      'Failed to import team @id!',
835
-      array('@id' => $boincteam->id), WATCHDOG_WARNING
834
+        'Failed to import team @id!',
835
+        array('@id' => $boincteam->id), WATCHDOG_WARNING
836 836
     ); 
837
-  }
837
+    }
838 838
   
839
-  // Update our progress information.
840
-  $context['sandbox']['progress']++;
841
-  $context['sandbox']['current_team'] = $boincteam->id;
842
-  $context['message'] = $message;
839
+    // Update our progress information.
840
+    $context['sandbox']['progress']++;
841
+    $context['sandbox']['current_team'] = $boincteam->id;
842
+    $context['message'] = $message;
843 843
 
844
-  // Update the progress for the batch engine
845
-  if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
844
+    // Update the progress for the batch engine
845
+    if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
846 846
     $context['finished'] = 1;
847
-  }
848
-  else {
847
+    }
848
+    else {
849 849
     $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
850
-  }
850
+    }
851 851
 }
852 852
 
853 853
 /**
854 854
  * Batch 'finished' callback
855 855
  */
856 856
 function boincimport_teams_finished($success, $results, $operations) {
857
-  if ($success) {
857
+    if ($success) {
858 858
     // Let's count our successes
859 859
     $total_imported = count($results['success']);
860 860
     $message = t(
861
-      'Successfully imported @count teams',
862
-      array('@count' => $total_imported)
861
+        'Successfully imported @count teams',
862
+        array('@count' => $total_imported)
863 863
     );
864 864
     watchdog('boincimport',
865
-      'Successfully imported @count teams.',
866
-      array('@count' => $total_imported), WATCHDOG_INFO
865
+        'Successfully imported @count teams.',
866
+        array('@count' => $total_imported), WATCHDOG_INFO
867 867
     ); 
868 868
     // Set the team import successful flag in the variable table
869 869
     variable_set('boincimport_import_team_successful', '1');
870 870
     $_SESSION['boincimport_stage_selected'] = 'friends';
871
-  }
872
-  else {
871
+    }
872
+    else {
873 873
     // An error occurred.
874 874
     // $operations contains the operations that remained unprocessed.
875 875
     $error_operation = reset($operations);
876 876
     $message = 'An error occurred while processing ' . $error_operation[0] . ' with arguments :' . print_r($error_operation[0], TRUE);
877
-  }
878
-  drupal_set_message($message);
877
+    }
878
+    drupal_set_message($message);
879 879
   
880
-  // Release the lock on the import process
881
-  variable_del('boincimport_process_locked');
882
-  drupal_goto('admin/boinc/import/process');
880
+    // Release the lock on the import process
881
+    variable_del('boincimport_process_locked');
882
+    drupal_goto('admin/boinc/import/process');
883 883
 }
884 884
 
885 885
 
@@ -892,25 +892,25 @@  discard block
 block discarded – undo
892 892
  */
893 893
 function boincimport_friends() {
894 894
   
895
-  // Check whether friendships have been successfully imported already
896
-  if (variable_get('boincimport_import_friend_successful', 0)) {
895
+    // Check whether friendships have been successfully imported already
896
+    if (variable_get('boincimport_import_friend_successful', 0)) {
897 897
     drupal_set_message(t('Note: Friends import has already run successfully'));
898 898
     watchdog(
899
-      'boincimport', 'Note: Friends import has already run successfully',
900
-      array(), WATCHDOG_INFO
899
+        'boincimport', 'Note: Friends import has already run successfully',
900
+        array(), WATCHDOG_INFO
901 901
     ); 
902
-  }
902
+    }
903 903
 
904
-  if (!variable_get('boincimport_import_friend_started', 0)) {
904
+    if (!variable_get('boincimport_import_friend_started', 0)) {
905 905
     // Could prepare database tables, if new fields are necessary, etc.
906 906
     variable_set('boincimport_import_friend_started', 1);
907
-  }
907
+    }
908 908
   
909
-  $pre = variable_get('boincimport_table_prefix', '');
909
+    $pre = variable_get('boincimport_table_prefix', '');
910 910
 
911
-  // Get stuff to import
912
-  db_set_active('boinc_rw');
913
-  $friendships = db_query('
911
+    // Get stuff to import
912
+    db_set_active('boinc_rw');
913
+    $friendships = db_query('
914 914
     SELECT
915 915
       f1.user_src,
916 916
       f1.user_dest,
@@ -924,51 +924,51 @@  discard block
 block discarded – undo
924 924
       AND (f2.user_src IS NULL OR f1.create_time < f2.create_time)
925 925
     ORDER BY create_time',
926 926
     $pre, $pre
927
-  );
928
-  $friendship_count = mysqli_num_rows($friendships);
929
-  db_set_active('default');
927
+    );
928
+    $friendship_count = mysqli_num_rows($friendships);
929
+    db_set_active('default');
930 930
 
931
-  if (!$friendship_count) {
931
+    if (!$friendship_count) {
932 932
     drupal_set_message(
933
-      t('There were no friendships found: Aborting script'), 'error'
933
+        t('There were no friendships found: Aborting script'), 'error'
934 934
     );
935 935
     watchdog('boincimport',
936
-      'There were no friendships found: Aborting script', array(), WATCHDOG_INFO
936
+        'There were no friendships found: Aborting script', array(), WATCHDOG_INFO
937 937
     );
938 938
     // Release the lock on the import process
939 939
     variable_del('boincimport_process_locked');
940 940
     return t('There were no friendships found: Aborting script.');
941
-  }
941
+    }
942 942
 
943
-  watchdog('boincimport',
943
+    watchdog('boincimport',
944 944
     'Found %count friend relationships: Beginning Import',
945 945
     array('%count' => $friendship_count), WATCHDOG_INFO
946
-  );
946
+    );
947 947
   
948
-  $operations = array();
948
+    $operations = array();
949 949
   
950
-  // It doesn't matter if a friend relationship has already been imported, just
951
-  // do it again if so
950
+    // It doesn't matter if a friend relationship has already been imported, just
951
+    // do it again if so
952 952
   
953
-  // Create batches to process
954
-  while ($friendship = db_fetch_object($friendships)) {
953
+    // Create batches to process
954
+    while ($friendship = db_fetch_object($friendships)) {
955 955
     $operations[] = array(
956
-      'boincimport_friends_op', array(
956
+        'boincimport_friends_op', array(
957 957
         $friendship
958
-      )
958
+        )
959 959
     );
960
-  }
960
+    }
961 961
   
962
-  $batch = array(
962
+    $batch = array(
963 963
     'operations' => $operations,
964 964
     'finished' => 'boincimport_friends_finished',
965 965
     'title' => t('Importing friend relationships'),
966 966
     'init_message' => t('Beginning friend import...'),
967 967
     'progress_message' => t('Processed @current out of @total friendships.'),
968 968
     'error_message' => t('Friend import has encountered an error.'),
969
-  );
969
+    );
970 970
   
971
-  batch_set($batch);
971
+    batch_set($batch);
972 972
 }
973 973
 
974 974
 /**
@@ -977,83 +977,83 @@  discard block
 block discarded – undo
977 977
  */
978 978
 function boincimport_friends_op($friendship, &$context) {
979 979
   
980
-  $input_format = variable_get('boincimport_input_format', 0);
981
-  $success = FALSE;
982
-  $message = '';
980
+    $input_format = variable_get('boincimport_input_format', 0);
981
+    $success = FALSE;
982
+    $message = '';
983 983
   
984
-  // Convert BOINC friends to Drupal friends
985
-  $uid = boincuser_lookup_uid($friendship->user_src);
986
-  $friend_uid = boincuser_lookup_uid($friendship->user_dest);
987
-  if ($uid AND $friend_uid) {
984
+    // Convert BOINC friends to Drupal friends
985
+    $uid = boincuser_lookup_uid($friendship->user_src);
986
+    $friend_uid = boincuser_lookup_uid($friendship->user_dest);
987
+    if ($uid AND $friend_uid) {
988 988
     $success = db_query("
989 989
       INSERT IGNORE INTO {flag_friend}
990 990
       SET uid = '%d', friend_uid = '%d', created = '%d'",
991
-      $uid, $friend_uid, $friendship->create_time
991
+        $uid, $friend_uid, $friendship->create_time
992 992
     );
993
-  }
994
-  else {
993
+    }
994
+    else {
995 995
     $boinc_id = ($uid) ? $friendship->user_dest : $friendship->user_src;
996 996
     $message = "No Drupal account exists for BOINC user {$boinc_id}!";
997
-  }
997
+    }
998 998
   
999
-  if ($success) {
999
+    if ($success) {
1000 1000
     // Store some result for post-processing in the finished callback.
1001 1001
     $context['results']['success'][] = $uid;
1002 1002
     $message = "Successfully made users {$uid} and {$friend_uid} friends";
1003
-  }
1004
-  else {
1003
+    }
1004
+    else {
1005 1005
     $context['results']['failure'][] = $uid;
1006 1006
     if (!$message) {
1007
-      $message = "Failed to make users {$uid} and {$friend_uid} friends!";
1007
+        $message = "Failed to make users {$uid} and {$friend_uid} friends!";
1008 1008
     }
1009 1009
     watchdog('boincimport', $message, array(), WATCHDOG_WARNING);
1010
-  }
1010
+    }
1011 1011
   
1012
-  // Update our progress information.
1013
-  $context['sandbox']['progress']++;
1014
-  $context['sandbox']['current_user'] = $uid;
1015
-  $context['message'] = $message;
1012
+    // Update our progress information.
1013
+    $context['sandbox']['progress']++;
1014
+    $context['sandbox']['current_user'] = $uid;
1015
+    $context['message'] = $message;
1016 1016
 
1017
-  // Update the progress for the batch engine
1018
-  if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
1017
+    // Update the progress for the batch engine
1018
+    if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
1019 1019
     $context['finished'] = 1;
1020
-  }
1021
-  else {
1020
+    }
1021
+    else {
1022 1022
     $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
1023
-  }
1023
+    }
1024 1024
 }
1025 1025
 
1026 1026
 /**
1027 1027
  * Batch 'finished' callback
1028 1028
  */
1029 1029
 function boincimport_friends_finished($success, $results, $operations) {
1030
-  if ($success) {
1030
+    if ($success) {
1031 1031
     // Let's count our successes
1032 1032
     $total_imported = count($results['success']);
1033 1033
     $failures = count($results['failure']);
1034 1034
     $message = t(
1035
-      'Successfully imported @count friendships (@failed failures)',
1036
-      array(
1035
+        'Successfully imported @count friendships (@failed failures)',
1036
+        array(
1037 1037
         '@count' => $total_imported,
1038 1038
         '@failed' => $failures,
1039
-      )
1039
+        )
1040 1040
     );
1041 1041
     watchdog('boincimport', $message, array(), WATCHDOG_INFO); 
1042 1042
     // Set the friend import successful flag in the variable table
1043 1043
     variable_set('boincimport_import_friend_successful', '1');
1044 1044
     $_SESSION['boincimport_stage_selected'] = 'preferences';
1045
-  }
1046
-  else {
1045
+    }
1046
+    else {
1047 1047
     // An error occurred.
1048 1048
     // $operations contains the operations that remained unprocessed.
1049 1049
     $error_operation = reset($operations);
1050 1050
     $message = 'An error occurred while processing ' . $error_operation[0] . ' with arguments :' . print_r($error_operation[0], TRUE);
1051
-  }
1052
-  drupal_set_message($message);
1051
+    }
1052
+    drupal_set_message($message);
1053 1053
   
1054
-  // Release the lock on the import process
1055
-  variable_del('boincimport_process_locked');
1056
-  drupal_goto('admin/boinc/import/process');
1054
+    // Release the lock on the import process
1055
+    variable_del('boincimport_process_locked');
1056
+    drupal_goto('admin/boinc/import/process');
1057 1057
 }
1058 1058
 
1059 1059
 
@@ -1066,78 +1066,78 @@  discard block
 block discarded – undo
1066 1066
  */
1067 1067
 function boincimport_preferences() {
1068 1068
   
1069
-  // Check whether preferences have been successfully imported already
1070
-  if (variable_get('boincimport_import_preferences_successful', 0)) {
1069
+    // Check whether preferences have been successfully imported already
1070
+    if (variable_get('boincimport_import_preferences_successful', 0)) {
1071 1071
     drupal_set_message(t('Note: preferences import has already run successfully'));
1072 1072
     watchdog(
1073
-      'boincimport', 'Note: preferences import has already run successfully',
1074
-      array(), WATCHDOG_INFO
1073
+        'boincimport', 'Note: preferences import has already run successfully',
1074
+        array(), WATCHDOG_INFO
1075 1075
     ); 
1076
-  }
1076
+    }
1077 1077
 
1078
-  if (!variable_get('boincimport_import_preferences_started', 0)) {
1078
+    if (!variable_get('boincimport_import_preferences_started', 0)) {
1079 1079
     // Could prepare database tables, if new fields are necessary, etc.
1080 1080
     variable_set('boincimport_import_preferences_started', 1);
1081
-  }
1081
+    }
1082 1082
   
1083
-  $pre = variable_get('boincimport_table_prefix', '');
1083
+    $pre = variable_get('boincimport_table_prefix', '');
1084 1084
   
1085
-  // Currently the only preferences being imported are BOINC "filtered users"
1086
-  // This concept of users blocking other users when they don't get along maps
1087
-  // to the Drupal ignore users module
1085
+    // Currently the only preferences being imported are BOINC "filtered users"
1086
+    // This concept of users blocking other users when they don't get along maps
1087
+    // to the Drupal ignore users module
1088 1088
   
1089
-  // Find users who are involved in quarrels
1090
-  db_set_active('boinc_rw');
1091
-  $quarrelers = db_query("
1089
+    // Find users who are involved in quarrels
1090
+    db_set_active('boinc_rw');
1091
+    $quarrelers = db_query("
1092 1092
     SELECT userid, ignorelist
1093 1093
     FROM %sforum_preferences
1094 1094
     WHERE ignorelist <> ''",
1095 1095
     $pre
1096
-  );
1097
-  $quarreler_count = mysqli_num_rows($quarrelers);
1098
-  db_set_active('default');
1096
+    );
1097
+    $quarreler_count = mysqli_num_rows($quarrelers);
1098
+    db_set_active('default');
1099 1099
 
1100
-  if (!$quarreler_count) {
1100
+    if (!$quarreler_count) {
1101 1101
     drupal_set_message(
1102
-      t('There were no quarrels found: Moving on...')
1102
+        t('There were no quarrels found: Moving on...')
1103 1103
     );
1104 1104
     watchdog('boincimport',
1105
-      'There were no quarrels found: Moving on...', array(), WATCHDOG_INFO
1105
+        'There were no quarrels found: Moving on...', array(), WATCHDOG_INFO
1106 1106
     );
1107 1107
     // Release the lock on the import process
1108 1108
     variable_del('boincimport_process_locked');
1109 1109
     return t('There were no quarrels found: Moving on...');
1110
-  }
1110
+    }
1111 1111
 
1112
-  watchdog('boincimport',
1112
+    watchdog('boincimport',
1113 1113
     'Found %count quarreling users: Beginning Import',
1114 1114
     array('%count' => $quarreler_count), WATCHDOG_INFO
1115
-  );
1115
+    );
1116 1116
   
1117
-  $operations = array();
1117
+    $operations = array();
1118 1118
   
1119
-  // It doesn't matter if a filtered user preference has already been imported,
1120
-  // just do it again if so
1119
+    // It doesn't matter if a filtered user preference has already been imported,
1120
+    // just do it again if so
1121 1121
   
1122
-  // Create batches to process
1123
-  while ($quarreler = db_fetch_object($quarrelers)) {
1122
+    // Create batches to process
1123
+    while ($quarreler = db_fetch_object($quarrelers)) {
1124 1124
     $operations[] = array(
1125
-      'boincimport_quarrels_op', array(
1125
+        'boincimport_quarrels_op', array(
1126 1126
         $quarreler
1127
-      )
1127
+        )
1128 1128
     );
1129
-  }
1129
+    }
1130 1130
   
1131
-  $batch = array(
1131
+    $batch = array(
1132 1132
     'operations' => $operations,
1133 1133
     'finished' => 'boincimport_preferences_finished',
1134 1134
     'title' => t('Importing preferences'),
1135 1135
     'init_message' => t('Beginning preference import...'),
1136 1136
     'progress_message' => t('Processed @current out of @total preferences.'),
1137 1137
     'error_message' => t('Preference import has encountered an error.'),
1138
-  );
1138
+    );
1139 1139
   
1140
-  batch_set($batch);
1140
+    batch_set($batch);
1141 1141
 }
1142 1142
 
1143 1143
 /**
@@ -1146,99 +1146,99 @@  discard block
 block discarded – undo
1146 1146
  */
1147 1147
 function boincimport_quarrels_op($boinc_user, &$context) {
1148 1148
   
1149
-  $success = FALSE;
1150
-  $uid = boincuser_lookup_uid($boinc_user->userid);
1151
-  $ignored_users = explode('|', trim($boinc_user->ignorelist, '|'));
1152
-  foreach ($ignored_users as $ignored_user) {
1149
+    $success = FALSE;
1150
+    $uid = boincuser_lookup_uid($boinc_user->userid);
1151
+    $ignored_users = explode('|', trim($boinc_user->ignorelist, '|'));
1152
+    foreach ($ignored_users as $ignored_user) {
1153 1153
     $ignored_user_uid = boincuser_lookup_uid($ignored_user);
1154 1154
     if (!$ignored_user_uid) {
1155
-      $context['results']['warning'][] = "{$uid}:{$ignored_user_uid}";
1156
-      watchdog('boincimport',
1155
+        $context['results']['warning'][] = "{$uid}:{$ignored_user_uid}";
1156
+        watchdog('boincimport',
1157 1157
         'Error adding to ignore list of user @uid: No Drupal ID found for BOINC user @boinc_id',
1158 1158
         array('@boinc_id' => $ignored_user, '@uid' => $uid),
1159 1159
         WATCHDOG_WARNING
1160
-      );
1161
-      continue;
1160
+        );
1161
+        continue;
1162 1162
     }
1163 1163
     $user_ignored = db_query("
1164 1164
       INSERT IGNORE INTO {ignore_user}
1165 1165
       SET uid = '%d', iuid = '%d'",
1166
-      $uid, $ignored_user_uid
1166
+        $uid, $ignored_user_uid
1167 1167
     );
1168 1168
     if ($user_ignored) {
1169
-      $success = TRUE;
1169
+        $success = TRUE;
1170 1170
     }
1171 1171
     else {
1172
-      $context['results']['warning'][] = "{$uid}:{$ignored_user_uid}";
1173
-      watchdog('boincimport',
1172
+        $context['results']['warning'][] = "{$uid}:{$ignored_user_uid}";
1173
+        watchdog('boincimport',
1174 1174
         'Could not add user @ignored_uid to the ignore list of user @uid',
1175 1175
         array('@ignored_uid' => $ignored_user_uid, '@uid' => $uid),
1176 1176
         WATCHDOG_WARNING
1177
-      );
1177
+        );
1178
+    }
1178 1179
     }
1179
-  }
1180 1180
   
1181
-  $message = '';
1182
-  if ($success) {
1181
+    $message = '';
1182
+    if ($success) {
1183 1183
     // Store some result for post-processing in the finished callback.
1184 1184
     $context['results']['success'][] = $uid;
1185 1185
     $message = "Successfully imported ignored users for user {$uid}";
1186
-  }
1187
-  else {
1186
+    }
1187
+    else {
1188 1188
     $context['results']['failure'][] = $uid;
1189 1189
     $message = "Failed to import any user filter preferences for user {$uid}!";
1190 1190
     watchdog('boincimport',
1191
-      'Failed to import any user filter preferences for user @id!',
1192
-      array('@id' => $uid), WATCHDOG_WARNING
1191
+        'Failed to import any user filter preferences for user @id!',
1192
+        array('@id' => $uid), WATCHDOG_WARNING
1193 1193
     ); 
1194
-  }
1194
+    }
1195 1195
   
1196
-  // Update our progress information.
1197
-  $context['sandbox']['progress']++;
1198
-  $context['sandbox']['current_user'] = $uid;
1199
-  $context['message'] = $message;
1196
+    // Update our progress information.
1197
+    $context['sandbox']['progress']++;
1198
+    $context['sandbox']['current_user'] = $uid;
1199
+    $context['message'] = $message;
1200 1200
 
1201
-  // Update the progress for the batch engine
1202
-  if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
1201
+    // Update the progress for the batch engine
1202
+    if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
1203 1203
     $context['finished'] = 1;
1204
-  }
1205
-  else {
1204
+    }
1205
+    else {
1206 1206
     $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
1207
-  }
1207
+    }
1208 1208
 }
1209 1209
 
1210 1210
 /**
1211 1211
  * Batch 'finished' callback
1212 1212
  */
1213 1213
 function boincimport_preferences_finished($success, $results, $operations) {
1214
-  if ($success) {
1214
+    if ($success) {
1215 1215
     // Let's count our successes
1216 1216
     $total_imported = count($results['success']);
1217 1217
     $total_warnings = count($results['warning']);
1218 1218
     $message = t(
1219
-      'Successfully imported preferences for @count users (with @warn warnings)',
1220
-      array('@count' => $total_imported, '@warn' => $total_warnings)
1219
+        'Successfully imported preferences for @count users (with @warn warnings)',
1220
+        array('@count' => $total_imported, '@warn' => $total_warnings)
1221 1221
     );
1222 1222
     watchdog('boincimport',
1223
-      'Successfully imported preferences for @count users (with @warn warnings)',
1224
-      array('@count' => $total_imported, '@warn' => $total_warnings),
1225
-      WATCHDOG_INFO
1223
+        'Successfully imported preferences for @count users (with @warn warnings)',
1224
+        array('@count' => $total_imported, '@warn' => $total_warnings),
1225
+        WATCHDOG_INFO
1226 1226
     );
1227 1227
     // Set the preference import successful flag in the variable table
1228 1228
     variable_set('boincimport_import_preferences_successful', '1');
1229 1229
     $_SESSION['boincimport_stage_selected'] = 'private messages';
1230
-  }
1231
-  else {
1230
+    }
1231
+    else {
1232 1232
     // An error occurred.
1233 1233
     // $operations contains the operations that remained unprocessed.
1234 1234
     $error_operation = reset($operations);
1235 1235
     $message = 'An error occurred while processing ' . $error_operation[0] . ' with arguments :' . print_r($error_operation[0], TRUE);
1236
-  }
1237
-  drupal_set_message($message);
1236
+    }
1237
+    drupal_set_message($message);
1238 1238
   
1239
-  // Release the lock on the import process
1240
-  variable_del('boincimport_process_locked');
1241
-  drupal_goto('admin/boinc/import/process');
1239
+    // Release the lock on the import process
1240
+    variable_del('boincimport_process_locked');
1241
+    drupal_goto('admin/boinc/import/process');
1242 1242
 }
1243 1243
 
1244 1244
 
@@ -1251,74 +1251,74 @@  discard block
 block discarded – undo
1251 1251
  */
1252 1252
 function boincimport_private_msgs() {
1253 1253
   
1254
-  // Check whether private messages have been successfully imported already
1255
-  if (variable_get('boincimport_import_private_msg_successful', 0)) {
1254
+    // Check whether private messages have been successfully imported already
1255
+    if (variable_get('boincimport_import_private_msg_successful', 0)) {
1256 1256
     drupal_set_message(t('Private message import has already run successfully -- repeating this process could result in duplicate messages!'), 'warning');
1257 1257
     watchdog(
1258
-      'boincimport', 'Private message import has already run successfully',
1259
-      array(), WATCHDOG_WARNING
1258
+        'boincimport', 'Private message import has already run successfully',
1259
+        array(), WATCHDOG_WARNING
1260 1260
     );
1261 1261
     return;
1262
-  }
1262
+    }
1263 1263
 
1264
-  if (!variable_get('boincimport_import_private_msg_started', 0)) {
1264
+    if (!variable_get('boincimport_import_private_msg_started', 0)) {
1265 1265
     // Could prepare database tables, if new fields are necessary, etc.
1266 1266
     variable_set('boincimport_import_private_msg_started', 1);
1267
-  }
1267
+    }
1268 1268
   
1269
-  $pre = variable_get('boincimport_table_prefix', '');
1269
+    $pre = variable_get('boincimport_table_prefix', '');
1270 1270
 
1271
-  // Get stuff to import
1272
-  db_set_active('boinc_rw');
1273
-  $boinc_private_msgs = db_query('
1271
+    // Get stuff to import
1272
+    db_set_active('boinc_rw');
1273
+    $boinc_private_msgs = db_query('
1274 1274
     SELECT id, subject, content, userid, senderid, date, opened
1275 1275
     FROM %sprivate_messages',
1276 1276
     $pre
1277
-  );
1278
-  $private_msg_count = mysqli_num_rows($boinc_private_msgs);
1279
-  db_set_active('default');
1277
+    );
1278
+    $private_msg_count = mysqli_num_rows($boinc_private_msgs);
1279
+    db_set_active('default');
1280 1280
 
1281
-  if (!$private_msg_count) {
1281
+    if (!$private_msg_count) {
1282 1282
     drupal_set_message(
1283
-      t('There were no private messages found: Moving on...')
1283
+        t('There were no private messages found: Moving on...')
1284 1284
     );
1285 1285
     watchdog('boincimport',
1286
-      'There were no private messages found: Moving on...', array(), WATCHDOG_INFO
1286
+        'There were no private messages found: Moving on...', array(), WATCHDOG_INFO
1287 1287
     );
1288 1288
     // Release the lock on the import process
1289 1289
     variable_del('boincimport_process_locked');
1290 1290
     return t('There were no private messages found: Moving on...');
1291
-  }
1291
+    }
1292 1292
 
1293
-  watchdog('boincimport',
1293
+    watchdog('boincimport',
1294 1294
     'Found %count private messages: Beginning Import',
1295 1295
     array('%count' => $private_msg_count), WATCHDOG_INFO
1296
-  );
1296
+    );
1297 1297
   
1298
-  $operations = array();
1298
+    $operations = array();
1299 1299
   
1300
-  // We don't know if a given private message has been imported already or not;
1301
-  // if this is needed, a relation table must be added to the Drupal DB
1300
+    // We don't know if a given private message has been imported already or not;
1301
+    // if this is needed, a relation table must be added to the Drupal DB
1302 1302
   
1303
-  // Create batches to process
1304
-  while ($boinc_private_msg = db_fetch_object($boinc_private_msgs)) {
1303
+    // Create batches to process
1304
+    while ($boinc_private_msg = db_fetch_object($boinc_private_msgs)) {
1305 1305
     $operations[] = array(
1306
-      'boincimport_private_msgs_op', array(
1306
+        'boincimport_private_msgs_op', array(
1307 1307
         $boinc_private_msg
1308
-      )
1308
+        )
1309 1309
     );
1310
-  }
1310
+    }
1311 1311
   
1312
-  $batch = array(
1312
+    $batch = array(
1313 1313
     'operations' => $operations,
1314 1314
     'finished' => 'boincimport_private_msgs_finished',
1315 1315
     'title' => t('Importing private messages'),
1316 1316
     'init_message' => t('Beginning private message import...'),
1317 1317
     'progress_message' => t('Processed @current out of @total private messages.'),
1318 1318
     'error_message' => t('Private message import has encountered an error.'),
1319
-  );
1319
+    );
1320 1320
   
1321
-  batch_set($batch);
1321
+    batch_set($batch);
1322 1322
 }
1323 1323
 
1324 1324
 /**
@@ -1327,95 +1327,95 @@  discard block
 block discarded – undo
1327 1327
  */
1328 1328
 function boincimport_private_msgs_op($pm, &$context) {
1329 1329
   
1330
-  $input_format = variable_get('boincimport_input_format', 0);
1330
+    $input_format = variable_get('boincimport_input_format', 0);
1331 1331
   
1332
-  $uid = boincuser_lookup_uid($pm->userid);
1333
-  $sender_uid = boincuser_lookup_uid($pm->senderid);
1332
+    $uid = boincuser_lookup_uid($pm->userid);
1333
+    $sender_uid = boincuser_lookup_uid($pm->senderid);
1334 1334
   
1335
-  $pm->content = _boincimport_strip_bbcode($pm->content);
1336
-  $pm->content = _boincimport_text_sanitize($pm->content);
1335
+    $pm->content = _boincimport_strip_bbcode($pm->content);
1336
+    $pm->content = _boincimport_text_sanitize($pm->content);
1337 1337
   
1338
-  // First save the message
1339
-  $message_added = db_query("
1338
+    // First save the message
1339
+    $message_added = db_query("
1340 1340
     INSERT INTO {pm_message} (subject, author, body, format, timestamp)
1341 1341
     VALUES ('%s', %d, '%s', %d, %d)",
1342 1342
     $pm->subject, $sender_uid, $pm->content, $input_format, $pm->date
1343
-  );
1344
-  $mid = db_last_insert_id('pm_message', 'mid');
1343
+    );
1344
+    $mid = db_last_insert_id('pm_message', 'mid');
1345 1345
   
1346
-  // Then attach recipients and set status (note that threads are not a BOINC
1347
-  // feature, so just consider every message to be a new thread)
1348
-  $recipient_added = db_query("
1346
+    // Then attach recipients and set status (note that threads are not a BOINC
1347
+    // feature, so just consider every message to be a new thread)
1348
+    $recipient_added = db_query("
1349 1349
     INSERT INTO {pm_index} (mid, thread_id, uid, is_new, deleted)
1350 1350
     VALUES (%d, %d, %d, %d, 0)",
1351 1351
     $mid, $mid, $uid, !$pm->opened
1352
-  );
1353
-  // In Drupal, the sender should be attached as well
1354
-  $sender_added = db_query("
1352
+    );
1353
+    // In Drupal, the sender should be attached as well
1354
+    $sender_added = db_query("
1355 1355
     INSERT INTO {pm_index} (mid, thread_id, uid, is_new, deleted)
1356 1356
     VALUES (%d, %d, %d, %d, 0)",
1357 1357
     $mid, $mid, $sender_uid, 0
1358
-  );
1358
+    );
1359 1359
   
1360
-  $message = '';
1361
-  if ($message_added AND $recipient_added AND $sender_added) {
1360
+    $message = '';
1361
+    if ($message_added AND $recipient_added AND $sender_added) {
1362 1362
     // Store some result for post-processing in the finished callback.
1363 1363
     $context['results']['success'][] = $pm->id;
1364 1364
     $message = "Successfully imported private message {$pm->id}";
1365
-  }
1366
-  else {
1365
+    }
1366
+    else {
1367 1367
     $context['results']['failure'][] = $pm->id;
1368 1368
     $message = "Failed to import private message {$pm->id}!";
1369 1369
     watchdog('boincimport',
1370
-      'Failed to import private message @id!',
1371
-      array('@id' => $pm->id), WATCHDOG_WARNING
1370
+        'Failed to import private message @id!',
1371
+        array('@id' => $pm->id), WATCHDOG_WARNING
1372 1372
     ); 
1373
-  }
1373
+    }
1374 1374
   
1375
-  // Update our progress information.
1376
-  $context['sandbox']['progress']++;
1377
-  $context['sandbox']['current_pm'] = $pm->id;
1378
-  $context['message'] = $message;
1375
+    // Update our progress information.
1376
+    $context['sandbox']['progress']++;
1377
+    $context['sandbox']['current_pm'] = $pm->id;
1378
+    $context['message'] = $message;
1379 1379
 
1380
-  // Update the progress for the batch engine
1381
-  if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
1380
+    // Update the progress for the batch engine
1381
+    if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
1382 1382
     $context['finished'] = 1;
1383
-  }
1384
-  else {
1383
+    }
1384
+    else {
1385 1385
     $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
1386
-  }
1386
+    }
1387 1387
 }
1388 1388
 
1389 1389
 /**
1390 1390
  * Batch 'finished' callback
1391 1391
  */
1392 1392
 function boincimport_private_msgs_finished($success, $results, $operations) {
1393
-  if ($success) {
1393
+    if ($success) {
1394 1394
     // Let's count our successes
1395 1395
     $total_imported = count($results['success']);
1396 1396
     $message = t(
1397
-      'Successfully imported @count private messages',
1398
-      array('@count' => $total_imported)
1397
+        'Successfully imported @count private messages',
1398
+        array('@count' => $total_imported)
1399 1399
     );
1400 1400
     watchdog('boincimport',
1401
-      'Successfully imported @count private messages.',
1402
-      array('@count' => $total_imported), WATCHDOG_INFO
1401
+        'Successfully imported @count private messages.',
1402
+        array('@count' => $total_imported), WATCHDOG_INFO
1403 1403
     ); 
1404 1404
     // Set the private message import successful flag in the variable table
1405 1405
     variable_set('boincimport_import_private_msg_successful', '1');
1406 1406
     $_SESSION['boincimport_stage_selected'] = 'categories';
1407
-  }
1408
-  else {
1407
+    }
1408
+    else {
1409 1409
     // An error occurred.
1410 1410
     // $operations contains the operations that remained unprocessed.
1411 1411
     $error_operation = reset($operations);
1412 1412
     $message = 'An error occurred while processing ' . $error_operation[0] . ' with arguments :' . print_r($error_operation[0], TRUE);
1413
-  }
1414
-  drupal_set_message($message);
1413
+    }
1414
+    drupal_set_message($message);
1415 1415
   
1416
-  // Release the lock on the import process
1417
-  variable_del('boincimport_process_locked');
1418
-  drupal_goto('admin/boinc/import/process');
1416
+    // Release the lock on the import process
1417
+    variable_del('boincimport_process_locked');
1418
+    drupal_goto('admin/boinc/import/process');
1419 1419
 }
1420 1420
 
1421 1421
 
@@ -1428,196 +1428,196 @@  discard block
 block discarded – undo
1428 1428
  */
1429 1429
 function boincimport_forum_categories() {
1430 1430
   
1431
-  // Check whether forums have been successfully imported already
1432
-  if (variable_get('boincimport_import_forum_category_successful', 0)) {
1431
+    // Check whether forums have been successfully imported already
1432
+    if (variable_get('boincimport_import_forum_category_successful', 0)) {
1433 1433
     drupal_set_message(t('Note: forum container import has already run successfully'));
1434 1434
     watchdog(
1435
-      'boincimport', 'Note: forum container import has already run successfully',
1436
-      array(), WATCHDOG_INFO
1435
+        'boincimport', 'Note: forum container import has already run successfully',
1436
+        array(), WATCHDOG_INFO
1437 1437
     ); 
1438
-  }
1438
+    }
1439 1439
 
1440
-  if (!variable_get('boincimport_import_forum_category_started', 0)) {
1440
+    if (!variable_get('boincimport_import_forum_category_started', 0)) {
1441 1441
     // Could prepare database tables, if new fields are necessary, etc.
1442 1442
     variable_set('boincimport_import_forum_category_started', 1);
1443
-  }
1443
+    }
1444 1444
   
1445
-  $pre = variable_get('boincimport_table_prefix', '');
1445
+    $pre = variable_get('boincimport_table_prefix', '');
1446 1446
 
1447
-  // Retrieve the vocabulary vid named "Forums"
1448
-  //$forum_vid = variable_get('forum_nav_vocabulary', 0);
1449
-  $forum_vid = db_result(db_query('
1447
+    // Retrieve the vocabulary vid named "Forums"
1448
+    //$forum_vid = variable_get('forum_nav_vocabulary', 0);
1449
+    $forum_vid = db_result(db_query('
1450 1450
     SELECT vid FROM {vocabulary}
1451 1451
     WHERE name="%s"',
1452 1452
     'Forums'
1453
-  ));
1454
-  if (!$forum_vid) {
1453
+    ));
1454
+    if (!$forum_vid) {
1455 1455
     $forum_vocab = array(
1456
-      'name' => t('Forums'),
1457
-      'description' => t('The different forum categories / containers'),
1456
+        'name' => t('Forums'),
1457
+        'description' => t('The different forum categories / containers'),
1458 1458
     );
1459 1459
     taxonomy_save_vocabulary($forum_vocab);
1460 1460
     $forum_vid = db_result(db_query('
1461 1461
       SELECT vid FROM {vocabulary}
1462 1462
       WHERE name="%s"',
1463
-      'Forums'
1463
+        'Forums'
1464 1464
     ));
1465
-  }
1465
+    }
1466 1466
   
1467
-  // Get both categories and forums from BOINC
1468
-  db_set_active('boinc_rw');
1469
-  $boinc_forum_categories = db_query('
1467
+    // Get both categories and forums from BOINC
1468
+    db_set_active('boinc_rw');
1469
+    $boinc_forum_categories = db_query('
1470 1470
     SELECT id, name
1471 1471
     FROM %scategory
1472 1472
     ORDER BY orderID',
1473 1473
     $pre
1474
-  );
1475
-  $forum_category_count = mysqli_num_rows($boinc_forum_categories);
1476
-  $boinc_forums = db_query('
1474
+    );
1475
+    $forum_category_count = mysqli_num_rows($boinc_forum_categories);
1476
+    $boinc_forums = db_query('
1477 1477
     SELECT id, category, title, description, orderID
1478 1478
     FROM %sforum
1479 1479
     WHERE parent_type = 0
1480 1480
     ORDER BY category',
1481 1481
     $pre
1482
-  );
1483
-  $forum_count = mysqli_num_rows($boinc_forums);
1484
-  db_set_active('default');
1482
+    );
1483
+    $forum_count = mysqli_num_rows($boinc_forums);
1484
+    db_set_active('default');
1485 1485
 
1486
-  if (!$forum_category_count) {
1486
+    if (!$forum_category_count) {
1487 1487
     drupal_set_message(
1488
-      t('There were no forum containers found: Aborting script'), 'warning'
1488
+        t('There were no forum containers found: Aborting script'), 'warning'
1489 1489
     );
1490 1490
     watchdog('boincimport',
1491
-      'There were no forum containers found: Aborting script', array(), WATCHDOG_WARNING
1491
+        'There were no forum containers found: Aborting script', array(), WATCHDOG_WARNING
1492 1492
     );
1493 1493
     // Release the lock on the import process
1494 1494
     variable_del('boincimport_process_locked');
1495 1495
     return t('There were no forum containers found: Aborting script.');
1496
-  }
1497
-  if (!$forum_count) {
1496
+    }
1497
+    if (!$forum_count) {
1498 1498
     drupal_set_message(
1499
-      t('There were no forums found: Aborting script'), 'warning'
1499
+        t('There were no forums found: Aborting script'), 'warning'
1500 1500
     );
1501 1501
     watchdog('boincimport',
1502
-      'There were no forums found: Aborting script', array(), WATCHDOG_WARNING
1502
+        'There were no forums found: Aborting script', array(), WATCHDOG_WARNING
1503 1503
     );
1504 1504
     // Release the lock on the import process
1505 1505
     variable_del('boincimport_process_locked');
1506 1506
     return t('There were no forums found: Aborting script.');
1507
-  }
1507
+    }
1508 1508
 
1509
-  watchdog('boincimport',
1509
+    watchdog('boincimport',
1510 1510
     'Found %forum_count forums in %category_count containers: Beginning Import',
1511 1511
     array(
1512
-      '%forum_count' => $forum_count,
1513
-      '%category_count' => $forum_category_count,
1512
+        '%forum_count' => $forum_count,
1513
+        '%category_count' => $forum_category_count,
1514 1514
     ), WATCHDOG_INFO
1515
-  );
1516
-  
1517
-  $operations = array();
1518
-  $existing_categories = array();
1519
-  $existing_forums = array();
1520
-  $duplicate_categories = array();
1521
-  $duplicate_forums = array();
1522
-  $category_map = array();
1523
-  
1524
-  // Get the list of categories already in Drupal so as not to import any twice
1525
-  $category_tree = taxonomy_get_tree($forum_vid, 0, -1, 1);
1526
-  foreach ($category_tree as $term) {
1515
+    );
1516
+  
1517
+    $operations = array();
1518
+    $existing_categories = array();
1519
+    $existing_forums = array();
1520
+    $duplicate_categories = array();
1521
+    $duplicate_forums = array();
1522
+    $category_map = array();
1523
+  
1524
+    // Get the list of categories already in Drupal so as not to import any twice
1525
+    $category_tree = taxonomy_get_tree($forum_vid, 0, -1, 1);
1526
+    foreach ($category_tree as $term) {
1527 1527
     $existing_categories[] = $term->name;
1528
-  }
1528
+    }
1529 1529
   
1530
-  // Get the list of forums already in Drupal
1531
-  $result = db_query('
1530
+    // Get the list of forums already in Drupal
1531
+    $result = db_query('
1532 1532
     SELECT forum_id, tid FROM {boincimport_temp_forum}'
1533
-  );
1534
-  while ($row = db_fetch_object($result)) {
1533
+    );
1534
+    while ($row = db_fetch_object($result)) {
1535 1535
     $existing_forums[$row->forum_id] = $row->tid;
1536
-  }
1536
+    }
1537 1537
   
1538
-  // Create batches to process
1538
+    // Create batches to process
1539 1539
   
1540
-  // Set up the "hidden" category, if necessary
1541
-  // This is to support automatic hiding of empty categories
1542
-  $hidden_forum_tid = db_result(db_query('
1540
+    // Set up the "hidden" category, if necessary
1541
+    // This is to support automatic hiding of empty categories
1542
+    $hidden_forum_tid = db_result(db_query('
1543 1543
     SELECT tid FROM {term_data}
1544 1544
     WHERE vid = %d
1545 1545
     AND name = "%s"',
1546 1546
     $forum_vid, 'Hidden'
1547
-  ));
1548
-  if (!$hidden_forum_tid) {
1547
+    ));
1548
+    if (!$hidden_forum_tid) {
1549 1549
     $operations[] = array(
1550
-      'boincimport_forum_categories_op', array(
1550
+        'boincimport_forum_categories_op', array(
1551 1551
         NULL, $forum_vid, $pre, TRUE
1552
-      )
1552
+        )
1553 1553
     );
1554
-  }
1554
+    }
1555 1555
   
1556
-  // Import categories
1557
-  while ($boinc_forum_category = db_fetch_object($boinc_forum_categories)) {
1556
+    // Import categories
1557
+    while ($boinc_forum_category = db_fetch_object($boinc_forum_categories)) {
1558 1558
     if (in_array($boinc_forum_category->name, $existing_categories)) {
1559
-      // This category has already been imported
1560
-      $duplicate_categories[] = $boinc_forum_category->name;
1559
+        // This category has already been imported
1560
+        $duplicate_categories[] = $boinc_forum_category->name;
1561 1561
     }
1562 1562
     else {
1563
-      $operations[] = array(
1563
+        $operations[] = array(
1564 1564
         'boincimport_forum_categories_op', array(
1565
-          $boinc_forum_category, $forum_vid, $pre, FALSE
1565
+            $boinc_forum_category, $forum_vid, $pre, FALSE
1566 1566
         )
1567
-      );
1567
+        );
1568
+    }
1568 1569
     }
1569
-  }
1570 1570
   
1571
-  // Import forums
1572
-  while ($boinc_forum = db_fetch_object($boinc_forums)) {
1573
-     if (isset($existing_forums[$boinc_forum->id])) {
1574
-      // This forum has already been imported
1575
-      $duplicates[] = $boinc_forum->id;
1571
+    // Import forums
1572
+    while ($boinc_forum = db_fetch_object($boinc_forums)) {
1573
+        if (isset($existing_forums[$boinc_forum->id])) {
1574
+        // This forum has already been imported
1575
+        $duplicates[] = $boinc_forum->id;
1576 1576
     }
1577 1577
     else {
1578
-      $operations[] = array(
1578
+        $operations[] = array(
1579 1579
         'boincimport_forums_op', array(
1580
-          $boinc_forum, $forum_vid, $pre
1580
+            $boinc_forum, $forum_vid, $pre
1581 1581
         )
1582
-      );
1582
+        );
1583
+    }
1583 1584
     }
1584
-  }
1585 1585
   
1586
-  // Report any duplicates that were skipped
1587
-  $skipped_message = array();
1588
-  $categories_skipped = count($duplicate_categories);
1589
-  $forums_skipped = count($duplicate_forums);
1590
-  if ($categories_skipped) {
1586
+    // Report any duplicates that were skipped
1587
+    $skipped_message = array();
1588
+    $categories_skipped = count($duplicate_categories);
1589
+    $forums_skipped = count($duplicate_forums);
1590
+    if ($categories_skipped) {
1591 1591
     $skipped_message[] = format_plural(
1592
-      $categories_skipped,
1593
-      '1 container',
1594
-      '@count containers'
1592
+        $categories_skipped,
1593
+        '1 container',
1594
+        '@count containers'
1595 1595
     );
1596
-  }
1597
-  if ($forums_skipped) {
1596
+    }
1597
+    if ($forums_skipped) {
1598 1598
     $skipped_message[] = format_plural(
1599
-      $forums_skipped,
1600
-      '1 forum',
1601
-      '@count forums'
1599
+        $forums_skipped,
1600
+        '1 forum',
1601
+        '@count forums'
1602 1602
     );
1603
-  }
1604
-  if ($skipped_message) {
1603
+    }
1604
+    if ($skipped_message) {
1605 1605
     drupal_set_message(t('Skipped @forums that were already imported',
1606
-      array('@forums' => implode(' and ', $skipped_message))
1606
+        array('@forums' => implode(' and ', $skipped_message))
1607 1607
     ));
1608
-  }
1608
+    }
1609 1609
   
1610
-  // Create and run the batch
1611
-  $batch = array(
1610
+    // Create and run the batch
1611
+    $batch = array(
1612 1612
     'operations' => $operations,
1613 1613
     'finished' => 'boincimport_forums_finished',
1614 1614
     'title' => t('Importing forums'),
1615 1615
     'init_message' => t('Beginning forum import...'),
1616 1616
     'progress_message' => t('Processed @current out of @total forums.'),
1617 1617
     'error_message' => t('Forum import has encountered an error.'),
1618
-  );
1618
+    );
1619 1619
   
1620
-  batch_set($batch);
1620
+    batch_set($batch);
1621 1621
 }
1622 1622
 
1623 1623
 /**
@@ -1626,92 +1626,92 @@  discard block
 block discarded – undo
1626 1626
  */
1627 1627
 function boincimport_forum_categories_op($category, $forum_vid, $pre, $create_hidden, &$context) {
1628 1628
   
1629
-  // Set term parameters for categories
1630
-  $forum_id = 0;
1631
-  $parent_id = 0;
1632
-  $description = '';
1633
-  $weight = 0;
1634
-  $hidden = FALSE;
1629
+    // Set term parameters for categories
1630
+    $forum_id = 0;
1631
+    $parent_id = 0;
1632
+    $description = '';
1633
+    $weight = 0;
1634
+    $hidden = FALSE;
1635 1635
   
1636
-  $category_map = variable_get('boincimport_forum_category_map', array());
1636
+    $category_map = variable_get('boincimport_forum_category_map', array());
1637 1637
   
1638
-  if (!$category AND $create_hidden) {
1638
+    if (!$category AND $create_hidden) {
1639 1639
     // Create the special "hidden" container
1640 1640
     $category = new stdClass();
1641 1641
     $category->name = 'Hidden';
1642 1642
     $category->id = 0;
1643 1643
     $hidden = TRUE;
1644
-  }
1645
-  else {
1644
+    }
1645
+    else {
1646 1646
     // If this container is empty, put it into the hidden container
1647 1647
     db_set_active('boinc_rw');
1648 1648
     $forums_contained = db_result(db_query('
1649 1649
       SELECT count(*) FROM %sforum
1650 1650
       WHERE parent_type = 0
1651 1651
       AND category = %d',
1652
-      $pre, $category->id));
1652
+        $pre, $category->id));
1653 1653
     db_set_active('default');
1654 1654
     if (!$forums_contained) {
1655
-      $parent_id = $category_map[0];
1656
-      $hidden = TRUE;
1655
+        $parent_id = $category_map[0];
1656
+        $hidden = TRUE;
1657
+    }
1657 1658
     }
1658
-  }
1659 1659
   
1660
-  $forum = array(
1660
+    $forum = array(
1661 1661
     'name' => $category->name,
1662 1662
     'vid' => $forum_vid,
1663 1663
     'description' => $description,
1664 1664
     'parent' => $parent_id,
1665 1665
     'weight' => $weight,
1666
-  );
1667
-  $forum['description'] = strip_tags($forum['description']);
1666
+    );
1667
+    $forum['description'] = strip_tags($forum['description']);
1668 1668
 
1669
-  taxonomy_save_term($forum);
1670
-  $success = isset($forum['tid']);
1669
+    taxonomy_save_term($forum);
1670
+    $success = isset($forum['tid']);
1671 1671
   
1672
-  // Serialize the forum containers
1673
-  $containers = variable_get('forum_containers', array());
1674
-  $containers[] = $forum['tid'];
1675
-  variable_set('forum_containers', $containers);
1672
+    // Serialize the forum containers
1673
+    $containers = variable_get('forum_containers', array());
1674
+    $containers[] = $forum['tid'];
1675
+    variable_set('forum_containers', $containers);
1676 1676
   
1677
-  // Note the taxonomy ID for mapping forums to categories
1678
-  $category_map[$category->id] = $forum['tid'];
1679
-  variable_set('boincimport_forum_category_map', $category_map);
1677
+    // Note the taxonomy ID for mapping forums to categories
1678
+    $category_map[$category->id] = $forum['tid'];
1679
+    variable_set('boincimport_forum_category_map', $category_map);
1680 1680
   
1681
-  boincimport_forum_set_permissions($forum, $hidden);
1681
+    boincimport_forum_set_permissions($forum, $hidden);
1682 1682
   
1683
-  $message = '';
1684
-  if ($success) {
1683
+    $message = '';
1684
+    if ($success) {
1685 1685
     // Store some result for post-processing in the finished callback.
1686 1686
     if (!$category AND $create_hidden) {
1687
-      $message = "Created special hidden container";
1687
+        $message = "Created special hidden container";
1688 1688
     }
1689 1689
     else {
1690
-      $context['results']['categories']['success'][] = $category->id;
1691
-      $message = "Successfully imported container {$category->id}";
1690
+        $context['results']['categories']['success'][] = $category->id;
1691
+        $message = "Successfully imported container {$category->id}";
1692 1692
     }
1693
-  }
1694
-  else {
1693
+    }
1694
+    else {
1695 1695
     $context['results']['categories']['failure'][] = $category->id;
1696 1696
     $message = "Failed to import container {$category->id}!";
1697 1697
     watchdog('boincimport',
1698
-      'Failed to import container @id!',
1699
-      array('@id' => $category->id), WATCHDOG_WARNING
1698
+        'Failed to import container @id!',
1699
+        array('@id' => $category->id), WATCHDOG_WARNING
1700 1700
     ); 
1701
-  }
1701
+    }
1702 1702
   
1703
-  // Update our progress information.
1704
-  $context['sandbox']['progress']++;
1705
-  $context['sandbox']['current_category'] = $category->id;
1706
-  $context['message'] = $message;
1703
+    // Update our progress information.
1704
+    $context['sandbox']['progress']++;
1705
+    $context['sandbox']['current_category'] = $category->id;
1706
+    $context['message'] = $message;
1707 1707
 
1708
-  // Update the progress for the batch engine
1709
-  if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
1708
+    // Update the progress for the batch engine
1709
+    if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
1710 1710
     $context['finished'] = 1;
1711
-  }
1712
-  else {
1711
+    }
1712
+    else {
1713 1713
     $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
1714
-  }
1714
+    }
1715 1715
 }
1716 1716
 
1717 1717
 /**
@@ -1720,40 +1720,40 @@  discard block
 block discarded – undo
1720 1720
  */
1721 1721
 function boincimport_forums_op($boincforum, $forum_vid, $pre = '', &$context) {
1722 1722
   
1723
-  $hidden_forum = FALSE;
1724
-  $open_forum = FALSE;
1725
-  $category_map = variable_get('boincimport_forum_category_map', array());
1726
-  
1727
-  // Set term parameters for forums
1728
-  $forum_id = $boincforum->id;
1729
-  $parent_id = isset($category_map[$boincforum->category]) ? $category_map[$boincforum->category] : $category_map[0];
1730
-  $name = $boincforum->title;
1731
-  $description = $boincforum->description;
1732
-  $weight = $boincforum->orderID;
1733
-  if ($parent_id == $category_map[0]) {
1723
+    $hidden_forum = FALSE;
1724
+    $open_forum = FALSE;
1725
+    $category_map = variable_get('boincimport_forum_category_map', array());
1726
+  
1727
+    // Set term parameters for forums
1728
+    $forum_id = $boincforum->id;
1729
+    $parent_id = isset($category_map[$boincforum->category]) ? $category_map[$boincforum->category] : $category_map[0];
1730
+    $name = $boincforum->title;
1731
+    $description = $boincforum->description;
1732
+    $weight = $boincforum->orderID;
1733
+    if ($parent_id == $category_map[0]) {
1734 1734
     // If this forum is hidden, flag for appropriate access controls
1735 1735
     $hidden_forum = TRUE;
1736
-  }
1737
-  if ($name == 'Getting Started') {
1736
+    }
1737
+    if ($name == 'Getting Started') {
1738 1738
     // Must allow users to post in this forum even if they have no credit!
1739 1739
     $open_forum = TRUE;
1740
-  }
1740
+    }
1741 1741
   
1742
-  // Try to detect a BOINC news forum and flag it so that news can be
1743
-  // imported into a Drupal news content type later
1744
-  if ($name == 'News') {
1742
+    // Try to detect a BOINC news forum and flag it so that news can be
1743
+    // imported into a Drupal news content type later
1744
+    if ($name == 'News') {
1745 1745
     // Save the ID of the News forum for later import
1746 1746
     variable_set('boincimport_news_forum_id', $forum_id);
1747 1747
     $success = TRUE;
1748
-  }
1749
-  else {
1748
+    }
1749
+    else {
1750 1750
     // Save all other forums as taxonomy terms
1751 1751
     $forum = array(
1752
-      'name' => $name,
1753
-      'vid' => $forum_vid,
1754
-      'description' => $description,
1755
-      'parent' => $parent_id,
1756
-      'weight' => $weight,
1752
+        'name' => $name,
1753
+        'vid' => $forum_vid,
1754
+        'description' => $description,
1755
+        'parent' => $parent_id,
1756
+        'weight' => $weight,
1757 1757
     );
1758 1758
     $forum['description'] = strip_tags($forum['description']);
1759 1759
 
@@ -1765,31 +1765,31 @@  discard block
 block discarded – undo
1765 1765
     
1766 1766
     // Set access controls
1767 1767
     boincimport_forum_set_permissions($forum, $hidden_forum, $open_forum);
1768
-  }
1768
+    }
1769 1769
   
1770
-  $message = '';
1771
-  if ($success) {
1770
+    $message = '';
1771
+    if ($success) {
1772 1772
     // Store some result for post-processing in the finished callback.
1773 1773
     $context['results']['forums']['success'][] = $forum_id;
1774 1774
     $message = "Successfully imported forum {$forum_id}";
1775
-  }
1776
-  else {
1775
+    }
1776
+    else {
1777 1777
     $context['results']['forums']['failure'][] = $forum_id;
1778 1778
     $message = "Failed to import forum {$forum_id}!";
1779
-  }
1779
+    }
1780 1780
   
1781
-  // Update our progress information.
1782
-  $context['sandbox']['progress']++;
1783
-  $context['sandbox']['current_forum'] = $forum_id;
1784
-  $context['message'] = $message;
1781
+    // Update our progress information.
1782
+    $context['sandbox']['progress']++;
1783
+    $context['sandbox']['current_forum'] = $forum_id;
1784
+    $context['message'] = $message;
1785 1785
 
1786
-  // Update the progress for the batch engine
1787
-  if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
1786
+    // Update the progress for the batch engine
1787
+    if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
1788 1788
     $context['finished'] = 1;
1789
-  }
1790
-  else {
1789
+    }
1790
+    else {
1791 1791
     $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
1792
-  }
1792
+    }
1793 1793
 }
1794 1794
 
1795 1795
 /**
@@ -1797,46 +1797,46 @@  discard block
 block discarded – undo
1797 1797
  */
1798 1798
 function boincimport_forum_set_permissions($forum, $hidden = FALSE, $open = FALSE) {
1799 1799
   
1800
-  // Set access controls
1801
-  $forum_perms = array();
1802
-  $role_map = array_flip(user_roles());
1803
-  $forum_perms[$role_map['anonymous user']] = array(
1800
+    // Set access controls
1801
+    $forum_perms = array();
1802
+    $role_map = array_flip(user_roles());
1803
+    $forum_perms[$role_map['anonymous user']] = array(
1804 1804
     'view' => (int) !$hidden,
1805 1805
     'update' => 0,
1806 1806
     'delete' => 0,
1807 1807
     'create' => 0,
1808
-  );
1809
-  $forum_perms[$role_map['authenticated user']] = array(
1808
+    );
1809
+    $forum_perms[$role_map['authenticated user']] = array(
1810 1810
     'view' => (int) !$hidden,
1811 1811
     'update' => 0,
1812 1812
     'delete' => 0,
1813 1813
     'create' => 0,
1814
-  );
1815
-  $forum_perms[$role_map['community member']] = array(
1814
+    );
1815
+    $forum_perms[$role_map['community member']] = array(
1816 1816
     'view' => (int) !$hidden,
1817 1817
     'update' => 0,
1818 1818
     'delete' => 0,
1819 1819
     'create' => (int) $open,
1820
-  );
1821
-  $forum_perms[$role_map['verified contributor']] = array(
1820
+    );
1821
+    $forum_perms[$role_map['verified contributor']] = array(
1822 1822
     'view' => (int) !$hidden,
1823 1823
     'update' => 0,
1824 1824
     'delete' => 0,
1825 1825
     'create' => (int) !$hidden,
1826
-  );
1827
-  $forum_perms[$role_map['moderator']] = array(
1826
+    );
1827
+    $forum_perms[$role_map['moderator']] = array(
1828 1828
     'view' => (int) !$hidden,
1829 1829
     'update' => (int) !$hidden,
1830 1830
     'delete' => 0,
1831 1831
     'create' => (int) !$hidden,
1832
-  );
1833
-  $forum_perms[$role_map['administrator']] = array(
1832
+    );
1833
+    $forum_perms[$role_map['administrator']] = array(
1834 1834
     'view' => 1,
1835 1835
     'update' => 1,
1836 1836
     'delete' => 1,
1837 1837
     'create' => 1,
1838
-  );
1839
-  foreach ($forum_perms as $role => $perm) {
1838
+    );
1839
+    foreach ($forum_perms as $role => $perm) {
1840 1840
     db_query('
1841 1841
       INSERT INTO {forum_access}
1842 1842
       SET  tid = %d, rid = %d,
@@ -1845,61 +1845,61 @@  discard block
 block discarded – undo
1845 1845
       ON DUPLICATE KEY UPDATE
1846 1846
         grant_view = %d, grant_update = %d,
1847 1847
         grant_delete = %d, grant_create = %d',
1848
-      $forum['tid'], $role,
1849
-      $perm['view'], $perm['update'],
1850
-      $perm['delete'], $perm['create'],
1851
-      $perm['view'], $perm['update'],
1852
-      $perm['delete'], $perm['create']);
1853
-  }
1848
+        $forum['tid'], $role,
1849
+        $perm['view'], $perm['update'],
1850
+        $perm['delete'], $perm['create'],
1851
+        $perm['view'], $perm['update'],
1852
+        $perm['delete'], $perm['create']);
1853
+    }
1854 1854
 }
1855 1855
 
1856 1856
 /**
1857 1857
  * Batch 'finished' callback
1858 1858
  */
1859 1859
 function boincimport_forums_finished($success, $results, $operations) {
1860
-  if ($success) {
1860
+    if ($success) {
1861 1861
     // Let's count our successes
1862 1862
     $categories_imported = count($results['categories']['success']);
1863 1863
     $forums_imported = count($results['forums']['success']);
1864 1864
     
1865 1865
     $success_message = array();
1866 1866
     if ($categories_imported) {
1867
-      $success_message[] = format_plural(
1867
+        $success_message[] = format_plural(
1868 1868
         $categories_imported,
1869 1869
         '1 container',
1870 1870
         '@count containers'
1871
-      );
1871
+        );
1872 1872
     }
1873 1873
     if ($forums_imported) {
1874
-      $success_message[] = format_plural(
1874
+        $success_message[] = format_plural(
1875 1875
         $forums_imported,
1876 1876
         '1 forum',
1877 1877
         '@count forums'
1878
-      );
1878
+        );
1879 1879
     }
1880 1880
     $message = t(
1881
-      'Successfully imported @forums',
1882
-      array('@forums' => implode(' and ', $success_message))
1881
+        'Successfully imported @forums',
1882
+        array('@forums' => implode(' and ', $success_message))
1883 1883
     );
1884 1884
     watchdog('boincimport',
1885
-      'Successfully imported @forums',
1886
-      array('@forums' => implode(' and ', $success_message)), WATCHDOG_INFO
1885
+        'Successfully imported @forums',
1886
+        array('@forums' => implode(' and ', $success_message)), WATCHDOG_INFO
1887 1887
     ); 
1888 1888
     // Set the forum import successful flag in the variable table
1889 1889
     variable_set('boincimport_import_forum_successful', '1');
1890 1890
     $_SESSION['boincimport_stage_selected'] = 'topics';
1891
-  }
1892
-  else {
1891
+    }
1892
+    else {
1893 1893
     // An error occurred.
1894 1894
     // $operations contains the operations that remained unprocessed.
1895 1895
     $error_operation = reset($operations);
1896 1896
     $message = 'An error occurred while processing ' . $error_operation[0] . ' with arguments :' . print_r($error_operation[0], TRUE);
1897
-  }
1898
-  drupal_set_message($message);
1897
+    }
1898
+    drupal_set_message($message);
1899 1899
   
1900
-  // Release the lock on the import process
1901
-  variable_del('boincimport_process_locked');
1902
-  drupal_goto('admin/boinc/import/process');
1900
+    // Release the lock on the import process
1901
+    variable_del('boincimport_process_locked');
1902
+    drupal_goto('admin/boinc/import/process');
1903 1903
 }
1904 1904
 
1905 1905
 
@@ -1911,82 +1911,82 @@  discard block
 block discarded – undo
1911 1911
  */
1912 1912
 function boincimport_forum_topics() {
1913 1913
   
1914
-  // Check whether topics have been successfully imported already
1915
-  if (variable_get('boincimport_import_topic_successful', 0)) {
1914
+    // Check whether topics have been successfully imported already
1915
+    if (variable_get('boincimport_import_topic_successful', 0)) {
1916 1916
     drupal_set_message(t('Topic import has already run successfully'), 'warning');
1917 1917
     watchdog(
1918
-      'boincimport', 'Topic import has already run successfully',
1919
-      array(), WATCHDOG_WARNING
1918
+        'boincimport', 'Topic import has already run successfully',
1919
+        array(), WATCHDOG_WARNING
1920 1920
     );
1921 1921
     // Release the lock on the import process
1922 1922
     variable_del('boincimport_process_locked');
1923 1923
     return;
1924
-  }
1924
+    }
1925 1925
 
1926
-  if (!variable_get('boincimport_import_topic_started', 0)) {
1926
+    if (!variable_get('boincimport_import_topic_started', 0)) {
1927 1927
     // Could prepare database tables, if new fields are necessary, etc.
1928 1928
     variable_set('boincimport_import_topic_started', 1);
1929
-  }
1929
+    }
1930 1930
   
1931
-  $pre = variable_get('boincimport_table_prefix', '');
1931
+    $pre = variable_get('boincimport_table_prefix', '');
1932 1932
 
1933
-  // Get the count of non-team topics to import
1934
-  db_set_active('boinc_rw');
1935
-  $topic_count = db_result(db_query('
1933
+    // Get the count of non-team topics to import
1934
+    db_set_active('boinc_rw');
1935
+    $topic_count = db_result(db_query('
1936 1936
     SELECT COUNT(DISTINCT t.id)
1937 1937
     FROM %sthread t
1938 1938
     JOIN %sforum f ON f.id = t.forum
1939 1939
     JOIN %spost p ON p.thread = t.id
1940 1940
     WHERE f.parent_type = 0',
1941 1941
     $pre, $pre, $pre
1942
-  ));
1943
-  db_set_active('default');
1942
+    ));
1943
+    db_set_active('default');
1944 1944
 
1945
-  if (!$topic_count) {
1945
+    if (!$topic_count) {
1946 1946
     drupal_set_message(
1947
-      t('There were no topics found: Aborting script'), 'warning'
1947
+        t('There were no topics found: Aborting script'), 'warning'
1948 1948
     );
1949 1949
     watchdog('boincimport',
1950
-      'There were no topics found: Aborting script', array(), WATCHDOG_WARNING
1950
+        'There were no topics found: Aborting script', array(), WATCHDOG_WARNING
1951 1951
     );
1952 1952
     // Release the lock on the import process
1953 1953
     variable_del('boincimport_process_locked');
1954 1954
     return t('There were no topics found: Aborting script.');
1955
-  }
1955
+    }
1956 1956
 
1957
-  watchdog('boincimport',
1957
+    watchdog('boincimport',
1958 1958
     'Found %count topics: Beginning Import',
1959 1959
     array('%count' => $topic_count), WATCHDOG_INFO
1960
-  );
1960
+    );
1961 1961
   
1962
-  $operations = array();
1963
-  $batch_size = 100;
1962
+    $operations = array();
1963
+    $batch_size = 100;
1964 1964
   
1965
-  // Create batches to process
1966
-  for ($offset = 0; $offset < $topic_count; $offset+=$batch_size) {
1965
+    // Create batches to process
1966
+    for ($offset = 0; $offset < $topic_count; $offset+=$batch_size) {
1967 1967
     $topics_per_batch = $batch_size;
1968 1968
     if ($offset + $batch_size > $topic_count) {
1969
-      $topics_per_batch = $topic_count - $offset;
1969
+        $topics_per_batch = $topic_count - $offset;
1970 1970
     }
1971 1971
     $operations[] = array(
1972
-      'boincimport_topics_op', array(
1972
+        'boincimport_topics_op', array(
1973 1973
         $offset, $topics_per_batch, $pre
1974
-      )
1974
+        )
1975 1975
     );
1976
-  }
1976
+    }
1977 1977
   
1978
-  $batch = array(
1978
+    $batch = array(
1979 1979
     'operations' => $operations,
1980 1980
     'finished' => 'boincimport_topics_finished',
1981 1981
     'title' => t('Importing topics'),
1982 1982
     'init_message' => t('Beginning topic import...'),
1983 1983
     'progress_message' => t('Processed @current out of @total batches (@size topics per batch).', array(
1984
-      '@size' => $batch_size,
1984
+        '@size' => $batch_size,
1985 1985
     )),
1986 1986
     'error_message' => t('Topic import has encountered an error.'),
1987
-  );
1987
+    );
1988 1988
   
1989
-  batch_set($batch);
1989
+    batch_set($batch);
1990 1990
 }
1991 1991
 
1992 1992
 /**
@@ -1994,18 +1994,18 @@  discard block
 block discarded – undo
1994 1994
  * Create a Drupal node from the given BOINC topic object
1995 1995
  */
1996 1996
 function boincimport_topics_op($offset, $batch_size, $pre = '', &$context) {
1997
-  // Initialize the batch, if needed
1998
-  if (!isset($context['sandbox']['progress'])) {
1997
+    // Initialize the batch, if needed
1998
+    if (!isset($context['sandbox']['progress'])) {
1999 1999
     $context['sandbox']['progress'] = 0;
2000 2000
     $context['sandbox']['max'] = $batch_size;
2001
-  }
2001
+    }
2002 2002
   
2003
-  $input_format = variable_get('boincimport_input_format', 0);
2004
-  $news_forum_id = variable_get('boincimport_news_forum_id', 0);
2003
+    $input_format = variable_get('boincimport_input_format', 0);
2004
+    $news_forum_id = variable_get('boincimport_news_forum_id', 0);
2005 2005
   
2006
-  // Get the topic to import
2007
-  db_set_active('boinc_rw');
2008
-  $topics = db_query('
2006
+    // Get the topic to import
2007
+    db_set_active('boinc_rw');
2008
+    $topics = db_query('
2009 2009
     SELECT DISTINCT t.id, t.title, t.owner, t.forum, t.locked, t.hidden,
2010 2010
         t.sticky, t.timestamp, t.create_time
2011 2011
     FROM %sthread t
@@ -2015,10 +2015,10 @@  discard block
 block discarded – undo
2015 2015
     ORDER BY t.id ASC
2016 2016
     LIMIT %d,%d',
2017 2017
     $pre, $pre, $pre, $offset, $batch_size
2018
-  );
2019
-  db_set_active('default');
2018
+    );
2019
+    db_set_active('default');
2020 2020
   
2021
-  while ($topic = db_fetch_object($topics)) {
2021
+    while ($topic = db_fetch_object($topics)) {
2022 2022
     
2023 2023
     $error_detail = '';
2024 2024
     
@@ -2031,52 +2031,52 @@  discard block
 block discarded – undo
2031 2031
       WHERE thread = %d
2032 2032
       ORDER BY timestamp ASC
2033 2033
       LIMIT 1',
2034
-      $pre, $topic->id
2034
+        $pre, $topic->id
2035 2035
     ));
2036 2036
     db_set_active('default');
2037 2037
       
2038 2038
     $duplicate = db_result(db_query('
2039 2039
       SELECT COUNT(*) FROM {boincimport_temp_topic}
2040 2040
       WHERE topic_id = %d',
2041
-      $topic->id
2041
+        $topic->id
2042 2042
     ));
2043 2043
     
2044 2044
     if ($duplicate OR !$post) {
2045
-      $success = FALSE;
2045
+        $success = FALSE;
2046 2046
     }
2047 2047
     
2048 2048
     else {
2049
-      // Get the user and term IDs along with other data to define the topic
2050
-      $uid = boincuser_lookup_uid($topic->owner);
2051
-      $tid = db_result(db_query('
2049
+        // Get the user and term IDs along with other data to define the topic
2050
+        $uid = boincuser_lookup_uid($topic->owner);
2051
+        $tid = db_result(db_query('
2052 2052
         SELECT tid FROM {boincimport_temp_forum}
2053 2053
         WHERE forum_id = %d',
2054 2054
         $topic->forum
2055
-      ));
2056
-      if (!$topic->owner) {
2055
+        ));
2056
+        if (!$topic->owner) {
2057 2057
         $uid = 0;
2058
-      }
2058
+        }
2059 2059
       
2060
-      $node_type = 'forum';
2061
-      $promote = 0;
2062
-      $comment = ($topic->locked) ? 1 : 2;
2060
+        $node_type = 'forum';
2061
+        $promote = 0;
2062
+        $comment = ($topic->locked) ? 1 : 2;
2063 2063
       
2064
-      $post->content = _boincimport_strip_bbcode($post->content);
2065
-      $post->content = _boincimport_text_sanitize($post->content);
2066
-      $teaser = node_teaser($post->content);
2064
+        $post->content = _boincimport_strip_bbcode($post->content);
2065
+        $post->content = _boincimport_text_sanitize($post->content);
2066
+        $teaser = node_teaser($post->content);
2067 2067
       
2068
-      if ($topic->timestamp < $topic->create_time) {
2068
+        if ($topic->timestamp < $topic->create_time) {
2069 2069
         $topic->timestamp = $topic->create_time;
2070
-      }
2070
+        }
2071 2071
       
2072
-      // If dealing with a News topic, be sure it is imported as such
2073
-      if ($news_forum_id AND $topic->forum == $news_forum_id) {
2072
+        // If dealing with a News topic, be sure it is imported as such
2073
+        if ($news_forum_id AND $topic->forum == $news_forum_id) {
2074 2074
         $node_type = 'news';
2075 2075
         $promote = 1;
2076
-      }
2076
+        }
2077 2077
 
2078
-      // Construct the thread as a forum topic node
2079
-      $node = array(
2078
+        // Construct the thread as a forum topic node
2079
+        $node = array(
2080 2080
         'type' => $node_type,
2081 2081
         'title' => $topic->title,
2082 2082
         'uid' => $uid,
@@ -2090,61 +2090,61 @@  discard block
 block discarded – undo
2090 2090
         'sticky' => $topic->sticky,
2091 2091
         'format' => $input_format,
2092 2092
         'teaser' => $teaser,
2093
-      );
2094
-      $node['tid'] = $tid;
2093
+        );
2094
+        $node['tid'] = $tid;
2095 2095
       
2096
-      // Save the topic node
2097
-      $node = (object) $node; // node_save requires an object form
2098
-      node_save($node);
2099
-      taxonomy_node_save($node, array($tid));
2100
-      $success = ($node->nid) ? TRUE : FALSE;
2101
-      if ($success) {
2096
+        // Save the topic node
2097
+        $node = (object) $node; // node_save requires an object form
2098
+        node_save($node);
2099
+        taxonomy_node_save($node, array($tid));
2100
+        $success = ($node->nid) ? TRUE : FALSE;
2101
+        if ($success) {
2102 2102
         $success = db_query('
2103 2103
           INSERT INTO {boincimport_temp_topic} (topic_id, post_id, nid)
2104 2104
           VALUES (%d, %d, %d)', $topic->id, $post->id, $node->nid
2105 2105
         );
2106 2106
         if ($success) {
2107
-          // Hack to keep the topics in correct order
2108
-          $success = db_query('UPDATE {node_comment_statistics} SET last_comment_timestamp = %d WHERE nid = %d', $node->created, $node->nid);
2109
-          if (!$success) {
2107
+            // Hack to keep the topics in correct order
2108
+            $success = db_query('UPDATE {node_comment_statistics} SET last_comment_timestamp = %d WHERE nid = %d', $node->created, $node->nid);
2109
+            if (!$success) {
2110 2110
             $error_detail = 'topic imported, but failed to set last comment timestamp';
2111
-          }
2111
+            }
2112 2112
         }
2113 2113
         else {
2114
-          $error_detail = 'topic node saved, but failed to link in boincimport_temp_topic table';
2114
+            $error_detail = 'topic node saved, but failed to link in boincimport_temp_topic table';
2115 2115
         }
2116
-      }
2117
-      else {
2116
+        }
2117
+        else {
2118 2118
         $error_detail = 'failed to save topic node to database';
2119
-      }
2119
+        }
2120 2120
     }
2121 2121
     
2122 2122
     // See if the import worked
2123 2123
     $message = '';
2124 2124
     if ($success) {
2125
-      // Store some result for post-processing in the finished callback.
2126
-      $context['results']['success'][] = $topic->id;
2127
-      $message = "Successfully imported topic {$topic->id}";
2125
+        // Store some result for post-processing in the finished callback.
2126
+        $context['results']['success'][] = $topic->id;
2127
+        $message = "Successfully imported topic {$topic->id}";
2128 2128
     }
2129 2129
     elseif ($duplicate) {
2130
-      $context['results']['duplicate'][] = $topic->id;
2131
-      $message = "Topic {$topic->id} was already imported";
2130
+        $context['results']['duplicate'][] = $topic->id;
2131
+        $message = "Topic {$topic->id} was already imported";
2132 2132
     }
2133 2133
     elseif (!$post) {
2134
-      $context['results']['empty'][] = $topic->id;
2135
-      $message = "Skipping topic {$topic->id} as empty";
2134
+        $context['results']['empty'][] = $topic->id;
2135
+        $message = "Skipping topic {$topic->id} as empty";
2136 2136
     }
2137 2137
     else {
2138
-      $context['results']['failure'][] = $topic->id;
2139
-      $message = "Failed to import topic {$topic->id}!";
2140
-      watchdog('boincimport',
2138
+        $context['results']['failure'][] = $topic->id;
2139
+        $message = "Failed to import topic {$topic->id}!";
2140
+        watchdog('boincimport',
2141 2141
         'Failed to import topic @id! (@error)',
2142 2142
         array(
2143
-          '@id' => $topic->id,
2144
-          '@error' => $error_detail,
2143
+            '@id' => $topic->id,
2144
+            '@error' => $error_detail,
2145 2145
         ),
2146 2146
         WATCHDOG_WARNING
2147
-      ); 
2147
+        ); 
2148 2148
     }
2149 2149
     
2150 2150
     // Update our progress information.
@@ -2154,54 +2154,54 @@  discard block
 block discarded – undo
2154 2154
 
2155 2155
     // Update the progress for the batch engine
2156 2156
     if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
2157
-      $context['finished'] = 1;
2157
+        $context['finished'] = 1;
2158 2158
     }
2159 2159
     else {
2160
-      $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
2160
+        $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
2161
+    }
2161 2162
     }
2162
-  }
2163 2163
 }
2164 2164
 
2165 2165
 /**
2166 2166
  * Batch 'finished' callback
2167 2167
  */
2168 2168
 function boincimport_topics_finished($success, $results, $operations) {
2169
-  if ($success) {
2169
+    if ($success) {
2170 2170
     // Let's count our successes
2171 2171
     $total_imported = count($results['success']);
2172 2172
     $duplicates = count($results['duplicate']);
2173 2173
     $empty_topics = count($results['empty']);
2174 2174
     $message = t(
2175
-      'Successfully imported @count topics (skipped @duplicates already imported, @abandoned empty topics)',
2176
-      array(
2175
+        'Successfully imported @count topics (skipped @duplicates already imported, @abandoned empty topics)',
2176
+        array(
2177 2177
         '@count' => $total_imported,
2178 2178
         '@duplicates' => $duplicates,
2179 2179
         '@abandoned' => $empty_topics,
2180
-      )
2180
+        )
2181 2181
     );
2182 2182
     watchdog('boincimport',
2183
-      'Successfully imported @count topics (skipped @duplicates already imported, @abandoned empty topics).',
2184
-      array(
2183
+        'Successfully imported @count topics (skipped @duplicates already imported, @abandoned empty topics).',
2184
+        array(
2185 2185
         '@count' => $total_imported,
2186 2186
         '@duplicates' => $duplicates,
2187 2187
         '@abandoned' => $empty_topics,
2188
-      ), WATCHDOG_INFO
2188
+        ), WATCHDOG_INFO
2189 2189
     ); 
2190 2190
     // Set the topic import successful flag in the variable table
2191 2191
     variable_set('boincimport_import_topic_successful', '1');
2192 2192
     $_SESSION['boincimport_stage_selected'] = 'posts';
2193
-  }
2194
-  else {
2193
+    }
2194
+    else {
2195 2195
     // An error occurred.
2196 2196
     // $operations contains the operations that remained unprocessed.
2197 2197
     $error_operation = reset($operations);
2198 2198
     $message = 'An error occurred while processing ' . $error_operation[0] . ' with arguments :' . print_r($error_operation[0], TRUE);
2199
-  }
2200
-  drupal_set_message($message);
2199
+    }
2200
+    drupal_set_message($message);
2201 2201
   
2202
-  // Release the lock on the import process
2203
-  variable_del('boincimport_process_locked');
2204
-  drupal_goto('admin/boinc/import/process');
2202
+    // Release the lock on the import process
2203
+    variable_del('boincimport_process_locked');
2204
+    drupal_goto('admin/boinc/import/process');
2205 2205
 }
2206 2206
 
2207 2207
 
@@ -2214,91 +2214,91 @@  discard block
 block discarded – undo
2214 2214
  */
2215 2215
 function boincimport_forum_posts() {
2216 2216
   
2217
-  // Check whether forum posts have been successfully imported already
2218
-  if (variable_get('boincimport_import_post_successful', 0)) {
2217
+    // Check whether forum posts have been successfully imported already
2218
+    if (variable_get('boincimport_import_post_successful', 0)) {
2219 2219
     drupal_set_message(t('Forum post import has already run successfully'), 'warning');
2220 2220
     watchdog(
2221
-      'boincimport', 'Forum post import has already run successfully',
2222
-      array(), WATCHDOG_WARNING
2221
+        'boincimport', 'Forum post import has already run successfully',
2222
+        array(), WATCHDOG_WARNING
2223 2223
     );
2224 2224
     // Release the lock on the import process
2225 2225
     variable_del('boincimport_process_locked');
2226 2226
     return;
2227
-  }
2227
+    }
2228 2228
 
2229
-  if (!variable_get('boincimport_import_post_started', 0)) {
2229
+    if (!variable_get('boincimport_import_post_started', 0)) {
2230 2230
     // Could prepare database tables, if new fields are necessary, etc.
2231 2231
     variable_set('boincimport_import_post_started', 1);
2232
-  }
2232
+    }
2233 2233
   
2234
-  $pre = variable_get('boincimport_table_prefix', '');
2234
+    $pre = variable_get('boincimport_table_prefix', '');
2235 2235
 
2236
-  // Get the BOINC threads and get a count of posts to import
2237
-  db_set_active('boinc_rw');
2238
-  $topic_count = db_result(db_query("
2236
+    // Get the BOINC threads and get a count of posts to import
2237
+    db_set_active('boinc_rw');
2238
+    $topic_count = db_result(db_query("
2239 2239
     SELECT COUNT(DISTINCT t.id) FROM %sthread t
2240 2240
     JOIN %sforum f ON f.id = t.forum
2241 2241
     JOIN %spost p ON p.thread = t.id
2242 2242
     WHERE f.parent_type = 0", $pre, $pre, $pre
2243
-  ));
2244
-  $total_post_count = db_result(db_query("
2243
+    ));
2244
+    $total_post_count = db_result(db_query("
2245 2245
     SELECT COUNT(p.id) FROM %spost p
2246 2246
     JOIN %sthread t ON t.id = p.thread
2247 2247
     JOIN %sforum f ON f.id = t.forum
2248 2248
     WHERE f.parent_type = 0", $pre, $pre, $pre
2249
-  ));
2250
-  $post_count = $total_post_count - $topic_count;
2251
-  db_set_active('default');
2249
+    ));
2250
+    $post_count = $total_post_count - $topic_count;
2251
+    db_set_active('default');
2252 2252
 
2253
-  if ($post_count <= 0) {
2253
+    if ($post_count <= 0) {
2254 2254
     drupal_set_message(
2255
-      t('There were no posts found: Aborting script'), 'warning'
2255
+        t('There were no posts found: Aborting script'), 'warning'
2256 2256
     );
2257 2257
     watchdog('boincimport',
2258
-      'There were no posts found: Aborting script', array(), WATCHDOG_WARNING
2258
+        'There were no posts found: Aborting script', array(), WATCHDOG_WARNING
2259 2259
     );
2260 2260
     // Release the lock on the import process
2261 2261
     variable_del('boincimport_process_locked');
2262 2262
     return t('There were no posts found: Aborting script.');
2263
-  }
2263
+    }
2264 2264
 
2265
-  watchdog('boincimport',
2265
+    watchdog('boincimport',
2266 2266
     'Found %count posts: Beginning Import',
2267 2267
     array('%count' => $post_count), WATCHDOG_INFO
2268
-  );
2268
+    );
2269 2269
   
2270
-  $operations = array();
2271
-  $batch_size = 100;
2270
+    $operations = array();
2271
+    $batch_size = 100;
2272 2272
   
2273
-  // Create batches to process
2274
-  for ($offset = 0; $offset < $topic_count; $offset+=$batch_size) {
2273
+    // Create batches to process
2274
+    for ($offset = 0; $offset < $topic_count; $offset+=$batch_size) {
2275 2275
     $topics_per_batch = $batch_size;
2276 2276
     if ($offset + $batch_size > $topic_count) {
2277
-      $topics_per_batch = $topic_count - $offset;
2277
+        $topics_per_batch = $topic_count - $offset;
2278 2278
     }
2279 2279
     $operations[] = array(
2280
-      'boincimport_posts_op', array(
2280
+        'boincimport_posts_op', array(
2281 2281
         $offset, $topics_per_batch
2282
-      )
2282
+        )
2283 2283
     );
2284
-  }
2284
+    }
2285 2285
   
2286
-  $batch = array(
2286
+    $batch = array(
2287 2287
     'operations' => $operations,
2288 2288
     'finished' => 'boincimport_posts_finished',
2289 2289
     'title' => t('Importing posts'),
2290 2290
     'init_message' => t('Beginning post import...'),
2291 2291
     'progress_message' => t(
2292
-      'Processed posts in @current out of @total batches (@size topics per batch).',
2293
-      array(
2292
+        'Processed posts in @current out of @total batches (@size topics per batch).',
2293
+        array(
2294 2294
         '@size' => $batch_size,
2295 2295
         // @current and @total are managed by the batch API
2296
-      )
2296
+        )
2297 2297
     ),
2298 2298
     'error_message' => t('Post import has encountered an error.'),
2299
-  );
2299
+    );
2300 2300
   
2301
-  batch_set($batch);
2301
+    batch_set($batch);
2302 2302
 }
2303 2303
 
2304 2304
 /**
@@ -2306,17 +2306,17 @@  discard block
 block discarded – undo
2306 2306
  * Create a Drupal comment from the given BOINC post object
2307 2307
  */
2308 2308
 function boincimport_posts_op($offset, $batch_size, &$context) {
2309
-  // Initialize the batch, if needed
2310
-  if (!isset($context['sandbox']['progress'])) {
2309
+    // Initialize the batch, if needed
2310
+    if (!isset($context['sandbox']['progress'])) {
2311 2311
     $context['sandbox']['progress'] = 0;
2312 2312
     $context['sandbox']['max'] = $batch_size;
2313
-  }
2313
+    }
2314 2314
   
2315
-  $input_format = variable_get('boincimport_input_format', 0);
2315
+    $input_format = variable_get('boincimport_input_format', 0);
2316 2316
   
2317
- // Get the topics with posts to import
2318
-  db_set_active('boinc_rw');
2319
-  $boinc_topic_ids = db_query('
2317
+    // Get the topics with posts to import
2318
+    db_set_active('boinc_rw');
2319
+    $boinc_topic_ids = db_query('
2320 2320
     SELECT DISTINCT t.id FROM %sthread t
2321 2321
     JOIN %sforum f ON f.id = t.forum
2322 2322
     JOIN %spost p ON p.thread = t.id
@@ -2324,10 +2324,10 @@  discard block
 block discarded – undo
2324 2324
     ORDER BY t.id
2325 2325
     LIMIT %d,%d', 
2326 2326
     $pre, $pre, $pre, $offset, $batch_size
2327
-  );
2328
-  db_set_active('default');
2327
+    );
2328
+    db_set_active('default');
2329 2329
   
2330
-  while ($boinc_topic = db_fetch_object($boinc_topic_ids)) {
2330
+    while ($boinc_topic = db_fetch_object($boinc_topic_ids)) {
2331 2331
     // Get the posts in this topic
2332 2332
     db_set_active('boinc_rw');
2333 2333
     $boinc_posts = db_query('
@@ -2345,29 +2345,29 @@  discard block
 block discarded – undo
2345 2345
 
2346 2346
     while ($post = db_fetch_object($boinc_posts)) {
2347 2347
       
2348
-      // Skip the first post as it has already been imported as a topic
2349
-      if ($first_post) {
2348
+        // Skip the first post as it has already been imported as a topic
2349
+        if ($first_post) {
2350 2350
         $first_post = false;
2351 2351
         continue;
2352
-      }
2352
+        }
2353 2353
       
2354
-      // Making it this far confirms that there are posts to import
2355
-      $topic_has_responses = TRUE;
2354
+        // Making it this far confirms that there are posts to import
2355
+        $topic_has_responses = TRUE;
2356 2356
       
2357
-      $is_duplicate = db_result(db_query('
2357
+        $is_duplicate = db_result(db_query('
2358 2358
         SELECT COUNT(*) FROM {boincimport_temp_post}
2359 2359
         WHERE post_id = %d',
2360 2360
         $post->id
2361
-      ));
2362
-      if ($is_duplicate) {
2361
+        ));
2362
+        if ($is_duplicate) {
2363 2363
         // This post has already been imported
2364 2364
         $context['results']['posts']['duplicate'][] = $post->id;
2365 2365
         $duplicate_posts++;
2366 2366
         continue;
2367
-      }
2367
+        }
2368 2368
       
2369
-      // Make sure the post is valid
2370
-      if ($post->content) {
2369
+        // Make sure the post is valid
2370
+        if ($post->content) {
2371 2371
         
2372 2372
         // Get user, node, and parent IDs for the post and sanitize
2373 2373
         $uid = boincuser_lookup_uid($post->user);
@@ -2376,14 +2376,14 @@  discard block
 block discarded – undo
2376 2376
           FROM {boincimport_temp_topic} btt
2377 2377
           LEFT JOIN {node_revisions} AS nr ON btt.nid = nr.nid
2378 2378
           WHERE btt.topic_id = %d',
2379
-          $post->thread
2379
+            $post->thread
2380 2380
         ));
2381 2381
         $nid = $node->nid;
2382 2382
         $pid = db_result(db_query('
2383 2383
           SELECT cid
2384 2384
           FROM {boincimport_temp_post}
2385 2385
           WHERE post_id = %d',
2386
-          $post->parent_post));
2386
+            $post->parent_post));
2387 2387
         if (is_null($pid)) $pid = 0;
2388 2388
         if (!$uid) $uid = 0;
2389 2389
         
@@ -2394,85 +2394,85 @@  discard block
 block discarded – undo
2394 2394
           SELECT COUNT(*)
2395 2395
           FROM {comments}
2396 2396
           WHERE nid = %d',
2397
-          $nid
2397
+            $nid
2398 2398
         ));
2399 2399
         $post_reply = $pid;
2400 2400
         
2401 2401
         if ($post_reply OR $topic_reply) {
2402
-          // Create a subject for the post from the post content. The body may be in 
2403
-          // any format, so we:
2404
-          //  1) Filter it into HTML
2405
-          //  2) Strip out all HTML tags
2406
-          //  3) Convert entities back to plain-text.
2407
-          // Note: format is checked by check_markup().
2408
-          $subject = truncate_utf8(trim(decode_entities(strip_tags(check_markup($post->content, $input_format)))), 29, TRUE);
2409
-          // Replace "Quote:" with "RE:"
2410
-          $subject = str_replace('Quote:', 'RE: ', $subject);
2411
-          // Fringe cases where the comment body is populated only by HTML tags
2412
-          // will require a default subject...
2413
-          if ($subject === '')
2402
+            // Create a subject for the post from the post content. The body may be in 
2403
+            // any format, so we:
2404
+            //  1) Filter it into HTML
2405
+            //  2) Strip out all HTML tags
2406
+            //  3) Convert entities back to plain-text.
2407
+            // Note: format is checked by check_markup().
2408
+            $subject = truncate_utf8(trim(decode_entities(strip_tags(check_markup($post->content, $input_format)))), 29, TRUE);
2409
+            // Replace "Quote:" with "RE:"
2410
+            $subject = str_replace('Quote:', 'RE: ', $subject);
2411
+            // Fringe cases where the comment body is populated only by HTML tags
2412
+            // will require a default subject...
2413
+            if ($subject === '')
2414 2414
             $subject = "RE: {$node->title}";
2415 2415
         } else {
2416
-          // This is the first post in the topic
2417
-          $subject = $node->title;
2416
+            // This is the first post in the topic
2417
+            $subject = $node->title;
2418 2418
         }
2419 2419
         
2420 2420
         // Construct the post as a Drupal comment
2421 2421
         $comment = array(
2422
-          'pid' => $pid,
2423
-          'nid' => $nid,
2424
-          'uid' => $uid,
2425
-          'subject' => $subject,
2426
-          'comment' => $post->content,
2427
-          'timestamp' => $post->timestamp,
2428
-          'status' => $post->hidden,
2429
-          'format' => $input_format
2422
+            'pid' => $pid,
2423
+            'nid' => $nid,
2424
+            'uid' => $uid,
2425
+            'subject' => $subject,
2426
+            'comment' => $post->content,
2427
+            'timestamp' => $post->timestamp,
2428
+            'status' => $post->hidden,
2429
+            'format' => $input_format
2430 2430
         );
2431 2431
         
2432 2432
         // Save the comment
2433 2433
         if (boincimport_forum_comment_save($comment)) {
2434
-          $success = db_query('
2434
+            $success = db_query('
2435 2435
             INSERT INTO {boincimport_temp_post} (post_id, cid)
2436 2436
             VALUES (%d, %d)',
2437 2437
             $post->id, $comment['cid']
2438
-          );
2439
-          if ($success) {
2438
+            );
2439
+            if ($success) {
2440 2440
             $posts_imported++;
2441 2441
             $context['results']['posts']['success'][] = $post->id;
2442
-          }
2443
-          else {
2442
+            }
2443
+            else {
2444 2444
             $context['results']['posts']['failure'][] = $post->id;
2445 2445
             $error_posts++;
2446
-          }
2446
+            }
2447 2447
         }
2448 2448
         else {
2449
-          $context['results']['posts']['failure'][] = $post->id;
2450
-          $error_posts++;
2449
+            $context['results']['posts']['failure'][] = $post->id;
2450
+            $error_posts++;
2451
+        }
2451 2452
         }
2452
-      }
2453
-      else {
2453
+        else {
2454 2454
         $context['results']['posts']['empty'][] = $post->id;
2455 2455
         $empty_posts++;
2456
-      }
2456
+        }
2457 2457
     }
2458 2458
     
2459 2459
     $message = '';
2460 2460
     if ($success OR !$topic_has_responses) {
2461
-      // Store some result for post-processing in the finished callback.
2462
-      $context['results']['success'][] = $boinc_topic->id;
2463
-      $message = "Imported {$posts_imported} post(s) for topic {$boinc_topic->id}";
2461
+        // Store some result for post-processing in the finished callback.
2462
+        $context['results']['success'][] = $boinc_topic->id;
2463
+        $message = "Imported {$posts_imported} post(s) for topic {$boinc_topic->id}";
2464 2464
     }
2465 2465
     else {
2466
-      $context['results']['failure'][] = $boinc_topic->id;
2467
-      $message = "Failed to import any posts for topic {$boinc_topic->id} (excluded {$error_posts} errors, {$duplicate_posts} duplicates, and {$empty_posts} empty)";
2468
-      watchdog('boincimport', 'Failed to import any posts for topic @id (excluded @error_posts errors, @duplicate_posts duplicates, and @empty_posts empty)', 
2466
+        $context['results']['failure'][] = $boinc_topic->id;
2467
+        $message = "Failed to import any posts for topic {$boinc_topic->id} (excluded {$error_posts} errors, {$duplicate_posts} duplicates, and {$empty_posts} empty)";
2468
+        watchdog('boincimport', 'Failed to import any posts for topic @id (excluded @error_posts errors, @duplicate_posts duplicates, and @empty_posts empty)', 
2469 2469
         array(
2470
-          '@id' => $boinc_topic->id,
2471
-          '@error_posts' => $error_posts,
2472
-          '@duplicate_posts' => $duplicate_posts,
2473
-          '@empty_posts' => $empty_posts,
2470
+            '@id' => $boinc_topic->id,
2471
+            '@error_posts' => $error_posts,
2472
+            '@duplicate_posts' => $duplicate_posts,
2473
+            '@empty_posts' => $empty_posts,
2474 2474
         ), WATCHDOG_WARNING
2475
-      ); 
2475
+        ); 
2476 2476
     }
2477 2477
     
2478 2478
     // Update our progress information.
@@ -2482,19 +2482,19 @@  discard block
 block discarded – undo
2482 2482
 
2483 2483
     // Update the progress for the batch engine
2484 2484
     if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
2485
-      $context['finished'] = 1;
2485
+        $context['finished'] = 1;
2486 2486
     }
2487 2487
     else {
2488
-      $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
2488
+        $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
2489
+    }
2489 2490
     }
2490
-  }
2491 2491
 }
2492 2492
 
2493 2493
 /**
2494 2494
  * Batch 'finished' callback
2495 2495
  */
2496 2496
 function boincimport_posts_finished($success, $results, $operations) {
2497
-  if ($success) {
2497
+    if ($success) {
2498 2498
     // Let's count our successes
2499 2499
     $posts_imported = count($results['posts']['success']);
2500 2500
     $topic_count = count($results['success']);
@@ -2503,39 +2503,39 @@  discard block
 block discarded – undo
2503 2503
     $empty_posts = count($results['posts']['empty']);
2504 2504
     $failed_posts = count($results['posts']['failure']);
2505 2505
     $message = t(
2506
-      'Successfully imported @post_count posts in @topic_count topics ' .
2507
-      '(@skipped topics either had no replies or all replies were already imported, ' .
2508
-      '@duplicates posts were skipped as already imported, ' .
2509
-      '@empty_posts had no content, ' .
2510
-      'and @error_posts encountered errors during import)',
2511
-      array(
2506
+        'Successfully imported @post_count posts in @topic_count topics ' .
2507
+        '(@skipped topics either had no replies or all replies were already imported, ' .
2508
+        '@duplicates posts were skipped as already imported, ' .
2509
+        '@empty_posts had no content, ' .
2510
+        'and @error_posts encountered errors during import)',
2511
+        array(
2512 2512
         '@post_count' => $posts_imported,
2513 2513
         '@topic_count' => $topic_count,
2514 2514
         '@skipped' => $topics_skipped,
2515 2515
         '@duplicates' => $duplicates,
2516 2516
         '@empty_posts' => $empty_posts,
2517 2517
         '@error_posts' => $failed_posts,
2518
-      )
2518
+        )
2519 2519
     );
2520 2520
     watchdog('boincimport',
2521
-      $message,
2522
-      array(), WATCHDOG_INFO
2521
+        $message,
2522
+        array(), WATCHDOG_INFO
2523 2523
     ); 
2524 2524
     // Set the post import successful flag in the variable table
2525 2525
     variable_set('boincimport_import_post_successful', '1');
2526 2526
     $_SESSION['boincimport_stage_selected'] = 'team forums';
2527
-  }
2528
-  else {
2527
+    }
2528
+    else {
2529 2529
     // An error occurred.
2530 2530
     // $operations contains the operations that remained unprocessed.
2531 2531
     $error_operation = reset($operations);
2532 2532
     $message = 'An error occurred while processing ' . $error_operation[0] . ' with arguments :' . print_r($error_operation[0], TRUE);
2533
-  }
2534
-  drupal_set_message($message);
2533
+    }
2534
+    drupal_set_message($message);
2535 2535
   
2536
-  // Release the lock on the import process
2537
-  variable_del('boincimport_process_locked');
2538
-  drupal_goto('admin/boinc/import/process');
2536
+    // Release the lock on the import process
2537
+    variable_del('boincimport_process_locked');
2538
+    drupal_goto('admin/boinc/import/process');
2539 2539
 }
2540 2540
 
2541 2541
 
@@ -2548,97 +2548,97 @@  discard block
 block discarded – undo
2548 2548
  */
2549 2549
 function boincimport_team_forums() {
2550 2550
   
2551
-  // Check whether team forums have been successfully imported already
2552
-  if (variable_get('boincimport_import_team_forum_successful', 0)) {
2551
+    // Check whether team forums have been successfully imported already
2552
+    if (variable_get('boincimport_import_team_forum_successful', 0)) {
2553 2553
     drupal_set_message(t('Team forum import has already run successfully'), 'warning');
2554 2554
     watchdog(
2555
-      'boincimport', 'Team forum import has already run successfully',
2556
-      array(), WATCHDOG_WARNING
2555
+        'boincimport', 'Team forum import has already run successfully',
2556
+        array(), WATCHDOG_WARNING
2557 2557
     );
2558
-  }
2558
+    }
2559 2559
 
2560
-  if (!variable_get('boincimport_import_team_forum_started', 0)) {
2560
+    if (!variable_get('boincimport_import_team_forum_started', 0)) {
2561 2561
     // Could prepare database tables, if new fields are necessary, etc.
2562 2562
     variable_set('boincimport_import_team_forum_started', 1);
2563
-  }
2563
+    }
2564 2564
   
2565
-  $pre = variable_get('boincimport_table_prefix', '');
2565
+    $pre = variable_get('boincimport_table_prefix', '');
2566 2566
 
2567
-  // Get team forums from BOINC database
2568
-  db_set_active('boinc_rw');
2569
-  $boincteam_forums = db_query('
2567
+    // Get team forums from BOINC database
2568
+    db_set_active('boinc_rw');
2569
+    $boincteam_forums = db_query('
2570 2570
     SELECT id, title, description, category, timestamp, post_min_interval,
2571 2571
       post_min_total_credit, post_min_expavg_credit
2572 2572
     FROM %sforum
2573 2573
     WHERE parent_type = 1
2574 2574
     ORDER BY id ASC',
2575 2575
     $pre
2576
-  );
2577
-  $team_forum_count = mysqli_num_rows($boincteam_forums);
2578
-  db_set_active('default');
2576
+    );
2577
+    $team_forum_count = mysqli_num_rows($boincteam_forums);
2578
+    db_set_active('default');
2579 2579
 
2580
-  if (!$team_forum_count) {
2580
+    if (!$team_forum_count) {
2581 2581
     drupal_set_message(
2582
-      t('There were no team forums found: Aborting script'), 'warning'
2582
+        t('There were no team forums found: Aborting script'), 'warning'
2583 2583
     );
2584 2584
     watchdog('boincimport',
2585
-      'There were no team forums found: Aborting script', array(), WATCHDOG_WARNING
2585
+        'There were no team forums found: Aborting script', array(), WATCHDOG_WARNING
2586 2586
     );
2587 2587
     // Release the lock on the import process
2588 2588
     variable_del('boincimport_process_locked');
2589 2589
     return t('There were no BLAH found: Aborting script.');
2590
-  }
2590
+    }
2591 2591
 
2592
-  watchdog('boincimport',
2592
+    watchdog('boincimport',
2593 2593
     'Found %count team forums: Beginning Import',
2594 2594
     array('%count' => $team_forum_count), WATCHDOG_INFO
2595
-  );
2595
+    );
2596 2596
   
2597
-  $operations = array();
2598
-  $existing_team_forums = array();
2599
-  $duplicates = array();
2597
+    $operations = array();
2598
+    $existing_team_forums = array();
2599
+    $duplicates = array();
2600 2600
   
2601
-  // Get the list of team forums already in Drupal to be sure we're not
2602
-  // importing any twice
2603
-  $result = db_query('
2601
+    // Get the list of team forums already in Drupal to be sure we're not
2602
+    // importing any twice
2603
+    $result = db_query('
2604 2604
     SELECT nid, boinc_id FROM {boincteam_forum}'
2605
-  );
2606
-  while ($row = db_fetch_object($result)) {
2605
+    );
2606
+    while ($row = db_fetch_object($result)) {
2607 2607
     $existing_team_forums[$row->boinc_id] = $row->nid;
2608
-  }
2608
+    }
2609 2609
   
2610
-  // Create batches to process
2611
-  while ($boincteam_forum = db_fetch_object($boincteam_forums)) {
2612
-     if (isset($existing_team_forums[$boincteam_forum->id])) {
2613
-      // This team has already been imported
2614
-      $duplicates[] = $boincteam_forum->id;
2610
+    // Create batches to process
2611
+    while ($boincteam_forum = db_fetch_object($boincteam_forums)) {
2612
+        if (isset($existing_team_forums[$boincteam_forum->id])) {
2613
+        // This team has already been imported
2614
+        $duplicates[] = $boincteam_forum->id;
2615 2615
     }
2616 2616
     else {
2617
-      $operations[] = array(
2617
+        $operations[] = array(
2618 2618
         'boincimport_team_forums_op', array(
2619
-          $boincteam_forum
2619
+            $boincteam_forum
2620 2620
         )
2621
-      );
2621
+        );
2622
+    }
2622 2623
     }
2623
-  }
2624 2624
   
2625
-  if ($duplicates) {
2625
+    if ($duplicates) {
2626 2626
     drupal_set_message(t(
2627
-      'Skipped @count team forums that were already imported',
2628
-      array('@count' => count($duplicates))
2627
+        'Skipped @count team forums that were already imported',
2628
+        array('@count' => count($duplicates))
2629 2629
     ));
2630
-  }
2630
+    }
2631 2631
   
2632
-  $batch = array(
2632
+    $batch = array(
2633 2633
     'operations' => $operations,
2634 2634
     'finished' => 'boincimport_team_forums_finished',
2635 2635
     'title' => t('Importing team forums'),
2636 2636
     'init_message' => t('Beginning team forum import...'),
2637 2637
     'progress_message' => t('Processed @current out of @total team forums.'),
2638 2638
     'error_message' => t('Team forum import has encountered an error.'),
2639
-  );
2639
+    );
2640 2640
   
2641
-  batch_set($batch);
2641
+    batch_set($batch);
2642 2642
 }
2643 2643
 
2644 2644
 /**
@@ -2648,15 +2648,15 @@  discard block
 block discarded – undo
2648 2648
  */
2649 2649
 function boincimport_team_forums_op($boincteam_forum, &$context) {
2650 2650
   
2651
-  $input_format = variable_get('boincimport_input_format', 0);
2651
+    $input_format = variable_get('boincimport_input_format', 0);
2652 2652
   
2653
-  // Set term parameters for forums
2654
-  $forum_id = $boincteam_forum->id;
2655
-  $team_id = boincteam_lookup_nid($boincteam_forum->category);
2656
-  $name = $boincteam_forum->title;
2657
-  $description = strip_tags($boincteam_forum->description);
2653
+    // Set term parameters for forums
2654
+    $forum_id = $boincteam_forum->id;
2655
+    $team_id = boincteam_lookup_nid($boincteam_forum->category);
2656
+    $name = $boincteam_forum->title;
2657
+    $description = strip_tags($boincteam_forum->description);
2658 2658
   
2659
-  $success = db_query("
2659
+    $success = db_query("
2660 2660
     INSERT INTO {boincteam_forum} SET 
2661 2661
       boinc_id = %d,
2662 2662
       nid = %d,
@@ -2672,67 +2672,67 @@  discard block
 block discarded – undo
2672 2672
     time(), 0, $boincteam_forum->post_min_interval, 
2673 2673
     $boincteam_forum->post_min_total_credit,
2674 2674
     $boincteam_forum->post_min_expavg_credit
2675
-  );
2675
+    );
2676 2676
   
2677
-  $message = '';
2678
-  if ($success) {
2677
+    $message = '';
2678
+    if ($success) {
2679 2679
     // Store some result for post-processing in the finished callback.
2680 2680
     $context['results']['success'][] = $forum_id;
2681 2681
     $message = "Successfully imported team forum {$forum_id}";
2682
-  }
2683
-  else {
2682
+    }
2683
+    else {
2684 2684
     $context['results']['failure'][] = $forum_id;
2685 2685
     $message = "Failed to import team forum {$forum_id}!";
2686 2686
     watchdog('boincimport',
2687
-      'Failed to import team forum @id!',
2688
-      array('@id' => $forum_id), WATCHDOG_WARNING
2687
+        'Failed to import team forum @id!',
2688
+        array('@id' => $forum_id), WATCHDOG_WARNING
2689 2689
     ); 
2690
-  }
2690
+    }
2691 2691
   
2692
-  // Update our progress information.
2693
-  $context['sandbox']['progress']++;
2694
-  $context['sandbox']['current_forum'] = $forum_id;
2695
-  $context['message'] = $message;
2692
+    // Update our progress information.
2693
+    $context['sandbox']['progress']++;
2694
+    $context['sandbox']['current_forum'] = $forum_id;
2695
+    $context['message'] = $message;
2696 2696
 
2697
-  // Update the progress for the batch engine
2698
-  if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
2697
+    // Update the progress for the batch engine
2698
+    if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
2699 2699
     $context['finished'] = 1;
2700
-  }
2701
-  else {
2700
+    }
2701
+    else {
2702 2702
     $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
2703
-  }
2703
+    }
2704 2704
 }
2705 2705
 
2706 2706
 /**
2707 2707
  * Batch 'finished' callback
2708 2708
  */
2709 2709
 function boincimport_team_forums_finished($success, $results, $operations) {
2710
-  if ($success) {
2710
+    if ($success) {
2711 2711
     // Let's count our successes
2712 2712
     $total_imported = count($results['success']);
2713 2713
     $message = t(
2714
-      'Successfully imported @count team forums',
2715
-      array('@count' => $total_imported)
2714
+        'Successfully imported @count team forums',
2715
+        array('@count' => $total_imported)
2716 2716
     );
2717 2717
     watchdog('boincimport',
2718
-      'Successfully imported @count team forums.',
2719
-      array('@count' => $total_imported), WATCHDOG_INFO
2718
+        'Successfully imported @count team forums.',
2719
+        array('@count' => $total_imported), WATCHDOG_INFO
2720 2720
     ); 
2721 2721
     // Set the team forum import successful flag in the variable table
2722 2722
     variable_set('boincimport_import_team_forum_successful', '1');
2723 2723
     $_SESSION['boincimport_stage_selected'] = 'team topics';
2724
-  }
2725
-  else {
2724
+    }
2725
+    else {
2726 2726
     // An error occurred.
2727 2727
     // $operations contains the operations that remained unprocessed.
2728 2728
     $error_operation = reset($operations);
2729 2729
     $message = 'An error occurred while processing ' . $error_operation[0] . ' with arguments :' . print_r($error_operation[0], TRUE);
2730
-  }
2731
-  drupal_set_message($message);
2730
+    }
2731
+    drupal_set_message($message);
2732 2732
   
2733
-  // Release the lock on the import process
2734
-  variable_del('boincimport_process_locked');
2735
-  drupal_goto('admin/boinc/import/process');
2733
+    // Release the lock on the import process
2734
+    variable_del('boincimport_process_locked');
2735
+    drupal_goto('admin/boinc/import/process');
2736 2736
 }
2737 2737
 
2738 2738
 
@@ -2745,25 +2745,25 @@  discard block
 block discarded – undo
2745 2745
  */
2746 2746
 function boincimport_team_forum_topics() {
2747 2747
   
2748
-  // Check whether team forum topics have been successfully imported already
2749
-  if (variable_get('boincimport_import_team_topic_successful', 0)) {
2748
+    // Check whether team forum topics have been successfully imported already
2749
+    if (variable_get('boincimport_import_team_topic_successful', 0)) {
2750 2750
     drupal_set_message(t('Team topic import has already run successfully'), 'warning');
2751 2751
     watchdog(
2752
-      'boincimport', 'Team topic import has already run successfully',
2753
-      array(), WATCHDOG_WARNING
2752
+        'boincimport', 'Team topic import has already run successfully',
2753
+        array(), WATCHDOG_WARNING
2754 2754
     );
2755
-  }
2755
+    }
2756 2756
 
2757
-  if (!variable_get('boincimport_import_team_topic_started', 0)) {
2757
+    if (!variable_get('boincimport_import_team_topic_started', 0)) {
2758 2758
     // Could prepare database tables, if new fields are necessary, etc.
2759 2759
     variable_set('boincimport_import_team_topic_started', 1);
2760
-  }
2760
+    }
2761 2761
   
2762
-  $pre = variable_get('boincimport_table_prefix', '');
2762
+    $pre = variable_get('boincimport_table_prefix', '');
2763 2763
 
2764
-  // Get all team topics to import from BOINC
2765
-  db_set_active('boinc_rw');
2766
-  $boincteam_topics = db_query('
2764
+    // Get all team topics to import from BOINC
2765
+    db_set_active('boinc_rw');
2766
+    $boincteam_topics = db_query('
2767 2767
     SELECT DISTINCT t.id, t.title, t.owner, t.forum, t.locked, t.hidden,
2768 2768
       t.sticky, t.timestamp, t.create_time
2769 2769
     FROM %sthread t
@@ -2772,78 +2772,78 @@  discard block
 block discarded – undo
2772 2772
     WHERE f.parent_type = 1
2773 2773
     ORDER BY id',
2774 2774
     $pre, $pre, $pre
2775
-  );
2776
-  $boincteam_topic_count = mysqli_num_rows($boincteam_topics);
2777
-  $total_team_topic_count = db_result(db_query('
2775
+    );
2776
+    $boincteam_topic_count = mysqli_num_rows($boincteam_topics);
2777
+    $total_team_topic_count = db_result(db_query('
2778 2778
     SELECT COUNT(*) FROM %sthread t
2779 2779
     JOIN %sforum f ON f.id = t.forum
2780 2780
     WHERE f.parent_type = 1', $pre, $pre
2781
-  ));
2782
-  $empty_topic_count = $total_team_topic_count - $boincteam_topic_count;
2783
-  db_set_active('default');
2781
+    ));
2782
+    $empty_topic_count = $total_team_topic_count - $boincteam_topic_count;
2783
+    db_set_active('default');
2784 2784
 
2785
-  if (!$boincteam_topic_count) {
2785
+    if (!$boincteam_topic_count) {
2786 2786
     drupal_set_message(
2787
-      t('There were no team topics found: Aborting script'), 'warning'
2787
+        t('There were no team topics found: Aborting script'), 'warning'
2788 2788
     );
2789 2789
     watchdog('boincimport',
2790
-      'There were no team topics found: Aborting script', array(), WATCHDOG_WARNING
2790
+        'There were no team topics found: Aborting script', array(), WATCHDOG_WARNING
2791 2791
     );
2792 2792
     // Release the lock on the import process
2793 2793
     variable_del('boincimport_process_locked');
2794 2794
     return t('There were no team topics found: Aborting script.');
2795
-  }
2795
+    }
2796 2796
 
2797
-  watchdog('boincimport',
2797
+    watchdog('boincimport',
2798 2798
     'Found %count team topics: Beginning Import',
2799 2799
     array('%count' => $boincteam_topic_count), WATCHDOG_INFO
2800
-  );
2800
+    );
2801 2801
   
2802
-  $operations = array();
2803
-  $existing_team_topics = array();
2804
-  $duplicates = array();
2802
+    $operations = array();
2803
+    $existing_team_topics = array();
2804
+    $duplicates = array();
2805 2805
   
2806
-  // Get the list of team topics already in Drupal to be sure we're not
2807
-  // importing any twice
2808
-  $result = db_query('
2806
+    // Get the list of team topics already in Drupal to be sure we're not
2807
+    // importing any twice
2808
+    $result = db_query('
2809 2809
     SELECT nid, topic_id FROM {boincimport_temp_topic}'
2810
-  );
2811
-  while ($row = db_fetch_object($result)) {
2810
+    );
2811
+    while ($row = db_fetch_object($result)) {
2812 2812
     $existing_team_topics[$row->topic_id] = $row->nid;
2813
-  }
2813
+    }
2814 2814
   
2815
-  // Create batches to process
2816
-  while ($boincteam_topic = db_fetch_object($boincteam_topics)) {
2817
-     if (isset($existing_team_topics[$boincteam_topic->id])) {
2818
-      // This team topic has already been imported
2819
-      $duplicates[] = $boincteam_topic->id;
2815
+    // Create batches to process
2816
+    while ($boincteam_topic = db_fetch_object($boincteam_topics)) {
2817
+        if (isset($existing_team_topics[$boincteam_topic->id])) {
2818
+        // This team topic has already been imported
2819
+        $duplicates[] = $boincteam_topic->id;
2820 2820
     }
2821 2821
     else {
2822
-      $operations[] = array(
2822
+        $operations[] = array(
2823 2823
         'boincimport_team_topics_op', array(
2824
-          $boincteam_topic
2824
+            $boincteam_topic
2825 2825
         )
2826
-      );
2826
+        );
2827
+    }
2827 2828
     }
2828
-  }
2829 2829
   
2830
-  if ($duplicates) {
2830
+    if ($duplicates) {
2831 2831
     drupal_set_message(t(
2832
-      'Skipped @count team topics that were already imported',
2833
-      array('@count' => count($duplicates))
2832
+        'Skipped @count team topics that were already imported',
2833
+        array('@count' => count($duplicates))
2834 2834
     ));
2835
-  }
2835
+    }
2836 2836
   
2837
-  $batch = array(
2837
+    $batch = array(
2838 2838
     'operations' => $operations,
2839 2839
     'finished' => 'boincimport_team_topics_finished',
2840 2840
     'title' => t('Importing team topics'),
2841 2841
     'init_message' => t('Beginning team topic import...'),
2842 2842
     'progress_message' => t('Processed @current out of @total team topics.'),
2843 2843
     'error_message' => t('Team topic import has encountered an error.'),
2844
-  );
2844
+    );
2845 2845
   
2846
-  batch_set($batch);
2846
+    batch_set($batch);
2847 2847
 }
2848 2848
 
2849 2849
 /**
@@ -2852,21 +2852,21 @@  discard block
 block discarded – undo
2852 2852
  */
2853 2853
 function boincimport_team_topics_op($topic, &$context) {
2854 2854
   
2855
-  $input_format = variable_get('boincimport_input_format', 0);
2856
-  $success = FALSE;
2857
-  $missing_parent = array();
2858
-  $empty_topics = array();
2855
+    $input_format = variable_get('boincimport_input_format', 0);
2856
+    $success = FALSE;
2857
+    $missing_parent = array();
2858
+    $empty_topics = array();
2859 2859
   
2860
-  // Verify that the team forum container has been imported
2861
-  $team_forum_id = db_result(db_query("
2860
+    // Verify that the team forum container has been imported
2861
+    $team_forum_id = db_result(db_query("
2862 2862
     SELECT tfid FROM {boincteam_forum}
2863 2863
     WHERE boinc_id = %d",
2864 2864
     $topic->forum
2865
-  ));
2866
-  if (!$team_forum_id) {
2865
+    ));
2866
+    if (!$team_forum_id) {
2867 2867
     $missing_parent[] = $topic->id;
2868
-  }
2869
-  else {
2868
+    }
2869
+    else {
2870 2870
     // Get the content of the post that started the topic
2871 2871
     db_set_active('boinc_rw');
2872 2872
     $query = db_query('
@@ -2875,36 +2875,36 @@  discard block
 block discarded – undo
2875 2875
       WHERE thread = %d
2876 2876
       ORDER BY timestamp ASC
2877 2877
       LIMIT 1',
2878
-      $pre, $topic->id);
2878
+        $pre, $topic->id);
2879 2879
     db_set_active('default');
2880 2880
       
2881 2881
     // Skip this topic if there are no posts
2882 2882
     if (!$post = db_fetch_object($query)) {
2883
-      // Empty topics should have already been filtered out of the import, so
2884
-      // consider this an error condition
2885
-      $empty_topics[] = $topic->id;
2883
+        // Empty topics should have already been filtered out of the import, so
2884
+        // consider this an error condition
2885
+        $empty_topics[] = $topic->id;
2886 2886
     }
2887 2887
     else {
2888
-      // Get the user ID along with other data to define the topic
2889
-      $uid = boincuser_lookup_uid($topic->owner);
2890
-       if (!$topic->owner) {
2888
+        // Get the user ID along with other data to define the topic
2889
+        $uid = boincuser_lookup_uid($topic->owner);
2890
+        if (!$topic->owner) {
2891 2891
         $uid = 0;
2892
-      }
2892
+        }
2893 2893
       
2894
-      $node_type = 'team_forum';
2895
-      $promote = 0;
2896
-      $comment = ($topic->locked) ? 1 : 2;
2894
+        $node_type = 'team_forum';
2895
+        $promote = 0;
2896
+        $comment = ($topic->locked) ? 1 : 2;
2897 2897
       
2898
-      $post->content = _boincimport_strip_bbcode($post->content);
2899
-      $post->content = _boincimport_text_sanitize($post->content);
2900
-      $teaser = node_teaser($post->content);
2898
+        $post->content = _boincimport_strip_bbcode($post->content);
2899
+        $post->content = _boincimport_text_sanitize($post->content);
2900
+        $teaser = node_teaser($post->content);
2901 2901
       
2902
-      if ($topic->timestamp < $topic->create_time) {
2902
+        if ($topic->timestamp < $topic->create_time) {
2903 2903
         $topic->timestamp = $topic->create_time;
2904
-      }
2904
+        }
2905 2905
 
2906
-      // Construct the thread as a team_forum topic node
2907
-      $node = array(
2906
+        // Construct the thread as a team_forum topic node
2907
+        $node = array(
2908 2908
         'type' => $node_type,
2909 2909
         'title' => $topic->title,
2910 2910
         'uid' => $uid,
@@ -2919,89 +2919,89 @@  discard block
 block discarded – undo
2919 2919
         'format' => $input_format,
2920 2920
         'teaser' => $teaser,
2921 2921
         'tfid' => $team_forum_id,
2922
-      );
2922
+        );
2923 2923
       
2924
-      // Save the team topic node
2925
-      $node = (object) $node; // node_save requires an object form
2926
-      node_save($node);
2924
+        // Save the team topic node
2925
+        $node = (object) $node; // node_save requires an object form
2926
+        node_save($node);
2927 2927
 
2928
-      if ($node->nid) {
2928
+        if ($node->nid) {
2929 2929
         db_query('
2930 2930
           INSERT INTO {boincimport_temp_topic} (topic_id, post_id, nid)
2931 2931
           VALUES (%d, %d, %d)',
2932
-          $topic->id, $post->id, $node->nid
2932
+            $topic->id, $post->id, $node->nid
2933 2933
         );
2934 2934
         // Hack to keep the topics in correct order
2935 2935
         db_query('
2936 2936
           UPDATE {node_comment_statistics}
2937 2937
           SET last_comment_timestamp = %d
2938 2938
           WHERE nid = %d',
2939
-          $node->created, $node->nid
2939
+            $node->created, $node->nid
2940 2940
         );
2941 2941
         $success = TRUE;
2942
-      }
2942
+        }
2943
+    }
2943 2944
     }
2944
-  }
2945 2945
   
2946
-  $message = '';
2947
-  if ($success) {
2946
+    $message = '';
2947
+    if ($success) {
2948 2948
     // Store some result for post-processing in the finished callback.
2949 2949
     $context['results']['success'][] = $topic->id;
2950 2950
     $message = "Successfully imported team topic {$topic->id}";
2951
-  }
2952
-  else {
2951
+    }
2952
+    else {
2953 2953
     $context['results']['failure'][] = $topic->id;
2954 2954
     $message = "Failed to import team topic {$topic->id}!";
2955 2955
     watchdog('boincimport',
2956
-      'Failed to import team topic @id!',
2957
-      array('@id' => $topic->id), WATCHDOG_WARNING
2956
+        'Failed to import team topic @id!',
2957
+        array('@id' => $topic->id), WATCHDOG_WARNING
2958 2958
     ); 
2959
-  }
2959
+    }
2960 2960
   
2961
-  // Update our progress information.
2962
-  $context['sandbox']['progress']++;
2963
-  $context['sandbox']['current_topic'] = $topic->id;
2964
-  $context['message'] = $message;
2961
+    // Update our progress information.
2962
+    $context['sandbox']['progress']++;
2963
+    $context['sandbox']['current_topic'] = $topic->id;
2964
+    $context['message'] = $message;
2965 2965
 
2966
-  // Update the progress for the batch engine
2967
-  if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
2966
+    // Update the progress for the batch engine
2967
+    if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
2968 2968
     $context['finished'] = 1;
2969
-  }
2970
-  else {
2969
+    }
2970
+    else {
2971 2971
     $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
2972
-  }
2972
+    }
2973 2973
 }
2974 2974
 
2975 2975
 /**
2976 2976
  * Batch 'finished' callback
2977 2977
  */
2978 2978
 function boincimport_team_topics_finished($success, $results, $operations) {
2979
-  if ($success) {
2979
+    if ($success) {
2980 2980
     // Let's count our successes
2981 2981
     $total_imported = count($results['success']);
2982 2982
     $message = t(
2983
-      'Successfully imported @count team topics',
2984
-      array('@count' => $total_imported)
2983
+        'Successfully imported @count team topics',
2984
+        array('@count' => $total_imported)
2985 2985
     );
2986 2986
     watchdog('boincimport',
2987
-      'Successfully imported @count team topics.',
2988
-      array('@count' => $total_imported), WATCHDOG_INFO
2987
+        'Successfully imported @count team topics.',
2988
+        array('@count' => $total_imported), WATCHDOG_INFO
2989 2989
     ); 
2990 2990
     // Set the BLAH import successful flag in the variable table
2991 2991
     variable_set('boincimport_import_team_topic_successful', '1');
2992 2992
     $_SESSION['boincimport_stage_selected'] = 'team posts';
2993
-  }
2994
-  else {
2993
+    }
2994
+    else {
2995 2995
     // An error occurred.
2996 2996
     // $operations contains the operations that remained unprocessed.
2997 2997
     $error_operation = reset($operations);
2998 2998
     $message = 'An error occurred while processing ' . $error_operation[0] . ' with arguments :' . print_r($error_operation[0], TRUE);
2999
-  }
3000
-  drupal_set_message($message);
2999
+    }
3000
+    drupal_set_message($message);
3001 3001
   
3002
-  // Release the lock on the import process
3003
-  variable_del('boincimport_process_locked');
3004
-  drupal_goto('admin/boinc/import/process');
3002
+    // Release the lock on the import process
3003
+    variable_del('boincimport_process_locked');
3004
+    drupal_goto('admin/boinc/import/process');
3005 3005
 }
3006 3006
 
3007 3007
 
@@ -3014,81 +3014,81 @@  discard block
 block discarded – undo
3014 3014
  */
3015 3015
 function boincimport_team_forum_posts() {
3016 3016
   
3017
-  // Check whether team forum posts have been successfully imported already
3018
-  if (variable_get('boincimport_import_team_post_successful', 0)) {
3017
+    // Check whether team forum posts have been successfully imported already
3018
+    if (variable_get('boincimport_import_team_post_successful', 0)) {
3019 3019
     drupal_set_message(t('Team forum post import has already run successfully'), 'warning');
3020 3020
     watchdog(
3021
-      'boincimport', 'Team forum post import has already run successfully',
3022
-      array(), WATCHDOG_WARNING
3021
+        'boincimport', 'Team forum post import has already run successfully',
3022
+        array(), WATCHDOG_WARNING
3023 3023
     );
3024 3024
     // Release the lock on the import process
3025 3025
     variable_del('boincimport_process_locked');
3026 3026
     return;
3027
-  }
3027
+    }
3028 3028
 
3029
-  if (!variable_get('boincimport_import_team_post_started', 0)) {
3029
+    if (!variable_get('boincimport_import_team_post_started', 0)) {
3030 3030
     // Could prepare database tables, if new fields are necessary, etc.
3031 3031
     variable_set('boincimport_import_team_post_started', 1);
3032
-  }
3032
+    }
3033 3033
   
3034
-  $pre = variable_get('boincimport_table_prefix', '');
3034
+    $pre = variable_get('boincimport_table_prefix', '');
3035 3035
 
3036
-  // Get the BOINC threads and get a count of team posts to import
3037
-  db_set_active('boinc_rw');
3038
-  $team_topic_ids = db_query('
3036
+    // Get the BOINC threads and get a count of team posts to import
3037
+    db_set_active('boinc_rw');
3038
+    $team_topic_ids = db_query('
3039 3039
     SELECT DISTINCT t.id FROM %sthread t
3040 3040
     JOIN %sforum f ON f.id = t.forum
3041 3041
     JOIN %spost p ON p.thread = t.id
3042 3042
     WHERE f.parent_type = 1
3043 3043
     ORDER BY id', $pre, $pre
3044
-  );
3045
-  $team_topic_count = db_result(db_query("
3044
+    );
3045
+    $team_topic_count = db_result(db_query("
3046 3046
     SELECT COUNT(DISTINCT t.id) FROM %sthread t
3047 3047
     JOIN %sforum f ON f.id = t.forum
3048 3048
     JOIN %spost p ON p.thread = t.id
3049 3049
     WHERE f.parent_type = 1", $pre, $pre, $pre
3050
-  ));
3051
-  $total_team_post_count = db_result(db_query("
3050
+    ));
3051
+    $total_team_post_count = db_result(db_query("
3052 3052
     SELECT COUNT(p.id) FROM %spost p
3053 3053
     JOIN %sthread t ON t.id = p.thread
3054 3054
     JOIN %sforum f ON f.id = t.forum
3055 3055
     WHERE f.parent_type = 1", $pre, $pre, $pre
3056
-  ));
3057
-  $team_post_count = $total_team_post_count - $team_topic_count;
3058
-  db_set_active('default');
3056
+    ));
3057
+    $team_post_count = $total_team_post_count - $team_topic_count;
3058
+    db_set_active('default');
3059 3059
 
3060
-  if ($team_post_count <= 0) {
3060
+    if ($team_post_count <= 0) {
3061 3061
     drupal_set_message(
3062
-      t('There were no team posts found: Aborting script'), 'warning'
3062
+        t('There were no team posts found: Aborting script'), 'warning'
3063 3063
     );
3064 3064
     watchdog('boincimport',
3065
-      'There were no team posts found: Aborting script', array(), WATCHDOG_WARNING
3065
+        'There were no team posts found: Aborting script', array(), WATCHDOG_WARNING
3066 3066
     );
3067 3067
     // Release the lock on the import process
3068 3068
     variable_del('boincimport_process_locked');
3069 3069
     return t('There were no posts found: Aborting script.');
3070
-  }
3070
+    }
3071 3071
 
3072
-  watchdog('boincimport',
3072
+    watchdog('boincimport',
3073 3073
     'Found %count team posts: Beginning Import',
3074 3074
     array('%count' => $team_post_count), WATCHDOG_INFO
3075
-  );
3075
+    );
3076 3076
   
3077
-  $operations = array();
3078
-  $existing_posts = array();
3079
-  $duplicates = array();
3077
+    $operations = array();
3078
+    $existing_posts = array();
3079
+    $duplicates = array();
3080 3080
   
3081
-  // Get the list of team posts already in Drupal to be sure we're not
3082
-  // importing any twice
3083
-  $result = db_query('
3081
+    // Get the list of team posts already in Drupal to be sure we're not
3082
+    // importing any twice
3083
+    $result = db_query('
3084 3084
     SELECT cid, post_id FROM {boincimport_temp_post}'
3085
-  );
3086
-  while ($row = db_fetch_object($result)) {
3085
+    );
3086
+    while ($row = db_fetch_object($result)) {
3087 3087
     $existing_posts[$row->post_id] = $row->cid;
3088
-  }
3088
+    }
3089 3089
   
3090
-  // Create batches to process
3091
-  while ($boincteam_topic = db_fetch_object($team_topic_ids)) {
3090
+    // Create batches to process
3091
+    while ($boincteam_topic = db_fetch_object($team_topic_ids)) {
3092 3092
     
3093 3093
     db_set_active('boinc_rw');
3094 3094
     $boincteam_posts = db_query('
@@ -3096,7 +3096,7 @@  discard block
 block discarded – undo
3096 3096
       FROM %spost
3097 3097
       WHERE thread = %d
3098 3098
       ORDER BY timestamp ASC',
3099
-      $pre, $boincteam_topic->id
3099
+        $pre, $boincteam_topic->id
3100 3100
     );
3101 3101
     db_set_active('default');
3102 3102
     
@@ -3104,43 +3104,43 @@  discard block
 block discarded – undo
3104 3104
 
3105 3105
     while ($boincteam_post = db_fetch_object($boincteam_posts)) {
3106 3106
       
3107
-      // Skip the first post as it has already been imported as a topic
3108
-      if ($first_post) {
3107
+        // Skip the first post as it has already been imported as a topic
3108
+        if ($first_post) {
3109 3109
         $first_post = false;
3110 3110
         continue;
3111
-      }
3111
+        }
3112 3112
 
3113
-      if (isset($existing_posts[$boincteam_post->id])) {
3113
+        if (isset($existing_posts[$boincteam_post->id])) {
3114 3114
         // This post has already been imported
3115 3115
         $duplicates[] = $boincteam_post->id;
3116
-      }
3117
-      else {
3116
+        }
3117
+        else {
3118 3118
         $operations[] = array(
3119
-          'boincimport_team_posts_op', array(
3119
+            'boincimport_team_posts_op', array(
3120 3120
             $boincteam_post
3121
-          )
3121
+            )
3122 3122
         );
3123
-      }
3123
+        }
3124
+    }
3124 3125
     }
3125
-  }
3126 3126
   
3127
-  if ($duplicates) {
3127
+    if ($duplicates) {
3128 3128
     drupal_set_message(t(
3129
-      'Skipped @count team posts that were already imported',
3130
-      array('@count' => count($duplicates))
3129
+        'Skipped @count team posts that were already imported',
3130
+        array('@count' => count($duplicates))
3131 3131
     ));
3132
-  }
3132
+    }
3133 3133
   
3134
-  $batch = array(
3134
+    $batch = array(
3135 3135
     'operations' => $operations,
3136 3136
     'finished' => 'boincimport_team_posts_finished',
3137 3137
     'title' => t('Importing team posts'),
3138 3138
     'init_message' => t('Beginning team post import...'),
3139 3139
     'progress_message' => t('Processed @current out of @total team posts.'),
3140 3140
     'error_message' => t('Team post import has encountered an error.'),
3141
-  );
3141
+    );
3142 3142
   
3143
-  batch_set($batch);
3143
+    batch_set($batch);
3144 3144
 }
3145 3145
 
3146 3146
 /**
@@ -3149,11 +3149,11 @@  discard block
 block discarded – undo
3149 3149
  */
3150 3150
 function boincimport_team_posts_op($post, &$context) {
3151 3151
   
3152
-  $input_format = variable_get('boincimport_input_format', 0);
3153
-  $success = FALSE;
3152
+    $input_format = variable_get('boincimport_input_format', 0);
3153
+    $success = FALSE;
3154 3154
   
3155
-  // Make sure the post is valid
3156
-  if ($post->content) {
3155
+    // Make sure the post is valid
3156
+    if ($post->content) {
3157 3157
     
3158 3158
     // Get user, node, and parent IDs for the post and sanitize
3159 3159
     $uid = boincuser_lookup_uid($post->user);
@@ -3162,14 +3162,14 @@  discard block
 block discarded – undo
3162 3162
       FROM {boincimport_temp_topic} btt
3163 3163
       LEFT JOIN {node_revisions} AS nr ON btt.nid = nr.nid
3164 3164
       WHERE btt.topic_id = %d',
3165
-      $post->thread
3165
+        $post->thread
3166 3166
     ));
3167 3167
     $nid = $node->nid;
3168 3168
     $pid = db_result(db_query('
3169 3169
       SELECT cid
3170 3170
       FROM {boincimport_temp_post}
3171 3171
       WHERE post_id = %d',
3172
-      $post->parent_post));
3172
+        $post->parent_post));
3173 3173
     if (is_null($pid)) $pid = 0;
3174 3174
     if (!$uid) $uid = 0;
3175 3175
     
@@ -3180,110 +3180,110 @@  discard block
 block discarded – undo
3180 3180
       SELECT COUNT(*)
3181 3181
       FROM {comments}
3182 3182
       WHERE nid = %d',
3183
-      $nid
3183
+        $nid
3184 3184
     ));
3185 3185
     $post_reply = $pid;
3186 3186
     
3187 3187
     if ($post_reply OR $topic_reply) {
3188
-      // Create a subject for the post from the post content. The body may be in 
3189
-      // any format, so we:
3190
-      //  1) Filter it into HTML
3191
-      //  2) Strip out all HTML tags
3192
-      //  3) Convert entities back to plain-text.
3193
-      // Note: format is checked by check_markup().
3194
-      $subject = truncate_utf8(trim(decode_entities(strip_tags(check_markup($post->content, $input_format)))), 29, TRUE);
3195
-      // Replace "Quote:" with "RE:"
3196
-      $subject = str_replace('Quote:', 'RE: ', $subject);
3197
-      // Fringe cases where the comment body is populated only by HTML tags
3198
-      // will require a default subject...
3199
-      if ($subject === '')
3188
+        // Create a subject for the post from the post content. The body may be in 
3189
+        // any format, so we:
3190
+        //  1) Filter it into HTML
3191
+        //  2) Strip out all HTML tags
3192
+        //  3) Convert entities back to plain-text.
3193
+        // Note: format is checked by check_markup().
3194
+        $subject = truncate_utf8(trim(decode_entities(strip_tags(check_markup($post->content, $input_format)))), 29, TRUE);
3195
+        // Replace "Quote:" with "RE:"
3196
+        $subject = str_replace('Quote:', 'RE: ', $subject);
3197
+        // Fringe cases where the comment body is populated only by HTML tags
3198
+        // will require a default subject...
3199
+        if ($subject === '')
3200 3200
         $subject = "RE: {$node->title}";
3201 3201
     } else {
3202
-      // This is the first post in the topic
3203
-      $subject = $node->title;
3202
+        // This is the first post in the topic
3203
+        $subject = $node->title;
3204 3204
     }
3205 3205
     
3206 3206
     // Construct the post as a Drupal comment
3207 3207
     $comment = array(
3208
-      'pid' => $pid,
3209
-      'nid' => $nid,
3210
-      'uid' => $uid,
3211
-      'subject' => $subject,
3212
-      'comment' => $post->content,
3213
-      'timestamp' => $post->timestamp,
3214
-      'status' => $post->hidden,
3215
-      'format' => $input_format
3208
+        'pid' => $pid,
3209
+        'nid' => $nid,
3210
+        'uid' => $uid,
3211
+        'subject' => $subject,
3212
+        'comment' => $post->content,
3213
+        'timestamp' => $post->timestamp,
3214
+        'status' => $post->hidden,
3215
+        'format' => $input_format
3216 3216
     );
3217 3217
     
3218 3218
     // Save the comment
3219 3219
     if (boincimport_forum_comment_save($comment)) {
3220
-      $success = db_query('
3220
+        $success = db_query('
3221 3221
         INSERT INTO {boincimport_temp_post} (post_id, cid)
3222 3222
         VALUES (%d, %d)',
3223 3223
         $post->id, $comment['cid']
3224
-      );
3224
+        );
3225
+    }
3225 3226
     }
3226
-  }
3227 3227
   
3228
-  $message = '';
3229
-  if ($success) {
3228
+    $message = '';
3229
+    if ($success) {
3230 3230
     // Store some result for post-processing in the finished callback.
3231 3231
     $context['results']['success'][] = $post->id;
3232 3232
     $message = "Successfully imported team post {$post->id}";
3233
-  }
3234
-  else {
3233
+    }
3234
+    else {
3235 3235
     $context['results']['failure'][] = $post->id;
3236 3236
     $message = "Failed to import team post {$post->id}!";
3237 3237
     watchdog('boincimport',
3238
-      'Failed to import team post @id!',
3239
-      array('@id' => $post->id), WATCHDOG_WARNING
3238
+        'Failed to import team post @id!',
3239
+        array('@id' => $post->id), WATCHDOG_WARNING
3240 3240
     ); 
3241
-  }
3241
+    }
3242 3242
   
3243
-  // Update our progress information.
3244
-  $context['sandbox']['progress']++;
3245
-  $context['sandbox']['current_post'] = $post->id;
3246
-  $context['message'] = $message;
3243
+    // Update our progress information.
3244
+    $context['sandbox']['progress']++;
3245
+    $context['sandbox']['current_post'] = $post->id;
3246
+    $context['message'] = $message;
3247 3247
 
3248
-  // Update the progress for the batch engine
3249
-  if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
3248
+    // Update the progress for the batch engine
3249
+    if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
3250 3250
     $context['finished'] = 1;
3251
-  }
3252
-  else {
3251
+    }
3252
+    else {
3253 3253
     $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
3254
-  }
3254
+    }
3255 3255
 }
3256 3256
 
3257 3257
 /**
3258 3258
  * Batch 'finished' callback
3259 3259
  */
3260 3260
 function boincimport_team_posts_finished($success, $results, $operations) {
3261
-  if ($success) {
3261
+    if ($success) {
3262 3262
     // Let's count our successes
3263 3263
     $total_imported = count($results['success']);
3264 3264
     $message = t(
3265
-      'Successfully imported @count team posts',
3266
-      array('@count' => $total_imported)
3265
+        'Successfully imported @count team posts',
3266
+        array('@count' => $total_imported)
3267 3267
     );
3268 3268
     watchdog('boincimport',
3269
-      'Successfully imported @count team posts.',
3270
-      array('@count' => $total_imported), WATCHDOG_INFO
3269
+        'Successfully imported @count team posts.',
3270
+        array('@count' => $total_imported), WATCHDOG_INFO
3271 3271
     ); 
3272 3272
     // Set the team post import successful flag in the variable table
3273 3273
     variable_set('boincimport_import_team_post_successful', '1');
3274 3274
     $_SESSION['boincimport_stage_selected'] = 'url';
3275
-  }
3276
-  else {
3275
+    }
3276
+    else {
3277 3277
     // An error occurred.
3278 3278
     // $operations contains the operations that remained unprocessed.
3279 3279
     $error_operation = reset($operations);
3280 3280
     $message = 'An error occurred while processing ' . $error_operation[0] . ' with arguments :' . print_r($error_operation[0], TRUE);
3281
-  }
3282
-  drupal_set_message($message);
3281
+    }
3282
+    drupal_set_message($message);
3283 3283
   
3284
-  // Release the lock on the import process
3285
-  variable_del('boincimport_process_locked');
3286
-  drupal_goto('admin/boinc/import/process');
3284
+    // Release the lock on the import process
3285
+    variable_del('boincimport_process_locked');
3286
+    drupal_goto('admin/boinc/import/process');
3287 3287
 }
3288 3288
 
3289 3289
 
@@ -3296,71 +3296,71 @@  discard block
 block discarded – undo
3296 3296
  */
3297 3297
 function boincimport_subscriptions() {
3298 3298
   
3299
-  // Check whether subscriptions have been successfully imported already
3300
-  if (variable_get('boincimport_import_subscription_successful', 0)) {
3299
+    // Check whether subscriptions have been successfully imported already
3300
+    if (variable_get('boincimport_import_subscription_successful', 0)) {
3301 3301
     drupal_set_message(t('Subscription import has already run successfully'), 'warning');
3302 3302
     watchdog(
3303
-      'boincimport', 'Subscription import has already run successfully',
3304
-      array(), WATCHDOG_WARNING
3303
+        'boincimport', 'Subscription import has already run successfully',
3304
+        array(), WATCHDOG_WARNING
3305 3305
     );
3306
-  }
3306
+    }
3307 3307
 
3308
-  if (!variable_get('boincimport_import_subscription_started', 0)) {
3308
+    if (!variable_get('boincimport_import_subscription_started', 0)) {
3309 3309
     // Could prepare database tables, if new fields are necessary, etc.
3310 3310
     variable_set('boincimport_import_subscription_started', 1);
3311
-  }
3311
+    }
3312 3312
   
3313
-  $pre = variable_get('boincimport_table_prefix', '');
3313
+    $pre = variable_get('boincimport_table_prefix', '');
3314 3314
 
3315
-  // Get users with subscriptions to import
3316
-  db_set_active('boinc_rw');
3317
-  $users_with_subscriptions = db_query('
3315
+    // Get users with subscriptions to import
3316
+    db_set_active('boinc_rw');
3317
+    $users_with_subscriptions = db_query('
3318 3318
     SELECT DISTINCT userid
3319 3319
     FROM %ssubscriptions
3320 3320
     ORDER BY userid ASC',
3321 3321
     $pre
3322
-  );
3323
-  $user_count = mysqli_num_rows($users_with_subscriptions);
3324
-  db_set_active('default');
3322
+    );
3323
+    $user_count = mysqli_num_rows($users_with_subscriptions);
3324
+    db_set_active('default');
3325 3325
 
3326
-  if (!$user_count) {
3326
+    if (!$user_count) {
3327 3327
     drupal_set_message(
3328
-      t('There were no subscriptions found: Aborting script'), 'warning'
3328
+        t('There were no subscriptions found: Aborting script'), 'warning'
3329 3329
     );
3330 3330
     watchdog('boincimport',
3331
-      'There were no subscriptions found: Aborting script', array(), WATCHDOG_WARNING
3331
+        'There were no subscriptions found: Aborting script', array(), WATCHDOG_WARNING
3332 3332
     );
3333 3333
     // Release the lock on the import process
3334 3334
     variable_del('boincimport_process_locked');
3335 3335
     return t('There were no subscriptions found: Aborting script.');
3336
-  }
3336
+    }
3337 3337
 
3338
-  watchdog('boincimport',
3338
+    watchdog('boincimport',
3339 3339
     'Found %count users with subscriptions: Beginning import',
3340 3340
     array('%count' => $user_count), WATCHDOG_INFO
3341
-  );
3341
+    );
3342 3342
   
3343
-  $operations = array();
3343
+    $operations = array();
3344 3344
   
3345
-  // Create batches to process
3346
-  while ($subscribed_user = db_fetch_object($users_with_subscriptions)) {
3345
+    // Create batches to process
3346
+    while ($subscribed_user = db_fetch_object($users_with_subscriptions)) {
3347 3347
     $operations[] = array(
3348
-      'boincimport_subscriptions_op', array(
3348
+        'boincimport_subscriptions_op', array(
3349 3349
         $subscribed_user->userid
3350
-      )
3350
+        )
3351 3351
     );
3352
-  }
3352
+    }
3353 3353
   
3354
-  $batch = array(
3354
+    $batch = array(
3355 3355
     'operations' => $operations,
3356 3356
     'finished' => 'boincimport_subscriptions_finished',
3357 3357
     'title' => t('Importing subscriptions'),
3358 3358
     'init_message' => t('Beginning subscription import...'),
3359 3359
     'progress_message' => t('Processed @current out of @total subscriptions.'),
3360 3360
     'error_message' => t('Subscription import has encountered an error.'),
3361
-  );
3361
+    );
3362 3362
   
3363
-  batch_set($batch);
3363
+    batch_set($batch);
3364 3364
 }
3365 3365
 
3366 3366
 /**
@@ -3369,72 +3369,72 @@  discard block
 block discarded – undo
3369 3369
  */
3370 3370
 function boincimport_subscriptions_op($boincuser_id, &$context) {
3371 3371
   
3372
-  // Get the drupal user and pull subscriptions
3373
-  $uid = get_drupal_id($boincuser_id);
3374
-  $count = boincuser_pull_subscriptions($uid);
3372
+    // Get the drupal user and pull subscriptions
3373
+    $uid = get_drupal_id($boincuser_id);
3374
+    $count = boincuser_pull_subscriptions($uid);
3375 3375
   
3376
-  $message = '';
3377
-  if ($count) {
3376
+    $message = '';
3377
+    if ($count) {
3378 3378
     // Store some result for post-processing in the finished callback.
3379 3379
     $context['results']['success'][] = $boincuser_id;
3380 3380
     $context['results']['subscriptions'][$boincuser_id] = $count;
3381 3381
     $message = "Successfully imported {$count} subscriptions for user {$boincuser_id}";
3382
-  }
3383
-  else {
3382
+    }
3383
+    else {
3384 3384
     $context['results']['failure'][] = $boincuser_id;
3385 3385
     $message = "Failed to import subscriptions for user {$boincuser_id}!";
3386 3386
     watchdog('boincimport',
3387
-      'Failed to import subscriptions for user @id!',
3388
-      array('@id' => $boincuser_id), WATCHDOG_WARNING
3387
+        'Failed to import subscriptions for user @id!',
3388
+        array('@id' => $boincuser_id), WATCHDOG_WARNING
3389 3389
     ); 
3390
-  }
3390
+    }
3391 3391
   
3392
-  // Update our progress information.
3393
-  $context['sandbox']['progress']++;
3394
-  $context['sandbox']['current_user'] = $boincuser_id;
3395
-  $context['message'] = $message;
3392
+    // Update our progress information.
3393
+    $context['sandbox']['progress']++;
3394
+    $context['sandbox']['current_user'] = $boincuser_id;
3395
+    $context['message'] = $message;
3396 3396
 
3397
-  // Update the progress for the batch engine
3398
-  if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
3397
+    // Update the progress for the batch engine
3398
+    if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
3399 3399
     $context['finished'] = 1;
3400
-  }
3401
-  else {
3400
+    }
3401
+    else {
3402 3402
     $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
3403
-  }
3403
+    }
3404 3404
 }
3405 3405
 
3406 3406
 /**
3407 3407
  * Batch 'finished' callback
3408 3408
  */
3409 3409
 function boincimport_subscriptions_finished($success, $results, $operations) {
3410
-  if ($success) {
3410
+    if ($success) {
3411 3411
     // Let's count our successes
3412 3412
     $user_count = count($results['success']);
3413 3413
     $subscriptions_imported = array_sum($results['subscriptions']);
3414 3414
     $message = t(
3415
-      'Successfully imported @count subscriptions for @distinct users',
3416
-      array('@count' => $subscriptions_imported, '@distinct' => $user_count)
3415
+        'Successfully imported @count subscriptions for @distinct users',
3416
+        array('@count' => $subscriptions_imported, '@distinct' => $user_count)
3417 3417
     );
3418 3418
     watchdog('boincimport',
3419
-      'Successfully imported @count subscriptions for @distinct users.',
3420
-      array('@count' => $subscriptions_imported, '@distinct' => $user_count),
3421
-      WATCHDOG_INFO
3419
+        'Successfully imported @count subscriptions for @distinct users.',
3420
+        array('@count' => $subscriptions_imported, '@distinct' => $user_count),
3421
+        WATCHDOG_INFO
3422 3422
     ); 
3423 3423
     // Set the subscription import successful flag in the variable table
3424 3424
     variable_set('boincimport_import_subscription_successful', '1');
3425 3425
     $_SESSION['boincimport_stage_selected'] = 'url';
3426
-  }
3427
-  else {
3426
+    }
3427
+    else {
3428 3428
     // An error occurred.
3429 3429
     // $operations contains the operations that remained unprocessed.
3430 3430
     $error_operation = reset($operations);
3431 3431
     $message = 'An error occurred while processing ' . $error_operation[0] . ' with arguments :' . print_r($error_operation[0], TRUE);
3432
-  }
3433
-  drupal_set_message($message);
3432
+    }
3433
+    drupal_set_message($message);
3434 3434
   
3435
-  // Release the lock on the import process
3436
-  variable_del('boincimport_process_locked');
3437
-  drupal_goto('admin/boinc/import/process');
3435
+    // Release the lock on the import process
3436
+    variable_del('boincimport_process_locked');
3437
+    drupal_goto('admin/boinc/import/process');
3438 3438
 }
3439 3439
 
3440 3440
 
@@ -3446,112 +3446,112 @@  discard block
 block discarded – undo
3446 3446
  */
3447 3447
 function boincimport_replace_urls() {
3448 3448
   
3449
-  // Check whether URLs have already been fixed
3450
-  if (variable_get('boincimport_replace_url_successful', 0)) {
3449
+    // Check whether URLs have already been fixed
3450
+    if (variable_get('boincimport_replace_url_successful', 0)) {
3451 3451
     drupal_set_message(t('URLs have already been updated'), 'warning');
3452 3452
     watchdog(
3453
-      'boincimport', 'URLs have already been updated',
3454
-      array(), WATCHDOG_WARNING
3453
+        'boincimport', 'URLs have already been updated',
3454
+        array(), WATCHDOG_WARNING
3455 3455
     );
3456
-  }
3456
+    }
3457 3457
 
3458
-  if (!variable_get('boincimport_replace_url_started', 0)) {
3458
+    if (!variable_get('boincimport_replace_url_started', 0)) {
3459 3459
     // Could prepare database tables, if new fields are necessary, etc.
3460 3460
     variable_set('boincimport_replace_url_started', 1);
3461
-  }
3461
+    }
3462 3462
   
3463
-  // Get the count of nodes and comments to process for URL updates
3464
-  $node_count = db_result(db_query('
3463
+    // Get the count of nodes and comments to process for URL updates
3464
+    $node_count = db_result(db_query('
3465 3465
     SELECT COUNT(DISTINCT btt.nid)
3466 3466
     FROM {boincimport_temp_topic} AS btt
3467 3467
     LEFT JOIN {node_revisions} AS nr ON btt.nid = nr.nid'
3468
-  ));
3468
+    ));
3469 3469
   
3470
-  $comment_count = db_result(db_query('
3470
+    $comment_count = db_result(db_query('
3471 3471
     SELECT COUNT(c.cid)
3472 3472
     FROM {boincimport_temp_post} AS p
3473 3473
     LEFT JOIN {comments} AS c ON p.cid = c.cid'
3474
-  ));
3474
+    ));
3475 3475
   
3476
-  $pm_count = db_result(db_query('
3476
+    $pm_count = db_result(db_query('
3477 3477
     SELECT COUNT(*)
3478 3478
     FROM {pm_message} pm'
3479
-  ));
3479
+    ));
3480 3480
   
3481
-  if (!$node_count AND !$comment_count AND !$pm_count) {
3481
+    if (!$node_count AND !$comment_count AND !$pm_count) {
3482 3482
     drupal_set_message(
3483
-      t('There were no nodes, comments, or private messages found: Aborting script'), 'warning'
3483
+        t('There were no nodes, comments, or private messages found: Aborting script'), 'warning'
3484 3484
     );
3485 3485
     watchdog('boincimport',
3486
-      'There were no nodes,comments, or private messages found: Aborting script', array(), WATCHDOG_WARNING
3486
+        'There were no nodes,comments, or private messages found: Aborting script', array(), WATCHDOG_WARNING
3487 3487
     );
3488 3488
     // Release the lock on the import process
3489 3489
     variable_del('boincimport_process_locked');
3490 3490
     return t('There were no nodes, comments, or private messages found: Aborting script.');
3491
-  }
3491
+    }
3492 3492
   
3493
-  watchdog('boincimport',
3493
+    watchdog('boincimport',
3494 3494
     'Found %node_count nodes, %comment_count comments, and %pm_count private messages: Updating URLs...',
3495 3495
     array(
3496
-      '%node_count' => $node_count,
3497
-      '%comment_count' => $comment_count,
3498
-      '%pm_count' => $pm_count,
3496
+        '%node_count' => $node_count,
3497
+        '%comment_count' => $comment_count,
3498
+        '%pm_count' => $pm_count,
3499 3499
     ),
3500 3500
     WATCHDOG_INFO
3501
-  );
3501
+    );
3502 3502
   
3503
-  $operations = array();
3504
-  $batch_size = 100;
3503
+    $operations = array();
3504
+    $batch_size = 100;
3505 3505
   
3506
-  // Create node batches to process
3507
-  for ($offset = 0; $offset < $node_count; $offset+=$batch_size) {
3506
+    // Create node batches to process
3507
+    for ($offset = 0; $offset < $node_count; $offset+=$batch_size) {
3508 3508
     $nodes_per_batch = $batch_size;
3509 3509
     if ($offset + $batch_size > $node_count) {
3510
-      $nodes_per_batch = $node_count - $offset;
3510
+        $nodes_per_batch = $node_count - $offset;
3511 3511
     }
3512 3512
     $operations[] = array(
3513
-      'boincimport_replace_urls_node_op', array(
3513
+        'boincimport_replace_urls_node_op', array(
3514 3514
         $offset, $nodes_per_batch
3515
-      )
3515
+        )
3516 3516
     );
3517
-  }
3518
-  // Add comment batches
3519
-  for ($offset = 0; $offset < $comment_count; $offset+=$batch_size) {
3517
+    }
3518
+    // Add comment batches
3519
+    for ($offset = 0; $offset < $comment_count; $offset+=$batch_size) {
3520 3520
     $comments_per_batch = $batch_size;
3521 3521
     if ($offset + $batch_size > $comment_count) {
3522
-      $comments_per_batch = $comment_count - $offset;
3522
+        $comments_per_batch = $comment_count - $offset;
3523 3523
     }
3524 3524
     $operations[] = array(
3525
-      'boincimport_replace_urls_comment_op', array(
3525
+        'boincimport_replace_urls_comment_op', array(
3526 3526
         $offset, $comments_per_batch
3527
-      )
3527
+        )
3528 3528
     );
3529
-  }
3530
-  // And don't forget to process private messages
3531
-  for ($offset = 0; $offset < $pm_count; $offset+=$batch_size) {
3529
+    }
3530
+    // And don't forget to process private messages
3531
+    for ($offset = 0; $offset < $pm_count; $offset+=$batch_size) {
3532 3532
     $messages_per_batch = $batch_size;
3533 3533
     if ($offset + $batch_size > $pm_count) {
3534
-      $messages_per_batch = $pm_count - $offset;
3534
+        $messages_per_batch = $pm_count - $offset;
3535 3535
     }
3536 3536
     $operations[] = array(
3537
-      'boincimport_replace_urls_pm_op', array(
3537
+        'boincimport_replace_urls_pm_op', array(
3538 3538
         $offset, $messages_per_batch
3539
-      )
3539
+        )
3540 3540
     );
3541
-  }
3541
+    }
3542 3542
   
3543
-  $batch = array(
3543
+    $batch = array(
3544 3544
     'operations' => $operations,
3545 3545
     'finished' => 'boincimport_replace_urls_finished',
3546 3546
     'title' => t('Updating URLs...'),
3547 3547
     'init_message' => t('Beginning URL update...'),
3548 3548
     'progress_message' => t('Processed URLs in @current out of @total batches (@size items per batch).', array(
3549
-      '@size' => $batch_size,
3549
+        '@size' => $batch_size,
3550 3550
     )),
3551 3551
     'error_message' => t('URL update has encountered an error.'),
3552
-  );
3552
+    );
3553 3553
   
3554
-  batch_set($batch);
3554
+    batch_set($batch);
3555 3555
 }
3556 3556
 
3557 3557
 /**
@@ -3559,27 +3559,27 @@  discard block
 block discarded – undo
3559 3559
  * Find URLs for the old system and update them with Drupal paths
3560 3560
  */
3561 3561
 function boincimport_replace_urls_node_op($offset, $batch_size, &$context) {
3562
-  // Initialize the batch, if needed
3563
-  if (!isset($context['sandbox']['progress'])) {
3562
+    // Initialize the batch, if needed
3563
+    if (!isset($context['sandbox']['progress'])) {
3564 3564
     $context['sandbox']['progress'] = 0;
3565 3565
     $context['sandbox']['max'] = $batch_size;
3566
-  }
3566
+    }
3567 3567
   
3568
-  $input_format = variable_get('boincimport_input_format', 0);
3568
+    $input_format = variable_get('boincimport_input_format', 0);
3569 3569
 
3570
-  // Since topics have just been imported, there should be only one vid for
3571
-  // each nid, so we can update node_revisions by nid
3572
-  // Get nodes to process
3573
-  $nodes = db_query('
3570
+    // Since topics have just been imported, there should be only one vid for
3571
+    // each nid, so we can update node_revisions by nid
3572
+    // Get nodes to process
3573
+    $nodes = db_query('
3574 3574
     SELECT btt.nid, nr.body, nr.teaser
3575 3575
     FROM {boincimport_temp_topic} AS btt
3576 3576
     LEFT JOIN {node_revisions} AS nr ON btt.nid = nr.nid
3577 3577
     ORDER BY btt.nid
3578 3578
     LIMIT %d,%d',
3579 3579
     $offset, $batch_size
3580
-  );
3580
+    );
3581 3581
   
3582
-  while ($node = db_fetch_object($nodes)) {
3582
+    while ($node = db_fetch_object($nodes)) {
3583 3583
     $updated = FALSE;
3584 3584
     
3585 3585
     // Update URLs in node contents
@@ -3588,23 +3588,23 @@  discard block
 block discarded – undo
3588 3588
     $node->body = _boincimport_replace_links($node->body);
3589 3589
     $node->teaser = _boincimport_replace_links($node->teaser);
3590 3590
     if ($node->body != $original_body OR $node->teaser != $original_teaser) {
3591
-      $updated = db_query("
3591
+        $updated = db_query("
3592 3592
         UPDATE {node_revisions}
3593 3593
         SET body= '%s', teaser = '%s'
3594 3594
         WHERE nid = %d",
3595 3595
         $node->body, $node->teaser, $node->nid
3596
-      );
3596
+        );
3597 3597
     }
3598 3598
     
3599 3599
     $message = '';
3600 3600
     $context['results']['success'][] = $node->nid;
3601 3601
     if ($updated) {
3602
-      // Store some result for post-processing in the finished callback.
3603
-      $context['results']['nodes']['updated'][] = $node->nid;
3604
-      $message = "Successfully updated node {$node->nid}";
3602
+        // Store some result for post-processing in the finished callback.
3603
+        $context['results']['nodes']['updated'][] = $node->nid;
3604
+        $message = "Successfully updated node {$node->nid}";
3605 3605
     }
3606 3606
     else {
3607
-      $message = "No changes made to node {$node->nid}!";
3607
+        $message = "No changes made to node {$node->nid}!";
3608 3608
     }
3609 3609
     
3610 3610
     // Update our progress information.
@@ -3614,12 +3614,12 @@  discard block
 block discarded – undo
3614 3614
 
3615 3615
     // Update the progress for the batch engine
3616 3616
     if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
3617
-      $context['finished'] = 1;
3617
+        $context['finished'] = 1;
3618 3618
     }
3619 3619
     else {
3620
-      $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
3620
+        $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
3621
+    }
3621 3622
     }
3622
-  }
3623 3623
 }
3624 3624
 
3625 3625
 /**
@@ -3627,48 +3627,48 @@  discard block
 block discarded – undo
3627 3627
  * Find URLs for the old system and update them with Drupal paths
3628 3628
  */
3629 3629
 function boincimport_replace_urls_comment_op($offset, $batch_size, &$context) {
3630
-  // Initialize the batch, if needed
3631
-  if (!isset($context['sandbox']['progress'])) {
3630
+    // Initialize the batch, if needed
3631
+    if (!isset($context['sandbox']['progress'])) {
3632 3632
     $context['sandbox']['progress'] = 0;
3633 3633
     $context['sandbox']['max'] = $batch_size;
3634
-  }
3634
+    }
3635 3635
   
3636
-  $input_format = variable_get('boincimport_input_format', 0);
3636
+    $input_format = variable_get('boincimport_input_format', 0);
3637 3637
   
3638
-  // Get comments to process
3639
-  $comments = db_query('
3638
+    // Get comments to process
3639
+    $comments = db_query('
3640 3640
     SELECT c.cid, c.comment
3641 3641
     FROM {boincimport_temp_post} AS p
3642 3642
     LEFT JOIN {comments} AS c ON p.cid = c.cid
3643 3643
     ORDER BY c.cid
3644 3644
     LIMIT %d,%d',
3645 3645
     $offset, $batch_size
3646
-  );
3646
+    );
3647 3647
   
3648
-  while ($comment = db_fetch_object($comments)) {
3648
+    while ($comment = db_fetch_object($comments)) {
3649 3649
     $updated = FALSE;
3650 3650
     
3651 3651
     // Update URLs in comment contents
3652 3652
     $original_comment = $comment->comment;
3653 3653
     $comment->comment = _boincimport_replace_links($comment->comment);
3654 3654
     if ($comment->comment != $original_comment) {
3655
-      $updated = db_query("
3655
+        $updated = db_query("
3656 3656
         UPDATE {comments}
3657 3657
         SET comment= '%s'
3658 3658
         WHERE cid = %d",
3659 3659
         $comment->comment, $comment->cid
3660
-      );
3660
+        );
3661 3661
     }
3662 3662
     
3663 3663
     $message = '';
3664 3664
     $context['results']['success'][] = $comment->cid;
3665 3665
     if ($updated) {
3666
-      // Store some result for post-processing in the finished callback.
3667
-      $context['results']['comments']['updated'][] = $comment->cid;
3668
-      $message = "Successfully updated comment {$comment->cid}";
3666
+        // Store some result for post-processing in the finished callback.
3667
+        $context['results']['comments']['updated'][] = $comment->cid;
3668
+        $message = "Successfully updated comment {$comment->cid}";
3669 3669
     }
3670 3670
     else {
3671
-      $message = "No changes made to comment {$comment->cid}!";
3671
+        $message = "No changes made to comment {$comment->cid}!";
3672 3672
     }
3673 3673
     
3674 3674
     // Update our progress information.
@@ -3678,12 +3678,12 @@  discard block
 block discarded – undo
3678 3678
 
3679 3679
     // Update the progress for the batch engine
3680 3680
     if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
3681
-      $context['finished'] = 1;
3681
+        $context['finished'] = 1;
3682 3682
     }
3683 3683
     else {
3684
-      $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
3684
+        $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
3685
+    }
3685 3686
     }
3686
-  }
3687 3687
 }
3688 3688
 
3689 3689
 /**
@@ -3691,47 +3691,47 @@  discard block
 block discarded – undo
3691 3691
  * Find URLs for the old system and update them with Drupal paths
3692 3692
  */
3693 3693
 function boincimport_replace_urls_pm_op($offset, $batch_size, &$context) {
3694
-  // Initialize the batch, if needed
3695
-  if (!isset($context['sandbox']['progress'])) {
3694
+    // Initialize the batch, if needed
3695
+    if (!isset($context['sandbox']['progress'])) {
3696 3696
     $context['sandbox']['progress'] = 0;
3697 3697
     $context['sandbox']['max'] = $batch_size;
3698
-  }
3698
+    }
3699 3699
   
3700
-  $input_format = variable_get('boincimport_input_format', 0);
3700
+    $input_format = variable_get('boincimport_input_format', 0);
3701 3701
   
3702
-  // Get private messages to process
3703
-  $messages = db_query('
3702
+    // Get private messages to process
3703
+    $messages = db_query('
3704 3704
     SELECT pm.mid, pm.body
3705 3705
     FROM {pm_message} pm
3706 3706
     ORDER BY pm.mid
3707 3707
     LIMIT %d,%d',
3708 3708
     $offset, $batch_size
3709
-  );
3709
+    );
3710 3710
   
3711
-  while ($pm = db_fetch_object($messages)) {
3711
+    while ($pm = db_fetch_object($messages)) {
3712 3712
     $updated = FALSE;
3713 3713
     
3714 3714
     // Update URLs in private message body
3715 3715
     $original_pm_body = $pm->body;
3716 3716
     $pm->body = _boincimport_replace_links($pm->body);
3717 3717
     if ($pm->body != $original_pm_body) {
3718
-      $updated = db_query("
3718
+        $updated = db_query("
3719 3719
         UPDATE {pm_message}
3720 3720
         SET body= '%s'
3721 3721
         WHERE mid = %d",
3722 3722
         $pm->body, $pm->mid
3723
-      );
3723
+        );
3724 3724
     }
3725 3725
     
3726 3726
     $message = '';
3727 3727
     $context['results']['success'][] = $pm->mid;
3728 3728
     if ($updated) {
3729
-      // Store some result for post-processing in the finished callback.
3730
-      $context['results']['pm']['updated'][] = $pm->mid;
3731
-      $message = "Successfully updated private message {$pm->mid}";
3729
+        // Store some result for post-processing in the finished callback.
3730
+        $context['results']['pm']['updated'][] = $pm->mid;
3731
+        $message = "Successfully updated private message {$pm->mid}";
3732 3732
     }
3733 3733
     else {
3734
-      $message = "No changes made to private message {$pm->mid}!";
3734
+        $message = "No changes made to private message {$pm->mid}!";
3735 3735
     }
3736 3736
     
3737 3737
     // Update our progress information.
@@ -3741,85 +3741,85 @@  discard block
 block discarded – undo
3741 3741
 
3742 3742
     // Update the progress for the batch engine
3743 3743
     if ($context['sandbox']['progress'] >= $context['sandbox']['max']) {
3744
-      $context['finished'] = 1;
3744
+        $context['finished'] = 1;
3745 3745
     }
3746 3746
     else {
3747
-      $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
3747
+        $context['finished'] = $context['sandbox']['progress'] / $context['sandbox']['max'];
3748
+    }
3748 3749
     }
3749
-  }
3750 3750
 }
3751 3751
 
3752 3752
 /**
3753 3753
  * Batch 'finished' callback
3754 3754
  */
3755 3755
 function boincimport_replace_urls_finished($success, $results, $operations) {
3756
-  if ($success) {
3756
+    if ($success) {
3757 3757
     // Let's count our successes
3758 3758
     $total_processed = count($results['success']);
3759 3759
     $nodes_updated = count($results['nodes']['updated']);
3760 3760
     $comments_updated = count($results['comments']['updated']);
3761 3761
     $private_messages_updated = count($results['pm']['updated']);
3762 3762
     $message = t(
3763
-      'Successfully processed @count nodes, comments, and private messages (@nodes_updated nodes, @comments_updated comments, and @pm_updated private messages were updated)',
3764
-      array(
3763
+        'Successfully processed @count nodes, comments, and private messages (@nodes_updated nodes, @comments_updated comments, and @pm_updated private messages were updated)',
3764
+        array(
3765 3765
         '@count' => $total_processed,
3766 3766
         '@nodes_updated' => $nodes_updated,
3767 3767
         '@comments_updated' => $comments_updated,
3768 3768
         '@pm_updated' => $private_messages_updated,
3769
-      )
3769
+        )
3770 3770
     );
3771 3771
     if ($private_messages_updated) {
3772
-      watchdog('boincimport',
3772
+        watchdog('boincimport',
3773 3773
         'Updated URLs in these private_messages: @mid_list',
3774 3774
         array(
3775
-          '@mid_list' => implode(', ', $results['pm']['updated']),
3775
+            '@mid_list' => implode(', ', $results['pm']['updated']),
3776 3776
         ),
3777 3777
         WATCHDOG_INFO
3778
-      );
3778
+        );
3779 3779
     }
3780 3780
     if ($comments_updated) {
3781
-      watchdog('boincimport',
3781
+        watchdog('boincimport',
3782 3782
         'Updated URLs in these comments: @cid_list',
3783 3783
         array(
3784
-          '@cid_list' => implode(', ', $results['comments']['updated']),
3784
+            '@cid_list' => implode(', ', $results['comments']['updated']),
3785 3785
         ),
3786 3786
         WATCHDOG_INFO
3787
-      );
3787
+        );
3788 3788
     }
3789 3789
     if ($nodes_updated) {
3790
-      watchdog('boincimport',
3790
+        watchdog('boincimport',
3791 3791
         'Updated URLs in these nodes: @nid_list',
3792 3792
         array(
3793
-          '@nid_list' => implode(', ', $results['nodes']['updated']),
3793
+            '@nid_list' => implode(', ', $results['nodes']['updated']),
3794 3794
         ),
3795 3795
         WATCHDOG_INFO
3796
-      );
3796
+        );
3797 3797
     }
3798 3798
     watchdog('boincimport',
3799
-      'Successfully processed @count nodes, comments, and private messages (@nodes_updated nodes, @comments_updated comments, and @pm_updated private messages were updated)',
3800
-      array(
3799
+        'Successfully processed @count nodes, comments, and private messages (@nodes_updated nodes, @comments_updated comments, and @pm_updated private messages were updated)',
3800
+        array(
3801 3801
         '@count' => $total_processed,
3802 3802
         '@nodes_updated' => $nodes_updated,
3803 3803
         '@comments_updated' => $comments_updated,
3804 3804
         '@pm_updated' => $private_messages_updated,
3805
-      ),
3806
-      WATCHDOG_INFO
3805
+        ),
3806
+        WATCHDOG_INFO
3807 3807
     );
3808 3808
     // Set the replace URLs successful flag in the variable table
3809 3809
     variable_set('boincimport_replace_urls_successful', '1');
3810 3810
     $_SESSION['boincimport_stage_selected'] = 'users';
3811
-  }
3812
-  else {
3811
+    }
3812
+    else {
3813 3813
     // An error occurred.
3814 3814
     // $operations contains the operations that remained unprocessed.
3815 3815
     $error_operation = reset($operations);
3816 3816
     $message = 'An error occurred while processing ' . $error_operation[0] . ' with arguments :' . print_r($error_operation[0], TRUE);
3817
-  }
3818
-  drupal_set_message($message);
3817
+    }
3818
+    drupal_set_message($message);
3819 3819
   
3820
-  // Release the lock on the import process
3821
-  variable_del('boincimport_process_locked');
3822
-  drupal_goto('admin/boinc/import/process');
3820
+    // Release the lock on the import process
3821
+    variable_del('boincimport_process_locked');
3822
+    drupal_goto('admin/boinc/import/process');
3823 3823
 }
3824 3824
 
3825 3825
 
@@ -3831,43 +3831,43 @@  discard block
 block discarded – undo
3831 3831
  * Remove temporary variables, clear caches, etc.
3832 3832
  */
3833 3833
 function boincimport_process_cleanup() {
3834
-  db_set_active('default');
3835
-  
3836
-  variable_del('boincimport_base_url_boinc');
3837
-  variable_del('boincimport_base_url_drupal');
3838
-  variable_del('boincimport_import_user_successful');
3839
-  variable_del('boincimport_import_user_started');
3840
-  variable_del('boincimport_import_team_successful');
3841
-  variable_del('boincimport_import_team_started');
3842
-  variable_del('boincimport_import_category_successful');
3843
-  variable_del('boincimport_replace_url_successful');
3844
-  variable_del('boincimport_import_category_started');
3845
-  variable_del('boincimport_import_topic_successful');
3846
-  variable_del('boincimport_import_topic_started');
3847
-  variable_del('boincimport_import_post_successful');
3848
-  variable_del('boincimport_import_post_started');
3849
-  variable_del('boincimport_team_forum_successful');
3850
-  variable_del('boincimport_team_topic_successful');
3851
-  variable_del('boincimport_team_post_successful');
3852
-  variable_del('boincimport_team_post_started');
3853
-  variable_del('boincimport_ready');
3854
-  variable_del('boincimport_db_url');
3855
-  variable_del('boincimport_tested');
3856
-  variable_del('boincimport_db_configured');
3857
-  variable_del('boincimport_table_prefix');
3858
-  variable_del('boincimport_team_types');
3859
-  variable_del('boincimport_time_limit');
3860
-  variable_del('boincimport_import_lurkers');
3861
-  variable_del('boincimport_import_polls'); 
3862
-  variable_del('boincimport_import_poll_started');
3863
-  variable_del('boincimport_import_poll_successful');
3864
-  variable_del('boincimport_import_pm_successful');
3865
-  variable_del('boincimport_encode');
3866
-  variable_del('boincimport_encoding_phpbb');
3867
-  variable_del('boincimport_encoding_drupal');
3868
-  variable_del('boincimport_version');
3869
-
3870
-  db_query('DELETE FROM {cache}');
3834
+    db_set_active('default');
3835
+  
3836
+    variable_del('boincimport_base_url_boinc');
3837
+    variable_del('boincimport_base_url_drupal');
3838
+    variable_del('boincimport_import_user_successful');
3839
+    variable_del('boincimport_import_user_started');
3840
+    variable_del('boincimport_import_team_successful');
3841
+    variable_del('boincimport_import_team_started');
3842
+    variable_del('boincimport_import_category_successful');
3843
+    variable_del('boincimport_replace_url_successful');
3844
+    variable_del('boincimport_import_category_started');
3845
+    variable_del('boincimport_import_topic_successful');
3846
+    variable_del('boincimport_import_topic_started');
3847
+    variable_del('boincimport_import_post_successful');
3848
+    variable_del('boincimport_import_post_started');
3849
+    variable_del('boincimport_team_forum_successful');
3850
+    variable_del('boincimport_team_topic_successful');
3851
+    variable_del('boincimport_team_post_successful');
3852
+    variable_del('boincimport_team_post_started');
3853
+    variable_del('boincimport_ready');
3854
+    variable_del('boincimport_db_url');
3855
+    variable_del('boincimport_tested');
3856
+    variable_del('boincimport_db_configured');
3857
+    variable_del('boincimport_table_prefix');
3858
+    variable_del('boincimport_team_types');
3859
+    variable_del('boincimport_time_limit');
3860
+    variable_del('boincimport_import_lurkers');
3861
+    variable_del('boincimport_import_polls'); 
3862
+    variable_del('boincimport_import_poll_started');
3863
+    variable_del('boincimport_import_poll_successful');
3864
+    variable_del('boincimport_import_pm_successful');
3865
+    variable_del('boincimport_encode');
3866
+    variable_del('boincimport_encoding_phpbb');
3867
+    variable_del('boincimport_encoding_drupal');
3868
+    variable_del('boincimport_version');
3869
+
3870
+    db_query('DELETE FROM {cache}');
3871 3871
 }
3872 3872
 
3873 3873
 /**
@@ -3875,15 +3875,15 @@  discard block
 block discarded – undo
3875 3875
  */
3876 3876
 
3877 3877
 function boincimport_forum_comment_save(&$edit) {
3878
-  // Here we are building the thread field.  See the comment in comment_render().
3879
-  if ($edit['pid'] == 0) {
3878
+    // Here we are building the thread field.  See the comment in comment_render().
3879
+    if ($edit['pid'] == 0) {
3880 3880
     // This is a comment with no parent comment (depth 0): we start by retrieving
3881 3881
     // the maximum thread level.
3882 3882
     $max = db_result(db_query('SELECT MAX(thread) FROM {comments} WHERE nid = %d', $edit['nid']));
3883 3883
     // Strip the "/" from the end of the thread.
3884 3884
     $max = rtrim($max, '/');
3885 3885
     $thread = int2vancode(vancode2int($max)+1) .'/';
3886
-  } else {
3886
+    } else {
3887 3887
     // This is comment with a parent comment: we increase the part of the thread
3888 3888
     // value at the proper depth.
3889 3889
     $parent = db_fetch_object(db_query('SELECT * FROM {comments} WHERE cid = %d', $edit['pid']));
@@ -3892,71 +3892,71 @@  discard block
 block discarded – undo
3892 3892
     // Get the max value in _this_ thread.
3893 3893
     $max = db_result(db_query("SELECT MAX(thread) FROM {comments} WHERE thread LIKE '%s.%%' AND nid = %d", $parent->thread, $edit['nid']));
3894 3894
     if ($max == '') {
3895
-      // First child of this parent.
3896
-      $thread = $parent->thread .'.'. int2vancode(1) .'/';
3895
+        // First child of this parent.
3896
+        $thread = $parent->thread .'.'. int2vancode(1) .'/';
3897 3897
     } else {
3898
-      // Strip the "/" at the end of the thread.
3899
-      $max = rtrim($max, '/');
3900
-      // We need to get the value at the correct depth.
3901
-      $parts = explode('.', $max);
3902
-      $parent_depth = count(explode('.', $parent->thread));
3903
-      $last = $parts[$parent_depth];
3904
-      // Finally, build the thread field for this new comment.
3905
-      $thread = $parent->thread .'.'. int2vancode(vancode2int($last) + 1) .'/';
3898
+        // Strip the "/" at the end of the thread.
3899
+        $max = rtrim($max, '/');
3900
+        // We need to get the value at the correct depth.
3901
+        $parts = explode('.', $max);
3902
+        $parent_depth = count(explode('.', $parent->thread));
3903
+        $last = $parts[$parent_depth];
3904
+        // Finally, build the thread field for this new comment.
3905
+        $thread = $parent->thread .'.'. int2vancode(vancode2int($last) + 1) .'/';
3906
+    }
3906 3907
     }
3907
-  }
3908 3908
 
3909
-  $status = 0; // 1 - not published, 0 - published
3910
-  $format = variable_get('boincimport_input_format', 0);
3911
-  $score = 0; // 0 default value, comments get higher score depending on the author's roles
3912
-  $users = serialize(array(0 => 1));  // default value for everybody!!
3909
+    $status = 0; // 1 - not published, 0 - published
3910
+    $format = variable_get('boincimport_input_format', 0);
3911
+    $score = 0; // 0 default value, comments get higher score depending on the author's roles
3912
+    $users = serialize(array(0 => 1));  // default value for everybody!!
3913 3913
   
3914
-  if ($edit['uid'] === $user->uid) { // '===' because we want to modify anonymous users too
3914
+    if ($edit['uid'] === $user->uid) { // '===' because we want to modify anonymous users too
3915 3915
     $edit['name'] = $user->name;
3916
-  }
3916
+    }
3917 3917
 
3918
-  $success = db_query("INSERT INTO {comments} (nid, pid, uid, subject, comment, format, hostname, timestamp, status, thread, name) VALUES (%d, %d, %d, '%s', '%s', %d, '%s', %d, %d, '%s', '%s')", $edit['nid'], $edit['pid'], $edit['uid'], $edit['subject'], $edit['comment'], $edit['format'], ip_address(), $edit['timestamp'], $edit['status'], $thread, $edit['name']);
3919
-  if ($success) {
3918
+    $success = db_query("INSERT INTO {comments} (nid, pid, uid, subject, comment, format, hostname, timestamp, status, thread, name) VALUES (%d, %d, %d, '%s', '%s', %d, '%s', %d, %d, '%s', '%s')", $edit['nid'], $edit['pid'], $edit['uid'], $edit['subject'], $edit['comment'], $edit['format'], ip_address(), $edit['timestamp'], $edit['status'], $thread, $edit['name']);
3919
+    if ($success) {
3920 3920
     $edit['cid'] = db_last_insert_id('comments', 'cid');
3921 3921
     _comment_update_node_statistics($edit['nid']);
3922
-  }
3923
-  return $success;
3922
+    }
3923
+    return $success;
3924 3924
 }
3925 3925
 
3926 3926
 /**
3927 3927
  * Strips text of extra phpbb3 markup and if requested, also strips all bbcode from text.
3928 3928
  */
3929 3929
 function _boincimport_strip_bbcode($text) {
3930
-  // Strip the text of extra markup - regular expressions taken from phpbb3 includes/function.php, function get_preg_expression().
3931
-  $match = array(
3930
+    // Strip the text of extra markup - regular expressions taken from phpbb3 includes/function.php, function get_preg_expression().
3931
+    $match = array(
3932 3932
     '#<!\-\- e \-\-><a href="mailto:(.*?)">.*?</a><!\-\- e \-\->#',
3933 3933
     '#<!\-\- l \-\-><a (?:class="[\w-]+" )?href="(.*?)(?:(&amp;|\?)sid=[0-9a-f]{32})?">.*?</a><!\-\- l \-\->#',
3934 3934
     '#<!\-\- ([mw]) \-\-><a (?:class="[\w-]+" )?href="(.*?)">.*?</a><!\-\- \1 \-\->#',
3935 3935
     '#<!\-\- s(.*?) \-\-><img src="\{SMILIES_PATH\}\/.*? \/><!\-\- s\1 \-\->#',
3936 3936
     '#<!\-\- .*? \-\->#s',
3937 3937
     '#<.*?>#s',
3938
-  );
3939
-  $replace = array('$1', '$1', '$2', '$1', '', '');
3940
-  $text = preg_replace($match, $replace, $text);
3938
+    );
3939
+    $replace = array('$1', '$1', '$2', '$1', '', '');
3940
+    $text = preg_replace($match, $replace, $text);
3941 3941
 
3942
-  // If BBcode conversion to has been selected, the following will convert the
3943
-  // BBcode to normal html
3944
-  if (variable_get('boincimport_bbcode', 0)) {
3942
+    // If BBcode conversion to has been selected, the following will convert the
3943
+    // BBcode to normal html
3944
+    if (variable_get('boincimport_bbcode', 0)) {
3945 3945
     $input_format = variable_get('boincimport_input_format', 0);
3946 3946
     $text = bbcode_filter('process', 0 , $input_format, $text);
3947
-  }
3948
-  return $text;
3947
+    }
3948
+    return $text;
3949 3949
 }
3950 3950
 
3951 3951
 /**
3952 3952
  * Function to properly encode strings.
3953 3953
  */
3954 3954
 function _boincimport_text_sanitize($text) {
3955
-  $input_format = variable_get('boincimport_input_format', 0);
3956
-  $text = html_entity_decode($text, ENT_QUOTES, 'utf-8');
3957
-  // Be sure the text is filtered for the default input format
3958
-  $text = check_markup($text, $input_format);
3959
-  return $text;
3955
+    $input_format = variable_get('boincimport_input_format', 0);
3956
+    $text = html_entity_decode($text, ENT_QUOTES, 'utf-8');
3957
+    // Be sure the text is filtered for the default input format
3958
+    $text = check_markup($text, $input_format);
3959
+    return $text;
3960 3960
 }
3961 3961
 
3962 3962
 
@@ -3965,25 +3965,25 @@  discard block
 block discarded – undo
3965 3965
  */
3966 3966
 function _boincimport_replace_links($html) {
3967 3967
   
3968
-  $transformer = new BoincImportUrlTransformer();
3969
-  
3970
-  // Update links to posts, threads, and forums
3971
-  $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)forum_thread\.php\?id=(\d+)&postid=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformPostLinks'), $html);
3972
-  $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)forum_thread\.php\?id=(\d+)(&\w+=\w*)*?(#(\d+)?)}i', array($transformer, 'transformOldPostLinks'), $html);
3973
-  $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)forum_thread\.php\?id=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformTopicLinks'), $html);
3974
-  $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)forum_forum\.php\?id=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformForumLinks'), $html);
3975
-  $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)show_user\.php\?userid=(\d+)((&\w+=\w*)+)?}i', array($transformer, 'transformUserLinks'), $html);
3976
-  $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)workunit\.php\?wuid=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformWorkUnitLinks'), $html);
3977
-  $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)result\.php\?resultid=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformResultLinks'), $html);
3978
-  $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)results\.php\?userid=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformUserResultsLinks'), $html);
3979
-  $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)results\.php\?hostid=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformHostResultsLinks'), $html);
3980
-  $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)show_host_detail\.php\?hostid=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformHostLinks'), $html);
3981
-  $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)hosts_user\.php\?userid=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformUserHostsLinks'), $html);
3982
-  
3983
-  // Update any links to the top level index
3984
-  $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)forum_index.php}i', array($transformer, 'transformForumIndexLinks'), $html);
3985
-  
3986
-  return $html;
3968
+    $transformer = new BoincImportUrlTransformer();
3969
+  
3970
+    // Update links to posts, threads, and forums
3971
+    $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)forum_thread\.php\?id=(\d+)&postid=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformPostLinks'), $html);
3972
+    $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)forum_thread\.php\?id=(\d+)(&\w+=\w*)*?(#(\d+)?)}i', array($transformer, 'transformOldPostLinks'), $html);
3973
+    $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)forum_thread\.php\?id=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformTopicLinks'), $html);
3974
+    $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)forum_forum\.php\?id=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformForumLinks'), $html);
3975
+    $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)show_user\.php\?userid=(\d+)((&\w+=\w*)+)?}i', array($transformer, 'transformUserLinks'), $html);
3976
+    $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)workunit\.php\?wuid=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformWorkUnitLinks'), $html);
3977
+    $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)result\.php\?resultid=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformResultLinks'), $html);
3978
+    $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)results\.php\?userid=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformUserResultsLinks'), $html);
3979
+    $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)results\.php\?hostid=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformHostResultsLinks'), $html);
3980
+    $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)show_host_detail\.php\?hostid=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformHostLinks'), $html);
3981
+    $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)hosts_user\.php\?userid=(\d+)(&\w+=\w*)*?}i', array($transformer, 'transformUserHostsLinks'), $html);
3982
+  
3983
+    // Update any links to the top level index
3984
+    $html = preg_replace_callback('{(?:(http|https)://([^\s]*?)|href="(?:/)?)forum_index.php}i', array($transformer, 'transformForumIndexLinks'), $html);
3985
+  
3986
+    return $html;
3987 3987
 }
3988 3988
 
3989 3989
 /**
@@ -3991,14 +3991,14 @@  discard block
 block discarded – undo
3991 3991
  */
3992 3992
 class BoincImportUrlTransformer {
3993 3993
   
3994
-  var $basePath;
3995
-  var $boincDomain;
3996
-  var $drupalDomain;
3994
+    var $basePath;
3995
+    var $boincDomain;
3996
+    var $drupalDomain;
3997 3997
   
3998
-  /**
3999
-   * Constructor
4000
-   */
4001
-  function __construct() {
3998
+    /**
3999
+     * Constructor
4000
+     */
4001
+    function __construct() {
4002 4002
     global $base_url;
4003 4003
     global $base_path;
4004 4004
     $boinc_base_urls = variable_get('boincimport_base_url_boinc', '');
@@ -4008,208 +4008,208 @@  discard block
 block discarded – undo
4008 4008
     $this->boincDomains = array();
4009 4009
     $boinc_base_urls = preg_split('/\s+/', $boinc_base_urls);
4010 4010
     foreach ($boinc_base_urls as $url) {
4011
-      $domain = parse_url($url, PHP_URL_HOST);
4012
-      if ($domain) {
4011
+        $domain = parse_url($url, PHP_URL_HOST);
4012
+        if ($domain) {
4013 4013
         $this->boincDomains[$domain] = TRUE;
4014
-      }
4014
+        }
4015 4015
     }
4016 4016
     if (!$this->boincDomains) {
4017
-      watchdog('boincimport', 'No valid BOINC base URLs found to transform!',
4017
+        watchdog('boincimport', 'No valid BOINC base URLs found to transform!',
4018 4018
         array(), WATCHDOG_WARNING); 
4019 4019
     }
4020
-  }
4020
+    }
4021 4021
 
4022
-  // old-style constructor for backwards compatibility
4023
-  function BoincImportUrlTransformer() {
4022
+    // old-style constructor for backwards compatibility
4023
+    function BoincImportUrlTransformer() {
4024 4024
     self::__construct();
4025
-  }
4025
+    }
4026 4026
   
4027
-  /**
4028
-   * Get what the new base URL should be (needed for every transformation)
4029
-   */
4030
-  function getNewBaseUrl($matches) {
4027
+    /**
4028
+     * Get what the new base URL should be (needed for every transformation)
4029
+     */
4030
+    function getNewBaseUrl($matches) {
4031 4031
     $http = $matches[1];
4032 4032
     $domain = trim($matches[2], '/');
4033 4033
     if ($http) {
4034
-      if (isset($this->boincDomains[$domain])) {
4034
+        if (isset($this->boincDomains[$domain])) {
4035 4035
         // This is a URL configured to be transformed
4036 4036
         return "{$http}://{$this->drupalDomain}{$this->basePath}";
4037
-      }
4038
-      else {
4037
+        }
4038
+        else {
4039 4039
         // This URL should not be transformed
4040 4040
         return NULL;
4041
-      }
4041
+        }
4042 4042
     }
4043 4043
     else {
4044
-      // This is a relative URL
4045
-      return $this->basePath;
4044
+        // This is a relative URL
4045
+        return $this->basePath;
4046
+    }
4046 4047
     }
4047
-  }
4048 4048
   
4049
-  /**
4050
-   * Replace links to specific posts. If the given post is the first in the
4051
-   * thread, it is a topic node in Drupal, not a comment.
4052
-   */
4053
-  function transformPostLinks($matches) {
4049
+    /**
4050
+     * Replace links to specific posts. If the given post is the first in the
4051
+     * thread, it is a topic node in Drupal, not a comment.
4052
+     */
4053
+    function transformPostLinks($matches) {
4054 4054
     $link = $matches[0];
4055 4055
     $newBaseUrl = $this->getNewBaseUrl($matches);
4056 4056
     if ($newBaseUrl !== NULL) {
4057
-      $id = db_result(db_query('
4057
+        $id = db_result(db_query('
4058 4058
         SELECT p.cid
4059 4059
         FROM {boincimport_temp_post} p
4060 4060
         WHERE p.post_id = %d',
4061 4061
         $matches[4]
4062
-      ));
4063
-      if ($id) {
4062
+        ));
4063
+        if ($id) {
4064 4064
         $link = "{$newBaseUrl}goto/comment/{$id}";
4065
-      }
4066
-      else {
4065
+        }
4066
+        else {
4067 4067
         // This post is not in the post import table, so it's probably a topic
4068 4068
         $link = $this->transformTopicLinks($matches);
4069
-      }
4069
+        }
4070 4070
     }
4071 4071
     return $link;
4072
-  }
4072
+    }
4073 4073
   
4074
-  /**
4075
-   * Replace links that include anchors to specific posts. If the given post is
4076
-   * the first in the thread, it is a topic node in Drupal, not a comment.
4077
-   */
4078
-  function transformOldPostLinks($matches) {
4074
+    /**
4075
+     * Replace links that include anchors to specific posts. If the given post is
4076
+     * the first in the thread, it is a topic node in Drupal, not a comment.
4077
+     */
4078
+    function transformOldPostLinks($matches) {
4079 4079
     $link = $matches[0];
4080 4080
     $newBaseUrl = $this->getNewBaseUrl($matches);
4081 4081
     if ($newBaseUrl !== NULL) {
4082
-      $id = db_result(db_query('
4082
+        $id = db_result(db_query('
4083 4083
         SELECT p.cid
4084 4084
         FROM {boincimport_temp_post} p
4085 4085
         WHERE p.post_id = %d',
4086 4086
         $matches[6]
4087
-      ));
4088
-      if ($id) {
4087
+        ));
4088
+        if ($id) {
4089 4089
         $link = "{$newBaseUrl}goto/comment/{$id}";
4090
-      }
4091
-      else {
4090
+        }
4091
+        else {
4092 4092
         // This post is not in the post import table, so it's probably a topic
4093 4093
         $link = $this->transformTopicLinks($matches);
4094
-      }
4094
+        }
4095 4095
     }
4096 4096
     return $link;
4097
-  }
4097
+    }
4098 4098
   
4099
-  function transformTopicLinks($matches) {
4099
+    function transformTopicLinks($matches) {
4100 4100
     $link = $matches[0];
4101 4101
     $newBaseUrl = $this->getNewBaseUrl($matches);
4102 4102
     if ($newBaseUrl !== NULL) {
4103
-      $id = db_result(db_query('
4103
+        $id = db_result(db_query('
4104 4104
         SELECT nid
4105 4105
         FROM {boincimport_temp_topic}
4106 4106
         WHERE topic_id = %d',
4107 4107
         $matches[3]
4108
-      ));
4109
-      $link = "{$newBaseUrl}node/{$id}";
4108
+        ));
4109
+        $link = "{$newBaseUrl}node/{$id}";
4110 4110
     }
4111 4111
     return $link;
4112
-  }
4112
+    }
4113 4113
 
4114
-  function transformForumLinks($matches) {
4114
+    function transformForumLinks($matches) {
4115 4115
     $link = $matches[0];
4116 4116
     $newBaseUrl = $this->getNewBaseUrl($matches);
4117 4117
     if ($newBaseUrl !== NULL) {
4118
-      $forum = db_fetch_object(db_query('
4118
+        $forum = db_fetch_object(db_query('
4119 4119
         SELECT tid
4120 4120
         FROM {boincimport_temp_forum}
4121 4121
         WHERE forum_id = %d',
4122 4122
         $matches[3]
4123
-      ));
4124
-      $link = "{$newBaseUrl}community/forum/{$forum->tid}";
4123
+        ));
4124
+        $link = "{$newBaseUrl}community/forum/{$forum->tid}";
4125 4125
     }
4126 4126
     return $link;
4127
-  }
4127
+    }
4128 4128
 
4129
-  function transformUserLinks($matches) {
4129
+    function transformUserLinks($matches) {
4130 4130
     $link = $matches[0];
4131 4131
     $newBaseUrl = $this->getNewBaseUrl($matches);
4132 4132
     if ($newBaseUrl !== NULL) {
4133
-      // Make sure this isn't an RPC link (no need to transform those)
4134
-      if (!$matches[5]) {
4133
+        // Make sure this isn't an RPC link (no need to transform those)
4134
+        if (!$matches[5]) {
4135 4135
         // TODO: This regex doesn't seem to capture the format=xml part of the
4136 4136
         // URL, making it impossible to distinguish if this is an RPC or not...
4137 4137
         //watchdog('DEBUG', 'matches: @m', array('@m' => print_r($matches,true)), WATCHDOG_DEBUG);
4138 4138
         $uid = boincuser_lookup_uid($matches[3]);
4139 4139
         $link = "{$newBaseUrl}account/{$uid}";
4140
-      }
4140
+        }
4141 4141
     }
4142 4142
     return $link;
4143
-  }
4143
+    }
4144 4144
 
4145
-  function transformWorkUnitLinks($matches) {
4145
+    function transformWorkUnitLinks($matches) {
4146 4146
     $link = $matches[0];
4147 4147
     $newBaseUrl = $this->getNewBaseUrl($matches);
4148 4148
     if ($newBaseUrl !== NULL) {
4149
-      $id = $matches[3];
4150
-      $link = "{$newBaseUrl}workunit/{$id}";
4149
+        $id = $matches[3];
4150
+        $link = "{$newBaseUrl}workunit/{$id}";
4151 4151
     }
4152 4152
     return $link;
4153
-  }
4153
+    }
4154 4154
 
4155
-  function transformResultLinks($matches) {
4155
+    function transformResultLinks($matches) {
4156 4156
     $link = $matches[0];
4157 4157
     $newBaseUrl = $this->getNewBaseUrl($matches);
4158 4158
     if ($newBaseUrl !== NULL) {
4159
-      $id = $matches[3];
4160
-      $link = "{$newBaseUrl}task/{$id}";
4159
+        $id = $matches[3];
4160
+        $link = "{$newBaseUrl}task/{$id}";
4161 4161
     }
4162 4162
     return $link;
4163
-  }
4163
+    }
4164 4164
 
4165
-  function transformHostResultsLinks($matches) {
4165
+    function transformHostResultsLinks($matches) {
4166 4166
     $link = $matches[0];
4167 4167
     $newBaseUrl = $this->getNewBaseUrl($matches);
4168 4168
     if ($newBaseUrl !== NULL) {
4169
-      $id = $matches[3];
4170
-      $link = "{$newBaseUrl}host/{$id}/tasks";
4169
+        $id = $matches[3];
4170
+        $link = "{$newBaseUrl}host/{$id}/tasks";
4171 4171
     }
4172 4172
     return $link;
4173
-  }
4173
+    }
4174 4174
   
4175
-  function transformUserResultsLinks($matches) {
4175
+    function transformUserResultsLinks($matches) {
4176 4176
     $link = $matches[0];
4177 4177
     $newBaseUrl = $this->getNewBaseUrl($matches);
4178 4178
     if ($newBaseUrl !== NULL) {
4179
-      $link = "{$newBaseUrl}account/tasks";
4179
+        $link = "{$newBaseUrl}account/tasks";
4180 4180
     }
4181 4181
     return $link;
4182
-  }
4182
+    }
4183 4183
   
4184
-  function transformHostLinks($matches) {
4184
+    function transformHostLinks($matches) {
4185 4185
     $link = $matches[0];
4186 4186
     $newBaseUrl = $this->getNewBaseUrl($matches);
4187 4187
     if ($newBaseUrl !== NULL) {
4188
-      $id = $matches[3];
4189
-      $link = "{$newBaseUrl}host/{$id}";
4188
+        $id = $matches[3];
4189
+        $link = "{$newBaseUrl}host/{$id}";
4190 4190
     }
4191 4191
     return $link;
4192
-  }
4192
+    }
4193 4193
   
4194
-  function transformUserHostsLinks($matches) {
4194
+    function transformUserHostsLinks($matches) {
4195 4195
     $link = $matches[0];
4196 4196
     $newBaseUrl = $this->getNewBaseUrl($matches);
4197 4197
     if ($newBaseUrl !== NULL) {
4198
-      $uid = boincuser_lookup_uid($matches[3]);
4199
-      if ($uid) {
4198
+        $uid = boincuser_lookup_uid($matches[3]);
4199
+        if ($uid) {
4200 4200
         $link = "{$newBaseUrl}account/{$uid}/computers";
4201
-      }
4201
+        }
4202 4202
     }
4203 4203
     return $link;
4204
-  }
4204
+    }
4205 4205
   
4206
-  function transformForumIndexLinks($matches) {
4206
+    function transformForumIndexLinks($matches) {
4207 4207
     $link = $matches[0];
4208 4208
     $newBaseUrl = $this->getNewBaseUrl($matches);
4209 4209
     if ($newBaseUrl !== NULL) {
4210
-      $link = "{$newBaseUrl}community/forum";
4210
+        $link = "{$newBaseUrl}community/forum";
4211 4211
     }
4212 4212
     return $link;
4213
-  }
4213
+    }
4214 4214
 
4215 4215
 }
Please login to merge, or discard this patch.
drupal/sites/default/boinc/modules/boincteam/includes/boincteam.helpers.inc 1 patch
Indentation   +73 added lines, -73 removed lines patch added patch discarded remove patch
@@ -15,41 +15,41 @@  discard block
 block discarded – undo
15 15
  */
16 16
 function boincteam_sync() {
17 17
   
18
-  // Get the list of teams to import
19
-  db_set_active('boinc_rw');
20
-  $boinc_teams = db_query('
18
+    // Get the list of teams to import
19
+    db_set_active('boinc_rw');
20
+    $boinc_teams = db_query('
21 21
     SELECT id, name, description, userid, create_time, seti_id
22 22
     FROM team
23 23
     WHERE mod_time > FROM_UNIXTIME(%d)',
24 24
     variable_get('boincteam_last_sync', 0)
25
-  );
26
-  db_set_active('default');
25
+    );
26
+    db_set_active('default');
27 27
   
28
-  $existing_teams = array();
28
+    $existing_teams = array();
29 29
   
30
-  // Get the list of teams already in Drupal to be sure we're not importing
31
-  // any twice
32
-  $result = db_query('
30
+    // Get the list of teams already in Drupal to be sure we're not importing
31
+    // any twice
32
+    $result = db_query('
33 33
     SELECT nid, team_id FROM {boincteam}'
34
-  );
35
-  while ($row = db_fetch_object($result)) {
34
+    );
35
+    while ($row = db_fetch_object($result)) {
36 36
     $existing_teams[$row->team_id] = $row->nid;
37
-  }
37
+    }
38 38
   
39
-  while ($boinc_team = db_fetch_object($boinc_teams)) {
39
+    while ($boinc_team = db_fetch_object($boinc_teams)) {
40 40
     $success = NULL;
41 41
     if (isset($existing_teams[$boinc_team->id])) {
42
-      if ($boinc_team->seti_id > 0) {
42
+        if ($boinc_team->seti_id > 0) {
43 43
         // Sync BOINC-wide teams
44 44
         $nid = $existing_teams[$boinc_team->id];
45 45
         $success = boincteam_import($boinc_team, $nid);
46
-      }
46
+        }
47 47
     }
48 48
     else {
49
-      // Import new teams created by RPC or ops/team_import.php
50
-      $success = boincteam_import($boinc_team);
49
+        // Import new teams created by RPC or ops/team_import.php
50
+        $success = boincteam_import($boinc_team);
51
+    }
51 52
     }
52
-  }
53 53
 }
54 54
 
55 55
 
@@ -58,58 +58,58 @@  discard block
 block discarded – undo
58 58
  */
59 59
 function boincteam_import($boincteam, $nid = NULL) {
60 60
   
61
-  $input_format = variable_get('boincimport_input_format', 0);
62
-  $team_type_map = variable_get('boincimport_team_types', array()); 
61
+    $input_format = variable_get('boincimport_input_format', 0);
62
+    $team_type_map = variable_get('boincimport_team_types', array()); 
63 63
   
64
-  // Save the team type affiliation
65
-  $team_type_tid = $team_type_map[$boincteam->type];
64
+    // Save the team type affiliation
65
+    $team_type_tid = $team_type_map[$boincteam->type];
66 66
   
67
-  $boincteam->description = html_entity_decode($boincteam->description, ENT_QUOTES, 'utf-8');
68
-  // Be sure the text is filtered for the default input format
69
-  $boincteam->description = check_markup($boincteam->description, $input_format);
67
+    $boincteam->description = html_entity_decode($boincteam->description, ENT_QUOTES, 'utf-8');
68
+    // Be sure the text is filtered for the default input format
69
+    $boincteam->description = check_markup($boincteam->description, $input_format);
70 70
   
71
-  $teaser = node_teaser($boincteam->description);
71
+    $teaser = node_teaser($boincteam->description);
72 72
   
73
-  if ($nid) {
73
+    if ($nid) {
74 74
     // Update an existing node
75 75
     $node = node_load($nid);
76 76
     $node->title = $boincteam->name;
77 77
     $node->body = $boincteam->description;
78 78
     $node->teaser = $teaser;
79 79
     $node->uid = boincuser_lookup_uid($boincteam->userid);
80
-  }
81
-  else {
80
+    }
81
+    else {
82 82
     // Construct the team as a new node
83 83
     $node = array(
84
-      'type' => 'team',
85
-      'title' => $boincteam->name,
86
-      'body' => $boincteam->description,
87
-      'teaser' => $teaser,
88
-      'uid' => boincuser_lookup_uid($boincteam->userid),
89
-      'path' => null,
90
-      'status' => 1,  // published or not - always publish
91
-      'promote' => 0,
92
-      'created' => $boincteam->create_time,
93
-      'comment' => 0,  // comments disabled
94
-      'moderate' => 0,
95
-      'sticky' => 0,
96
-      'format' => $input_format
84
+        'type' => 'team',
85
+        'title' => $boincteam->name,
86
+        'body' => $boincteam->description,
87
+        'teaser' => $teaser,
88
+        'uid' => boincuser_lookup_uid($boincteam->userid),
89
+        'path' => null,
90
+        'status' => 1,  // published or not - always publish
91
+        'promote' => 0,
92
+        'created' => $boincteam->create_time,
93
+        'comment' => 0,  // comments disabled
94
+        'moderate' => 0,
95
+        'sticky' => 0,
96
+        'format' => $input_format
97 97
     );
98 98
     $node = (object) $node; // node_save requires an object form
99
-  }
99
+    }
100 100
   
101
-  $node->taxonomy[] = taxonomy_get_term($team_type_tid);
101
+    $node->taxonomy[] = taxonomy_get_term($team_type_tid);
102 102
   
103
-  // Save the team node
104
-  node_save($node);
105
-  $success = ($node->nid) ? TRUE : FALSE;
103
+    // Save the team node
104
+    node_save($node);
105
+    $success = ($node->nid) ? TRUE : FALSE;
106 106
   
107
-  if (!$nid) {
107
+    if (!$nid) {
108 108
     // Save the team IDs to a BOINC <--> Drupal reference table, if needed
109 109
     db_query('INSERT INTO {boincteam} (team_id, nid) VALUES (%d, %d)', $boincteam->id, $node->nid);
110
-  }
110
+    }
111 111
   
112
-  return $success;
112
+    return $success;
113 113
 }
114 114
 
115 115
 /**
@@ -126,25 +126,25 @@  discard block
 block discarded – undo
126 126
  *   respected. This is useful the list of users are to be contacted.
127 127
  */
128 128
 function _boincteam_userids($boincteamid, $boincid=TRUE, $respectprivacy=TRUE) {
129
-  $sql = 'SELECT user.id as id FROM {user} user WHERE user.teamid=%s';
130
-  if ($respectprivacy) {
129
+    $sql = 'SELECT user.id as id FROM {user} user WHERE user.teamid=%s';
130
+    if ($respectprivacy) {
131 131
     $sql .= ' AND user.send_email=1';
132
-  }
132
+    }
133 133
 
134
-  db_set_active('boinc_ro');
135
-  $dbres = db_query($sql, $boincteamid);
136
-  db_set_active('default');
134
+    db_set_active('boinc_ro');
135
+    $dbres = db_query($sql, $boincteamid);
136
+    db_set_active('default');
137 137
 
138
-  $ids = array();
139
-  while (($result = db_fetch_object($dbres)) != FALSE) {
138
+    $ids = array();
139
+    while (($result = db_fetch_object($dbres)) != FALSE) {
140 140
     $ids[] = $result->id;
141
-  }
142
-  if ($boincid) {
141
+    }
142
+    if ($boincid) {
143 143
     return $ids;
144
-  }
145
-  else {
144
+    }
145
+    else {
146 146
     return array_map('boincuser_lookup_uid', $ids);
147
-  }
147
+    }
148 148
 }
149 149
 
150 150
 /**
@@ -158,18 +158,18 @@  discard block
 block discarded – undo
158 158
  *   respected. This is useful the list of users are to be contacted.
159 159
  */
160 160
 function _boincteam_emails($boincteamid, $respectprivacy=TRUE) {
161
-  $sql = 'SELECT user.email_addr as email_addr FROM {user} user WHERE user.teamid=%s';
162
-  if ($respectprivacy) {
161
+    $sql = 'SELECT user.email_addr as email_addr FROM {user} user WHERE user.teamid=%s';
162
+    if ($respectprivacy) {
163 163
     $sql .= ' AND user.send_email=1';
164
-  }
164
+    }
165 165
 
166
-  db_set_active('boinc_ro');
167
-  $dbres = db_query($sql, $boincteamid);
168
-  db_set_active('default');
166
+    db_set_active('boinc_ro');
167
+    $dbres = db_query($sql, $boincteamid);
168
+    db_set_active('default');
169 169
 
170
-  $emails = array();
171
-  while (($result = db_fetch_object($dbres)) != FALSE) {
170
+    $emails = array();
171
+    while (($result = db_fetch_object($dbres)) != FALSE) {
172 172
     $emails[] = $result->email_addr;
173
-  }
174
-  return $emails;
173
+    }
174
+    return $emails;
175 175
 }
Please login to merge, or discard this patch.
drupal/sites/default/boinc/themes/boinc/template.php 1 patch
Indentation   +323 added lines, -323 removed lines patch added patch discarded remove patch
@@ -67,13 +67,13 @@  discard block
 block discarded – undo
67 67
  * Implementation of HOOK_theme().
68 68
  */
69 69
 function boinc_theme(&$existing, $type, $theme, $path) {
70
-  $hooks = zen_theme($existing, $type, $theme, $path);
71
-  // Add your theme hooks like this:
72
-  /*
70
+    $hooks = zen_theme($existing, $type, $theme, $path);
71
+    // Add your theme hooks like this:
72
+    /*
73 73
   $hooks['hook_name_here'] = array( // Details go here );
74 74
   */
75
-  // @TODO: Needs detailed comments. Patches welcome!
76
-  return $hooks;
75
+    // @TODO: Needs detailed comments. Patches welcome!
76
+    return $hooks;
77 77
 }
78 78
 
79 79
 
@@ -81,44 +81,44 @@  discard block
 block discarded – undo
81 81
  * Adjust the rendering of the menu
82 82
  */
83 83
 function boinc_links__system_main_menu($links, $menu, $element) {
84
-  $html = '';
85
-  $html .= '<ul id="' . $menu['id'] . '" class="' . $menu['class'] . '">' . "\n";
86
-  $item_count = count($links);
87
-  $i = 1;
88
-  foreach ($links as $key => $link) {
84
+    $html = '';
85
+    $html .= '<ul id="' . $menu['id'] . '" class="' . $menu['class'] . '">' . "\n";
86
+    $item_count = count($links);
87
+    $i = 1;
88
+    foreach ($links as $key => $link) {
89 89
     $classes = array($key);
90 90
     if (strpos($key, 'active-trail')) $classes[] = 'active';
91 91
     if ($i == 1) $classes[] = 'first';
92 92
     if ($i == $item_count) $classes[] = 'last';
93 93
     $html .= '<li class="' . implode(' ', $classes) .'">';
94 94
     if ($link['title'] == 'Home') {
95
-      $link['title'] = bts('Home', array(), NULL, 'boinc:menu-link');
95
+        $link['title'] = bts('Home', array(), NULL, 'boinc:menu-link');
96 96
     }
97 97
     if (module_exists('privatemsg')) {
98
-      // Put a new mail notification next to the Account menu item
99
-      if ($link['href'] == 'dashboard') {
98
+        // Put a new mail notification next to the Account menu item
99
+        if ($link['href'] == 'dashboard') {
100 100
         $item_count = privatemsg_unread_count();
101 101
         if ($item_count) {
102
-          $link['title'] .= '</a> <a href="' . url('messages') . '" class="compound secondary"><div class="item-count-wrapper"><span class="item-count">' . $item_count . '</span></div>';
103
-          $link['html'] = TRUE;
104
-          $link['attributes']['class'] = 'compound';
102
+            $link['title'] .= '</a> <a href="' . url('messages') . '" class="compound secondary"><div class="item-count-wrapper"><span class="item-count">' . $item_count . '</span></div>';
103
+            $link['html'] = TRUE;
104
+            $link['attributes']['class'] = 'compound';
105
+        }
105 106
         }
106
-      }
107 107
     }
108 108
     // Put a count of items on the Moderation menu item
109 109
     if ($link['href'] == 'moderate') {
110
-      $item_count = boincuser_moderation_queue_count();
111
-      if ($item_count) {
110
+        $item_count = boincuser_moderation_queue_count();
111
+        if ($item_count) {
112 112
         $link['title'] .= ' <div class="item-count-wrapper"><span class="item-count">' . $item_count . '</span></div>';
113 113
         $link['html'] = TRUE;
114
-      }
114
+        }
115 115
     }
116 116
     $html .= l($link['title'], $link['href'], $link);
117 117
     $html .= '</li>';
118 118
     $i++;
119
-  }
120
-  $html .= '</ul>' . "\n";
121
-  return $html;
119
+    }
120
+    $html .= '</ul>' . "\n";
121
+    return $html;
122 122
 }
123 123
 
124 124
 
@@ -126,14 +126,14 @@  discard block
 block discarded – undo
126 126
  * Remove undesired local task tabs
127 127
  */
128 128
 function boinc_menu_local_task($link, $active = FALSE) {
129
-  if (strpos($link, 'admin/build/pages') !== FALSE
129
+    if (strpos($link, 'admin/build/pages') !== FALSE
130 130
   AND strpos($link, 'Edit Panel')) {
131 131
     // Remove Edit Panel tab
132 132
     return '';
133
-  }
134
-  else {
133
+    }
134
+    else {
135 135
     return '<li '. ($active ? 'class="active" ' : '') .'>'. $link ."</li>\n";
136
-  }
136
+    }
137 137
 }
138 138
 
139 139
 
@@ -169,103 +169,103 @@  discard block
 block discarded – undo
169 169
  *   The name of the template being rendered ("page" in this case.)
170 170
  */
171 171
 function boinc_preprocess_page(&$vars, $hook) {
172
-  // Responsive Design: Add viewport meta tag to HTML head
173
-  drupal_set_html_head('<meta name="viewport" content="width=device-width, initial-scale=1.0" />');
174
-  $vars['head'] = drupal_get_html_head();
175
-  //dpm($vars['head'], "preprocess (all) vars[head]");
176
-
177
-  // Expose comments to template files; this is needed so that comments can be
178
-  // rendered in locations other than directly below the node content
179
-  $vars['comments'] = $vars['comment_form'] = '';
180
-  if (module_exists('comment') && isset($vars['node'])) {
172
+    // Responsive Design: Add viewport meta tag to HTML head
173
+    drupal_set_html_head('<meta name="viewport" content="width=device-width, initial-scale=1.0" />');
174
+    $vars['head'] = drupal_get_html_head();
175
+    //dpm($vars['head'], "preprocess (all) vars[head]");
176
+
177
+    // Expose comments to template files; this is needed so that comments can be
178
+    // rendered in locations other than directly below the node content
179
+    $vars['comments'] = $vars['comment_form'] = '';
180
+    if (module_exists('comment') && isset($vars['node'])) {
181 181
     $vars['comments'] = comment_render($vars['node']);
182 182
     $vars['comment_form'] = drupal_get_form('comment_form', array('nid' => $vars['node']->nid));
183
-  }
183
+    }
184 184
 
185
-  // Determine locale region code so the correct flag is displayed in footer
186
-  global $language;
187
-  global $theme_path;
188
-  $locality = $language->language;
189
-  if (strpos($language->language, '-')) {
185
+    // Determine locale region code so the correct flag is displayed in footer
186
+    global $language;
187
+    global $theme_path;
188
+    $locality = $language->language;
189
+    if (strpos($language->language, '-')) {
190 190
     $flag_icon = "{$theme_path}/images/flags/{$language->language}.png";
191 191
     if (!file_exists($flag_icon)) {
192
-      $lang_code = explode('-', $language->language);
193
-      $locality = $lang_code[0];
192
+        $lang_code = explode('-', $language->language);
193
+        $locality = $lang_code[0];
194 194
     }
195
-  }
196
-  // If there is no language set for some reason, default to English (en).
197
-  if (empty($locality)) {
195
+    }
196
+    // If there is no language set for some reason, default to English (en).
197
+    if (empty($locality)) {
198 198
     $locality = "en";
199
-  }
200
-  $vars['flag_path'] = base_path() . path_to_theme() . "/images/flags/{$locality}.png";
199
+    }
200
+    $vars['flag_path'] = base_path() . path_to_theme() . "/images/flags/{$locality}.png";
201 201
 
202
-  $server_status_url = variable_get('boinc_server_status_url', '');
203
-  if (!$server_status_url) {
202
+    $server_status_url = variable_get('boinc_server_status_url', '');
203
+    if (!$server_status_url) {
204 204
     $server_status_url = 'server_status.php';
205
-  }
206
-  $vars['server_status_url'] = $server_status_url;
205
+    }
206
+    $vars['server_status_url'] = $server_status_url;
207 207
 
208
-  $app_list_url = variable_get('boinc_app_list_url', '');
209
-  if (!$app_list_url) {
208
+    $app_list_url = variable_get('boinc_app_list_url', '');
209
+    if (!$app_list_url) {
210 210
     $app_list_url = 'apps.php';
211
-  }
212
-  $vars['app_list_url'] = $app_list_url;
213
-
214
-  // Remove title from certain pages using URL.
215
-  // This is a kludge to remove the title of the page but not the
216
-  // "head_title" which is placed in the HTML <head> section. Most of
217
-  // these pages are defined in the Page Manager module.
218
-  // See: https://dev.gridrepublic.org/browse/DBOINC-65
219
-  if (arg(0) == 'search') { 
211
+    }
212
+    $vars['app_list_url'] = $app_list_url;
213
+
214
+    // Remove title from certain pages using URL.
215
+    // This is a kludge to remove the title of the page but not the
216
+    // "head_title" which is placed in the HTML <head> section. Most of
217
+    // these pages are defined in the Page Manager module.
218
+    // See: https://dev.gridrepublic.org/browse/DBOINC-65
219
+    if (arg(0) == 'search') { 
220 220
     unset($vars['title']);
221
-  }
222
-  else if ( (arg(0)=='account') AND (is_numeric(arg(1))) AND (empty(arg(2))) ) {
221
+    }
222
+    else if ( (arg(0)=='account') AND (is_numeric(arg(1))) AND (empty(arg(2))) ) {
223 223
     unset($vars['title']);
224
-  }
225
-  else if ( (arg(0)=='account') AND (arg(1)=='profile') ) {
224
+    }
225
+    else if ( (arg(0)=='account') AND (arg(1)=='profile') ) {
226 226
     unset($vars['title']);
227
-  }
228
-  else if ( (arg(0)=='dashboard') ) {
227
+    }
228
+    else if ( (arg(0)=='dashboard') ) {
229 229
     unset($vars['title']);
230
-  }
231
-  else if ( (arg(0)=='community') AND ( (arg(1)=='teams') OR (arg(1)=='stats') ) ) {
230
+    }
231
+    else if ( (arg(0)=='community') AND ( (arg(1)=='teams') OR (arg(1)=='stats') ) ) {
232 232
     unset($vars['title']);
233
-  }
233
+    }
234 234
 
235
-  // Apply classes to tabs to allow for better styling options
236
-  $tabs = explode("\n", $vars['tabs']);
237
-  array_pop($tabs);
238
-  end($tabs);
239
-  $last_key = key($tabs);
240
-
241
-  foreach ($tabs as $key => &$tab) {
242
-      if (strpos($tab, 'li class=')) {
243
-          if ($key == 0) {
244
-              $tab = str_replace('li class="', 'li class="first ', $tab);
245
-          }
246
-          if ($key == $last_key) {
247
-              $tab = str_replace('li class="', 'li class="last ', $tab) . '</ul>';
248
-          }
249
-      }
250
-      elseif (strpos($tab, 'li ')) {
251
-          if ($key == 0) {
252
-              $tab = str_replace('li ', 'li class="first" ', $tab);
253
-          }
254
-          if ($key == $last_key) {
255
-              $tab = str_replace('li ', 'li class="last" ', $tab) . '</ul>';
256
-          }
257
-      }
258
-  }
259
-  $vars['tabs'] = implode("\n", $tabs);
235
+    // Apply classes to tabs to allow for better styling options
236
+    $tabs = explode("\n", $vars['tabs']);
237
+    array_pop($tabs);
238
+    end($tabs);
239
+    $last_key = key($tabs);
240
+
241
+    foreach ($tabs as $key => &$tab) {
242
+        if (strpos($tab, 'li class=')) {
243
+            if ($key == 0) {
244
+                $tab = str_replace('li class="', 'li class="first ', $tab);
245
+            }
246
+            if ($key == $last_key) {
247
+                $tab = str_replace('li class="', 'li class="last ', $tab) . '</ul>';
248
+            }
249
+        }
250
+        elseif (strpos($tab, 'li ')) {
251
+            if ($key == 0) {
252
+                $tab = str_replace('li ', 'li class="first" ', $tab);
253
+            }
254
+            if ($key == $last_key) {
255
+                $tab = str_replace('li ', 'li class="last" ', $tab) . '</ul>';
256
+            }
257
+        }
258
+    }
259
+    $vars['tabs'] = implode("\n", $tabs);
260 260
 
261
-  // Get the main menu but only for the branch the page is on.
262
-  $vars['menu_tree_onlyactive'] = menu_tree('primary-links');
261
+    // Get the main menu but only for the branch the page is on.
262
+    $vars['menu_tree_onlyactive'] = menu_tree('primary-links');
263 263
 
264
-  // Create tertiary menu
265
-  $vars['tertiary_links'] = menu_navigation_links(variable_get('menu_primary_links_source', 'primary-links'), 2);
264
+    // Create tertiary menu
265
+    $vars['tertiary_links'] = menu_navigation_links(variable_get('menu_primary_links_source', 'primary-links'), 2);
266 266
 
267
-  // Create action links
268
-  $vars['action_links'] = _boinc_action_links();
267
+    // Create action links
268
+    $vars['action_links'] = _boinc_action_links();
269 269
 }
270 270
 
271 271
 /**
@@ -278,79 +278,79 @@  discard block
 block discarded – undo
278 278
  */
279 279
 function boinc_preprocess_node(&$vars, $hook) {
280 280
 
281
-  //$vars['sample_variable'] = t('Lorem ipsum.');
281
+    //$vars['sample_variable'] = t('Lorem ipsum.');
282 282
 
283
-  // Detach subscribe link from the links list. Subscribe link will be placed
284
-  // on page separately from links.
285
-  if (!empty($vars['node']->links['flag-subscriptions']['title'])) {
283
+    // Detach subscribe link from the links list. Subscribe link will be placed
284
+    // on page separately from links.
285
+    if (!empty($vars['node']->links['flag-subscriptions']['title'])) {
286 286
     $vars['subscribe_link'] = $vars['node']->links['flag-subscriptions']['title'];
287 287
     unset($vars['node']->links['flag-subscriptions']);
288
-  }
288
+    }
289 289
 
290
-  // Optionally, run node-type-specific preprocess functions, like
291
-  // boinc_preprocess_node_page() or boinc_preprocess_node_story().
292
-  $function = __FUNCTION__ . '_' . $vars['node']->type;
293
-  if (function_exists($function)) {
290
+    // Optionally, run node-type-specific preprocess functions, like
291
+    // boinc_preprocess_node_page() or boinc_preprocess_node_story().
292
+    $function = __FUNCTION__ . '_' . $vars['node']->type;
293
+    if (function_exists($function)) {
294 294
     $function($vars, $hook);
295
-  }
295
+    }
296 296
 }
297 297
 
298 298
 /**
299 299
  * Preprocessing for forum lists
300 300
  */
301 301
 function boinc_preprocess_forums(&$vars, $hook) {
302
-  // Add a link to mark all forums as read
303
-  module_load_include('inc', 'forum_tweaks', 'includes/mark-read');
304
-  forum_tweaks_get_mark_read_link($vars['tid'], $vars['links']);
305
-  if (!$vars['parents']) {
302
+    // Add a link to mark all forums as read
303
+    module_load_include('inc', 'forum_tweaks', 'includes/mark-read');
304
+    forum_tweaks_get_mark_read_link($vars['tid'], $vars['links']);
305
+    if (!$vars['parents']) {
306 306
     // Remove the "Post new forum topic" link from the top level forum list
307 307
     unset($vars['links']['forum']);
308 308
     // Add a link to manage subscriptions for the user
309 309
     $vars['links']['subscriptions'] = array(
310
-      'title' => bts('Manage subscriptions', array(), NULL, 'boinc:forum-footer'),
311
-      'href' => 'account/prefs/subscriptions',
310
+        'title' => bts('Manage subscriptions', array(), NULL, 'boinc:forum-footer'),
311
+        'href' => 'account/prefs/subscriptions',
312 312
     );
313
-  }
313
+    }
314 314
 }
315 315
 
316 316
 /**
317 317
  * Preprocessing for forum type nodes
318 318
  */
319 319
 function boinc_preprocess_node_forum(&$vars, $hook) {
320
-  global $language;
321
-  global $user;
320
+    global $language;
321
+    global $user;
322 322
 
323
-  // Locality
324
-  $vars['locality'] = $language->language;
323
+    // Locality
324
+    $vars['locality'] = $language->language;
325 325
 
326
-  // Get the author of the node
327
-  $account = user_load($vars['uid']);
328
-  $comments_per_page = ($user->comments_per_page) ? $user->comments_per_page : variable_get("comment_default_per_page_{$vars['node']->type}", 50);
326
+    // Get the author of the node
327
+    $account = user_load($vars['uid']);
328
+    $comments_per_page = ($user->comments_per_page) ? $user->comments_per_page : variable_get("comment_default_per_page_{$vars['node']->type}", 50);
329 329
   
330
-  // Add signature
331
-  $vars['signature'] = check_markup($account->signature, $vars['node']->format);
330
+    // Add signature
331
+    $vars['signature'] = check_markup($account->signature, $vars['node']->format);
332 332
   
333
-  // Show signatures based on user preference
334
-  $vars['show_signatures'] = ($user->hide_signatures) ? FALSE : TRUE;
333
+    // Show signatures based on user preference
334
+    $vars['show_signatures'] = ($user->hide_signatures) ? FALSE : TRUE;
335 335
   
336
-  // Expose comment sort order so that the template can put the topic node
337
-  // content (i.e. initial post) at the very end if "Newest post first" is the
338
-  // preference used by this user
339
-  $vars['oldest_post_first'] = ($user->sort != 1) ? TRUE : FALSE;
340
-  $vars['node']->comment = 0;
336
+    // Expose comment sort order so that the template can put the topic node
337
+    // content (i.e. initial post) at the very end if "Newest post first" is the
338
+    // preference used by this user
339
+    $vars['oldest_post_first'] = ($user->sort != 1) ? TRUE : FALSE;
340
+    $vars['node']->comment = 0;
341 341
   
342
-  $vars['first_page'] = (!isset($_GET['page']) OR ($_GET['page'] < 1));
343
-  $page_count = max(ceil($vars['comment_count'] / $comments_per_page), 1);
344
-  $vars['last_page'] = ($page_count == 1 OR ($page_count > 1 AND $_GET['page'] == $page_count - 1));
345
-
346
-  $links = $vars['links'];
347
-  $moderator_links = array();
348
-  _boinc_create_moderator_links($links, $moderator_links);
349
-  $vars['links'] = $links;
350
-  $vars['moderator_links'] = $moderator_links;
351
-
352
-  // Ignore user link
353
-  $vars['ignore_link'] = _boinc_ignore_user_link('node', $vars['node']);
342
+    $vars['first_page'] = (!isset($_GET['page']) OR ($_GET['page'] < 1));
343
+    $page_count = max(ceil($vars['comment_count'] / $comments_per_page), 1);
344
+    $vars['last_page'] = ($page_count == 1 OR ($page_count > 1 AND $_GET['page'] == $page_count - 1));
345
+
346
+    $links = $vars['links'];
347
+    $moderator_links = array();
348
+    _boinc_create_moderator_links($links, $moderator_links);
349
+    $vars['links'] = $links;
350
+    $vars['moderator_links'] = $moderator_links;
351
+
352
+    // Ignore user link
353
+    $vars['ignore_link'] = _boinc_ignore_user_link('node', $vars['node']);
354 354
 }
355 355
 
356 356
 
@@ -371,48 +371,48 @@  discard block
 block discarded – undo
371 371
  *   The name of the template being rendered ("comment" in this case.)
372 372
  */
373 373
 function boinc_preprocess_comment(&$vars, $hook) {
374
-  global $language;
375
-  global $user;
374
+    global $language;
375
+    global $user;
376 376
 
377
-  // Locality
378
-  $vars['locality'] = $language->language;
377
+    // Locality
378
+    $vars['locality'] = $language->language;
379 379
 
380
-  // Show signatures based on user preference
381
-  $vars['show_signatures'] = ($user->hide_signatures) ? FALSE : TRUE;
380
+    // Show signatures based on user preference
381
+    $vars['show_signatures'] = ($user->hide_signatures) ? FALSE : TRUE;
382 382
 
383
-  $links = $vars['links'];
384
-  $moderator_links = array();
385
-  _boinc_create_moderator_links($links, $moderator_links);
386
-  $vars['links'] = $links;
387
-  $vars['moderator_links'] = $moderator_links;
383
+    $links = $vars['links'];
384
+    $moderator_links = array();
385
+    _boinc_create_moderator_links($links, $moderator_links);
386
+    $vars['links'] = $links;
387
+    $vars['moderator_links'] = $moderator_links;
388 388
 
389
-  // Ignore user link
390
-  $vars['ignore_link'] = _boinc_ignore_user_link('comment', $vars['comment']);
389
+    // Ignore user link
390
+    $vars['ignore_link'] = _boinc_ignore_user_link('comment', $vars['comment']);
391 391
 }
392 392
 
393 393
 /**
394 394
  *
395 395
  */
396 396
 function boinc_preprocess_forum_topic_list(&$variables) {
397
-  if (!empty($variables['topics'])) {
397
+    if (!empty($variables['topics'])) {
398 398
     foreach ($variables['topics'] as $id => $topic) {
399
-      if ($topic->new_replies) {
399
+        if ($topic->new_replies) {
400 400
         $cid = boincuser_get_first_unread_comment_id($topic->nid);
401 401
         if ($cid) {
402
-          $variables['topics'][$id]->new_url = url("goto/comment/{$cid}");
402
+            $variables['topics'][$id]->new_url = url("goto/comment/{$cid}");
403 403
         }
404 404
         else {
405
-          // User hasn't visited this topic before, so all replies are new...
406
-          $topic->new_replies = NULL;
405
+            // User hasn't visited this topic before, so all replies are new...
406
+            $topic->new_replies = NULL;
407
+        }
407 408
         }
408
-      }
409
-      // Use same logic in forum.module to change message if topic has
410
-      // moved. Changed link to match boinc path-added "community".
411
-      if ($topic->forum_tid != $variables['tid']) {
409
+        // Use same logic in forum.module to change message if topic has
410
+        // moved. Changed link to match boinc path-added "community".
411
+        if ($topic->forum_tid != $variables['tid']) {
412 412
         $variables['topics'][$id]->message = l(t('This topic has been moved'), "community/forum/$topic->forum_tid");
413
-      }
413
+        }
414
+    }
414 415
     }
415
-  }
416 416
 }
417 417
 
418 418
 /**
@@ -425,79 +425,79 @@  discard block
 block discarded – undo
425 425
  */
426 426
 ///* -- Delete this line if you want to use this function
427 427
 function boinc_preprocess_views_view(&$vars, $hook) {
428
-  switch ($vars['name']) {
429
-  case 'boinc_account_computers': 
428
+    switch ($vars['name']) {
429
+    case 'boinc_account_computers': 
430 430
     switch ($vars['display_id']) {
431 431
     case 'page_1':
432 432
     case 'panel_pane_1':
433 433
       $vars['empty'] = boincwork_views_host_list_empty_text();
434
-      break;
434
+        break;
435 435
     case 'page_2':
436 436
       $vars['empty'] = boincwork_views_host_list_empty_text('active');
437
-      break;
437
+        break;
438 438
     case 'block_1':
439 439
       $vars['empty'] = boincwork_views_host_list_empty_text('preferences');
440
-      break;
440
+        break;
441 441
     default:
442 442
     }
443 443
     break;
444
-  case 'boinc_account_tasks_all':
444
+    case 'boinc_account_tasks_all':
445 445
     $vars['empty'] = boincwork_views_task_list_empty_text();
446 446
     break;
447
-  case 'boinc_friends':
447
+    case 'boinc_friends':
448 448
     if ($vars['display_id'] == 'block_1') {
449
-      $vars['header'] = boincuser_views_friends_block_header(); 
449
+        $vars['header'] = boincuser_views_friends_block_header(); 
450 450
     }
451 451
     break;
452
-  case 'boinc_host':
452
+    case 'boinc_host':
453 453
       $view = views_get_current_view();
454
-      if (!($view->result)) {
454
+        if (!($view->result)) {
455 455
         $vars['footer'] = '<h3>' . bts ('Host not found in database.', array(), NULL, 'boinc:host-details') . '</h3>';
456
-      }
456
+        }
457 457
     break;
458
-  case 'boinc_host_list':
458
+    case 'boinc_host_list':
459 459
     if ($vars['display_id'] == 'page_2') {
460
-     $vars['empty'] = boincwork_views_host_list_empty_text();
460
+        $vars['empty'] = boincwork_views_host_list_empty_text();
461 461
     }
462 462
     elseif ($vars['display_id'] == 'page_1') {
463
-      $vars['empty'] = boincwork_views_host_list_empty_text('active');
463
+        $vars['empty'] = boincwork_views_host_list_empty_text('active');
464 464
     }
465 465
     break;
466
-  case 'boinc_task':
466
+    case 'boinc_task':
467 467
     // Load view object (view data is not available in header / footer); execute view query
468 468
     $view = views_get_current_view();
469 469
     $view->execute();
470 470
     $result = reset($view->result);
471 471
 
472 472
     if ($result) {
473
-      // Display the stderr output in the footer
474
-      $vars['footer'] = '<h3>' . bts('Stderr output', array(), NULL, 'boinc:task-details-errorlog') .'</h3>';
475
-      $vars['footer'] .= '<pre>' . htmlspecialchars($result->result_stderr_out) . '</pre>';
473
+        // Display the stderr output in the footer
474
+        $vars['footer'] = '<h3>' . bts('Stderr output', array(), NULL, 'boinc:task-details-errorlog') .'</h3>';
475
+        $vars['footer'] .= '<pre>' . htmlspecialchars($result->result_stderr_out) . '</pre>';
476 476
     } else {
477
-      $vars['footer'] = '<h3>' . bts ('Task not found in database.', array(), NULL, 'boinc:task-details') . '</h3>';
477
+        $vars['footer'] = '<h3>' . bts ('Task not found in database.', array(), NULL, 'boinc:task-details') . '</h3>';
478 478
     }
479 479
     break;
480
-  case 'boinc_teams':
480
+    case 'boinc_teams':
481 481
     if ($vars['display_id'] == 'panel_pane_3') {
482
-      $team_id = arg(2);
483
-      $vars['header'] = boincteam_manage_admins_panel_header($team_id);
482
+        $team_id = arg(2);
483
+        $vars['header'] = boincteam_manage_admins_panel_header($team_id);
484 484
     }
485 485
     break;
486
-  case 'boinc_workunit':
486
+    case 'boinc_workunit':
487 487
     ob_start();
488 488
     // Get the workunit ID from the URL
489 489
     $result_id = arg(1);
490 490
     require_boinc(array('util','boinc_db'));
491 491
     $wu = BoincWorkunit::lookup_id($result_id);
492 492
     if ($wu) {
493
-      // Output from admin defined BOINC project-specific function
494
-      project_workunit($wu);
495
-      // Output of project_workunit() gets caught in the buffer
496
-      $vars['footer'] = ob_get_clean();
493
+        // Output from admin defined BOINC project-specific function
494
+        project_workunit($wu);
495
+        // Output of project_workunit() gets caught in the buffer
496
+        $vars['footer'] = ob_get_clean();
497 497
     } else {
498
-      $vars['footer'] = '<h3>' . bts ('Workunit not found in database.', array(), NULL, 'boinc:workunit-details') . '</h3>';
498
+        $vars['footer'] = '<h3>' . bts ('Workunit not found in database.', array(), NULL, 'boinc:workunit-details') . '</h3>';
499 499
     }
500
-  default:
500
+    default:
501 501
   }
502 502
 }
503 503
 // */
@@ -510,19 +510,19 @@  discard block
 block discarded – undo
510 510
  */
511 511
 ///* -- Delete this line if you want to use this function
512 512
 function boinc_preprocess_privatemsg_view(&$vars, $hook) {
513
-  $author_picture = '<div class="picture">';
514
-  $user_image = boincuser_get_user_profile_image($vars['message']['author']->uid);
515
-  if ($user_image) {
513
+    $author_picture = '<div class="picture">';
514
+    $user_image = boincuser_get_user_profile_image($vars['message']['author']->uid);
515
+    if ($user_image) {
516 516
     if (is_array($user_image) AND $user_image['image']['filepath']) {
517
-      $author_picture .= theme('imagefield_image', $user_image['image'], $user_image['alt'], $user_image['alt'], array(), false);
517
+        $author_picture .= theme('imagefield_image', $user_image['image'], $user_image['alt'], $user_image['alt'], array(), false);
518 518
     }
519 519
     elseif (is_string($user_image)) {
520
-      $author_picture .= '<img src="' . $user_image . '"/>';
520
+        $author_picture .= '<img src="' . $user_image . '"/>';
521 521
     }
522
-  }
523
-  $author_picture .= '</div>';
524
-  $vars['author_picture'] = $author_picture;
525
-  $vars['message_timestamp'] = date('j M Y G:i:s T', $vars['message']['timestamp']);
522
+    }
523
+    $author_picture .= '</div>';
524
+    $vars['author_picture'] = $author_picture;
525
+    $vars['message_timestamp'] = date('j M Y G:i:s T', $vars['message']['timestamp']);
526 526
 }
527 527
 // */
528 528
 
@@ -541,19 +541,19 @@  discard block
 block discarded – undo
541 541
 // */ 
542 542
 
543 543
 function boinc_preprocess_search_result(&$variables) {
544
-  global $language;
545
-  // Locality
546
-  $variables['locality'] = $language->language;
544
+    global $language;
545
+    // Locality
546
+    $variables['locality'] = $language->language;
547 547
 
548
-  // Change the format of the search result date/time in the info string.
549
-  if ($variables['result']['date']) {
548
+    // Change the format of the search result date/time in the info string.
549
+    if ($variables['result']['date']) {
550 550
     $variables['info_split']['date'] = date('j M Y G:i:s T', $variables['result']['date']);
551
-  }
552
-  $variables['info'] = implode(' - ', $variables['info_split']);
551
+    }
552
+    $variables['info'] = implode(' - ', $variables['info_split']);
553 553
 
554
-  $type = strtolower($variables['result']['bundle']);
555
-  switch ($type) {
556
-  case 'profile':
554
+    $type = strtolower($variables['result']['bundle']);
555
+    switch ($type) {
556
+    case 'profile':
557 557
   case 'user':
558 558
     $node = $variables['result']['node'];
559 559
     $variables['url'] = url('account/' . $node->is_uid);
@@ -561,20 +561,20 @@  discard block
 block discarded – undo
561 561
     $variables['user_image'] = boincuser_get_user_profile_image($node->is_uid);
562 562
     $variables['account'] = user_load($node->is_uid);
563 563
     break;
564
-  case 'team':
564
+    case 'team':
565 565
     $node = $variables['result']['node'];
566 566
     $variables['url'] = url('/community/teams/' . $node->entity_id);;
567 567
     break;
568
-  case 'forum':
568
+    case 'forum':
569 569
     $node = $variables['result']['node'];
570 570
     $drupalnode = node_load($node->entity_id);
571 571
     // Get the taxonomy for the node, creates a link to the parent forum
572 572
     $taxonomy = reset($drupalnode->taxonomy);
573 573
     if ($vocab = taxonomy_vocabulary_load($taxonomy->vid)) {
574
-      $variables['parent_forum'] = l($taxonomy->name, "community/forum/{$taxonomy->tid}");
574
+        $variables['parent_forum'] = l($taxonomy->name, "community/forum/{$taxonomy->tid}");
575 575
     }
576 576
     break;
577
-  case 'comment':
577
+    case 'comment':
578 578
     // Get the node id for this comment
579 579
     $nid = $variables['result']['fields']['tos_content_extra'];
580 580
     $drupalnode = node_load($nid);
@@ -585,21 +585,21 @@  discard block
 block discarded – undo
585 585
     // Get the taxonomy for the node, creates a link to the parent forum
586 586
     $taxonomy = reset($drupalnode->taxonomy);
587 587
     if ($vocab = taxonomy_vocabulary_load($taxonomy->vid)) {
588
-      $variables['parent_forum'] = l($taxonomy->name, "community/forum/{$taxonomy->tid}");
588
+        $variables['parent_forum'] = l($taxonomy->name, "community/forum/{$taxonomy->tid}");
589 589
     }
590
-  break;
591
-  default:
590
+    break;
591
+    default:
592 592
   }
593 593
 }
594 594
 
595 595
 // Remove the mess of text under the search form and don't display "no results"
596 596
 // if a search hasn't even been submitted
597 597
 function boinc_apachesolr_search_noresults() {
598
-  $message = bts('No results found...', array(), NULL, 'boinc:search-with-no-results');
599
-  if (!arg(2)) {
598
+    $message = bts('No results found...', array(), NULL, 'boinc:search-with-no-results');
599
+    if (!arg(2)) {
600 600
     $message = '';
601
-  }
602
-  return '<p>' . $message . '</p>';
601
+    }
602
+    return '<p>' . $message . '</p>';
603 603
 }
604 604
 
605 605
 /**
@@ -608,42 +608,42 @@  discard block
 block discarded – undo
608 608
  */
609 609
 function phptemplate_username($object) {
610 610
   
611
-  if ($object->uid && $object->name) {
611
+    if ($object->uid && $object->name) {
612 612
     
613 613
     // Show the profile name in general, not the username
614 614
     $name = user_load($object->uid)->boincuser_name;
615 615
     
616 616
     // Shorten the name when it is too long or it will break many tables.
617 617
     if (drupal_strlen($name) > 20) {
618
-      $name = drupal_substr($name, 0, 15) . '...';
618
+        $name = drupal_substr($name, 0, 15) . '...';
619 619
     }
620 620
 
621 621
     if (user_access('access user profiles')) {
622
-      $output = l($name, 'account/' . $object->uid, array('attributes' => array('title' => bts('View user profile.', array(), NULL, 'boinc:users-table'))));
622
+        $output = l($name, 'account/' . $object->uid, array('attributes' => array('title' => bts('View user profile.', array(), NULL, 'boinc:users-table'))));
623 623
     }
624 624
     else {
625
-      $output = check_plain($name);
625
+        $output = check_plain($name);
626 626
     }
627
-  }
628
-  else if ($object->name) {
627
+    }
628
+    else if ($object->name) {
629 629
     // Sometimes modules display content composed by people who are
630 630
     // not registered members of the site (e.g. mailing list or news
631 631
     // aggregator modules). This clause enables modules to display
632 632
     // the true author of the content.
633 633
     if (!empty($object->homepage)) {
634
-      $output = l($object->name, $object->homepage, array('attributes' => array('rel' => 'nofollow')));
634
+        $output = l($object->name, $object->homepage, array('attributes' => array('rel' => 'nofollow')));
635 635
     }
636 636
     else {
637
-      $output = check_plain($object->name);
637
+        $output = check_plain($object->name);
638 638
     }
639 639
 
640 640
     $output .= ' (' . bts('not verified', array(), NULL, 'boinc:user-not-found') . ')';
641
-  }
642
-  else {
641
+    }
642
+    else {
643 643
     $output = check_plain(variable_get('anonymous', bts('Anonymous', array(), NULL, 'boinc:anonymous-user')));
644
-  }
644
+    }
645 645
 
646
-  return $output;
646
+    return $output;
647 647
 }
648 648
 
649 649
 /**
@@ -651,7 +651,7 @@  discard block
 block discarded – undo
651 651
  * "More information about formatting options"
652 652
  */
653 653
 function boinc_filter_tips_more_info () {
654
-  return '';
654
+    return '';
655 655
 }
656 656
 
657 657
 /**
@@ -669,19 +669,19 @@  discard block
 block discarded – undo
669 669
  *   An array containing the email [type] (mailkey), [subject] and [body].
670 670
  */
671 671
 function boinc_flag_friend_message_email($status, $flag, $recipient, $sender) {
672
-  $email = array();
673
-  $email['type'] = 'flag-friend';
674
-  // Reload the sender to get a full user object
675
-  $sender = user_load($sender->uid);
672
+    $email = array();
673
+    $email['type'] = 'flag-friend';
674
+    // Reload the sender to get a full user object
675
+    $sender = user_load($sender->uid);
676 676
   
677
-  switch ($status) {
677
+    switch ($status) {
678 678
     case FLAG_FRIEND_FLAGGED:
679 679
       // Sender accepted recipient's friend request
680 680
       $email['subject'] = bts('!name accepted your friend request [!site]', array(
681 681
         '!name' => $sender->boincuser_name,
682 682
         '!site' => variable_get('site_name', 'Drupal-BOINC'),
683 683
         ), NULL, 'boinc:friend-request-email');
684
-      $email['body'] = bts('!name confirmed you as a friend on !site.
684
+        $email['body'] = bts('!name confirmed you as a friend on !site.
685 685
 
686 686
 Follow this link to view his or her profile:
687 687
 !link
@@ -695,12 +695,12 @@  discard block
 block discarded – undo
695 695
         '!message' => $flag->friend_message ? bts('Message', array(), NULL, 'boinc:friend-request-email:-1:a-private-message') . ': ' . $flag->friend_message : '',
696 696
         '!link' => url('account/'. $sender->uid, array('absolute' => TRUE)),
697 697
         ), array(), NULL, 'boinc:friend-request-email');
698
-      break;
698
+        break;
699 699
 
700 700
     case FLAG_FRIEND_PENDING:
701 701
       // Sender is requesting to be recipient's friend
702 702
       $email['subject'] = bts('Friend request from !name [!site]', array('!name' => $sender->boincuser_name, '!site' => variable_get('site_name', 'Drupal-BOINC')), NULL, 'boinc:friend-request-email');
703
-      $email['body'] = bts('!name added you as a friend on !site. You can approve or deny this request. Denying a request will not send a notification, but will remove the request from both of your accounts.
703
+        $email['body'] = bts('!name added you as a friend on !site. You can approve or deny this request. Denying a request will not send a notification, but will remove the request from both of your accounts.
704 704
 
705 705
 Follow the link below to view this request:
706 706
 !link
@@ -714,26 +714,26 @@  discard block
 block discarded – undo
714 714
         '!message' => $flag->friend_message ? bts('Message', array(), NULL, 'boinc:friend-request-email:-1:a-private-message') . ': ' . $flag->friend_message : '',
715 715
         '!link' => url('goto/friend-requests', array('absolute' => TRUE)),
716 716
         ),
717
-      array(), NULL, 'boinc:friend-request-email');
718
-      break;
719
-  }
720
-  return $email;
717
+        array(), NULL, 'boinc:friend-request-email');
718
+        break;
719
+    }
720
+    return $email;
721 721
 }
722 722
 
723 723
 /**
724 724
  * Edit action links
725 725
  */
726 726
 function phptemplate_links($links, $attributes = array('class' => 'links')) {
727
-  if ($links){
727
+    if ($links){
728 728
     // Remove flag-subscriptions link. It will be placed elsewhere.
729 729
     if (isset($links['flag-subscriptions'])) {
730
-      unset($links['flag-subscriptions']);
730
+        unset($links['flag-subscriptions']);
731 731
     }
732 732
     // Reorder the links however you need them.
733 733
     $links = reorder_links($links, array('comment_edit','quote','comment_add','comment_reply','flag-abuse_comment','flag-abuse_node'), array('comment_delete'));
734 734
     // Use the built-in theme_links() function to format the $links array.
735 735
     return theme_links($links, $attributes);
736
-  }
736
+    }
737 737
 }
738 738
 
739 739
 /**
@@ -777,8 +777,8 @@  discard block
 block discarded – undo
777 777
  * That is to say, get rid of it and use the views-view-table.tpl.php template.
778 778
  */
779 779
 function boinc_tablesort_indicator($style) {
780
-  return '';
781
-  /*
780
+    return '';
781
+    /*
782 782
   if ($style == "asc") {
783 783
     return theme('image', 'misc/arrow-asc.png', t('sort icon'), t('sort ascending'));
784 784
   }
@@ -801,48 +801,48 @@  discard block
 block discarded – undo
801 801
  *
802 802
  */
803 803
 function _boinc_create_moderator_links(&$links, &$moderator_links) {
804
-  // If there are no links, then do nothing
805
-  if (empty($links)) {
804
+    // If there are no links, then do nothing
805
+    if (empty($links)) {
806 806
     return;
807
-  }
807
+    }
808 808
 
809
-  $alllinks = array();
810
-  $modlinks = array();
809
+    $alllinks = array();
810
+    $modlinks = array();
811 811
 
812
-  // Create an array of HTML elements from the $links string, keys
813
-  // are the class attribute for the <li> tags.
814
-  $dom = new DOMDocument;
815
-  $dom->loadHTML(mb_convert_encoding($links, 'HTML-ENTITIES', 'UTF-8'));
816
-  foreach($dom->getElementsByTagName('li') as $node) {
812
+    // Create an array of HTML elements from the $links string, keys
813
+    // are the class attribute for the <li> tags.
814
+    $dom = new DOMDocument;
815
+    $dom->loadHTML(mb_convert_encoding($links, 'HTML-ENTITIES', 'UTF-8'));
816
+    foreach($dom->getElementsByTagName('li') as $node) {
817 817
     $key = $node->getAttribute("class");
818 818
     $alllinks[$key] = $dom->saveHTML($node);
819
-  }
819
+    }
820 820
 
821
-  // Select classes to be placed into moderator links array
822
-  $selected_classes = array(
821
+    // Select classes to be placed into moderator links array
822
+    $selected_classes = array(
823 823
     "make_sticky", "make_unsticky",
824 824
     "lock", "unlock",
825 825
     "convert",
826 826
     "hide", "unhide",
827 827
     "comment_delete",
828
-  );
829
-  foreach(array_keys($alllinks) as $key1) {
828
+    );
829
+    foreach(array_keys($alllinks) as $key1) {
830 830
     // Select string up to first space, if present.
831 831
     $class1 = strtok($key1, ' ');
832 832
     if (in_array($class1, $selected_classes)) {
833
-      if (empty($modlinks)) {
833
+        if (empty($modlinks)) {
834 834
         _boinc_firstlink($alllinks[$key1]);
835
-      }
836
-      $modlinks[$key1] = $alllinks[$key1];
837
-      unset($alllinks[$key1]);
835
+        }
836
+        $modlinks[$key1] = $alllinks[$key1];
837
+        unset($alllinks[$key1]);
838 838
     }
839
-  }
840
-  // Convert the HTML arrays back into strings, wrap them in <ul>
841
-  // tags
842
-  $links = "<ul class=\"links\">".implode($alllinks)."</ul>";
843
-  $moderator_links = "<ul class=\"links\">".implode($modlinks)."</ul>";
839
+    }
840
+    // Convert the HTML arrays back into strings, wrap them in <ul>
841
+    // tags
842
+    $links = "<ul class=\"links\">".implode($alllinks)."</ul>";
843
+    $moderator_links = "<ul class=\"links\">".implode($modlinks)."</ul>";
844 844
 
845
-  return;
845
+    return;
846 846
 }
847 847
 
848 848
 /*
@@ -850,38 +850,38 @@  discard block
 block discarded – undo
850 850
  * attribute to class.
851 851
  */
852 852
 function _boinc_firstlink(&$alink) {
853
-  if (!empty($alink)) {
853
+    if (!empty($alink)) {
854 854
     $dom = new DomDocument;
855 855
     $dom->loadHTML(mb_convert_encoding($alink, 'HTML-ENTITIES', 'UTF-8'));
856 856
 
857 857
     $myli = $dom->getElementsByTagName('li');
858 858
     if ($myli->length>0) {
859
-      $newclasses = trim(($myli[0]->getAttribute("class"))." first");
860
-      $myli[0]->setAttribute("class", $newclasses);
861
-      $alink = $dom->saveHTML($myli[0]);
859
+        $newclasses = trim(($myli[0]->getAttribute("class"))." first");
860
+        $myli[0]->setAttribute("class", $newclasses);
861
+        $alink = $dom->saveHTML($myli[0]);
862
+    }
862 863
     }
863
-  }
864 864
 }
865 865
 
866 866
 /*
867 867
  * Private function to generate the action links
868 868
  */
869 869
 function _boinc_action_links() {
870
-  global $user;
871
-  global $base_path;
870
+    global $user;
871
+    global $base_path;
872 872
 
873
-  $output = '<ul class="menu"><li class="first">';
874
-  if ($user->uid) {
873
+    $output = '<ul class="menu"><li class="first">';
874
+    if ($user->uid) {
875 875
     $output .= '<a href="' . url('logout') . '">' . bts('Logout', array(), NULL, 'boinc:menu-link') . '</a>';
876
-  } else {
876
+    } else {
877 877
     $output .= '<a href="' . url('user/login', array('query' => drupal_get_destination()) ) . '">' . bts('Login', array(), NULL, 'boinc:menu-link') . '</a>';
878
-  }
879
-  $output .= '</li>';
880
-  if (module_exists('global_search') OR module_exists('global_search_solr')) {
878
+    }
879
+    $output .= '</li>';
880
+    if (module_exists('global_search') OR module_exists('global_search_solr')) {
881 881
     $output .= '<li class="last"> <a class="search" href="' . url('search/site') . '">' . bts('search', array(), NULL, 'boinc:menu-link') .'</a> </l1>';
882
-  }
883
-  $output .= '</ul>';
884
-  return $output;
882
+    }
883
+    $output .= '</ul>';
884
+    return $output;
885 885
 }
886 886
 
887 887
 /**
@@ -889,47 +889,47 @@  discard block
 block discarded – undo
889 889
  * function. Modified for boinc functionality.
890 890
  */
891 891
 function _boinc_ignore_user_link($type, $object = NULL, $teaser = FALSE) {
892
-  global $user;
892
+    global $user;
893 893
 
894
-  if (!$user || !$user->uid) {
894
+    if (!$user || !$user->uid) {
895 895
     return;
896
-  }
896
+    }
897 897
 
898
-  static $ignored;
899
-  $links = array();
898
+    static $ignored;
899
+    $links = array();
900 900
 
901
-  if ($type == 'node' && $user->uid != $object->uid && $object->uid != 0 && user_access('ignore user')) {
901
+    if ($type == 'node' && $user->uid != $object->uid && $object->uid != 0 && user_access('ignore user')) {
902 902
     if (!isset($ignored[$object->uid])) {
903
-      $ignored[$object->uid] = db_result(db_query('SELECT COUNT(*) FROM {ignore_user} WHERE uid = %d AND iuid = %d', $user->uid, $object->uid));
903
+        $ignored[$object->uid] = db_result(db_query('SELECT COUNT(*) FROM {ignore_user} WHERE uid = %d AND iuid = %d', $user->uid, $object->uid));
904 904
     }
905 905
     if ($ignored[$object->uid] == 0) {
906
-      $links['ignore_user'] = array(
906
+        $links['ignore_user'] = array(
907 907
         'title' => bts('Ignore user', array(), NULL, 'boinc:ignore-user-add'),
908 908
         'href' => 'account/prefs/privacy/ignore_user/add/'. $object->uid,
909 909
         'query' => 'destination='. $_GET['q'],
910 910
         'attributes' => array(
911
-          'class' => 'ignore-user',
912
-          'title' => bts('Add user to your ignore list', array(), NULL, 'boinc:ignore-user-add'),
911
+            'class' => 'ignore-user',
912
+            'title' => bts('Add user to your ignore list', array(), NULL, 'boinc:ignore-user-add'),
913 913
         ),
914
-      );
914
+        );
915 915
     }
916
-  }
917
-  else if ($type == 'comment' && $user->uid != $object->uid && $object->uid != 0 && user_access('ignore user')) {
916
+    }
917
+    else if ($type == 'comment' && $user->uid != $object->uid && $object->uid != 0 && user_access('ignore user')) {
918 918
     if (!isset($ignored[$object->uid])) {
919
-      $ignored[$object->uid] = db_result(db_query('SELECT COUNT(*) FROM {ignore_user} WHERE uid = %d AND iuid = %d', $user->uid, $object->uid));
919
+        $ignored[$object->uid] = db_result(db_query('SELECT COUNT(*) FROM {ignore_user} WHERE uid = %d AND iuid = %d', $user->uid, $object->uid));
920 920
     }
921 921
     if ($ignored[$object->uid] == 0) {
922
-      $links['ignore_user'] = array(
922
+        $links['ignore_user'] = array(
923 923
         'title' => bts('Ignore user', array(), NULL, 'boinc:ignore-user-add'),
924 924
         'href' => 'account/prefs/privacy/ignore_user/add/'. $object->uid,
925 925
         'query' => 'destination='. $_GET['q'],
926 926
         'attributes' => array(
927
-          'class' => 'ignore-user',
928
-          'title' => bts('Add user to your ignore list', array(), NULL, 'boinc:ignore-user-add'),
927
+            'class' => 'ignore-user',
928
+            'title' => bts('Add user to your ignore list', array(), NULL, 'boinc:ignore-user-add'),
929 929
         ),
930
-      );
930
+        );
931
+    }
931 932
     }
932
-  }
933 933
 
934
-  return $links;
934
+    return $links;
935 935
 }
936 936
\ No newline at end of file
Please login to merge, or discard this patch.
drupal/sites/default/boinc/modules/boincteam/boincteam.module 1 patch
Indentation   +572 added lines, -572 removed lines patch added patch discarded remove patch
@@ -26,82 +26,82 @@  discard block
 block discarded – undo
26 26
  * Implementation of hook_menu()
27 27
  */
28 28
 function boincteam_menu() {
29
-  $items = array();
30
-  $items['community/teams/%/assume-foundership'] = array(
29
+    $items = array();
30
+    $items['community/teams/%/assume-foundership'] = array(
31 31
     'page callback' => 'boincteam_assume_foundership',
32 32
     'page arguments' => array(2),
33 33
     'access callback' => 'boincteam_is_member',
34 34
     'access arguments' => array(2),
35 35
     'type' => MENU_CALLBACK
36
-  );
37
-  $items['community/teams/%/join'] = array(
36
+    );
37
+    $items['community/teams/%/join'] = array(
38 38
     'page callback' => 'boincteam_join',
39 39
     'page arguments' => array(2),
40 40
     'access arguments' => array('join boincteam'),
41 41
     'type' => MENU_CALLBACK
42
-  );
43
-  $items['community/teams/%/leave'] = array(
42
+    );
43
+    $items['community/teams/%/leave'] = array(
44 44
     'page callback' => 'boincteam_leave',
45 45
     'page arguments' => array(2),
46 46
     'access arguments' => array('join boincteam'),
47 47
     'type' => MENU_CALLBACK
48
-  );
49
-  $items['community/teams/%/delete'] = array(
48
+    );
49
+    $items['community/teams/%/delete'] = array(
50 50
     'page callback' => 'boincteam_delete',
51 51
     'page arguments' => array(2),
52 52
     'access callback' => 'boincteam_is_founder',
53 53
     'access arguments' => array(2),
54 54
     'type' => MENU_CALLBACK
55
-  );
56
-  $items['community/teams/%/deny-foundership-request'] = array(
55
+    );
56
+    $items['community/teams/%/deny-foundership-request'] = array(
57 57
     'page callback' => 'boincteam_deny_foundership_request',
58 58
     'page arguments' => array(2),
59 59
     'access callback' => 'boincteam_is_founder',
60 60
     'access arguments' => array(2),
61 61
     'type' => MENU_CALLBACK
62
-  );
63
-  $items['community/teams/%/edit/admins/remove/%'] = array(
62
+    );
63
+    $items['community/teams/%/edit/admins/remove/%'] = array(
64 64
     'page callback' => 'boincteam_remove_admin',
65 65
     'page arguments' => array(2,6),
66 66
     'access callback' => 'boincteam_is_founder',
67 67
     'access arguments' => array(2),
68 68
     'type' => MENU_CALLBACK
69
-  );
70
-  $items['community/teams/%/edit/founder/set/%'] = array(
69
+    );
70
+    $items['community/teams/%/edit/founder/set/%'] = array(
71 71
     'page callback' => 'boincteam_set_founder',
72 72
     'page arguments' => array(2,6),
73 73
     'access callback' => 'boincteam_is_founder',
74 74
     'access arguments' => array(2),
75 75
     'type' => MENU_CALLBACK
76
-  );
77
-  $items['community/teams/%/edit/members/remove/%'] = array(
76
+    );
77
+    $items['community/teams/%/edit/members/remove/%'] = array(
78 78
     'page callback' => 'boincteam_remove_member',
79 79
     'page arguments' => array(2,6),
80 80
     'access callback' => 'boincteam_is_founder',
81 81
     'access arguments' => array(2),
82 82
     'type' => MENU_CALLBACK
83
-  );
84
-  $items['community/teams/%/history/xml'] = array(
83
+    );
84
+    $items['community/teams/%/history/xml'] = array(
85 85
     'page callback' => 'boincteam_history_xml',
86 86
     'page arguments' => array(2),
87 87
     'access callback' => 'boincteam_is_admin',
88 88
     'access arguments' => array(2),
89 89
     'type' => MENU_CALLBACK
90
-  );
91
-  $items['community/teams/%/request-foundership'] = array(
90
+    );
91
+    $items['community/teams/%/request-foundership'] = array(
92 92
     'page callback' => 'boincteam_request_foundership',
93 93
     'page arguments' => array(2),
94 94
     'access callback' => 'boincteam_is_member',
95 95
     'access arguments' => array(2),
96 96
     'type' => MENU_CALLBACK
97
-  );
98
-  $items['community/teams/%/user-name-autocomplete'] = array(
97
+    );
98
+    $items['community/teams/%/user-name-autocomplete'] = array(
99 99
     'page callback' => '_boincuser_user_name_autocomplete',
100 100
     'access callback' => 'boincteam_is_founder',
101 101
     'access arguments' => array(2),
102 102
     'type' => MENU_CALLBACK,
103
-  );
104
-  $items['community/teams/%/message-all-members'] = array(
103
+    );
104
+    $items['community/teams/%/message-all-members'] = array(
105 105
     'title' => bts('Send Message to Team', array(), NULL, 'boinc:team-manage'),
106 106
     'description' => bts('Send Message to Team', array(), NULL, 'boinc:team-manage'),
107 107
     'page callback' => 'drupal_get_form',
@@ -109,8 +109,8 @@  discard block
 block discarded – undo
109 109
     'access callback' => 'boincteam_is_admin',
110 110
     'access arguments' => array(2),
111 111
     'type' => MENU_CALLBACK,
112
-  );
113
-  $items['admin/boinc/utility-team-delete'] = array(
112
+    );
113
+    $items['admin/boinc/utility-team-delete'] = array(
114 114
     'title' => 'Utility: Delete SPAM Teams',
115 115
     'description' => 'Utililities to help delete BOINC teams created by SPAMMERs.',
116 116
     'page callback' => 'drupal_get_form',
@@ -118,9 +118,9 @@  discard block
 block discarded – undo
118 118
     'access arguments' => array('administer site configuration'),
119 119
     'type' => MENU_NORMAL_ITEM,
120 120
     'file' => 'boincteam.admin.inc',
121
-  );
121
+    );
122 122
    
123
-  return $items;
123
+    return $items;
124 124
 }
125 125
 
126 126
 /**
@@ -137,41 +137,41 @@  discard block
 block discarded – undo
137 137
 
138 138
   See https://www.drupal.org/node/945102
139 139
 */
140
-  return array(
140
+    return array(
141 141
     'boincteam_utility_team_table' => array(
142
-      'arguments' => array('form' => NULL),
143
-      'file' => 'boincteam.admin.inc',
142
+        'arguments' => array('form' => NULL),
143
+        'file' => 'boincteam.admin.inc',
144 144
     ),
145
-  );
145
+    );
146 146
 }
147 147
 
148 148
 /**
149 149
 * Implementation of hook_views_api().
150 150
 */
151 151
 function boincteam_views_api() {
152
-  return array(
152
+    return array(
153 153
     'api' => 2.0,
154 154
     'path' => drupal_get_path('module', 'boincteam')
155
-  );
155
+    );
156 156
 }
157 157
 
158 158
 /**
159 159
  * Implementation of hook_perm()
160 160
  */
161 161
 function boincteam_perm() {
162
-  return array('join boincteam', 'create boincteam', 'manage boincteam');
162
+    return array('join boincteam', 'create boincteam', 'manage boincteam');
163 163
 }
164 164
 
165 165
 /**
166 166
  * Implementation of hook_cron()
167 167
  */
168 168
 function boincteam_cron() {
169
-  // Sync teams from BOINC DB every day to catch BOINC-wide team updates
170
-  $last_sync = variable_get('boincteam_last_sync', 0);
171
-  if ($last_sync < time() - 24*60*60) {
169
+    // Sync teams from BOINC DB every day to catch BOINC-wide team updates
170
+    $last_sync = variable_get('boincteam_last_sync', 0);
171
+    if ($last_sync < time() - 24*60*60) {
172 172
     boincteam_sync();
173 173
     variable_set('boincteam_last_sync', time());
174
-  }
174
+    }
175 175
 }
176 176
 
177 177
 /**
@@ -185,41 +185,41 @@  discard block
 block discarded – undo
185 185
 * Implementation of hook_views_pre_execute().
186 186
 */
187 187
 function boincteam_views_pre_execute(&$view) {
188
-  /* Specific boinc_teams sub-views use the boinc readonly replica
188
+    /* Specific boinc_teams sub-views use the boinc readonly replica
189 189
    * DB. These sub-views defined below by their title. If additional
190 190
    * sub-views need to be added, add their title to the list of cases
191 191
    * below. If a sub-view needs to be reverted to use the master DB,
192 192
    * then remove it from the list of cases.
193 193
    */
194
-  if ($view->name == 'boinc_teams') {
194
+    if ($view->name == 'boinc_teams') {
195 195
     switch ($view->display[$view->current_display]->display_title) {
196 196
     case 'Top teams overview pane':
197 197
     case 'Top teams pane':
198 198
     case 'Page':
199 199
       $view->base_database = 'boinc_ro';
200 200
     }
201
-  }
201
+    }
202 202
 }
203 203
 
204 204
 /**
205 205
  * Implementation of hook_cron_queue_info()
206 206
  */
207 207
 function boincteam_cron_queue_info() {
208
-  $queues = array();
209
-  $queues['queue_teamdelete'] = array(
208
+    $queues = array();
209
+    $queues['queue_teamdelete'] = array(
210 210
     'worker callback' => 'boincteam_delete',
211 211
     'time' => 60,
212
-  );
212
+    );
213 213
 }
214 214
 
215 215
 /**
216 216
  * Implementation of hook_mail_alter()
217 217
  */
218 218
 function boincteam_mail_alter(&$message) {
219
-  if (isset($message['params']['boincteam_headers'])) {
219
+    if (isset($message['params']['boincteam_headers'])) {
220 220
     $message['headers']['Bcc'] = $message['params']['boincteam_headers']['Bcc'];
221 221
     $message['to'] = '';
222
-  }
222
+    }
223 223
 }
224 224
 
225 225
 /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
@@ -231,49 +231,49 @@  discard block
 block discarded – undo
231 231
  * assume the role of founder
232 232
  */
233 233
 function boincteam_assume_foundership($team_id) {
234
-  global $user;
235
-  $account = user_load($user->uid);
236
-  $team = node_load($team_id);
237
-  $boincteam_id = boincteam_lookup_id($team_id);
238
-  $boincteam = boincteam_load($boincteam_id);
239
-  $boincuser_id = $account->boincuser_id;
234
+    global $user;
235
+    $account = user_load($user->uid);
236
+    $team = node_load($team_id);
237
+    $boincteam_id = boincteam_lookup_id($team_id);
238
+    $boincteam = boincteam_load($boincteam_id);
239
+    $boincuser_id = $account->boincuser_id;
240 240
   
241
-  if (boincteam_foundership_transfer_ok($boincteam)) {
241
+    if (boincteam_foundership_transfer_ok($boincteam)) {
242 242
     if ($boincuser_id == $boincteam->ping_user) {
243
-      db_set_active('boinc_rw');
244
-      db_query("
243
+        db_set_active('boinc_rw');
244
+        db_query("
245 245
         UPDATE {team}
246 246
         SET userid = '%d', ping_user = '0', ping_time = '0'
247 247
         WHERE id = '%d'",
248 248
         $boincuser_id, $boincteam_id
249
-      );
250
-      db_set_active('default');
251
-      drupal_set_message(t('You are now the founder of @team', array(
249
+        );
250
+        db_set_active('default');
251
+        drupal_set_message(t('You are now the founder of @team', array(
252 252
         '@team' => $team->title
253
-      )));
254
-      watchdog('boincteam', 'User @user assumed foundership of team @nid',
253
+        )));
254
+        watchdog('boincteam', 'User @user assumed foundership of team @nid',
255 255
         array(
256
-          '@current_user' => $account->uid,
257
-          '@nid' => $team_id
256
+            '@current_user' => $account->uid,
257
+            '@nid' => $team_id
258 258
         ), WATCHDOG_NOTICE
259
-      );
259
+        );
260 260
     }
261
-  }
262
-  else {
261
+    }
262
+    else {
263 263
     drupal_set_message(t('You are not allowed to assume foundership of this
264 264
       team.'
265 265
     ));
266
-  }
267
-  drupal_goto("community/teams/{$team_id}");
266
+    }
267
+    drupal_goto("community/teams/{$team_id}");
268 268
 }
269 269
 
270 270
 /**
271 271
  * Delete the team, if empty
272 272
  */
273 273
 function boincteam_delete($team_id) {
274
-  $team = node_load($team_id);
275
-  $boincteam = boincteam_load(boincteam_lookup_id($team_id), TRUE);
276
-  if ($boincteam->nusers == 1) {
274
+    $team = node_load($team_id);
275
+    $boincteam = boincteam_load(boincteam_lookup_id($team_id), TRUE);
276
+    if ($boincteam->nusers == 1) {
277 277
     require_boinc('team');
278 278
     $boincuser = boincuser_load();
279 279
     user_quit_team($boincuser);
@@ -282,35 +282,35 @@  discard block
 block discarded – undo
282 282
     $team->uid = 0;
283 283
     node_save($team);
284 284
     drupal_set_message(t('@team has been removed.',
285
-      array('@team' => $boincteam->name)));
285
+        array('@team' => $boincteam->name)));
286 286
     drupal_goto('community/teams');
287
-  }
288
-  else {
287
+    }
288
+    else {
289 289
     drupal_set_message(t('All members must be removed from @team before the
290 290
       team can be deleted.', array('@team' => $boincteam->name)), 'error');
291 291
     drupal_goto(strstr($_GET['q'], '/delete', TRUE));
292
-  }
292
+    }
293 293
 }
294 294
 
295 295
 /**
296 296
  * Deny a foundership transfer request
297 297
  */
298 298
 function boincteam_deny_foundership_request($team_id) {
299
-  $boincteam_id = boincteam_lookup_id($team_id);
300
-  // Remove the request from the BOINC database
301
-  db_set_active('boinc_rw');
302
-  db_query("
299
+    $boincteam_id = boincteam_lookup_id($team_id);
300
+    // Remove the request from the BOINC database
301
+    db_set_active('boinc_rw');
302
+    db_query("
303 303
     UPDATE {team}
304 304
     SET ping_user=0
305 305
     WHERE id = '%d'",
306 306
     $boincteam_id
307
-  );
308
-  db_set_active('default');
307
+    );
308
+    db_set_active('default');
309 309
   
310
-  drupal_set_message(t('The transfer request has been denied. No additional
310
+    drupal_set_message(t('The transfer request has been denied. No additional
311 311
     requests will be allowed until 90 days have passed since this request was
312 312
     made.'));
313
-  drupal_goto("community/teams/{$team_id}/edit/founder");
313
+    drupal_goto("community/teams/{$team_id}/edit/founder");
314 314
 }
315 315
   
316 316
 
@@ -318,62 +318,62 @@  discard block
 block discarded – undo
318 318
  * Get the join date of a user
319 319
  */
320 320
 function boincteam_get_member_join_date($boincteam_id, $boincuser_id = NULL) {
321
-  if (!$boincuser_id) {
321
+    if (!$boincuser_id) {
322 322
     global $user;
323 323
     $account = user_load($user->uid);
324 324
     $boincuser_id = $account->boincuser_id;
325
-  }
326
-  db_set_active('boinc_rw');
327
-  $timestamp = db_result(db_query("
325
+    }
326
+    db_set_active('boinc_rw');
327
+    $timestamp = db_result(db_query("
328 328
     SELECT timestamp FROM {team_delta} WHERE
329 329
     userid = %d AND teamid = %d AND joining = 1
330 330
     ORDER BY timestamp DESC LIMIT 1",
331 331
     $boincuser_id, $boincteam_id
332
-  ));
333
-  db_set_active('default');
334
-  return $timestamp;
332
+    ));
333
+    db_set_active('default');
334
+    return $timestamp;
335 335
 }
336 336
 
337 337
 /**
338 338
  * Get the team type for display
339 339
  */
340 340
 function boincteam_get_type($team_id) {
341
-  //$vid = boincteam_get_vocabulary_by_name('Teams'); $team->vid = $vid;
342
-  $team = node_load($team_id);
343
-  $terms = taxonomy_node_get_terms($team);
344
-  if ($terms) {
341
+    //$vid = boincteam_get_vocabulary_by_name('Teams'); $team->vid = $vid;
342
+    $team = node_load($team_id);
343
+    $terms = taxonomy_node_get_terms($team);
344
+    if ($terms) {
345 345
     $term = reset($terms);
346 346
     return $term->name;
347
-  } else {
347
+    } else {
348 348
     return null;
349
-  }
349
+    }
350 350
 }
351 351
 
352 352
 /**
353 353
  * Access a vocabulary of terms by name
354 354
  */ 
355 355
 function boincteam_get_vocabulary_by_name($name) {
356
-  $vocabs = taxonomy_get_vocabularies('team');
357
-  foreach ($vocabs as $vocab) {
356
+    $vocabs = taxonomy_get_vocabularies('team');
357
+    foreach ($vocabs as $vocab) {
358 358
     if ($vocab->name == $name) return $vocab->vid;
359
-  }
360
-  return null;
359
+    }
360
+    return null;
361 361
 }
362 362
 
363 363
 /**
364 364
  * Output the XML of the team history
365 365
  */
366 366
 function boincteam_history_xml($team_id) {
367
-  $team = node_load($team_id);
368
-  $boincteam_id = boincteam_lookup_id($team_id);
369
-  $team_history = array(
367
+    $team = node_load($team_id);
368
+    $boincteam_id = boincteam_lookup_id($team_id);
369
+    $team_history = array(
370 370
     'actions' => array(
371
-      'action' => array(),
371
+        'action' => array(),
372 372
     ),
373
-  );
373
+    );
374 374
   
375
-  db_set_active('boinc_rw');
376
-  $result = db_query("
375
+    db_set_active('boinc_rw');
376
+    $result = db_query("
377 377
     SELECT 
378 378
       td.userid AS id,
379 379
       u.name,
@@ -385,40 +385,40 @@  discard block
 block discarded – undo
385 385
     WHERE td.teamid = %d
386 386
     ORDER BY timestamp ASC",
387 387
     $boincteam_id
388
-  );
389
-  db_set_active('default');
388
+    );
389
+    db_set_active('default');
390 390
   
391
-  while ($record = db_fetch_array($result)) {
391
+    while ($record = db_fetch_array($result)) {
392 392
     $team_history['actions']['action'][] = $record;
393
-  }
393
+    }
394 394
   
395
-  header('Content-type: text/xml');
396
-  echo xml_to_text(array_to_xml($team_history));
395
+    header('Content-type: text/xml');
396
+    echo xml_to_text(array_to_xml($team_history));
397 397
 }
398 398
 
399 399
 /**
400 400
  * Convert a BOINC team ID to a Drupal team ID
401 401
  */
402 402
 function boincteam_lookup_nid($boinc_id) {
403
-  $drupal_id = db_result(db_query("SELECT nid FROM {boincteam} WHERE team_id='%d'", $boinc_id));
404
-  return $drupal_id;
403
+    $drupal_id = db_result(db_query("SELECT nid FROM {boincteam} WHERE team_id='%d'", $boinc_id));
404
+    return $drupal_id;
405 405
 }
406 406
 
407 407
 /**
408 408
  * Convert a Drupal team ID to a BOINC team ID
409 409
  */
410 410
 function boincteam_lookup_id($nid) {
411
-  $boinc_id = db_result(db_query("SELECT team_id FROM {boincteam} WHERE nid = '%d'", $nid));
412
-  return $boinc_id;
411
+    $boinc_id = db_result(db_query("SELECT team_id FROM {boincteam} WHERE nid = '%d'", $nid));
412
+    return $boinc_id;
413 413
 }
414 414
 
415 415
 /**
416 416
  * Get a BOINC team object
417 417
  */
418 418
 function boincteam_load($boincteam_id, $full_object = FALSE) {
419
-  require_boinc(array('team'));
420
-  $team = BoincTeam::lookup_id($boincteam_id);
421
-  if ($team AND $full_object) {
419
+    require_boinc(array('team'));
420
+    $team = BoincTeam::lookup_id($boincteam_id);
421
+    if ($team AND $full_object) {
422 422
     $team->nusers = BoincUser::count("teamid={$team->id}");
423 423
     $team->nusers_worked = BoincUser::count("teamid={$team->id} and total_credit>0");
424 424
     $team->nusers_active = BoincUser::count("teamid={$team->id} and expavg_credit>0.1");
@@ -426,314 +426,314 @@  discard block
 block discarded – undo
426 426
     $team->new_members = new_member_list($boincteam_id);
427 427
     $team->admins = admin_list($boincteam_id);
428 428
     $team->founder = BoincUser::lookup_id($team->userid);
429
-  }
430
-  return $team;
429
+    }
430
+    return $team;
431 431
 }
432 432
 
433 433
 /**
434 434
  * Check if a user is the team founder
435 435
  */
436 436
 function boincteam_is_founder($nid, $uid = NULL) {
437
-  if (!$uid) {
437
+    if (!$uid) {
438 438
     global $user;
439 439
     $uid = $user->uid;
440
-  }
441
-  if (!boincteam_is_member($nid, $uid)) {
440
+    }
441
+    if (!boincteam_is_member($nid, $uid)) {
442 442
     return FALSE;
443
-  }
444
-  $team_id = boincteam_lookup_id($nid);
445
-  require_boinc('team');
446
-  return is_team_founder(boincuser_load($uid, TRUE), boincteam_load($team_id));
443
+    }
444
+    $team_id = boincteam_lookup_id($nid);
445
+    require_boinc('team');
446
+    return is_team_founder(boincuser_load($uid, TRUE), boincteam_load($team_id));
447 447
 }
448 448
 
449 449
 /**
450 450
  * Check if a user is a team admin
451 451
  */
452 452
 function boincteam_is_admin($nid, $uid = NULL) {
453
-  if (!$uid) {
453
+    if (!$uid) {
454 454
     global $user;
455 455
     $uid = $user->uid;
456
-  }
457
-  if (!boincteam_is_member($nid, $uid)) {
456
+    }
457
+    if (!boincteam_is_member($nid, $uid)) {
458 458
     return FALSE;
459
-  }
460
-  $team_id = boincteam_lookup_id($nid);
461
-  require_boinc('team');
462
-  return is_team_admin(boincuser_load($uid, TRUE), boincteam_load($team_id));
459
+    }
460
+    $team_id = boincteam_lookup_id($nid);
461
+    require_boinc('team');
462
+    return is_team_admin(boincuser_load($uid, TRUE), boincteam_load($team_id));
463 463
 }
464 464
 
465 465
 /**
466 466
  * Check if a user is a team member
467 467
  */
468 468
 function boincteam_is_member($nid, $uid = NULL) {
469
-  if (!$uid) {
469
+    if (!$uid) {
470 470
     global $user;
471 471
     $uid = $user->uid;
472
-  }
473
-  $account = user_load($uid);
474
-  return ($account->team == $nid);
472
+    }
473
+    $account = user_load($uid);
474
+    return ($account->team == $nid);
475 475
 }
476 476
 
477 477
 /**
478 478
  * Display any persistent team messages
479 479
  */
480 480
 function boincteam_show_messages() {
481
-  global $user;
482
-  $uid = $user->uid;
483
-  $account = user_load($uid);
484
-  if ($account->team) {
481
+    global $user;
482
+    $uid = $user->uid;
483
+    $account = user_load($uid);
484
+    if ($account->team) {
485 485
     if (boincteam_is_founder($account->team, $account->uid)) {
486
-      // Set a notice of any pending foundership requests
487
-      $boincteam_id = boincteam_lookup_id($account->team);
488
-      $boincteam = boincteam_load($boincteam_id);
489
-      if ($boincteam->ping_user > 0) {
486
+        // Set a notice of any pending foundership requests
487
+        $boincteam_id = boincteam_lookup_id($account->team);
488
+        $boincteam = boincteam_load($boincteam_id);
489
+        if ($boincteam->ping_user > 0) {
490 490
         $foundership_url = "community/teams/{$account->team}/edit/founder";
491 491
         if (substr($_GET['q'], 0, strlen($foundership_url)) != $foundership_url) {
492
-          drupal_set_message(
492
+            drupal_set_message(
493 493
             bts(
494
-              'A foundership transfer request has been made for your team. Please !respond.',
495
-              array('!respond' => l(bts('respond to the request', array(), NULL, 'boinc:team-founder-change'), $foundership_url)),
496
-              NULL, 'boinc:team-founder-change'),
494
+                'A foundership transfer request has been made for your team. Please !respond.',
495
+                array('!respond' => l(bts('respond to the request', array(), NULL, 'boinc:team-founder-change'), $foundership_url)),
496
+                NULL, 'boinc:team-founder-change'),
497 497
             'warning', FALSE
498
-          );
498
+            );
499
+        }
499 500
         }
500
-      }
501 501
     }
502
-  }
502
+    }
503 503
 }
504 504
 
505 505
 /**
506 506
  * Add a user to a team
507 507
  */
508 508
 function boincteam_join($team_id) {
509
-  global $user;
510
-  $account = user_load($user->uid);
509
+    global $user;
510
+    $account = user_load($user->uid);
511 511
   
512
-  $boincteam_id = boincteam_lookup_id($team_id);
513
-  $boincteam = boincteam_load($boincteam_id);
514
-  if ($boincteam->joinable AND $account->team != $team_id) {
512
+    $boincteam_id = boincteam_lookup_id($team_id);
513
+    $boincteam = boincteam_load($boincteam_id);
514
+    if ($boincteam->joinable AND $account->team != $team_id) {
515 515
     require_boinc('team');
516 516
     $boincuser = boincuser_load();
517 517
     if (user_join_team($boincteam, $boincuser)) {
518
-      drupal_set_message(t('You are now a member of @team!',
518
+        drupal_set_message(t('You are now a member of @team!',
519 519
         array('@team' => $boincteam->name)));
520
-      watchdog('boincteam', 'added user @uid to team @nid',
520
+        watchdog('boincteam', 'added user @uid to team @nid',
521 521
         array('@uid' => $user->uid, '@nid' => $team_id), WATCHDOG_NOTICE);
522 522
     }
523 523
     else {
524
-      // @todo - consider another rule/error event here
525
-      drupal_set_message(t('There was a problem joining @team, please try again
524
+        // @todo - consider another rule/error event here
525
+        drupal_set_message(t('There was a problem joining @team, please try again
526 526
         later', array('@team' => $boincteam->name)));
527
-      watchdog('boincteam', 'error adding user @uid to team @nid',
527
+        watchdog('boincteam', 'error adding user @uid to team @nid',
528 528
         array('@uid' => $user->uid, '@nid' => $team_id), WATCHDOG_ERROR);
529 529
     }
530
-  }
531
-  drupal_goto("community/teams/{$team_id}");
530
+    }
531
+    drupal_goto("community/teams/{$team_id}");
532 532
 }
533 533
 
534 534
 /**
535 535
  * Leave a team
536 536
  */
537 537
 function boincteam_leave($team_id) {
538
-  global $user;
539
-  $account = user_load($user->uid);
538
+    global $user;
539
+    $account = user_load($user->uid);
540 540
   
541
-  $boincteam_id = boincteam_lookup_id($team_id);
542
-  $boincteam = boincteam_load($boincteam_id);
543
-  if ($account->team == $team_id) {
541
+    $boincteam_id = boincteam_lookup_id($team_id);
542
+    $boincteam = boincteam_load($boincteam_id);
543
+    if ($account->team == $team_id) {
544 544
     require_boinc('team');
545 545
     $boincuser = boincuser_load();
546 546
     user_quit_team($boincuser);
547 547
     drupal_set_message(t('You are no longer a member of @team.',
548
-      array('@team' => $boincteam->name)));
548
+        array('@team' => $boincteam->name)));
549 549
     watchdog('boincteam', 'removed user @uid from team @nid',
550
-      array('@uid' => $user->uid, '@nid' => $team_id), WATCHDOG_NOTICE);
551
-  }
552
-  else {
553
-      drupal_set_message(t('You are not a member of @team, so you cannot revoke
550
+        array('@uid' => $user->uid, '@nid' => $team_id), WATCHDOG_NOTICE);
551
+    }
552
+    else {
553
+        drupal_set_message(t('You are not a member of @team, so you cannot revoke
554 554
         your membership to it.', array('@team' => $boincteam->name)));
555
-  }
556
-  drupal_goto("community/teams/{$team_id}");
555
+    }
556
+    drupal_goto("community/teams/{$team_id}");
557 557
 }
558 558
 
559 559
 /**
560 560
  * Remove team admin status from a user
561 561
  */
562 562
 function boincteam_remove_admin($team_id, $user_id) {
563
-  global $user;
564
-  $account = user_load($user_id);
565
-  $team = node_load($team_id);
566
-  $boincteam_id = boincteam_lookup_id($team_id);
567
-  $boincuser_id = $account->boincuser_id;
563
+    global $user;
564
+    $account = user_load($user_id);
565
+    $team = node_load($team_id);
566
+    $boincteam_id = boincteam_lookup_id($team_id);
567
+    $boincuser_id = $account->boincuser_id;
568 568
   
569
-  if (boincteam_is_admin($team_id, $account->uid)) {
569
+    if (boincteam_is_admin($team_id, $account->uid)) {
570 570
     // Update the team in the BOINC db
571 571
     db_set_active('boinc_rw');
572 572
     db_query("
573 573
       DELETE FROM {team_admin} WHERE
574 574
         teamid = '%d' AND userid = '%d'",
575
-      $boincteam_id,
576
-      $boincuser_id
575
+        $boincteam_id,
576
+        $boincuser_id
577 577
     );
578 578
     db_set_active('default');
579 579
     drupal_set_message(t('@user is no longer an admin of @team.',
580
-      array(
580
+        array(
581 581
         '@user' => $account->boincuser_name,
582 582
         '@team' => $team->title
583
-      )
583
+        )
584 584
     ));
585 585
     watchdog('boincteam', 'User @current_user removed admin status for user
586 586
       @uid from team @nid',
587
-      array(
587
+        array(
588 588
         '@current_user' => $user->uid,
589 589
         '@uid' => $account->uid, 
590 590
         '@nid' => $team_id
591
-      ), WATCHDOG_NOTICE);
592
-  }
593
-  drupal_goto("community/teams/{$team_id}/edit/admins");
591
+        ), WATCHDOG_NOTICE);
592
+    }
593
+    drupal_goto("community/teams/{$team_id}/edit/admins");
594 594
 }
595 595
 
596 596
 /**
597 597
  * Remove a user from a team
598 598
  */
599 599
 function boincteam_remove_member($team_id, $user_id) {
600
-  global $user;
601
-  $account = user_load($user_id);
600
+    global $user;
601
+    $account = user_load($user_id);
602 602
   
603
-  $boincteam_id = boincteam_lookup_id($team_id);
604
-  $boincteam = boincteam_load($boincteam_id);
605
-  if ($account->team == $team_id) {
603
+    $boincteam_id = boincteam_lookup_id($team_id);
604
+    $boincteam = boincteam_load($boincteam_id);
605
+    if ($account->team == $team_id) {
606 606
     require_boinc('team');
607 607
     $boincuser = boincuser_load($user_id, TRUE);
608 608
     user_quit_team($boincuser);
609 609
     drupal_set_message(t('@user has been removed from @team.',
610
-      array(
610
+        array(
611 611
         '@user' => $account->boincuser_name,
612 612
         '@team' => $boincteam->name
613
-      )
613
+        )
614 614
     ));
615 615
     watchdog('boincteam', 'User @current_user removed user @uid from team @nid',
616
-      array(
616
+        array(
617 617
         '@current_user' => $user->uid,
618 618
         '@uid' => $account->uid, 
619 619
         '@nid' => $team_id
620
-      ), WATCHDOG_NOTICE);
621
-  }
622
-  else {
623
-      drupal_set_message(t('@user is not a member of @team, so you cannot
620
+        ), WATCHDOG_NOTICE);
621
+    }
622
+    else {
623
+        drupal_set_message(t('@user is not a member of @team, so you cannot
624 624
         revoke the membership.', array(
625
-          '@user' => $account->boincuser_name,
626
-          '@team' => $boincteam->name
625
+            '@user' => $account->boincuser_name,
626
+            '@team' => $boincteam->name
627 627
         )
628
-      ));
629
-  }
630
-  drupal_goto("community/teams/{$team_id}/edit/members");
628
+        ));
629
+    }
630
+    drupal_goto("community/teams/{$team_id}/edit/members");
631 631
 }
632 632
 
633 633
 /**
634 634
  * Request a foundership transfer
635 635
  */
636 636
 function boincteam_request_foundership($team_id) {
637
-  global $user;
638
-  $account = user_load($user->uid);
639
-  $team = node_load($team_id);
640
-  $boincteam_id = boincteam_lookup_id($team_id);
641
-  $boincteam = boincteam_load($boincteam_id);
642
-  $boincuser_id = $account->boincuser_id;
637
+    global $user;
638
+    $account = user_load($user->uid);
639
+    $team = node_load($team_id);
640
+    $boincteam_id = boincteam_lookup_id($team_id);
641
+    $boincteam = boincteam_load($boincteam_id);
642
+    $boincuser_id = $account->boincuser_id;
643 643
   
644
-  if (boincteam_is_founder($team_id, $account->uid)) {
644
+    if (boincteam_is_founder($team_id, $account->uid)) {
645 645
     // Shouldn't even be here...
646 646
     drupal_set_message(t('@user is already the team founder.',
647
-      array(
647
+        array(
648 648
         '@user' => $account->boincuser_name
649
-      )
649
+        )
650 650
     ), 'warning');
651
-  }
652
-  elseif (!boincteam_new_foundership_transfer_request_ok($team_id)) {
651
+    }
652
+    elseif (!boincteam_new_foundership_transfer_request_ok($team_id)) {
653 653
     // It hasn't been long enough since the last transfer request
654 654
     drupal_set_message(t('A foundership change was requested during the last 90
655 655
       days, so new requests are not allowed. Please try again later.'
656 656
     ), 'warning');
657
-  }
658
-  elseif (boincteam_is_member($team_id, $account->uid)) {
657
+    }
658
+    elseif (boincteam_is_member($team_id, $account->uid)) {
659 659
     // Log the transfer request
660 660
     db_set_active('boinc_rw');
661 661
     db_query("
662 662
       UPDATE {team}
663 663
       SET ping_user = '%d', ping_time='%d'
664 664
       WHERE id = '%d'",
665
-      $boincuser_id, time(), $boincteam_id
665
+        $boincuser_id, time(), $boincteam_id
666 666
     );
667 667
     db_set_active('default');
668 668
     drupal_set_message(t('You have requested foundership of @team. The current
669 669
       founder has 60 days to respond to this request.',
670
-      array(
670
+        array(
671 671
         '@team' => $team->title
672
-      )
672
+        )
673 673
     ));
674 674
     watchdog('boincteam', 'User @user requested foundership of team @nid',
675
-      array(
675
+        array(
676 676
         '@current_user' => $account->uid,
677 677
         '@nid' => $team_id
678
-      ), WATCHDOG_NOTICE);
679
-  }
680
-  drupal_goto("community/teams/{$team_id}");
678
+        ), WATCHDOG_NOTICE);
679
+    }
680
+    drupal_goto("community/teams/{$team_id}");
681 681
 }
682 682
 
683 683
 /**
684 684
  * Transfer foundership to another team member
685 685
  */
686 686
 function boincteam_set_founder($team_id, $user_id) {
687
-  global $user;
688
-  $account = user_load($user_id);
689
-  $team = node_load($team_id);
690
-  $boincteam_id = boincteam_lookup_id($team_id);
691
-  $boincuser_id = $account->boincuser_id;
687
+    global $user;
688
+    $account = user_load($user_id);
689
+    $team = node_load($team_id);
690
+    $boincteam_id = boincteam_lookup_id($team_id);
691
+    $boincuser_id = $account->boincuser_id;
692 692
   
693
-  if (boincteam_is_member($team_id, $account->uid)) {
693
+    if (boincteam_is_member($team_id, $account->uid)) {
694 694
     // Update the team in the BOINC db
695 695
     db_set_active('boinc_rw');
696 696
     db_query("
697 697
       UPDATE {team}
698 698
       SET userid = '%d', ping_user=0
699 699
       WHERE id = '%d'",
700
-      $boincuser_id, $boincteam_id
700
+        $boincuser_id, $boincteam_id
701 701
     );
702 702
     db_set_active('default');
703 703
     drupal_set_message(t('Foundership of @team has been transfered to @user.',
704
-      array(
704
+        array(
705 705
         '@user' => $account->boincuser_name,
706 706
         '@team' => $team->title
707
-      )
707
+        )
708 708
     ));
709 709
     watchdog('boincteam', 'User @current_user transferred foundership of team
710 710
       @nid to user @uid',
711
-      array(
711
+        array(
712 712
         '@current_user' => $user->uid,
713 713
         '@uid' => $account->uid, 
714 714
         '@nid' => $team_id
715
-      ), WATCHDOG_NOTICE);
716
-  }
717
-  drupal_goto("community/teams/{$team_id}");
715
+        ), WATCHDOG_NOTICE);
716
+    }
717
+    drupal_goto("community/teams/{$team_id}");
718 718
 }
719 719
 
720 720
 /**
721 721
  * See if a new foundership transfer request is allowed
722 722
  */
723 723
 function boincteam_new_foundership_transfer_request_ok($team_id) {
724
-  $boincteam_id = boincteam_lookup_id($team_id);
725
-  $boincteam = boincteam_load($boincteam_id);
726
-  $now = time();
727
-  if ($boincteam->ping_user <= 0) {
724
+    $boincteam_id = boincteam_lookup_id($team_id);
725
+    $boincteam = boincteam_load($boincteam_id);
726
+    $now = time();
727
+    if ($boincteam->ping_user <= 0) {
728 728
     if ($boincteam->ping_time < $now - 60 * (24*60*60)) {
729
-      return TRUE;
729
+        return TRUE;
730 730
     }
731 731
     return FALSE;
732
-  }
733
-  if ($boincteam->ping_time < $now - 90 * (24*60*60)) {
732
+    }
733
+    if ($boincteam->ping_time < $now - 90 * (24*60*60)) {
734 734
     return TRUE;
735
-  }
736
-  return FALSE;
735
+    }
736
+    return FALSE;
737 737
 }
738 738
 
739 739
 /** 
@@ -755,18 +755,18 @@  discard block
 block discarded – undo
755 755
  * Check if a user has an active foundership request with a team
756 756
  */
757 757
 function boincteam_user_requested_foundership($team_id, $user_id = NULL) {
758
-  if (!$user_id) {
758
+    if (!$user_id) {
759 759
     global $user;
760 760
     $user_id = $user->uid;
761
-  }
762
-  $account = user_load($user_id);
763
-  $boincteam_id = boincteam_lookup_id($team_id);
764
-  $boincteam = boincteam_load($boincteam_id);
761
+    }
762
+    $account = user_load($user_id);
763
+    $boincteam_id = boincteam_lookup_id($team_id);
764
+    $boincteam = boincteam_load($boincteam_id);
765 765
   
766
-  if ($boincteam->ping_user == $account->boincuser_id) {
766
+    if ($boincteam->ping_user == $account->boincuser_id) {
767 767
     // Be sure the request is still active
768 768
     return !boincteam_new_foundership_transfer_request_ok($team_id);
769
-  }
769
+    }
770 770
 }
771 771
 
772 772
 
@@ -778,125 +778,125 @@  discard block
 block discarded – undo
778 778
  * General info about team admins
779 779
  */                                         
780 780
 function boincteam_about_admins_panel() {
781
-  $output = '';
782
-  $output .= '<h2 class="pane-title">' . bts('About team admins', array(), NULL, 'boinc:team-admins-panel') . '</h2>';
783
-  $output .= '<div>';
784
-  $output .= '<p>' . bts('Team admins can:', array(), NULL, 'boinc:team-admins-panel') . '</p>';
785
-  $output .= '<ul>';
786
-  $output .= '  <li>' . bts('Edit team information', array(), NULL, 'boinc:team-admins-panel') . '</li>';
787
-  $output .= '  <li>' . bts("View the team's join / quit history", array(), NULL, 'boinc:team-admins-panel') . '</li>';
788
-  $output .= '  <li>' . bts('Moderate the team forum', array(), NULL, 'boinc:team-admins-panel') . '</li>';
789
-  $output .= '  <li>' . bts('Remove members from the team', array(), NULL, 'boinc:team-admins-panel') . '</li>';
790
-  $output .= '  <li>' . bts('Disband a team if it has no members', array(), NULL, 'boinc:team-admins-panel') . '</li>';
791
-  $output .= '</ul>';
792
-  $output .= '</div>';
793
-  $output .= '<div>';
794
-  $output .= '<p>' . bts('Team admins cannot:', array(), NULL, 'boinc:team-admins-panel') . '</p>';
795
-  $output .= '<ul>';
796
-  $output .= '  <li>' . bts('Change the team founder', array(), NULL, 'boinc:team-admins-panel') . '</li>';
797
-  $output .= '  <li>' . bts('Remove members', array(), NULL, 'boinc:team-admins-panel') . '</li>';
798
-  $output .= '  <li>' . bts('Add / Remove team admins', array(), NULL, 'boinc:team-admins-panel') . '</li>';
799
-  $output .= '</ul>';
800
-  $output .= '</div>';
801
-  $output .= '<p>' . bts('If a team admin quits the team, they cease to be a'
781
+    $output = '';
782
+    $output .= '<h2 class="pane-title">' . bts('About team admins', array(), NULL, 'boinc:team-admins-panel') . '</h2>';
783
+    $output .= '<div>';
784
+    $output .= '<p>' . bts('Team admins can:', array(), NULL, 'boinc:team-admins-panel') . '</p>';
785
+    $output .= '<ul>';
786
+    $output .= '  <li>' . bts('Edit team information', array(), NULL, 'boinc:team-admins-panel') . '</li>';
787
+    $output .= '  <li>' . bts("View the team's join / quit history", array(), NULL, 'boinc:team-admins-panel') . '</li>';
788
+    $output .= '  <li>' . bts('Moderate the team forum', array(), NULL, 'boinc:team-admins-panel') . '</li>';
789
+    $output .= '  <li>' . bts('Remove members from the team', array(), NULL, 'boinc:team-admins-panel') . '</li>';
790
+    $output .= '  <li>' . bts('Disband a team if it has no members', array(), NULL, 'boinc:team-admins-panel') . '</li>';
791
+    $output .= '</ul>';
792
+    $output .= '</div>';
793
+    $output .= '<div>';
794
+    $output .= '<p>' . bts('Team admins cannot:', array(), NULL, 'boinc:team-admins-panel') . '</p>';
795
+    $output .= '<ul>';
796
+    $output .= '  <li>' . bts('Change the team founder', array(), NULL, 'boinc:team-admins-panel') . '</li>';
797
+    $output .= '  <li>' . bts('Remove members', array(), NULL, 'boinc:team-admins-panel') . '</li>';
798
+    $output .= '  <li>' . bts('Add / Remove team admins', array(), NULL, 'boinc:team-admins-panel') . '</li>';
799
+    $output .= '</ul>';
800
+    $output .= '</div>';
801
+    $output .= '<p>' . bts('If a team admin quits the team, they cease to be a'
802 802
     . ' team admin. We recommend only selecting people you know and trust', array(), NULL, 'boinc:team-admins-panel')
803 803
     . '</p>';
804
-  return $output;
804
+    return $output;
805 805
 }
806 806
 
807 807
 /**
808 808
  * General info about changing the team founder
809 809
  */                                         
810 810
 function boincteam_about_founder_panel() {
811
-  $output = '';
812
-  $output .= '<h2 class="pane-title">' . bts('Changing the team founder', array(), NULL, 'boinc:team-founder-panel')
811
+    $output = '';
812
+    $output .= '<h2 class="pane-title">' . bts('Changing the team founder', array(), NULL, 'boinc:team-founder-panel')
813 813
     . '</h2>';
814
-  $output .= '<div>';
815
-  $output .= '<p>' . bts('Notes about changes in foundership:', array(), NULL, 'boinc:team-founder-panel') . '</p>';
816
-  $output .= '<ul>';
817
-  $output .= '  <li>' . bts('Any member of the team is eligible', array(), NULL, 'boinc:team-founder-panel') . '</li>';
818
-  $output .= '  <li>' . bts('Current founder becomes a normal user', array(), NULL, 'boinc:team-founder-panel') . '</li>';
819
-  $output .= '</ul>';
820
-  $output .= '</div>';
821
-  $output .= '<div>';
822
-  $output .= '<p>' . bts('Foundership can be requested by team members:', array(), NULL, 'boinc:team-founder-panel')
814
+    $output .= '<div>';
815
+    $output .= '<p>' . bts('Notes about changes in foundership:', array(), NULL, 'boinc:team-founder-panel') . '</p>';
816
+    $output .= '<ul>';
817
+    $output .= '  <li>' . bts('Any member of the team is eligible', array(), NULL, 'boinc:team-founder-panel') . '</li>';
818
+    $output .= '  <li>' . bts('Current founder becomes a normal user', array(), NULL, 'boinc:team-founder-panel') . '</li>';
819
+    $output .= '</ul>';
820
+    $output .= '</div>';
821
+    $output .= '<div>';
822
+    $output .= '<p>' . bts('Foundership can be requested by team members:', array(), NULL, 'boinc:team-founder-panel')
823 823
     . '</p>';
824
-  $output .= '<ul>';
825
-  $output .= '  <li>' . bts('One request is allowed at a time', array(), NULL, 'boinc:team-founder-panel') . '</li>';
826
-  $output .= '  <li>' . bts('It must be 60 days since any previous request', array(), NULL, 'boinc:team-founder-panel')
824
+    $output .= '<ul>';
825
+    $output .= '  <li>' . bts('One request is allowed at a time', array(), NULL, 'boinc:team-founder-panel') . '</li>';
826
+    $output .= '  <li>' . bts('It must be 60 days since any previous request', array(), NULL, 'boinc:team-founder-panel')
827 827
     . '</li>';
828
-  $output .= '  <li>' . bts('Any active request must be older than 90 days', array(), NULL, 'boinc:team-founder-panel')
828
+    $output .= '  <li>' . bts('Any active request must be older than 90 days', array(), NULL, 'boinc:team-founder-panel')
829 829
     . '</li>';
830
-  $output .= '  <li>' . bts('Current founder has 60 days to respond to a'
830
+    $output .= '  <li>' . bts('Current founder has 60 days to respond to a'
831 831
     . ' request', array(), NULL, 'boinc:team-founder-panel') . '</li>';
832
-  $output .= '</ul>';
833
-  $output .= '</div>';
834
-  return $output;
832
+    $output .= '</ul>';
833
+    $output .= '</div>';
834
+    return $output;
835 835
 }
836 836
 
837 837
 /**
838 838
  * Link to create a new team
839 839
  */
840 840
 function boincteam_create_team_link_panel() {
841
-  global $user;
842
-  $account = user_load($user->uid);
843
-  $unrestricted_role = array_search('verified contributor', user_roles(true));
844
-  $output = '';
845
-  $output .= '<h2 class="pane-title">' . bts('Create a new team', array(), NULL, 'boinc:create-team-panel') . '</h2>';
846
-  $output .= '<p>' . bts('If you cannot find a team that is right for you, you'
841
+    global $user;
842
+    $account = user_load($user->uid);
843
+    $unrestricted_role = array_search('verified contributor', user_roles(true));
844
+    $output = '';
845
+    $output .= '<h2 class="pane-title">' . bts('Create a new team', array(), NULL, 'boinc:create-team-panel') . '</h2>';
846
+    $output .= '<p>' . bts('If you cannot find a team that is right for you, you'
847 847
     . ' can create a team.', array(), NULL, 'boinc:create-team-panel') . '</p>';
848
-  $output .= '<ul class="tab-list">';
849
-  $output .= '  <li class="first last tab">';
850
-  if (isset($account->roles[$unrestricted_role])) {
848
+    $output .= '<ul class="tab-list">';
849
+    $output .= '  <li class="first last tab">';
850
+    if (isset($account->roles[$unrestricted_role])) {
851 851
     $output .= l(bts('Create new team', array(), NULL, 'boinc:create-team-panel'), 'community/teams/add');
852
-  } elseif ($account->uid <= 0) {
852
+    } elseif ($account->uid <= 0) {
853 853
     $output .= l(
854
-      bts('Login to create a new team', array(), NULL, 'boinc:create-team-panel'),
855
-      'user/login',
856
-      array('query' => drupal_get_destination())
854
+        bts('Login to create a new team', array(), NULL, 'boinc:create-team-panel'),
855
+        'user/login',
856
+        array('query' => drupal_get_destination())
857 857
     );
858
-  } else {
858
+    } else {
859 859
     $min_credit_needed = variable_get('boinc_comment_min_credit', 0);
860 860
     $credit_needed = $min_credit_needed - $account->boincuser_total_credit;
861 861
     $output .= '[';
862 862
     if ($credit_needed == 1) {
863
-      $output .= bts('You must earn 1 more credit!', array(), NULL, 'boinc:create-team-panel');
863
+        $output .= bts('You must earn 1 more credit!', array(), NULL, 'boinc:create-team-panel');
864 864
     }
865 865
     else {
866
-      $output .= bts('You must earn @count more credits!',
866
+        $output .= bts('You must earn @count more credits!',
867 867
         array('@count' => $credit_needed),
868
-	NULL, 'boinc:create-team-panel'
869
-      );
868
+    NULL, 'boinc:create-team-panel'
869
+        );
870 870
     }
871 871
     $output .= ']';
872
-  }
873
-  $output .= '  </li>';
874
-  $output .= '</ul>';
875
-  return $output;
872
+    }
873
+    $output .= '  </li>';
874
+    $output .= '</ul>';
875
+    return $output;
876 876
 }
877 877
 
878 878
 /**
879 879
  * Create team form
880 880
  */
881 881
 function boincteam_create_team_panel() {
882
-  $output = '';
883
-  $output .= '<h2 class="pane-title">' . bts('Create a team', array(), NULL, 'boinc:create-team-panel') . '</h2>';
884
-  $output .= drupal_get_form('boincteam_create_form');
882
+    $output = '';
883
+    $output .= '<h2 class="pane-title">' . bts('Create a team', array(), NULL, 'boinc:create-team-panel') . '</h2>';
884
+    $output .= drupal_get_form('boincteam_create_form');
885 885
   
886
-  return $output;
886
+    return $output;
887 887
 }
888 888
 
889 889
 /**
890 890
  * Link to user's team
891 891
  */
892 892
 function boincteam_dashboard_panel($uid = NULL) {
893
-  global $user;
894
-  if (!$uid) {
893
+    global $user;
894
+    if (!$uid) {
895 895
     $uid = $user->uid;
896
-  }
897
-  $output = '';
898
-  $account = user_load($uid);
899
-  if ($account->team) {
896
+    }
897
+    $output = '';
898
+    $account = user_load($uid);
899
+    if ($account->team) {
900 900
     $team = boincteam_load(boincteam_lookup_id($account->team));
901 901
     $output .= '<h2 class="pane-title">' . bts('Team', array(), NULL, 'boinc:team-dashboard') . '</h2>';
902 902
     $output .= '<div class="stats">';
@@ -915,254 +915,254 @@  discard block
 block discarded – undo
915 915
     $output .= '  <label>' . bts('Total credit', array(), NULL, 'boinc:user-or-team-total-credits') . ': </label>';
916 916
     $output .= '  <span>' . number_format($team->total_credit, 0) . '</span>';
917 917
     $output .= '</div>' . "\n";
918
-  }
919
-  else if ($user->uid == $account->uid) {
918
+    }
919
+    else if ($user->uid == $account->uid) {
920 920
     $output .= '<h2 class="pane-title">' . bts('Team (None)', array(), NULL, 'boinc:team-dashboard') . '</h2>';
921 921
     $output .= '<ul class="tab-list action-list">';
922 922
     $output .= '<li class="tab primary">';
923 923
     $output .= l(bts('Join a Team', array(), NULL, 'boinc:team-dashboard'), 'community/teams');
924 924
     $output .= '</li>';
925 925
     $output .= '</ul>';
926
-  }
927
-  return $output;
926
+    }
927
+    return $output;
928 928
 }
929 929
 
930 930
 /**
931 931
  * Edit team form
932 932
  */
933 933
 function boincteam_edit_team_panel($team_id) {
934
-  $team = node_load($team_id);
935
-  $output = '';
936
-  $output .= '<h2 class="pane-title">' . $team->title . '</h2>';
937
-  $output .= drupal_get_form('boincteam_edit_form', $team_id);
934
+    $team = node_load($team_id);
935
+    $output = '';
936
+    $output .= '<h2 class="pane-title">' . $team->title . '</h2>';
937
+    $output .= drupal_get_form('boincteam_edit_form', $team_id);
938 938
   
939
-  return $output;
939
+    return $output;
940 940
 }
941 941
 
942 942
 /**
943 943
  * Link to join a team
944 944
  */
945 945
 function boincteam_join_team_panel($team_id) {
946
-  $team = node_load($team_id);
947
-  $output = '';
948
-  $output .= '<h2 class="pane-title">' . bts('Join team', array(), NULL, 'boinc:join-team-panel') . '</h2>';
949
-  $output .= '<p>' . bts('Click here to become a member of @this_team',
946
+    $team = node_load($team_id);
947
+    $output = '';
948
+    $output .= '<h2 class="pane-title">' . bts('Join team', array(), NULL, 'boinc:join-team-panel') . '</h2>';
949
+    $output .= '<p>' . bts('Click here to become a member of @this_team',
950 950
     array('@this_team' =>$team->title), NULL, 'boinc:join-team-panel') . '</p>';
951
-  $output .= '<ul class="tab-list">';
952
-  $output .= '  <li class="first last tab">' . 
951
+    $output .= '<ul class="tab-list">';
952
+    $output .= '  <li class="first last tab">' . 
953 953
     l(bts('Join this team', array(), NULL, 'boinc:join-team-panel'), "community/teams/{$team_id}/join") . '</li>';
954
-  $output .= '</ul>';
955
-  return $output;
954
+    $output .= '</ul>';
955
+    return $output;
956 956
 }
957 957
 
958 958
 /**
959 959
  * Link to leave a team
960 960
  */
961 961
 function boincteam_leave_team_panel($team_id) {
962
-  $team = node_load($team_id);
963
-  $output = '';
964
-  $output .= '<h2 class="pane-title">' . bts('Leave team', array(), NULL, 'boinc:leave-team-panel') . '</h2>';
965
-  $output .= '<p>' . bts('Click here to revoke your membership with'
962
+    $team = node_load($team_id);
963
+    $output = '';
964
+    $output .= '<h2 class="pane-title">' . bts('Leave team', array(), NULL, 'boinc:leave-team-panel') . '</h2>';
965
+    $output .= '<p>' . bts('Click here to revoke your membership with'
966 966
     . ' @this_team', array('@this_team' =>$team->title), NULL, 'boinc:leave-team-panel') . '</p>';
967
-  $output .= '<ul class="tab-list">';
968
-  $output .= '  <li class="first last tab">' . 
967
+    $output .= '<ul class="tab-list">';
968
+    $output .= '  <li class="first last tab">' . 
969 969
     l(bts('Leave this team', array(), NULL, 'boinc:leave-team-panel'), "community/teams/{$team_id}/leave") . '</li>';
970
-  $output .= '</ul>';
971
-  return $output;
970
+    $output .= '</ul>';
971
+    return $output;
972 972
 }
973 973
 
974 974
 /**
975 975
  * General info about team admins
976 976
  */                                         
977 977
 function boincteam_manage_admins_panel_header($team_id) {
978
-  $output = '';
979
-  $output .= '<h4>' . bts('Add team admin', array(), NULL, 'boinc:team-manage-admins') . '</h4>';
980
-  $output .= drupal_get_form('boincteam_add_admin_form', $team_id);
981
-  $output .= '<div class="clearfix"></div>';
982
-  $output .= '<h4>' . bts('Current team admins', array(), NULL, 'boinc:team-manage-admins') . '</h4>';
978
+    $output = '';
979
+    $output .= '<h4>' . bts('Add team admin', array(), NULL, 'boinc:team-manage-admins') . '</h4>';
980
+    $output .= drupal_get_form('boincteam_add_admin_form', $team_id);
981
+    $output .= '<div class="clearfix"></div>';
982
+    $output .= '<h4>' . bts('Current team admins', array(), NULL, 'boinc:team-manage-admins') . '</h4>';
983 983
   
984
-  return $output;
984
+    return $output;
985 985
 }
986 986
 
987 987
 /**
988 988
  * Team management tools
989 989
  */
990 990
 function boincteam_management_panel($team_id) {
991
-  $is_founder = boincteam_is_founder($team_id);
992
-  $team = node_load($team_id);
991
+    $is_founder = boincteam_is_founder($team_id);
992
+    $team = node_load($team_id);
993 993
 
994
-  $output = '';
995
-  $output .= '<h2 class="pane-title">' . bts('Manage team', array(), NULL, 'boinc:team-manage') . '</h2>';
994
+    $output = '';
995
+    $output .= '<h2 class="pane-title">' . bts('Manage team', array(), NULL, 'boinc:team-manage') . '</h2>';
996 996
   
997
-  // PM all members
998
-  if (module_exists('privatemsg')) {
997
+    // PM all members
998
+    if (module_exists('privatemsg')) {
999 999
     $output .= '<div class="form-item">';
1000 1000
     $output .= '  <ul class="tab-list action-list">';
1001 1001
     $output .= '    <li class="first tab primary">' .
1002
-      l('Send message to team', "community/teams/{$team_id}/message-all-members") . '</li>';
1002
+        l('Send message to team', "community/teams/{$team_id}/message-all-members") . '</li>';
1003 1003
     $output .= '  </ul>';
1004 1004
     $output .= '  <div class="description">';
1005 1005
     $output .=   bts('Contact all team members using e-mail.', array(), NULL, 'boinc:team-manage');
1006 1006
     $output .= '  </div>';
1007 1007
     $output .= '</div>';
1008
-  }
1008
+    }
1009 1009
 
1010
-  // Team forum
1011
-  if (module_exists('boincteam_forum')) {
1010
+    // Team forum
1011
+    if (module_exists('boincteam_forum')) {
1012 1012
     if ($is_founder) {
1013
-      // Determine whether to create a forum or edit the existing forum
1014
-      // (multiple forums per team could be supported in the future)
1015
-      $team_forum_link_path = 'add';
1016
-      $team_forums = boincteam_forum_list();
1017
-      if ($team_forums) {
1013
+        // Determine whether to create a forum or edit the existing forum
1014
+        // (multiple forums per team could be supported in the future)
1015
+        $team_forum_link_path = 'add';
1016
+        $team_forums = boincteam_forum_list();
1017
+        if ($team_forums) {
1018 1018
         $team_forum = reset($team_forums);
1019 1019
         $team_forum_link_path = "{$team_forum->tfid}/edit";
1020
-      }
1021
-      $output .= '<div class="form-item">';
1022
-      $output .= '  <ul class="tab-list action-list">';
1023
-      $output .= '    <li class="first tab primary">' .   
1020
+        }
1021
+        $output .= '<div class="form-item">';
1022
+        $output .= '  <ul class="tab-list action-list">';
1023
+        $output .= '    <li class="first tab primary">' .   
1024 1024
         l(bts('Manage team message board', array(), NULL, 'boinc:team-manage'),
1025
-          "community/teams/{$team_id}/forum/{$team_forum_link_path}"
1025
+            "community/teams/{$team_id}/forum/{$team_forum_link_path}"
1026 1026
         );
1027
-      $output .= '    </li>';
1028
-      $output .= '  <div class="description">';
1029
-      $output .=   bts('Create or manage message board', array(), NULL, 'boinc:team-manage');
1030
-      $output .= '  </div>';
1031
-      $output .= '</div>';
1027
+        $output .= '    </li>';
1028
+        $output .= '  <div class="description">';
1029
+        $output .=   bts('Create or manage message board', array(), NULL, 'boinc:team-manage');
1030
+        $output .= '  </div>';
1031
+        $output .= '</div>';
1032
+    }
1032 1033
     }
1033
-  }
1034 1034
   
1035
-  // Team history
1036
-  $output .= '<div class="form-item">';
1037
-  $output .= '  <label>' . bts('View change history', array(), NULL, 'boinc:team-manage') . '</label>';
1038
-  $output .= '  <ul class="tab-list">';
1039
-  $output .= '    <li class="first tab primary">' . 
1035
+    // Team history
1036
+    $output .= '<div class="form-item">';
1037
+    $output .= '  <label>' . bts('View change history', array(), NULL, 'boinc:team-manage') . '</label>';
1038
+    $output .= '  <ul class="tab-list">';
1039
+    $output .= '    <li class="first tab primary">' . 
1040 1040
     l('HTML', "community/teams/{$team_id}/history") . '</li>';
1041
-  $output .= '    <li class="last tab primary">' .
1041
+    $output .= '    <li class="last tab primary">' .
1042 1042
     l('XML', "community/teams/{$team_id}/history/xml") . '</li>';
1043
-  $output .= '  </ul>';
1044
-  $output .= '  <div class="description">';
1045
-  $output .=   bts('See member activity', array(), NULL, 'boinc:team-manage');
1046
-  $output .= '  </div>';
1047
-  $output .= '</div>';
1043
+    $output .= '  </ul>';
1044
+    $output .= '  <div class="description">';
1045
+    $output .=   bts('See member activity', array(), NULL, 'boinc:team-manage');
1046
+    $output .= '  </div>';
1047
+    $output .= '</div>';
1048 1048
   
1049
-  $output .= '<div class="form-item">';
1050
-  $output .= '  <ul class="tab-list action-list">';
1049
+    $output .= '<div class="form-item">';
1050
+    $output .= '  <ul class="tab-list action-list">';
1051 1051
   
1052
-  // Edit team information
1053
-  $output .= '    <li class="first tab primary">' . 
1052
+    // Edit team information
1053
+    $output .= '    <li class="first tab primary">' . 
1054 1054
     l(bts('Edit team info', array(), NULL, 'boinc:team-manage'), "community/teams/{$team_id}/edit/info") . '</li>';
1055 1055
     
1056
-  // Member list
1057
-  $output .= '    <li class="tab primary">' . 
1056
+    // Member list
1057
+    $output .= '    <li class="tab primary">' . 
1058 1058
     l(bts('View member list', array(), NULL, 'boinc:team-manage'), "community/teams/{$team_id}/members") . '</li>';
1059 1059
 
1060
-  // Remove members
1061
-  $output .= '    <li class="tab primary">' . 
1060
+    // Remove members
1061
+    $output .= '    <li class="tab primary">' . 
1062 1062
     l(bts('Remove members', array(), NULL, 'boinc:team-admins-panel'), "community/teams/{$team_id}/edit/members") . '</li>';
1063 1063
   
1064
-  if ($is_founder) {
1064
+    if ($is_founder) {
1065 1065
     
1066 1066
     // Change founder
1067 1067
     $output .= '    <li class="tab primary">' . 
1068
-      l(bts('Change founder', array(), NULL, 'boinc:team-manage'), "community/teams/{$team_id}/edit/founder") . '</li>';
1068
+        l(bts('Change founder', array(), NULL, 'boinc:team-manage'), "community/teams/{$team_id}/edit/founder") . '</li>';
1069 1069
       
1070
-      // Manage admins
1070
+        // Manage admins
1071 1071
     $output .= '    <li class="tab primary">' . 
1072
-      l(bts('Manage team admins', array(), NULL, 'boinc:team-manage'), "community/teams/{$team_id}/edit/admins") . '</li>';
1072
+        l(bts('Manage team admins', array(), NULL, 'boinc:team-manage'), "community/teams/{$team_id}/edit/admins") . '</li>';
1073 1073
     
1074 1074
     // Delete the team
1075 1075
     $output .= '    <li class="last tab primary">' . 
1076
-      l(bts('Remove team', array(), NULL, 'boinc:team-manage'), "community/teams/{$team_id}/delete") . '</li>';
1077
-  }
1076
+        l(bts('Remove team', array(), NULL, 'boinc:team-manage'), "community/teams/{$team_id}/delete") . '</li>';
1077
+    }
1078 1078
   
1079
-  $output .= '  </ul>';
1080
-  $output .= '</div>';
1079
+    $output .= '  </ul>';
1080
+    $output .= '</div>';
1081 1081
   
1082
-  return $output;
1082
+    return $output;
1083 1083
 }
1084 1084
 
1085 1085
 /**
1086 1086
  * Link to user's team
1087 1087
  */
1088 1088
 function boincteam_member_link_panel() {
1089
-  global $user;
1090
-  $account = user_load($user->uid);
1091
-  $team = node_load($account->team);
1092
-  $output = '';
1093
-  $output .= '<h2 class="pane-title">' . bts('My team', array(), NULL, 'boinc:account-team-panel') . '</h2>';
1094
-  $output .= '<p>' . bts('You are a member of @team.', 
1089
+    global $user;
1090
+    $account = user_load($user->uid);
1091
+    $team = node_load($account->team);
1092
+    $output = '';
1093
+    $output .= '<h2 class="pane-title">' . bts('My team', array(), NULL, 'boinc:account-team-panel') . '</h2>';
1094
+    $output .= '<p>' . bts('You are a member of @team.', 
1095 1095
     array('@team' => $team->title), NULL, 'boinc:account-team-panel') . '</p>';
1096
-  $output .= '<ul class="tab-list">';
1097
-  $output .= '  <li class="first last tab">' . 
1096
+    $output .= '<ul class="tab-list">';
1097
+    $output .= '  <li class="first last tab">' . 
1098 1098
     l(bts('View my team', array(), NULL, 'boinc:account-team-panel'), "community/teams/{$account->team}") . '</li>';
1099
-  $output .= '</ul>';
1100
-  return $output;
1099
+    $output .= '</ul>';
1100
+    return $output;
1101 1101
 }
1102 1102
 
1103 1103
 /**
1104 1104
  * Link to request foundership transfer of a team
1105 1105
  */
1106 1106
 function boincteam_request_foundership_panel($team_id) {
1107
-  global $user;
1108
-  $account = user_load($user->uid);
1109
-  $team = node_load($team_id);
1110
-  $boincteam_id = boincteam_lookup_id($team_id);
1111
-  $boincteam = boincteam_load($boincteam_id);
1112
-  $boincuser_id = $account->boincuser_id;
1113
-  $output = '';
1114
-  $output .= '<h2 class="pane-title">' . bts('Request foundership', array(), NULL, 'boinc:team-request-foundership') . '</h2>';
1107
+    global $user;
1108
+    $account = user_load($user->uid);
1109
+    $team = node_load($team_id);
1110
+    $boincteam_id = boincteam_lookup_id($team_id);
1111
+    $boincteam = boincteam_load($boincteam_id);
1112
+    $boincuser_id = $account->boincuser_id;
1113
+    $output = '';
1114
+    $output .= '<h2 class="pane-title">' . bts('Request foundership', array(), NULL, 'boinc:team-request-foundership') . '</h2>';
1115 1115
   
1116
-  if (boincteam_user_requested_foundership($team_id)) {
1116
+    if (boincteam_user_requested_foundership($team_id)) {
1117 1117
     $deadline = boincteam_foundership_transfer_ok_time($boincteam);
1118 1118
     $days_to_deadline = ceil(($deadline - time()) / (24*60*60));
1119 1119
     $request_age = 60 - $days_to_deadline;
1120 1120
     $days_to_respond = 30 + $days_to_deadline;
1121 1121
     if (time() > $deadline) {
1122
-      $output .= '<p>';
1123
-      if ($request_age == 1) {
1122
+        $output .= '<p>';
1123
+        if ($request_age == 1) {
1124 1124
         $output .= bts('1 day has elapsed since your request and'
1125
-          . ' the founder has not responded.', array(), NULL, 'boinc:team-request-foundership');
1126
-      }
1127
-      else {
1125
+            . ' the founder has not responded.', array(), NULL, 'boinc:team-request-foundership');
1126
+        }
1127
+        else {
1128 1128
         $output .= bts('@count days have elapsed since your request and'
1129
-          . ' the founder has not responded.',
1130
-          array('@count' => $request_age),
1131
-          NULL, 'boinc:team-request-foundership');
1132
-      }
1133
-      $output .= ' ';
1134
-      if ($days_to_respond == 1) {
1129
+            . ' the founder has not responded.',
1130
+            array('@count' => $request_age),
1131
+            NULL, 'boinc:team-request-foundership');
1132
+        }
1133
+        $output .= ' ';
1134
+        if ($days_to_respond == 1) {
1135 1135
         $output .= bts('You now have 1 day to assume foundership before'
1136
-          . ' another team member may submit a request.', array(), NULL, 'boinc:team-request-foundership');
1137
-      }
1138
-      else {
1136
+            . ' another team member may submit a request.', array(), NULL, 'boinc:team-request-foundership');
1137
+        }
1138
+        else {
1139 1139
         $output .= bts('You now have @count days to assume foundership before'
1140
-          . ' another team member may submit a request.',
1141
-          array('@count' => $days_to_respond),
1142
-          NULL, 'boinc:team-request-foundership');
1143
-      }
1144
-      $output .= '</p>';
1145
-      $output .= '<ul class="tab-list">';
1146
-      $output .= '  <li class="first last tab">' . 
1140
+            . ' another team member may submit a request.',
1141
+            array('@count' => $days_to_respond),
1142
+            NULL, 'boinc:team-request-foundership');
1143
+        }
1144
+        $output .= '</p>';
1145
+        $output .= '<ul class="tab-list">';
1146
+        $output .= '  <li class="first last tab">' . 
1147 1147
         l(bts('Assume foundership', array(), NULL, 'boinc:team-request-foundership'), "community/teams/{$team_id}/assume-foundership") . '</li>';
1148
-      $output .= '</ul>';
1148
+        $output .= '</ul>';
1149 1149
     }
1150 1150
     else {
1151
-      $output .= '<p>';
1152
-      if ($days_to_deadline == 1) {
1151
+        $output .= '<p>';
1152
+        if ($days_to_deadline == 1) {
1153 1153
         $output .= bts('The team founder has 1 day to respond to your'
1154
-          . ' transfer request.',
1155
-          NULL, 'boinc:team-request-foundership');
1156
-      }
1157
-      else {
1154
+            . ' transfer request.',
1155
+            NULL, 'boinc:team-request-foundership');
1156
+        }
1157
+        else {
1158 1158
         $output .= bts('The team founder has @count days to respond to your'
1159
-          . ' transfer request.', array('@count' => $days_to_deadline),
1160
-          NULL, 'boinc:team-request-foundership');
1161
-      }
1162
-      $output .= '</p>';
1159
+            . ' transfer request.', array('@count' => $days_to_deadline),
1160
+            NULL, 'boinc:team-request-foundership');
1161
+        }
1162
+        $output .= '</p>';
1163 1163
     }
1164
-  }
1165
-  elseif (!boincteam_new_foundership_transfer_request_ok($team_id)) {
1164
+    }
1165
+    elseif (!boincteam_new_foundership_transfer_request_ok($team_id)) {
1166 1166
     // If this user does not have a transfer request pending, but new requests
1167 1167
     // are not allowed, set the deadline to 90 days instead of 60 (as the user
1168 1168
     // who made the request has 30 additional days to assume foundership if 
@@ -1171,131 +1171,131 @@  discard block
 block discarded – undo
1171 1171
     $days_to_deadline = ceil(($deadline - time()) / (24*60*60)) + 30;
1172 1172
     $output .= '<p>';
1173 1173
     $output .= bts('A team foundership change was already requested recently.'
1174
-      . ' Only one request is allowed within a period of 90 days.',
1175
-      NULL, 'boinc:team-request-foundership');
1174
+        . ' Only one request is allowed within a period of 90 days.',
1175
+        NULL, 'boinc:team-request-foundership');
1176 1176
     if ($days_to_deadline == 1) {
1177
-      $output .= ' (' . bts('1 day remaining', array(), NULL, 'boinc:team-request-foundership') . ')';
1177
+        $output .= ' (' . bts('1 day remaining', array(), NULL, 'boinc:team-request-foundership') . ')';
1178 1178
     }
1179 1179
     else {
1180
-      $output .= ' (' . bts('@count days remaining',
1180
+        $output .= ' (' . bts('@count days remaining',
1181 1181
         array('@count' => $days_to_deadline),
1182 1182
         NULL, 'boinc:team-request-foundership') . ')';
1183 1183
     }
1184 1184
     $output .= '</p>';
1185
-  }
1186
-  else {
1185
+    }
1186
+    else {
1187 1187
     $output .= '<p>' . bts('If the team founder is not active and you want to'
1188
-      . ' assume the role of founder, click below to request foundership of'
1189
-      . ' @this_team.',
1190
-      array('@this_team' =>$team->title), NULL, 'boinc:team-request-foundership') . '</p>';
1188
+        . ' assume the role of founder, click below to request foundership of'
1189
+        . ' @this_team.',
1190
+        array('@this_team' =>$team->title), NULL, 'boinc:team-request-foundership') . '</p>';
1191 1191
     $output .= '<ul class="tab-list">';
1192 1192
     $output .= '  <li class="first last tab">' . 
1193
-      l(bts('Initiate request', array(), NULL, 'boinc:team-request-foundership'), "community/teams/{$team_id}/request-foundership") . '</li>';
1193
+        l(bts('Initiate request', array(), NULL, 'boinc:team-request-foundership'), "community/teams/{$team_id}/request-foundership") . '</li>';
1194 1194
     $output .= '</ul>';
1195
-  }
1196
-  return $output;
1195
+    }
1196
+    return $output;
1197 1197
 }
1198 1198
 
1199 1199
 /**
1200 1200
  * Respond to foundership transfer requests for a team
1201 1201
  */
1202 1202
 function boincteam_request_foundership_response_panel($team_id) {
1203
-  global $user;
1204
-  $account = user_load($user->uid);
1205
-  $team = node_load($team_id);
1206
-  $boincteam_id = boincteam_lookup_id($team_id);
1207
-  $boincteam = boincteam_load($boincteam_id);
1208
-  $boincuser_id = $account->boincuser_id;
1209
-  $output = '';
1203
+    global $user;
1204
+    $account = user_load($user->uid);
1205
+    $team = node_load($team_id);
1206
+    $boincteam_id = boincteam_lookup_id($team_id);
1207
+    $boincteam = boincteam_load($boincteam_id);
1208
+    $boincuser_id = $account->boincuser_id;
1209
+    $output = '';
1210 1210
   
1211
-  if ($boincteam->ping_user) {
1211
+    if ($boincteam->ping_user) {
1212 1212
     if ($boincteam->ping_user < 0) {
1213
-      $member = user_load(boincuser_lookup_uid(-$boincteam->ping_user));
1214
-      $output .= '<h2 class="pane-title">' . bts('Obsolete transfer request', array(), NULL, 'boinc:team-request-foundership-response')
1213
+        $member = user_load(boincuser_lookup_uid(-$boincteam->ping_user));
1214
+        $output .= '<h2 class="pane-title">' . bts('Obsolete transfer request', array(), NULL, 'boinc:team-request-foundership-response')
1215 1215
         . '</h2>';
1216
-      $output .= '<p>' . bts('Team member @name requested team foundership on'
1216
+        $output .= '<p>' . bts('Team member @name requested team foundership on'
1217 1217
         . ' @date, but then left the team. This request is now canceled.',
1218 1218
         array(
1219
-          '@name' => $member->boincuser_name,
1220
-          '@date' => date('j M Y', $boincteam->ping_time),
1219
+            '@name' => $member->boincuser_name,
1220
+            '@date' => date('j M Y', $boincteam->ping_time),
1221 1221
         ),
1222 1222
         NULL, 'boinc:team-request-foundership-response') . '</p>';
1223
-      // Automatically cancel the request
1224
-      db_set_active('boinc_rw');
1225
-      db_query("
1223
+        // Automatically cancel the request
1224
+        db_set_active('boinc_rw');
1225
+        db_query("
1226 1226
         UPDATE {team}
1227 1227
         SET ping_user=0
1228 1228
         WHERE id = '%d'",
1229 1229
         $boincteam_id
1230
-      );
1231
-      db_set_active('default');
1230
+        );
1231
+        db_set_active('default');
1232 1232
     }
1233 1233
     else {
1234
-      $member = user_load(boincuser_lookup_uid($boincteam->ping_user));
1235
-      $output .= '<h2 class="pane-title">' . bts('Respond to transfer request', array(), NULL, 'boinc:team-request-foundership-response')
1234
+        $member = user_load(boincuser_lookup_uid($boincteam->ping_user));
1235
+        $output .= '<h2 class="pane-title">' . bts('Respond to transfer request', array(), NULL, 'boinc:team-request-foundership-response')
1236 1236
         . '</h2>';
1237
-      $output .= '<p>' . bts('Team member @name has requested team foundership.'
1237
+        $output .= '<p>' . bts('Team member @name has requested team foundership.'
1238 1238
         . ' This may be because you left the team or have not had contact with'
1239 1239
         . ' the team for a long time.', array(
1240
-          '@name' => $member->boincuser_name,
1240
+            '@name' => $member->boincuser_name,
1241 1241
         )
1242
-      , array(), NULL, 'boinc:team-request-foundership-response') . '</p>';
1243
-      $output .= '<p>' . bts("If you don't decline the request by @date, @name"
1242
+        , array(), NULL, 'boinc:team-request-foundership-response') . '</p>';
1243
+        $output .= '<p>' . bts("If you don't decline the request by @date, @name"
1244 1244
         . ' will have the option of assuming team foundership. (note: To'
1245 1245
         . ' accept the request, assign foundership to @name using the form'
1246 1246
         . ' below)',
1247 1247
         array(
1248
-          '@name' => $member->boincuser_name,
1249
-          '@date' => date('j M Y', boincteam_foundership_transfer_ok_time($boincteam)),
1248
+            '@name' => $member->boincuser_name,
1249
+            '@date' => date('j M Y', boincteam_foundership_transfer_ok_time($boincteam)),
1250 1250
         ),
1251 1251
         NULL, 'boinc:team-request-foundership-response') . '</p>';
1252
-      $output .= '<ul class="tab-list">';
1253
-      $output .= '  <li class="first last tab">' . 
1252
+        $output .= '<ul class="tab-list">';
1253
+        $output .= '  <li class="first last tab">' . 
1254 1254
         l(bts('Deny request', array(), NULL, 'boinc:team-request-foundership-response'), "community/teams/{$team_id}/deny-foundership-request") . '</li>';
1255
-      $output .= '</ul>';
1255
+        $output .= '</ul>';
1256 1256
     }
1257
-  }
1258
-  return $output;
1257
+    }
1258
+    return $output;
1259 1259
 }
1260 1260
 
1261 1261
 function boincteam_search_panel() {
1262
-  $output = '';
1263
-  if (module_exists('global_search_teams_solr')) {
1262
+    $output = '';
1263
+    if (module_exists('global_search_teams_solr')) {
1264 1264
     $output .= '<h2 class="pane-title">' . bts('Search teams', array(), NULL, 'boinc:search-team') . '</h2>';
1265 1265
     //$output .= '<p>' . bts('Render a search form here.', array(), NULL, 'boinc:search-team') . '</p>';
1266 1266
     $output .= '<p>' . boincteam_search_view() . '</p>';
1267
-  }
1268
-  return $output;
1267
+    }
1268
+    return $output;
1269 1269
 }
1270 1270
 
1271 1271
 function boincteam_search_view($type = 'team') {
1272
-  // Get the team search form
1273
-  $search_page = apachesolr_search_page_load('team_search');
1274
-  module_load_include('inc', 'apachesolr_search', 'apachesolr_search.pages');
1275
-  return drupal_get_form('apachesolr_search_custom_page_search_form', $search_page);
1272
+    // Get the team search form
1273
+    $search_page = apachesolr_search_page_load('team_search');
1274
+    module_load_include('inc', 'apachesolr_search', 'apachesolr_search.pages');
1275
+    return drupal_get_form('apachesolr_search_custom_page_search_form', $search_page);
1276 1276
 }
1277 1277
 
1278 1278
 /**
1279 1279
  * General info about the concept of teams
1280 1280
  */                                         
1281 1281
 function boincteam_topic_overview_panel() {
1282
-  $site_name =  variable_get('site_name', 'Drupal-BOINC');
1283
-  $output = '';
1284
-  $output .= '<h2 class="pane-title">' . bts('Teams', array(), NULL, 'boinc:team-general-info') . '</h2>';
1285
-  $output .= '<div class="">';
1286
-  $output .= '<p>' . bts('@project participants may form teams. You may belong'
1282
+    $site_name =  variable_get('site_name', 'Drupal-BOINC');
1283
+    $output = '';
1284
+    $output .= '<h2 class="pane-title">' . bts('Teams', array(), NULL, 'boinc:team-general-info') . '</h2>';
1285
+    $output .= '<div class="">';
1286
+    $output .= '<p>' . bts('@project participants may form teams. You may belong'
1287 1287
     . ' to only one team. You can join or quit a team at any time. To join a'
1288 1288
     . ' team, visit its team page and click "Join this team". Each team has a'
1289 1289
     . ' founder who may:', array('@project' => $site_name), NULL, 'boinc:team-general-info') . '</p>';
1290
-  $output .= '<ul>';
1291
-  $output .= '  <li>' . bts('Private Message all team members', array(), NULL, 'boinc:team-general-info') . '</li>';
1292
-  $output .= '  <li>' . bts("edit the team's name and description", array(), NULL, 'boinc:team-general-info') . '</li>';
1293
-  $output .= '  <li>' . bts('add or remove team admins', array(), NULL, 'boinc:team-general-info') . '</li>';
1294
-  $output .= '  <li>' . bts('remove members from the team', array(), NULL, 'boinc:team-general-info') . '</li>';
1295
-  $output .= '  <li>' . bts('disband a team if it has no members', array(), NULL, 'boinc:team-general-info') . '</li>';
1296
-  $output .= '</ul>';
1297
-  $output .= '</div>';
1298
-  return $output;
1290
+    $output .= '<ul>';
1291
+    $output .= '  <li>' . bts('Private Message all team members', array(), NULL, 'boinc:team-general-info') . '</li>';
1292
+    $output .= '  <li>' . bts("edit the team's name and description", array(), NULL, 'boinc:team-general-info') . '</li>';
1293
+    $output .= '  <li>' . bts('add or remove team admins', array(), NULL, 'boinc:team-general-info') . '</li>';
1294
+    $output .= '  <li>' . bts('remove members from the team', array(), NULL, 'boinc:team-general-info') . '</li>';
1295
+    $output .= '  <li>' . bts('disband a team if it has no members', array(), NULL, 'boinc:team-general-info') . '</li>';
1296
+    $output .= '</ul>';
1297
+    $output .= '</div>';
1298
+    return $output;
1299 1299
 }
1300 1300
 
1301 1301
 /**
@@ -1323,50 +1323,50 @@  discard block
 block discarded – undo
1323 1323
  * Link to view a team
1324 1324
  */
1325 1325
 function boincteam_view_team_panel($team_id) {
1326
-  $team = node_load($team_id);
1327
-  if ($team->type != "team") {
1326
+    $team = node_load($team_id);
1327
+    if ($team->type != "team") {
1328 1328
     return;
1329
-  }
1330
-  $boincteam = boincteam_load(boincteam_lookup_id($team_id), TRUE);
1331
-  $founder = user_load(get_drupal_id($boincteam->userid));
1332
-  $new_members = array();
1333
-  if ($boincteam->new_members) {
1329
+    }
1330
+    $boincteam = boincteam_load(boincteam_lookup_id($team_id), TRUE);
1331
+    $founder = user_load(get_drupal_id($boincteam->userid));
1332
+    $new_members = array();
1333
+    if ($boincteam->new_members) {
1334 1334
     foreach ($boincteam->new_members as $member) {
1335
-      $account = user_load(get_drupal_id($member->id));
1336
-      $new_members[] = l($account->boincuser_name, "account/{$account->uid}");
1335
+        $account = user_load(get_drupal_id($member->id));
1336
+        $new_members[] = l($account->boincuser_name, "account/{$account->uid}");
1337 1337
     }
1338
-  }
1339
-  $output = '';
1340
-  $output .= '<h2 class="pane-title">' . $boincteam->name . '</h2>';
1341
-  $output .= '<div>';
1342
-  $output .= '<div class="left-column">';
1343
-  $output .= '<ul class="stats">';
1344
-  $output .= '  <li>' . bts('Total credit', array(), NULL, 'boinc:user-or-team-total-credits') . ': ' . number_format($boincteam->total_credit, 0) . '</li>';
1345
-  $output .= '  <li>' . bts('Recent average credit', array(), NULL, 'boinc:user-or-team-RAC') . ': ' . number_format($boincteam->expavg_credit, 2) . '</li>';
1346
-  $output .= '  <li>' . bts('Country', array(), NULL, 'boinc:country-of-origin') . ': ' . $boincteam->country . '</li>';
1347
-  $output .= '  <li>' . bts('Type', array(), NULL, 'boinc:view-team-info') . ': ' . boincteam_get_type($team_id) . '</li>';
1348
-  $output .= '</ul>';
1349
-  $output .= '</div>';
1350
-  $output .= '<div class="right-column">';
1351
-  $output .= '<ul class="stats">';
1352
-  $output .= '  <li>' . bts('Founder', array(), NULL, 'boinc:view-team-info') . ': ' . l($founder->boincuser_name, "account/{$founder->uid}") . '</li>';
1353
-  $output .= '  <li>' . bts('New members in last day', array(), NULL, 'boinc:view-team-info') . ': ' . implode('&middot;', $new_members) . '</li>';
1354
-  $output .= '  <li>' . bts('Total members', array(), NULL, 'boinc:view-team-info') . ': ' . l($boincteam->nusers, "community/teams/{$team_id}/members") . '</li>';
1355
-  $output .= '  <li>' . bts('Active members', array(), NULL, 'boinc:view-team-info') . ': ' . $boincteam->nusers_active . '</li>';
1356
-  $output .= '  <li>' . bts('Members with credit', array(), NULL, 'boinc:view-team-info') . ': ' . $boincteam->nusers_worked . '</li>';
1357
-  $output .= '</ul>';
1358
-  $output .= '</div>';
1359
-  $output .= '</div>';
1360
-  $output .= '<div class="clearfix"></div>';
1361
-  if ($boincteam->url) {
1338
+    }
1339
+    $output = '';
1340
+    $output .= '<h2 class="pane-title">' . $boincteam->name . '</h2>';
1341
+    $output .= '<div>';
1342
+    $output .= '<div class="left-column">';
1343
+    $output .= '<ul class="stats">';
1344
+    $output .= '  <li>' . bts('Total credit', array(), NULL, 'boinc:user-or-team-total-credits') . ': ' . number_format($boincteam->total_credit, 0) . '</li>';
1345
+    $output .= '  <li>' . bts('Recent average credit', array(), NULL, 'boinc:user-or-team-RAC') . ': ' . number_format($boincteam->expavg_credit, 2) . '</li>';
1346
+    $output .= '  <li>' . bts('Country', array(), NULL, 'boinc:country-of-origin') . ': ' . $boincteam->country . '</li>';
1347
+    $output .= '  <li>' . bts('Type', array(), NULL, 'boinc:view-team-info') . ': ' . boincteam_get_type($team_id) . '</li>';
1348
+    $output .= '</ul>';
1349
+    $output .= '</div>';
1350
+    $output .= '<div class="right-column">';
1351
+    $output .= '<ul class="stats">';
1352
+    $output .= '  <li>' . bts('Founder', array(), NULL, 'boinc:view-team-info') . ': ' . l($founder->boincuser_name, "account/{$founder->uid}") . '</li>';
1353
+    $output .= '  <li>' . bts('New members in last day', array(), NULL, 'boinc:view-team-info') . ': ' . implode('&middot;', $new_members) . '</li>';
1354
+    $output .= '  <li>' . bts('Total members', array(), NULL, 'boinc:view-team-info') . ': ' . l($boincteam->nusers, "community/teams/{$team_id}/members") . '</li>';
1355
+    $output .= '  <li>' . bts('Active members', array(), NULL, 'boinc:view-team-info') . ': ' . $boincteam->nusers_active . '</li>';
1356
+    $output .= '  <li>' . bts('Members with credit', array(), NULL, 'boinc:view-team-info') . ': ' . $boincteam->nusers_worked . '</li>';
1357
+    $output .= '</ul>';
1358
+    $output .= '</div>';
1359
+    $output .= '</div>';
1360
+    $output .= '<div class="clearfix"></div>';
1361
+    if ($boincteam->url) {
1362 1362
     $output .= '<div class="stats">';
1363 1363
     $output .= bts('Website', array(), NULL, 'boinc:website-of-user-or-team') . ': ' . l("http://{$boincteam->url}", "http://{$boincteam->url}");
1364 1364
     $output .= '</div>';
1365
-  }
1366
-  if ($team->body) {
1365
+    }
1366
+    if ($team->body) {
1367 1367
     $output .= '<h3>' . bts('Description', array(), NULL, 'boinc:team-description') . '</h3>';
1368 1368
     $output .= check_markup($team->body, $team->format);
1369 1369
     $output .= '</div>';
1370
-  }
1371
-  return $output;
1370
+    }
1371
+    return $output;
1372 1372
 }
Please login to merge, or discard this patch.