You are here

function monitoring_munin_multigraph_delete in Monitoring 7

Deletes multigraph and remove from sensor settings.

Parameters

string $title: Multigraph title to remove.

2 calls to monitoring_munin_multigraph_delete()
MonitoringMuninTest::testMultigraphsAPI in modules/monitoring_munin/monitoring_munin.test
Tests the multigraph API/CRUD
monitoring_munin_multigraph_delete_submit in modules/monitoring_munin/monitoring_munin.admin.inc
Munin multigraph delete submit callback.

File

modules/monitoring_munin/monitoring_munin.module, line 92
Monitoring Munin module bootstrap file.

Code

function monitoring_munin_multigraph_delete($title) {

  // Remove multigraph.
  $multigraphs = monitoring_munin_multigraphs();
  if (isset($multigraphs[$title])) {
    unset($multigraphs[$title]);
  }
  variable_set('monitoring_munin_multigraphs', $multigraphs);

  // Remove from settings.
  foreach (monitoring_sensor_info() as $info) {
    $munin_settings = $info
      ->getSetting('munin');

    // If the sensor has given multigraph remove it from the settings.
    if (isset($munin_settings['multigraphs']) && in_array($title, $munin_settings['multigraphs'])) {
      for ($i = 0; $i < count($munin_settings['multigraphs']); $i++) {
        if ($munin_settings['multigraphs'][$i] == $title) {
          unset($munin_settings['multigraphs'][$i]);
        }
      }
      $settings = monitoring_sensor_settings_get($info
        ->getName());
      $settings['munin'] = $munin_settings;
      monitoring_sensor_settings_save($info
        ->getName(), $settings);
    }
  }
}