You are here

function pmtimetracking_uninstall in Drupal PM (Project Management) 7.2

Same name and namespace in other branches
  1. 8 pmtimetracking/pmtimetracking.install \pmtimetracking_uninstall()
  2. 7.3 pmtimetracking/pmtimetracking.install \pmtimetracking_uninstall()
  3. 7 pmtimetracking/pmtimetracking.install \pmtimetracking_uninstall()

Implements hook_uninstall().

File

pmtimetracking/pmtimetracking.install, line 28
Install functions for PM Timetracking.

Code

function pmtimetracking_uninstall() {
  variable_del('pmpermission_field_parent_reference_for_pmtimetracking');
  variable_del('pmpermission_node_pmtimetracking_enabled');

  // Clean up field instances (and field) and its data.
  module_load_include('inc', 'pmtimetracking', 'includes/pmtimetracking.field_instance');
  module_load_include('inc', 'pmtimetracking', 'includes/pmtimetracking.field_base');
  $declared_field_bases = pmtimetracking_default_field_bases();
  $declared_field_instances = pmtimetracking_default_field_instances();
  $field_instance = field_info_instances('node', 'pmtimetracking');
  foreach ($declared_field_instances as $declared_instance) {
    $instance = $field_instance[$declared_instance['field_name']];
    if ($instance) {

      // Only delete field base if declared by this module.
      $delete_field_base = isset($declared_field_bases[$declared_instance['field_name']]);
      field_delete_instance($instance, $delete_field_base);
    }
  }
}