Beispiel #1
0
 /**
  * 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, ''));
 }
Beispiel #3
0
 /**
  * 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);
 }