function apdqc_inflate_unserialize in Asynchronous Prefetch Database Query Cache 7
2 calls to apdqc_inflate_unserialize()
- APDQCache::prepareItem in ./apdqc.cache.inc
- Prepares a cached item.
- apdqc_init in ./apdqc.module
- Implements hook_init().
File
- ./apdqc.cache.inc, line 226
- Extends Drupal's default database cache so async queries happen.
Code
function apdqc_inflate_unserialize(&$cache) {
$converted = FALSE;
if (is_array($cache)) {
$cache = (object) $cache;
$converted = TRUE;
}
if ($cache->serialized > 1) {
$inflate = @gzinflate($cache->data);
if ($inflate !== FALSE && $cache->data !== FALSE) {
$cache->data = $inflate;
}
$cache->serialized -= 2;
}
if ($cache->serialized) {
$data = @unserialize($cache->data);
if ($cache->data === 'b:0;' || $data !== FALSE) {
$cache->data = $data;
}
}
if ($converted) {
$cache = (array) $cache;
}
}