/** * Testing clean(). * * @return void */ public function testClean() { $options = array('storage' => 'file'); $this->object = JCache::getInstance('output', $options); $this->object->setCaching(true); $this->object->store('Now is the time for all good people to throw a party.', 42, ''); $this->object->store('And this is the cache that tries men\'s souls', 43, ''); $this->assertThat($this->object->get(43, ''), $this->equalTo('And this is the cache that tries men\'s souls'), 'Should retrieve the data properly'); $this->assertThat($this->object->clean(''), $this->isTrue(), 'Should remove cached data'); $this->assertThat($this->object->get(43, ''), $this->isFalse(), 'Should not retrieve the data properly'); $this->assertThat($this->object->get(42, ''), $this->isFalse(), 'Should not retrieve the data properly'); }
/** * Testing clean(). * * @return void */ public function testClean() { $options = array('storage' => 'file'); $this->object = JCache::getInstance('output', $options); $this->object->setCaching(true); $this->object->store($this->testData_A, 42, ''); $this->object->store($this->testData_B, 43, ''); $this->assertEquals($this->testData_B, $this->object->get(43, '')); $this->assertTrue($this->object->clean('')); $this->assertFalse($this->object->get(43, '')); $this->assertFalse($this->object->get(42, '')); }
/** * Display the application. */ public function render() { $user = JFactory::getUser(); $conf = JFactory::getConfig(); if ($user->id != 0) { // generate and empty object $plgParams = new JRegistry(); // get plugin details $plugin = JPluginHelper::getPlugin('system', 'rokbooster'); // load params into our params object if ($plugin && isset($plugin->params)) { $plgParams->loadString($plugin->params); } if ($user->authorise('core.admin', 'com_cache')) { $file_cache = new JCache(array('defaultgroup' => 'rokbooster', 'caching' => true, 'checkTime' => true, 'storage' => 'file', 'cachebase' => JPATH_CACHE)); $file_info_cache = new JCache(array('defaultgroup' => 'rokbooster', 'caching' => true, 'checkTime' => false)); $generator_state_cache = new JCache(array('cachebase' => $conf->get('cache_path', JPATH_CACHE), 'lifetime' => 120, 'storage' => $conf->get('cache_handler', 'file'), 'defaultgroup' => 'rokbooster', 'locking' => true, 'locktime' => 15, 'checkTime' => true, 'caching' => true)); $generator_state_cache->clean(); $file_cache->clean(); $file_info_cache->clean(); $files = $file_cache->getAll(); $filecount = 0; if (is_array($files) && array_key_exists('rokbooster', $files)) { $filecount = $files['rokbooster']->count; } if ($plgParams->get('data_storage', 'default') == 'apc' && function_exists('apc_store')) { $config = JFactory::getConfig(); $hash = preg_quote(md5($config->get('secret'))); if (class_exists('APCIterator')) { $entries = new APCIterator('user', "/^{$hash}-rokbooster-dataentry-/"); apc_delete($entries); } else { $info = apc_cache_info('user'); foreach ($info['cache_list'] as $apc_cache_entry) { if (strpos($apc_cache_entry['info'], "{$hash}-rokbooster-dataentry-") === 0) { apc_delete($apc_cache_entry['info']); } } } } echo sprintf('{"status":"success","message":"%d"}', $filecount); } else { echo '{"status": "error","message":"You do not have permissions to clear cache."}'; } } }
/** * Display the application. */ public function render() { $user = JFactory::getUser(); $conf = JFactory::getConfig(); if ($user->id != 0) { if ($user->authorise('core.admin', 'com_cache')) { $file_cache = new JCache(array('defaultgroup' => 'rokbooster', 'caching' => true, 'checkTime' => true, 'storage' => 'file', 'cachebase' => JPATH_CACHE)); $file_info_cache = new JCache(array('defaultgroup' => 'rokbooster', 'caching' => true, 'checkTime' => false)); $generator_state_cache = new JCache(array('cachebase' => $conf->get('cache_path', JPATH_CACHE), 'lifetime' => 120, 'storage' => $conf->get('cache_handler', 'file'), 'defaultgroup' => 'rokbooster', 'locking' => true, 'locktime' => 15, 'checkTime' => true, 'caching' => true)); $generator_state_cache->clean(); $file_cache->clean(); $file_info_cache->clean(); $files = $file_cache->getAll(); $filecount = 0; if (is_array($files) && array_key_exists('rokbooster', $files)) { $filecount = $files['rokbooster']->count; } echo sprintf('{"status":"success","message":"%d"}', $filecount); } else { echo '{"status": "error","message":"You do not have permissions to clear cache."}'; } } }
/** * Clears cache of specified group * * @param string $groupName Name of group * * @return boolean */ public function clearGroupCache($groupName) { return $this->cache->clean($groupName); }