HTMLPurifier_DefinitionCache_Serializer::_prepareDir PHP Method

_prepareDir() private method

Prepares the directory that this type stores the serials in
private _prepareDir ( HTMLPurifier_Config $config ) : boolean
$config HTMLPurifier_Config
return boolean True if successful
    private function _prepareDir($config)
    {
        $directory = $this->generateDirectoryPath($config);
        $chmod = $config->get('Cache.SerializerPermissions');
        if (!is_dir($directory)) {
            $base = $this->generateBaseDirectoryPath($config);
            if (!is_dir($base)) {
                trigger_error('Base directory ' . $base . ' does not exist,
                    please create or change using %Cache.SerializerPath', E_USER_WARNING);
                return false;
            } elseif (!$this->_testPermissions($base, $chmod)) {
                return false;
            }
            if ($chmod === null) {
                trigger_error('Base directory ' . $base . ' does not exist,
                    please create or change using %Cache.SerializerPath', E_USER_WARNING);
                return false;
            }
            if ($chmod !== null) {
                mkdir($directory, $chmod);
            } else {
                mkdir($directory);
            }
            if (!$this->_testPermissions($directory, $chmod)) {
                trigger_error('Base directory ' . $base . ' does not exist,
                    please create or change using %Cache.SerializerPath', E_USER_WARNING);
                return false;
            }
        } elseif (!$this->_testPermissions($directory, $chmod)) {
            return false;
        }
        return true;
    }