HTMLPurifier_DefinitionCache_Serializer::flush PHP Method

flush() public method

public flush ( HTMLPurifier_Config $config ) : boolean
$config HTMLPurifier_Config
return boolean
    public function flush($config)
    {
        if (!$this->_prepareDir($config)) {
            return false;
        }
        $dir = $this->generateDirectoryPath($config);
        $dh = opendir($dir);
        // Apparently, on some versions of PHP, readdir will return
        // an empty string if you pass an invalid argument to readdir.
        // So you need this test.  See #49.
        if (false === $dh) {
            return false;
        }
        while (false !== ($filename = readdir($dh))) {
            if (empty($filename)) {
                continue;
            }
            if ($filename[0] === '.') {
                continue;
            }
            unlink($dir . '/' . $filename);
        }
        return true;
    }

Usage Example

 function testCleanupOnlySameID()
 {
     $cache = new HTMLPurifier_DefinitionCache_Serializer('Test');
     $config1 = $this->generateConfigMock('serial1');
     $config1->version = '1.0.0';
     $config1->setReturnValue('get', 1, array('Test', 'DefinitionRev'));
     $def1 = $this->generateDefinition(array('info' => 1));
     $config2 = $this->generateConfigMock('serial2');
     $config2->version = '1.0.0';
     $config2->setReturnValue('get', 34, array('Test', 'DefinitionRev'));
     $def2 = $this->generateDefinition(array('info' => 3));
     $cache->set($def1, $config1);
     $cache->cleanup($config1);
     $this->assertEqual($def1, $cache->get($config1));
     // no change
     $cache->set($def2, $config2);
     $cache->cleanup($config2);
     $this->assertEqual($def1, $cache->get($config1));
     $this->assertEqual($def2, $cache->get($config2));
     $cache->flush($config1);
 }
All Usage Examples Of HTMLPurifier_DefinitionCache_Serializer::flush