Passed
Push — master ( 0f5bb3...897dfb )
by Vitalii
01:22 queued 22s
created
drupal/sites/default/boinc/themes/boinc/template.php 1 patch
Indentation   +321 added lines, -321 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));
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 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;
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 351
 
352
-  // Ignore user link
353
-  $vars['ignore_link'] = _boinc_ignore_user_link('node', $vars['node']);
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
 }
Please login to merge, or discard this patch.
html/ops/check_account_ownership_keys.php 1 patch
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -23,15 +23,15 @@
 block discarded – undo
23 23
 admin_page_head("Account Ownership Keys");
24 24
 
25 25
 if (!file_exists($account_ownership_private_key_file_path)) {
26
-  echo "<p>The account ownership private key '" . $account_ownership_private_key_file_name . "' <b>doesn't</b> exist. Please run the 'generate_account_ownership_keys.php' script from the command line in the BOINC web server ops directory.</p>";
26
+    echo "<p>The account ownership private key '" . $account_ownership_private_key_file_name . "' <b>doesn't</b> exist. Please run the 'generate_account_ownership_keys.php' script from the command line in the BOINC web server ops directory.</p>";
27 27
 } else {
28
-  echo "<p>The account ownership private key '" . $account_ownership_private_key_file_name . "' exists.</p>";
28
+    echo "<p>The account ownership private key '" . $account_ownership_private_key_file_name . "' exists.</p>";
29 29
 }
30 30
 
31 31
 if (!file_exists($account_ownership_public_key_file_path)) {
32
-  echo "<p>The account ownership public key '" . $account_ownership_public_key_file_name . "' <b>doesn't</b> exist. Please run the 'generate_account_ownership_keys.php' script from the command line in the BOINC web server ops directory.</p>";
32
+    echo "<p>The account ownership public key '" . $account_ownership_public_key_file_name . "' <b>doesn't</b> exist. Please run the 'generate_account_ownership_keys.php' script from the command line in the BOINC web server ops directory.</p>";
33 33
 } else {
34
-  echo "<p>The account ownership public key '" . $account_ownership_public_key_file_name . "' exists.</p>";
34
+    echo "<p>The account ownership public key '" . $account_ownership_public_key_file_name . "' exists.</p>";
35 35
 }
36 36
 
37 37
 echo "<p>For more info see the related wiki page: <a href=\"https://github.com/BOINC/boinc/wiki/ProofOfOwnership\">ProofOfOwnership</a></p>";
Please login to merge, or discard this patch.
html/ops/dbinfo.php 1 patch
Indentation   +109 added lines, -109 removed lines patch added patch discarded remove patch
@@ -15,10 +15,10 @@  discard block
 block discarded – undo
15 15
     function __construct($n, $d, $i, $t, $r, $s) {
16 16
         $this->name = $n;
17 17
         $this->data_size = $d;
18
-		$this->index_size = $i;
19
-		$this->total_size = $t;
20
-		$this->rows = $r;
21
-		$this->size_per_row = $s;
18
+        $this->index_size = $i;
19
+        $this->total_size = $t;
20
+        $this->rows = $r;
21
+        $this->size_per_row = $s;
22 22
     }
23 23
     function __destruct() {
24 24
     }
@@ -42,25 +42,25 @@  discard block
 block discarded – undo
42 42
 
43 43
 // returns formatted data size
44 44
 function size_format($size){
45
-	$retval = 0;
45
+    $retval = 0;
46 46
 
47
-	$KB = 1024;
47
+    $KB = 1024;
48 48
     $MB = 1024*1024;
49 49
     $GB = 1024*1024*1024;
50
-	$TB = 1024*1024*1024*1024;
50
+    $TB = 1024*1024*1024*1024;
51 51
 
52 52
     if ($size < $KB) {
53
-	    $retval = $size;
53
+        $retval = $size;
54 54
     } elseif (($size > $KB) && ($size < $MB)) {
55
-		$retval = sprintf("%.0fK", ($size / $KB));
55
+        $retval = sprintf("%.0fK", ($size / $KB));
56 56
     } elseif ( ($size >= $MB) && ($size < $GB)) {
57
-		$retval = sprintf("%.2fMB", ($size / $MB));
57
+        $retval = sprintf("%.2fMB", ($size / $MB));
58 58
     } elseif ( ($size >= $GB) && ($size < $TB)) {
59
-		$retval = sprintf("%.2fGB", ($size / $GB));
60
-	} elseif ( $size >= $TB ) {
61
-		$retval = sprintf("%.2fTB", ($size / $TB));
62
-	}
63
-	return $retval;
59
+        $retval = sprintf("%.2fGB", ($size / $GB));
60
+    } elseif ( $size >= $TB ) {
61
+        $retval = sprintf("%.2fTB", ($size / $TB));
62
+    }
63
+    return $retval;
64 64
 }
65 65
 
66 66
 
@@ -73,9 +73,9 @@  discard block
 block discarded – undo
73 73
     // SQL output
74 74
     // mysql> show table status from [table_name];
75 75
     // | Name | Engine | Version | Row_format | Rows
76
-	// | Avg_row_length | Data_length | Max_data_length
77
-	// | Index_length | Data_free  | Auto_increment | Create_time
78
-	// | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
76
+    // | Avg_row_length | Data_length | Max_data_length
77
+    // | Index_length | Data_free  | Auto_increment | Create_time
78
+    // | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
79 79
     //
80 80
 
81 81
     $gdata  = 0;
@@ -83,19 +83,19 @@  discard block
 block discarded – undo
83 83
     $gtotal = 0;
84 84
     $grows  = 0;
85 85
 
86
-	$i = 0;
87
-	$db_rec = array();
88
-	while ($myarr = _mysql_fetch_assoc($result)) {
86
+    $i = 0;
87
+    $db_rec = array();
88
+    while ($myarr = _mysql_fetch_assoc($result)) {
89 89
         if ($myarr['Comment'] == 'VIEW') continue;
90 90
 
91
-		// sum grand totals
92
-		$total  =  $myarr["Data_length"] + $myarr["Index_length"];
93
-		$gindex += $myarr["Index_length"];
91
+        // sum grand totals
92
+        $total  =  $myarr["Data_length"] + $myarr["Index_length"];
93
+        $gindex += $myarr["Index_length"];
94 94
         $gdata  += $myarr["Data_length"];
95
-		$grows  += $myarr["Rows"];
96
-		$gtotal += $total;
95
+        $grows  += $myarr["Rows"];
96
+        $gtotal += $total;
97 97
 
98
-	    $db_rec[$i] = new DB_REC(
98
+        $db_rec[$i] = new DB_REC(
99 99
             $myarr["Name"],
100 100
             $myarr["Data_length"],
101 101
             $myarr["Index_length"],
@@ -103,131 +103,131 @@  discard block
 block discarded – undo
103 103
             $myarr["Rows"],
104 104
             $myarr["Avg_row_length"]
105 105
         );
106
-		$i++;
107
-	}
106
+        $i++;
107
+    }
108 108
     $db_rec[$i] = new DB_REC ("Total", $gdata, $gindex, $gtotal, $grows, "" );
109
-	return $db_rec;
109
+    return $db_rec;
110 110
 }
111 111
 
112 112
 // show the DB structure
113 113
 //
114 114
 function show_db_info($db_name, $db_rec) {
115
-	echo "<table cols=6>";
116
-	echo "<tr>";
117
-	echo "<th colspan=6> Database $db_name </th>";
118
-	echo "</tr>";
119
-
120
-	echo "<tr>";
121
-	echo "<th>Table</th>";
122
-	echo "<th>Data Size</th>";
123
-	echo "<th>Index Size</th>";
124
-	echo "<th>Total Size</th>";
125
-	echo "<th>Total Rows</th>";
126
-	echo "<th>Avg. Size per Row</th>";
127
-	echo "</tr>";
128
-
129
-	for ($i = 0; $i < sizeof($db_rec)-1; $i++){
130
-		echo "<tr>";
131
-		echo "<td align=left valign=top class=fieldname>" . $db_rec[$i]->name . "</td>";
132
-		echo "<td align=left valign=top class=fieldname>" . size_format($db_rec[$i]->data_size)  . "</td>";
133
-		echo "<td align=left valign=top class=fieldname>" . size_format($db_rec[$i]->index_size) . "</td>";
134
-		echo "<td align=left valign=top class=fieldname>" . size_format($db_rec[$i]->total_size) . "</td>";
115
+    echo "<table cols=6>";
116
+    echo "<tr>";
117
+    echo "<th colspan=6> Database $db_name </th>";
118
+    echo "</tr>";
119
+
120
+    echo "<tr>";
121
+    echo "<th>Table</th>";
122
+    echo "<th>Data Size</th>";
123
+    echo "<th>Index Size</th>";
124
+    echo "<th>Total Size</th>";
125
+    echo "<th>Total Rows</th>";
126
+    echo "<th>Avg. Size per Row</th>";
127
+    echo "</tr>";
128
+
129
+    for ($i = 0; $i < sizeof($db_rec)-1; $i++){
130
+        echo "<tr>";
131
+        echo "<td align=left valign=top class=fieldname>" . $db_rec[$i]->name . "</td>";
132
+        echo "<td align=left valign=top class=fieldname>" . size_format($db_rec[$i]->data_size)  . "</td>";
133
+        echo "<td align=left valign=top class=fieldname>" . size_format($db_rec[$i]->index_size) . "</td>";
134
+        echo "<td align=left valign=top class=fieldname>" . size_format($db_rec[$i]->total_size) . "</td>";
135 135
         echo "<td align=left valign=top class=fieldname>" . number_format($db_rec[$i]->rows)     . "</td>";
136 136
         echo "<td align=left valign=top class=fieldname>" . size_format($db_rec[$i]->size_per_row) . "</td>";
137
-		echo "</tr>";
138
-	}
137
+        echo "</tr>";
138
+    }
139 139
 
140
-	// Last record is just a summary
141
-	$i = sizeof($db_rec)-1;
142
-	echo "<tr>";
140
+    // Last record is just a summary
141
+    $i = sizeof($db_rec)-1;
142
+    echo "<tr>";
143 143
     echo "<th align=left>" . $db_rec[$i]->name . "</th>";
144 144
     echo "<th align=left>" . size_format($db_rec[$i]->data_size)  . "</th>";
145 145
     echo "<th align=left>" . size_format($db_rec[$i]->index_size) . "</th>";
146 146
     echo "<th align=left>" . size_format($db_rec[$i]->total_size) . "</th>";
147 147
     echo "<th align=left>" . number_format($db_rec[$i]->rows)     . "</th>";
148 148
     echo "<th align=left></th>";
149
-	echo "</tr>";
149
+    echo "</tr>";
150 150
     echo "</table>";
151 151
 }
152 152
 
153 153
 // same as show_db_info but with sortable columns
154 154
 //
155 155
 function sort_db_info($db_name, $db_rec) {
156
-	$file_list = array();
156
+    $file_list = array();
157 157
     $file_sort = array();
158 158
 
159
-	$sort =  get_str("sort", true);
160
-	$r = get_str("r", true);
161
-
162
-	if (empty($sort)) $sort = "name";
163
-	// check for allowed keys
164
-	if ((strcmp($sort, "name")!=0) &&
165
-		(strcmp($sort, "data_size")!=0) &&
166
-		(strcmp($sort, "index_size")!=0) &&
167
-		(strcmp($sort, "total_size")!=0)  &&
168
-		(strcmp($sort, "rows")!=0) &&
169
-		(strcmp($sort, "size_per_row")!=0)
159
+    $sort =  get_str("sort", true);
160
+    $r = get_str("r", true);
161
+
162
+    if (empty($sort)) $sort = "name";
163
+    // check for allowed keys
164
+    if ((strcmp($sort, "name")!=0) &&
165
+        (strcmp($sort, "data_size")!=0) &&
166
+        (strcmp($sort, "index_size")!=0) &&
167
+        (strcmp($sort, "total_size")!=0)  &&
168
+        (strcmp($sort, "rows")!=0) &&
169
+        (strcmp($sort, "size_per_row")!=0)
170 170
     ) {
171
-		$sort = "name";
171
+        $sort = "name";
172 172
     }
173
-	if (empty($r)) $r=0;
174
-
175
-	for ($i=0; $i < sizeof($db_rec)-1; $i++){
176
-		$file_details["name"]         = $db_rec[$i]->name;
177
-		$file_details["data_size"]    = $db_rec[$i]->data_size;
178
-		$file_details["index_size"]   = $db_rec[$i]->index_size;
179
-		$file_details["total_size"]   = $db_rec[$i]->total_size;
180
-	    $file_details["rows"]         = $db_rec[$i]->rows;
181
-		$file_details["size_per_row"] = $db_rec[$i]->size_per_row;
182
-
183
-		$file_list[$i] = $file_details;
184
-		$key = strtolower($file_details[$sort]);
185
-		$file_sort[$i] = $key;
186
-	}
187
-
188
-	if ($r) {
173
+    if (empty($r)) $r=0;
174
+
175
+    for ($i=0; $i < sizeof($db_rec)-1; $i++){
176
+        $file_details["name"]         = $db_rec[$i]->name;
177
+        $file_details["data_size"]    = $db_rec[$i]->data_size;
178
+        $file_details["index_size"]   = $db_rec[$i]->index_size;
179
+        $file_details["total_size"]   = $db_rec[$i]->total_size;
180
+        $file_details["rows"]         = $db_rec[$i]->rows;
181
+        $file_details["size_per_row"] = $db_rec[$i]->size_per_row;
182
+
183
+        $file_list[$i] = $file_details;
184
+        $key = strtolower($file_details[$sort]);
185
+        $file_sort[$i] = $key;
186
+    }
187
+
188
+    if ($r) {
189 189
         arsort($file_sort);
190 190
     } else {
191 191
         asort($file_sort);
192 192
     }
193 193
 
194
-	echo "<table cols=6>";
195
-	echo "<tr>";
196
-	echo "<th colspan=6> Database $db_name </th>";
197
-	echo "</tr>";
194
+    echo "<table cols=6>";
195
+    echo "<tr>";
196
+    echo "<th colspan=6> Database $db_name </th>";
197
+    echo "</tr>";
198 198
 
199
-	echo "<tr>";
200
-	echo "<th><a href='dbinfo.php?sort=name&r=" . (!$r) . "'>Table </a></th>";
201
-	echo "<th><a href='dbinfo.php?sort=data_size&r=" . (!$r) . "'>Data Size</a></th>";
202
-	echo "<th><a href='dbinfo.php?sort=index_size&r=" . (!$r) . "'>Index Size</a></th>";
203
-	echo "<th><a href='dbinfo.php?sort=total_size&r=" . (!$r) . "'>Total Size</a></th>";
204
-	echo "<th><a href='dbinfo.php?sort=rows&r=" . (!$r) . "'>Total Rows</a></th>";
205
-	echo "<th><a href='dbinfo.php?sort=size_per_row&r=" . (!$r) . "'>Avg. Size per Row</a></th>";
206
-	echo "</tr>";
199
+    echo "<tr>";
200
+    echo "<th><a href='dbinfo.php?sort=name&r=" . (!$r) . "'>Table </a></th>";
201
+    echo "<th><a href='dbinfo.php?sort=data_size&r=" . (!$r) . "'>Data Size</a></th>";
202
+    echo "<th><a href='dbinfo.php?sort=index_size&r=" . (!$r) . "'>Index Size</a></th>";
203
+    echo "<th><a href='dbinfo.php?sort=total_size&r=" . (!$r) . "'>Total Size</a></th>";
204
+    echo "<th><a href='dbinfo.php?sort=rows&r=" . (!$r) . "'>Total Rows</a></th>";
205
+    echo "<th><a href='dbinfo.php?sort=size_per_row&r=" . (!$r) . "'>Avg. Size per Row</a></th>";
206
+    echo "</tr>";
207 207
 
208 208
     foreach ($file_sort as $key=>$value) {
209
-		$value = $file_list[$key];
209
+        $value = $file_list[$key];
210 210
 
211
-		echo "<tr>";
212
-		echo "<td align=left valign=top class=fieldname>" . $value["name"] . "</td>";
213
-		echo "<td align=left valign=top class=fieldname>" . size_format($value["data_size"])  . "</td>";
214
-		echo "<td align=left valign=top class=fieldname>" . size_format($value["index_size"]) . "</td>";
215
-		echo "<td align=left valign=top class=fieldname>" . size_format($value["total_size"]) . "</td>";
211
+        echo "<tr>";
212
+        echo "<td align=left valign=top class=fieldname>" . $value["name"] . "</td>";
213
+        echo "<td align=left valign=top class=fieldname>" . size_format($value["data_size"])  . "</td>";
214
+        echo "<td align=left valign=top class=fieldname>" . size_format($value["index_size"]) . "</td>";
215
+        echo "<td align=left valign=top class=fieldname>" . size_format($value["total_size"]) . "</td>";
216 216
         echo "<td align=left valign=top class=fieldname>" . number_format($value["rows"])     . "</td>";
217 217
         echo "<td align=left valign=top class=fieldname>" . size_format($value["size_per_row"]) . "</td>";
218
-		echo "</tr>";
219
-	}
218
+        echo "</tr>";
219
+    }
220 220
 
221
-	// Last record is a summary
222
-	$i = sizeof($db_rec)-1;
223
-	echo "<tr>";
221
+    // Last record is a summary
222
+    $i = sizeof($db_rec)-1;
223
+    echo "<tr>";
224 224
     echo "<th align=left>" . $db_rec[$i]->name . "</th>";
225 225
     echo "<th align=left>" . size_format($db_rec[$i]->data_size)  . "</th>";
226 226
     echo "<th align=left>" . size_format($db_rec[$i]->index_size) . "</th>";
227 227
     echo "<th align=left>" . size_format($db_rec[$i]->total_size) . "</th>";
228 228
     echo "<th align=left>" . number_format($db_rec[$i]->rows)     . "</th>";
229 229
     echo "<th align=left></th>";
230
-	echo "</tr>";
230
+    echo "</tr>";
231 231
 
232 232
     echo "</table>";
233 233
 }
Please login to merge, or discard this patch.
drupal/sites/default/boinc/modules/boincwork/includes/boincwork.forms.inc 1 patch
Indentation   +965 added lines, -965 removed lines patch added patch discarded remove patch
@@ -15,16 +15,16 @@  discard block
 block discarded – undo
15 15
  * The structure of the general preferences form
16 16
  */
17 17
 function boincwork_generalprefs_form(&$form_state, $venue, $prefs_preset = null, $advanced = FALSE) {
18
-  $form = array();
19
-  $prefs = null;
20
-  $established = TRUE;
18
+    $form = array();
19
+    $prefs = null;
20
+    $established = TRUE;
21 21
 
22
-  // Enable AHAH form support for dynamically updating content based on preset
23
-  ahah_helper_register($form, $form_state);
22
+    // Enable AHAH form support for dynamically updating content based on preset
23
+    ahah_helper_register($form, $form_state);
24 24
 
25
-  if (!$prefs_preset) {
25
+    if (!$prefs_preset) {
26 26
     if (isset($form_state['storage']['prefs']['preset'])) {
27
-      $prefs_preset = $form_state['storage']['prefs']['preset'];
27
+        $prefs_preset = $form_state['storage']['prefs']['preset'];
28 28
     }
29 29
 
30 30
     // Load preferences from BOINC account
@@ -32,7 +32,7 @@  discard block
 block discarded – undo
32 32
 
33 33
     // Take note if this is not an established preference set on the account
34 34
     if (isset($prefs['@attributes']['cleared'])) {
35
-      $established = FALSE;
35
+        $established = FALSE;
36 36
     }
37 37
 
38 38
     // Determine if a preset is selected or if these are custom settings
@@ -47,45 +47,45 @@  discard block
 block discarded – undo
47 47
             $prefs_preset = $prefs['preset']['@value'];
48 48
         }
49 49
     }// if !$prefs_preset
50
-  }
51
-  // Extract mod_time tag if present, because it will be erased with
52
-  // boincwork_get_preset_prefs() below.
53
-  $mod_time = null;
54
-  if (isset($prefs['mod_time']['@value'])) {
55
-      $mod_time = $prefs['mod_time']['@value'];
56
-  }
57
-
58
-  if (isset($form_state['storage']['wip'])) {
59
-      switch ($prefs_preset) {
60
-      case 'standard':
50
+    }
51
+    // Extract mod_time tag if present, because it will be erased with
52
+    // boincwork_get_preset_prefs() below.
53
+    $mod_time = null;
54
+    if (isset($prefs['mod_time']['@value'])) {
55
+        $mod_time = $prefs['mod_time']['@value'];
56
+    }
57
+
58
+    if (isset($form_state['storage']['wip'])) {
59
+        switch ($prefs_preset) {
60
+        case 'standard':
61 61
       case 'maximum':
62 62
       case 'green':
63 63
       case 'minimum':
64 64
           $prefs = boincwork_get_preset_prefs($prefs_preset);
65
-          break;
66
-      case 'custom':
65
+            break;
66
+        case 'custom':
67 67
       default:
68 68
           // Just keeps prefs as they are
69 69
           unset($prefs['preset']);
70
-          break;
71
-      }// switch
72
-  } else {
73
-      $form_state['storage']['wip'] = TRUE;
74
-      if ( !in_array($prefs_preset, array('standard','maximum','green','minimum','custom')) ) {
75
-          if ($established) {
76
-              $prefs_preset = 'custom';
77
-          } else {
78
-              $prefs_preset = 'standard';
79
-              $prefs = boincwork_get_preset_prefs($prefs_preset);
80
-          }// if $established
81
-      }// if $prefs_preset
82
-  }// if WIP
83
-
84
-  // This set of preferences is used in the form if no preferences
85
-  // have been set above, in variable $prefs.
86
-  require_boinc(array('db', 'prefs'));
87
-  $disk_space_config = get_disk_space_config();
88
-  $default = array(
70
+            break;
71
+        }// switch
72
+    } else {
73
+        $form_state['storage']['wip'] = TRUE;
74
+        if ( !in_array($prefs_preset, array('standard','maximum','green','minimum','custom')) ) {
75
+            if ($established) {
76
+                $prefs_preset = 'custom';
77
+            } else {
78
+                $prefs_preset = 'standard';
79
+                $prefs = boincwork_get_preset_prefs($prefs_preset);
80
+            }// if $established
81
+        }// if $prefs_preset
82
+    }// if WIP
83
+
84
+    // This set of preferences is used in the form if no preferences
85
+    // have been set above, in variable $prefs.
86
+    require_boinc(array('db', 'prefs'));
87
+    $disk_space_config = get_disk_space_config();
88
+    $default = array(
89 89
     'preset' => $prefs_preset,
90 90
     // Processing...
91 91
     'run_on_batteries' => 0,
@@ -120,385 +120,385 @@  discard block
 block discarded – undo
120 120
     'daily_xfer_limit_mb' => 0,
121 121
     'daily_xfer_period_days' => 0,
122 122
     'dont_verify_images' => 0
123
-  );
124
-  foreach ($default as $name => $value) {
123
+    );
124
+    foreach ($default as $name => $value) {
125 125
     if (isset($prefs[$name])) {
126
-      if (is_array($prefs[$name])) {
126
+        if (is_array($prefs[$name])) {
127 127
         if (isset($prefs[$name]['@value'])) {
128
-          $default[$name] = $prefs[$name]['@value'];
128
+            $default[$name] = $prefs[$name]['@value'];
129
+        }
129 130
         }
130
-      }
131
-      else {
131
+        else {
132 132
         $default[$name] = $prefs[$name];
133
-      }
133
+        }
134
+    }
134 135
     }
135
-  }
136 136
 
137
-  // Standard option sets
138
-  $form['boolean_options'] = array(
137
+    // Standard option sets
138
+    $form['boolean_options'] = array(
139 139
     '#type' => 'value',
140 140
     '#value' => 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'))
141
-  );
142
-  $form['hour_options'] = array(
141
+    );
142
+    $form['hour_options'] = array(
143 143
     '#type' => 'value',
144 144
     '#value' => array('0:00','1:00','2:00','3:00','4:00',
145
-     '5:00','6:00','7:00','8:00','9:00','10:00','11:00',
146
-     '12:00','13:00','14:00','15:00','16:00','17:00',
147
-     '18:00','19:00','20:00','21:00','22:00','23:00')
148
-  );
145
+        '5:00','6:00','7:00','8:00','9:00','10:00','11:00',
146
+        '12:00','13:00','14:00','15:00','16:00','17:00',
147
+        '18:00','19:00','20:00','21:00','22:00','23:00')
148
+    );
149 149
 
150
-  // Identify preference sets that are established to distinguish what has been
151
-  // saved to the database from what is just showing default values
152
-  $form['#established'] = $established;
150
+    // Identify preference sets that are established to distinguish what has been
151
+    // saved to the database from what is just showing default values
152
+    $form['#established'] = $established;
153 153
 
154
-  // Set up the preference container for AHAH
155
-  $form['prefs'] = array(
154
+    // Set up the preference container for AHAH
155
+    $form['prefs'] = array(
156 156
     '#title' => '',
157 157
     '#type' => 'fieldset',
158 158
     '#prefix' => '<div id="prefs-wrapper">', // This is our wrapper div.
159 159
     '#attributes' => array('class' => 'ahah-container'),
160 160
     '#suffix' => '</div>',
161 161
     '#tree'   => TRUE
162
-  );
163
-  //$form['prefs']['debug'] = array('#value' => '<pre>' . print_r($form_state, true) . '</pre>');
162
+    );
163
+    //$form['prefs']['debug'] = array('#value' => '<pre>' . print_r($form_state, true) . '</pre>');
164 164
 
165
-  // Hidden elements
166
-  $form['prefs']['modified'] = array(
165
+    // Hidden elements
166
+    $form['prefs']['modified'] = array(
167 167
     '#type' => 'hidden',
168 168
     '#value' => $mod_time
169
-  );
170
-  $form['prefs']['venue'] = array(
169
+    );
170
+    $form['prefs']['venue'] = array(
171 171
     '#type' => 'hidden',
172 172
     '#value' => $venue
173
-  );
173
+    );
174 174
 
175
-  $form['prefs']['separator_top'] = array(
175
+    $form['prefs']['separator_top'] = array(
176 176
     '#value' => '<div class="separator"></div>'
177
-  );
177
+    );
178 178
 
179
-  // Simplified selectors
180
-  $form['prefs']['preset'] = array(
181
-      '#title' => bts('Presets', array(), NULL, 'boinc:account-preferences-preset:-1:for a user to choose a computing or project preference preset.'),
179
+    // Simplified selectors
180
+    $form['prefs']['preset'] = array(
181
+        '#title' => bts('Presets', array(), NULL, 'boinc:account-preferences-preset:-1:for a user to choose a computing or project preference preset.'),
182 182
     '#type' => 'radios',
183 183
     '#description' => ' ',
184 184
     '#options' => array(
185
-      'standard' => bts('Standard', array(), NULL, 'boinc:account-preferences-preset'),
186
-      'maximum' => bts('Maximum', array(), NULL, 'boinc:account-preferences-preset'),
187
-      'green' => bts('Green', array(), NULL, 'boinc:account-preferences-preset'),
188
-      'minimum' => bts('Minimum', array(), NULL, 'boinc:account-preferences-preset'),
189
-      'custom' => bts('Custom', array(), NULL, 'boinc:account-preferences-preset')
185
+        'standard' => bts('Standard', array(), NULL, 'boinc:account-preferences-preset'),
186
+        'maximum' => bts('Maximum', array(), NULL, 'boinc:account-preferences-preset'),
187
+        'green' => bts('Green', array(), NULL, 'boinc:account-preferences-preset'),
188
+        'minimum' => bts('Minimum', array(), NULL, 'boinc:account-preferences-preset'),
189
+        'custom' => bts('Custom', array(), NULL, 'boinc:account-preferences-preset')
190 190
     ),
191 191
     '#prefix' => '<div class="simple-form-controls">',
192 192
     '#suffix' => '</div>',
193 193
     '#default_value' => $default['preset'],
194 194
     '#ahah' => array(
195
-      'event' => 'change',
196
-      'path' => ahah_helper_path(array('prefs')),
197
-      'wrapper' => 'prefs-wrapper'
195
+        'event' => 'change',
196
+        'path' => ahah_helper_path(array('prefs')),
197
+        'wrapper' => 'prefs-wrapper'
198 198
     )
199
-  );
200
-  $form['prefs']['select preset'] = array(
199
+    );
200
+    $form['prefs']['select preset'] = array(
201 201
     '#type'  => 'submit',
202 202
     '#value' => bts('Update preset', array(), NULL, 'boinc:account-preferences-preset'),
203 203
     '#submit' => array('ahah_helper_generic_submit'),
204 204
     // The 'no-js' class only displays this button if javascript is disabled
205 205
     '#attributes' => array('class' => 'no-js'),
206
-  );
206
+    );
207 207
 
208
-  // Advanced preferences
209
-  $form['prefs']['advanced'] = array(
208
+    // Advanced preferences
209
+    $form['prefs']['advanced'] = array(
210 210
     '#title' => bts('Advanced settings', array(), NULL, 'boinc:account-preferences-option'),
211 211
     '#type' => 'fieldset',
212 212
     '#description' => '',
213 213
     '#collapsible' => TRUE,
214 214
     '#collapsed' => !$advanced,
215 215
     '#attributes' => array('class' => 'advanced-settings'),
216
-  );
216
+    );
217 217
 
218
-  // Processing preferences
218
+    // Processing preferences
219 219
 
220
-  $form['prefs']['advanced']['anchor'] = array(
220
+    $form['prefs']['advanced']['anchor'] = array(
221 221
     '#value' => '<a name="advanced"></a>'
222
-  );
222
+    );
223 223
 
224
-  $form['prefs']['advanced']['separator_top'] = array(
224
+    $form['prefs']['advanced']['separator_top'] = array(
225 225
     '#value' => '<div class="separator"></div>'
226
-  );
226
+    );
227 227
 
228
-  $form['prefs']['advanced']['processor'] = array(
228
+    $form['prefs']['advanced']['processor'] = array(
229 229
     '#title' => bts('Processor usage', array(), NULL, 'boinc:account-preferences-computing'),
230 230
     '#type' => 'fieldset',
231 231
     '#description' => '',
232 232
     '#collapsible' => FALSE,
233 233
     '#collapsed' => FALSE
234
-  );
235
-  $form['prefs']['advanced']['processor']['run_on_batteries'] = array(
234
+    );
235
+    $form['prefs']['advanced']['processor']['run_on_batteries'] = array(
236 236
     '#title' => bts('Suspend when computer is on battery?', array(), NULL, 'boinc:account-preferences-computing'),
237 237
     '#type' => 'radios',
238 238
     '#description' => bts('Suspends computing on portables when running on battery power.', array(), NULL, 'boinc:account-preferences-computing'),
239 239
     '#options' => $form['boolean_options']['#value'],
240 240
     '#attributes' => array('class' => 'fancy'),
241 241
     '#default_value' => ($default['run_on_batteries']) ? 0 : 1 // intentional inversion of setting
242
-  );
243
-  $form['prefs']['advanced']['processor']['run_if_user_active'] = array(
242
+    );
243
+    $form['prefs']['advanced']['processor']['run_if_user_active'] = array(
244 244
     '#title' => bts('Suspend when computer is in use?', array(), NULL, 'boinc:account-preferences-computing'),
245 245
     '#type' => 'radios',
246 246
     '#description' => bts("Suspends computing and file transfers when you're using the computer.", array(), NULL, 'boinc:account-preferences-computing'),
247 247
     '#options' => $form['boolean_options']['#value'],
248 248
     '#attributes' => array('class' => 'fancy'),
249 249
     '#default_value' => ($default['run_if_user_active']) ? 0 : 1 // intentional inversion of setting
250
-  );
251
-  $form['prefs']['advanced']['processor']['run_gpu_if_user_active'] = array(
250
+    );
251
+    $form['prefs']['advanced']['processor']['run_gpu_if_user_active'] = array(
252 252
     '#title' => bts('Suspend GPU computing when computer is in use?', array(), NULL, 'boinc:account-preferences-computing'),
253 253
     '#type' => 'radios',
254 254
     '#description' => bts("Suspends GPU computing when you're using the computer.", array(), NULL, 'boinc:account-preferences-computing'),
255 255
     '#options' => $form['boolean_options']['#value'],
256 256
     '#attributes' => array('class' => 'fancy'),
257 257
     '#default_value' => ($default['run_gpu_if_user_active']) ? 0 : 1 // intentional inversion of setting
258
-  );
259
-  $form['prefs']['advanced']['processor']['idle_time_to_run'] = array(
260
-      '#title' => bts('"In use" means mouse/keyboard input in last', array(), NULL, 'boinc:account-preferences-computing'),
258
+    );
259
+    $form['prefs']['advanced']['processor']['idle_time_to_run'] = array(
260
+        '#title' => bts('"In use" means mouse/keyboard input in last', array(), NULL, 'boinc:account-preferences-computing'),
261 261
     '#type' => 'textfield',
262 262
     '#field_suffix' => bts('minutes', array(), NULL, 'boinc:unit-of-time'),
263 263
     '#default_value' => $default['idle_time_to_run'],
264 264
     '#size' => 1,
265 265
     '#description' => bts('This determines when the computer is considered "in use".', array(), NULL, 'boinc:account-preferences-computing')
266
-  );
267
-  $form['prefs']['advanced']['processor']['suspend_if_no_recent_input'] = array(
266
+    );
267
+    $form['prefs']['advanced']['processor']['suspend_if_no_recent_input'] = array(
268 268
     '#title' => bts('Suspend when no mouse/keyboard input in last', array(), NULL, 'boinc:account-preferences-computing'),
269 269
     '#type' => 'textfield',
270 270
     '#field_suffix' => bts('minutes', array(), NULL, 'boinc:unit-of-time'),
271 271
     '#default_value' => $default['suspend_if_no_recent_input'],
272 272
     '#size' => 1,
273 273
     '#description' => bts('This allows some computers to enter low-power mode when not in use.', array(), NULL, 'boinc:account-preferences-computing')
274
-  );
275
-  $form['prefs']['advanced']['processor']['suspend_cpu_usage'] = array(
274
+    );
275
+    $form['prefs']['advanced']['processor']['suspend_cpu_usage'] = array(
276 276
     '#title' => bts('Suspend when non-BOINC CPU usage is above', array(), NULL, 'boinc:account-preferences-computing'),
277 277
     '#type' => 'textfield',
278 278
     '#field_suffix' => '%',
279 279
     '#default_value' => $default['suspend_cpu_usage'],
280 280
     '#size' => 1,
281 281
     '#description' => bts('Suspend computing when your computer is busy running other programs.', array(), NULL, 'boinc:account-preferences-computing'),
282
-  );
283
-  $form['prefs']['advanced']['processor']['hour_label'] = array(
282
+    );
283
+    $form['prefs']['advanced']['processor']['hour_label'] = array(
284 284
     '#value' => '<div class="form-item"><label>' . bts('Compute only between:', array(), NULL, 'boinc:account-preferences-computing') . '</label></div>'
285
-  );
286
-  $form['prefs']['advanced']['processor']['start_hour'] = array(
285
+    );
286
+    $form['prefs']['advanced']['processor']['start_hour'] = array(
287 287
     '#type' => 'select',
288 288
     '#options' => $form['hour_options']['#value'],
289 289
     '#default_value' => $default['start_hour']
290
-  );
291
-  $form['prefs']['advanced']['processor']['hour_delimiter'] = array(
290
+    );
291
+    $form['prefs']['advanced']['processor']['hour_delimiter'] = array(
292 292
     '#value' => '<span>' . bts('and', array(), NULL, 'boinc:account-preference') . '</span>'
293
-  );
294
-  $form['prefs']['advanced']['processor']['end_hour'] = array(
293
+    );
294
+    $form['prefs']['advanced']['processor']['end_hour'] = array(
295 295
     '#type' => 'select',
296 296
     '#options' => $form['hour_options']['#value'],
297 297
     '#default_value' => $default['end_hour']
298
-  );
299
-  $form['prefs']['advanced']['processor']['hour_description'] = array(
298
+    );
299
+    $form['prefs']['advanced']['processor']['hour_description'] = array(
300 300
     '#value' => '<div class="form-item slim"><div class="description">' . bts('Compute only during a particular period each day.', array(), NULL, 'boinc:account-preferences-computing') . '</div></div>'
301
-  );
302
-  $form['prefs']['advanced']['processor']['leave_apps_in_memory'] = array(
301
+    );
302
+    $form['prefs']['advanced']['processor']['leave_apps_in_memory'] = array(
303 303
     '#title' => bts('Leave non-GPU tasks in memory while suspended?', array(), NULL, 'boinc:account-preferences-computing'),
304 304
     '#type' => 'radios',
305 305
     '#options' => $form['boolean_options']['#value'],
306 306
     '#attributes' => array('class' => 'fancy'),
307 307
     '#default_value' => $default['leave_apps_in_memory'],
308 308
     '#description' => bts('If "Yes", suspended tasks stay in memory, and resume with no work lost. If "No", suspended tasks are removed from memory, and resume from their last checkpoint.', array(), NULL, 'boinc:account-preferences-computing')
309
-  );
310
-  $form['prefs']['advanced']['processor']['cpu_scheduling_period_minutes'] = array(
309
+    );
310
+    $form['prefs']['advanced']['processor']['cpu_scheduling_period_minutes'] = array(
311 311
     '#title' => bts('Switch between tasks every', array(), NULL, 'boinc:account-preferences-computing'),
312 312
     '#type' => 'textfield',
313 313
     '#field_suffix' => bts('minutes', array(), NULL, 'boinc:unit-of-time'),
314 314
     '#default_value' => $default['cpu_scheduling_period_minutes'],
315 315
     '#size' => 1,
316 316
     '#description' => bts('If you run several projects, BOINC may switch between them this often.', array(), NULL, 'boinc:account-preferences-computing')
317
-  );
318
-  $form['prefs']['advanced']['processor']['max_ncpus_pct'] = array(
317
+    );
318
+    $form['prefs']['advanced']['processor']['max_ncpus_pct'] = array(
319 319
     '#title' => bts('Use at most', array(), NULL, 'boinc:account-preferences-computing'),
320 320
     '#type' => 'textfield',
321 321
     '#field_suffix' => bts('% of the processors', array(), NULL, 'boinc:account-preferences-computing'),
322 322
     '#default_value' => $default['max_ncpus_pct'],
323 323
     '#size' => 1,
324 324
     '#description' => bts('Keep some CPUs free for other applications. Example: 75% means use 6 cores on an 8-core CPU.', array(), NULL, 'boinc:account-preferences-computing'),
325
-  );
326
-  $form['prefs']['advanced']['processor']['cpu_usage_limit'] = array(
325
+    );
326
+    $form['prefs']['advanced']['processor']['cpu_usage_limit'] = array(
327 327
     '#title' => bts('Use at most', array(), NULL, 'boinc:account-preferences-computing'),
328 328
     '#type' => 'textfield',
329 329
     '#field_suffix' => bts('% of the CPU time', array(), NULL, 'boinc:account-preferences-computing'),
330 330
     '#default_value' => $default['cpu_usage_limit'],
331 331
     '#size' => 1,
332 332
     '#description' => bts('Suspend/resume computing every few seconds to reduce CPU temperature and energy usage. Example: 75% means compute for 3 seconds, wait for 1 second, and repeat.', array(), NULL, 'boinc:account-preferences-computing')
333
-  );
333
+    );
334 334
 
335
-  // Disk and memory preferences
336
-  $form['prefs']['advanced']['storage'] = array(
335
+    // Disk and memory preferences
336
+    $form['prefs']['advanced']['storage'] = array(
337 337
     '#title' => bts('Disk and memory usage', array(), NULL, 'boinc:account-preferences-computing'),
338 338
     '#type' => 'fieldset',
339 339
     '#description' => '',
340 340
     '#collapsible' => FALSE,
341 341
     '#collapsed' => FALSE
342
-  );
343
-  $form['prefs']['advanced']['storage']['disk_max_used_gb'] = array(
342
+    );
343
+    $form['prefs']['advanced']['storage']['disk_max_used_gb'] = array(
344 344
     '#title' => bts('Disk: use no more than', array(), NULL, 'boinc:account-preferences-computing'),
345 345
     '#type' => 'textfield',
346 346
     '#field_suffix' => 'GB',
347 347
     '#default_value' => $default['disk_max_used_gb'],
348 348
     '#size' => 1,
349 349
     '#description' => bts('Limit the total amount of disk space used by BOINC.', array(), NULL, 'boinc:account-preferences-computing'),
350
-  );
351
-  $form['prefs']['advanced']['storage']['disk_min_free_gb'] = array(
350
+    );
351
+    $form['prefs']['advanced']['storage']['disk_min_free_gb'] = array(
352 352
     '#title' => bts('Disk: leave at least', array(), NULL, 'boinc:account-preferences-computing'),
353 353
     '#type' => 'textfield',
354 354
     '#field_suffix' => 'GB free',
355 355
     '#default_value' => $default['disk_min_free_gb'],
356 356
     '#size' => 1,
357 357
     '#description' => bts('Limit disk usage to leave this much free space on the volume where BOINC stores data.', array(), NULL, 'boinc:account-preferences-computing'),
358
-  );
359
-  $form['prefs']['advanced']['storage']['disk_max_used_pct'] = array(
358
+    );
359
+    $form['prefs']['advanced']['storage']['disk_max_used_pct'] = array(
360 360
     '#title' => bts('Disk: use no more than', array(), NULL, 'boinc:account-preferences-computing'),
361 361
     '#type' => 'textfield',
362 362
     '#field_suffix' => bts('% of total', array(), NULL, 'boinc:account-preferences-computing'),
363 363
     '#default_value' => $default['disk_max_used_pct'],
364 364
     '#size' => 1,
365 365
     '#description' => bts('Limit the percentage of disk space used by BOINC on the volume where it stores data.', array(), NULL, 'boinc:account-preferences-computing')
366
-  );
367
-  $form['prefs']['advanced']['storage']['disk_interval'] = array(
366
+    );
367
+    $form['prefs']['advanced']['storage']['disk_interval'] = array(
368 368
     '#title' => bts('Request tasks to checkpoint at most every', array(), NULL, 'boinc:account-preferences-computing'),
369 369
     '#type' => 'textfield',
370 370
     '#field_suffix' => bts('seconds', array(), NULL, 'boinc:unit-of-time'),
371 371
     '#default_value' => $default['disk_interval'],
372 372
     '#size' => 1,
373 373
     '#description' => bts('This controls how often tasks save their state to disk, so that later they can be continued from that point.', array(), NULL, 'boinc:account-preferences-computing')
374
-  );
375
-  $form['prefs']['advanced']['storage']['vm_max_used_pct'] = array(
374
+    );
375
+    $form['prefs']['advanced']['storage']['vm_max_used_pct'] = array(
376 376
     '#title' => bts('Page/swap file: use at most', array(), NULL, 'boinc:account-preferences-computing'),
377 377
     '#type' => 'textfield',
378 378
     '#field_suffix' => bts('% of total', array(), NULL, 'boinc:account-preferences-computing'),
379 379
     '#default_value' => $default['vm_max_used_pct'],
380 380
     '#size' => 1,
381 381
     '#description' => bts('Limit the swap space (page file) used by BOINC.', array(), NULL, 'boinc:account-preferences-computing')
382
-  );
383
-  $form['prefs']['advanced']['storage']['ram_max_used_busy_pct'] = array(
382
+    );
383
+    $form['prefs']['advanced']['storage']['ram_max_used_busy_pct'] = array(
384 384
     '#title' => bts('Memory: when computer is in use, use at most', array(), NULL, 'boinc:account-preferences-computing'),
385 385
     '#type' => 'textfield',
386 386
     '#field_suffix' => bts('% of total', array(), NULL, 'boinc:account-preferences-computing'),
387 387
     '#default_value' => $default['ram_max_used_busy_pct'],
388 388
     '#size' => 1,
389 389
     '#description' => bts("Limit the memory used by BOINC when you're using the computer.", array(), NULL, 'boinc:account-preferences-computing')
390
-  );
391
-  $form['prefs']['advanced']['storage']['ram_max_used_idle_pct'] = array(
390
+    );
391
+    $form['prefs']['advanced']['storage']['ram_max_used_idle_pct'] = array(
392 392
     '#title' => bts('Memory: when computer is not in use, use at most', array(), NULL, 'boinc:account-preferences-computing'),
393 393
     '#type' => 'textfield',
394 394
     '#field_suffix' => bts('% of total', array(), NULL, 'boinc:account-preferences-computing'),
395 395
     '#default_value' => $default['ram_max_used_idle_pct'],
396 396
     '#size' => 1,
397 397
     '#description' => bts("Limit the memory used by BOINC when you're not using the computer.", array(), NULL, 'boinc:account-preferences-computing')
398
-  );
398
+    );
399 399
 
400
-  // Network preferences
401
-  $form['prefs']['advanced']['network'] = array(
400
+    // Network preferences
401
+    $form['prefs']['advanced']['network'] = array(
402 402
     '#title' => bts('Network usage', array(), NULL, 'boinc:account-preferences-computing'),
403 403
     '#type' => 'fieldset',
404 404
     '#description' => '',
405 405
     '#collapsible' => FALSE,
406 406
     '#collapsed' => FALSE
407
-  );
408
-  $form['prefs']['advanced']['network']['work_buf_min_days'] = array(
407
+    );
408
+    $form['prefs']['advanced']['network']['work_buf_min_days'] = array(
409 409
     '#title' => bts('Store at least', array(), NULL, 'boinc:account-preferences-computing'),
410 410
     '#type' => 'textfield',
411 411
     '#field_suffix' => bts('days of work', array(), NULL, 'boinc:account-preferences-computing'),
412 412
     '#default_value' => $default['work_buf_min_days'],
413 413
     '#size' => 1,
414 414
     '#description' => bts('Store at least enough tasks to keep the computer busy for this long.', array(), NULL, 'boinc:account-preferences-computing')
415
-  );
416
-  $form['prefs']['advanced']['network']['work_buf_additional_days'] = array(
415
+    );
416
+    $form['prefs']['advanced']['network']['work_buf_additional_days'] = array(
417 417
     '#title' => bts('Store up to an additional', array(), NULL, 'boinc:account-preferences-computing'),
418 418
     '#type' => 'textfield',
419 419
     '#field_suffix' => bts('days', array(), NULL, 'boinc:unit-of-time'),
420 420
     '#default_value' => $default['work_buf_additional_days'],
421 421
     '#size' => 1,
422 422
     '#description' => bts('Store additional tasks above the minimum level.  Determines how much work is requested when contacting a project.', array(), NULL, 'boinc:account-preferences-computing')
423
-  );
424
-  $form['prefs']['advanced']['network']['confirm_before_connecting'] = array(
423
+    );
424
+    $form['prefs']['advanced']['network']['confirm_before_connecting'] = array(
425 425
     '#title' => bts('Confirm before connecting to Internet?', array(), NULL, 'boinc:account-preferences-computing'),
426 426
     '#type' => 'radios',
427 427
     '#options' => $form['boolean_options']['#value'],
428 428
     '#attributes' => array('class' => 'fancy'),
429 429
     '#default_value' => $default['confirm_before_connecting'],
430 430
     '#description' => bts('Useful only if you have a modem, ISDN or VPN connection.', array(), NULL, 'boinc:account-preferences-computing')
431
-  );
432
-  $form['prefs']['advanced']['network']['hangup_if_dialed'] = array(
431
+    );
432
+    $form['prefs']['advanced']['network']['hangup_if_dialed'] = array(
433 433
     '#title' => bts('Disconnect when done?', array(), NULL, 'boinc:account-preferences-computing'),
434 434
     '#type' => 'radios',
435 435
     '#options' => $form['boolean_options']['#value'],
436 436
     '#attributes' => array('class' => 'fancy'),
437 437
     '#default_value' => $default['hangup_if_dialed'],
438 438
     '#description' => bts('Useful only if you have a modem, ISDN or VPN connection.', array(), NULL, 'boinc:account-preferences-computing')
439
-  );
440
-  $form['prefs']['advanced']['network']['max_bytes_sec_down'] = array(
439
+    );
440
+    $form['prefs']['advanced']['network']['max_bytes_sec_down'] = array(
441 441
     '#title' => bts('Limit download rate to', array(), NULL, 'boinc:account-preferences-computing'),
442 442
     '#type' => 'textfield',
443 443
     '#field_suffix' => 'Kbytes/sec',
444 444
     '#default_value' => $default['max_bytes_sec_down']/1000,
445 445
     '#size' => 1,
446 446
     '#description' => bts('Limit the download rate of file transfers.', array(), NULL, 'boinc:account-preferences-computing')
447
-  );
448
-  $form['prefs']['advanced']['network']['max_bytes_sec_up'] = array(
447
+    );
448
+    $form['prefs']['advanced']['network']['max_bytes_sec_up'] = array(
449 449
     '#title' => bts('Limit upload rate to', array(), NULL, 'boinc:account-preferences-computing'),
450 450
     '#type' => 'textfield',
451 451
     '#field_suffix' => 'Kbytes/sec',
452 452
     '#default_value' => $default['max_bytes_sec_up']/1000,
453 453
     '#size' => 1,
454 454
     '#description' => bts('Limit the upload rate of file transfers.', array(), NULL, 'boinc:account-preferences-computing')
455
-  );
456
-  $form['prefs']['advanced']['network']['hour_label'] = array(
455
+    );
456
+    $form['prefs']['advanced']['network']['hour_label'] = array(
457 457
     '#value' => '<div class="form-item"><label>' . bts('Transfer files only between', array(), NULL, 'boinc:account-preferences-computing') . '</label></div>'
458
-  );
459
-  $form['prefs']['advanced']['network']['net_start_hour'] = array(
458
+    );
459
+    $form['prefs']['advanced']['network']['net_start_hour'] = array(
460 460
     '#type' => 'select',
461 461
     '#options' => $form['hour_options']['#value'],
462 462
     '#default_value' => $default['net_start_hour']
463
-  );
464
-  $form['prefs']['advanced']['network']['hour_delimiter'] = array(
463
+    );
464
+    $form['prefs']['advanced']['network']['hour_delimiter'] = array(
465 465
     '#value' => '<span>' . bts('and', array(), NULL, 'boinc:account-preference') . '</span>'
466
-  );
467
-  $form['prefs']['advanced']['network']['net_end_hour'] = array(
466
+    );
467
+    $form['prefs']['advanced']['network']['net_end_hour'] = array(
468 468
     '#type' => 'select',
469 469
     '#options' => $form['hour_options']['#value'],
470 470
     '#default_value' => $default['net_end_hour']
471
-  );
472
-  $form['prefs']['advanced']['network']['hour_description'] = array(
471
+    );
472
+    $form['prefs']['advanced']['network']['hour_description'] = array(
473 473
     '#value' => '<div class="form-item slim"><div class="description">' . bts('Transfer files only during a particular period each day.', array(), NULL, 'boinc:account-preferences-computing') . '</div></div>'
474
-  );
475
-  $form['prefs']['advanced']['network']['daily_xfer_limit_mb'] = array(
474
+    );
475
+    $form['prefs']['advanced']['network']['daily_xfer_limit_mb'] = array(
476 476
     '#title' => bts('Limit usage to', array(), NULL, 'boinc:account-preferences-computing'),
477 477
     '#type' => 'textfield',
478 478
     '#field_suffix' => 'Mbytes',
479 479
     '#default_value' => $default['daily_xfer_limit_mb'],
480 480
     '#size' => 1
481
-  );
482
-  $form['prefs']['advanced']['network']['daily_xfer_period_days'] = array(
481
+    );
482
+    $form['prefs']['advanced']['network']['daily_xfer_period_days'] = array(
483 483
     '#field_prefix' => 'every',
484 484
     '#type' => 'textfield',
485 485
     '#field_suffix' => bts('days', array(), NULL, 'boinc:unit-of-time'),
486 486
     '#default_value' => $default['daily_xfer_period_days'],
487 487
     '#size' => 1,
488 488
     '#description' => bts('Example: BOINC should transfer at most 2000 MB of data every 30 days.', array(), NULL, 'boinc:account-preferences-computing'),
489
-  );
490
-  $form['prefs']['advanced']['network']['dont_verify_images'] = array(
489
+    );
490
+    $form['prefs']['advanced']['network']['dont_verify_images'] = array(
491 491
     '#title' => bts('Skip data verification for image files?', array(), NULL, 'boinc:account-preferences-computing'),
492 492
     '#type' => 'radios',
493 493
     '#options' => $form['boolean_options']['#value'],
494 494
     '#attributes' => array('class' => 'fancy'),
495 495
     '#default_value' => $default['dont_verify_images'],
496 496
     '#description' => bts('Only select "Yes" if your Internet provider modifies image files. Skipping verification reduces the security of BOINC.', array(), NULL, 'boinc:account-preferences-computing')
497
-  );
497
+    );
498 498
 
499
-  // The "fancy radios" are made via javascript on document load. In order for
500
-  // these to work with AHAH, we need this crazy setTimeout() call.
501
-  $form['prefs']['fancy-radios'] = array(
499
+    // The "fancy radios" are made via javascript on document load. In order for
500
+    // these to work with AHAH, we need this crazy setTimeout() call.
501
+    $form['prefs']['fancy-radios'] = array(
502 502
     '#value' => '
503 503
       <script>
504 504
         setTimeout(
@@ -509,177 +509,177 @@  discard block
 block discarded – undo
509 509
           300
510 510
         )
511 511
       </script>'
512
-  );
513
-  $form['prefs']['view advanced'] = array(
512
+    );
513
+    $form['prefs']['view advanced'] = array(
514 514
     '#type' => 'hidden',
515 515
     '#value' => 1
516
-  );
516
+    );
517 517
 
518
-  $form['prefs']['separator_bottom'] = array(
518
+    $form['prefs']['separator_bottom'] = array(
519 519
     '#value' => '<div class="separator buttons"></div>'
520
-  );
520
+    );
521 521
 
522
-  // Form control
523
-  $form['prefs']['form control tabs prefix'] = array(
522
+    // Form control
523
+    $form['prefs']['form control tabs prefix'] = array(
524 524
     '#value' => '<ul class="form-control tab-list">'
525
-  );
526
-  $form['prefs']['submit'] = array(
525
+    );
526
+    $form['prefs']['submit'] = array(
527 527
     '#prefix' => '<li class="first tab">',
528 528
     '#type' => 'submit',
529 529
     '#value' => bts('Save changes', array(), NULL, 'boinc:form-save'),
530 530
     '#suffix' => '</li>'
531
-  );
532
-  $form['prefs']['form control tabs'] = array(
531
+    );
532
+    $form['prefs']['form control tabs'] = array(
533 533
     '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), drupal_get_path_alias("account/prefs/computing/edit")) . '</li>'
534
-  );
535
-  if ($venue AND $venue != 'generic') {
534
+    );
535
+    if ($venue AND $venue != 'generic') {
536 536
     global $base_path;
537 537
     $form['prefs']['form control tabs']['#value'] .= '<li class="tab">' .
538
-      l(bts('Clear', array(), NULL, 'boinc:form-clear'), "account/prefs/computing/clear/{$venue}",
538
+        l(bts('Clear', array(), NULL, 'boinc:form-clear'), "account/prefs/computing/clear/{$venue}",
539 539
         array(
540
-          'query' => 'destination=' . urlencode(drupal_get_path_alias('account/prefs/computing/combined')),
541
-          'attributes' => array(
540
+            'query' => 'destination=' . urlencode(drupal_get_path_alias('account/prefs/computing/combined')),
541
+            'attributes' => array(
542 542
             'onclick' => 'return confirm(\'' . bts('This will remove all of your settings from the @name preference set. Are you sure?',
543
-              array('@name' => $venue), NULL, 'boinc:account-preferences') . '\')'
544
-          )
543
+                array('@name' => $venue), NULL, 'boinc:account-preferences') . '\')'
544
+            )
545 545
         )
546
-      ) . '</li>';
547
-  }
548
-  $form['prefs']['view control'] = array(
546
+        ) . '</li>';
547
+    }
548
+    $form['prefs']['view control'] = array(
549 549
     '#value' => '<li class="first alt tab">' . l('(' . bts('Show comparison view', array(), NULL, 'boinc:account-preferences') . ')', 'account/prefs/computing/combined') . '</li>'
550
-  );
551
-  $form['prefs']['form control tabs suffix'] = array(
550
+    );
551
+    $form['prefs']['form control tabs suffix'] = array(
552 552
     '#value' => '</ul>'
553
-  );
554
-  $form['#submit'][] = 'boincwork_generalprefs_form_submit';
553
+    );
554
+    $form['#submit'][] = 'boincwork_generalprefs_form_submit';
555 555
 
556
-  return $form;
556
+    return $form;
557 557
 }
558 558
 
559 559
 /**
560
-  * Validate the general preferences form.
561
-  */
560
+ * Validate the general preferences form.
561
+ */
562 562
 function boincwork_generalprefs_form_validate($form, &$form_state) {
563
-  require_boinc('util');
564
-  $values = $form_state['values']['prefs']['advanced'];
565
-
566
-  //drupal_set_message('<pre>' . print_r($form_state['values'], true) . '</pre>');
567
-  // Verify all non-boolean user input values and notify form API of failures
568
-
569
-  // Processing preferences
570
-  if (!verify_numeric($values['processor']['idle_time_to_run'], 1, 9999)) form_set_error('idle_time_to_run', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['idle_time_to_run']['#title']} [x] {$form['prefs']['advanced']['processor']['idle_time_to_run']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
571
-  if (!verify_numeric($values['processor']['suspend_if_no_recent_input'], 0, 9999)) form_set_error('suspend_if_no_recent_input', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['suspend_if_no_recent_input']['#title']} [x] {$form['prefs']['advanced']['processor']['suspend_if_no_recent_input']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
572
-  if (!verify_numeric($values['processor']['suspend_cpu_usage'], 0, 100)) form_set_error('suspend_cpu_usage', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['suspend_cpu_usage']['#title']} [x] {$form['prefs']['advanced']['processor']['suspend_cpu_usage']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
573
-  if (!verify_numeric($values['processor']['start_hour'], 0, 23)) form_set_error('start_hour', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['start_hour']['#title']} [x] {$form['prefs']['advanced']['processor']['start_hour']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
574
-  if (!verify_numeric($values['processor']['end_hour'], 0, 23)) form_set_error('end_hour', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['end_hour']['#title']} [x] {$form['prefs']['advanced']['processor']['end_hour']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
575
-  if (!verify_numeric($values['processor']['cpu_scheduling_period_minutes'], 1, 9999)) form_set_error('cpu_scheduling_period_minutes', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['cpu_scheduling_period_minutes']['#title']} [x] {$form['prefs']['advanced']['processor']['cpu_scheduling_period_minutes']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
576
-  if (!verify_numeric($values['processor']['max_ncpus_pct'], 0, 100)) form_set_error('max_ncpus_pct', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['max_ncpus_pct']['#title']} [x] {$form['prefs']['advanced']['processor']['max_ncpus_pct']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
577
-  if (!verify_numeric($values['processor']['cpu_usage_limit'], 0, 100)) form_set_error('cpu_usage_limit', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['cpu_usage_limit']['#title']} [x] {$form['prefs']['advanced']['processor']['cpu_usage_limit']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
578
-
579
-  // Storage preferences
580
-  if (!verify_numeric($values['storage']['disk_max_used_gb'], 0, 9999999)) form_set_error('disk_max_used_gb', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['storage']['disk_max_used_gb']['#title']} [x] {$form['prefs']['advanced']['storage']['disk_max_used_gb']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
581
-  if (!verify_numeric($values['storage']['disk_min_free_gb'], 0.001, 9999999)) form_set_error('disk_min_free_gb', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['storage']['disk_min_free_gb']['#title']} [x] {$form['prefs']['advanced']['storage']['disk_min_free_gb']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
582
-  if (!verify_numeric($values['storage']['disk_max_used_pct'], 0, 100)) form_set_error('disk_max_used_pct', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['storage']['disk_max_used_pct']['#title']} [x] {$form['prefs']['advanced']['storage']['disk_max_used_pct']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
583
-  if (!verify_numeric($values['storage']['disk_interval'], 0, 9999999)) form_set_error('disk_interval', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['storage']['disk_interval']['#title']} [x] {$form['prefs']['advanced']['storage']['disk_interval']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
584
-  if (!verify_numeric($values['storage']['vm_max_used_pct'], 0, 100)) form_set_error('vm_max_used_pct', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['storage']['vm_max_used_pct']['#title']} [x] {$form['prefs']['advanced']['storage']['vm_max_used_pct']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
585
-  if (!verify_numeric($values['storage']['ram_max_used_busy_pct'], 0, 100)) form_set_error('ram_max_used_busy_pct', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['storage']['ram_max_used_busy_pct']['#title']} [x] {$form['prefs']['advanced']['storage']['ram_max_used_busy_pct']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
586
-  if (!verify_numeric($values['storage']['ram_max_used_idle_pct'], 0, 100)) form_set_error('ram_max_used_idle_pct', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['storage']['ram_max_used_idle_pct']['#title']} [x] {$form['prefs']['advanced']['storage']['ram_max_used_idle_pct']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
587
-
588
-  // Network preferences
589
-  if (!verify_numeric($values['network']['work_buf_min_days'], 0, 10)) form_set_error('work_buf_min_days', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['work_buf_min_days']['#title']} [x] {$form['prefs']['advanced']['network']['work_buf_min_days']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
590
-  if (!verify_numeric($values['network']['work_buf_additional_days'], 0, 10)) form_set_error('work_buf_additional_days', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['work_buf_additional_days']['#title']} [x] {$form['prefs']['advanced']['network']['work_buf_additional_days']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
591
-  if (!verify_numeric($values['network']['max_bytes_sec_down'], 0, 9999.999)) form_set_error('max_bytes_sec_down', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['max_bytes_sec_down']['#title']} [x] {$form['prefs']['advanced']['network']['max_bytes_sec_down']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
592
-  if (!verify_numeric($values['network']['max_bytes_sec_up'], 0, 9999.999)) form_set_error('max_bytes_sec_up', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['max_bytes_sec_up']['#title']} [x] {$form['prefs']['advanced']['network']['max_bytes_sec_up']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
593
-  if (!verify_numeric($values['network']['net_start_hour'], 0, 23)) form_set_error('net_start_hour', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['net_start_hour']['#title']} [x] {$form['prefs']['advanced']['network']['net_start_hour']['#field_suffix']}"), NULL, 'boinc:account-prefrences-computing'));
594
-  if (!verify_numeric($values['network']['net_end_hour'], 0, 23)) form_set_error('net_end_hour', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['net_end_hour']['#title']} [x] {$form['prefs']['advanced']['network']['net_end_hour']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
595
-  if (!verify_numeric($values['network']['daily_xfer_limit_mb'], 0, 9999999)) form_set_error('daily_xfer_limit_mb', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['daily_xfer_limit_mb']['#title']} [x] {$form['prefs']['advanced']['network']['daily_xfer_limit_mb']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
596
-  if (!verify_numeric($values['network']['daily_xfer_period_days'], 0, 9999999)) form_set_error('daily_xfer_period_days', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['daily_xfer_limit_mb']['#title']} [x] {$form['prefs']['advanced']['network']['daily_xfer_limit_mb']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
563
+    require_boinc('util');
564
+    $values = $form_state['values']['prefs']['advanced'];
565
+
566
+    //drupal_set_message('<pre>' . print_r($form_state['values'], true) . '</pre>');
567
+    // Verify all non-boolean user input values and notify form API of failures
568
+
569
+    // Processing preferences
570
+    if (!verify_numeric($values['processor']['idle_time_to_run'], 1, 9999)) form_set_error('idle_time_to_run', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['idle_time_to_run']['#title']} [x] {$form['prefs']['advanced']['processor']['idle_time_to_run']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
571
+    if (!verify_numeric($values['processor']['suspend_if_no_recent_input'], 0, 9999)) form_set_error('suspend_if_no_recent_input', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['suspend_if_no_recent_input']['#title']} [x] {$form['prefs']['advanced']['processor']['suspend_if_no_recent_input']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
572
+    if (!verify_numeric($values['processor']['suspend_cpu_usage'], 0, 100)) form_set_error('suspend_cpu_usage', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['suspend_cpu_usage']['#title']} [x] {$form['prefs']['advanced']['processor']['suspend_cpu_usage']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
573
+    if (!verify_numeric($values['processor']['start_hour'], 0, 23)) form_set_error('start_hour', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['start_hour']['#title']} [x] {$form['prefs']['advanced']['processor']['start_hour']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
574
+    if (!verify_numeric($values['processor']['end_hour'], 0, 23)) form_set_error('end_hour', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['end_hour']['#title']} [x] {$form['prefs']['advanced']['processor']['end_hour']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
575
+    if (!verify_numeric($values['processor']['cpu_scheduling_period_minutes'], 1, 9999)) form_set_error('cpu_scheduling_period_minutes', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['cpu_scheduling_period_minutes']['#title']} [x] {$form['prefs']['advanced']['processor']['cpu_scheduling_period_minutes']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
576
+    if (!verify_numeric($values['processor']['max_ncpus_pct'], 0, 100)) form_set_error('max_ncpus_pct', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['max_ncpus_pct']['#title']} [x] {$form['prefs']['advanced']['processor']['max_ncpus_pct']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
577
+    if (!verify_numeric($values['processor']['cpu_usage_limit'], 0, 100)) form_set_error('cpu_usage_limit', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['processor']['cpu_usage_limit']['#title']} [x] {$form['prefs']['advanced']['processor']['cpu_usage_limit']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
578
+
579
+    // Storage preferences
580
+    if (!verify_numeric($values['storage']['disk_max_used_gb'], 0, 9999999)) form_set_error('disk_max_used_gb', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['storage']['disk_max_used_gb']['#title']} [x] {$form['prefs']['advanced']['storage']['disk_max_used_gb']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
581
+    if (!verify_numeric($values['storage']['disk_min_free_gb'], 0.001, 9999999)) form_set_error('disk_min_free_gb', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['storage']['disk_min_free_gb']['#title']} [x] {$form['prefs']['advanced']['storage']['disk_min_free_gb']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
582
+    if (!verify_numeric($values['storage']['disk_max_used_pct'], 0, 100)) form_set_error('disk_max_used_pct', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['storage']['disk_max_used_pct']['#title']} [x] {$form['prefs']['advanced']['storage']['disk_max_used_pct']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
583
+    if (!verify_numeric($values['storage']['disk_interval'], 0, 9999999)) form_set_error('disk_interval', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['storage']['disk_interval']['#title']} [x] {$form['prefs']['advanced']['storage']['disk_interval']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
584
+    if (!verify_numeric($values['storage']['vm_max_used_pct'], 0, 100)) form_set_error('vm_max_used_pct', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['storage']['vm_max_used_pct']['#title']} [x] {$form['prefs']['advanced']['storage']['vm_max_used_pct']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
585
+    if (!verify_numeric($values['storage']['ram_max_used_busy_pct'], 0, 100)) form_set_error('ram_max_used_busy_pct', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['storage']['ram_max_used_busy_pct']['#title']} [x] {$form['prefs']['advanced']['storage']['ram_max_used_busy_pct']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
586
+    if (!verify_numeric($values['storage']['ram_max_used_idle_pct'], 0, 100)) form_set_error('ram_max_used_idle_pct', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['storage']['ram_max_used_idle_pct']['#title']} [x] {$form['prefs']['advanced']['storage']['ram_max_used_idle_pct']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
587
+
588
+    // Network preferences
589
+    if (!verify_numeric($values['network']['work_buf_min_days'], 0, 10)) form_set_error('work_buf_min_days', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['work_buf_min_days']['#title']} [x] {$form['prefs']['advanced']['network']['work_buf_min_days']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
590
+    if (!verify_numeric($values['network']['work_buf_additional_days'], 0, 10)) form_set_error('work_buf_additional_days', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['work_buf_additional_days']['#title']} [x] {$form['prefs']['advanced']['network']['work_buf_additional_days']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
591
+    if (!verify_numeric($values['network']['max_bytes_sec_down'], 0, 9999.999)) form_set_error('max_bytes_sec_down', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['max_bytes_sec_down']['#title']} [x] {$form['prefs']['advanced']['network']['max_bytes_sec_down']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
592
+    if (!verify_numeric($values['network']['max_bytes_sec_up'], 0, 9999.999)) form_set_error('max_bytes_sec_up', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['max_bytes_sec_up']['#title']} [x] {$form['prefs']['advanced']['network']['max_bytes_sec_up']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
593
+    if (!verify_numeric($values['network']['net_start_hour'], 0, 23)) form_set_error('net_start_hour', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['net_start_hour']['#title']} [x] {$form['prefs']['advanced']['network']['net_start_hour']['#field_suffix']}"), NULL, 'boinc:account-prefrences-computing'));
594
+    if (!verify_numeric($values['network']['net_end_hour'], 0, 23)) form_set_error('net_end_hour', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['net_end_hour']['#title']} [x] {$form['prefs']['advanced']['network']['net_end_hour']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
595
+    if (!verify_numeric($values['network']['daily_xfer_limit_mb'], 0, 9999999)) form_set_error('daily_xfer_limit_mb', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['daily_xfer_limit_mb']['#title']} [x] {$form['prefs']['advanced']['network']['daily_xfer_limit_mb']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
596
+    if (!verify_numeric($values['network']['daily_xfer_period_days'], 0, 9999999)) form_set_error('daily_xfer_period_days', bts('Invalid setting for "%preference"', array('%preference' => "{$form['prefs']['advanced']['network']['daily_xfer_limit_mb']['#title']} [x] {$form['prefs']['advanced']['network']['daily_xfer_limit_mb']['#field_suffix']}"), NULL, 'boinc:account-preferences-computing'));
597 597
 }
598 598
 
599 599
 /**
600
-  * Handle post-validation submission of general preferences form.
601
-  */
600
+ * Handle post-validation submission of general preferences form.
601
+ */
602 602
 function boincwork_generalprefs_form_submit($form, &$form_state) {
603
-  global $user;
604
-  $account = user_load($user->uid);
605
-
606
-  $values = $form_state['values']['prefs']['advanced'];
607
-  $venue = $form_state['values']['prefs']['venue'];
608
-  $preset = $form_state['values']['prefs']['preset'];
609
-
610
-  // Load preferences from BOINC account
611
-  $prefs = boincwork_load_prefs('general', $venue);
612
-
613
-  // Processing preferences
614
-  $prefs['run_on_batteries'] = ($values['processor']['run_on_batteries']) ? 0 : 1;
615
-  $prefs['run_if_user_active'] = ($values['processor']['run_if_user_active']) ? 0 : 1;
616
-  $prefs['run_gpu_if_user_active'] = ($values['processor']['run_gpu_if_user_active']) ? 0 : 1;
617
-  $prefs['idle_time_to_run'] = $values['processor']['idle_time_to_run'];
618
-  $prefs['suspend_if_no_recent_input'] = $values['processor']['suspend_if_no_recent_input'];
619
-  $prefs['suspend_cpu_usage'] = $values['processor']['suspend_cpu_usage'];
620
-  $prefs['start_hour'] = $values['processor']['start_hour'];
621
-  $prefs['end_hour'] = $values['processor']['end_hour'];
622
-  $prefs['leave_apps_in_memory'] = ($values['processor']['leave_apps_in_memory']) ? 1 : 0;
623
-  $prefs['cpu_scheduling_period_minutes'] = $values['processor']['cpu_scheduling_period_minutes'];
624
-  $prefs['max_ncpus_pct'] = $values['processor']['max_ncpus_pct'];
625
-  $prefs['cpu_usage_limit'] = $values['processor']['cpu_usage_limit'];
626
-
627
-  // Storage preferences
628
-  $prefs['disk_max_used_gb'] = $values['storage']['disk_max_used_gb'];
629
-  $prefs['disk_min_free_gb'] = $values['storage']['disk_min_free_gb'];
630
-  $prefs['disk_max_used_pct'] = $values['storage']['disk_max_used_pct'];
631
-  $prefs['disk_interval'] = $values['storage']['disk_interval'];
632
-  $prefs['vm_max_used_pct'] = $values['storage']['vm_max_used_pct'];
633
-  $prefs['ram_max_used_busy_pct'] = $values['storage']['ram_max_used_busy_pct'];
634
-  $prefs['ram_max_used_idle_pct'] = $values['storage']['ram_max_used_idle_pct'];
635
-
636
-  // Network preferences
637
-  $prefs['work_buf_min_days'] = $values['network']['work_buf_min_days'];
638
-  $prefs['work_buf_additional_days'] = $values['network']['work_buf_additional_days'];
639
-  $prefs['confirm_before_connecting'] = ($values['network']['confirm_before_connecting']) ? 1 : 0;
640
-  $prefs['hangup_if_dialed'] = ($values['network']['hangup_if_dialed']) ? 1 : 0;
641
-  $prefs['max_bytes_sec_down'] = $values['network']['max_bytes_sec_down']*1000;
642
-  $prefs['max_bytes_sec_up'] = $values['network']['max_bytes_sec_up']*1000;
643
-  $prefs['net_start_hour'] = $values['network']['net_start_hour'];
644
-  $prefs['net_end_hour'] = $values['network']['net_end_hour'];
645
-  $prefs['daily_xfer_limit_mb'] = $values['network']['daily_xfer_limit_mb'];
646
-  $prefs['daily_xfer_period_days'] = $values['network']['daily_xfer_period_days'];
647
-  $prefs['dont_verify_images'] = ($values['network']['dont_verify_images']) ? 1 : 0;
648
-
649
-  // transform old way to store the preset into new way
650
-  // ideally this should already have happened in boincwork_generalprefs_form()
651
-  if (isset($prefs['@attributes']['preset'])) {
603
+    global $user;
604
+    $account = user_load($user->uid);
605
+
606
+    $values = $form_state['values']['prefs']['advanced'];
607
+    $venue = $form_state['values']['prefs']['venue'];
608
+    $preset = $form_state['values']['prefs']['preset'];
609
+
610
+    // Load preferences from BOINC account
611
+    $prefs = boincwork_load_prefs('general', $venue);
612
+
613
+    // Processing preferences
614
+    $prefs['run_on_batteries'] = ($values['processor']['run_on_batteries']) ? 0 : 1;
615
+    $prefs['run_if_user_active'] = ($values['processor']['run_if_user_active']) ? 0 : 1;
616
+    $prefs['run_gpu_if_user_active'] = ($values['processor']['run_gpu_if_user_active']) ? 0 : 1;
617
+    $prefs['idle_time_to_run'] = $values['processor']['idle_time_to_run'];
618
+    $prefs['suspend_if_no_recent_input'] = $values['processor']['suspend_if_no_recent_input'];
619
+    $prefs['suspend_cpu_usage'] = $values['processor']['suspend_cpu_usage'];
620
+    $prefs['start_hour'] = $values['processor']['start_hour'];
621
+    $prefs['end_hour'] = $values['processor']['end_hour'];
622
+    $prefs['leave_apps_in_memory'] = ($values['processor']['leave_apps_in_memory']) ? 1 : 0;
623
+    $prefs['cpu_scheduling_period_minutes'] = $values['processor']['cpu_scheduling_period_minutes'];
624
+    $prefs['max_ncpus_pct'] = $values['processor']['max_ncpus_pct'];
625
+    $prefs['cpu_usage_limit'] = $values['processor']['cpu_usage_limit'];
626
+
627
+    // Storage preferences
628
+    $prefs['disk_max_used_gb'] = $values['storage']['disk_max_used_gb'];
629
+    $prefs['disk_min_free_gb'] = $values['storage']['disk_min_free_gb'];
630
+    $prefs['disk_max_used_pct'] = $values['storage']['disk_max_used_pct'];
631
+    $prefs['disk_interval'] = $values['storage']['disk_interval'];
632
+    $prefs['vm_max_used_pct'] = $values['storage']['vm_max_used_pct'];
633
+    $prefs['ram_max_used_busy_pct'] = $values['storage']['ram_max_used_busy_pct'];
634
+    $prefs['ram_max_used_idle_pct'] = $values['storage']['ram_max_used_idle_pct'];
635
+
636
+    // Network preferences
637
+    $prefs['work_buf_min_days'] = $values['network']['work_buf_min_days'];
638
+    $prefs['work_buf_additional_days'] = $values['network']['work_buf_additional_days'];
639
+    $prefs['confirm_before_connecting'] = ($values['network']['confirm_before_connecting']) ? 1 : 0;
640
+    $prefs['hangup_if_dialed'] = ($values['network']['hangup_if_dialed']) ? 1 : 0;
641
+    $prefs['max_bytes_sec_down'] = $values['network']['max_bytes_sec_down']*1000;
642
+    $prefs['max_bytes_sec_up'] = $values['network']['max_bytes_sec_up']*1000;
643
+    $prefs['net_start_hour'] = $values['network']['net_start_hour'];
644
+    $prefs['net_end_hour'] = $values['network']['net_end_hour'];
645
+    $prefs['daily_xfer_limit_mb'] = $values['network']['daily_xfer_limit_mb'];
646
+    $prefs['daily_xfer_period_days'] = $values['network']['daily_xfer_period_days'];
647
+    $prefs['dont_verify_images'] = ($values['network']['dont_verify_images']) ? 1 : 0;
648
+
649
+    // transform old way to store the preset into new way
650
+    // ideally this should already have happened in boincwork_generalprefs_form()
651
+    if (isset($prefs['@attributes']['preset'])) {
652 652
     $prefs['preset'] = $prefs['@attributes']['preset'];
653 653
     unset($prefs['@attributes']['preset']);
654
-  }
655
-  // Save the preset selection (or lack thereof)
656
-  if (!$preset OR $preset == 'custom') {
654
+    }
655
+    // Save the preset selection (or lack thereof)
656
+    if (!$preset OR $preset == 'custom') {
657 657
     $prefs['preset'] = 'custom';
658
-  }
659
-  else {
658
+    }
659
+    else {
660 660
     $prefs['preset'] = $preset;
661
-  }
661
+    }
662 662
 
663
-  // If this is a new preference set, be sure to unset the "cleared" attribute
664
-  if (isset($prefs['@attributes']['cleared'])) {
663
+    // If this is a new preference set, be sure to unset the "cleared" attribute
664
+    if (isset($prefs['@attributes']['cleared'])) {
665 665
     unset($prefs['@attributes']['cleared']);
666
-  }
666
+    }
667 667
 
668
-  // Update database
669
-  $result = boincwork_save_prefs($prefs, 'general', $venue);
668
+    // Update database
669
+    $result = boincwork_save_prefs($prefs, 'general', $venue);
670 670
 
671
-  if (!$result) {
671
+    if (!$result) {
672 672
     watchdog('boincwork', 'Error updating global prefs for user @id: @message', array('@id' => $account->id, '@message' => mysqli_error()), WATCHDOG_ERROR);
673 673
     drupal_set_message(t('Your changes could not be saved. Please contact support!'), 'error');
674
-  }
675
-  elseif (!drupal_get_messages('status', FALSE)) {
674
+    }
675
+    elseif (!drupal_get_messages('status', FALSE)) {
676 676
     // Show this message if the set wasn't created automatically (in which case
677 677
     // there is a message tailored to that) {
678 678
     drupal_set_message(t('Your preferences have been updated.
679 679
       Client-related preferences will take effect when your computer
680 680
       communicates with @project or you issue the "Update"
681 681
       command from the BOINC client.', array('@project' => PROJECT)));
682
-  }
682
+    }
683 683
 }
684 684
 
685 685
 
@@ -691,116 +691,116 @@  discard block
 block discarded – undo
691 691
  * Find compatible hosts for merging
692 692
  */
693 693
 function boincwork_host_get_compatible_hosts($host_id) {
694
-  require_boinc('host');
695
-  global $user;
696
-  $account = user_load($user->uid);
697
-  $compatible_hosts = array();
698
-  $host_count = 0;
699
-  db_set_active('boinc_ro');
700
-  $current_host = db_fetch_object(db_query("
694
+    require_boinc('host');
695
+    global $user;
696
+    $account = user_load($user->uid);
697
+    $compatible_hosts = array();
698
+    $host_count = 0;
699
+    db_set_active('boinc_ro');
700
+    $current_host = db_fetch_object(db_query("
701 701
     SELECT id, domain_name, create_time, total_credit, rpc_time, os_name,
702 702
       p_vendor, p_model
703 703
     FROM {host}
704 704
     WHERE userid = '%d' AND id = '%d'",
705 705
     $account->boincuser_id, $host_id
706
-  ));
707
-  db_set_active('default');
708
-  $current_host->task_count = boincwork_host_get_task_count($current_host->id);
709
-  $current_host->is_new = !$current_host->total_credit AND !$current_host->task_count;
710
-  // Get the list of all other hosts owned by this user for comparison
711
-  db_set_active('boinc_ro');
712
-  $all_other_hosts = db_query("
706
+    ));
707
+    db_set_active('default');
708
+    $current_host->task_count = boincwork_host_get_task_count($current_host->id);
709
+    $current_host->is_new = !$current_host->total_credit AND !$current_host->task_count;
710
+    // Get the list of all other hosts owned by this user for comparison
711
+    db_set_active('boinc_ro');
712
+    $all_other_hosts = db_query("
713 713
     SELECT id, domain_name, create_time, total_credit, rpc_time, os_name,
714 714
       p_vendor, p_model
715 715
     FROM {host}
716 716
     WHERE userid = '%d' AND id <> '%d'",
717 717
     $account->boincuser_id, $host_id
718
-  );
719
-  db_set_active('default');
720
-  // Compare all hosts to see if any are plausible duplicates
721
-  while ($other_host = db_fetch_object($all_other_hosts)) {
718
+    );
719
+    db_set_active('default');
720
+    // Compare all hosts to see if any are plausible duplicates
721
+    while ($other_host = db_fetch_object($all_other_hosts)) {
722 722
     // First, disqualify if hosts were active at the same time
723 723
     if (!$current_host->is_new) {
724
-      $other_host->task_count = boincwork_host_get_task_count($other_host->id);
725
-      $other_host->is_new = !$other_host->total_credit AND !$other_host->task_count;
726
-      if (!$other_host->is_new) {
724
+        $other_host->task_count = boincwork_host_get_task_count($other_host->id);
725
+        $other_host->is_new = !$other_host->total_credit AND !$other_host->task_count;
726
+        if (!$other_host->is_new) {
727 727
         // If both hosts being compared are not new, see if times overlap
728 728
         if (!times_disjoint($current_host, $other_host)) {
729
-          // Hosts were active at the same time; can't be a duplicate
730
-          continue;
729
+            // Hosts were active at the same time; can't be a duplicate
730
+            continue;
731
+        }
731 732
         }
732
-      }
733 733
     }
734 734
     // Next, disqualify if hosts have different OS platforms
735 735
     if (!os_compatible($current_host, $other_host)) {
736
-      // Hosts have different OS platforms; not really a duplicate
737
-      continue;
736
+        // Hosts have different OS platforms; not really a duplicate
737
+        continue;
738 738
     }
739 739
     // Finally, disqualify if hosts have different CPUs
740 740
     if (!cpus_compatible($current_host, $other_host)) {
741
-      // CPUs don't match; not a duplicate
742
-      continue;
741
+        // CPUs don't match; not a duplicate
742
+        continue;
743 743
     }
744 744
     // If not disqualified, this host is available for merging
745 745
     $hosts[] = $other_host;
746 746
     $host_count++;
747 747
     if ($host_count == 500) {
748
-      // This is enough!
749
-      break;
748
+        // This is enough!
749
+        break;
750 750
     }
751
-  }
752
-  return $hosts;
751
+    }
752
+    return $hosts;
753 753
 }
754 754
 
755 755
 /**
756 756
  * Perform the database updates to merge the old host into the new host
757 757
  */
758 758
 function boincwork_host_merge($old_host, $new_host, &$message = NULL) {
759
-  // Decay the average credit of the two hosts
760
-  require_boinc('credit');
761
-  $now = time();
762
-  update_average($now, 0, 0, $old_host->expavg_credit, $old_host->expavg_time);
763
-  update_average($now, 0, 0, $new_host->expavg_credit, $new_host->expavg_time);
759
+    // Decay the average credit of the two hosts
760
+    require_boinc('credit');
761
+    $now = time();
762
+    update_average($now, 0, 0, $old_host->expavg_credit, $old_host->expavg_time);
763
+    update_average($now, 0, 0, $new_host->expavg_credit, $new_host->expavg_time);
764 764
 
765
-  // Update the database:
766
-  // - add credit from old host to new host
767
-  // - change results to refer to the new host
768
-  // - put old host in "zombie" state (userid=0, rpc_seqno=[new_host_id])
765
+    // Update the database:
766
+    // - add credit from old host to new host
767
+    // - change results to refer to the new host
768
+    // - put old host in "zombie" state (userid=0, rpc_seqno=[new_host_id])
769 769
 
770
-  $total_credit = $old_host->total_credit + $new_host->total_credit;
771
-  $recent_credit = $old_host->expavg_credit + $new_host->expavg_credit;
770
+    $total_credit = $old_host->total_credit + $new_host->total_credit;
771
+    $recent_credit = $old_host->expavg_credit + $new_host->expavg_credit;
772 772
 
773
-  if ($new_host->rpc_seqno == $old_host->id) {
773
+    if ($new_host->rpc_seqno == $old_host->id) {
774 774
     rules_invoke_event('boincwork_circular_merge_error', $old_host->id, $new_host->id, variable_get('boinc_admin_mailing_list_subject_tag', ''));
775 775
     watchdog('boincwork',
776
-      'Circular merge attempted, target host rpc_seqno is equal to old host\'s id: old host id=%old_host, target host id=%new_host',
777
-      array(
776
+        'Circular merge attempted, target host rpc_seqno is equal to old host\'s id: old host id=%old_host, target host id=%new_host',
777
+        array(
778 778
         '%old_host' => $old_host->id,
779 779
         '%new_host' => $new_host->id,
780
-      ),
781
-      WATCHDOG_WARNING
780
+        ),
781
+        WATCHDOG_WARNING
782 782
     );
783 783
     $message = 'Could not merge due to a circular merge error. The site administrators have been contacted about this issue, and will investigate further.';
784 784
     return FALSE;
785
-  }
785
+    }
786 786
 
787
-  if ($new_host->userid==0) {
787
+    if ($new_host->userid==0) {
788 788
     rules_invoke_event('boincwork_zombie_merge_error', $old_host->id, $new_host->id, variable_get('boinc_admin_mailing_list_subject_tag', ''));
789 789
     watchdog('boincwork',
790
-      'Zombie merge attempted, target host has userid=0: old host id=%old_host, target host id=%new_host',
791
-      array(
790
+        'Zombie merge attempted, target host has userid=0: old host id=%old_host, target host id=%new_host',
791
+        array(
792 792
         '%old_host' => $old_host->id,
793 793
         '%new_host' => $new_host->id,
794
-      ),
795
-      WATCHDOG_WARNING
794
+        ),
795
+        WATCHDOG_WARNING
796 796
     );
797 797
     $message = 'Could not merge because the target host has userid=0. The site administrators have been contacted about this issue, and will investigate further.';
798 798
     return FALSE;
799
-  }
799
+    }
800 800
 
801
-  // Move credit from the old host to the new host
802
-  db_set_active('boinc_rw');
803
-  $credit_updated = db_query("
801
+    // Move credit from the old host to the new host
802
+    db_set_active('boinc_rw');
803
+    $credit_updated = db_query("
804 804
     UPDATE {host}
805 805
     SET
806 806
       total_credit = '%d',
@@ -808,34 +808,34 @@  discard block
 block discarded – undo
808 808
       expavg_time = '%d'
809 809
     WHERE id = '%d'",
810 810
     $total_credit, $recent_credit, $now, $new_host->id
811
-  );
812
-  db_set_active('default');
813
-  if (!$credit_updated) {
811
+    );
812
+    db_set_active('default');
813
+    if (!$credit_updated) {
814 814
     if ($message !== NULL) {
815
-      $message = bts('Could not update credit', array(), NULL, 'boinc:account-host-merge');
815
+        $message = bts('Could not update credit', array(), NULL, 'boinc:account-host-merge');
816 816
     }
817 817
     return FALSE;
818
-  }
818
+    }
819 819
 
820
-  // Move results from the old host to the new host
821
-  db_set_active('boinc_rw');
822
-  $results_updated = db_query("
820
+    // Move results from the old host to the new host
821
+    db_set_active('boinc_rw');
822
+    $results_updated = db_query("
823 823
     UPDATE {result}
824 824
     SET hostid = '%d'
825 825
     WHERE hostid = '%d'",
826 826
     $new_host->id, $old_host->id
827
-  );
828
-  db_set_active('default');
829
-  if (!$results_updated) {
827
+    );
828
+    db_set_active('default');
829
+    if (!$results_updated) {
830 830
     if ($message !== NULL) {
831
-      $message = bts('Could not update results', array(), NULL, 'boinc:account-host-merge');
831
+        $message = bts('Could not update results', array(), NULL, 'boinc:account-host-merge');
832 832
     }
833 833
     return FALSE;
834
-  }
834
+    }
835 835
 
836
-  // Retire the old host
837
-  db_set_active('boinc_rw');
838
-  $old_host_retired = db_query("
836
+    // Retire the old host
837
+    db_set_active('boinc_rw');
838
+    $old_host_retired = db_query("
839 839
     UPDATE {host}
840 840
     SET
841 841
       total_credit = '0',
@@ -844,16 +844,16 @@  discard block
 block discarded – undo
844 844
       rpc_seqno = '%d'
845 845
     WHERE id = '%d'",
846 846
     $new_host->id, $old_host->id
847
-  );
848
-  db_set_active('default');
849
-  if (!$old_host_retired) {
847
+    );
848
+    db_set_active('default');
849
+    if (!$old_host_retired) {
850 850
     if ($message !== NULL) {
851
-      $message = bts('Could not retire old computer', array(), NULL, 'boinc:account-host-merge');
851
+        $message = bts('Could not retire old computer', array(), NULL, 'boinc:account-host-merge');
852 852
     }
853 853
     return FALSE;
854
-  }
854
+    }
855 855
 
856
-  return TRUE;
856
+    return TRUE;
857 857
 }
858 858
 
859 859
 /**
@@ -861,75 +861,75 @@  discard block
 block discarded – undo
861 861
  */
862 862
 function boincwork_host_merge_form(&$form_state, $host_id) {
863 863
 
864
-  if (!boincwork_host_user_is_owner($host_id)) {
864
+    if (!boincwork_host_user_is_owner($host_id)) {
865 865
     drupal_goto("host/{$host_id}");
866
-  }
866
+    }
867 867
 
868
-  $form = array();
869
-  $form_state['storage']['current_host_id'] = $host_id;
870
-  $current_host = boincwork_host_get_info($host_id);
868
+    $form = array();
869
+    $form_state['storage']['current_host_id'] = $host_id;
870
+    $current_host = boincwork_host_get_info($host_id);
871 871
 
872
-  // Get hosts that could be merged with this one
873
-  $hosts = boincwork_host_get_compatible_hosts($host_id);
872
+    // Get hosts that could be merged with this one
873
+    $hosts = boincwork_host_get_compatible_hosts($host_id);
874 874
 
875
-  if (!$hosts) {
875
+    if (!$hosts) {
876 876
     drupal_set_message(t('There are no computers eligible for merging with this
877 877
       one'), 'warning'
878 878
     );
879 879
     drupal_goto("host/{$host_id}");
880
-  }
880
+    }
881 881
 
882
-  $form['overview'] = array(
882
+    $form['overview'] = array(
883 883
     '#value' => '<p>' . bts('Sometimes BOINC assigns separate identities to'
884
-      . ' the same computer by mistake. You can correct this by merging old'
885
-      . ' identities with the newest one.', array(), NULL, 'boinc:account-host-merge') . '</p>'
886
-      . '<p>'
887
-      . bts('Check the computers that are the same as @name'
888
-      . ' (created on @date at @time with computer ID @id)',
884
+        . ' the same computer by mistake. You can correct this by merging old'
885
+        . ' identities with the newest one.', array(), NULL, 'boinc:account-host-merge') . '</p>'
886
+        . '<p>'
887
+        . bts('Check the computers that are the same as @name'
888
+        . ' (created on @date at @time with computer ID @id)',
889 889
         array(
890
-          '@name' => $current_host->domain_name,
891
-          '@date' => date('j M Y', $current_host->create_time),
892
-          '@time' => date('G:i:s T', $current_host->create_time),
893
-          '@id' => $current_host->id,
890
+            '@name' => $current_host->domain_name,
891
+            '@date' => date('j M Y', $current_host->create_time),
892
+            '@time' => date('G:i:s T', $current_host->create_time),
893
+            '@id' => $current_host->id,
894 894
         ),
895 895
         NULL, 'boinc:account-host-merge') . '</p>',
896
-  );
896
+    );
897 897
 
898
-  $options = array();
899
-  foreach ($hosts as $host) {
898
+    $options = array();
899
+    foreach ($hosts as $host) {
900 900
     $options[$host->id] = array(
901
-      $host->domain_name,
902
-      date('j M Y G:i:s T', $host->create_time),
903
-      $host->id,
901
+        $host->domain_name,
902
+        date('j M Y G:i:s T', $host->create_time),
903
+        $host->id,
904 904
     );
905
-  }
905
+    }
906 906
 
907
-  $form['merge'] = array(
907
+    $form['merge'] = array(
908 908
     '#title' => '',
909 909
     '#type' => 'tableselect',
910 910
     '#header' => array(bts('Name', array(), NULL, 'boinc:details:-1:name-of-the-host-or-task-or-workunit-etc-being-viewed-ignoreoverwrite'), bts('Created', array(), NULL, 'boinc:host-details'), bts('Computer ID', array(), NULL, 'boinc:host-list')),
911 911
     '#options' => $options,
912
-  );
912
+    );
913 913
 
914
-  $form['prefs']['separator_bottom'] = array(
915
-  //  '#value' => '<div class="separator buttons"></div>'
916
-  );
914
+    $form['prefs']['separator_bottom'] = array(
915
+    //  '#value' => '<div class="separator buttons"></div>'
916
+    );
917 917
 
918
-  // Form control
919
-  $form['prefs']['form control tabs prefix'] = array(
918
+    // Form control
919
+    $form['prefs']['form control tabs prefix'] = array(
920 920
     '#value' => '<ul class="form-control tab-list">'
921
-  );
922
-  $form['prefs']['submit'] = array(
921
+    );
922
+    $form['prefs']['submit'] = array(
923 923
     '#prefix' => '<li class="first tab">',
924 924
     '#type' => 'submit',
925 925
     '#value' => bts('Merge', array(), NULL, 'boinc:form-merge'),
926 926
     '#suffix' => '</li>'
927
-  );
928
-  $form['prefs']['form control tabs'] = array(
927
+    );
928
+    $form['prefs']['form control tabs'] = array(
929 929
     '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), "host/{$host_id}") . '</li>'
930
-  );
930
+    );
931 931
 
932
-  return $form;
932
+    return $form;
933 933
 }
934 934
 
935 935
 /**
@@ -942,76 +942,76 @@  discard block
 block discarded – undo
942 942
  * Handle submission of the merge host form
943 943
  */
944 944
 function boincwork_host_merge_form_submit($form, &$form_state) {
945
-  $merged = array();
946
-  $errors = array();
947
-  $current_host_id = $form_state['storage']['current_host_id'];
948
-  $current_host = boincwork_host_get_info($current_host_id);
949
-  $selected_hosts = array_filter($form_state['values']['merge']);
945
+    $merged = array();
946
+    $errors = array();
947
+    $current_host_id = $form_state['storage']['current_host_id'];
948
+    $current_host = boincwork_host_get_info($current_host_id);
949
+    $selected_hosts = array_filter($form_state['values']['merge']);
950 950
 
951
-  foreach ($selected_hosts as $host_id) {
951
+    foreach ($selected_hosts as $host_id) {
952 952
     // Attempt to merge each host, noting the results
953 953
     $message = '';
954 954
     $old_host = boincwork_host_get_info($host_id);
955 955
     if (boincwork_host_merge($old_host, $current_host, $message)) {
956
-      $merged[$old_host->id] = $old_host->id;
957
-      $current_host = boincwork_host_get_info($current_host_id);
956
+        $merged[$old_host->id] = $old_host->id;
957
+        $current_host = boincwork_host_get_info($current_host_id);
958 958
     }
959 959
     else {
960
-      $errors[$old_host->id] = $message;
960
+        $errors[$old_host->id] = $message;
961
+    }
961 962
     }
962
-  }
963 963
 
964
-  if ($merged) {
964
+    if ($merged) {
965 965
     // Generate a natural language list of IDs that were merged
966 966
     $oxford_comma = ',';
967 967
     $conjunction = bts('and', array(), NULL, 'boinc:account-preference');
968 968
     $list = array_keys($merged);
969 969
     $last = array_pop($list);
970 970
     if ($list) {
971
-      if (count($merged) == 2) {
971
+        if (count($merged) == 2) {
972 972
         $oxford_comma = '';
973
-      }
974
-      $list = implode(', ', $list) . $oxford_comma . ' ' . $conjunction . ' ' . $last;
973
+        }
974
+        $list = implode(', ', $list) . $oxford_comma . ' ' . $conjunction . ' ' . $last;
975 975
     }
976 976
     else {
977
-      $list = $last;
977
+        $list = $last;
978 978
     }
979 979
     if (count($merged) == 1) {
980
-      drupal_set_message(bts(
980
+        drupal_set_message(bts(
981 981
         'Computer @old_id has been merged successfully into @id.',
982 982
         array(
983
-          '@old_id' => $list,
984
-          '@id' => $current_host_id
983
+            '@old_id' => $list,
984
+            '@id' => $current_host_id
985 985
         ),
986 986
         NULL, 'boinc:account-host-merge'));
987 987
     }
988 988
     else {
989
-      drupal_set_message(bts(
989
+        drupal_set_message(bts(
990 990
         'Computers @old_ids have been merged successfully into @id.',
991 991
         array(
992
-          '@old_ids' => $list,
993
-          '@id' => $current_host_id
992
+            '@old_ids' => $list,
993
+            '@id' => $current_host_id
994 994
         ),
995 995
         NULL, 'boinc:account-host-merge'));
996 996
     }
997
-  }
997
+    }
998 998
 
999
-  if ($errors) {
999
+    if ($errors) {
1000 1000
     // Report any hosts that failed to merge
1001 1001
     foreach ($errors as $id => $error) {
1002
-      drupal_set_message(
1002
+        drupal_set_message(
1003 1003
         bts('Computer @old_id failed to merge: @message',
1004
-          array(
1004
+            array(
1005 1005
             '@old_id' => $id,
1006 1006
             '@message' => $error,
1007
-          ),
1008
-          NULL, 'boinc:account-host-merge'),
1007
+            ),
1008
+            NULL, 'boinc:account-host-merge'),
1009 1009
         'warning'
1010
-      );
1010
+        );
1011
+    }
1011 1012
     }
1012
-  }
1013 1013
 
1014
-  drupal_goto("host/{$current_host_id}");
1014
+    drupal_goto("host/{$current_host_id}");
1015 1015
 }
1016 1016
 
1017 1017
 /*  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *
@@ -1023,44 +1023,44 @@  discard block
 block discarded – undo
1023 1023
  */
1024 1024
 function boincwork_projectprefs_form(&$form_state, $venue) {
1025 1025
 
1026
-  global $user;
1027
-  $account = user_load($user->uid);
1026
+    global $user;
1027
+    $account = user_load($user->uid);
1028 1028
 
1029
-  $established = TRUE;
1029
+    $established = TRUE;
1030 1030
 
1031
-  // Get availability of special BOINC preferences
1032
-  require_boinc(array('util'));
1033
-  $app_types = get_app_types();
1031
+    // Get availability of special BOINC preferences
1032
+    require_boinc(array('util'));
1033
+    $app_types = get_app_types();
1034 1034
 
1035
-  // Load any existing preferences from BOINC account
1036
-  $prefs = boincwork_load_prefs('project', $venue);
1035
+    // Load any existing preferences from BOINC account
1036
+    $prefs = boincwork_load_prefs('project', $venue);
1037 1037
 
1038
-  // Take note if this is not an established preference set on the account
1039
-  if (isset($prefs['@attributes']['cleared'])) {
1038
+    // Take note if this is not an established preference set on the account
1039
+    if (isset($prefs['@attributes']['cleared'])) {
1040 1040
     $established = FALSE;
1041
-  }
1041
+    }
1042 1042
 
1043
-  // Extract modified tag if present
1044
-  $modified = NULL;
1045
-  if (isset($prefs['modified']['@value'])) {
1043
+    // Extract modified tag if present
1044
+    $modified = NULL;
1045
+    if (isset($prefs['modified']['@value'])) {
1046 1046
     $modified = $prefs['modified']['@value'];
1047
-  }
1047
+    }
1048 1048
 
1049
-  $venue_is_default = FALSE;
1050
-  if ($account->boincuser_default_pref_set) {
1049
+    $venue_is_default = FALSE;
1050
+    if ($account->boincuser_default_pref_set) {
1051 1051
     if ($account->boincuser_default_pref_set == $venue) {
1052
-      $venue_is_default = TRUE;
1052
+        $venue_is_default = TRUE;
1053 1053
     }
1054
-  }
1055
-  elseif (!$venue OR $venue == 'generic') {
1054
+    }
1055
+    elseif (!$venue OR $venue == 'generic') {
1056 1056
     $venue_is_default = TRUE;
1057
-  }
1058
-  else {
1057
+    }
1058
+    else {
1059 1059
     $venue_is_default = FALSE;
1060
-  }
1060
+    }
1061 1061
 
1062
-  // Define form defaults
1063
-  $default = array(
1062
+    // Define form defaults
1063
+    $default = array(
1064 1064
     'resource_share' => 100,
1065 1065
     'no_cpu' => 0,
1066 1066
     'no_cuda' => 0,
@@ -1069,344 +1069,344 @@  discard block
 block discarded – undo
1069 1069
     'no_apple_gpu' => 0,
1070 1070
     'default_venue' => $venue_is_default,
1071 1071
     'allow_beta_work' => $prefs['allow_beta_work'],
1072
-  );
1073
-  foreach ($default as $name => $value) {
1072
+    );
1073
+    foreach ($default as $name => $value) {
1074 1074
     if (isset($prefs[$name])) {
1075
-      if (is_array($prefs[$name])) {
1075
+        if (is_array($prefs[$name])) {
1076 1076
         if (isset($prefs[$name]['@value'])) {
1077
-          $default[$name] = $prefs[$name]['@value'];
1077
+            $default[$name] = $prefs[$name]['@value'];
1078
+        }
1078 1079
         }
1079
-      }
1080
-      else {
1080
+        else {
1081 1081
         $default[$name] = $prefs[$name];
1082
-      }
1082
+        }
1083
+    }
1083 1084
     }
1084
-  }
1085 1085
 
1086
-  // Standard option sets
1087
-  $form['boolean_options'] = array(
1086
+    // Standard option sets
1087
+    $form['boolean_options'] = array(
1088 1088
     '#type' => 'value',
1089 1089
     '#value' => 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'))
1090
-  );
1090
+    );
1091 1091
 
1092
-  // Identify preference sets that are established to distinguish what has been
1093
-  // saved to the database from what is just showing default values
1094
-  $form['#established'] = $established;
1092
+    // Identify preference sets that are established to distinguish what has been
1093
+    // saved to the database from what is just showing default values
1094
+    $form['#established'] = $established;
1095 1095
 
1096
-  // Top level form options
1097
-  $form['#tree'] = TRUE;
1096
+    // Top level form options
1097
+    $form['#tree'] = TRUE;
1098 1098
 
1099
-  // Hidden elements
1100
-  $form['modified'] = array(
1099
+    // Hidden elements
1100
+    $form['modified'] = array(
1101 1101
     '#type' => 'hidden',
1102 1102
     '#value' => $modified,
1103
-  );
1104
-  $form['venue'] = array(
1103
+    );
1104
+    $form['venue'] = array(
1105 1105
     '#type' => 'hidden',
1106 1106
     '#value' => $venue,
1107
-  );
1107
+    );
1108 1108
 
1109
-  $form['separator_top'] = array(
1109
+    $form['separator_top'] = array(
1110 1110
     '#value' => '<div class="separator"></div>'
1111
-  );
1111
+    );
1112 1112
 
1113
-  // Common project preferences
1114
-  $form['resource'] = array(
1113
+    // Common project preferences
1114
+    $form['resource'] = array(
1115 1115
     '#title' => bts('Resource settings', array(), NULL, 'boinc:account-preferences-project'),
1116 1116
     '#type' => 'fieldset',
1117 1117
     '#description' => null,
1118 1118
     '#collapsible' => TRUE,
1119 1119
     '#collapsed' => FALSE
1120
-  );
1121
-  $form['resource']['resource_share'] = array(
1120
+    );
1121
+    $form['resource']['resource_share'] = array(
1122 1122
     '#title' => bts('Resource share', array(), NULL, 'boinc:account-preferences-project'),
1123 1123
     '#type' => 'textfield',
1124 1124
     '#default_value' => $default['resource_share'],
1125 1125
     '#size' => 5,
1126 1126
     '#description' => bts("Determines the proportion of your computer's resources allocated to this project. Example: if you participate in two BOINC projects with resource shares of 100 and 200, the first will get 1/3 of your resources and the second will get 2/3.", array(), NULL, 'boinc:account-preferences-project')
1127
-  );
1128
-  if ($app_types->count > 1) {
1127
+    );
1128
+    if ($app_types->count > 1) {
1129 1129
     if ($app_types->cpu) {
1130
-      $form['resource']['no_cpu'] = array(
1130
+        $form['resource']['no_cpu'] = array(
1131 1131
         '#title' => bts('Use CPU', array(), NULL, 'boinc:account-preferences-project'),
1132 1132
         '#type' => 'radios',
1133 1133
         '#options' => $form['boolean_options']['#value'],
1134 1134
         '#attributes' => array('class' => 'fancy'),
1135 1135
         '#default_value' => $default['no_cpu'] ? 0 : 1,
1136 1136
         '#description' => bts('Request CPU-only tasks from this project.', array(), NULL, 'boinc:account-preferences-project')
1137
-      );
1137
+        );
1138 1138
     }
1139 1139
     if ($app_types->cuda) {
1140
-      $form['resource']['no_cuda'] = array(
1140
+        $form['resource']['no_cuda'] = array(
1141 1141
         '#title' => bts('Use NVIDIA GPU', array(), NULL, 'boinc:account-preferences-project'),
1142 1142
         '#type' => 'radios',
1143 1143
         '#options' => $form['boolean_options']['#value'],
1144 1144
         '#attributes' => array('class' => 'fancy'),
1145 1145
         '#default_value' => $default['no_cuda'] ? 0 : 1,
1146 1146
         '#description' => bts('Request NVIDIA GPU tasks from this project.', array(), NULL, 'boinc:account-preferences-project')
1147
-      );
1147
+        );
1148 1148
     }
1149 1149
     if ($app_types->ati) {
1150
-      $form['resource']['no_ati'] = array(
1150
+        $form['resource']['no_ati'] = array(
1151 1151
         '#title' => bts('Use AMD GPU', array(), NULL, 'boinc:account-preferences-project'),
1152 1152
         '#type' => 'radios',
1153 1153
         '#options' => $form['boolean_options']['#value'],
1154 1154
         '#attributes' => array('class' => 'fancy'),
1155 1155
         '#default_value' => $default['no_ati'] ? 0 : 1,
1156 1156
         '#description' => bts('Request AMD GPU tasks from this project.', array(), NULL, 'boinc:account-preferences-project')
1157
-      );
1157
+        );
1158 1158
     }
1159 1159
     if ($app_types->intel_gpu) {
1160
-      $form['resource']['no_intel_gpu'] = array(
1160
+        $form['resource']['no_intel_gpu'] = array(
1161 1161
         '#title' => bts('Use INTEL GPU', array(), NULL, 'boinc:account-preferences-project'),
1162 1162
         '#type' => 'radios',
1163 1163
         '#options' => $form['boolean_options']['#value'],
1164 1164
         '#attributes' => array('class' => 'fancy'),
1165 1165
         '#default_value' => $default['no_intel_gpu'] ? 0 : 1,
1166 1166
         '#description' => bts('Request Intel GPU tasks from this project.', array(), NULL, 'boinc:account-preferences-project')
1167
-      );
1167
+        );
1168 1168
     }
1169 1169
     if ($app_types->apple_gpu) {
1170
-      $form['resource']['no_apple_gpu'] = array(
1170
+        $form['resource']['no_apple_gpu'] = array(
1171 1171
         '#title' => bts('Use Apple GPU', array(), NULL, 'boinc:account-preferences-project'),
1172 1172
         '#type' => 'radios',
1173 1173
         '#options' => $form['boolean_options']['#value'],
1174 1174
         '#attributes' => array('class' => 'fancy'),
1175 1175
         '#default_value' => $default['no_apple_gpu'] ? 0 : 1,
1176 1176
         '#description' => bts('Request Apple GPU tasks from this project.', array(), NULL, 'boinc:account-preferences-project')
1177
-      );
1177
+        );
1178
+    }
1178 1179
     }
1179
-  }
1180 1180
 
1181
-  if (variable_get('boinc_prefs_options_beta', FALSE)) {
1181
+    if (variable_get('boinc_prefs_options_beta', FALSE)) {
1182 1182
     $form['beta'] = array(
1183
-      '#title' => bts('Beta settings', array(), NULL, 'boinc:account-preferences-project'),
1184
-      '#type' => 'fieldset',
1185
-      '#description' => null,
1186
-      '#collapsible' => TRUE,
1187
-      '#collapsed' => FALSE
1183
+        '#title' => bts('Beta settings', array(), NULL, 'boinc:account-preferences-project'),
1184
+        '#type' => 'fieldset',
1185
+        '#description' => null,
1186
+        '#collapsible' => TRUE,
1187
+        '#collapsed' => FALSE
1188 1188
     );
1189 1189
     $form['beta']['allow_beta_work'] = array(
1190
-      '#title' => bts('Run test applications?', array(), NULL, 'boinc:account-preferences-project'),
1191
-      '#type' => 'radios',
1192
-      '#options' => $form['boolean_options']['#value'],
1193
-      '#attributes' => array('class' => 'fancy'),
1194
-      '#default_value' => ($default['allow_beta_work']) ? 1 : 0,
1195
-      '#description' => bts('This helps us develop applications, but may cause jobs to fail on your computer', array(), NULL, 'boinc:account-preferences-project')
1190
+        '#title' => bts('Run test applications?', array(), NULL, 'boinc:account-preferences-project'),
1191
+        '#type' => 'radios',
1192
+        '#options' => $form['boolean_options']['#value'],
1193
+        '#attributes' => array('class' => 'fancy'),
1194
+        '#default_value' => ($default['allow_beta_work']) ? 1 : 0,
1195
+        '#description' => bts('This helps us develop applications, but may cause jobs to fail on your computer', array(), NULL, 'boinc:account-preferences-project')
1196 1196
     );
1197
-  }
1197
+    }
1198 1198
 
1199
-  // Add project specific prefs to the form
1200
-  boincwork_add_project_specific_prefs($form, $prefs);
1199
+    // Add project specific prefs to the form
1200
+    boincwork_add_project_specific_prefs($form, $prefs);
1201 1201
 
1202
-  // Set whether to use this preference set by default for new computers
1203
-  $form['default_set'] = array(
1202
+    // Set whether to use this preference set by default for new computers
1203
+    $form['default_set'] = array(
1204 1204
     '#title' => bts('Default set', array(), NULL, 'boinc:account-preferences-project'),
1205 1205
     '#type' => 'fieldset',
1206 1206
     '#description' => null,
1207 1207
     '#collapsible' => TRUE,
1208 1208
     '#collapsed' => FALSE
1209
-  );
1210
-  $form['default_set']['default_venue'] = array(
1209
+    );
1210
+    $form['default_set']['default_venue'] = array(
1211 1211
     '#title' => bts('Set used for new computers', array(), NULL, 'boinc:account-preferences-project'),
1212 1212
     '#type' => 'radios',
1213 1213
     '#options' => $form['boolean_options']['#value'],
1214 1214
     '#attributes' => array('class' => 'fancy'),
1215 1215
     '#default_value' => $default['default_venue'] ? 1 : 0,
1216 1216
     '#description' => ''
1217
-  );
1217
+    );
1218 1218
 
1219
-  $form['prefs']['separator_bottom'] = array(
1219
+    $form['prefs']['separator_bottom'] = array(
1220 1220
     '#value' => '<div class="separator buttons"></div>'
1221
-  );
1221
+    );
1222 1222
 
1223
-  // Form control
1224
-  $form['prefs']['form control tabs prefix'] = array(
1223
+    // Form control
1224
+    $form['prefs']['form control tabs prefix'] = array(
1225 1225
     '#value' => '<ul class="form-control tab-list">'
1226
-  );
1227
-  $form['prefs']['submit'] = array(
1226
+    );
1227
+    $form['prefs']['submit'] = array(
1228 1228
     '#prefix' => '<li class="first tab">',
1229 1229
     '#type' => 'submit',
1230 1230
     '#value' => bts('Save changes', array(), NULL, 'boinc:form-save'),
1231 1231
     '#suffix' => '</li>'
1232
-  );
1233
-  $form['prefs']['form control tabs'] = array(
1232
+    );
1233
+    $form['prefs']['form control tabs'] = array(
1234 1234
     '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), $_GET['q']) . '</li>'
1235
-  );
1236
-  if ($venue AND $venue != 'generic') {
1235
+    );
1236
+    if ($venue AND $venue != 'generic') {
1237 1237
     global $base_path;
1238 1238
     $form['prefs']['form control tabs']['#value'] .= '<li class="tab">' .
1239
-      l(bts('Clear', array(), NULL, 'boinc:form-clear'), "account/prefs/project/clear/{$venue}",
1239
+        l(bts('Clear', array(), NULL, 'boinc:form-clear'), "account/prefs/project/clear/{$venue}",
1240 1240
         array(
1241
-          'query' => 'destination=' . urlencode(drupal_get_path_alias('account/prefs/project/combined')),
1242
-          'attributes' => array(
1241
+            'query' => 'destination=' . urlencode(drupal_get_path_alias('account/prefs/project/combined')),
1242
+            'attributes' => array(
1243 1243
             'onclick' => 'return confirm(\'' . bts('This will remove all of your settings from the @name preference set. Are you sure?',
1244
-              array('@name' => $venue), NULL, 'boinc:account-preferences') . '\')'
1245
-          )
1244
+                array('@name' => $venue), NULL, 'boinc:account-preferences') . '\')'
1245
+            )
1246 1246
         )
1247
-      ) . '</li>';
1248
-  }
1249
-  $form['prefs']['view control'] = array(
1250
-      '#value' => '<li class="first alt tab">' . l('(' . bts('Show comparison view', array(), NULL, 'boinc:account-preferences') . ')', 'account/prefs/project/combined') . '</li>'
1251
-  );
1252
-  $form['prefs']['form control tabs suffix'] = array(
1247
+        ) . '</li>';
1248
+    }
1249
+    $form['prefs']['view control'] = array(
1250
+        '#value' => '<li class="first alt tab">' . l('(' . bts('Show comparison view', array(), NULL, 'boinc:account-preferences') . ')', 'account/prefs/project/combined') . '</li>'
1251
+    );
1252
+    $form['prefs']['form control tabs suffix'] = array(
1253 1253
     '#value' => '</ul>'
1254
-  );
1254
+    );
1255 1255
 
1256
-  return $form;
1256
+    return $form;
1257 1257
 }
1258 1258
 
1259 1259
 /**
1260 1260
  * Add project specific preferences to the project preferences form
1261 1261
  */
1262 1262
 function boincwork_add_project_specific_prefs(&$form, $prefs) {
1263
-  // Load project specific preferences from XML config
1264
-  $xml = boincwork_get_project_specific_config();
1263
+    // Load project specific preferences from XML config
1264
+    $xml = boincwork_get_project_specific_config();
1265 1265
 
1266
-  // Respect the order of the top level elements
1267
-  $ordered_array = array();
1268
-  $unordered_array = array();
1269
-  foreach ($xml['project_specific_preferences'] as $type => $element) {
1266
+    // Respect the order of the top level elements
1267
+    $ordered_array = array();
1268
+    $unordered_array = array();
1269
+    foreach ($xml['project_specific_preferences'] as $type => $element) {
1270 1270
     if (is_array($element) AND is_numeric(key($element))) {
1271
-      foreach ($element as $ordered_element) {
1271
+        foreach ($element as $ordered_element) {
1272 1272
         if (isset($ordered_element['@position'])) {
1273
-          $ordered_array[$ordered_element['@position']] = array($type => $ordered_element);
1273
+            $ordered_array[$ordered_element['@position']] = array($type => $ordered_element);
1274 1274
         }
1275 1275
         else {
1276
-          $unordered_array[] = array($type => $ordered_element);
1276
+            $unordered_array[] = array($type => $ordered_element);
1277
+        }
1277 1278
         }
1278
-      }
1279 1279
     }
1280 1280
     elseif (isset($element['@position'])) {
1281
-      $ordered_array[$element['@position']] = array($type => $element);
1281
+        $ordered_array[$element['@position']] = array($type => $element);
1282 1282
     }
1283 1283
     else {
1284
-      $unordered_array[] = array($type => $element);
1284
+        $unordered_array[] = array($type => $element);
1285 1285
     }
1286
-  }
1287
-  ksort($ordered_array);
1288
-  $primed_array = array_merge($ordered_array, $unordered_array);
1289
-  $xml = array('project_specific_preferences' => $primed_array);
1286
+    }
1287
+    ksort($ordered_array);
1288
+    $primed_array = array_merge($ordered_array, $unordered_array);
1289
+    $xml = array('project_specific_preferences' => $primed_array);
1290 1290
 
1291
-  foreach ($xml['project_specific_preferences'] as $wrapped_element) {
1291
+    foreach ($xml['project_specific_preferences'] as $wrapped_element) {
1292 1292
     $type = key($wrapped_element);
1293 1293
     $element= reset($wrapped_element);
1294 1294
     boincwork_generate_prefs_element($form, $type, $element, $prefs['project_specific']);
1295
-  }
1295
+    }
1296 1296
 }
1297 1297
 
1298 1298
 /**
1299
-  * Validate the project preferences form.
1300
-  */
1299
+ * Validate the project preferences form.
1300
+ */
1301 1301
 function boincwork_projectprefs_form_validate($form, &$form_state) {
1302 1302
 
1303
-  // Verify all text user input values and notify form API of failures
1304
-  $validation_rules = array(
1303
+    // Verify all text user input values and notify form API of failures
1304
+    $validation_rules = array(
1305 1305
     'resource' => array(
1306
-      'resource_share' => array(
1306
+        'resource_share' => array(
1307 1307
         'datatype' => 'integer',
1308 1308
         'min' => 0
1309
-      ),
1309
+        ),
1310 1310
     ),
1311
-  );
1311
+    );
1312 1312
 
1313
-  // Add validation rules for project specific settings
1314
-  $validation_rules += boincwork_get_project_specific_config_validation_rules();
1313
+    // Add validation rules for project specific settings
1314
+    $validation_rules += boincwork_get_project_specific_config_validation_rules();
1315 1315
 
1316
-  // Perform validation
1317
-  boincwork_validate_form($validation_rules, $form_state['values']);
1316
+    // Perform validation
1317
+    boincwork_validate_form($validation_rules, $form_state['values']);
1318 1318
 
1319
-  // Check for app validation
1320
-  if (isset($validation_rules['apps'])) {
1319
+    // Check for app validation
1320
+    if (isset($validation_rules['apps'])) {
1321 1321
     if (isset($validation_rules['apps']['minimum selected'])
1322 1322
         AND $validation_rules['apps']['minimum selected'] > 0) {
1323
-      $apps_selected = 0;
1324
-      foreach ($validation_rules['apps']['list'] as $app) {
1323
+        $apps_selected = 0;
1324
+        foreach ($validation_rules['apps']['list'] as $app) {
1325 1325
         if ($form_state['values']['applications'][$app]) $apps_selected++;
1326
-      }
1327
-      if ($apps_selected < $validation_rules['apps']['minimum selected']) {
1326
+        }
1327
+        if ($apps_selected < $validation_rules['apps']['minimum selected']) {
1328 1328
         form_set_error(
1329
-          'applications',
1330
-          bts('At least one application must be selected', array(), NULL, 'boinc:account-preferences-project')
1329
+            'applications',
1330
+            bts('At least one application must be selected', array(), NULL, 'boinc:account-preferences-project')
1331 1331
         );
1332
-      }
1333
-      if ($apps_selected == count($validation_rules['apps']['list'])) {
1332
+        }
1333
+        if ($apps_selected == count($validation_rules['apps']['list'])) {
1334 1334
         foreach ($validation_rules['apps']['list'] as $app) {
1335
-          unset($form_state['values']['applications'][$app]);
1335
+            unset($form_state['values']['applications'][$app]);
1336 1336
         }
1337 1337
         $form_state['storage']['all apps selected'] = TRUE;
1338
-      }
1338
+        }
1339
+    }
1339 1340
     }
1340
-  }
1341 1341
 }
1342 1342
 
1343 1343
 /**
1344
-  * Handle post-validation submission of project preferences form.
1345
-  */
1344
+ * Handle post-validation submission of project preferences form.
1345
+ */
1346 1346
 function boincwork_projectprefs_form_submit($form, &$form_state) {
1347
-  global $user;
1348
-  global $site_name;
1347
+    global $user;
1348
+    global $site_name;
1349 1349
 
1350
-  require_boinc(array('util'));
1351
-  $app_types = get_app_types();
1350
+    require_boinc(array('util'));
1351
+    $app_types = get_app_types();
1352 1352
 
1353
-  $account = user_load($user->uid);
1354
-  $edit = $form_state['values'];
1355
-  $venue = $edit['venue'];
1353
+    $account = user_load($user->uid);
1354
+    $edit = $form_state['values'];
1355
+    $venue = $edit['venue'];
1356 1356
 
1357
-  // Load preferences from BOINC account
1358
-  $prefs = boincwork_load_prefs('project', $venue);
1357
+    // Load preferences from BOINC account
1358
+    $prefs = boincwork_load_prefs('project', $venue);
1359 1359
 
1360
-  // Resource preferences
1361
-  $prefs['resource_share'] = $edit['resource']['resource_share'];
1362
-  if ($app_types->count > 1) {
1360
+    // Resource preferences
1361
+    $prefs['resource_share'] = $edit['resource']['resource_share'];
1362
+    if ($app_types->count > 1) {
1363 1363
     if ($app_types->cpu) $prefs['no_cpu'] = ($edit['resource']['no_cpu']) ? 0 : 1;
1364 1364
     if ($app_types->cuda) $prefs['no_cuda'] = ($edit['resource']['no_cuda']) ? 0 : 1;
1365 1365
     if ($app_types->ati) $prefs['no_ati'] = ($edit['resource']['no_ati']) ? 0 : 1;
1366 1366
     if ($app_types->intel_gpu) $prefs['no_intel_gpu'] = ($edit['resource']['no_intel_gpu']) ? 0 : 1;
1367 1367
     if ($app_types->apple_gpu) $prefs['no_apple_gpu'] = ($edit['resource']['no_apple_gpu']) ? 0 : 1;
1368
-  }
1368
+    }
1369 1369
 
1370
-  // Beta preferences
1371
-  if (variable_get('boinc_prefs_options_beta', FALSE)) {
1370
+    // Beta preferences
1371
+    if (variable_get('boinc_prefs_options_beta', FALSE)) {
1372 1372
     $prefs['allow_beta_work'] = ($edit['beta']['allow_beta_work']) ? 1 : 0;
1373
-  }
1373
+    }
1374 1374
 
1375
-  // Load project specific preferences from XML config
1376
-  $xml = boincwork_get_project_specific_config();
1377
-  $updated_prefs = array(
1375
+    // Load project specific preferences from XML config
1376
+    $xml = boincwork_get_project_specific_config();
1377
+    $updated_prefs = array(
1378 1378
     'project_specific' => boincwork_format_project_specific_prefs_data($edit)
1379
-  );
1380
-  $prefs = $updated_prefs + $prefs;
1379
+    );
1380
+    $prefs = $updated_prefs + $prefs;
1381 1381
 
1382
-  // Don't specify apps if all are selected
1383
-  if (isset($form_state['storage']['all apps selected'])) {
1382
+    // Don't specify apps if all are selected
1383
+    if (isset($form_state['storage']['all apps selected'])) {
1384 1384
     unset($prefs['project_specific']['app_id']);
1385 1385
     unset($form_state['storage']['all apps selected']);
1386
-  }
1386
+    }
1387 1387
 
1388
-  // If this is a new preference set, be sure to unset the "cleared" attribute
1389
-  if (isset($prefs['@attributes']['cleared'])) {
1388
+    // If this is a new preference set, be sure to unset the "cleared" attribute
1389
+    if (isset($prefs['@attributes']['cleared'])) {
1390 1390
     unset($prefs['@attributes']['cleared']);
1391
-  }
1391
+    }
1392 1392
 
1393
-  // Save preferences back to the BOINC account
1394
-  $result = boincwork_save_prefs($prefs, 'project', $venue);
1393
+    // Save preferences back to the BOINC account
1394
+    $result = boincwork_save_prefs($prefs, 'project', $venue);
1395 1395
 
1396
-  // Update the user's default preference set
1397
-  if ($edit['default_set']['default_venue']) {
1396
+    // Update the user's default preference set
1397
+    if ($edit['default_set']['default_venue']) {
1398 1398
     boincwork_set_default_venue($venue);
1399
-  }
1400
-  elseif ($venue == $account->boincuser_default_pref_set) {
1399
+    }
1400
+    elseif ($venue == $account->boincuser_default_pref_set) {
1401 1401
     // User has cleared out the default venue setting
1402 1402
     boincwork_set_default_venue();
1403
-  }
1403
+    }
1404 1404
 
1405
-  if (!$result) {
1405
+    if (!$result) {
1406 1406
     watchdog('boincwork', 'Error updating project prefs for user @id: @message', array('@id' => $user->id, '@message' => mysqli_error()), WATCHDOG_ERROR);
1407 1407
     drupal_set_message(t('Your changes could not be saved. Please contact support!'), 'error');
1408
-  }
1409
-  elseif (!drupal_get_messages('status', FALSE)) {
1408
+    }
1409
+    elseif (!drupal_get_messages('status', FALSE)) {
1410 1410
     // Show this message if the set wasn't created automatically (in which case
1411 1411
     // there is a message tailored to that)
1412 1412
     drupal_set_message(t('Your preferences have been updated.
@@ -1414,53 +1414,53 @@  discard block
 block discarded – undo
1414 1414
         communicates with @project or you issue the "Update"
1415 1415
         command from the BOINC client.',
1416 1416
         array('@project' => $site_name)));
1417
-  }
1417
+    }
1418 1418
 }
1419 1419
 
1420 1420
 /**
1421 1421
  * The structure of the community preferences form
1422 1422
  */
1423 1423
 function communityprefs_form(&$form_state) {
1424
-  global $user;
1425
-  $account = user_load($user->uid);
1426
-  $form = array();
1427
-
1428
-  // Pull in some elements from the profile form
1429
-  $profile_form_state = array();
1430
-  $profile = new stdClass();
1431
-  $profile->type = 'profile';
1432
-  $profile->language = '';
1433
-  if ($profile_nid = content_profile_profile_exists($profile, $account->uid)) {
1424
+    global $user;
1425
+    $account = user_load($user->uid);
1426
+    $form = array();
1427
+
1428
+    // Pull in some elements from the profile form
1429
+    $profile_form_state = array();
1430
+    $profile = new stdClass();
1431
+    $profile->type = 'profile';
1432
+    $profile->language = '';
1433
+    if ($profile_nid = content_profile_profile_exists($profile, $account->uid)) {
1434 1434
     $profile_node = node_load($profile_nid);
1435 1435
     $form_state['storage']['profile_node'] = $profile_node;
1436 1436
     module_load_include('inc', 'node', 'node.pages');
1437 1437
     $profile_form = drupal_retrieve_form('profile_node_form', $profile_form_state, $profile_node);
1438 1438
     drupal_prepare_form('profile_node_form', $profile_form, $profile_form_state);
1439
-  }
1439
+    }
1440 1440
 
1441
-  // Standard option sets
1442
-  $form['boolean_options'] = array(
1441
+    // Standard option sets
1442
+    $form['boolean_options'] = array(
1443 1443
     '#type' => 'value',
1444 1444
     '#value' => 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'))
1445
-  );
1445
+    );
1446 1446
 
1447
-  $default = array(
1447
+    $default = array(
1448 1448
     'pm_send_notification' => '', // This is set already in pm_email_notify_user
1449 1449
     'friend_notification' => isset($account->friend_notification) ? $account->friend_notification : 0,
1450 1450
     'comments_per_page' => (isset($account->comments_per_page) AND $account->comments_per_page) ? $account->comments_per_page : variable_get('comment_default_per_page_forum', 50),
1451 1451
     'comments_order' => (isset($account->sort) AND $account->sort) ? $account->sort : variable_get('comment_default_order_forum', COMMENT_ORDER_OLDEST_FIRST),
1452
-  );
1452
+    );
1453 1453
 
1454
-  // General options
1455
-  $form['general'] = array(
1454
+    // General options
1455
+    $form['general'] = array(
1456 1456
     '#type' => 'fieldset',
1457 1457
     '#title' => bts('General settings', array(), NULL, 'boinc:account-preferences-community'),
1458 1458
     '#weight' => 0,
1459 1459
     '#collapsible' => TRUE,
1460 1460
     '#collapsed' => FALSE
1461
-  );
1462
-  // Add the BOINC user name (non-unique, user editable)
1463
-  $form['general']['boincuser_name'] = array(
1461
+    );
1462
+    // Add the BOINC user name (non-unique, user editable)
1463
+    $form['general']['boincuser_name'] = array(
1464 1464
     '#type' => 'textfield',
1465 1465
     '#title' => bts('Name', array(), NULL, 'boinc:user-or-team-name'),
1466 1466
     '#default_value' => $account->boincuser_name,
@@ -1468,252 +1468,252 @@  discard block
 block discarded – undo
1468 1468
     '#required' => TRUE,
1469 1469
     '#description' => '',
1470 1470
     '#size' => 40
1471
-  );
1472
-  // Time zone
1473
-  if (variable_get('configurable_timezones', 1)) {
1471
+    );
1472
+    // Time zone
1473
+    if (variable_get('configurable_timezones', 1)) {
1474 1474
     $zones = _system_zonelist();
1475 1475
     $form['general']['timezone'] = array(
1476
-      '#type' => 'select',
1477
-      '#title' => bts('Time zone', array(), NULL, 'boinc:account-preferences-community'),
1478
-      '#default_value' => ($account->timezone !== NULL) ? $account->timezone : variable_get('date_default_timezone', 0),
1479
-      '#options' => $zones,
1480
-      '#description' => '',
1476
+        '#type' => 'select',
1477
+        '#title' => bts('Time zone', array(), NULL, 'boinc:account-preferences-community'),
1478
+        '#default_value' => ($account->timezone !== NULL) ? $account->timezone : variable_get('date_default_timezone', 0),
1479
+        '#options' => $zones,
1480
+        '#description' => '',
1481 1481
     );
1482
-  }
1482
+    }
1483 1483
 
1484
-  // Notification options
1485
-  $form['notifications'] = array(
1484
+    // Notification options
1485
+    $form['notifications'] = array(
1486 1486
     '#type' => 'fieldset',
1487 1487
     '#title' => bts('Notification settings', array(), NULL, 'boinc:account-preferences-community'),
1488 1488
     '#weight' => 5,
1489 1489
     '#collapsible' => TRUE,
1490 1490
     '#collapsed' => FALSE
1491
-  );
1492
-  // Pull in private message notification handling and tweak the form
1493
-  $pm_notify = pm_email_notify_user('form', $edit, $account, 'account');
1494
-  $form['notifications']['pm_send_notifications'] = array_replace(
1491
+    );
1492
+    // Pull in private message notification handling and tweak the form
1493
+    $pm_notify = pm_email_notify_user('form', $edit, $account, 'account');
1494
+    $form['notifications']['pm_send_notifications'] = array_replace(
1495 1495
     $pm_notify['enable_pm_mail']['pm_send_notifications'],
1496 1496
     array(
1497
-      '#type' => 'radios',
1498
-      '#title' => bts('Receive email notification for private messages?', array(), NULL, 'boinc:account-preferences-community'),
1499
-      '#description' => ' ',
1500
-      '#options' => $form['boolean_options']['#value'],
1501
-      '#attributes' => array('class' => 'fancy')
1497
+        '#type' => 'radios',
1498
+        '#title' => bts('Receive email notification for private messages?', array(), NULL, 'boinc:account-preferences-community'),
1499
+        '#description' => ' ',
1500
+        '#options' => $form['boolean_options']['#value'],
1501
+        '#attributes' => array('class' => 'fancy')
1502 1502
     )
1503
-  );
1504
-  $form['notifications']['friend_notification'] = array(
1503
+    );
1504
+    $form['notifications']['friend_notification'] = array(
1505 1505
     '#type' => 'radios',
1506 1506
     '#title' => bts('Receive email notification for friend requests?', array(), NULL, 'boinc:account-preferences-community'),
1507 1507
     '#description' => ' ',
1508 1508
     '#options' => array(0 => bts('yes', array(), NULL, 'boinc:form-yes-no:-1:binary-form-option-pairs-with-no'), -1 => bts('no', array(), NULL, 'boinc:form-yes-no:-1:binary-form-option-pairs-with-yes')),
1509 1509
     '#attributes' => array('class' => 'fancy'),
1510 1510
     '#default_value' => $default['friend_notification']
1511
-  );
1511
+    );
1512 1512
 
1513
-  // Internationalization options
1514
-  if (module_exists('internationalization')) {
1513
+    // Internationalization options
1514
+    if (module_exists('internationalization')) {
1515 1515
     $languages = language_list('enabled');
1516 1516
     $languages = $languages[1];
1517 1517
     $names = array();
1518 1518
     foreach ($languages as $langcode => $item) {
1519
-      $name = t($item->name);
1520
-      $names[check_plain($langcode)] = check_plain($name . ($item->native != $name ? ' ('. $item->native .')' : ''));
1519
+        $name = t($item->name);
1520
+        $names[check_plain($langcode)] = check_plain($name . ($item->native != $name ? ' ('. $item->native .')' : ''));
1521 1521
     }
1522 1522
     $form['locale'] = array(
1523
-      '#type' => 'fieldset',
1524
-      '#title' => bts('Language settings', array(), NULL, 'boinc:account-preferences-community'),
1525
-      '#weight' => 10,
1526
-      '#collapsible' => TRUE,
1527
-      '#collapsed' => FALSE,
1523
+        '#type' => 'fieldset',
1524
+        '#title' => bts('Language settings', array(), NULL, 'boinc:account-preferences-community'),
1525
+        '#weight' => 10,
1526
+        '#collapsible' => TRUE,
1527
+        '#collapsed' => FALSE,
1528 1528
     );
1529 1529
 
1530 1530
     // Get language negotiation settings.
1531 1531
     $mode = variable_get('language_negotiation', LANGUAGE_NEGOTIATION_NONE);
1532 1532
     $user_preferred_language = user_preferred_language($account);
1533 1533
     $form['locale']['language'] = array(
1534
-      '#type' => 'select',
1535
-      '#title' => bts('Language', array(), NULL, 'boinc:account-preferences-community'),
1536
-      '#default_value' => check_plain($user_preferred_language->language),
1537
-      '#options' => $names,
1538
-      '#description' => ($mode == LANGUAGE_NEGOTIATION_PATH) ? bts("This account's default language for e-mails and preferred language for site presentation.", array(), NULL, 'boinc:account-preferences-community') : bts("This account's default language for e-mails.", array(), NULL, 'boinc:account-preferences-community'),
1534
+        '#type' => 'select',
1535
+        '#title' => bts('Language', array(), NULL, 'boinc:account-preferences-community'),
1536
+        '#default_value' => check_plain($user_preferred_language->language),
1537
+        '#options' => $names,
1538
+        '#description' => ($mode == LANGUAGE_NEGOTIATION_PATH) ? bts("This account's default language for e-mails and preferred language for site presentation.", array(), NULL, 'boinc:account-preferences-community') : bts("This account's default language for e-mails.", array(), NULL, 'boinc:account-preferences-community'),
1539 1539
     );
1540
-  }
1540
+    }
1541 1541
 
1542
-  // Avatar options
1543
-  $form['gravatar'] = array(
1542
+    // Avatar options
1543
+    $form['gravatar'] = array(
1544 1544
     '#type' => 'item',
1545 1545
     '#value' => bts('If you have a <a href="@gravatar-check">valid Gravatar</a> associated with your e-mail address, it will be used for your user picture.', array('@gravatar-check' => 'http://en.gravatar.com/site/check/' . $account->mail), NULL, 'boinc:account-preferences-community'),
1546 1546
     '#description' => bts('Your Gravatar will not be shown if you upload a user picture.', array(), NULL, 'boinc:account-preferences-community'),
1547
-  );
1548
-  if (user_access('disable own gravatar', $account)) {
1547
+    );
1548
+    if (user_access('disable own gravatar', $account)) {
1549 1549
     $form['gravatar'] = array(
1550
-      '#type' => 'checkbox',
1551
-      '#title' => bts('If you have a <a href="@gravatar-check">valid Gravatar</a> associated with your e-mail address, use it for your user picture.', array('@gravatar-check' => 'http://en.gravatar.com/site/check/' . $account->mail), NULL, 'boinc:account-preferences-community'),
1552
-      '#description' => bts('Gravatar will not be shown if an avatar is uploaded.', array(), NULL, 'boinc:account-preferences-community'),
1553
-      '#default_value' => isset($account->gravatar) ? $account->gravatar : 0,
1554
-      '#disabled' => !empty($account->picture),
1555
-    );
1556
-  }
1557
-  $form['gravatar']['#weight'] = 15;
1558
-  $form['gravatar']['#prefix'] = '<fieldset class="collapsible"><legend><a href="#">' . bts('Avatar settings', array(), NULL, 'boinc:account-preferences-community') . '</a></legend>';
1559
-  // Upload an avatar (pulled from profile_node_form):
1560
-  if (!empty($profile_form['field_image'])) {
1550
+        '#type' => 'checkbox',
1551
+        '#title' => bts('If you have a <a href="@gravatar-check">valid Gravatar</a> associated with your e-mail address, use it for your user picture.', array('@gravatar-check' => 'http://en.gravatar.com/site/check/' . $account->mail), NULL, 'boinc:account-preferences-community'),
1552
+        '#description' => bts('Gravatar will not be shown if an avatar is uploaded.', array(), NULL, 'boinc:account-preferences-community'),
1553
+        '#default_value' => isset($account->gravatar) ? $account->gravatar : 0,
1554
+        '#disabled' => !empty($account->picture),
1555
+    );
1556
+    }
1557
+    $form['gravatar']['#weight'] = 15;
1558
+    $form['gravatar']['#prefix'] = '<fieldset class="collapsible"><legend><a href="#">' . bts('Avatar settings', array(), NULL, 'boinc:account-preferences-community') . '</a></legend>';
1559
+    // Upload an avatar (pulled from profile_node_form):
1560
+    if (!empty($profile_form['field_image'])) {
1561 1561
     $form['field_image'] = $profile_form['field_image'];
1562
-  }
1563
-  else {
1562
+    }
1563
+    else {
1564 1564
     $form['field_image'] = array(
1565
-      '#value' => '<div class="form-item">'
1565
+        '#value' => '<div class="form-item">'
1566 1566
         . '<label class="placeholder">'
1567 1567
         . bts('This is not available until your profile is set up.', array(), NULL, 'boinc:account-preferences-community')
1568 1568
         . '</label>'
1569 1569
         . l(bts('Create a profile', array(), NULL, 'boinc:account-preferences-community'), 'account/profile/edit', array('attributes' => array('class' => 'form-link')))
1570 1570
         . '</div>',
1571 1571
     );
1572
-  }
1573
-  $form['field_image'][0]['#title'] = bts('Upload an avatar', array(), NULL, 'boinc:account-preferences-community');
1574
-  $form['field_image']['#weight'] = 20;
1575
-  $form['field_image']['#suffix'] = '</fieldset>';
1572
+    }
1573
+    $form['field_image'][0]['#title'] = bts('Upload an avatar', array(), NULL, 'boinc:account-preferences-community');
1574
+    $form['field_image']['#weight'] = 20;
1575
+    $form['field_image']['#suffix'] = '</fieldset>';
1576 1576
 
1577
-  // Forum options
1578
-  $form['forums'] = array(
1577
+    // Forum options
1578
+    $form['forums'] = array(
1579 1579
     '#type' => 'fieldset',
1580 1580
     '#title' => bts('Forum settings', array(), NULL, 'boinc:account-preferences-community'),
1581 1581
     '#weight' => 25,
1582 1582
     '#collapsible' => TRUE,
1583 1583
     '#collapsed' => FALSE
1584
-  );
1585
-  $form['forums']['comments_per_page'] = array(
1584
+    );
1585
+    $form['forums']['comments_per_page'] = array(
1586 1586
     '#type' => 'select',
1587 1587
     '#title' => bts('In discussion topics, show at most @comments_per_page', array('@comments_per_page' => ''), NULL, 'boinc:account-preferences-community'),
1588 1588
     '#options' => array(10 => 10, 20 => 20, 30 => 30, 50 => 50, 100 => 100),
1589 1589
     '#default_value' => $default['comments_per_page']
1590
-  );
1591
-  // Can't have a typical Drupal form suffix on a select box?
1592
-  $form['forums']['comments_per_page_suffix'] = array(
1590
+    );
1591
+    // Can't have a typical Drupal form suffix on a select box?
1592
+    $form['forums']['comments_per_page_suffix'] = array(
1593 1593
     '#value' => '<span>' . bts('comments per page', array(), NULL, 'boinc:account-preferences-community') . '</span>'
1594
-  );
1595
-  $form['forums']['comments_order'] = array(
1594
+    );
1595
+    $form['forums']['comments_order'] = array(
1596 1596
     '#type' => 'select',
1597 1597
     '#title' => bts('Sort comments in discussions', array(), NULL, 'boinc:account-preferences-community'),
1598 1598
     '#options' => array(1 => bts('Newest post first', array(), NULL, 'boinc:account-preferences-community'), 2 => bts('Oldest post first', array(), NULL, 'boinc:account-preferences-community')),
1599 1599
     '#default_value' => $default['comments_order']
1600
-  );
1601
-  // Signature (pulled from user_edit_form):
1602
-  if (variable_get('user_signatures', 0) && module_exists('comment')) {
1600
+    );
1601
+    // Signature (pulled from user_edit_form):
1602
+    if (variable_get('user_signatures', 0) && module_exists('comment')) {
1603 1603
     $form['forums']['signature'] = array(
1604
-      '#type' => 'textarea',
1605
-      '#title' => bts('Signature', array(), NULL, 'boinc:account-preferences-community'),
1606
-      '#description' => bts('Your signature will be publicly displayed at the end of your comments.', array(), NULL, 'boinc:account-preferences-community'),
1607
-      '#default_value' => $account->signature
1608
-      );
1604
+        '#type' => 'textarea',
1605
+        '#title' => bts('Signature', array(), NULL, 'boinc:account-preferences-community'),
1606
+        '#description' => bts('Your signature will be publicly displayed at the end of your comments.', array(), NULL, 'boinc:account-preferences-community'),
1607
+        '#default_value' => $account->signature
1608
+        );
1609 1609
     // Prevent a "validation error" message when the user attempts to save with a default value they
1610 1610
     // do not have access to.
1611 1611
     if (!filter_access($account->signature_format) && empty($_POST)) {
1612
-      drupal_set_message(t("The signature input format has been set to a format you don't have access to. It will be changed to a format you have access to when you save this page."));
1613
-      $edit['signature_format'] = FILTER_FORMAT_DEFAULT;
1612
+        drupal_set_message(t("The signature input format has been set to a format you don't have access to. It will be changed to a format you have access to when you save this page."));
1613
+        $edit['signature_format'] = FILTER_FORMAT_DEFAULT;
1614 1614
     }
1615 1615
     $form['forums']['signature_format'] = filter_form($account->signature_format, NULL, array('signature_format'));
1616 1616
     // Optionally hide signatures from comments
1617 1617
     $form['forums']['hide_signatures'] = array(
1618
-      '#type' => 'radios',
1619
-      '#title' => bts('Hide signatures in forums', array(), NULL, 'boinc:account-preferences-community'),
1620
-      '#description' => ' ',
1621
-      '#options' => $form['boolean_options']['#value'],
1622
-      '#attributes' => array('class' => 'fancy'),
1623
-      '#default_value' => isset($account->hide_signatures) ? $account->hide_signatures : 0,
1618
+        '#type' => 'radios',
1619
+        '#title' => bts('Hide signatures in forums', array(), NULL, 'boinc:account-preferences-community'),
1620
+        '#description' => ' ',
1621
+        '#options' => $form['boolean_options']['#value'],
1622
+        '#attributes' => array('class' => 'fancy'),
1623
+        '#default_value' => isset($account->hide_signatures) ? $account->hide_signatures : 0,
1624 1624
     );
1625
-  }
1625
+    }
1626 1626
 
1627
-  //Bottom separator
1628
-  $form['separator_bottom'] = array(
1627
+    //Bottom separator
1628
+    $form['separator_bottom'] = array(
1629 1629
     '#value' => '<div class="separator buttons"></div>',
1630 1630
     '#weight' => 999,
1631
-  );
1631
+    );
1632 1632
 
1633
-  // Form control
1634
-  $form['form control tabs prefix'] = array(
1633
+    // Form control
1634
+    $form['form control tabs prefix'] = array(
1635 1635
     '#value' => '<ul class="form-control tab-list">',
1636 1636
     '#weight' => 1001,
1637
-  );
1638
-  $form['submit'] = array(
1637
+    );
1638
+    $form['submit'] = array(
1639 1639
     '#prefix' => '<li class="first tab">',
1640 1640
     '#type' => 'submit',
1641 1641
     '#value' => bts('Save changes', array(), NULL, 'boinc:form-save'),
1642 1642
     '#suffix' => '</li>',
1643 1643
     '#weight' => 1002,
1644
-  );
1645
-  $form['form control tabs'] = array(
1644
+    );
1645
+    $form['form control tabs'] = array(
1646 1646
     '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), $_GET['q']) . '</li>',
1647 1647
     '#weight' => 1003,
1648
-  );
1649
-  $form['form control tabs suffix'] = array(
1648
+    );
1649
+    $form['form control tabs suffix'] = array(
1650 1650
     '#value' => '</ul>',
1651 1651
     '#weight' => 1004,
1652
-  );
1653
-  return $form;
1652
+    );
1653
+    return $form;
1654 1654
 }
1655 1655
 
1656 1656
 /**
1657
-  * Handle validation submission of community preferences form.
1658
-  */
1657
+ * Handle validation submission of community preferences form.
1658
+ */
1659 1659
 function communityprefs_form_validate($form, &$form_state) {
1660
-  // require_boinc();
1661
-  global $user;
1662
-  $account = user_load($user->uid);
1663
-  $boinc_user = BoincUser::lookup_id($account->boincuser_id);
1664
-  $edit = $form_state['values'];
1660
+    // require_boinc();
1661
+    global $user;
1662
+    $account = user_load($user->uid);
1663
+    $boinc_user = BoincUser::lookup_id($account->boincuser_id);
1664
+    $edit = $form_state['values'];
1665 1665
 
1666
-  if ($edit['boincuser_name'] != $boinc_user->name) {
1666
+    if ($edit['boincuser_name'] != $boinc_user->name) {
1667 1667
     $blacklist1 = preg_split('/\r\n|\r|\n/', variable_get('boinc_weboptions_blacklisted_usernames', "admin\nadministrator\nmoderator"));
1668 1668
     $blacklist2 = array();
1669 1669
     if (is_array($blacklist1)) {
1670
-      $blacklist2 = array_map('strtolower', $blacklist1);
1670
+        $blacklist2 = array_map('strtolower', $blacklist1);
1671 1671
     }
1672 1672
     if (in_array(strtolower($edit['boincuser_name']), $blacklist2)) {
1673
-      form_set_error('boincuser_name',
1673
+        form_set_error('boincuser_name',
1674 1674
         bts('You may not use username @blname, as that name is not allowed. Please choose another name.',
1675 1675
             array('@blname' => $edit['boincuser_name']),
1676 1676
             NULL, 'boinc:account-preferences-community'));
1677
-      return false;
1677
+        return false;
1678
+    }
1678 1679
     }
1679
-  }
1680 1680
 
1681
-  return true;
1681
+    return true;
1682 1682
 }
1683 1683
 
1684 1684
 /**
1685
-  * Handle post-validation submission of community preferences form.
1686
-  */
1685
+ * Handle post-validation submission of community preferences form.
1686
+ */
1687 1687
 function communityprefs_form_submit($form, &$form_state) {
1688
-  require_boinc('boinc_db');
1689
-  global $user;
1690
-  $account = user_load($user->uid);
1691
-  $boinc_user = BoincUser::lookup_id($account->boincuser_id);
1692
-  $edit = $form_state['values'];
1693
-  $profile_node = $form_state['storage']['profile_node'];
1694
-
1695
-  // Display name
1696
-  if ($edit['boincuser_name'] != $boinc_user->name) {
1688
+    require_boinc('boinc_db');
1689
+    global $user;
1690
+    $account = user_load($user->uid);
1691
+    $boinc_user = BoincUser::lookup_id($account->boincuser_id);
1692
+    $edit = $form_state['values'];
1693
+    $profile_node = $form_state['storage']['profile_node'];
1694
+
1695
+    // Display name
1696
+    if ($edit['boincuser_name'] != $boinc_user->name) {
1697 1697
     $boincuser_name = $edit['boincuser_name'];
1698 1698
     $result = $boinc_user->update(
1699 1699
         "name='{$boincuser_name}'"
1700 1700
     );
1701
-  }
1701
+    }
1702 1702
 
1703
-  // Private message settings
1704
-  pm_email_notify_user('submit', $edit, $user);
1703
+    // Private message settings
1704
+    pm_email_notify_user('submit', $edit, $user);
1705 1705
 
1706
-  // Avatar settings - only set if profile_node exists.
1707
-  if ($profile_node) {
1706
+    // Avatar settings - only set if profile_node exists.
1707
+    if ($profile_node) {
1708 1708
     if (!$edit['field_image']) $edit['field_image'] = array();
1709 1709
     $profile_node->field_image = $edit['field_image'];
1710 1710
     node_save($profile_node);
1711 1711
     // Flush this from the node cache or changes won't show up immediately!
1712 1712
     $profile_node = node_load($profile_node->nid, NULL, TRUE);
1713
-  }
1713
+    }
1714 1714
 
1715
-  // All other settings
1716
-  $settings = array(
1715
+    // All other settings
1716
+    $settings = array(
1717 1717
     'signature' => $edit['signature'],
1718 1718
     'signature_format' => $edit['signature_format'],
1719 1719
     'timezone' => $edit['timezone'],
@@ -1722,197 +1722,197 @@  discard block
 block discarded – undo
1722 1722
     'hide_signatures' => $edit['hide_signatures'],
1723 1723
     'sort' => $edit['comments_order'],
1724 1724
     'gravatar' => $edit['gravatar'],
1725
-  );
1726
-  if (module_exists('internationalization')) {
1725
+    );
1726
+    if (module_exists('internationalization')) {
1727 1727
     $settings['language'] = $edit['language'];
1728 1728
     global $language;
1729 1729
     if ($user->language != $edit['language']) {
1730
-      global $base_url;
1731
-      if ($edit['language'] != language_default('language')) {
1730
+        global $base_url;
1731
+        if ($edit['language'] != language_default('language')) {
1732 1732
         $form_state['redirect'] = $base_url . '/' . $edit['language'] . '/' . $_GET['q'];
1733
-      }
1734
-      else {
1733
+        }
1734
+        else {
1735 1735
         $form_state['redirect'] = $base_url . '/' . $_GET['q'];
1736
-      }
1736
+        }
1737
+    }
1737 1738
     }
1738
-  }
1739
-  user_save($user, $settings);
1739
+    user_save($user, $settings);
1740 1740
 
1741
-  drupal_set_message(bts('Your community preferences have been updated.', array(), NULL, 'boinc:account-preferences-community'));
1741
+    drupal_set_message(bts('Your community preferences have been updated.', array(), NULL, 'boinc:account-preferences-community'));
1742 1742
 
1743
-  // Form will not redirect if storage is set; not good if language changes
1744
-  unset($form_state['storage']);
1743
+    // Form will not redirect if storage is set; not good if language changes
1744
+    unset($form_state['storage']);
1745 1745
 }
1746 1746
 
1747 1747
 /**
1748 1748
  * The structure of the privacy preferences form
1749 1749
  */
1750 1750
 function boincwork_privacyprefs_form(&$form_state) {
1751
-  require_boinc(array('user', 'prefs', 'util', 'consent'));
1751
+    require_boinc(array('user', 'prefs', 'util', 'consent'));
1752 1752
 
1753
-  global $user;
1754
-  $account = user_load($user->uid);
1755
-  $boincuser = BoincUser::lookup_id($account->boincuser_id);
1753
+    global $user;
1754
+    $account = user_load($user->uid);
1755
+    $boincuser = BoincUser::lookup_id($account->boincuser_id);
1756 1756
 
1757
-  // Load preferences from BOINC account
1758
-  $prefs = boincwork_load_prefs('project');
1757
+    // Load preferences from BOINC account
1758
+    $prefs = boincwork_load_prefs('project');
1759 1759
 
1760
-  //if (!$prefs AND !$initialize_if_empty) return null;
1760
+    //if (!$prefs AND !$initialize_if_empty) return null;
1761 1761
 
1762
-  $privacy_consent_types = boincwork_load_privacyconsenttypes();
1762
+    $privacy_consent_types = boincwork_load_privacyconsenttypes();
1763 1763
 
1764
-  // Define form defaults
1765
-  $default = array(
1764
+    // Define form defaults
1765
+    $default = array(
1766 1766
     'privacy' => array(
1767
-      'send_email' => ($boincuser->send_email) ? 1 : 0,
1768
-      'show_hosts' => ($boincuser->show_hosts) ? 1 : 0
1767
+        'send_email' => ($boincuser->send_email) ? 1 : 0,
1768
+        'show_hosts' => ($boincuser->show_hosts) ? 1 : 0
1769 1769
     )
1770
-  );
1770
+    );
1771 1771
 
1772
-  // Standard option sets
1773
-  $form['boolean_options'] = array(
1772
+    // Standard option sets
1773
+    $form['boolean_options'] = array(
1774 1774
     '#type' => 'value',
1775 1775
     '#value' => 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'))
1776
-  );
1776
+    );
1777 1777
 
1778
-  $form['privacy'] = array(
1778
+    $form['privacy'] = array(
1779 1779
     '#title' => bts('Privacy settings', array(), NULL, 'boinc:account-preferences-privacy'),
1780 1780
     '#type' => 'fieldset',
1781 1781
     '#description' => null,
1782 1782
     '#collapsible' => TRUE,
1783 1783
     '#collapsed' => FALSE
1784
-  );
1785
-  $form['privacy']['send_email'] = array(
1784
+    );
1785
+    $form['privacy']['send_email'] = array(
1786 1786
     '#title' => bts('Is it OK for @project and your team (if any) to email you?', array('@project' => variable_get('site_name', 'Drupal-BOINC')), NULL, 'boinc:account-preferences-privacy'),
1787 1787
     '#type' => 'radios',
1788 1788
     '#options' => $form['boolean_options']['#value'],
1789 1789
     '#attributes' => array('class' => 'fancy'),
1790 1790
     '#default_value' => $default['privacy']['send_email']
1791
-  );
1792
-  $form['privacy']['show_hosts'] = array(
1791
+    );
1792
+    $form['privacy']['show_hosts'] = array(
1793 1793
     '#title' => bts('Should @project show your computers on its website?', array('@project' => variable_get('site_name', 'Drupal-BOINC')), NULL, 'boinc:account-preferences-privacy'),
1794 1794
     '#description' => bts('At times, you may be asked to enable this option in order to receive help from the forums. Advanced users may need to be able to inspect your computers\' information in order to help diagnose any problems.', array(), NULL, 'boinc:account-preferences-privacy'),
1795 1795
     '#type' => 'radios',
1796 1796
     '#options' => $form['boolean_options']['#value'],
1797 1797
     '#attributes' => array('class' => 'fancy'),
1798 1798
     '#default_value' => $default['privacy']['show_hosts']
1799
-  );
1799
+    );
1800 1800
 
1801
-  // Loop over privacy consent types and create form question for each
1802
-  // option that deals with privacy.
1803
-  foreach ($privacy_consent_types as $ct) {
1801
+    // Loop over privacy consent types and create form question for each
1802
+    // option that deals with privacy.
1803
+    foreach ($privacy_consent_types as $ct) {
1804 1804
 
1805 1805
     $currstate = (check_user_consent($boincuser, $ct['shortname'])) ? 1 : 0 ;
1806 1806
     // Set name to 'privacyconsent_SHORTNAME', which can be parsed
1807 1807
     // later in the submit function.
1808 1808
     $form['privacy']['privacyconsent_'.$ct['shortname']] = array(
1809
-      '#title' => bts($ct['description'], array(), NULL, 'boinc:account-preferences-privacy'),
1810
-      '#type' => 'radios',
1811
-      '#options' => $form['boolean_options']['#value'],
1812
-      '#attributes' => array('class' => 'fancy'),
1813
-      '#default_value' => $currstate,
1809
+        '#title' => bts($ct['description'], array(), NULL, 'boinc:account-preferences-privacy'),
1810
+        '#type' => 'radios',
1811
+        '#options' => $form['boolean_options']['#value'],
1812
+        '#attributes' => array('class' => 'fancy'),
1813
+        '#default_value' => $currstate,
1814 1814
     );
1815 1815
 
1816 1816
     // Add a description with link to the question 'Do you consent to
1817 1817
     // exporting your data...'.
1818 1818
     $mypatt = '/Do you consent to exporting your data/';
1819 1819
     if (preg_match($mypatt, $ct['description']) ) {
1820
-      $form['privacy']['privacyconsent_'.$ct['shortname']]['#description'] = bts('See our !privacy_policy_link for the current list of statistics exports.',
1821
-      array(
1820
+        $form['privacy']['privacyconsent_'.$ct['shortname']]['#description'] = bts('See our !privacy_policy_link for the current list of statistics exports.',
1821
+        array(
1822 1822
         '!privacy_policy_link' => l(
1823
-          bts('privacy policy', array(), NULL, 'boinc:account-preferences-privacy'),
1824
-          '/privacy'
1823
+            bts('privacy policy', array(), NULL, 'boinc:account-preferences-privacy'),
1824
+            '/privacy'
1825 1825
         )
1826
-      ),
1827
-      NULL, 'boinc:account-preferences-privacy');
1826
+        ),
1827
+        NULL, 'boinc:account-preferences-privacy');
1828
+    }
1828 1829
     }
1829
-  }
1830 1830
 
1831
-  // Ignore and block users
1832
-  if (module_exists('ignore_user')) {
1831
+    // Ignore and block users
1832
+    if (module_exists('ignore_user')) {
1833 1833
     $form['ignoreblock'] = array(
1834
-      '#title' => bts('Ignore Users', array(), NULL, 'boinc:account-preferences-privacy'),
1835
-      '#type' => 'fieldset',
1836
-      '#description' => bts('<p>You may ignore users in the forums and block users from sending you private messages.<p>', array(), NULL, 'boinc:ignore-user-help'),
1837
-      '#collapsible' => TRUE,
1838
-      '#collapsed' => FALSE
1834
+        '#title' => bts('Ignore Users', array(), NULL, 'boinc:account-preferences-privacy'),
1835
+        '#type' => 'fieldset',
1836
+        '#description' => bts('<p>You may ignore users in the forums and block users from sending you private messages.<p>', array(), NULL, 'boinc:ignore-user-help'),
1837
+        '#collapsible' => TRUE,
1838
+        '#collapsed' => FALSE
1839 1839
     );
1840 1840
 
1841 1841
     // Table for ignored users
1842 1842
     $form['ignoreblock']['current_ignore_section'] = array(
1843
-      '#type' => 'item',
1844
-      '#value' => bts('Current users on your Ignore List', array(), NULL, 'boinc:ignore-user-list'),
1845
-      '#prefix' => '<h4>',
1846
-      '#suffix' => '</h4>',
1847
-      '#weight' => -20,
1843
+        '#type' => 'item',
1844
+        '#value' => bts('Current users on your Ignore List', array(), NULL, 'boinc:ignore-user-list'),
1845
+        '#prefix' => '<h4>',
1846
+        '#suffix' => '</h4>',
1847
+        '#weight' => -20,
1848 1848
     );
1849 1849
 
1850 1850
     $ignored_users = _ignore_user_ignored_users();
1851 1851
     foreach ($ignored_users as $ignored_user) {
1852
-      $form['ignoreblock']['username'][$ignored_user['iuid']] = array(
1852
+        $form['ignoreblock']['username'][$ignored_user['iuid']] = array(
1853 1853
         '#value' => $ignored_user['username'],
1854
-      );
1855
-      $form['ignoreblock']['delete'][$ignored_user['iuid']] = array(
1854
+        );
1855
+        $form['ignoreblock']['delete'][$ignored_user['iuid']] = array(
1856 1856
         '#value' => l(
1857
-          bts('delete', array(), NULL, 'boinc:ignore-user-delete-button'),
1858
-          'account/prefs/privacy/ignore_user/remove/'. $ignored_user['iuid'],
1859
-          array()
1857
+            bts('delete', array(), NULL, 'boinc:ignore-user-delete-button'),
1858
+            'account/prefs/privacy/ignore_user/remove/'. $ignored_user['iuid'],
1859
+            array()
1860 1860
         ),
1861
-      );
1861
+        );
1862 1862
     }
1863 1863
     $form['ignoreblock']['pager'] = array('#value' => theme('pager', NULL, 10, 0));
1864 1864
 
1865 1865
     // Sub-form to add user to ignore list
1866 1866
     $form['ignoreblock']['add_ignore_user_section'] = array(
1867
-      '#type' => 'item',
1868
-      '#value' => bts('Add user to Ignore List', array(), NULL, 'boinc:ignore-user-add'),
1869
-      '#prefix' => '<h4>',
1870
-      '#suffix' => '</h4>',
1871
-      '#weight' => 10,
1867
+        '#type' => 'item',
1868
+        '#value' => bts('Add user to Ignore List', array(), NULL, 'boinc:ignore-user-add'),
1869
+        '#prefix' => '<h4>',
1870
+        '#suffix' => '</h4>',
1871
+        '#weight' => 10,
1872 1872
     );
1873 1873
 
1874 1874
     $form['ignoreblock']['addusername_toignorelist'] = array(
1875
-      '#type' => 'textfield',
1876
-      '#title' => bts('Username', array(), NULL, 'boinc:ignore-user-searchbox'),
1877
-      '#description' => bts('To lookup a username start typing in the search box. A list of usernames will appear as you type. The number appearing in the suffix is the BOINC id. You can find a user\'s BOINC id on their user profile page.', array(), NULL, 'boinc:ignore-user-searchbox-help'),
1878
-      '#weight' => 11,
1879
-      '#size' => 50,
1880
-      '#autocomplete_path' => 'boincuser/autocomplete',
1875
+        '#type' => 'textfield',
1876
+        '#title' => bts('Username', array(), NULL, 'boinc:ignore-user-searchbox'),
1877
+        '#description' => bts('To lookup a username start typing in the search box. A list of usernames will appear as you type. The number appearing in the suffix is the BOINC id. You can find a user\'s BOINC id on their user profile page.', array(), NULL, 'boinc:ignore-user-searchbox-help'),
1878
+        '#weight' => 11,
1879
+        '#size' => 50,
1880
+        '#autocomplete_path' => 'boincuser/autocomplete',
1881 1881
     );
1882 1882
 
1883 1883
     $form['ignoreblock']['addusername_submit'] = array(
1884
-      '#type' => 'submit',
1885
-      '#value' => bts('Ignore user', array(), NULL, 'boinc:ignore-user-add'),
1886
-      '#submit' => array('_boincwork_ignore_list_form_submit'),
1887
-      '#weight' => 12,
1888
-      '#attributes' => array('class' => 'add_ignore_user'),
1884
+        '#type' => 'submit',
1885
+        '#value' => bts('Ignore user', array(), NULL, 'boinc:ignore-user-add'),
1886
+        '#submit' => array('_boincwork_ignore_list_form_submit'),
1887
+        '#weight' => 12,
1888
+        '#attributes' => array('class' => 'add_ignore_user'),
1889 1889
     );
1890
-  }// endif module_exists
1890
+    }// endif module_exists
1891 1891
 
1892
-  $form['prefs']['separator_bottom'] = array(
1892
+    $form['prefs']['separator_bottom'] = array(
1893 1893
     '#value' => '<div class="separator buttons"></div>'
1894
-  );
1894
+    );
1895 1895
 
1896
-  // Form control
1897
-  $form['prefs']['form control tabs prefix'] = array(
1896
+    // Form control
1897
+    $form['prefs']['form control tabs prefix'] = array(
1898 1898
     '#value' => '<ul class="form-control tab-list">'
1899
-  );
1900
-  $form['prefs']['submit'] = array(
1899
+    );
1900
+    $form['prefs']['submit'] = array(
1901 1901
     '#prefix' => '<li class="first tab">',
1902 1902
     '#type' => 'submit',
1903 1903
     '#value' => bts('Save changes', array(), NULL, 'boinc:form-save'),
1904 1904
     '#validate' => array('boincwork_privacyprefs_form_validate'),
1905 1905
     '#submit' => array('boincwork_privacyprefs_form_submit'),
1906 1906
     '#suffix' => '</li>'
1907
-  );
1908
-  $form['prefs']['form control tabs'] = array(
1907
+    );
1908
+    $form['prefs']['form control tabs'] = array(
1909 1909
     '#value' => '<li class="tab">' . l(bts('Cancel', array(), NULL, 'boinc:form-cancel'), $_GET['q']) . '</li>'
1910
-  );
1911
-  $form['prefs']['form control tabs suffix'] = array(
1910
+    );
1911
+    $form['prefs']['form control tabs suffix'] = array(
1912 1912
     '#value' => '</ul>'
1913
-  );
1913
+    );
1914 1914
 
1915
-  return $form;
1915
+    return $form;
1916 1916
 }
1917 1917
 
1918 1918
 /**
@@ -1920,93 +1920,93 @@  discard block
 block discarded – undo
1920 1920
  */
1921 1921
 function theme_boincwork_privacyprefs_form($form) {
1922 1922
 
1923
-  $output = '';
1924
-  $output .= drupal_render($form['privacy']);
1923
+    $output = '';
1924
+    $output .= drupal_render($form['privacy']);
1925 1925
 
1926
-  $header = array(
1926
+    $header = array(
1927 1927
     bts('Username', array(), NULL, 'boinc:ignore-user-list'),
1928 1928
     bts('Operations', array(), NULL, 'boinc:ignore-user-list')
1929
-  );
1929
+    );
1930 1930
 
1931
-  $rows = array();
1932
-  if (isset($form['ignoreblock']['username']) && is_array($form['ignoreblock']['username'])) {
1931
+    $rows = array();
1932
+    if (isset($form['ignoreblock']['username']) && is_array($form['ignoreblock']['username'])) {
1933 1933
     foreach (element_children($form['ignoreblock']['username']) as $key) {
1934
-      $row = array();
1935
-      $row[] = drupal_render($form['ignoreblock']['username'][$key]);
1936
-      $row[] = drupal_render($form['ignoreblock']['delete'][$key]);
1937
-      $rows[] = $row;
1934
+        $row = array();
1935
+        $row[] = drupal_render($form['ignoreblock']['username'][$key]);
1936
+        $row[] = drupal_render($form['ignoreblock']['delete'][$key]);
1937
+        $rows[] = $row;
1938 1938
     }
1939
-  }
1940
-  else {
1939
+    }
1940
+    else {
1941 1941
     $rows[] = array(
1942
-      array(
1942
+        array(
1943 1943
         'data' => bts('You have not added any users to your Ignore List.', array(), NULL, 'boinc:ignore-user-list'),
1944 1944
         'colspan' => '2',
1945
-      )
1945
+        )
1946 1946
     );
1947
-  }
1947
+    }
1948 1948
 
1949
-  $attr = array('class' => 'ignore_user');
1950
-  $form['ignoreblock']['current_list']['ignored_users']['#value'] = theme('table', $header, $rows, $attr);
1951
-  $output .= drupal_render($form['current_list']);
1949
+    $attr = array('class' => 'ignore_user');
1950
+    $form['ignoreblock']['current_list']['ignored_users']['#value'] = theme('table', $header, $rows, $attr);
1951
+    $output .= drupal_render($form['current_list']);
1952 1952
 
1953
-  if ($form['pager']['#value']) {
1953
+    if ($form['pager']['#value']) {
1954 1954
     $output .= drupal_render($form['pager']);
1955
-  }
1955
+    }
1956 1956
 
1957
-  $output .= drupal_render($form);
1957
+    $output .= drupal_render($form);
1958 1958
 
1959
-  return $output;
1959
+    return $output;
1960 1960
 }
1961 1961
 
1962 1962
 /**
1963
-  * Validate the privacy preferences form.
1964
-  */
1963
+ * Validate the privacy preferences form.
1964
+ */
1965 1965
 function boincwork_privacyprefs_form_validate($form, &$form_state) {
1966
-  require_boinc('util');
1966
+    require_boinc('util');
1967 1967
 
1968
-  // Verify all non-boolean user input values and notify form API of failures
1969
-  // ... currently there are no non-boolean values!
1968
+    // Verify all non-boolean user input values and notify form API of failures
1969
+    // ... currently there are no non-boolean values!
1970 1970
 }
1971 1971
 
1972 1972
 /**
1973
-  * Handle post-validation submission of privacy preferences form.
1974
-  */
1973
+ * Handle post-validation submission of privacy preferences form.
1974
+ */
1975 1975
 function boincwork_privacyprefs_form_submit($form, &$form_state) {
1976
-  require_boinc(array('user', 'prefs', 'consent'));
1976
+    require_boinc(array('user', 'prefs', 'consent'));
1977 1977
 
1978
-  global $user;
1979
-  $account = user_load($user->uid);
1978
+    global $user;
1979
+    $account = user_load($user->uid);
1980 1980
 
1981
-  // Load BOINC account
1982
-  $boincuser = BoincUser::lookup_id($account->boincuser_id);
1981
+    // Load BOINC account
1982
+    $boincuser = BoincUser::lookup_id($account->boincuser_id);
1983 1983
 
1984
-  // Privacy preferences
1985
-  $boincuser->send_email = ($form_state['values']['send_email']) ? true : false;
1986
-  $boincuser->show_hosts = ($form_state['values']['show_hosts']) ? true : false;
1984
+    // Privacy preferences
1985
+    $boincuser->send_email = ($form_state['values']['send_email']) ? true : false;
1986
+    $boincuser->show_hosts = ($form_state['values']['show_hosts']) ? true : false;
1987 1987
 
1988
-  // Privacy consent options, extract the 'privacyconsent_SHORTNAME'
1989
-  // from values array, and loop over them; each is checked with
1990
-  // check_consent_type(). Also check the current state of the option
1991
-  // in the database. If the form value is a new state, then set it.
1992
-  $result = preg_grep("/^privacyconsent/", array_keys($form_state['values']));
1993
-  $privacyconsent_prefs = array_intersect_key($form_state['values'], array_flip($result));
1994
-  foreach ($privacyconsent_prefs as $name => $newstate) {
1988
+    // Privacy consent options, extract the 'privacyconsent_SHORTNAME'
1989
+    // from values array, and loop over them; each is checked with
1990
+    // check_consent_type(). Also check the current state of the option
1991
+    // in the database. If the form value is a new state, then set it.
1992
+    $result = preg_grep("/^privacyconsent/", array_keys($form_state['values']));
1993
+    $privacyconsent_prefs = array_intersect_key($form_state['values'], array_flip($result));
1994
+    foreach ($privacyconsent_prefs as $name => $newstate) {
1995 1995
     $subname = explode('_', $name)[1];
1996 1996
     $currstate = (check_user_consent($boincuser, $subname)) ? 1 : 0 ;
1997 1997
     list($checkct, $ctid) = check_consent_type($subname);
1998 1998
     if ($checkct && ($currstate != $newstate)) {
1999
-      consent_to_a_policy($boincuser, $ctid, $newstate, 0, 'Webform', time());
1999
+        consent_to_a_policy($boincuser, $ctid, $newstate, 0, 'Webform', time());
2000
+    }
2000 2001
     }
2001
-  }
2002 2002
 
2003
-  //project_prefs_update($boincuser, $main_prefs);
2003
+    //project_prefs_update($boincuser, $main_prefs);
2004 2004
 
2005
-  db_set_active('boinc_rw');
2006
-  db_query("UPDATE user SET send_email = '{$boincuser->send_email}', show_hosts = '{$boincuser->show_hosts}' WHERE id = '{$boincuser->id}'");
2007
-  db_set_active('default');
2005
+    db_set_active('boinc_rw');
2006
+    db_query("UPDATE user SET send_email = '{$boincuser->send_email}', show_hosts = '{$boincuser->show_hosts}' WHERE id = '{$boincuser->id}'");
2007
+    db_set_active('default');
2008 2008
 
2009
-  drupal_set_message(t('Your privacy preferences have been updated.'));
2009
+    drupal_set_message(t('Your privacy preferences have been updated.'));
2010 2010
 }
2011 2011
 
2012 2012
 /**
@@ -2014,14 +2014,14 @@  discard block
 block discarded – undo
2014 2014
  * ignore list.
2015 2015
  */
2016 2016
 function _boincwork_ignore_list_form_submit($form, $form_state) {
2017
-  boincwork_ignore_user_add_user_username($form_state['values']['addusername_toignorelist']);
2018
-  drupal_set_message(
2017
+    boincwork_ignore_user_add_user_username($form_state['values']['addusername_toignorelist']);
2018
+    drupal_set_message(
2019 2019
     bts('@username has been added to your ignore list. See your !privacy_preferences for more details.',
2020
-      array(
2020
+        array(
2021 2021
         '@username' => $form_state['values']['addusername_toignorelist'],
2022 2022
         '!privacy_preferences' => l(bts('privacy preferences', array(), NULL, 'boinc:ignore-user-add'), 'account/prefs/privacy'),
2023
-      ),
2024
-      NULL, 'boinc:ignore-user-add'),
2023
+        ),
2024
+        NULL, 'boinc:ignore-user-add'),
2025 2025
     'status');
2026 2026
 }
2027 2027
 
@@ -2030,37 +2030,37 @@  discard block
 block discarded – undo
2030 2030
  */
2031 2031
 function boincwork_selectapp_form(&$form_state, $apps, $current_app) {
2032 2032
 
2033
-  $form['selectapp'] = array(
2033
+    $form['selectapp'] = array(
2034 2034
     '#type' => 'select',
2035 2035
     '#attributes' => array(
2036
-      'class' => 'task-app-filter',
2037
-      'onchange' => 'this.form.submit();',
2036
+        'class' => 'task-app-filter',
2037
+        'onchange' => 'this.form.submit();',
2038 2038
     ),
2039 2039
     '#default_value' => $current_app,
2040 2040
     '#options' => $apps,
2041 2041
     '#post_render' => array('_boincwork_selectapp_form_callback'),
2042
-  );
2042
+    );
2043 2043
 
2044
-  // Class task-app-filter-submit for this form is used in
2045
-  // theming. CSS sets 'display:none' if javascript is present. Thus
2046
-  // only non-js users/browsers will see the Apply Filter button.
2047
-  $form['submit'] = array(
2044
+    // Class task-app-filter-submit for this form is used in
2045
+    // theming. CSS sets 'display:none' if javascript is present. Thus
2046
+    // only non-js users/browsers will see the Apply Filter button.
2047
+    $form['submit'] = array(
2048 2048
     '#type' => 'submit',
2049 2049
     '#value' => bts('Apply Filter', array(), NULL, 'boinc:form-save'),
2050 2050
     '#attributes' => array('class' => 'js-hide',),
2051
-  );
2051
+    );
2052 2052
 
2053
-  return $form;
2053
+    return $form;
2054 2054
 }
2055 2055
 
2056 2056
 /**
2057 2057
  * Submit function for select appliacation form.
2058 2058
  */
2059 2059
 function boincwork_selectapp_form_submit($form, &$form_state) {
2060
-  $myargs = arg();
2061
-  array_pop($myargs);
2062
-  $newpath = implode('/', $myargs ) . '/' . $form['selectapp']['#value'];
2063
-  $form_state['redirect'] = $newpath;
2060
+    $myargs = arg();
2061
+    array_pop($myargs);
2062
+    $newpath = implode('/', $myargs ) . '/' . $form['selectapp']['#value'];
2063
+    $form_state['redirect'] = $newpath;
2064 2064
 }
2065 2065
 
2066 2066
 /**
@@ -2070,7 +2070,7 @@  discard block
 block discarded – undo
2070 2070
  * 'title' for the Application drop down box.
2071 2071
  */
2072 2072
 function _boincwork_selectapp_form_callback($theContent, $theElement) {
2073
-  $disabled = '<option value="-1" disabled hidden';
2074
-  $newContent = preg_replace('/<option value="-1"/', $disabled, $theContent);
2075
-  return $newContent;
2073
+    $disabled = '<option value="-1" disabled hidden';
2074
+    $newContent = preg_replace('/<option value="-1"/', $disabled, $theContent);
2075
+    return $newContent;
2076 2076
 }
Please login to merge, or discard this patch.
html/inc/forum.inc 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -811,9 +811,9 @@  discard block
 block discarded – undo
811 811
 function post_rules() {
812 812
     if (defined('FORUM_RULES')) return FORUM_RULES;
813 813
     if (function_exists("project_forum_post_rules")) {
814
-      $project_rules=project_forum_post_rules();
814
+        $project_rules=project_forum_post_rules();
815 815
     } else {
816
-      $project_rules="";
816
+        $project_rules="";
817 817
     }
818 818
     return sprintf("
819 819
         <ul>
@@ -1278,7 +1278,7 @@  discard block
 block discarded – undo
1278 1278
     }
1279 1279
     if ($thread->hidden) {
1280 1280
         error_page(
1281
-           tra("Can't post to a hidden thread.")
1281
+            tra("Can't post to a hidden thread.")
1282 1282
         );
1283 1283
     }
1284 1284
 
Please login to merge, or discard this patch.