prod_check.theme.inc 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. /**
  3. * Returns HTML for the status report.
  4. *
  5. * @param $variables
  6. * An associative array containing:
  7. * - requirements: An array of requirements.
  8. *
  9. * @ingroup themeable
  10. */
  11. function theme_prod_check_status_report($variables) {
  12. $requirements = $variables['requirements'];
  13. $severities = array(
  14. PROD_CHECK_REQUIREMENT_INFO => array(
  15. 'title' => t('Info'),
  16. 'class' => 'info',
  17. ),
  18. PROD_CHECK_REQUIREMENT_OK => array(
  19. 'title' => t('OK'),
  20. 'class' => 'ok',
  21. ),
  22. PROD_CHECK_REQUIREMENT_WARNING => array(
  23. 'title' => t('Warning'),
  24. 'class' => 'warning',
  25. ),
  26. PROD_CHECK_REQUIREMENT_ERROR => array(
  27. 'title' => t('Error'),
  28. 'class' => 'error',
  29. ),
  30. );
  31. $output = '<table class="system-status-report">';
  32. foreach ($requirements as $requirement) {
  33. if (empty($requirement['#type'])) {
  34. $severity = $severities[isset($requirement['severity']) ? (int) $requirement['severity'] : 0];
  35. $severity['icon'] = '<div title="' . $severity['title'] . '"><span class="element-invisible">' . $severity['title'] . '</span></div>';
  36. // Output table row(s)
  37. if (!empty($requirement['description'])) {
  38. $output .= '<tr class="' . $severity['class'] . ' merge-down"><td class="status-icon">' . $severity['icon'] . '</td><td class="status-title">' . $requirement['title'] . '</td><td class="status-value">' . $requirement['value'] . '</td></tr>';
  39. $output .= '<tr class="' . $severity['class'] . ' merge-up"><td colspan="3" class="status-description">' . $requirement['description'] . '</td></tr>';
  40. }
  41. else {
  42. $output .= '<tr class="' . $severity['class'] . '"><td class="status-icon">' . $severity['icon'] . '</td><td class="status-title">' . $requirement['title'] . '</td><td class="status-value">' . $requirement['value'] . '</td></tr>';
  43. }
  44. }
  45. }
  46. $output .= '</table>';
  47. return $output;
  48. }
  49. /**
  50. * Theme database status page.
  51. *
  52. * @param $variables
  53. * An associative array containing:
  54. * - title: title string to display.
  55. * - status: string with status summary.
  56. * - details: associative array of associative arrays containing detailed
  57. * status info.
  58. *
  59. * @ingroup themeable
  60. */
  61. function theme_prod_check_dbstatus($variables) {
  62. $title = $variables['title'];
  63. $status = $variables['status'];
  64. $details = $variables['details'];
  65. $output = '';
  66. // DB system and version.
  67. $output .= '<h2>' . $title . '</h2>';
  68. // Basic status info.
  69. $output .= '<div>' . $status . '</div><p>&nbsp;</p>';
  70. // Add detailed statuses.
  71. foreach ($details as $type) {
  72. if ($type) {
  73. $caption = '<h2>' . $type['title'] . '</h2>';
  74. $output .= theme('table', array('header' => $type['header'], 'rows' => $type['rows'], 'caption' => $caption));
  75. }
  76. }
  77. return $output;
  78. }