@@ -11,19 +11,19 @@ discard block |
||
11 | 11 | * that was selected |
12 | 12 | */ |
13 | 13 | function boincwork_ahah_helper_venue_submit($form, &$form_state) { |
14 | - $form_state['storage']['prefs']['preset'] = null; |
|
15 | - ahah_helper_generic_submit($form, $form_state); |
|
14 | + $form_state['storage']['prefs']['preset'] = null; |
|
15 | + ahah_helper_generic_submit($form, $form_state); |
|
16 | 16 | } |
17 | 17 | |
18 | 18 | /** |
19 | 19 | * Get a predetermined set of preferences |
20 | 20 | */ |
21 | 21 | function boincwork_get_preset_prefs($preset = null) { |
22 | - $saved_state = variable_get('boincwork_preset_prefs', null); |
|
22 | + $saved_state = variable_get('boincwork_preset_prefs', null); |
|
23 | 23 | |
24 | - // If not configured yet, use these values as for inital |
|
25 | - // computing/general preferences. |
|
26 | - if (!$saved_state) { |
|
24 | + // If not configured yet, use these values as for inital |
|
25 | + // computing/general preferences. |
|
26 | + if (!$saved_state) { |
|
27 | 27 | // Get BOINC project disk space configurations from config.xml to |
28 | 28 | // fill in initial preference values. |
29 | 29 | require_boinc(array('db', 'prefs')); |
@@ -160,88 +160,88 @@ discard block |
||
160 | 160 | <dont_verify_images>0</dont_verify_images> |
161 | 161 | </preset> |
162 | 162 | </general_preferences>'; |
163 | - } |
|
163 | + } |
|
164 | 164 | |
165 | - // Convert XML data to array format |
|
166 | - $preset_prefs = load_configuration($saved_state); |
|
165 | + // Convert XML data to array format |
|
166 | + $preset_prefs = load_configuration($saved_state); |
|
167 | 167 | |
168 | - if ($preset) { |
|
168 | + if ($preset) { |
|
169 | 169 | // Load preset from configuration |
170 | 170 | $preset_prefs = (array) $preset_prefs['general_preferences']; |
171 | 171 | if (isset($preset_prefs['preset'])) { |
172 | - if (!is_numeric(key($preset_prefs['preset']))) { |
|
172 | + if (!is_numeric(key($preset_prefs['preset']))) { |
|
173 | 173 | $preset_prefs['preset'] = array($preset_prefs['preset']); |
174 | - } |
|
175 | - foreach ($preset_prefs['preset'] as $key => $prefs) { |
|
174 | + } |
|
175 | + foreach ($preset_prefs['preset'] as $key => $prefs) { |
|
176 | 176 | if (isset($prefs['@attributes']['name']) AND $prefs['@attributes']['name'] == $preset) { |
177 | - return $preset_prefs['preset'][$key]; |
|
177 | + return $preset_prefs['preset'][$key]; |
|
178 | + } |
|
178 | 179 | } |
179 | - } |
|
180 | 180 | } |
181 | - } |
|
182 | - return $preset_prefs; |
|
181 | + } |
|
182 | + return $preset_prefs; |
|
183 | 183 | } |
184 | 184 | |
185 | 185 | /** |
186 | 186 | * Load (and validate) the project specific configuration XML |
187 | 187 | */ |
188 | 188 | function boincwork_get_project_specific_config() { |
189 | - $raw_config_data = variable_get('boinc_project_specific_prefs_config', ''); |
|
189 | + $raw_config_data = variable_get('boinc_project_specific_prefs_config', ''); |
|
190 | 190 | |
191 | - $xsd = './' . drupal_get_path('module', 'boincwork') . '/includes/projectprefs.xsd'; |
|
192 | - libxml_use_internal_errors(true); |
|
191 | + $xsd = './' . drupal_get_path('module', 'boincwork') . '/includes/projectprefs.xsd'; |
|
192 | + libxml_use_internal_errors(true); |
|
193 | 193 | |
194 | - $xml = new DomDocument(); |
|
195 | - $xml->loadXML($raw_config_data, LIBXML_NOBLANKS); |
|
196 | - if (!$xml->schemaValidate($xsd)) { |
|
194 | + $xml = new DomDocument(); |
|
195 | + $xml->loadXML($raw_config_data, LIBXML_NOBLANKS); |
|
196 | + if (!$xml->schemaValidate($xsd)) { |
|
197 | 197 | $errors = libxml_get_errors(); |
198 | 198 | $lines = explode("\r", $raw_config_data); |
199 | 199 | drupal_set_message("{$errors[0]->message} at line {$errors[0]->line}" . |
200 | - ': <br/>' . htmlentities($lines[$errors[0]->line - 1]), 'error'); |
|
200 | + ': <br/>' . htmlentities($lines[$errors[0]->line - 1]), 'error'); |
|
201 | 201 | return NULL; |
202 | - } |
|
202 | + } |
|
203 | 203 | |
204 | - // Convert XML to array for validation |
|
205 | - $xml = load_configuration($raw_config_data); |
|
206 | - return $xml; |
|
204 | + // Convert XML to array for validation |
|
205 | + $xml = load_configuration($raw_config_data); |
|
206 | + return $xml; |
|
207 | 207 | } |
208 | 208 | |
209 | 209 | /** |
210 | 210 | * Get rules by which to validate project specific data |
211 | 211 | */ |
212 | 212 | function boincwork_get_project_specific_config_validation_rules($xml = array()) { |
213 | - $rules = array(); |
|
214 | - if (!$xml) { |
|
213 | + $rules = array(); |
|
214 | + if (!$xml) { |
|
215 | 215 | // Read the config XML |
216 | 216 | $xml = boincwork_get_project_specific_config(); |
217 | 217 | $xml = $xml['project_specific_preferences']; |
218 | - } |
|
219 | - foreach ($xml as $type => $elements) { |
|
218 | + } |
|
219 | + foreach ($xml as $type => $elements) { |
|
220 | 220 | if (is_array($elements) AND !is_numeric(key($elements))) { |
221 | - $elements = array($elements); |
|
221 | + $elements = array($elements); |
|
222 | 222 | } |
223 | 223 | switch ($type) { |
224 | 224 | case 'compound': |
225 | 225 | foreach ($elements as $element) { |
226 | 226 | $name = $element['@attributes']['name']; |
227 | 227 | $rules[$name] = boincwork_get_project_specific_config_validation_rules($element['attributes']); |
228 | - } |
|
229 | - break; |
|
228 | + } |
|
229 | + break; |
|
230 | 230 | |
231 | 231 | case 'text': |
232 | 232 | foreach ($elements as $element) { |
233 | 233 | $name = $element['@attributes']['name']; |
234 | 234 | $rules[$name] = array( |
235 | - 'datatype' => $element['@attributes']['datatype'] |
|
235 | + 'datatype' => $element['@attributes']['datatype'] |
|
236 | 236 | ); |
237 | 237 | if (isset($element['@attributes']['min'])) { |
238 | - $rules[$name]['min'] = $element['@attributes']['min']; |
|
238 | + $rules[$name]['min'] = $element['@attributes']['min']; |
|
239 | 239 | } |
240 | 240 | if (isset($element['@attributes']['max'])) { |
241 | - $rules[$name]['max'] = $element['@attributes']['max']; |
|
241 | + $rules[$name]['max'] = $element['@attributes']['max']; |
|
242 | 242 | } |
243 | - } |
|
244 | - break; |
|
243 | + } |
|
244 | + break; |
|
245 | 245 | /* |
246 | 246 | case 'radio': |
247 | 247 | case 'dropdown': |
@@ -265,24 +265,24 @@ discard block |
||
265 | 265 | $rules['apps'] = array( |
266 | 266 | 'minimum selected' => 1, |
267 | 267 | 'list' => array() |
268 | - ); |
|
269 | - foreach ($elements as $element) { |
|
268 | + ); |
|
269 | + foreach ($elements as $element) { |
|
270 | 270 | foreach ($element['app'] as $app) { |
271 | - $name = "app_{$app['@attributes']['id']}"; |
|
272 | - $rules['apps']['list'][] = $name; |
|
273 | - //$rules[$name] = array( |
|
274 | - // 'options' => $options |
|
275 | - //); |
|
271 | + $name = "app_{$app['@attributes']['id']}"; |
|
272 | + $rules['apps']['list'][] = $name; |
|
273 | + //$rules[$name] = array( |
|
274 | + // 'options' => $options |
|
275 | + //); |
|
276 | 276 | } |
277 | - } |
|
278 | - break; |
|
277 | + } |
|
278 | + break; |
|
279 | 279 | |
280 | 280 | case 'group': |
281 | 281 | foreach ($elements as $element) { |
282 | 282 | $name = $element['@attributes']['name']; |
283 | 283 | $rules += boincwork_get_project_specific_config_validation_rules($element); |
284 | - } |
|
285 | - break; |
|
284 | + } |
|
285 | + break; |
|
286 | 286 | /* |
287 | 287 | case 'boolean': |
288 | 288 | // Shouldn't need to validate boolean... |
@@ -290,39 +290,39 @@ discard block |
||
290 | 290 | */ |
291 | 291 | default: |
292 | 292 | } |
293 | - } |
|
294 | - return $rules; |
|
293 | + } |
|
294 | + return $rules; |
|
295 | 295 | } |
296 | 296 | |
297 | 297 | /** |
298 | 298 | * Define how project specific settings should be saved |
299 | 299 | */ |
300 | 300 | function boincwork_format_project_specific_prefs_data($values, $xml = array()) { |
301 | - $defaults = array(); |
|
302 | - if (!$xml) { |
|
301 | + $defaults = array(); |
|
302 | + if (!$xml) { |
|
303 | 303 | // Read the config XML |
304 | 304 | $xml = boincwork_get_project_specific_config(); |
305 | 305 | $xml = $xml['project_specific_preferences']; |
306 | - } |
|
307 | - foreach ($xml as $type => $elements) { |
|
306 | + } |
|
307 | + foreach ($xml as $type => $elements) { |
|
308 | 308 | $structure_data = array(); |
309 | 309 | if (is_array($elements) AND !is_numeric(key($elements))) { |
310 | - $elements = array($elements); |
|
310 | + $elements = array($elements); |
|
311 | 311 | } |
312 | 312 | switch ($type) { |
313 | 313 | case 'compound': |
314 | 314 | foreach ($elements as $element) { |
315 | 315 | $name = $element['@attributes']['name']; |
316 | 316 | $default[$name]['@attributes'] = boincwork_format_project_specific_prefs_data($values[$name], $element['attributes']); |
317 | - } |
|
318 | - $defaults += $default; |
|
319 | - break; |
|
317 | + } |
|
318 | + $defaults += $default; |
|
319 | + break; |
|
320 | 320 | |
321 | 321 | case 'group': |
322 | 322 | foreach ($elements as $element) { |
323 | 323 | $defaults += boincwork_format_project_specific_prefs_data($values, $element); |
324 | - } |
|
325 | - break; |
|
324 | + } |
|
325 | + break; |
|
326 | 326 | |
327 | 327 | case 'text': |
328 | 328 | case 'radio': |
@@ -331,315 +331,315 @@ discard block |
||
331 | 331 | foreach ($elements as $element) { |
332 | 332 | $name = $element['@attributes']['name']; |
333 | 333 | if (isset($element['@attributes']['entitytype']) AND $element['@attributes']['entitytype'] == 'attribute') { |
334 | - $defaults['@attributes'][$name] = $values[$name]; |
|
334 | + $defaults['@attributes'][$name] = $values[$name]; |
|
335 | 335 | } |
336 | 336 | else { |
337 | - $defaults[$name] = $values[$name]; |
|
337 | + $defaults[$name] = $values[$name]; |
|
338 | 338 | } |
339 | - } |
|
340 | - break; |
|
339 | + } |
|
340 | + break; |
|
341 | 341 | |
342 | 342 | case 'apps': |
343 | 343 | foreach ($elements as $element) { |
344 | 344 | $defaults['app_id'] = array(); |
345 | 345 | foreach ($element['app'] as $app) { |
346 | - $app_id = $app['@attributes']['id']; |
|
347 | - if ($values['applications']["app_{$app_id}"]) { |
|
346 | + $app_id = $app['@attributes']['id']; |
|
347 | + if ($values['applications']["app_{$app_id}"]) { |
|
348 | 348 | $defaults['app_id'][] = $app_id; |
349 | - } |
|
349 | + } |
|
350 | 350 | } |
351 | - } |
|
352 | - break; |
|
351 | + } |
|
352 | + break; |
|
353 | 353 | |
354 | 354 | default: |
355 | 355 | } |
356 | - } |
|
357 | - return $defaults; |
|
356 | + } |
|
357 | + return $defaults; |
|
358 | 358 | } |
359 | 359 | |
360 | 360 | /** |
361 | 361 | * Add an element to the form based on its definition |
362 | 362 | */ |
363 | 363 | function boincwork_generate_prefs_element(&$form, $type, $elements, $user_prefs = null) { |
364 | - switch ($type) { |
|
365 | - case 'text': |
|
364 | + switch ($type) { |
|
365 | + case 'text': |
|
366 | 366 | if (!is_numeric(key($elements))) { |
367 | - $elements = array($elements); |
|
367 | + $elements = array($elements); |
|
368 | 368 | } |
369 | 369 | foreach ($elements as $element) { |
370 | - $name = $element['@attributes']['name']; |
|
371 | - $default = $element['@attributes']['default']; |
|
372 | - $title = is_array($element['title']) ? $element['title']['@value'] : $element['title']; |
|
373 | - $description = ''; |
|
374 | - if (isset($element['description'])) { |
|
370 | + $name = $element['@attributes']['name']; |
|
371 | + $default = $element['@attributes']['default']; |
|
372 | + $title = is_array($element['title']) ? $element['title']['@value'] : $element['title']; |
|
373 | + $description = ''; |
|
374 | + if (isset($element['description'])) { |
|
375 | 375 | $description = is_array($element['description']) ? $element['description']['@value'] : $element['description']; |
376 | - } |
|
376 | + } |
|
377 | 377 | |
378 | - $value = $default; |
|
379 | - $user_pref = $user_prefs; |
|
380 | - $entitytype = isset($element['@attributes']['entitytype']) ? $element['@attributes']['entitytype'] : 'element'; |
|
381 | - if ($entitytype == 'attribute') { |
|
378 | + $value = $default; |
|
379 | + $user_pref = $user_prefs; |
|
380 | + $entitytype = isset($element['@attributes']['entitytype']) ? $element['@attributes']['entitytype'] : 'element'; |
|
381 | + if ($entitytype == 'attribute') { |
|
382 | 382 | $user_pref = $user_prefs['@attributes']; |
383 | - } |
|
384 | - if (isset($user_pref[$name])) { |
|
383 | + } |
|
384 | + if (isset($user_pref[$name])) { |
|
385 | 385 | if (is_array($user_pref[$name]) AND isset($user_pref[$name]['@value'])) { |
386 | - $value = $user_pref[$name]['@value']; |
|
386 | + $value = $user_pref[$name]['@value']; |
|
387 | 387 | } |
388 | 388 | else { |
389 | - $value = $user_pref[$name]; |
|
389 | + $value = $user_pref[$name]; |
|
390 | + } |
|
390 | 391 | } |
391 | - } |
|
392 | 392 | |
393 | - // Use appropriate datatype |
|
394 | - if (isset($element['@attributes']['datatype'])) { |
|
393 | + // Use appropriate datatype |
|
394 | + if (isset($element['@attributes']['datatype'])) { |
|
395 | 395 | switch($element['@attributes']['datatype']) { |
396 | 396 | case 'integer': |
397 | 397 | $value = (int) $value; |
398 | - break; |
|
398 | + break; |
|
399 | 399 | |
400 | 400 | case 'float': |
401 | 401 | $value = number_format((float) $value, 2); |
402 | - break; |
|
402 | + break; |
|
403 | 403 | |
404 | 404 | default: |
405 | 405 | } |
406 | - } |
|
406 | + } |
|
407 | 407 | |
408 | - // Translate elements as appropriate |
|
409 | - if ($title) { |
|
408 | + // Translate elements as appropriate |
|
409 | + if ($title) { |
|
410 | 410 | i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($title)); |
411 | 411 | $title = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($title)); |
412 | - } |
|
413 | - if ($description) { |
|
412 | + } |
|
413 | + if ($description) { |
|
414 | 414 | i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($description)); |
415 | 415 | $description = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($description)); |
416 | - } |
|
416 | + } |
|
417 | 417 | |
418 | - $form[$name] = array( |
|
418 | + $form[$name] = array( |
|
419 | 419 | '#title' => $title, |
420 | 420 | '#type' => 'textfield', |
421 | 421 | '#default_value' => $value, |
422 | 422 | '#size' => 5, |
423 | 423 | '#description' => $description . bts(' Default value: @default', array('@default' => $default), NULL, 'boinc:account-preferences-project') |
424 | - ); |
|
424 | + ); |
|
425 | 425 | } |
426 | 426 | break; |
427 | 427 | |
428 | - case 'boolean': |
|
428 | + case 'boolean': |
|
429 | 429 | if (!is_numeric(key($elements))) { |
430 | - $elements = array($elements); |
|
430 | + $elements = array($elements); |
|
431 | 431 | } |
432 | 432 | foreach ($elements as $element) { |
433 | - $name = $element['@attributes']['name']; |
|
434 | - $title = is_array($element['title']) ? $element['title']['@value'] : $element['title']; |
|
435 | - $default = (isset($element['@attributes']['selected']) AND $element['@attributes']['selected'] == 'true') ? 1 : 0; |
|
436 | - $description = ''; |
|
437 | - if (isset($element['description'])) { |
|
433 | + $name = $element['@attributes']['name']; |
|
434 | + $title = is_array($element['title']) ? $element['title']['@value'] : $element['title']; |
|
435 | + $default = (isset($element['@attributes']['selected']) AND $element['@attributes']['selected'] == 'true') ? 1 : 0; |
|
436 | + $description = ''; |
|
437 | + if (isset($element['description'])) { |
|
438 | 438 | $description = is_array($element['description']) ? $element['description']['@value'] : $element['description']; |
439 | - } |
|
439 | + } |
|
440 | 440 | |
441 | - $value = $default; |
|
442 | - $user_pref = $user_prefs; |
|
443 | - $entitytype = isset($element['@attributes']['entitytype']) ? $element['@attributes']['entitytype'] : 'element'; |
|
444 | - if ($entitytype == 'attribute') { |
|
441 | + $value = $default; |
|
442 | + $user_pref = $user_prefs; |
|
443 | + $entitytype = isset($element['@attributes']['entitytype']) ? $element['@attributes']['entitytype'] : 'element'; |
|
444 | + if ($entitytype == 'attribute') { |
|
445 | 445 | $user_pref = $user_prefs['@attributes']; |
446 | - } |
|
447 | - if (isset($user_pref[$name])) { |
|
446 | + } |
|
447 | + if (isset($user_pref[$name])) { |
|
448 | 448 | if (is_array($user_pref[$name]) AND isset($user_pref[$name]['@value'])) { |
449 | - $value = $user_pref[$name]['@value']; |
|
449 | + $value = $user_pref[$name]['@value']; |
|
450 | 450 | } |
451 | 451 | else { |
452 | - $value = $user_pref[$name]; |
|
452 | + $value = $user_pref[$name]; |
|
453 | + } |
|
453 | 454 | } |
454 | - } |
|
455 | 455 | |
456 | - // Translate elements as appropriate |
|
457 | - if ($title) { |
|
456 | + // Translate elements as appropriate |
|
457 | + if ($title) { |
|
458 | 458 | i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($title)); |
459 | 459 | $title = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($title)); |
460 | - } |
|
461 | - if ($description) { |
|
460 | + } |
|
461 | + if ($description) { |
|
462 | 462 | i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($description)); |
463 | 463 | $description = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($description)); |
464 | - } |
|
464 | + } |
|
465 | 465 | |
466 | - $form[$name] = array( |
|
466 | + $form[$name] = array( |
|
467 | 467 | '#title' => $title, |
468 | 468 | '#type' => 'radios', |
469 | 469 | '#options' => array(1 => bts('yes', array(), NULL, 'boinc:form-yes-no:-1:binary-form-option-pairs-with-no'), 0 => bts('no', array(), NULL, 'boinc:form-yes-no:-1:binary-form-option-pairs-with-yes')), |
470 | 470 | '#attributes' => array('class' => 'fancy'), |
471 | 471 | '#default_value' => $value, |
472 | 472 | '#description' => $description |
473 | - ); |
|
473 | + ); |
|
474 | 474 | } |
475 | 475 | break; |
476 | 476 | |
477 | - case 'radio': |
|
477 | + case 'radio': |
|
478 | 478 | case 'dropdown': |
479 | 479 | |
480 | 480 | if (!is_numeric(key($elements))) { |
481 | - $elements = array($elements); |
|
481 | + $elements = array($elements); |
|
482 | 482 | } |
483 | 483 | foreach ($elements as $element) { |
484 | - $name = $element['@attributes']['name']; |
|
485 | - $default = null; |
|
486 | - $options = array(); |
|
487 | - foreach($element['items']['item'] as $item) { |
|
484 | + $name = $element['@attributes']['name']; |
|
485 | + $default = null; |
|
486 | + $options = array(); |
|
487 | + foreach($element['items']['item'] as $item) { |
|
488 | 488 | if (is_array($item)) { |
489 | - $value = $item['@value']; |
|
490 | - if ($default === NULL AND |
|
489 | + $value = $item['@value']; |
|
490 | + if ($default === NULL AND |
|
491 | 491 | isset($item['@attributes']) AND |
492 | 492 | isset($item['@attributes']['selected'])) { |
493 | 493 | $default = ($item['@attributes']['selected'] == 'true') ? $item['@value'] : null; |
494 | - } |
|
494 | + } |
|
495 | 495 | } |
496 | 496 | else { |
497 | - $value = $item; |
|
497 | + $value = $item; |
|
498 | 498 | } |
499 | 499 | $options[$value] = $value; |
500 | - } |
|
501 | - $title = is_array($element['title']) ? $element['title']['@value'] : $element['title']; |
|
502 | - $description = ''; |
|
503 | - if (isset($element['description'])) { |
|
500 | + } |
|
501 | + $title = is_array($element['title']) ? $element['title']['@value'] : $element['title']; |
|
502 | + $description = ''; |
|
503 | + if (isset($element['description'])) { |
|
504 | 504 | $description = is_array($element['description']) ? $element['description']['@value'] : $element['description']; |
505 | - } |
|
506 | - $user_pref = $user_prefs; |
|
507 | - $entitytype = isset($element['@attributes']['entitytype']) ? $element['@attributes']['entitytype'] : 'element'; |
|
508 | - if ($entitytype == 'attribute') { |
|
505 | + } |
|
506 | + $user_pref = $user_prefs; |
|
507 | + $entitytype = isset($element['@attributes']['entitytype']) ? $element['@attributes']['entitytype'] : 'element'; |
|
508 | + if ($entitytype == 'attribute') { |
|
509 | 509 | $user_pref = $user_prefs['@attributes']; |
510 | - } |
|
511 | - $value = isset($user_pref[$name]) ? $user_pref[$name] : $default; |
|
510 | + } |
|
511 | + $value = isset($user_pref[$name]) ? $user_pref[$name] : $default; |
|
512 | 512 | |
513 | - // Translate elements as appropriate |
|
514 | - if ($title) { |
|
513 | + // Translate elements as appropriate |
|
514 | + if ($title) { |
|
515 | 515 | i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($title)); |
516 | 516 | $title = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($title)); |
517 | - } |
|
518 | - if ($description) { |
|
517 | + } |
|
518 | + if ($description) { |
|
519 | 519 | i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($description)); |
520 | 520 | $description = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($description)); |
521 | - } |
|
521 | + } |
|
522 | 522 | |
523 | - $form[$name] = array( |
|
523 | + $form[$name] = array( |
|
524 | 524 | '#title' => $title, |
525 | 525 | '#type' => ($type == 'radio') ? 'radios' : 'select', |
526 | 526 | '#options' => $options, |
527 | 527 | '#attributes' => array('class' => 'fancy'), |
528 | 528 | '#default_value' => $value, |
529 | 529 | '#description' => $description . bts(' Default value: @default', array('@default' =>$default), NULL, 'boinc:account-preferences-project') |
530 | - ); |
|
530 | + ); |
|
531 | 531 | } |
532 | 532 | break; |
533 | 533 | |
534 | - case 'apps': |
|
534 | + case 'apps': |
|
535 | 535 | $title = is_array($elements['title']) ? $elements['title']['@value'] : $elements['title']; |
536 | 536 | |
537 | - // Translate elements as appropriate |
|
538 | - if ($title) { |
|
537 | + // Translate elements as appropriate |
|
538 | + if ($title) { |
|
539 | 539 | i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($title)); |
540 | 540 | $title = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($title)); |
541 | - } |
|
541 | + } |
|
542 | 542 | |
543 | 543 | $form['applications'] = array( |
544 | - '#title' => bts('Applications', array(), NULL, 'boinc:account-preferences'), |
|
545 | - '#type' => 'fieldset', |
|
546 | - '#description' => $title, |
|
547 | - '#collapsible' => TRUE, |
|
548 | - '#collapsed' => FALSE |
|
544 | + '#title' => bts('Applications', array(), NULL, 'boinc:account-preferences'), |
|
545 | + '#type' => 'fieldset', |
|
546 | + '#description' => $title, |
|
547 | + '#collapsible' => TRUE, |
|
548 | + '#collapsed' => FALSE |
|
549 | 549 | ); |
550 | 550 | $applications = array(); |
551 | 551 | if (!is_array($user_prefs['app_id'])) { |
552 | - $user_prefs['app_id'] = array($user_prefs['app_id']); |
|
552 | + $user_prefs['app_id'] = array($user_prefs['app_id']); |
|
553 | 553 | } |
554 | 554 | foreach ($user_prefs['app_id'] as $app) { |
555 | - if (!$app) continue; |
|
556 | - if (is_array($app) AND isset($app['@value'])) { |
|
555 | + if (!$app) continue; |
|
556 | + if (is_array($app) AND isset($app['@value'])) { |
|
557 | 557 | $app = $app['@value']; |
558 | - } |
|
559 | - $applications[] = $app; |
|
558 | + } |
|
559 | + $applications[] = $app; |
|
560 | 560 | } |
561 | 561 | foreach ($elements['app'] as $app) { |
562 | - $app_id = $app['@attributes']['id']; |
|
563 | - $app_name = $app['@value']; |
|
564 | - $app_enabled = TRUE; |
|
565 | - if (isset($app['@attributes']['enabled']) AND |
|
562 | + $app_id = $app['@attributes']['id']; |
|
563 | + $app_name = $app['@value']; |
|
564 | + $app_enabled = TRUE; |
|
565 | + if (isset($app['@attributes']['enabled']) AND |
|
566 | 566 | $app['@attributes']['enabled'] == 'false') { |
567 | 567 | $app_enabled = FALSE; |
568 | - } |
|
569 | - if ($applications) { |
|
568 | + } |
|
569 | + if ($applications) { |
|
570 | 570 | $checked = in_array($app_id, $applications); |
571 | - } else { |
|
571 | + } else { |
|
572 | 572 | $checked = TRUE; |
573 | 573 | if (isset($app['@attributes']['selected']) AND |
574 | 574 | $app['@attributes']['selected'] == 'false') { |
575 | - $checked = FALSE; |
|
575 | + $checked = FALSE; |
|
576 | 576 | } |
577 | - } |
|
578 | - $form['applications']["app_{$app_id}"] = array( |
|
577 | + } |
|
578 | + $form['applications']["app_{$app_id}"] = array( |
|
579 | 579 | '#title' => $app_name, |
580 | 580 | '#type' => 'checkbox', |
581 | 581 | '#default_value' => ($checked) ? 'x' : false, |
582 | 582 | '#disabled' => !$app_enabled |
583 | - ); |
|
583 | + ); |
|
584 | 584 | } |
585 | 585 | |
586 | 586 | break; |
587 | 587 | |
588 | - case 'group': |
|
588 | + case 'group': |
|
589 | 589 | if (!is_numeric(key($elements))) { |
590 | - $elements = array($elements); |
|
590 | + $elements = array($elements); |
|
591 | 591 | } |
592 | 592 | foreach ($elements as $key => $element) { |
593 | - $title = is_array($element['title']) ? $element['title']['@value'] : $element['title']; |
|
594 | - $name = str_replace(' ','_',strtolower($title)); |
|
595 | - $name = "group_{$name}"; |
|
593 | + $title = is_array($element['title']) ? $element['title']['@value'] : $element['title']; |
|
594 | + $name = str_replace(' ','_',strtolower($title)); |
|
595 | + $name = "group_{$name}"; |
|
596 | 596 | |
597 | - // Translate elements as appropriate |
|
598 | - if ($title) { |
|
597 | + // Translate elements as appropriate |
|
598 | + if ($title) { |
|
599 | 599 | i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($title)); |
600 | 600 | $title = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($title)); |
601 | - } |
|
601 | + } |
|
602 | 602 | |
603 | - $form[$name] = array( |
|
604 | - '#title' => $title, |
|
605 | - '#type' => 'fieldset', |
|
606 | - '#tree' => FALSE, |
|
607 | - //'#description' => t('Notes about this group of fields'), |
|
608 | - '#collapsible' => TRUE, |
|
609 | - '#collapsed' => FALSE |
|
610 | - ); |
|
611 | - // Recursively populate the compound element |
|
612 | - foreach ($element as $child_type => $child) { |
|
603 | + $form[$name] = array( |
|
604 | + '#title' => $title, |
|
605 | + '#type' => 'fieldset', |
|
606 | + '#tree' => FALSE, |
|
607 | + //'#description' => t('Notes about this group of fields'), |
|
608 | + '#collapsible' => TRUE, |
|
609 | + '#collapsed' => FALSE |
|
610 | + ); |
|
611 | + // Recursively populate the compound element |
|
612 | + foreach ($element as $child_type => $child) { |
|
613 | 613 | boincwork_generate_prefs_element($form[$name], $child_type, $child, $user_prefs); |
614 | - } |
|
614 | + } |
|
615 | 615 | } |
616 | 616 | break; |
617 | 617 | |
618 | - case 'compound': |
|
618 | + case 'compound': |
|
619 | 619 | if (!is_numeric(key($elements))) { |
620 | - $elements = array($elements); |
|
620 | + $elements = array($elements); |
|
621 | 621 | } |
622 | 622 | foreach ($elements as $element) { |
623 | - $name = $element['@attributes']['name']; |
|
624 | - $title = is_array($element['title']) ? $element['title']['@value'] : $element['title']; |
|
623 | + $name = $element['@attributes']['name']; |
|
624 | + $title = is_array($element['title']) ? $element['title']['@value'] : $element['title']; |
|
625 | 625 | |
626 | - // Translate elements as appropriate |
|
627 | - if ($title) { |
|
626 | + // Translate elements as appropriate |
|
627 | + if ($title) { |
|
628 | 628 | i18nstrings_update('project:prefs_xml', _boinctranslate_supertrim($title)); |
629 | 629 | $title = i18nstrings('project:prefs_xml', _boinctranslate_supertrim($title)); |
630 | - } |
|
630 | + } |
|
631 | 631 | |
632 | - $form[$name] = array( |
|
633 | - '#title' => $title, |
|
634 | - '#type' => 'fieldset', |
|
635 | - //'#description' => t('Notes about this group of fields'), |
|
636 | - '#collapsible' => TRUE, |
|
637 | - '#collapsed' => FALSE |
|
638 | - ); |
|
639 | - // Recursively populate the compound element |
|
640 | - foreach ($element['attributes'] as $child_type => $child) { |
|
632 | + $form[$name] = array( |
|
633 | + '#title' => $title, |
|
634 | + '#type' => 'fieldset', |
|
635 | + //'#description' => t('Notes about this group of fields'), |
|
636 | + '#collapsible' => TRUE, |
|
637 | + '#collapsed' => FALSE |
|
638 | + ); |
|
639 | + // Recursively populate the compound element |
|
640 | + foreach ($element['attributes'] as $child_type => $child) { |
|
641 | 641 | boincwork_generate_prefs_element($form[$name], $child_type, $child, $user_prefs[$name]['@attributes']); |
642 | - } |
|
642 | + } |
|
643 | 643 | } |
644 | 644 | break; |
645 | 645 | |
@@ -655,24 +655,24 @@ discard block |
||
655 | 655 | */ |
656 | 656 | function boincwork_make_prefs_table($prefs, $top_level = TRUE) { |
657 | 657 | |
658 | - $prefs_table = array(); |
|
659 | - $uncategorized = array(); |
|
658 | + $prefs_table = array(); |
|
659 | + $uncategorized = array(); |
|
660 | 660 | |
661 | - // Parse the project preferences form |
|
662 | - foreach ($prefs as $key => $element) { |
|
661 | + // Parse the project preferences form |
|
662 | + foreach ($prefs as $key => $element) { |
|
663 | 663 | |
664 | 664 | // Determine which type of element this is and act accordingly |
665 | 665 | $element_type = NULL; |
666 | 666 | if (is_array($element) AND isset($element['#type'])) { |
667 | - $element_type = $element['#type']; |
|
667 | + $element_type = $element['#type']; |
|
668 | 668 | } |
669 | 669 | switch ($element_type) { |
670 | 670 | case 'fieldset': |
671 | 671 | $prefs_table[$key] = array( |
672 | 672 | 'name' => $element['#title'], |
673 | 673 | 'elements' => boincwork_make_prefs_table($element, FALSE), |
674 | - ); |
|
675 | - break; |
|
674 | + ); |
|
675 | + break; |
|
676 | 676 | case 'textfield': |
677 | 677 | case 'radios': |
678 | 678 | case 'checkbox': |
@@ -682,45 +682,45 @@ discard block |
||
682 | 682 | switch ($key) { |
683 | 683 | case 'start_hour': |
684 | 684 | $element['#title'] = bts('Compute only between:', array(), NULL, 'boinc:account-preferences-computing'); |
685 | - break; |
|
685 | + break; |
|
686 | 686 | case 'net_start_hour': |
687 | 687 | $element['#title'] = bts('Transfer files only between:', array(), NULL, 'boinc:account-preferences-comuting'); |
688 | - break; |
|
688 | + break; |
|
689 | 689 | default: |
690 | 690 | } |
691 | - } |
|
692 | - $prefs_element = array( |
|
691 | + } |
|
692 | + $prefs_element = array( |
|
693 | 693 | 'name' => (isset($element['#title'])) ? $element['#title'] : '', |
694 | 694 | 'description' => (isset($element['#description'])) ? $element['#description'] : '', |
695 | 695 | 'default_value' => (isset($element['#default_value'])) ? $element['#default_value'] : NULL, |
696 | - ); |
|
697 | - if ($top_level) { |
|
696 | + ); |
|
697 | + if ($top_level) { |
|
698 | 698 | $uncategorized[$key] = $prefs_element; |
699 | - } |
|
700 | - else { |
|
699 | + } |
|
700 | + else { |
|
701 | 701 | $prefs_table[$key] = $prefs_element; |
702 | - } |
|
703 | - break; |
|
702 | + } |
|
703 | + break; |
|
704 | 704 | default: |
705 | 705 | } |
706 | - } |
|
706 | + } |
|
707 | 707 | |
708 | - if ($prefs_table AND $uncategorized) { |
|
708 | + if ($prefs_table AND $uncategorized) { |
|
709 | 709 | // Throw any settings that don't fit elsewhere into "other" |
710 | 710 | $prefs_table['other'] = array( |
711 | - 'name' => bts('Other settings', array(), NULL, 'boinc:account-preferences'), |
|
712 | - 'elements' => $uncategorized, |
|
711 | + 'name' => bts('Other settings', array(), NULL, 'boinc:account-preferences'), |
|
712 | + 'elements' => $uncategorized, |
|
713 | 713 | ); |
714 | - } |
|
715 | - elseif ($uncategorized) { |
|
714 | + } |
|
715 | + elseif ($uncategorized) { |
|
716 | 716 | // If nothing is categorized, output all prefs under a general "settings" |
717 | 717 | $prefs_table['settings'] = array( |
718 | - 'name' => bts('Settings', array(), NULL, 'boinc:account-preferences'), |
|
719 | - 'elements' => $uncategorized, |
|
718 | + 'name' => bts('Settings', array(), NULL, 'boinc:account-preferences'), |
|
719 | + 'elements' => $uncategorized, |
|
720 | 720 | ); |
721 | - } |
|
721 | + } |
|
722 | 722 | |
723 | - return $prefs_table; |
|
723 | + return $prefs_table; |
|
724 | 724 | } |
725 | 725 | |
726 | 726 | /** |
@@ -728,33 +728,33 @@ discard block |
||
728 | 728 | */ |
729 | 729 | function boincwork_load_prefs($type = 'general', $venue = null, $account = null) { |
730 | 730 | |
731 | - require_boinc(array('user')); |
|
731 | + require_boinc(array('user')); |
|
732 | 732 | |
733 | - // Load the BOINC user object |
|
734 | - if (!$account) { |
|
733 | + // Load the BOINC user object |
|
734 | + if (!$account) { |
|
735 | 735 | global $user; |
736 | 736 | $account = $user; |
737 | - } |
|
738 | - $account = user_load($account->uid); |
|
739 | - $boincuser = BoincUser::lookup_id($account->boincuser_id); |
|
737 | + } |
|
738 | + $account = user_load($account->uid); |
|
739 | + $boincuser = BoincUser::lookup_id($account->boincuser_id); |
|
740 | 740 | |
741 | - // Load the desired preferences for the user |
|
742 | - $main_prefs = array(); |
|
743 | - if ($type == 'project') { |
|
741 | + // Load the desired preferences for the user |
|
742 | + $main_prefs = array(); |
|
743 | + if ($type == 'project') { |
|
744 | 744 | if ($boincuser->project_prefs) { |
745 | - $main_prefs = load_configuration($boincuser->project_prefs); |
|
746 | - $main_prefs = (array) $main_prefs['project_preferences']; |
|
745 | + $main_prefs = load_configuration($boincuser->project_prefs); |
|
746 | + $main_prefs = (array) $main_prefs['project_preferences']; |
|
747 | 747 | } |
748 | - } |
|
749 | - else { |
|
748 | + } |
|
749 | + else { |
|
750 | 750 | if ($boincuser->global_prefs) { |
751 | - $main_prefs = load_configuration($boincuser->global_prefs); |
|
752 | - $main_prefs = (array) $main_prefs['global_preferences']; |
|
751 | + $main_prefs = load_configuration($boincuser->global_prefs); |
|
752 | + $main_prefs = (array) $main_prefs['global_preferences']; |
|
753 | + } |
|
753 | 754 | } |
754 | - } |
|
755 | 755 | |
756 | - // Return general preferences or a subset based on venue |
|
757 | - if (!$venue OR $venue == 'generic') { |
|
756 | + // Return general preferences or a subset based on venue |
|
757 | + if (!$venue OR $venue == 'generic') { |
|
758 | 758 | unset($main_prefs['venue']); |
759 | 759 | // Use the length of the $main_prefs array as a condition as to |
760 | 760 | // whether the preferences have already been set. This is |
@@ -762,23 +762,23 @@ discard block |
||
762 | 762 | if (count($main_prefs) < 3) |
763 | 763 | $main_prefs['@attributes'] = array('cleared' => 1); |
764 | 764 | return $main_prefs; |
765 | - } |
|
766 | - else { |
|
765 | + } |
|
766 | + else { |
|
767 | 767 | if (isset($main_prefs['venue'])) { |
768 | - if (!is_numeric(key($main_prefs['venue']))) { |
|
768 | + if (!is_numeric(key($main_prefs['venue']))) { |
|
769 | 769 | $main_prefs['venue'] = array($main_prefs['venue']); |
770 | - } |
|
771 | - foreach ($main_prefs['venue'] as $key => $prefs_venue) { |
|
770 | + } |
|
771 | + foreach ($main_prefs['venue'] as $key => $prefs_venue) { |
|
772 | 772 | if (isset($prefs_venue['@attributes']['name']) AND $prefs_venue['@attributes']['name'] == $venue) { |
773 | - return $main_prefs['venue'][$key]; |
|
773 | + return $main_prefs['venue'][$key]; |
|
774 | + } |
|
774 | 775 | } |
775 | - } |
|
776 | 776 | } |
777 | - } |
|
777 | + } |
|
778 | 778 | |
779 | - return array( |
|
779 | + return array( |
|
780 | 780 | '@attributes' => array('name' => $venue, 'cleared' => 1) |
781 | - ); |
|
781 | + ); |
|
782 | 782 | } |
783 | 783 | |
784 | 784 | /** |
@@ -786,104 +786,104 @@ discard block |
||
786 | 786 | */ |
787 | 787 | function boincwork_save_prefs($prefs, $type = 'general', $venue = null, $account = null) { |
788 | 788 | |
789 | - require_boinc(array('user')); |
|
789 | + require_boinc(array('user')); |
|
790 | 790 | |
791 | - // Load existing project prefs from the BOINC user object |
|
792 | - if (!$account) { |
|
791 | + // Load existing project prefs from the BOINC user object |
|
792 | + if (!$account) { |
|
793 | 793 | global $user; |
794 | 794 | $account = $user; |
795 | - } |
|
796 | - $account = user_load($account->uid); |
|
797 | - $boincuser = BoincUser::lookup_id($account->boincuser_id); |
|
795 | + } |
|
796 | + $account = user_load($account->uid); |
|
797 | + $boincuser = BoincUser::lookup_id($account->boincuser_id); |
|
798 | 798 | |
799 | - // Load the specified preferences for the user |
|
800 | - $main_prefs = array(); |
|
801 | - if ($type == 'project') { |
|
799 | + // Load the specified preferences for the user |
|
800 | + $main_prefs = array(); |
|
801 | + if ($type == 'project') { |
|
802 | 802 | if ($boincuser->project_prefs) { |
803 | - $main_prefs = load_configuration($boincuser->project_prefs); |
|
804 | - $main_prefs = (array) $main_prefs['project_preferences']; |
|
803 | + $main_prefs = load_configuration($boincuser->project_prefs); |
|
804 | + $main_prefs = (array) $main_prefs['project_preferences']; |
|
805 | 805 | } |
806 | - } |
|
807 | - else { |
|
806 | + } |
|
807 | + else { |
|
808 | 808 | if ($boincuser->global_prefs) { |
809 | - $main_prefs = load_configuration($boincuser->global_prefs); |
|
810 | - $main_prefs = (array) $main_prefs['global_preferences']; |
|
809 | + $main_prefs = load_configuration($boincuser->global_prefs); |
|
810 | + $main_prefs = (array) $main_prefs['global_preferences']; |
|
811 | + } |
|
811 | 812 | } |
812 | - } |
|
813 | 813 | |
814 | - // Save all preferences or a subset based on venue |
|
815 | - //drupal_set_message('<pre>' . print_r($main_prefs, true) . '</pre>'); |
|
816 | - $new_venue = true; |
|
817 | - if (!$venue OR $venue == 'generic') { |
|
814 | + // Save all preferences or a subset based on venue |
|
815 | + //drupal_set_message('<pre>' . print_r($main_prefs, true) . '</pre>'); |
|
816 | + $new_venue = true; |
|
817 | + if (!$venue OR $venue == 'generic') { |
|
818 | 818 | //$main_prefs = $prefs; |
819 | 819 | $main_prefs = $prefs + $main_prefs; |
820 | - } |
|
821 | - else { |
|
820 | + } |
|
821 | + else { |
|
822 | 822 | if (isset($main_prefs['venue'])) { |
823 | - if (!is_numeric(key($main_prefs['venue']))) { |
|
823 | + if (!is_numeric(key($main_prefs['venue']))) { |
|
824 | 824 | $main_prefs['venue'] = array($main_prefs['venue']); |
825 | - } |
|
826 | - foreach ($main_prefs['venue'] as $key => $prefs_venue) { |
|
825 | + } |
|
826 | + foreach ($main_prefs['venue'] as $key => $prefs_venue) { |
|
827 | 827 | if (isset($prefs_venue['@attributes']['name']) AND $prefs_venue['@attributes']['name'] == $venue) { |
828 | - if ($prefs) { |
|
828 | + if ($prefs) { |
|
829 | 829 | $main_prefs['venue'][$key] = $prefs; |
830 | - } |
|
831 | - else { |
|
830 | + } |
|
831 | + else { |
|
832 | 832 | // If prefs is null, clear out this preference set |
833 | 833 | unset($main_prefs['venue'][$key]); |
834 | 834 | if (count($main_prefs['venue']) == 0) { |
835 | - // If that was the only preference set configured, unset the |
|
836 | - // venue tag altogether |
|
837 | - unset($main_prefs['venue']); |
|
835 | + // If that was the only preference set configured, unset the |
|
836 | + // venue tag altogether |
|
837 | + unset($main_prefs['venue']); |
|
838 | 838 | } |
839 | - } |
|
840 | - $new_venue = false; |
|
841 | - break; |
|
839 | + } |
|
840 | + $new_venue = false; |
|
841 | + break; |
|
842 | + } |
|
842 | 843 | } |
843 | - } |
|
844 | 844 | } |
845 | 845 | if ($new_venue) { |
846 | - $main_prefs['venue'][] = $prefs; |
|
846 | + $main_prefs['venue'][] = $prefs; |
|
847 | + } |
|
847 | 848 | } |
848 | - } |
|
849 | 849 | |
850 | - // Set modified time |
|
851 | - if ($type == 'project') { |
|
850 | + // Set modified time |
|
851 | + if ($type == 'project') { |
|
852 | 852 | if (!isset($main_prefs['modified'])) { |
853 | - $main_prefs = array_merge(array('modified' => 0), $main_prefs); |
|
853 | + $main_prefs = array_merge(array('modified' => 0), $main_prefs); |
|
854 | 854 | } |
855 | 855 | $main_prefs['modified'] = time(); |
856 | - } else { |
|
856 | + } else { |
|
857 | 857 | if (!isset($main_prefs['mod_time'])) { |
858 | - $main_prefs = array_merge(array('mod_time' => 0), $main_prefs); |
|
858 | + $main_prefs = array_merge(array('mod_time' => 0), $main_prefs); |
|
859 | 859 | } |
860 | 860 | $main_prefs['mod_time'] = time(); |
861 | 861 | // unset source information, the Client will fill this in again |
862 | 862 | if (isset($main_prefs['source_project'])) { |
863 | - unset($main_prefs['source_project']); |
|
863 | + unset($main_prefs['source_project']); |
|
864 | 864 | } |
865 | 865 | if (isset($main_prefs['source_scheduler'])) { |
866 | - unset($main_prefs['source_scheduler']); |
|
866 | + unset($main_prefs['source_scheduler']); |
|
867 | + } |
|
867 | 868 | } |
868 | - } |
|
869 | 869 | |
870 | - // Convert prefs back to XML and save to database |
|
871 | - $result = null; |
|
872 | - if ($type == 'project') { |
|
870 | + // Convert prefs back to XML and save to database |
|
871 | + $result = null; |
|
872 | + if ($type == 'project') { |
|
873 | 873 | $main_prefs = array('project_preferences' => $main_prefs); |
874 | 874 | $boincuser->project_prefs = save_configuration($main_prefs); |
875 | 875 | db_set_active('boinc_rw'); |
876 | 876 | $result = db_query("UPDATE user SET project_prefs = '{$boincuser->project_prefs}' WHERE id = '{$boincuser->id}'"); |
877 | 877 | db_set_active('default'); |
878 | - } |
|
879 | - else { |
|
878 | + } |
|
879 | + else { |
|
880 | 880 | $main_prefs = array('global_preferences' => $main_prefs); |
881 | 881 | $boincuser->global_prefs = save_configuration($main_prefs); |
882 | 882 | db_set_active('boinc_rw'); |
883 | 883 | $result = db_query("UPDATE user SET global_prefs = '{$boincuser->global_prefs}' WHERE id = '{$boincuser->id}'"); |
884 | 884 | db_set_active('default'); |
885 | - } |
|
886 | - return $result; |
|
885 | + } |
|
886 | + return $result; |
|
887 | 887 | } |
888 | 888 | |
889 | 889 | |
@@ -900,9 +900,9 @@ discard block |
||
900 | 900 | *username. Called from privacy preference form. |
901 | 901 | */ |
902 | 902 | function boincwork_ignore_user_add_user_username($name = NULL) { |
903 | - global $user; |
|
903 | + global $user; |
|
904 | 904 | |
905 | - if (isset($name)) { |
|
905 | + if (isset($name)) { |
|
906 | 906 | // Get the BOINC ID from the name string, and lookup the |
907 | 907 | // corresponding drupal user. |
908 | 908 | $boincname = substr($name, 0, strrpos($name, '_')); |
@@ -911,84 +911,84 @@ discard block |
||
911 | 911 | $iuid = get_drupal_id($boincid); |
912 | 912 | |
913 | 913 | if ($user->uid == $iuid) { |
914 | - drupal_set_message(bts('You can\'t add yourself to your own ignore list.', array(), NULL, 'boinc:ignore-user-error-message'), 'error'); |
|
915 | - drupal_goto('account/prefs/privacy'); |
|
914 | + drupal_set_message(bts('You can\'t add yourself to your own ignore list.', array(), NULL, 'boinc:ignore-user-error-message'), 'error'); |
|
915 | + drupal_goto('account/prefs/privacy'); |
|
916 | 916 | } |
917 | 917 | |
918 | 918 | if (is_numeric($iuid) && $iuid > 0) { |
919 | - if (!db_result(db_query('SELECT COUNT(iuid) FROM {ignore_user} WHERE uid = %d AND iuid = %d', $user->uid, $iuid))) { |
|
919 | + if (!db_result(db_query('SELECT COUNT(iuid) FROM {ignore_user} WHERE uid = %d AND iuid = %d', $user->uid, $iuid))) { |
|
920 | 920 | db_query('INSERT INTO {ignore_user} (uid, iuid) VALUES (%d, %d)', $user->uid, $iuid); |
921 | - }// endif db_result |
|
921 | + }// endif db_result |
|
922 | 922 | |
923 | - if (module_exists('pm_block_user')) { |
|
923 | + if (module_exists('pm_block_user')) { |
|
924 | 924 | if (!db_result(db_query('SELECT COUNT(recipient) FROM {pm_block_user} WHERE author = %d AND recipient = %d', $iuid, $user->uid))) { |
925 | - db_query('INSERT INTO {pm_block_user} (author, recipient) VALUES (%d, %d)', $iuid, $user->uid); |
|
925 | + db_query('INSERT INTO {pm_block_user} (author, recipient) VALUES (%d, %d)', $iuid, $user->uid); |
|
926 | 926 | }// endif db_result |
927 | - }// endif module_exists('pm_block_user') |
|
927 | + }// endif module_exists('pm_block_user') |
|
928 | 928 | |
929 | 929 | }// endif $iuid |
930 | - } |
|
930 | + } |
|
931 | 931 | } |
932 | 932 | |
933 | 933 | /** |
934 | 934 | * Add another user's UID to the current user's ignore list. |
935 | 935 | */ |
936 | 936 | function boincwork_ignore_user_add_user($iuid = NULL) { |
937 | - global $user; |
|
937 | + global $user; |
|
938 | 938 | |
939 | - if ($user->uid == $iuid) { |
|
939 | + if ($user->uid == $iuid) { |
|
940 | 940 | drupal_set_message(bts('You can\'t add yourself to your own ignore list.', array(), NULL, 'boinc:ignore-user-error-message'), 'error'); |
941 | 941 | drupal_goto(); |
942 | - } |
|
942 | + } |
|
943 | 943 | |
944 | - $otheraccount = user_load($iuid); |
|
944 | + $otheraccount = user_load($iuid); |
|
945 | 945 | |
946 | - if (is_numeric($iuid) && $iuid > 0) { |
|
946 | + if (is_numeric($iuid) && $iuid > 0) { |
|
947 | 947 | if (!db_result(db_query('SELECT COUNT(iuid) FROM {ignore_user} WHERE uid = %d AND iuid = %d', $user->uid, $iuid))) { |
948 | - db_query('INSERT INTO {ignore_user} (uid, iuid) VALUES (%d, %d)', $user->uid, $iuid); |
|
948 | + db_query('INSERT INTO {ignore_user} (uid, iuid) VALUES (%d, %d)', $user->uid, $iuid); |
|
949 | 949 | }// endif db_result |
950 | 950 | |
951 | 951 | if (module_exists('pm_block_user')) { |
952 | - if (!db_result(db_query('SELECT COUNT(recipient) FROM {pm_block_user} WHERE author = %d AND recipient = %d', $iuid, $user->uid))) { |
|
952 | + if (!db_result(db_query('SELECT COUNT(recipient) FROM {pm_block_user} WHERE author = %d AND recipient = %d', $iuid, $user->uid))) { |
|
953 | 953 | db_query('INSERT INTO {pm_block_user} (author, recipient) VALUES (%d, %d)', $iuid, $user->uid); |
954 | - }// endif db_result |
|
954 | + }// endif db_result |
|
955 | 955 | }// endif module_exists('pm_block_user') |
956 | 956 | |
957 | 957 | drupal_set_message( |
958 | - bts('@username has been added to your ignore list. See your !privacy_preferences for more details.', |
|
958 | + bts('@username has been added to your ignore list. See your !privacy_preferences for more details.', |
|
959 | 959 | array( |
960 | - '@username' => $otheraccount->boincuser_name, |
|
961 | - '!privacy_preferences' => l(bts('privacy preferences', array(), NULL, 'boinc:ignore-user-add'), 'account/prefs/privacy'), |
|
960 | + '@username' => $otheraccount->boincuser_name, |
|
961 | + '!privacy_preferences' => l(bts('privacy preferences', array(), NULL, 'boinc:ignore-user-add'), 'account/prefs/privacy'), |
|
962 | 962 | ), |
963 | 963 | NULL, 'boinc:ignore-user-add'), |
964 | - 'status'); |
|
964 | + 'status'); |
|
965 | 965 | drupal_goto(); |
966 | - } |
|
967 | - else { |
|
966 | + } |
|
967 | + else { |
|
968 | 968 | drupal_not_found(); |
969 | - }// endif iuid |
|
969 | + }// endif iuid |
|
970 | 970 | } |
971 | 971 | |
972 | 972 | /** |
973 | 973 | * Remove user from user's ignore list. |
974 | 974 | */ |
975 | 975 | function boincwork_ignore_user_remove_user($iuid = NULL) { |
976 | - global $user; |
|
977 | - $otheraccount = user_load($iuid); |
|
976 | + global $user; |
|
977 | + $otheraccount = user_load($iuid); |
|
978 | 978 | |
979 | - db_query('DELETE FROM {ignore_user} WHERE uid = %d AND iuid = %d', $user->uid, $iuid); |
|
980 | - if (module_exists('pm_block_user')) { |
|
979 | + db_query('DELETE FROM {ignore_user} WHERE uid = %d AND iuid = %d', $user->uid, $iuid); |
|
980 | + if (module_exists('pm_block_user')) { |
|
981 | 981 | db_query('DELETE FROM {pm_block_user} WHERE author = %d AND recipient = %d', $iuid, $user->uid); |
982 | - }// endif module_exists |
|
983 | - drupal_set_message( |
|
982 | + }// endif module_exists |
|
983 | + drupal_set_message( |
|
984 | 984 | bts('@username has been removed from your ignore list. See your !privacy_preferences for more details.', |
985 | - array( |
|
985 | + array( |
|
986 | 986 | '@username' => $otheraccount->boincuser_name, |
987 | 987 | '!privacy_preferences' => l(bts('privacy preferences', array(), NULL, 'boinc:ignore-user-add'), 'account/prefs/privacy'), |
988 | - ), |
|
989 | - NULL, 'boinc:ignore-user-add'), |
|
988 | + ), |
|
989 | + NULL, 'boinc:ignore-user-add'), |
|
990 | 990 | 'status'); |
991 | - drupal_goto('account/prefs/privacy'); |
|
991 | + drupal_goto('account/prefs/privacy'); |
|
992 | 992 | } |
993 | 993 | |
994 | 994 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * |
@@ -1002,18 +1002,18 @@ discard block |
||
1002 | 1002 | */ |
1003 | 1003 | function boincwork_load_privacyconsenttypes() { |
1004 | 1004 | |
1005 | - db_set_active('boinc_rw'); |
|
1006 | - $db_result = db_query("SELECT id,shortname,description FROM consent_type WHERE enabled=1 AND privacypref=1 ORDER by project_specific ASC"); |
|
1007 | - db_set_active('drupal'); |
|
1005 | + db_set_active('boinc_rw'); |
|
1006 | + $db_result = db_query("SELECT id,shortname,description FROM consent_type WHERE enabled=1 AND privacypref=1 ORDER by project_specific ASC"); |
|
1007 | + db_set_active('drupal'); |
|
1008 | 1008 | |
1009 | - if ($db_result) { |
|
1009 | + if ($db_result) { |
|
1010 | 1010 | $consent_types = array(); |
1011 | 1011 | while ($result = db_fetch_array($db_result)) { |
1012 | - $consent_types[] = $result; |
|
1012 | + $consent_types[] = $result; |
|
1013 | 1013 | } |
1014 | 1014 | return $consent_types; |
1015 | - } |
|
1016 | - return array(); |
|
1015 | + } |
|
1016 | + return array(); |
|
1017 | 1017 | } |
1018 | 1018 | |
1019 | 1019 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * |
@@ -1025,94 +1025,94 @@ discard block |
||
1025 | 1025 | */ |
1026 | 1026 | function boincwork_set_default_venue($venue = '') { |
1027 | 1027 | |
1028 | - global $user; |
|
1029 | - $account = user_load($user->uid); |
|
1028 | + global $user; |
|
1029 | + $account = user_load($user->uid); |
|
1030 | 1030 | |
1031 | - if ($venue == 'generic') { |
|
1031 | + if ($venue == 'generic') { |
|
1032 | 1032 | $venue = ''; |
1033 | - } |
|
1033 | + } |
|
1034 | 1034 | |
1035 | - db_set_active('boinc_rw'); |
|
1036 | - db_query(" |
|
1035 | + db_set_active('boinc_rw'); |
|
1036 | + db_query(" |
|
1037 | 1037 | UPDATE user |
1038 | 1038 | SET venue = '%s' |
1039 | 1039 | WHERE id = %d", |
1040 | 1040 | $venue, $account->boincuser_id |
1041 | - ); |
|
1042 | - db_set_active('default'); |
|
1041 | + ); |
|
1042 | + db_set_active('default'); |
|
1043 | 1043 | } |
1044 | 1044 | |
1045 | 1045 | /** |
1046 | 1046 | * Recursively validate submitted form values against a set of rules |
1047 | 1047 | */ |
1048 | 1048 | function boincwork_validate_form($validation_rules, $values, $path = array()) { |
1049 | - foreach ($validation_rules as $field => $rules) { |
|
1049 | + foreach ($validation_rules as $field => $rules) { |
|
1050 | 1050 | $parents = $path; |
1051 | 1051 | if (is_array($values[$field])) { |
1052 | - // Process nested form elements |
|
1053 | - $parents[] = $field; |
|
1054 | - boincwork_validate_form($rules, $values[$field], $parents); |
|
1052 | + // Process nested form elements |
|
1053 | + $parents[] = $field; |
|
1054 | + boincwork_validate_form($rules, $values[$field], $parents); |
|
1055 | 1055 | } |
1056 | 1056 | else { |
1057 | - if ($parents) { |
|
1057 | + if ($parents) { |
|
1058 | 1058 | // form_set_error() identifies nested form elements with '][' as a |
1059 | 1059 | // delimiter between each parent and child element |
1060 | 1060 | $parents[] = $field; |
1061 | 1061 | $form_field = implode('][', $parents); |
1062 | - } |
|
1063 | - else { |
|
1062 | + } |
|
1063 | + else { |
|
1064 | 1064 | $form_field = $field; |
1065 | - } |
|
1066 | - if (isset($rules['datatype']) AND !boincwork_validate_datatype($values[$field], $rules['datatype'])) { |
|
1065 | + } |
|
1066 | + if (isset($rules['datatype']) AND !boincwork_validate_datatype($values[$field], $rules['datatype'])) { |
|
1067 | 1067 | form_set_error($form_field, bts('Invalid data type for @field', array('@field' => $field), NULL, 'boinc:account-preferences')); |
1068 | - } |
|
1069 | - if (isset($rules['min']) AND $values[$field] < $rules['min']) { |
|
1068 | + } |
|
1069 | + if (isset($rules['min']) AND $values[$field] < $rules['min']) { |
|
1070 | 1070 | form_set_error($form_field, bts('Minimum value not met for @field', array('@field' => $field), NULL, 'boinc:account-preferences')); |
1071 | - } |
|
1072 | - if (isset($rules['max']) AND $values[$field] > $rules['max']) { |
|
1071 | + } |
|
1072 | + if (isset($rules['max']) AND $values[$field] > $rules['max']) { |
|
1073 | 1073 | form_set_error($form_field, bts('Maximum value exceeded for @field', array('@field' => $field), NULL, 'boinc:account-preferences')); |
1074 | - } |
|
1074 | + } |
|
1075 | + } |
|
1075 | 1076 | } |
1076 | - } |
|
1077 | 1077 | } |
1078 | 1078 | |
1079 | 1079 | /** |
1080 | 1080 | * Check that numeric data conforms to specifications |
1081 | 1081 | */ |
1082 | 1082 | function boincwork_validate_datatype($data, $datatype = NULL) { |
1083 | - switch ($datatype) { |
|
1084 | - case 'float': |
|
1083 | + switch ($datatype) { |
|
1084 | + case 'float': |
|
1085 | 1085 | if (!is_numeric($data)) { |
1086 | - return FALSE; |
|
1086 | + return FALSE; |
|
1087 | 1087 | } |
1088 | 1088 | $data += 0.0; |
1089 | 1089 | if (!is_float($data)) { |
1090 | - return FALSE; |
|
1090 | + return FALSE; |
|
1091 | 1091 | } |
1092 | 1092 | break; |
1093 | 1093 | |
1094 | - case 'integer': |
|
1094 | + case 'integer': |
|
1095 | 1095 | if (!is_numeric($data)) { |
1096 | - return FALSE; |
|
1096 | + return FALSE; |
|
1097 | 1097 | } |
1098 | 1098 | $data += 0; |
1099 | 1099 | if (!is_int($data)) { |
1100 | - return FALSE; |
|
1100 | + return FALSE; |
|
1101 | 1101 | } |
1102 | 1102 | break; |
1103 | 1103 | |
1104 | - case 'text': |
|
1104 | + case 'text': |
|
1105 | 1105 | default: |
1106 | 1106 | |
1107 | 1107 | } |
1108 | - return TRUE; |
|
1108 | + return TRUE; |
|
1109 | 1109 | } |
1110 | 1110 | |
1111 | 1111 | /** |
1112 | 1112 | * Format a number to be displayed using a maximum number of digits |
1113 | 1113 | */ |
1114 | 1114 | function boincwork_format_stats($number, $max_digits = 4) { |
1115 | - $suffix = array( |
|
1115 | + $suffix = array( |
|
1116 | 1116 | 0 => '', |
1117 | 1117 | 1 => 'k', |
1118 | 1118 | 2 => 'M', |
@@ -1122,94 +1122,94 @@ discard block |
||
1122 | 1122 | 6 => 'E', |
1123 | 1123 | 7 => 'Z', |
1124 | 1124 | 8 => 'Y' |
1125 | - ); |
|
1126 | - if (!is_numeric($number)) $number = 0; |
|
1125 | + ); |
|
1126 | + if (!is_numeric($number)) $number = 0; |
|
1127 | 1127 | |
1128 | - $digits = floor(log($number, 10)) + 1; |
|
1129 | - $magnitude = 0; |
|
1130 | - $precision = 0; |
|
1131 | - if ($digits > $max_digits) { |
|
1128 | + $digits = floor(log($number, 10)) + 1; |
|
1129 | + $magnitude = 0; |
|
1130 | + $precision = 0; |
|
1131 | + if ($digits > $max_digits) { |
|
1132 | 1132 | $magnitude = floor(($digits - ($max_digits - 3)) / 3); |
1133 | 1133 | $precision = $max_digits - ($digits - ($magnitude * 3) + 1); |
1134 | 1134 | $number = round($number / pow(1000, $magnitude), $precision); |
1135 | - } |
|
1136 | - $number = number_format($number, $precision) . (($magnitude) ? "{$suffix[$magnitude]}" : ''); |
|
1135 | + } |
|
1136 | + $number = number_format($number, $precision) . (($magnitude) ? "{$suffix[$magnitude]}" : ''); |
|
1137 | 1137 | |
1138 | - return $number; |
|
1138 | + return $number; |
|
1139 | 1139 | } |
1140 | 1140 | |
1141 | - //------------------------------------------------------------------------------------------------ |
|
1142 | - // load_configuration(): Convert structured text/xml to array |
|
1143 | - //------------------------------------------------------------------------------------------------ |
|
1141 | + //------------------------------------------------------------------------------------------------ |
|
1142 | + // load_configuration(): Convert structured text/xml to array |
|
1143 | + //------------------------------------------------------------------------------------------------ |
|
1144 | 1144 | |
1145 | - function load_configuration($text) |
|
1146 | - { |
|
1147 | - if (preg_match('/^\<\?xml .*\?\>$/i', $text)) return null; |
|
1148 | - if ($xml = text_to_xml($text)) return xml_to_array($xml); |
|
1149 | - return false; |
|
1150 | - } |
|
1145 | + function load_configuration($text) |
|
1146 | + { |
|
1147 | + if (preg_match('/^\<\?xml .*\?\>$/i', $text)) return null; |
|
1148 | + if ($xml = text_to_xml($text)) return xml_to_array($xml); |
|
1149 | + return false; |
|
1150 | + } |
|
1151 | 1151 | |
1152 | - //------------------------------------------------------------------------------------------------ |
|
1153 | - // save_configuration(): Convert array to structured text/xml |
|
1154 | - //------------------------------------------------------------------------------------------------ |
|
1152 | + //------------------------------------------------------------------------------------------------ |
|
1153 | + // save_configuration(): Convert array to structured text/xml |
|
1154 | + //------------------------------------------------------------------------------------------------ |
|
1155 | 1155 | |
1156 | - function save_configuration($array) |
|
1157 | - { |
|
1158 | - if ($xml = array_to_xml($array)) return xml_to_text($xml, false, true); |
|
1159 | - return false; |
|
1160 | - } |
|
1156 | + function save_configuration($array) |
|
1157 | + { |
|
1158 | + if ($xml = array_to_xml($array)) return xml_to_text($xml, false, true); |
|
1159 | + return false; |
|
1160 | + } |
|
1161 | 1161 | |
1162 | - //------------------------------------------------------------------------------------------------ |
|
1163 | - // array_to_xml(): Take a multidimensional array and convert it to a structured |
|
1164 | - // DOM XML object |
|
1165 | - //------------------------------------------------------------------------------------------------ |
|
1162 | + //------------------------------------------------------------------------------------------------ |
|
1163 | + // array_to_xml(): Take a multidimensional array and convert it to a structured |
|
1164 | + // DOM XML object |
|
1165 | + //------------------------------------------------------------------------------------------------ |
|
1166 | 1166 | |
1167 | - function array_to_xml($array, $dom = false, $parent_node = false) { |
|
1167 | + function array_to_xml($array, $dom = false, $parent_node = false) { |
|
1168 | 1168 | $is_root = false; |
1169 | 1169 | if (!$dom) $dom = new DomDocument('1.0'); |
1170 | 1170 | if (!$parent_node) { |
1171 | - $parent_node = $dom; |
|
1172 | - $is_root = true; |
|
1171 | + $parent_node = $dom; |
|
1172 | + $is_root = true; |
|
1173 | 1173 | } |
1174 | 1174 | // Created an intermediate array to attempt to sort by @position |
1175 | 1175 | $ordered_array = array(); |
1176 | 1176 | $unordered_array = array(); |
1177 | 1177 | foreach ($array as $name => $value) { |
1178 | - if ($is_root) { |
|
1178 | + if ($is_root) { |
|
1179 | 1179 | $unordered_array[] = $array; |
1180 | 1180 | break; |
1181 | - } |
|
1182 | - if (is_array($value)) { |
|
1181 | + } |
|
1182 | + if (is_array($value)) { |
|
1183 | 1183 | if (is_numeric(key($value))) { |
1184 | - foreach ($value as $item) { |
|
1184 | + foreach ($value as $item) { |
|
1185 | 1185 | if (is_array($item) AND isset($item['@position'])) { |
1186 | - $ordered_array[$item['@position']] = array( |
|
1186 | + $ordered_array[$item['@position']] = array( |
|
1187 | 1187 | $name => $item |
1188 | - ); |
|
1188 | + ); |
|
1189 | 1189 | } |
1190 | 1190 | else { |
1191 | - $unordered_array[] = array( |
|
1191 | + $unordered_array[] = array( |
|
1192 | 1192 | $name => $item |
1193 | - ); |
|
1193 | + ); |
|
1194 | + } |
|
1194 | 1195 | } |
1195 | - } |
|
1196 | 1196 | } |
1197 | 1197 | elseif (isset($value['@position'])) { |
1198 | - $ordered_array[$value['@position']] = array( |
|
1198 | + $ordered_array[$value['@position']] = array( |
|
1199 | 1199 | $name => $value |
1200 | - ); |
|
1200 | + ); |
|
1201 | 1201 | } |
1202 | 1202 | else { |
1203 | - $unordered_array[] = array( |
|
1203 | + $unordered_array[] = array( |
|
1204 | 1204 | $name => $value |
1205 | - ); |
|
1205 | + ); |
|
1206 | 1206 | } |
1207 | - } |
|
1208 | - else { |
|
1207 | + } |
|
1208 | + else { |
|
1209 | 1209 | $unordered_array[] = array( |
1210 | - $name => $value |
|
1210 | + $name => $value |
|
1211 | 1211 | ); |
1212 | - } |
|
1212 | + } |
|
1213 | 1213 | } |
1214 | 1214 | |
1215 | 1215 | // Now append items without explicit positions at the end |
@@ -1217,39 +1217,39 @@ discard block |
||
1217 | 1217 | |
1218 | 1218 | // Convert to XML... |
1219 | 1219 | foreach ($primed_array as $item) { |
1220 | - list($name, $value) = each($item); |
|
1221 | - if (strcmp($name, '@attributes') == 0) { |
|
1220 | + list($name, $value) = each($item); |
|
1221 | + if (strcmp($name, '@attributes') == 0) { |
|
1222 | 1222 | if (!is_array($value)) continue; |
1223 | 1223 | foreach ($value as $attributeName => $attributeValue) { |
1224 | - $parent_node->setAttribute($attributeName, $attributeValue); |
|
1224 | + $parent_node->setAttribute($attributeName, $attributeValue); |
|
1225 | 1225 | } |
1226 | - } elseif (strcmp($name, '@value') == 0) { |
|
1226 | + } elseif (strcmp($name, '@value') == 0) { |
|
1227 | 1227 | if (isset($value)) $parent_node->nodeValue = $value; |
1228 | - } elseif (strcmp($name, '@position') == 0) { |
|
1228 | + } elseif (strcmp($name, '@position') == 0) { |
|
1229 | 1229 | continue; |
1230 | - } else { |
|
1230 | + } else { |
|
1231 | 1231 | if (is_numeric($name)) { |
1232 | - $name = $parent_node->tagName; |
|
1232 | + $name = $parent_node->tagName; |
|
1233 | 1233 | } |
1234 | 1234 | $current_item = $dom->createElement($name); |
1235 | 1235 | if (is_array($value)) { |
1236 | - if (is_numeric(key($value))) { |
|
1236 | + if (is_numeric(key($value))) { |
|
1237 | 1237 | $current_node = $parent_node->appendChild($current_item); |
1238 | 1238 | $current_node = array_to_xml($value, $dom, $current_node); |
1239 | 1239 | $child_count = $current_node->childNodes->length; |
1240 | 1240 | for ($i = 0; $i < $child_count; $i++) { |
1241 | - $parent_node->appendChild($current_node->childNodes->item(0)); |
|
1241 | + $parent_node->appendChild($current_node->childNodes->item(0)); |
|
1242 | 1242 | } |
1243 | 1243 | $parent_node->removeChild($current_node); |
1244 | - } else { |
|
1244 | + } else { |
|
1245 | 1245 | $current_node = $dom->appendChild($current_item); |
1246 | 1246 | $parent_node->appendChild(array_to_xml($value, $dom, $current_node)); |
1247 | - } |
|
1247 | + } |
|
1248 | 1248 | } else { |
1249 | - if (isset($value)) $current_item->nodeValue = $value; |
|
1250 | - $parent_node->appendChild($current_item); |
|
1249 | + if (isset($value)) $current_item->nodeValue = $value; |
|
1250 | + $parent_node->appendChild($current_item); |
|
1251 | + } |
|
1251 | 1252 | } |
1252 | - } |
|
1253 | 1253 | } |
1254 | 1254 | /* |
1255 | 1255 | foreach ($array as $name => $value) { |
@@ -1285,114 +1285,114 @@ discard block |
||
1285 | 1285 | } |
1286 | 1286 | }*/ |
1287 | 1287 | return $parent_node; |
1288 | - } |
|
1288 | + } |
|
1289 | 1289 | |
1290 | - //------------------------------------------------------------------------------------------------ |
|
1291 | - // xml_to_text(): Convert an XML DOM object to string format |
|
1292 | - //------------------------------------------------------------------------------------------------ |
|
1290 | + //------------------------------------------------------------------------------------------------ |
|
1291 | + // xml_to_text(): Convert an XML DOM object to string format |
|
1292 | + //------------------------------------------------------------------------------------------------ |
|
1293 | 1293 | |
1294 | - function xml_to_text($xml, $include_xml_declaration = true, $add_carriage_returns = false) |
|
1295 | - { |
|
1296 | - $xml->formatOutput = true; |
|
1297 | - $text = $xml->saveXML(); |
|
1298 | - if (!$include_xml_declaration) { |
|
1294 | + function xml_to_text($xml, $include_xml_declaration = true, $add_carriage_returns = false) |
|
1295 | + { |
|
1296 | + $xml->formatOutput = true; |
|
1297 | + $text = $xml->saveXML(); |
|
1298 | + if (!$include_xml_declaration) { |
|
1299 | 1299 | $text = preg_replace('/<\?xml version=.*\?>\s*/i', '', $text, 1); |
1300 | - } |
|
1301 | - if ($add_carriage_returns) {; |
|
1300 | + } |
|
1301 | + if ($add_carriage_returns) {; |
|
1302 | 1302 | $text = preg_replace('/\n/i', "\r\n", $text); |
1303 | - } |
|
1304 | - return trim($text); |
|
1305 | - } |
|
1303 | + } |
|
1304 | + return trim($text); |
|
1305 | + } |
|
1306 | 1306 | |
1307 | - //------------------------------------------------------------------------------------------------ |
|
1308 | - // text_to_xml(): Convert an XML DOM object to string format |
|
1309 | - //------------------------------------------------------------------------------------------------ |
|
1307 | + //------------------------------------------------------------------------------------------------ |
|
1308 | + // text_to_xml(): Convert an XML DOM object to string format |
|
1309 | + //------------------------------------------------------------------------------------------------ |
|
1310 | 1310 | |
1311 | - function text_to_xml($text) { |
|
1311 | + function text_to_xml($text) { |
|
1312 | 1312 | $xml = new DomDocument(); |
1313 | 1313 | if ( !($xml->loadXML($text)) ) return false; |
1314 | 1314 | return $xml; |
1315 | - } |
|
1315 | + } |
|
1316 | 1316 | |
1317 | 1317 | |
1318 | - //------------------------------------------------------------------------------------------------ |
|
1319 | - // xml_to_array(): Convert an XML DOM object to array format |
|
1320 | - //------------------------------------------------------------------------------------------------ |
|
1318 | + //------------------------------------------------------------------------------------------------ |
|
1319 | + // xml_to_array(): Convert an XML DOM object to array format |
|
1320 | + //------------------------------------------------------------------------------------------------ |
|
1321 | 1321 | |
1322 | - function xml_to_array($xml) { |
|
1323 | - $node = $xml->firstChild; //$xml->first_child(); |
|
1324 | - $result = ''; |
|
1325 | - $index = 1; |
|
1326 | - $position = 0; |
|
1327 | - while (!is_null($node)) { |
|
1328 | - switch ($node->nodeType) { |
|
1329 | - case XML_TEXT_NODE: |
|
1322 | + function xml_to_array($xml) { |
|
1323 | + $node = $xml->firstChild; //$xml->first_child(); |
|
1324 | + $result = ''; |
|
1325 | + $index = 1; |
|
1326 | + $position = 0; |
|
1327 | + while (!is_null($node)) { |
|
1328 | + switch ($node->nodeType) { |
|
1329 | + case XML_TEXT_NODE: |
|
1330 | 1330 | if (trim($node->nodeValue) != '') $result = $node->nodeValue; |
1331 | - break; |
|
1332 | - case XML_ELEMENT_NODE: |
|
1331 | + break; |
|
1332 | + case XML_ELEMENT_NODE: |
|
1333 | 1333 | $node_name = $node->nodeName; |
1334 | - $parent = $node->parentNode; |
|
1335 | - $sibling = $node->nextSibling; |
|
1336 | - |
|
1337 | - // Determine if this node forms a set with siblings (share a node name) |
|
1338 | - while (($sibling) AND (($sibling->nodeType != XML_ELEMENT_NODE) OR ($sibling->nodeName != $node->nodeName))) $sibling = $sibling->nextSibling; |
|
1339 | - if (!$sibling) { |
|
1340 | - $sibling = $node->previousSibling; |
|
1341 | - while (($sibling) AND (($sibling->nodeType != XML_ELEMENT_NODE) OR ($sibling->nodeName != $node->nodeName))) $sibling = $sibling->previousSibling; |
|
1342 | - } |
|
1343 | - |
|
1344 | - if ($sibling) { |
|
1345 | - $result[$node_name][$index] = ''; |
|
1346 | - if ($node->childNodes) { |
|
1347 | - $result[$node_name][$index] = xml_to_array($node) ; |
|
1348 | - } |
|
1349 | - if ($node->hasAttributes()) { |
|
1350 | - $attributes = $node->attributes; |
|
1351 | - if ($result[$node_name][$index] !== '' AND !is_array($result[$node_name][$index])) { |
|
1352 | - $result[$node_name][$index] = array('@value' => $result[$node_name][$index]); |
|
1353 | - } |
|
1354 | - foreach ($attributes as $key => $attribute) { |
|
1355 | - $result[$node_name][$index]['@attributes'][$attribute->name] = $attribute->value; |
|
1356 | - } |
|
1357 | - } |
|
1358 | - // Retain the position of the element |
|
1359 | - if (!is_array($result[$node_name][$index])) { |
|
1334 | + $parent = $node->parentNode; |
|
1335 | + $sibling = $node->nextSibling; |
|
1336 | + |
|
1337 | + // Determine if this node forms a set with siblings (share a node name) |
|
1338 | + while (($sibling) AND (($sibling->nodeType != XML_ELEMENT_NODE) OR ($sibling->nodeName != $node->nodeName))) $sibling = $sibling->nextSibling; |
|
1339 | + if (!$sibling) { |
|
1340 | + $sibling = $node->previousSibling; |
|
1341 | + while (($sibling) AND (($sibling->nodeType != XML_ELEMENT_NODE) OR ($sibling->nodeName != $node->nodeName))) $sibling = $sibling->previousSibling; |
|
1342 | + } |
|
1343 | + |
|
1344 | + if ($sibling) { |
|
1345 | + $result[$node_name][$index] = ''; |
|
1346 | + if ($node->childNodes) { |
|
1347 | + $result[$node_name][$index] = xml_to_array($node) ; |
|
1348 | + } |
|
1349 | + if ($node->hasAttributes()) { |
|
1350 | + $attributes = $node->attributes; |
|
1351 | + if ($result[$node_name][$index] !== '' AND !is_array($result[$node_name][$index])) { |
|
1352 | + $result[$node_name][$index] = array('@value' => $result[$node_name][$index]); |
|
1353 | + } |
|
1354 | + foreach ($attributes as $key => $attribute) { |
|
1355 | + $result[$node_name][$index]['@attributes'][$attribute->name] = $attribute->value; |
|
1356 | + } |
|
1357 | + } |
|
1358 | + // Retain the position of the element |
|
1359 | + if (!is_array($result[$node_name][$index])) { |
|
1360 | 1360 | $result[$node_name][$index] = array( |
1361 | - '@value' => $result[$node_name][$index] |
|
1361 | + '@value' => $result[$node_name][$index] |
|
1362 | 1362 | ); |
1363 | - } |
|
1364 | - $result[$node_name][$index]['@position'] = $position; |
|
1365 | - $position++; |
|
1366 | - $index++; |
|
1367 | - } else { |
|
1368 | - $result[$node_name] = ''; |
|
1369 | - if ($node->childNodes) { |
|
1370 | - $result[$node_name] = xml_to_array($node) ; |
|
1371 | - } |
|
1372 | - if ($node->hasAttributes()) { |
|
1373 | - $attributes = $node->attributes; |
|
1374 | - if ($result[$node_name] !== '' AND !is_array($result[$node_name])) { |
|
1375 | - $result[$node_name] = array('@value' => $result[$node_name]); |
|
1376 | - } |
|
1377 | - foreach($attributes as $key => $attribute) { |
|
1378 | - $result[$node_name]['@attributes'][$attribute->name] = $attribute->value; |
|
1379 | - } |
|
1380 | - } |
|
1381 | - // Retain the position of the element |
|
1382 | - if (!is_array($result[$node_name])) { |
|
1363 | + } |
|
1364 | + $result[$node_name][$index]['@position'] = $position; |
|
1365 | + $position++; |
|
1366 | + $index++; |
|
1367 | + } else { |
|
1368 | + $result[$node_name] = ''; |
|
1369 | + if ($node->childNodes) { |
|
1370 | + $result[$node_name] = xml_to_array($node) ; |
|
1371 | + } |
|
1372 | + if ($node->hasAttributes()) { |
|
1373 | + $attributes = $node->attributes; |
|
1374 | + if ($result[$node_name] !== '' AND !is_array($result[$node_name])) { |
|
1375 | + $result[$node_name] = array('@value' => $result[$node_name]); |
|
1376 | + } |
|
1377 | + foreach($attributes as $key => $attribute) { |
|
1378 | + $result[$node_name]['@attributes'][$attribute->name] = $attribute->value; |
|
1379 | + } |
|
1380 | + } |
|
1381 | + // Retain the position of the element |
|
1382 | + if (!is_array($result[$node_name])) { |
|
1383 | 1383 | $result[$node_name] = array( |
1384 | - '@value' => $result[$node_name] |
|
1384 | + '@value' => $result[$node_name] |
|
1385 | 1385 | ); |
1386 | - } |
|
1387 | - $result[$node_name]['@position'] = $position; |
|
1388 | - $position++; |
|
1389 | - } |
|
1390 | - break; |
|
1391 | - } |
|
1392 | - $node = $node->nextSibling; |
|
1393 | - } |
|
1394 | - return $result; |
|
1395 | - } |
|
1386 | + } |
|
1387 | + $result[$node_name]['@position'] = $position; |
|
1388 | + $position++; |
|
1389 | + } |
|
1390 | + break; |
|
1391 | + } |
|
1392 | + $node = $node->nextSibling; |
|
1393 | + } |
|
1394 | + return $result; |
|
1395 | + } |
|
1396 | 1396 | |
1397 | 1397 | |
1398 | 1398 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * |
@@ -1400,172 +1400,172 @@ discard block |
||
1400 | 1400 | * * * * * * * * * * * * * * * * * * * * * * * * * * * */ |
1401 | 1401 | |
1402 | 1402 | /** |
1403 | - * Determine output for host list views when no hosts are found. |
|
1404 | - */ |
|
1403 | + * Determine output for host list views when no hosts are found. |
|
1404 | + */ |
|
1405 | 1405 | function boincwork_views_host_list_empty_text($context = NULL) { |
1406 | 1406 | |
1407 | - // Pull the BOINC user ID from the view arguments to get show_hosts |
|
1408 | - // preference for that user |
|
1409 | - require_boinc('boinc_db'); |
|
1410 | - $view = views_get_current_view(); |
|
1411 | - $account = user_load($view->args[0]); |
|
1412 | - $boincuser = BoincUser::lookup_id($account->boincuser_id); |
|
1407 | + // Pull the BOINC user ID from the view arguments to get show_hosts |
|
1408 | + // preference for that user |
|
1409 | + require_boinc('boinc_db'); |
|
1410 | + $view = views_get_current_view(); |
|
1411 | + $account = user_load($view->args[0]); |
|
1412 | + $boincuser = BoincUser::lookup_id($account->boincuser_id); |
|
1413 | 1413 | |
1414 | - // Determine if hosts are associated at all or just hidden |
|
1415 | - $output = ''; |
|
1416 | - if ($boincuser->show_hosts) { |
|
1414 | + // Determine if hosts are associated at all or just hidden |
|
1415 | + $output = ''; |
|
1416 | + if ($boincuser->show_hosts) { |
|
1417 | 1417 | switch($context) { |
1418 | 1418 | case 'active': |
1419 | 1419 | $output .= '<h2>' . bts('No active computers', array(), NULL, 'boinc:host-list') . '</h2>'; |
1420 | - $output .= '<p>' . bts('This user has no computers that have been' |
|
1421 | - . ' active in the last 30 days.', array(), NULL, 'boinc:host-list') . '</p>'; |
|
1422 | - break; |
|
1420 | + $output .= '<p>' . bts('This user has no computers that have been' |
|
1421 | + . ' active in the last 30 days.', array(), NULL, 'boinc:host-list') . '</p>'; |
|
1422 | + break; |
|
1423 | 1423 | |
1424 | 1424 | case 'preferences': |
1425 | 1425 | $output .= '<h2>' . bts('No computers', array(), NULL, 'boinc:host-list') . '</h2>'; |
1426 | - $output .= '<p>' . bts('There are no computers assigned to this' |
|
1427 | - . ' preference set.', array(), NULL, 'boinc:host-list') . '</p>'; |
|
1428 | - break; |
|
1426 | + $output .= '<p>' . bts('There are no computers assigned to this' |
|
1427 | + . ' preference set.', array(), NULL, 'boinc:host-list') . '</p>'; |
|
1428 | + break; |
|
1429 | 1429 | |
1430 | 1430 | default: |
1431 | 1431 | $output .= '<h2>' . bts('Computers pending', array(), NULL, 'boinc:host-list') . '</h2>'; |
1432 | - $output .= '<p>' . bts('This user does not yet have any associated' |
|
1433 | - . ' computers. Computers will be displayed when they have earned their' |
|
1434 | - . ' first credits.', array(), NULL, 'boinc:host-list') . '</p>'; |
|
1432 | + $output .= '<p>' . bts('This user does not yet have any associated' |
|
1433 | + . ' computers. Computers will be displayed when they have earned their' |
|
1434 | + . ' first credits.', array(), NULL, 'boinc:host-list') . '</p>'; |
|
1435 | 1435 | } |
1436 | - } |
|
1437 | - else { |
|
1436 | + } |
|
1437 | + else { |
|
1438 | 1438 | $output .= '<h2>' . bts('Computers hidden', array(), NULL, 'boinc:host-list') . '</h2>'; |
1439 | 1439 | $output .= '<p>' . bts('This user has chosen not to show information' |
1440 | 1440 | . ' about their computers.', array(), NULL, 'boinc:host-list') . '</p>'; |
1441 | - } |
|
1442 | - return $output; |
|
1441 | + } |
|
1442 | + return $output; |
|
1443 | 1443 | } |
1444 | 1444 | |
1445 | 1445 | /** |
1446 | - * Determine output for task list views when no tasks are found. |
|
1447 | - */ |
|
1446 | + * Determine output for task list views when no tasks are found. |
|
1447 | + */ |
|
1448 | 1448 | function boincwork_views_task_list_empty_text($context = NULL) { |
1449 | 1449 | |
1450 | - // |
|
1451 | - $output = ''; |
|
1452 | - switch($context) { |
|
1453 | - default: |
|
1450 | + // |
|
1451 | + $output = ''; |
|
1452 | + switch($context) { |
|
1453 | + default: |
|
1454 | 1454 | $output .= '<h2>' . bts('No @type tasks', array('@type' => $context), NULL, 'boinc:task-list') |
1455 | 1455 | . '</h2>'; |
1456 | 1456 | $output .= '<p>' . bts('There are no tasks of this type on record', array(), NULL, 'boinc:task-list') |
1457 | 1457 | . '</p>'; |
1458 | - } |
|
1459 | - return $output; |
|
1458 | + } |
|
1459 | + return $output; |
|
1460 | 1460 | } |
1461 | 1461 | |
1462 | 1462 | /** |
1463 | - * Output links to perform host actions |
|
1464 | - */ |
|
1463 | + * Output links to perform host actions |
|
1464 | + */ |
|
1465 | 1465 | function boincwork_host_action_links($host_id) { |
1466 | - $output = ''; |
|
1467 | - if (boincwork_host_user_is_owner($host_id)) { |
|
1466 | + $output = ''; |
|
1467 | + if (boincwork_host_user_is_owner($host_id)) { |
|
1468 | 1468 | // Show merge hosts option |
1469 | 1469 | $output = '<ul class="tab-list"><li class="first tab">'; |
1470 | 1470 | $output .= l(bts('Merge', array(), NULL, 'boinc:form-merge'), "host/{$host_id}/merge"); |
1471 | 1471 | $output .= '</li>'; |
1472 | 1472 | // If host has no tasks, allow the host to be deleted |
1473 | 1473 | if (!boincwork_host_get_task_count($host_id)) { |
1474 | - $output .= '<li class="tab">'; |
|
1475 | - $output .= l(bts('Delete', array(), NULL, 'boinc:form-delete'), "host/{$host_id}/delete", |
|
1474 | + $output .= '<li class="tab">'; |
|
1475 | + $output .= l(bts('Delete', array(), NULL, 'boinc:form-delete'), "host/{$host_id}/delete", |
|
1476 | 1476 | array( |
1477 | - 'attributes' => array( |
|
1477 | + 'attributes' => array( |
|
1478 | 1478 | 'onclick' => 'return confirm(\'' . bts('This will delete host @id' |
1479 | - . ' from your account forever. Are you sure this is OK?', |
|
1480 | - array('@id' => $host_id), |
|
1481 | - NULL, 'boinc:account-host-delete') . '\')' |
|
1482 | - ) |
|
1479 | + . ' from your account forever. Are you sure this is OK?', |
|
1480 | + array('@id' => $host_id), |
|
1481 | + NULL, 'boinc:account-host-delete') . '\')' |
|
1482 | + ) |
|
1483 | 1483 | ) |
1484 | - ); |
|
1485 | - $output .= '</li>'; |
|
1484 | + ); |
|
1485 | + $output .= '</li>'; |
|
1486 | 1486 | } |
1487 | 1487 | $output .= '</ul>'; |
1488 | - } |
|
1489 | - return $output; |
|
1488 | + } |
|
1489 | + return $output; |
|
1490 | 1490 | } |
1491 | 1491 | |
1492 | 1492 | /** |
1493 | 1493 | * Get details for a given host |
1494 | 1494 | */ |
1495 | 1495 | function boincwork_host_get_info($host_id) { |
1496 | - db_set_active('boinc_ro'); |
|
1497 | - $host = db_fetch_object(db_query( |
|
1496 | + db_set_active('boinc_ro'); |
|
1497 | + $host = db_fetch_object(db_query( |
|
1498 | 1498 | "SELECT * FROM {host} WHERE id = '%d'", |
1499 | 1499 | $host_id |
1500 | - )); |
|
1501 | - db_set_active('default'); |
|
1502 | - return $host; |
|
1500 | + )); |
|
1501 | + db_set_active('default'); |
|
1502 | + return $host; |
|
1503 | 1503 | } |
1504 | 1504 | |
1505 | 1505 | /** |
1506 | 1506 | * Get the number of tasks associated with a given host |
1507 | 1507 | */ |
1508 | 1508 | function boincwork_host_get_task_count($host_id) { |
1509 | - db_set_active('boinc_ro'); |
|
1510 | - $count = db_result(db_query( |
|
1509 | + db_set_active('boinc_ro'); |
|
1510 | + $count = db_result(db_query( |
|
1511 | 1511 | "SELECT COUNT(*) FROM {result} WHERE hostid = '%d'", |
1512 | 1512 | $host_id |
1513 | - )); |
|
1514 | - db_set_active('default'); |
|
1515 | - return $count; |
|
1513 | + )); |
|
1514 | + db_set_active('default'); |
|
1515 | + return $count; |
|
1516 | 1516 | } |
1517 | 1517 | |
1518 | 1518 | /** |
1519 | 1519 | * Check whether a user is the owner of a host |
1520 | 1520 | */ |
1521 | 1521 | function boincwork_host_user_is_owner($host_id, $uid = NULL) { |
1522 | - if (!$uid) { |
|
1522 | + if (!$uid) { |
|
1523 | 1523 | global $user; |
1524 | 1524 | $uid = $user->uid; |
1525 | - } |
|
1526 | - $account = user_load($uid); |
|
1527 | - // Get host owner |
|
1528 | - db_set_active('boinc_ro'); |
|
1529 | - $owner = db_result(db_query( |
|
1525 | + } |
|
1526 | + $account = user_load($uid); |
|
1527 | + // Get host owner |
|
1528 | + db_set_active('boinc_ro'); |
|
1529 | + $owner = db_result(db_query( |
|
1530 | 1530 | "SELECT userid FROM {host} WHERE id = '%d'", |
1531 | 1531 | $host_id |
1532 | - )); |
|
1533 | - db_set_active('default'); |
|
1534 | - return ($account->boincuser_id === $owner); |
|
1532 | + )); |
|
1533 | + db_set_active('default'); |
|
1534 | + return ($account->boincuser_id === $owner); |
|
1535 | 1535 | } |
1536 | 1536 | |
1537 | 1537 | /** |
1538 | - * Determine output for host last contact time |
|
1539 | - */ |
|
1538 | + * Determine output for host last contact time |
|
1539 | + */ |
|
1540 | 1540 | function boincwork_host_last_contact($timestamp, $host_id = NULL, $context = NULL) { |
1541 | - $output = '---'; |
|
1542 | - $root_log_dir = variable_get('boinc_host_sched_logs_dir', ''); |
|
1543 | - $log = ''; |
|
1544 | - if ($timestamp) { |
|
1541 | + $output = '---'; |
|
1542 | + $root_log_dir = variable_get('boinc_host_sched_logs_dir', ''); |
|
1543 | + $log = ''; |
|
1544 | + if ($timestamp) { |
|
1545 | 1545 | $output = date('j M Y G:i:s T', $timestamp); |
1546 | - } |
|
1547 | - if ($root_log_dir AND $host_id) { |
|
1546 | + } |
|
1547 | + if ($root_log_dir AND $host_id) { |
|
1548 | 1548 | $subdir = substr($host_id, 0, -3) OR $subdir = 0; |
1549 | 1549 | $log = implode('/', array($root_log_dir, $subdir, $host_id)); |
1550 | - } |
|
1551 | - if ($log AND file_exists($log)) { |
|
1550 | + } |
|
1551 | + if ($log AND file_exists($log)) { |
|
1552 | 1552 | $output = l($output, "host/{$host_id}/log"); |
1553 | - } |
|
1554 | - return $output; |
|
1553 | + } |
|
1554 | + return $output; |
|
1555 | 1555 | } |
1556 | 1556 | |
1557 | 1557 | /** |
1558 | 1558 | * |
1559 | 1559 | */ |
1560 | 1560 | function boincwork_host_venue_selector($host_id) { |
1561 | - $output = ''; |
|
1562 | - if (function_exists('jump_quickly')) { |
|
1561 | + $output = ''; |
|
1562 | + if (function_exists('jump_quickly')) { |
|
1563 | 1563 | $path = "host/{$host_id}/set-venue"; |
1564 | 1564 | $venues = array( |
1565 | - "{$path}/generic" => bts('Generic', array(), NULL, 'boinc:account-preferences-location'), |
|
1566 | - "{$path}/home" => bts('Home', array(), NULL, 'boinc:account-preferences-location:-1:ignoreoverwrite'), |
|
1567 | - "{$path}/work" => bts('Work', array(), NULL, 'boinc:account-preferences-location'), |
|
1568 | - "{$path}/school" => bts('School', array(), NULL, 'boinc:account-preferences-location') |
|
1565 | + "{$path}/generic" => bts('Generic', array(), NULL, 'boinc:account-preferences-location'), |
|
1566 | + "{$path}/home" => bts('Home', array(), NULL, 'boinc:account-preferences-location:-1:ignoreoverwrite'), |
|
1567 | + "{$path}/work" => bts('Work', array(), NULL, 'boinc:account-preferences-location'), |
|
1568 | + "{$path}/school" => bts('School', array(), NULL, 'boinc:account-preferences-location') |
|
1569 | 1569 | ); |
1570 | 1570 | variable_set('jump_use_js_venues-Array', 1); |
1571 | 1571 | drupal_add_js(drupal_get_path('module', 'jump') . '/jump.js'); |
@@ -1573,34 +1573,34 @@ discard block |
||
1573 | 1573 | // Get current venue |
1574 | 1574 | db_set_active('boinc_ro'); |
1575 | 1575 | $venue = db_result(db_query( |
1576 | - "SELECT venue FROM {host} WHERE id = '%d'", |
|
1577 | - $host_id |
|
1576 | + "SELECT venue FROM {host} WHERE id = '%d'", |
|
1577 | + $host_id |
|
1578 | 1578 | )); |
1579 | 1579 | db_set_active('default'); |
1580 | 1580 | $output .= jump_quickly($venues, 'venues', 1, "{$path}/{$venue}"); |
1581 | - } |
|
1582 | - return $output; |
|
1581 | + } |
|
1582 | + return $output; |
|
1583 | 1583 | } |
1584 | 1584 | |
1585 | 1585 | /** |
1586 | - * Determine output for task reported time / deadline |
|
1587 | - */ |
|
1586 | + * Determine output for task reported time / deadline |
|
1587 | + */ |
|
1588 | 1588 | function boincwork_task_time_reported($received_time = NULL, $deadline = NULL, $context = NULL) { |
1589 | - $output = '---'; |
|
1590 | - if ($received_time OR $deadline) { |
|
1589 | + $output = '---'; |
|
1590 | + if ($received_time OR $deadline) { |
|
1591 | 1591 | $timestamp = ($received_time) ? $received_time : $deadline; |
1592 | 1592 | $output = date('j M Y G:i:s T', $timestamp); |
1593 | 1593 | // Add a wrapper to deadline text |
1594 | 1594 | if (!$received_time) { |
1595 | - if (time() < $deadline) { |
|
1595 | + if (time() < $deadline) { |
|
1596 | 1596 | $output = '<span class="on-time">' . $output . '</span>'; |
1597 | - } |
|
1598 | - else { |
|
1597 | + } |
|
1598 | + else { |
|
1599 | 1599 | $output = '<span class="past-due">' . $output . '</span>'; |
1600 | - } |
|
1600 | + } |
|
1601 | 1601 | } |
1602 | - } |
|
1603 | - return $output; |
|
1602 | + } |
|
1603 | + return $output; |
|
1604 | 1604 | } |
1605 | 1605 | |
1606 | 1606 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * |
@@ -1631,345 +1631,345 @@ discard block |
||
1631 | 1631 | * Number of table row to display per page. Defaults to 20. |
1632 | 1632 | */ |
1633 | 1633 | function boincwork_tasktable($category = 0, $queryid = 1, $tselect = NULL, $app_id = 0, $tablerows = 20) { |
1634 | - // Check type parameter, if not (0,2) then return an error. |
|
1635 | - if ( ($category!=0) AND ($category!=1) AND ($category!=2) ) { |
|
1634 | + // Check type parameter, if not (0,2) then return an error. |
|
1635 | + if ( ($category!=0) AND ($category!=1) AND ($category!=2) ) { |
|
1636 | 1636 | watchdog('boincwork', 'task table called with invalid category = %category', array('%category' => $category), WATCHDOG_WARNING); |
1637 | 1637 | return ''; |
1638 | - } |
|
1638 | + } |
|
1639 | 1639 | |
1640 | - require_boinc( array('util', 'result') ); |
|
1640 | + require_boinc( array('util', 'result') ); |
|
1641 | 1641 | |
1642 | - global $language; |
|
1643 | - $locality=$language->language; |
|
1644 | - $nf = new NumberFormatter($locality, NumberFormatter::DECIMAL); |
|
1645 | - $nf->setAttribute(NumberFormatter::MIN_FRACTION_DIGITS, 0); |
|
1646 | - $nf->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 0); |
|
1642 | + global $language; |
|
1643 | + $locality=$language->language; |
|
1644 | + $nf = new NumberFormatter($locality, NumberFormatter::DECIMAL); |
|
1645 | + $nf->setAttribute(NumberFormatter::MIN_FRACTION_DIGITS, 0); |
|
1646 | + $nf->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 0); |
|
1647 | 1647 | |
1648 | - $output = ''; |
|
1648 | + $output = ''; |
|
1649 | 1649 | |
1650 | - $state_hnames = array( |
|
1650 | + $state_hnames = array( |
|
1651 | 1651 | STATE_ALL => 'All', |
1652 | 1652 | STATE_IN_PROGRESS => 'In progress', |
1653 | 1653 | STATE_PENDING => 'Pending', |
1654 | 1654 | STATE_VALID => 'Valid', |
1655 | 1655 | STATE_INVALID => 'Invalid', |
1656 | 1656 | STATE_ERROR => 'Error', |
1657 | - ); |
|
1658 | - // Array (hash) to count total number of results/tasks, and their states. |
|
1659 | - $taskstates = array( |
|
1657 | + ); |
|
1658 | + // Array (hash) to count total number of results/tasks, and their states. |
|
1659 | + $taskstates = array( |
|
1660 | 1660 | STATE_ALL => 0, |
1661 | 1661 | STATE_IN_PROGRESS => 0, |
1662 | 1662 | STATE_PENDING => 0, |
1663 | 1663 | STATE_VALID => 0, |
1664 | 1664 | STATE_INVALID => 0, |
1665 | 1665 | STATE_ERROR => 0, |
1666 | - ); |
|
1667 | - // Array to hold pretty-print result data to be displayed in a table. |
|
1668 | - $resultdata = array(); |
|
1669 | - // Arrays for applications. Form below uses $applications as parameter. |
|
1670 | - $application_map = array(); |
|
1671 | - $application_select_count = array(); |
|
1672 | - $applications = array(); |
|
1673 | - |
|
1674 | - // BOINC DB queries for results, application names |
|
1675 | - db_set_active('boinc_ro'); |
|
1676 | - |
|
1677 | - // Query to retreive all results, in order to calculate status for a |
|
1678 | - // host with application names for each result. |
|
1679 | - $sqlall = "SELECT user_friendly_name," |
|
1680 | - ."r.appid as appid," |
|
1681 | - ."r.server_state AS server_state," |
|
1682 | - ."r.outcome AS outcome," |
|
1683 | - ."r.client_state AS client_state," |
|
1684 | - ."r.validate_state AS validate_state," |
|
1685 | - ."r.exit_status AS exit_status " |
|
1686 | - ."FROM {result} AS r " |
|
1687 | - ."INNER JOIN {app} AS a " |
|
1688 | - ."ON r.appid=a.id "; |
|
1689 | - |
|
1690 | - // Use userid, hostid, or workunitid |
|
1691 | - if ($category==0) { |
|
1666 | + ); |
|
1667 | + // Array to hold pretty-print result data to be displayed in a table. |
|
1668 | + $resultdata = array(); |
|
1669 | + // Arrays for applications. Form below uses $applications as parameter. |
|
1670 | + $application_map = array(); |
|
1671 | + $application_select_count = array(); |
|
1672 | + $applications = array(); |
|
1673 | + |
|
1674 | + // BOINC DB queries for results, application names |
|
1675 | + db_set_active('boinc_ro'); |
|
1676 | + |
|
1677 | + // Query to retreive all results, in order to calculate status for a |
|
1678 | + // host with application names for each result. |
|
1679 | + $sqlall = "SELECT user_friendly_name," |
|
1680 | + ."r.appid as appid," |
|
1681 | + ."r.server_state AS server_state," |
|
1682 | + ."r.outcome AS outcome," |
|
1683 | + ."r.client_state AS client_state," |
|
1684 | + ."r.validate_state AS validate_state," |
|
1685 | + ."r.exit_status AS exit_status " |
|
1686 | + ."FROM {result} AS r " |
|
1687 | + ."INNER JOIN {app} AS a " |
|
1688 | + ."ON r.appid=a.id "; |
|
1689 | + |
|
1690 | + // Use userid, hostid, or workunitid |
|
1691 | + if ($category==0) { |
|
1692 | 1692 | $sqlall .= " WHERE r.userid='%s' "; |
1693 | - } |
|
1694 | - elseif ($category==1) { |
|
1693 | + } |
|
1694 | + elseif ($category==1) { |
|
1695 | 1695 | $sqlall .= " WHERE r.workunitid='%s' "; |
1696 | - } |
|
1697 | - elseif ($category==2) { |
|
1696 | + } |
|
1697 | + elseif ($category==2) { |
|
1698 | 1698 | $sqlall .= " WHERE r.hostid='%s' "; |
1699 | - } |
|
1700 | - $sqlall .= " ORDER BY user_friendly_name"; |
|
1701 | - $dbres_all = db_query($sqlall, $queryid); |
|
1702 | - db_set_active('default'); |
|
1699 | + } |
|
1700 | + $sqlall .= " ORDER BY user_friendly_name"; |
|
1701 | + $dbres_all = db_query($sqlall, $queryid); |
|
1702 | + db_set_active('default'); |
|
1703 | 1703 | |
1704 | - // Loop 1 of DB results |
|
1705 | - if ($dbres_all) { |
|
1704 | + // Loop 1 of DB results |
|
1705 | + if ($dbres_all) { |
|
1706 | 1706 | while ($result = db_fetch_object($dbres_all)) { |
1707 | - $mystate = state_num($result); |
|
1708 | - if ( ($result->appid==$app_id) OR ($app_id==0) OR ($app_id==-1) ) { |
|
1707 | + $mystate = state_num($result); |
|
1708 | + if ( ($result->appid==$app_id) OR ($app_id==0) OR ($app_id==-1) ) { |
|
1709 | 1709 | $taskstates[STATE_ALL]++; |
1710 | 1710 | switch ($mystate) { |
1711 | 1711 | case STATE_IN_PROGRESS: |
1712 | 1712 | $taskstates[STATE_IN_PROGRESS]++; |
1713 | - break; |
|
1713 | + break; |
|
1714 | 1714 | case STATE_PENDING: |
1715 | 1715 | $taskstates[STATE_PENDING]++; |
1716 | - break; |
|
1716 | + break; |
|
1717 | 1717 | case STATE_VALID: |
1718 | 1718 | $taskstates[STATE_VALID]++; |
1719 | - break; |
|
1719 | + break; |
|
1720 | 1720 | case STATE_INVALID: |
1721 | 1721 | $taskstates[STATE_INVALID]++; |
1722 | - break; |
|
1722 | + break; |
|
1723 | 1723 | case STATE_ERROR: |
1724 | 1724 | $taskstates[STATE_ERROR]++; |
1725 | - break; |
|
1725 | + break; |
|
1726 | 1726 | } |
1727 | - }// if app_id |
|
1727 | + }// if app_id |
|
1728 | 1728 | |
1729 | - //map holds a map between app ids and user friendly names for all applications. |
|
1730 | - $application_map[$result->appid] = $result->user_friendly_name; |
|
1731 | - if ( ($mystate == $tselect) OR ($tselect==STATE_ALL) ) { |
|
1729 | + //map holds a map between app ids and user friendly names for all applications. |
|
1730 | + $application_map[$result->appid] = $result->user_friendly_name; |
|
1731 | + if ( ($mystate == $tselect) OR ($tselect==STATE_ALL) ) { |
|
1732 | 1732 | //count of appids in the results. |
1733 | 1733 | $application_select_count[$result->appid]++; |
1734 | - }// if mystate |
|
1734 | + }// if mystate |
|
1735 | 1735 | |
1736 | 1736 | }// while |
1737 | - } |
|
1738 | - else { |
|
1739 | - } |
|
1737 | + } |
|
1738 | + else { |
|
1739 | + } |
|
1740 | 1740 | |
1741 | - // Entry for all applications. |
|
1742 | - $allcount = $application_select_count ? array_sum($application_select_count) : 0; |
|
1743 | - $applications[-1] = bts('Application', array(), NULL, 'boinc:task-table'); |
|
1744 | - $applications[0] = bts('All applications', array(), NULL, 'boinc:task-table') . ' (' . $allcount . ')'; |
|
1745 | - // Create application filter from application_map and application_select_count. |
|
1746 | - foreach($application_map as $akey => $aname) { |
|
1741 | + // Entry for all applications. |
|
1742 | + $allcount = $application_select_count ? array_sum($application_select_count) : 0; |
|
1743 | + $applications[-1] = bts('Application', array(), NULL, 'boinc:task-table'); |
|
1744 | + $applications[0] = bts('All applications', array(), NULL, 'boinc:task-table') . ' (' . $allcount . ')'; |
|
1745 | + // Create application filter from application_map and application_select_count. |
|
1746 | + foreach($application_map as $akey => $aname) { |
|
1747 | 1747 | $acount = 0; |
1748 | 1748 | if ( $application_select_count and array_key_exists($akey, $application_select_count) ) { |
1749 | - $acount = $application_select_count[$akey]; |
|
1749 | + $acount = $application_select_count[$akey]; |
|
1750 | 1750 | } |
1751 | 1751 | $applications[$akey] = $aname . ' ('. $acount . ')'; |
1752 | - } |
|
1753 | - // Header array for (sub) results table. |
|
1754 | - $resultheader = array( |
|
1752 | + } |
|
1753 | + // Header array for (sub) results table. |
|
1754 | + $resultheader = array( |
|
1755 | 1755 | array( |
1756 | - 'data' => bts('Task ID', array(), NULL, 'boinc:task-table'), |
|
1757 | - 'field' => 'id', |
|
1756 | + 'data' => bts('Task ID', array(), NULL, 'boinc:task-table'), |
|
1757 | + 'field' => 'id', |
|
1758 | 1758 | ), |
1759 | 1759 | array( |
1760 | - 'data' => bts('Workunit ID', array(), NULL, 'boinc:task-table'), |
|
1761 | - 'field' => 'workunitid', |
|
1760 | + 'data' => bts('Workunit ID', array(), NULL, 'boinc:task-table'), |
|
1761 | + 'field' => 'workunitid', |
|
1762 | 1762 | ), |
1763 | 1763 | array( |
1764 | - 'data' => bts('Computer', array(), NULL, 'boinc:task-table'), |
|
1765 | - 'field' => 'hostid', |
|
1764 | + 'data' => bts('Computer', array(), NULL, 'boinc:task-table'), |
|
1765 | + 'field' => 'hostid', |
|
1766 | 1766 | ), |
1767 | 1767 | array( |
1768 | - 'data' => bts('Sent', array(), NULL, 'boinc:task-table'), |
|
1769 | - 'field' => 'sent_time', |
|
1768 | + 'data' => bts('Sent', array(), NULL, 'boinc:task-table'), |
|
1769 | + 'field' => 'sent_time', |
|
1770 | 1770 | ), |
1771 | 1771 | array( |
1772 | - 'data' => bts('Time Reported or Deadline', array(), NULL, 'boinc:task-table') |
|
1772 | + 'data' => bts('Time Reported or Deadline', array(), NULL, 'boinc:task-table') |
|
1773 | 1773 | ), |
1774 | 1774 | array( |
1775 | - 'data' => bts('Status', array(), NULL, 'boinc:task-table') |
|
1775 | + 'data' => bts('Status', array(), NULL, 'boinc:task-table') |
|
1776 | 1776 | ), |
1777 | 1777 | array( |
1778 | - 'data' => bts('Run time', array(), NULL, 'boinc:task-table'), |
|
1779 | - 'field' => 'elapsed_time', |
|
1778 | + 'data' => bts('Run time', array(), NULL, 'boinc:task-table'), |
|
1779 | + 'field' => 'elapsed_time', |
|
1780 | 1780 | ), |
1781 | 1781 | array( |
1782 | - 'data' => bts('CPU time', array(), NULL, 'boinc:task-table'), |
|
1783 | - 'field' => 'cpu_time', |
|
1782 | + 'data' => bts('CPU time', array(), NULL, 'boinc:task-table'), |
|
1783 | + 'field' => 'cpu_time', |
|
1784 | 1784 | ), |
1785 | 1785 | array( |
1786 | - 'data' => bts('Granted Credit', array(), NULL, 'boinc:task-table'), |
|
1787 | - 'field' => 'granted_credit', |
|
1786 | + 'data' => bts('Granted Credit', array(), NULL, 'boinc:task-table'), |
|
1787 | + 'field' => 'granted_credit', |
|
1788 | 1788 | ), |
1789 | 1789 | // Application is a column, but won't be added until after tablesort_sql(). |
1790 | - ); |
|
1791 | - |
|
1792 | - // Query to retreive a subset of the total results for the results table. |
|
1793 | - db_set_active('boinc_ro'); |
|
1794 | - $sqlsub = "SELECT r.id AS id," |
|
1795 | - ."r.name AS name," |
|
1796 | - ."r.workunitid AS workunitid," |
|
1797 | - ."r.hostid as hostid," |
|
1798 | - ."r.sent_time AS sent_time," |
|
1799 | - ."r.received_time AS received_time," |
|
1800 | - ."r.report_deadline AS report_deadline," |
|
1801 | - ."r.server_state AS server_state," |
|
1802 | - ."r.outcome AS outcome," |
|
1803 | - ."r.client_state AS client_state," |
|
1804 | - ."r.validate_state AS validate_state," |
|
1805 | - ."r.exit_status AS exit_status," |
|
1806 | - ."r.elapsed_time AS elapsed_time," |
|
1807 | - ."r.cpu_time AS cpu_time," |
|
1808 | - ."r.granted_credit AS granted_credit," |
|
1809 | - ."r.appid AS appid," |
|
1810 | - ."r.app_version_id AS app_version_id," |
|
1811 | - ."a.user_friendly_name," |
|
1812 | - ."av.version_num AS version_number," |
|
1813 | - ."av.plan_class AS plan_class," |
|
1814 | - ."pl.name AS platform " |
|
1815 | - ."FROM {result} AS r " |
|
1816 | - ."INNER JOIN {app} AS a " |
|
1817 | - ."ON r.appid=a.id " |
|
1818 | - ."LEFT JOIN {app_version} AS av " |
|
1819 | - ."ON r.app_version_id=av.id " |
|
1820 | - ."LEFT JOIN {platform} AS pl " |
|
1821 | - ."ON av.platformid=pl.id "; |
|
1822 | - |
|
1823 | - // Build an array for the WHERE clauses. The individual clauses are |
|
1824 | - // placed into an array, and implode() is used to combine them into |
|
1825 | - // a WHERE statement for the sql query. If no such clauses are added |
|
1826 | - // to the array, then no WHERE statement will be included. |
|
1827 | - $sqlwhere = array(); |
|
1828 | - |
|
1829 | - // Use userid, hostid, or workunitid |
|
1830 | - if ($category==0) { |
|
1790 | + ); |
|
1791 | + |
|
1792 | + // Query to retreive a subset of the total results for the results table. |
|
1793 | + db_set_active('boinc_ro'); |
|
1794 | + $sqlsub = "SELECT r.id AS id," |
|
1795 | + ."r.name AS name," |
|
1796 | + ."r.workunitid AS workunitid," |
|
1797 | + ."r.hostid as hostid," |
|
1798 | + ."r.sent_time AS sent_time," |
|
1799 | + ."r.received_time AS received_time," |
|
1800 | + ."r.report_deadline AS report_deadline," |
|
1801 | + ."r.server_state AS server_state," |
|
1802 | + ."r.outcome AS outcome," |
|
1803 | + ."r.client_state AS client_state," |
|
1804 | + ."r.validate_state AS validate_state," |
|
1805 | + ."r.exit_status AS exit_status," |
|
1806 | + ."r.elapsed_time AS elapsed_time," |
|
1807 | + ."r.cpu_time AS cpu_time," |
|
1808 | + ."r.granted_credit AS granted_credit," |
|
1809 | + ."r.appid AS appid," |
|
1810 | + ."r.app_version_id AS app_version_id," |
|
1811 | + ."a.user_friendly_name," |
|
1812 | + ."av.version_num AS version_number," |
|
1813 | + ."av.plan_class AS plan_class," |
|
1814 | + ."pl.name AS platform " |
|
1815 | + ."FROM {result} AS r " |
|
1816 | + ."INNER JOIN {app} AS a " |
|
1817 | + ."ON r.appid=a.id " |
|
1818 | + ."LEFT JOIN {app_version} AS av " |
|
1819 | + ."ON r.app_version_id=av.id " |
|
1820 | + ."LEFT JOIN {platform} AS pl " |
|
1821 | + ."ON av.platformid=pl.id "; |
|
1822 | + |
|
1823 | + // Build an array for the WHERE clauses. The individual clauses are |
|
1824 | + // placed into an array, and implode() is used to combine them into |
|
1825 | + // a WHERE statement for the sql query. If no such clauses are added |
|
1826 | + // to the array, then no WHERE statement will be included. |
|
1827 | + $sqlwhere = array(); |
|
1828 | + |
|
1829 | + // Use userid, hostid, or workunitid |
|
1830 | + if ($category==0) { |
|
1831 | 1831 | $sqlwhere[] = "r.userid = '%s'"; |
1832 | - } |
|
1833 | - elseif ($category==1) { |
|
1832 | + } |
|
1833 | + elseif ($category==1) { |
|
1834 | 1834 | $sqlwhere[] = "r.workunitid = '%s'"; |
1835 | - } |
|
1836 | - elseif ($category==2) { |
|
1835 | + } |
|
1836 | + elseif ($category==2) { |
|
1837 | 1837 | $sqlwhere[] = "r.hostid = '%s'"; |
1838 | - } |
|
1838 | + } |
|
1839 | 1839 | |
1840 | - // Append additional where clauses based on task selection. |
|
1841 | - switch ($tselect) { |
|
1842 | - case STATE_IN_PROGRESS: |
|
1840 | + // Append additional where clauses based on task selection. |
|
1841 | + switch ($tselect) { |
|
1842 | + case STATE_IN_PROGRESS: |
|
1843 | 1843 | $sqlwhere[] = "r.server_state = 4"; |
1844 | 1844 | break; |
1845 | - case STATE_PENDING: |
|
1845 | + case STATE_PENDING: |
|
1846 | 1846 | $sqlwhere[] = "(r.server_state = 5) AND (r.outcome = 1) AND (r.validate_state >= 0) AND (r.validate_state <= 0 OR r.validate_state >= 4) AND (r.validate_state <= 4)"; |
1847 | 1847 | break; |
1848 | - case STATE_VALID: |
|
1848 | + case STATE_VALID: |
|
1849 | 1849 | $sqlwhere[] = "(r.server_state = 5) AND (r.outcome = 1) AND (r.validate_state = 1)"; |
1850 | 1850 | break; |
1851 | - case STATE_INVALID: |
|
1851 | + case STATE_INVALID: |
|
1852 | 1852 | $sqlwhere[] = "(r.server_state = 5) AND ((r.outcome = 6) OR ((r.outcome = 1) AND ((r.validate_state = 2) OR (r.validate_state = 3) OR (r.validate_state = 5))))"; |
1853 | 1853 | break; |
1854 | - case STATE_ERROR: |
|
1854 | + case STATE_ERROR: |
|
1855 | 1855 | $sqlwhere[] = "(r.server_state = 5) AND (r.outcome >= 3) AND (r.outcome <= 4 OR r.outcome >= 7) AND (r.outcome <= 7)"; |
1856 | 1856 | break; |
1857 | - default: |
|
1857 | + default: |
|
1858 | 1858 | } |
1859 | 1859 | |
1860 | - if (is_numeric($app_id) AND $app_id>0 ) { |
|
1860 | + if (is_numeric($app_id) AND $app_id>0 ) { |
|
1861 | 1861 | $sqlwhere[] = "r.appid = '%s'"; |
1862 | 1862 | if ($sqlwhere) $sqlsub .= " WHERE " . implode(' AND ', $sqlwhere); |
1863 | 1863 | $dbres_sub = pager_query( $sqlsub . tablesort_sql($resultheader), $tablerows, 0, NULL, $queryid, $app_id); |
1864 | - } |
|
1865 | - else { |
|
1864 | + } |
|
1865 | + else { |
|
1866 | 1866 | if ($sqlwhere) $sqlsub .= " WHERE " . implode(' AND ', $sqlwhere); |
1867 | 1867 | $dbres_sub = pager_query( $sqlsub . tablesort_sql($resultheader), $tablerows, 0, NULL, $queryid); |
1868 | - } |
|
1869 | - db_set_active('default'); |
|
1868 | + } |
|
1869 | + db_set_active('default'); |
|
1870 | 1870 | |
1871 | - // Loop 2 over DB results. |
|
1872 | - if ($dbres_sub) { |
|
1871 | + // Loop 2 over DB results. |
|
1872 | + if ($dbres_sub) { |
|
1873 | 1873 | while ($result = db_fetch_object($dbres_sub)) { |
1874 | - // state_num() function changes $result object, clone $result |
|
1875 | - // object for use in state_num() |
|
1876 | - // check if state matches selection |
|
1877 | - if ( (state_num(clone $result) == $tselect) OR ($tselect==STATE_ALL) ) { |
|
1874 | + // state_num() function changes $result object, clone $result |
|
1875 | + // object for use in state_num() |
|
1876 | + // check if state matches selection |
|
1877 | + if ( (state_num(clone $result) == $tselect) OR ($tselect==STATE_ALL) ) { |
|
1878 | 1878 | // create pretty result row |
1879 | 1879 | $prettyresult = array( |
1880 | - array( |
|
1880 | + array( |
|
1881 | 1881 | 'data' => l($result->name, "task/{$result->id}"), |
1882 | 1882 | 'class' => 'task-name', |
1883 | - ), |
|
1884 | - l($result->workunitid, "workunit/{$result->workunitid}"), |
|
1885 | - l($result->hostid, "host/{$result->hostid}"), |
|
1886 | - date('j M Y G:i:s T', $result->sent_time), |
|
1887 | - boincwork_task_time_reported($result->received_time, $result->report_deadline), |
|
1888 | - state_string($result), |
|
1889 | - $nf->format($result->elapsed_time), |
|
1890 | - $nf->format($result->cpu_time), |
|
1891 | - $nf->format($result->granted_credit), |
|
1892 | - array( |
|
1883 | + ), |
|
1884 | + l($result->workunitid, "workunit/{$result->workunitid}"), |
|
1885 | + l($result->hostid, "host/{$result->hostid}"), |
|
1886 | + date('j M Y G:i:s T', $result->sent_time), |
|
1887 | + boincwork_task_time_reported($result->received_time, $result->report_deadline), |
|
1888 | + state_string($result), |
|
1889 | + $nf->format($result->elapsed_time), |
|
1890 | + $nf->format($result->cpu_time), |
|
1891 | + $nf->format($result->granted_credit), |
|
1892 | + array( |
|
1893 | 1893 | 'data' => $result->user_friendly_name . " " . pretty_application_version($result->app_version_id,$result->version_number, $result->plan_class, $result->platform), |
1894 | 1894 | 'class' => 'task-app', |
1895 | - ), |
|
1895 | + ), |
|
1896 | 1896 | ); |
1897 | 1897 | $resultdata[] = array_values($prettyresult); |
1898 | - } |
|
1898 | + } |
|
1899 | 1899 | }// while |
1900 | - } |
|
1901 | - else { |
|
1902 | - } |
|
1903 | - // Begin result navigation |
|
1900 | + } |
|
1901 | + else { |
|
1902 | + } |
|
1903 | + // Begin result navigation |
|
1904 | 1904 | |
1905 | - // Set pathprefix based on type |
|
1906 | - if ($category==0) { |
|
1905 | + // Set pathprefix based on type |
|
1906 | + if ($category==0) { |
|
1907 | 1907 | $pathprefix = 'account/tasks'; |
1908 | - } |
|
1909 | - elseif ($category==1) { |
|
1908 | + } |
|
1909 | + elseif ($category==1) { |
|
1910 | 1910 | $pathprefix = 'workunit/' . $queryid . '/tasks'; |
1911 | - } |
|
1912 | - elseif ($category==2) { |
|
1911 | + } |
|
1912 | + elseif ($category==2) { |
|
1913 | 1913 | $pathprefix = 'host/' . $queryid . '/tasks'; |
1914 | - } |
|
1915 | - // Need an "All" tab as well, maps to app_id of zero. |
|
1916 | - $application_map[0] = bts('All', array(), NULL, 'boinc:task-table'); |
|
1917 | - $stitems = array(); |
|
1918 | - foreach ($taskstates as $state => $numstates) { |
|
1914 | + } |
|
1915 | + // Need an "All" tab as well, maps to app_id of zero. |
|
1916 | + $application_map[0] = bts('All', array(), NULL, 'boinc:task-table'); |
|
1917 | + $stitems = array(); |
|
1918 | + foreach ($taskstates as $state => $numstates) { |
|
1919 | 1919 | $mypath = $pathprefix . '/' . $state . '/' . $app_id; |
1920 | 1920 | if ($state==STATE_ALL) { |
1921 | - $ltext = '<span class="tab task-app-name">' . bts('All', array(), NULL, 'boinc:task-table') . ' (' . $numstates . ')</span>'; |
|
1921 | + $ltext = '<span class="tab task-app-name">' . bts('All', array(), NULL, 'boinc:task-table') . ' (' . $numstates . ')</span>'; |
|
1922 | 1922 | } |
1923 | 1923 | else { |
1924 | - $ltext = '<span class="tab">' . bts($state_hnames[$state], array(), NULL, 'boinc:task-table') . ' (' . $numstates . ')</span>'; |
|
1924 | + $ltext = '<span class="tab">' . bts($state_hnames[$state], array(), NULL, 'boinc:task-table') . ' (' . $numstates . ')</span>'; |
|
1925 | 1925 | } |
1926 | 1926 | $myitem = array( |
1927 | - 'data' => l($ltext, $mypath, array('html' => TRUE) ), |
|
1927 | + 'data' => l($ltext, $mypath, array('html' => TRUE) ), |
|
1928 | 1928 | ); |
1929 | 1929 | if ($state==$tselect) { |
1930 | - $myitem['class'] = 'active'; |
|
1930 | + $myitem['class'] = 'active'; |
|
1931 | 1931 | } |
1932 | 1932 | $stitems[] = $myitem; |
1933 | - } |
|
1934 | - // Add reset button |
|
1935 | - $mypath = $pathprefix . '/0/0'; |
|
1936 | - $ltext = '<span class="tab">' . bts('Reset', array(), NULL, 'boinc:task-table') . '</span>'; |
|
1937 | - $stitems[] = array( 'data' => l($ltext, $mypath, array('html' => TRUE) ) ); |
|
1933 | + } |
|
1934 | + // Add reset button |
|
1935 | + $mypath = $pathprefix . '/0/0'; |
|
1936 | + $ltext = '<span class="tab">' . bts('Reset', array(), NULL, 'boinc:task-table') . '</span>'; |
|
1937 | + $stitems[] = array( 'data' => l($ltext, $mypath, array('html' => TRUE) ) ); |
|
1938 | 1938 | |
1939 | - $output .= theme_item_list($stitems, NULL, 'ul' . ' class="tabs secondary clearfix"'); |
|
1939 | + $output .= theme_item_list($stitems, NULL, 'ul' . ' class="tabs secondary clearfix"'); |
|
1940 | 1940 | |
1941 | - // Application select-drop down form |
|
1942 | - // Hack to place Application form into header |
|
1943 | - // App ID of zero maps to "-1" for drop-down box. |
|
1944 | - if ($app_id==0) { |
|
1941 | + // Application select-drop down form |
|
1942 | + // Hack to place Application form into header |
|
1943 | + // App ID of zero maps to "-1" for drop-down box. |
|
1944 | + if ($app_id==0) { |
|
1945 | 1945 | $app_id=-1; |
1946 | - } |
|
1947 | - $resultheader[] = drupal_get_form('boincwork_selectapp_form', $applications, $app_id); |
|
1946 | + } |
|
1947 | + $resultheader[] = drupal_get_form('boincwork_selectapp_form', $applications, $app_id); |
|
1948 | 1948 | |
1949 | - // Begin table of results |
|
1950 | - if ( is_array($resultheader) AND is_array($resultdata) ) { |
|
1949 | + // Begin table of results |
|
1950 | + if ( is_array($resultheader) AND is_array($resultdata) ) { |
|
1951 | 1951 | |
1952 | 1952 | // Take advantage of the fact that $category is the same as the row/column we want to remove. |
1953 | 1953 | if ( ($category==1) OR ($category==2) ) { |
1954 | - unset($resultheader[$category]); |
|
1955 | - delete_col($resultdata, $category); |
|
1954 | + unset($resultheader[$category]); |
|
1955 | + delete_col($resultdata, $category); |
|
1956 | 1956 | } |
1957 | 1957 | |
1958 | 1958 | $output .= theme_table($resultheader, $resultdata); |
1959 | 1959 | if (count($resultdata) > 0) { |
1960 | - $output .= theme('pager'); |
|
1960 | + $output .= theme('pager'); |
|
1961 | 1961 | } |
1962 | - } |
|
1963 | - return $output; |
|
1962 | + } |
|
1963 | + return $output; |
|
1964 | 1964 | } |
1965 | 1965 | |
1966 | 1966 | /** |
1967 | 1967 | * Function to delete a column from an array. |
1968 | 1968 | */ |
1969 | 1969 | function delete_col(&$array, $offset) { |
1970 | - return array_walk($array, function (&$v) use ($offset) { |
|
1971 | - array_splice($v, $offset, 1); |
|
1972 | - }); |
|
1970 | + return array_walk($array, function (&$v) use ($offset) { |
|
1971 | + array_splice($v, $offset, 1); |
|
1972 | + }); |
|
1973 | 1973 | } |
1974 | 1974 | |
1975 | 1975 | /** |
@@ -1989,7 +1989,7 @@ discard block |
||
1989 | 1989 | * platform name, may be NULL |
1990 | 1990 | */ |
1991 | 1991 | function pretty_application_version($appverid, $vernum, $plan_class, $plfm) { |
1992 | - switch ($appverid) { |
|
1992 | + switch ($appverid) { |
|
1993 | 1993 | case ANON_PLATFORM_UNKNOWN: |
1994 | 1994 | return "Anonymous platform"; |
1995 | 1995 | case ANON_PLATFORM_CPU: |
@@ -2010,11 +2010,11 @@ discard block |
||
2010 | 2010 | // that is not handled by the above case statements. |
2011 | 2011 | if ($appverid < 0) { |
2012 | 2012 | return "Unknown Anonymous platform"; |
2013 | - } |
|
2014 | - else { |
|
2013 | + } |
|
2014 | + else { |
|
2015 | 2015 | $prettyv = sprintf("%d.%02d", $vernum/100, $vernum%100); |
2016 | 2016 | $prettyc = ($plan_class) ? "($plan_class)" : ''; |
2017 | 2017 | return "v$prettyv $prettyc $plfm"; |
2018 | - } |
|
2019 | - } |
|
2018 | + } |
|
2019 | + } |
|
2020 | 2020 | } |
@@ -643,9 +643,9 @@ discard block |
||
643 | 643 | } |
644 | 644 | break; |
645 | 645 | |
646 | - default: |
|
647 | - // Don't generate form elements for things that aren't explicitly form |
|
648 | - // elements (i.e. 'title', '@attributes' keys, and the like) |
|
646 | + default: |
|
647 | + // Don't generate form elements for things that aren't explicitly form |
|
648 | + // elements (i.e. 'title', '@attributes' keys, and the like) |
|
649 | 649 | } |
650 | 650 | } |
651 | 651 | |
@@ -1990,31 +1990,31 @@ discard block |
||
1990 | 1990 | */ |
1991 | 1991 | function pretty_application_version($appverid, $vernum, $plan_class, $plfm) { |
1992 | 1992 | switch ($appverid) { |
1993 | - case ANON_PLATFORM_UNKNOWN: |
|
1994 | - return "Anonymous platform"; |
|
1995 | - case ANON_PLATFORM_CPU: |
|
1996 | - return "Anonymous platform CPU"; |
|
1997 | - case ANON_PLATFORM_NVIDIA: |
|
1998 | - return "Anonymous platform NVIDIA GPU"; |
|
1999 | - case ANON_PLATFORM_ATI: |
|
2000 | - return "Anonymous platform AMD GPU"; |
|
2001 | - case ANON_PLATFORM_INTEL_GPU: |
|
2002 | - return "Anonymous platform Intel GPU"; |
|
2003 | - case ANON_PLATFORM_APPLE_GPU: |
|
2004 | - return "Anonymous platform Apple GPU"; |
|
2005 | - case 0: |
|
2006 | - return "---"; |
|
2007 | - default: |
|
2008 | - // Handle the case where the appversid is still negative. This |
|
2009 | - // may be cause BOINC has introduced a new anonymous platform |
|
2010 | - // that is not handled by the above case statements. |
|
2011 | - if ($appverid < 0) { |
|
2012 | - return "Unknown Anonymous platform"; |
|
2013 | - } |
|
2014 | - else { |
|
2015 | - $prettyv = sprintf("%d.%02d", $vernum/100, $vernum%100); |
|
2016 | - $prettyc = ($plan_class) ? "($plan_class)" : ''; |
|
2017 | - return "v$prettyv $prettyc $plfm"; |
|
2018 | - } |
|
1993 | + case ANON_PLATFORM_UNKNOWN: |
|
1994 | + return "Anonymous platform"; |
|
1995 | + case ANON_PLATFORM_CPU: |
|
1996 | + return "Anonymous platform CPU"; |
|
1997 | + case ANON_PLATFORM_NVIDIA: |
|
1998 | + return "Anonymous platform NVIDIA GPU"; |
|
1999 | + case ANON_PLATFORM_ATI: |
|
2000 | + return "Anonymous platform AMD GPU"; |
|
2001 | + case ANON_PLATFORM_INTEL_GPU: |
|
2002 | + return "Anonymous platform Intel GPU"; |
|
2003 | + case ANON_PLATFORM_APPLE_GPU: |
|
2004 | + return "Anonymous platform Apple GPU"; |
|
2005 | + case 0: |
|
2006 | + return "---"; |
|
2007 | + default: |
|
2008 | + // Handle the case where the appversid is still negative. This |
|
2009 | + // may be cause BOINC has introduced a new anonymous platform |
|
2010 | + // that is not handled by the above case statements. |
|
2011 | + if ($appverid < 0) { |
|
2012 | + return "Unknown Anonymous platform"; |
|
2013 | + } |
|
2014 | + else { |
|
2015 | + $prettyv = sprintf("%d.%02d", $vernum/100, $vernum%100); |
|
2016 | + $prettyc = ($plan_class) ? "($plan_class)" : ''; |
|
2017 | + return "v$prettyv $prettyc $plfm"; |
|
2018 | + } |
|
2019 | 2019 | } |
2020 | 2020 | } |
@@ -332,8 +332,7 @@ discard block |
||
332 | 332 | $name = $element['@attributes']['name']; |
333 | 333 | if (isset($element['@attributes']['entitytype']) AND $element['@attributes']['entitytype'] == 'attribute') { |
334 | 334 | $defaults['@attributes'][$name] = $values[$name]; |
335 | - } |
|
336 | - else { |
|
335 | + } else { |
|
337 | 336 | $defaults[$name] = $values[$name]; |
338 | 337 | } |
339 | 338 | } |
@@ -384,8 +383,7 @@ discard block |
||
384 | 383 | if (isset($user_pref[$name])) { |
385 | 384 | if (is_array($user_pref[$name]) AND isset($user_pref[$name]['@value'])) { |
386 | 385 | $value = $user_pref[$name]['@value']; |
387 | - } |
|
388 | - else { |
|
386 | + } else { |
|
389 | 387 | $value = $user_pref[$name]; |
390 | 388 | } |
391 | 389 | } |
@@ -447,8 +445,7 @@ discard block |
||
447 | 445 | if (isset($user_pref[$name])) { |
448 | 446 | if (is_array($user_pref[$name]) AND isset($user_pref[$name]['@value'])) { |
449 | 447 | $value = $user_pref[$name]['@value']; |
450 | - } |
|
451 | - else { |
|
448 | + } else { |
|
452 | 449 | $value = $user_pref[$name]; |
453 | 450 | } |
454 | 451 | } |
@@ -492,8 +489,7 @@ discard block |
||
492 | 489 | isset($item['@attributes']['selected'])) { |
493 | 490 | $default = ($item['@attributes']['selected'] == 'true') ? $item['@value'] : null; |
494 | 491 | } |
495 | - } |
|
496 | - else { |
|
492 | + } else { |
|
497 | 493 | $value = $item; |
498 | 494 | } |
499 | 495 | $options[$value] = $value; |
@@ -696,8 +692,7 @@ discard block |
||
696 | 692 | ); |
697 | 693 | if ($top_level) { |
698 | 694 | $uncategorized[$key] = $prefs_element; |
699 | - } |
|
700 | - else { |
|
695 | + } else { |
|
701 | 696 | $prefs_table[$key] = $prefs_element; |
702 | 697 | } |
703 | 698 | break; |
@@ -711,8 +706,7 @@ discard block |
||
711 | 706 | 'name' => bts('Other settings', array(), NULL, 'boinc:account-preferences'), |
712 | 707 | 'elements' => $uncategorized, |
713 | 708 | ); |
714 | - } |
|
715 | - elseif ($uncategorized) { |
|
709 | + } elseif ($uncategorized) { |
|
716 | 710 | // If nothing is categorized, output all prefs under a general "settings" |
717 | 711 | $prefs_table['settings'] = array( |
718 | 712 | 'name' => bts('Settings', array(), NULL, 'boinc:account-preferences'), |
@@ -745,8 +739,7 @@ discard block |
||
745 | 739 | $main_prefs = load_configuration($boincuser->project_prefs); |
746 | 740 | $main_prefs = (array) $main_prefs['project_preferences']; |
747 | 741 | } |
748 | - } |
|
749 | - else { |
|
742 | + } else { |
|
750 | 743 | if ($boincuser->global_prefs) { |
751 | 744 | $main_prefs = load_configuration($boincuser->global_prefs); |
752 | 745 | $main_prefs = (array) $main_prefs['global_preferences']; |
@@ -762,8 +755,7 @@ discard block |
||
762 | 755 | if (count($main_prefs) < 3) |
763 | 756 | $main_prefs['@attributes'] = array('cleared' => 1); |
764 | 757 | return $main_prefs; |
765 | - } |
|
766 | - else { |
|
758 | + } else { |
|
767 | 759 | if (isset($main_prefs['venue'])) { |
768 | 760 | if (!is_numeric(key($main_prefs['venue']))) { |
769 | 761 | $main_prefs['venue'] = array($main_prefs['venue']); |
@@ -803,8 +795,7 @@ discard block |
||
803 | 795 | $main_prefs = load_configuration($boincuser->project_prefs); |
804 | 796 | $main_prefs = (array) $main_prefs['project_preferences']; |
805 | 797 | } |
806 | - } |
|
807 | - else { |
|
798 | + } else { |
|
808 | 799 | if ($boincuser->global_prefs) { |
809 | 800 | $main_prefs = load_configuration($boincuser->global_prefs); |
810 | 801 | $main_prefs = (array) $main_prefs['global_preferences']; |
@@ -817,8 +808,7 @@ discard block |
||
817 | 808 | if (!$venue OR $venue == 'generic') { |
818 | 809 | //$main_prefs = $prefs; |
819 | 810 | $main_prefs = $prefs + $main_prefs; |
820 | - } |
|
821 | - else { |
|
811 | + } else { |
|
822 | 812 | if (isset($main_prefs['venue'])) { |
823 | 813 | if (!is_numeric(key($main_prefs['venue']))) { |
824 | 814 | $main_prefs['venue'] = array($main_prefs['venue']); |
@@ -827,8 +817,7 @@ discard block |
||
827 | 817 | if (isset($prefs_venue['@attributes']['name']) AND $prefs_venue['@attributes']['name'] == $venue) { |
828 | 818 | if ($prefs) { |
829 | 819 | $main_prefs['venue'][$key] = $prefs; |
830 | - } |
|
831 | - else { |
|
820 | + } else { |
|
832 | 821 | // If prefs is null, clear out this preference set |
833 | 822 | unset($main_prefs['venue'][$key]); |
834 | 823 | if (count($main_prefs['venue']) == 0) { |
@@ -875,8 +864,7 @@ discard block |
||
875 | 864 | db_set_active('boinc_rw'); |
876 | 865 | $result = db_query("UPDATE user SET project_prefs = '{$boincuser->project_prefs}' WHERE id = '{$boincuser->id}'"); |
877 | 866 | db_set_active('default'); |
878 | - } |
|
879 | - else { |
|
867 | + } else { |
|
880 | 868 | $main_prefs = array('global_preferences' => $main_prefs); |
881 | 869 | $boincuser->global_prefs = save_configuration($main_prefs); |
882 | 870 | db_set_active('boinc_rw'); |
@@ -963,8 +951,7 @@ discard block |
||
963 | 951 | NULL, 'boinc:ignore-user-add'), |
964 | 952 | 'status'); |
965 | 953 | drupal_goto(); |
966 | - } |
|
967 | - else { |
|
954 | + } else { |
|
968 | 955 | drupal_not_found(); |
969 | 956 | }// endif iuid |
970 | 957 | } |
@@ -1052,15 +1039,13 @@ discard block |
||
1052 | 1039 | // Process nested form elements |
1053 | 1040 | $parents[] = $field; |
1054 | 1041 | boincwork_validate_form($rules, $values[$field], $parents); |
1055 | - } |
|
1056 | - else { |
|
1042 | + } else { |
|
1057 | 1043 | if ($parents) { |
1058 | 1044 | // form_set_error() identifies nested form elements with '][' as a |
1059 | 1045 | // delimiter between each parent and child element |
1060 | 1046 | $parents[] = $field; |
1061 | 1047 | $form_field = implode('][', $parents); |
1062 | - } |
|
1063 | - else { |
|
1048 | + } else { |
|
1064 | 1049 | $form_field = $field; |
1065 | 1050 | } |
1066 | 1051 | if (isset($rules['datatype']) AND !boincwork_validate_datatype($values[$field], $rules['datatype'])) { |
@@ -1142,8 +1127,7 @@ discard block |
||
1142 | 1127 | // load_configuration(): Convert structured text/xml to array |
1143 | 1128 | //------------------------------------------------------------------------------------------------ |
1144 | 1129 | |
1145 | - function load_configuration($text) |
|
1146 | - { |
|
1130 | + function load_configuration($text) { |
|
1147 | 1131 | if (preg_match('/^\<\?xml .*\?\>$/i', $text)) return null; |
1148 | 1132 | if ($xml = text_to_xml($text)) return xml_to_array($xml); |
1149 | 1133 | return false; |
@@ -1153,8 +1137,7 @@ discard block |
||
1153 | 1137 | // save_configuration(): Convert array to structured text/xml |
1154 | 1138 | //------------------------------------------------------------------------------------------------ |
1155 | 1139 | |
1156 | - function save_configuration($array) |
|
1157 | - { |
|
1140 | + function save_configuration($array) { |
|
1158 | 1141 | if ($xml = array_to_xml($array)) return xml_to_text($xml, false, true); |
1159 | 1142 | return false; |
1160 | 1143 | } |
@@ -1186,26 +1169,22 @@ discard block |
||
1186 | 1169 | $ordered_array[$item['@position']] = array( |
1187 | 1170 | $name => $item |
1188 | 1171 | ); |
1189 | - } |
|
1190 | - else { |
|
1172 | + } else { |
|
1191 | 1173 | $unordered_array[] = array( |
1192 | 1174 | $name => $item |
1193 | 1175 | ); |
1194 | 1176 | } |
1195 | 1177 | } |
1196 | - } |
|
1197 | - elseif (isset($value['@position'])) { |
|
1178 | + } elseif (isset($value['@position'])) { |
|
1198 | 1179 | $ordered_array[$value['@position']] = array( |
1199 | 1180 | $name => $value |
1200 | 1181 | ); |
1201 | - } |
|
1202 | - else { |
|
1182 | + } else { |
|
1203 | 1183 | $unordered_array[] = array( |
1204 | 1184 | $name => $value |
1205 | 1185 | ); |
1206 | 1186 | } |
1207 | - } |
|
1208 | - else { |
|
1187 | + } else { |
|
1209 | 1188 | $unordered_array[] = array( |
1210 | 1189 | $name => $value |
1211 | 1190 | ); |
@@ -1291,8 +1270,7 @@ discard block |
||
1291 | 1270 | // xml_to_text(): Convert an XML DOM object to string format |
1292 | 1271 | //------------------------------------------------------------------------------------------------ |
1293 | 1272 | |
1294 | - function xml_to_text($xml, $include_xml_declaration = true, $add_carriage_returns = false) |
|
1295 | - { |
|
1273 | + function xml_to_text($xml, $include_xml_declaration = true, $add_carriage_returns = false) { |
|
1296 | 1274 | $xml->formatOutput = true; |
1297 | 1275 | $text = $xml->saveXML(); |
1298 | 1276 | if (!$include_xml_declaration) { |
@@ -1335,10 +1313,14 @@ discard block |
||
1335 | 1313 | $sibling = $node->nextSibling; |
1336 | 1314 | |
1337 | 1315 | // Determine if this node forms a set with siblings (share a node name) |
1338 | - while (($sibling) AND (($sibling->nodeType != XML_ELEMENT_NODE) OR ($sibling->nodeName != $node->nodeName))) $sibling = $sibling->nextSibling; |
|
1316 | + while (($sibling) AND (($sibling->nodeType != XML_ELEMENT_NODE) OR ($sibling->nodeName != $node->nodeName))) { |
|
1317 | + $sibling = $sibling->nextSibling; |
|
1318 | + } |
|
1339 | 1319 | if (!$sibling) { |
1340 | 1320 | $sibling = $node->previousSibling; |
1341 | - while (($sibling) AND (($sibling->nodeType != XML_ELEMENT_NODE) OR ($sibling->nodeName != $node->nodeName))) $sibling = $sibling->previousSibling; |
|
1321 | + while (($sibling) AND (($sibling->nodeType != XML_ELEMENT_NODE) OR ($sibling->nodeName != $node->nodeName))) { |
|
1322 | + $sibling = $sibling->previousSibling; |
|
1323 | + } |
|
1342 | 1324 | } |
1343 | 1325 | |
1344 | 1326 | if ($sibling) { |
@@ -1433,8 +1415,7 @@ discard block |
||
1433 | 1415 | . ' computers. Computers will be displayed when they have earned their' |
1434 | 1416 | . ' first credits.', array(), NULL, 'boinc:host-list') . '</p>'; |
1435 | 1417 | } |
1436 | - } |
|
1437 | - else { |
|
1418 | + } else { |
|
1438 | 1419 | $output .= '<h2>' . bts('Computers hidden', array(), NULL, 'boinc:host-list') . '</h2>'; |
1439 | 1420 | $output .= '<p>' . bts('This user has chosen not to show information' |
1440 | 1421 | . ' about their computers.', array(), NULL, 'boinc:host-list') . '</p>'; |
@@ -1594,8 +1575,7 @@ discard block |
||
1594 | 1575 | if (!$received_time) { |
1595 | 1576 | if (time() < $deadline) { |
1596 | 1577 | $output = '<span class="on-time">' . $output . '</span>'; |
1597 | - } |
|
1598 | - else { |
|
1578 | + } else { |
|
1599 | 1579 | $output = '<span class="past-due">' . $output . '</span>'; |
1600 | 1580 | } |
1601 | 1581 | } |
@@ -1690,11 +1670,9 @@ discard block |
||
1690 | 1670 | // Use userid, hostid, or workunitid |
1691 | 1671 | if ($category==0) { |
1692 | 1672 | $sqlall .= " WHERE r.userid='%s' "; |
1693 | - } |
|
1694 | - elseif ($category==1) { |
|
1673 | + } elseif ($category==1) { |
|
1695 | 1674 | $sqlall .= " WHERE r.workunitid='%s' "; |
1696 | - } |
|
1697 | - elseif ($category==2) { |
|
1675 | + } elseif ($category==2) { |
|
1698 | 1676 | $sqlall .= " WHERE r.hostid='%s' "; |
1699 | 1677 | } |
1700 | 1678 | $sqlall .= " ORDER BY user_friendly_name"; |
@@ -1734,8 +1712,7 @@ discard block |
||
1734 | 1712 | }// if mystate |
1735 | 1713 | |
1736 | 1714 | }// while |
1737 | - } |
|
1738 | - else { |
|
1715 | + } else { |
|
1739 | 1716 | } |
1740 | 1717 | |
1741 | 1718 | // Entry for all applications. |
@@ -1829,11 +1806,9 @@ discard block |
||
1829 | 1806 | // Use userid, hostid, or workunitid |
1830 | 1807 | if ($category==0) { |
1831 | 1808 | $sqlwhere[] = "r.userid = '%s'"; |
1832 | - } |
|
1833 | - elseif ($category==1) { |
|
1809 | + } elseif ($category==1) { |
|
1834 | 1810 | $sqlwhere[] = "r.workunitid = '%s'"; |
1835 | - } |
|
1836 | - elseif ($category==2) { |
|
1811 | + } elseif ($category==2) { |
|
1837 | 1812 | $sqlwhere[] = "r.hostid = '%s'"; |
1838 | 1813 | } |
1839 | 1814 | |
@@ -1861,8 +1836,7 @@ discard block |
||
1861 | 1836 | $sqlwhere[] = "r.appid = '%s'"; |
1862 | 1837 | if ($sqlwhere) $sqlsub .= " WHERE " . implode(' AND ', $sqlwhere); |
1863 | 1838 | $dbres_sub = pager_query( $sqlsub . tablesort_sql($resultheader), $tablerows, 0, NULL, $queryid, $app_id); |
1864 | - } |
|
1865 | - else { |
|
1839 | + } else { |
|
1866 | 1840 | if ($sqlwhere) $sqlsub .= " WHERE " . implode(' AND ', $sqlwhere); |
1867 | 1841 | $dbres_sub = pager_query( $sqlsub . tablesort_sql($resultheader), $tablerows, 0, NULL, $queryid); |
1868 | 1842 | } |
@@ -1897,19 +1871,16 @@ discard block |
||
1897 | 1871 | $resultdata[] = array_values($prettyresult); |
1898 | 1872 | } |
1899 | 1873 | }// while |
1900 | - } |
|
1901 | - else { |
|
1874 | + } else { |
|
1902 | 1875 | } |
1903 | 1876 | // Begin result navigation |
1904 | 1877 | |
1905 | 1878 | // Set pathprefix based on type |
1906 | 1879 | if ($category==0) { |
1907 | 1880 | $pathprefix = 'account/tasks'; |
1908 | - } |
|
1909 | - elseif ($category==1) { |
|
1881 | + } elseif ($category==1) { |
|
1910 | 1882 | $pathprefix = 'workunit/' . $queryid . '/tasks'; |
1911 | - } |
|
1912 | - elseif ($category==2) { |
|
1883 | + } elseif ($category==2) { |
|
1913 | 1884 | $pathprefix = 'host/' . $queryid . '/tasks'; |
1914 | 1885 | } |
1915 | 1886 | // Need an "All" tab as well, maps to app_id of zero. |
@@ -1919,8 +1890,7 @@ discard block |
||
1919 | 1890 | $mypath = $pathprefix . '/' . $state . '/' . $app_id; |
1920 | 1891 | if ($state==STATE_ALL) { |
1921 | 1892 | $ltext = '<span class="tab task-app-name">' . bts('All', array(), NULL, 'boinc:task-table') . ' (' . $numstates . ')</span>'; |
1922 | - } |
|
1923 | - else { |
|
1893 | + } else { |
|
1924 | 1894 | $ltext = '<span class="tab">' . bts($state_hnames[$state], array(), NULL, 'boinc:task-table') . ' (' . $numstates . ')</span>'; |
1925 | 1895 | } |
1926 | 1896 | $myitem = array( |
@@ -2010,8 +1980,7 @@ discard block |
||
2010 | 1980 | // that is not handled by the above case statements. |
2011 | 1981 | if ($appverid < 0) { |
2012 | 1982 | return "Unknown Anonymous platform"; |
2013 | - } |
|
2014 | - else { |
|
1983 | + } else { |
|
2015 | 1984 | $prettyv = sprintf("%d.%02d", $vernum/100, $vernum%100); |
2016 | 1985 | $prettyc = ($plan_class) ? "($plan_class)" : ''; |
2017 | 1986 | return "v$prettyv $prettyc $plfm"; |