You are here

function apachesolr_stats_report_gadget_element in Apache Solr Statistics 6

Callback function used by Gadget javascript to fetch a particular element.

Parameters

string $requested_granularity: Granularity of report to use.

string $requested_element: ID of report element to return.

string $requested_key: Secret key given by gadget.

See also

apachesolr_stats_menu()

1 string reference to 'apachesolr_stats_report_gadget_element'
apachesolr_stats_menu in ./apachesolr_stats.module
Implementation of hook_menu().

File

./apachesolr_stats.module, line 322
Keeps and reports statistics about Apache Solr usage and performance.

Code

function apachesolr_stats_report_gadget_element($requested_granularity, $requested_element, $requested_key) {
  $granularities = apachesolr_stats_get_granularities();
  $settings_key = variable_get("apachesolr_stats_gadget_key", "");
  if ($settings_key === 0) {
    echo "Invalid request: no local key set";
    exit;
  }
  if ($settings_key != $requested_key) {
    echo "Invalid request: invalid key {$requested_key}";
    exit;
  }
  if (empty($granularities[$requested_granularity])) {
    echo "Invalid request: bad granularity {$requested_granularity}";
    exit;
  }
  $report_elements = apachesolr_stats_generate_report_elements($granularities[$requested_granularity]);
  foreach ($report_elements as $id => $report_element) {
    if ($id == $requested_element) {
      echo "<b>" . $report_element['name'] . "</b><br />\n";
      echo "<div style='font-size:80%'>" . $report_elements['span']['value'] . "</div>\n";
      $value = $report_element['value'];
      $value = str_replace('&', '&amp;', $value);
      echo "<div>{$value}</div>\n";
      exit;
    }
  }
  echo "Invalid request: bad element {$requested_element}";
  exit;
}