You are here

function advagg_js_compress_check_cache_bin in Advanced CSS/JS Aggregation 7.2

Test the cache_advagg_info cache bin; make sure it works.

Return value

array Single section of the requirements array.

2 calls to advagg_js_compress_check_cache_bin()
advagg_js_compress_admin_settings_form in advagg_js_compress/advagg_js_compress.admin.inc
Form builder; Configure advagg settings.
advagg_js_compress_requirements in advagg_js_compress/advagg_js_compress.install
Implements hook_requirements().

File

advagg_js_compress/advagg_js_compress.module, line 749
Advanced CSS/JS aggregation js compression module.

Code

function advagg_js_compress_check_cache_bin() {
  $t = get_t();
  $requirements = array();

  // Make sure cache table is working.
  $cid = 'advagg_js_compres:install:cache_test';
  $bin = 'cache_advagg_info';
  cache_set($cid, TRUE, $bin);
  $cache = cache_get($cid, $bin);
  $working = FALSE;
  if (!empty($cache->data)) {
    cache_clear_all($cid, $bin);
    $cache = cache_get($cid, $bin);
    if (empty($cache->data)) {
      $working = TRUE;
    }
  }
  if (empty($working)) {
    $broken_name = get_class(_cache_get_object($bin));
    if ($broken_name === 'DrupalFakeCache') {
      $working_name = get_class(_cache_get_object('cache_form'));
      if ($working_name === 'DrupalFakeCache') {
        $working_name = 'DrupalDatabaseCache';
      }
      $extra_description = t('Please add this to the bottom of your settings.php file. <p><code>@string</code></p>', array(
        '@string' => "\$conf['cache_class_cache_advagg_info'] = '{$working_name}';",
      ));
    }
    $requirements['advagg_js_compres_cache_bin'] = array(
      'title' => $t('AdvAgg JS Compressor - The %bin cache table does not work', array(
        '%bin' => $bin,
      )),
      'severity' => REQUIREMENT_WARNING,
      'value' => $t('The %class_name cache bin appears to be broken.', array(
        '%class_name' => $broken_name,
      )),
      'description' => $t('You need to adjust your settings.php file so that the %bin bin is working correctly.', array(
        '%bin' => $bin,
      )),
    );
    $requirements['advagg_js_compres_cache_bin']['description'] .= " {$extra_description}";
  }
  return $requirements;
}