Projet

Général

Profil

Paste
Télécharger (1,58 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / menu_icons / menu_icons.install @ 87dbc3bf

1
<?php
2

    
3
/**
4
 * @file
5
 * Cleanup menu_icons variables and menu link options.
6
 */
7

    
8
/**
9
 * Implements hook_uninstall().
10
 */
11
function menu_icons_uninstall() {
12
  // Delete variables.
13
  variable_del('menu_icons_file_validate_image_resolution');
14
  variable_del('menu_icons_default_icon');
15
  variable_del('menu_icons_image_folder');
16
  variable_del('menu_icons_position');
17
  variable_del('menu_icons_image_style_default');
18
  variable_del('menu_icons_use_css');
19
  variable_del('menu_icons_absolute_links');
20

    
21
  // Clean up menu link options.
22
  // Fetch menu links that we've modified.
23
  $result = db_query("SELECT mlid, options FROM {menu_links} WHERE options LIKE '%menu_icon%'");
24
  foreach ($result as $record) {
25
    $mlid = $record->mlid;
26
    $options = unserialize($record->options);
27
    if (isset($options['menu_icon'])) {
28
      unset($options['menu_icon']);
29
    }
30
    for ($i = 0; $i <= count($options['attributes']['class']); $i++) {
31
      if ($options['attributes']['class'][$i] == 'menu_icon') {
32
        unset($options['attributes']['class'][$i]);
33
      }
34
      elseif ($options['attributes']['class'][$i] == 'menu-' . $mlid) {
35
        unset($options['attributes']['class'][$i]);
36
      }
37
    }
38
    // Save the updated options.
39
    db_update('menu_links')
40
    ->fields(array(
41
      'options' => serialize($options),
42
    ))
43
    ->condition('mlid', $mlid)
44
    ->execute();
45
  }
46

    
47
  // Remove the generated CSS file.
48
  file_unmanaged_delete('public://css/menu_icons.css');
49
}
50

    
51
/**
52
 * Keep existing sites using absolute URLS in CSS.
53
 */
54
function menu_icons_update_7200() {
55
  variable_set('menu_icons_absolute_links', TRUE);
56
}