Contao\StyleSheets::writeStyleSheet PHP Метод

writeStyleSheet() защищенный Метод

Write a style sheet to a file
protected writeStyleSheet ( array $row )
$row array
    protected function writeStyleSheet($row)
    {
        if ($row['id'] == '' || $row['name'] == '') {
            return;
        }
        $row['name'] = basename($row['name']);
        // Check whether the target file is writeable
        if (file_exists(TL_ROOT . '/assets/css/' . $row['name'] . '.css') && !$this->Files->is_writeable('assets/css/' . $row['name'] . '.css')) {
            \Message::addError(sprintf($GLOBALS['TL_LANG']['ERR']['notWriteable'], 'assets/css/' . $row['name'] . '.css'));
            return;
        }
        $vars = array();
        // Get the global theme variables
        $objTheme = $this->Database->prepare("SELECT vars FROM tl_theme WHERE id=?")->limit(1)->execute($row['pid']);
        if ($objTheme->vars != '') {
            if (is_array($tmp = \StringUtil::deserialize($objTheme->vars))) {
                foreach ($tmp as $v) {
                    $vars[$v['key']] = $v['value'];
                }
            }
        }
        // Merge the global style sheet variables
        if ($row['vars'] != '') {
            if (is_array($tmp = \StringUtil::deserialize($row['vars']))) {
                foreach ($tmp as $v) {
                    $vars[$v['key']] = $v['value'];
                }
            }
        }
        // Sort by key length (see #3316)
        uksort($vars, 'length_sort_desc');
        // Create the file
        $objFile = new \File('assets/css/' . $row['name'] . '.css');
        $objFile->write('/* ' . $row['name'] . ".css */\n");
        $objDefinitions = $this->Database->prepare("SELECT * FROM tl_style WHERE pid=? AND invisible!='1' ORDER BY sorting")->execute($row['id']);
        // Append the definition
        while ($objDefinitions->next()) {
            $objFile->append($this->compileDefinition($objDefinitions->row(), true, $vars, $row), '');
        }
        $objFile->close();
    }