Same name in other branches
  1. 7.x-1.x advagg.install \advagg_enable()

Implements hook_enable().

Fichier

./advagg.install, line 44

Code

function advagg_enable() {
    // Make sure the advagg_get_root_files_dir() function is available.
    drupal_load('module', 'advagg');
    // Make sure permissions for dirs are correct. Needed if installed via drush.
    list($css_path, $js_path) = advagg_get_root_files_dir();
    $stat_public = stat('public://');
    $stat_css = stat($css_path[0]);
    $stat_js = stat($js_path[0]);
    if (isset($stat_public['uid'])) {
        if (isset($stat_css['uid']) && $stat_public['uid'] != $stat_css['uid']) {
            @chown($css_path[0], $stat_public['uid']);
        }
        if (isset($stat_js['uid']) && $stat_public['uid'] != $stat_js['uid']) {
            @chown($stat_js[0], $stat_public['uid']);
        }
    }
    if (isset($stat_public['gid'])) {
        if (isset($stat_css['gid']) && $stat_public['gid'] != $stat_css['gid']) {
            @chgrp($css_path[0], $stat_public['gid']);
        }
        if (isset($stat_js['uid']) && $stat_public['gid'] != $stat_js['gid']) {
            @chgrp($stat_js[0], $stat_public['gid']);
        }
    }
    if (drupal_is_cli()) {
        // Remove advagg and public dirs if empty and running from command line.
        list($css_path, $js_path) = advagg_get_root_files_dir();
        $files = file_scan_directory($css_path[1], '/.*/');
        if (empty($files)) {
            rmdir($css_path[1]);
        }
        $files = file_scan_directory($js_path[1], '/.*/');
        if (empty($files)) {
            rmdir($js_path[1]);
        }
        $files = file_scan_directory('public://', '/.*/');
        if (empty($files)) {
            rmdir('public://');
        }
    }
    // Make sure the advagg_flush_all_cache_bins() function is available.
    module_load_include('inc', 'advagg', 'advagg');
    module_load_include('inc', 'advagg', 'advagg.cache');
    // Flush caches.
    advagg_flush_all_cache_bins();
    // Flush menu cache on shutdown.
    register_shutdown_function('menu_rebuild');
    // Set the advagg_needs_update variable if this is a major version update.
    if (!db_table_exists('advagg_aggregates_versions')) {
        variable_set('advagg_needs_update', TRUE);
    }
    else {
        variable_del('advagg_needs_update');
    }
}