/** * Create a css file from one or more scss files * */ public static function ParseScss(&$scss_files) { global $dataDir; $compiler = new \Leafo\ScssPhp\Compiler(); $compiled = false; $combined = array(); //add variables for url paths $combined[] = '$icon-font-path: "../../include/thirdparty/Bootstrap3/fonts/";'; try { foreach ($scss_files as $file) { //treat as scss markup if there are newline characters if (strpos($file, "\n") !== false) { $combined[] = $file; continue; } // handle relative and absolute paths if (!empty($dataDir) && strpos($file, $dataDir) === false) { $file = $dataDir . '/' . ltrim($file, '/'); } $combined[] = '@import "' . $file . '";'; } $compiler->addImportPath($dataDir); $compiled = $compiler->compile(implode("\n", $combined)); } catch (\Exception $e) { if (\gp\tool::LoggedIn()) { msg('SCSS Compile Failed: ' . $e->getMessage()); } return false; } $scss_files = $compiler->allParsedFiles(); $scss_files = array_keys($scss_files); return $compiled; }