/** * Method build a list of css files for current theme * with subdirectories * @return <type> */ private function _buildCssFileList() { $currentThemeName = $this->_helper->config->getConfig('currentTheme'); $currentThemePath = Tools_System_Tools::normalizePath(realpath($this->_websiteConfig['path'] . $this->_themeConfig['path'] . $currentThemeName)); $cssFiles = Tools_Filesystem_Tools::findFilesByExtension($currentThemePath, 'css', true); $cssTree = array(); foreach ($cssFiles as $file) { // don't show concat css for editing if (preg_match('/' . MagicSpaces_Concatcss_Concatcss::FILE_NAME_PREFIX . '[a-zA-Z0-9]+\\.css/i', strtolower(basename($file)))) { continue; } preg_match_all('~^' . $currentThemePath . '/([a-zA-Z0-9-_\\s/.]+/)*([a-zA-Z0-9-_\\s.]+\\.css)$~i', Tools_System_Tools::normalizePath($file), $sequences); $subfolders = $currentThemeName . '/' . $sequences[1][0]; $files = array(); foreach ($sequences[2] as $key => $value) { $files[$subfolders . $value] = $value; } if (!array_key_exists($subfolders, $cssTree)) { $cssTree[$subfolders] = array(); } $cssTree[$subfolders] = array_merge($cssTree[$subfolders], $files); } return $cssTree; }