You are here

function lazy_uninstall in Lazy-load 7

Implements hook_uninstall().

File

./lazy.install, line 50
Install, update, and uninstall functions for the Lazy-load module.

Code

function lazy_uninstall() {
  variable_del('lazy_filter_defaults');
  variable_del('lazy_filter_errorClass');
  variable_del('lazy_filter_loadInvisible');
  variable_del('lazy_filter_offset');
  variable_del('lazy_filter_saveViewportOffsetDelay');
  variable_del('lazy_filter_selector');
  variable_del('lazy_filter_alter_tag');
  variable_del('lazy_filter_skipClass');
  variable_del('lazy_filter_src');
  variable_del('lazy_filter_successClass');
  variable_del('lazy_filter_validateDelay');
  variable_del('lazy_filter_placeholderSrc');
  variable_del('lazy_filter_image_fields');
  variable_del('lazy_library_installed');
  variable_del('lazy_disabled_paths');
  variable_del('lazy_prefer_native');
  $module = 'lazy';
  $name = 'lazy_filter';
  db_delete('filter')
    ->condition('module', $module)
    ->condition('name', $name)
    ->execute();

  // Revert image field formatters back to `image`.
  $lazy_enabled_fields = array();
  $field_map = field_info_field_map();
  $i = 1;
  $max_messages = 10;
  foreach ($field_map as $field_name => $field) {
    if ($field['type'] === 'image') {
      foreach ($field['bundles'] as $entity_type => $bundle) {
        $field_instance = field_info_instance($entity_type, $field_name, $bundle[0]);
        foreach ($field_instance['display'] as $display_name => $display) {
          if ($field_instance['display'][$display_name]['module'] === 'lazy') {
            $field_instance['display'][$display_name]['type'] = 'image';
            $field_instance['display'][$display_name]['module'] = 'image';
            field_update_instance($field_instance);
            if ($i <= $max_messages) {
              drupal_set_message(t('The %label (<code>!field_name</code>) field in %bundle (!entity_type) type is reverted back in the %display display mode.', array(
                '%label' => $field_instance['label'],
                '!field_name' => $field_instance['field_name'],
                '%bundle' => $field_instance['bundle'],
                '!entity_type' => $field_instance['entity_type'],
                '%display' => $display_name,
              )), 'warning', TRUE);
            }
            $i++;
          }
        }
      }
    }
  }
  if ($i > $max_messages) {
    drupal_set_message(t('Also reverted back %no other image fields.', array(
      '%no' => $i - $max_messages,
    )));
  }
}