mkdir('public://css'); } $stat_css = stat('public://css'); // Check if this folder already exists - could be the case on re-install. if (!file_exists('public://js')) { \Drupal::service('file_system')->mkdir('public://js'); } $stat_js = stat('public://js'); if (isset($stat_public['uid'])) { if (isset($stat_css['uid']) && $stat_public['uid'] != $stat_css['uid']) { @chown($stat_css[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($stat_css[0], $stat_public['gid']); } if (isset($stat_js['uid']) && $stat_public['gid'] != $stat_js['gid']) { @chgrp($stat_js[0], $stat_public['gid']); } } } /** * Implements hook_uninstall(). */ function advagg_uninstall() { $form = OperationsForm::create(Drupal::getContainer()); $form->clearAggregates(); } /** * Implements hook_requirements(). */ function advagg_requirements($phase) { $requirements = []; // Ensure translations don't break at install time. $t = 't'; // Always check these, independent of the current phase. $function_list = [ 'rename', ]; // Check each function to make sure it exists. foreach ($function_list as $function_name) { if (!function_exists($function_name)) { $requirements['advagg_function_' . $function_name] = [ 'title' => $t('Adv CSS/JS Agg - Function Disabled'), 'value' => $phase === 'install' ? FALSE : $function_name, 'severity' => REQUIREMENT_ERROR, 'description' => $t('%name() is disabled on this server. Please contact your hosting provider or server administrator and see if they can re-enable this function for you.', [ '!url' => 'http://php.net/' . str_replace('_', '-', $function_name), '%name' => $function_name, ]), ]; } } // If not at runtime, return here. if ($phase !== 'runtime') { return $requirements; } $config = \Drupal::config('advagg.settings'); if (!$config->get('skip_enabled_preprocess_check')) { // Make sure variables are set correctly. if (!$config->get('enabled')) { $requirements['advagg_not_on'] = [ 'title' => $t('Adv CSS/JS Agg - Enabled'), 'severity' => REQUIREMENT_WARNING, 'value' => $t('Advanced CSS/JS aggregation is disabled.'), 'description' => $t('Go to the Advanced CSS/JS aggregation settings page and enable it.', ['@settings' => Url::fromRoute('advagg.settings')->toString()]), ]; } } $advaggMessages = []; if (!$config->get('enabled')) { $advaggMessages[] = $t('Advanced CSS/JS aggregation is disabled. Go to the Advanced CSS/JS aggregation settings page and enable it.', ['@settings' => Url::fromRoute('advagg.settings')->toString()]); } if ($config->get('cache_level') === 0) { $advaggMessages[] = $t('Currently running in development mode.'); } $requirements['advagg_ok'] = [ 'title' => $t('Adv CSS/JS Agg'), 'severity' => REQUIREMENT_OK, 'value' => $t('Advanced CSS/JS Aggregator should be working correctly.'), 'description' => [ '#theme' => 'item_list', '#items' => $advaggMessages, '#title' => '', '#list_type' => 'ul', '#attributes' => [], ], ]; return $requirements; } /** * Implements hook_update_N(). * * Remove unused configuration keys. */ function advagg_update_8202() { \Drupal::configFactory()->getEditable('advagg.settings') ->clear('separator') ->clear('advagg_clear_scripts') ->save(); } /** * Implements hook_update_N(). * * Remove deprecated configuration. */ function advagg_update_8203() { \Drupal::configFactory()->getEditable('advagg.settings') ->clear('path.convert.absolute_to_relative') ->save(); } /** * Implements hook_update_N(). * * Update Configuration options for 8.x-3.x. */ function advagg_update_8301() { /** @var \Drupal\Core\Config\Config $config */ $config = \Drupal::configFactory()->getEditable('advagg.settings'); $config ->clear('serializer') ->clear('css.ie') ->set('cache_level', 2) ->clear('debug') ->clear('include_base_url') ->clear('css.via_js') ->clear('root_dir_prefix') ->clear('core_groups') ->set('js.fix_type', $config->get('js_fix_type')) ->set('js.preserve_external', $config->get('js_preserve_external')) ->clear('js_preserve_external') ->clear('js_fix_type') ->set('css.brotli', TRUE) ->set('js.brotli', TRUE) ->set('immutable', TRUE) ->save(); AssetOptimizer::generateHtaccess('css'); AssetOptimizer::generateHtaccess('js'); } /** * Implements hook_update_N(). * * Remove advagg_bundler module from system schema. */ function advagg_update_8302() { \Drupal::database()->delete('key_value') ->condition('collection', 'system.schema') ->condition('name', 'advagg_bundler') ->execute(); }