Ejemplo n.º 1
0
 public static function parse($source, $isFile = true)
 {
     $parser = new scssc();
     if ($isFile) {
         $parser->setImportPaths(dirname($source));
     }
     try {
         return $isFile ? $parser->compile('@import "' . basename($source) . '"') : $parser->compile($source);
     } catch (Exception $e) {
         return '/** SASS PARSE ERROR: ' . $e->getMessage() . ' **/';
     }
 }
Ejemplo n.º 2
0
 public static function compile_sass($parent)
 {
     if (!empty(self::$path)) {
         if (!class_exists('scssc') && !isset($GLOBALS['redux_scss_compiler'])) {
             $GLOBALS['redux_scss_compiler'] = true;
             require "scssphp/scss.inc.php";
         }
         $scss = new scssc();
         $scss->setImportPaths(self::$path);
         if (!$parent->args['dev_mode']) {
             $scss->setFormatter("scss_formatter_compressed");
         }
         $new_css = '';
         foreach (self::$import as $import) {
             $new_css .= $scss->compile($import);
         }
         if ($new_css != '') {
             if ($parent->args['sass']['page_output']) {
                 echo '<style type="text/css" id="redux-' . $parent->args['opt_name'] . '">' . $new_css . '</style>';
             } else {
                 $filesystem = $parent->filesystem;
                 $css_file = Redux_Helpers::cleanFilePath(ReduxFramework::$_upload_dir . $parent->args['opt_name'] . '-redux.css');
                 $ret_val = $filesystem->execute('put_contents', $css_file, array('content' => $new_css));
             }
         }
     }
 }
/**
 * Compile SCSS
 * 
 * @return string
 */
function mob_admin_compile_scss($scss_folder, $css_folder, $format_style = "scss_formatter")
{
    // scssc will be loaded automatically via Composer
    $scss_compiler = new scssc();
    // set the path where your _mixins are
    $scss_compiler->setImportPaths($scss_folder);
    // set css formatting (normal, nested or minimized), @see http://leafo.net/scssphp/docs/#output_formatting
    $scss_compiler->setFormatter($format_style);
    // get all .scss files from scss folder
    $filelist = glob($scss_folder . "*.scss");
    try {
        // step through all .scss files in that folder
        foreach ($filelist as $file_path) {
            // get path elements from that file
            $file_path_elements = pathinfo($file_path);
            // get file's name without extension
            $file_name = $file_path_elements['filename'];
            // get .scss's content, put it into $string_sass
            $string_sass = mob_file_read($scss_folder . $file_name . ".scss");
            // compile this SASS code to CSS
            $string_css = $scss_compiler->compile($string_sass);
            // write CSS into file with the same filename, but .css extension
            mob_file_write($css_folder . $file_name . ".css", $string_css);
        }
    } catch (Exception $e) {
        return $e->getMessage();
    }
}
Ejemplo n.º 4
0
function CssPreprocessor($content, $type)
{
    if ($type == 'css') {
    } else {
        if ($type == 'less') {
            try {
                $parser = new Less_Parser();
                $parser->parse($content);
                $content = $parser->getCss();
            } catch (Exception $e) {
                var_dump($e->getMessage());
            }
        } else {
            if ($type == 'sass') {
                $scss = new scssc();
                $content = $scss->compile($content);
            } else {
                if ($type == 'stylus') {
                    $stylus = new Stylus();
                    $content = $stylus->fromString($content)->toString();
                }
            }
        }
    }
    return $content;
}
Ejemplo n.º 5
0
 /**
  * Compiles all .scss files in a given folder into .css files in a given folder
  *
  * @param string $scss_folder source folder where you have your .scss files
  * @param string $css_folder destination folder where you want your .css files
  * @param string $format_style CSS output format, see http://leafo.net/scssphp/docs/#output_formatting for more.
  */
 public static function run($scss_folder, $css_folder, $format_style = "scss_formatter")
 {
     // scssc will be loaded automatically via Composer
     $scss_compiler = new scssc();
     // set the path where your _mixins are
     $scss_compiler->setImportPaths($scss_folder);
     // set css formatting (normal, nested or minimized), @see http://leafo.net/scssphp/docs/#output_formatting
     $scss_compiler->setFormatter($format_style);
     // get all .scss files from scss folder
     $filelist = glob($scss_folder . "*.scss");
     // step through all .scss files in that folder
     foreach ($filelist as $file_path) {
         // get path elements from that file
         $file_path_elements = pathinfo($file_path);
         // get file's name without extension
         $file_name = $file_path_elements['filename'];
         // get .scss's content, put it into $string_sass
         $string_sass = file_get_contents($scss_folder . $file_name . ".scss");
         // compile this SASS code to CSS
         $string_css = $scss_compiler->compile($string_sass);
         // create target directory if doesn't exist
         if (!is_dir($css_folder)) {
             mkdir($css_folder, 0777, true);
         }
         // write CSS into file with the same filename, but .css extension
         file_put_contents($css_folder . $file_name . ".css", $string_css);
     }
 }
Ejemplo n.º 6
0
 public static function compile_sass($parent)
 {
     if (!empty(self::$path)) {
         require "scssphp/scss.inc.php";
         $scss = new scssc();
         $scss->setImportPaths(self::$path);
         if (!$parent->args['dev_mode']) {
             $scss->setFormatter("scss_formatter_compressed");
         }
         $new_css = '';
         foreach (self::$import as $import) {
             $new_css .= $scss->compile($import);
         }
         if ($new_css != '') {
             if ($parent->args['sass']['page_output']) {
                 echo '<style type="text/css" id="redux-' . $parent->args['opt_name'] . '">' . $new_css . '</style>';
             } else {
                 //Redux_Functions::initWpFilesystem();
                 //global $wp_filesystem;
                 $filesystem = $parent->filesystem;
                 $css_file = Redux_Helpers::cleanFilePath(ReduxFramework::$_upload_dir . $parent->args['opt_name'] . '-redux.css');
                 //$ret_val    = $wp_filesystem->put_contents($css_file, $new_css, FS_CHMOD_FILE);
                 $ret_val = $filesystem->execute('put_contents', $css_file, array('content' => $new_css));
             }
         }
     }
 }
Ejemplo n.º 7
0
function cuttz_scss_compile()
{
    if (!current_user_can('update_themes')) {
        return;
    }
    $scss = new scssc();
    $scss->setFormatter('scss_formatter');
    if (file_exists(CHILD_DIR . '/lib/stylesheet-core/style.scss')) {
        if (filemtime(CHILD_DIR . '/lib/stylesheet-core/style.scss') > filemtime(CHILD_DIR . '/style.css')) {
            $css = "@charset \"UTF-8\"; \n\n/*S********************************************************************************\n******************** Make all your changes to themes/cuttz/lib/stylesheet-core/style.scss **************************\n**** This file will be overwritten by style.scss and your changes will be lost ****\n**********************************************************************************/\n\n";
            $css = '';
            $css .= $scss->compile('@import "' . CHILD_DIR . '/lib/stylesheet-core/style.scss' . '"');
            file_put_contents(CHILD_DIR . '/style.css', $css);
            if (function_exists('w3tc_browsercache_flush')) {
                //check if W3Total cache is installed and active
                w3tc_browsercache_flush();
                //flush the w3tc browser cache to fetch the new css
            }
        }
    }
    if (file_exists(cuttz_current_skin_path() . '/style.scss')) {
        if (filemtime(cuttz_current_skin_path() . '/style.scss') > @filemtime(cuttz_current_skin_path() . '/autogenerated.css')) {
            $css = "@charset \"UTF-8\"; \n\n/*D*********************************************************************************\n******************** Make all your changes to style.scss **************************\n**** This file will be overwritten by style.scss and your changes will be lost ****\n**********************************************************************************/\n\n";
            $css .= $scss->compile('@import "' . cuttz_current_skin_path() . '/style.scss' . '"');
            file_put_contents(cuttz_current_skin_path() . '/autogenerated.css', $css);
            if (function_exists('w3tc_browsercache_flush')) {
                //check if W3Total cache is installed and active
                w3tc_browsercache_flush();
                //flush the w3tc browser cache to fetch the new css
            }
        }
    }
    $user_dir = cuttz_get_res('dir');
    if (file_exists($user_dir . 'style.scss')) {
        if (filemtime($user_dir . 'style.scss') > @filemtime($user_dir . 'autogenerated.css')) {
            $css = "@charset \"UTF-8\"; \n\n/*U********************************************************************************\n******************** Make all your changes to style.scss **************************\n**** This file will be overwritten by style.scss and your changes will be lost ****\n**********************************************************************************/\n\n";
            $css .= $scss->compile('@import "' . $user_dir . 'style.scss' . '"');
            file_put_contents($user_dir . 'autogenerated.css', $css);
            if (function_exists('w3tc_browsercache_flush')) {
                //check if W3Total cache is installed and active
                w3tc_browsercache_flush();
                //flush the w3tc browser cache to fetch the new css
            }
        }
    }
}
Ejemplo n.º 8
0
 public function init($css = '')
 {
     require "compass/vendor/autoload.php";
     require "compass/compass.inc.php";
     $scss = new scssc();
     new scss_compass($scss);
     return $scss->compile('@import "compass";' . $css);
 }
 function compileScss()
 {
     require "scss.inc.php";
     $scss = new scssc();
     $scss->setImportPaths(get_stylesheet_directory() . '/assets/scss/');
     $scss->setFormatter('scss_formatter_compressed');
     file_put_contents(get_stylesheet_directory() . '/assets/css/global-gen.css', $scss->compile('@import "global.scss"'));
 }
Ejemplo n.º 10
0
 /**
  * @see PreFileFilter::__invoke()
  */
 public function __invoke($code, \Lohini\WebLoader\WebLoader $loader, $file = NULL)
 {
     if ($file === NULL || strtolower(pathinfo($file, PATHINFO_EXTENSION)) != 'scss') {
         return $code;
     }
     $filter = new \scssc($file);
     return $filter->compile();
 }
Ejemplo n.º 11
0
function jetpack_sass_css_preprocess($sass)
{
    require_once dirname(__FILE__) . '/preprocessors/scss.inc.php';
    $compiler = new scssc();
    try {
        return $compiler->compile($sass);
    } catch (Exception $e) {
        return $sass;
    }
}
Ejemplo n.º 12
0
 public function filterLoad(AssetInterface $asset)
 {
     $root = $asset->getSourceRoot();
     $path = $asset->getSourcePath();
     $lc = new \scssc();
     if ($root && $path) {
         $lc->addImportPath(dirname($root . '/' . $path));
     }
     $asset->setContent($lc->compile($asset->getContent()));
 }
Ejemplo n.º 13
0
 /**
  * Compile the SCSS
  * @param \Contao\ThemeModel
  * @param boolean
  */
 public static function compile(\Contao\ThemeModel $objTheme, $blnForce = false)
 {
     if (!self::confirmDependencies()) {
         return;
     }
     //Get file key
     $strKey = self::getKey($objTheme);
     //Set file path
     $strCSSPath = 'assets/foundation/css/' . $strKey . '.css';
     //Compile the scss
     if (!file_exists(TL_ROOT . '/' . $strCSSPath) || $blnForce) {
         //Gather up the SCSS files in the assets/foundation/scss folder
         //This allows to work with different configs and edit defaults
         //Without affecting the original source
         $strBasePath = COMPOSER_DIR_RELATIVE . '/vendor/zurb/foundation/scss';
         $strCopyPath = 'assets/foundation/scss/' . $strKey;
         //Create new folder if not exists and clean it out
         $objNew = new \Folder($strCopyPath);
         $objNew->purge();
         $objOriginal = new \Folder($strBasePath);
         $objOriginal->copyTo($strCopyPath);
         //Apply the config
         self::applyConfig($objTheme, $strCopyPath);
         $strFoundationCSS = '';
         $strNormalizeCSS = '';
         //Create the SCSS compiler
         $objCompiler = new \scssc();
         $objCompiler->setImportPaths(TL_ROOT . '/' . $strCopyPath);
         $objCompiler->setFormatter(\Config::get('debugMode') ? 'scss_formatter' : 'scss_formatter_compressed');
         $strFoundationContent = file_get_contents(TL_ROOT . '/' . $strCopyPath . '/foundation.scss');
         $strNormalizeContent = file_get_contents(TL_ROOT . '/' . $strCopyPath . '/normalize.scss');
         //Compile
         $strFoundationCSS = $objCompiler->compile($strFoundationContent);
         $strNormalizeCSS = $objCompiler->compile($strNormalizeContent);
         //Write to single CSS file cache
         $objFile = new \File($strCSSPath);
         $objFile->write($strNormalizeCSS . "\n" . $strFoundationCSS);
         $objFile->close();
     }
     return $strCSSPath;
 }
Ejemplo n.º 14
0
 /**
  * Runs `scssc` against any files that match the configured extension.
  *
  * @param string $filename The name of the input file.
  * @param string $input The content of the file.
  * @throws Exception
  * @return string
  */
 public function input($filename, $input)
 {
     if (substr($filename, strlen($this->_settings['ext']) * -1) !== $this->_settings['ext']) {
         return $input;
     }
     App::import('Vendor', 'scssc', array('file' => $this->_settings['path']));
     if (!class_exists('scssc')) {
         throw new Exception(sprintf('Cannot not load filter class "%s".', 'scssc'));
     }
     $sc = new scssc();
     $sc->addImportPath(dirname($filename));
     return $sc->compile($input);
 }
Ejemplo n.º 15
0
 public function filterLoad(AssetInterface $asset)
 {
     $lc = new \scssc();
     if ($this->compass) {
         new \scss_compass($lc);
     }
     if ($dir = $asset->getSourceDirectory()) {
         $lc->addImportPath($dir);
     }
     foreach ($this->importPaths as $path) {
         $lc->addImportPath($path);
     }
     $asset->setContent($lc->compile($asset->getContent()));
 }
Ejemplo n.º 16
0
 /**
  * Process scss file
  *
  * @param string $filename
  * @return array
  */
 public static function serve($filename)
 {
     $result = ['success' => false, 'error' => [], 'data' => ''];
     // try to get scss file
     $scss_string = file_get_contents($filename);
     if ($scss_string === false) {
         $result['error'][] = 'Scss file does not exists!';
     } else {
         $scss_compiler = new scssc();
         $scss_compiler->setFormatter('scss_formatter');
         $result['data'] = $scss_compiler->compile($scss_string);
         $result['success'] = true;
     }
     return $result;
 }
Ejemplo n.º 17
0
 public function compile($scss_folder, $scss_filename, $stylename, $format_style = "scss_formatter")
 {
     require_once plugin_dir_path(__FILE__) . 'lib/scssphp/scss.inc.php';
     $scss_compiler = new scssc();
     $scss_compiler->setImportPaths($scss_folder);
     $scss_compiler->setFormatter($format_style);
     try {
         $file = $scss_filename;
         $content = file_get_contents($file);
         $string_css = $scss_compiler->compile($content);
         file_put_contents($stylename, $string_css);
     } catch (Exception $e) {
         echo $e->getMessage();
     }
 }
 /**
  * Compile the SCSS.
  *
  * @return string
  */
 protected function compile_scss()
 {
     if (!class_exists('scssc') && !class_exists('scss_formatter_nested')) {
         include_once 'libs/class-scss.php';
     }
     // Get options
     $colors = WC_Colors::get_options(get_option('woocommerce_colors'));
     ob_start();
     include 'views/scss.php';
     $scss = ob_get_clean();
     $compiler = new scssc();
     $compiler->setFormatter('scss_formatter_compressed');
     $compiled_css = $compiler->compile(trim($scss));
     return $compiled_css;
 }
 public function run_compiler($scss_dir, $sass_vars, $sass_import_file, $css_name, $compile_method = 'scss_formatter_nested')
 {
     require_once WPCSC_PLUGIN_DIR . '/scssphp/scss.inc.php';
     $scss = new scssc();
     $scss->setImportPaths($scss_dir);
     $scss->setFormatter($compile_method);
     $scss->setVariables($sass_vars);
     $new_css = $scss->compile($sass_import_file);
     /* Write the CSS to the Database */
     $wpcscOptions = get_option('wpcsc1208_option_settings');
     /* Sanitze the CSS before going into the Database
        Refer to this doc, http://wptavern.com/wordpress-theme-review-team-sets-new-guidelines-for-custom-css-boxes */
     $wpcscOptions['wpcsc_content'][$css_name] = wp_kses($new_css, array('\'', '\\"'));
     update_option('wpcsc1208_option_settings', $wpcscOptions);
 }
Ejemplo n.º 20
0
 public function compile()
 {
     // go on even if user "stops" the script by closing the browser, closing the terminal etc.
     ignore_user_abort(true);
     // set script running time to unlimited
     set_time_limit(0);
     $root_dir = $this->root_dir;
     $scss_compiler = new scssc();
     $scss_compiler->setNumberPrecision(10);
     $scss_compiler->stripComments = $this->strip_comments;
     $scss_compiler->addImportPath(function ($path) use($root_dir) {
         $path = $root_dir . $path . '.scss';
         $path_parts = pathinfo($path);
         $underscore_file = $path_parts['dirname'] . '/_' . $path_parts['basename'];
         if (file_exists($underscore_file)) {
             $path = $underscore_file;
         }
         if (!file_exists($path)) {
             return null;
         }
         return $path;
     });
     // set the path to your to-be-imported mixins. please note: custom paths are coming up on future releases!
     //$scss_compiler->setImportPaths($scss_folder);
     // set css formatting (normal, nested or minimized), @see http://leafo.net/scssphp/docs/#output_formatting
     $scss_compiler->setFormatter($this->formatter);
     // get .scss's content, put it into $string_sass
     $string_sass = '';
     if (is_array($this->scss_file)) {
         foreach ($this->scss_file as $scss_file) {
             $string_sass .= file_get_contents($scss_file);
         }
     } else {
         $string_sass = file_get_contents($this->scss_file);
     }
     // try/catch block to prevent script stopping when scss compiler throws an error
     try {
         // compile this SASS code to CSS
         $string_css = $scss_compiler->compile($string_sass) . "\n";
         // $string_css = csscrush_string($string_css, $options = array('minify' => true));
         // write CSS into file with the same filename, but .css extension
         file_put_contents($this->css_file, $string_css);
     } catch (Exception $e) {
         // here we could put the exception message, but who cares ...
         echo $e->getMessage();
         exit;
     }
 }
Ejemplo n.º 21
0
 /**
  * Process file content
  *
  * @param File $asset
  * @return string
  */
 public function processContent(File $asset)
 {
     $path = $asset->getPath();
     try {
         $compiler = new \scssc();
         $content = $this->assetSource->getContent($asset);
         if (trim($content) === '') {
             return '';
         }
         return $compiler->compile($content);
     } catch (\Exception $e) {
         $errorMessage = PHP_EOL . self::ERROR_MESSAGE_PREFIX . PHP_EOL . $path . PHP_EOL . $e->getMessage();
         $this->logger->critical($errorMessage);
         return $errorMessage;
     }
 }
Ejemplo n.º 22
0
 /**
  * Compile function. Returns a compile content, or writes it to a file if path is specified.
  *
  * @param null|string $file
  * @return string|true
  */
 public function compile($path = null)
 {
     parent::compile();
     $file = $this->getMinifiedResource();
     $file->rewind();
     $scss = new \scssc();
     $string = $scss->compile($file->read());
     if (null !== $path) {
         $file2 = new FileObject($path, 'w+');
         $file2->write($string);
         $string = true;
     }
     unset($file);
     unset($file2);
     return $string;
 }
Ejemplo n.º 23
0
 public function filterLoad(AssetInterface $asset)
 {
     $sc = new \scssc();
     if ($this->compass) {
         new \scss_compass($sc);
     }
     if ($dir = $asset->getSourceDirectory()) {
         $sc->addImportPath($dir);
     }
     foreach ($this->importPaths as $path) {
         $sc->addImportPath($path);
     }
     foreach ($this->customFunctions as $name => $callable) {
         $sc->registerFunction($name, $callable);
     }
     $asset->setContent($sc->compile($asset->getContent()));
 }
Ejemplo n.º 24
0
 private function compile($css)
 {
     $scss = new scssc();
     $scss->setImportPaths(maxButtons::get_plugin_path() . "assets/");
     $compile = " @import 'mixins.scss';  " . $css;
     $css = $scss->compile($compile);
     /*				
     	try {
     
     	}
     	catch (Exception $e) { 
     		//print_R($e);
     		echo "Warning: Parse failed";
     		//throw new compileException("Compile failed");
     	}
     */
     return $css;
 }
Ejemplo n.º 25
0
function getSCSS($file)
{
    $uncompiled = basename($file) . '.scss';
    $compiled = 'cache/' . basename($file) . '.css';
    $scssContent = '';
    if (!is_writable('cache')) {
        die('/* Not writable: ' . $compiled . ' */');
    }
    if (@filemtime($compiled) < @filemtime($uncompiled)) {
        $scss = new scssc();
        $scss->setFormatter('scss_formatter_compressed');
        try {
            $return = file_put_contents($compiled, $scss->compile(file_get_contents($uncompiled)));
        } catch (Exception $e) {
            $scssContent .= "/*\n" . $e->getMessage() . "\n*/\n";
        }
    }
    $scssContent .= file_get_contents($compiled);
    return $scssContent;
}
Ejemplo n.º 26
0
function alfath_custom_css_compiler($options)
{
    global $wp_filesystem;
    if (empty($wp_filesystem)) {
        require_once ABSPATH . '/wp-admin/includes/file.php';
        WP_Filesystem();
    }
    if (!class_exists('scssc')) {
        require_once ADMIN_DIR . '/option/configs/scss.inc.php';
    }
    $scssc = new scssc();
    $scssc->setImportPaths(get_template_directory() . '/assets/sass/');
    $scssc->setNumberPrecision(10);
    $file = get_template_directory() . '/assets/sass/custom.scss';
    $target = get_template_directory() . '/assets/css/custom.css';
    $var = '';
    if ($wp_filesystem->exists($file)) {
        $scss = $wp_filesystem->get_contents($file);
        if (!$scss) {
            return new WP_Error('reading_error', 'Error when reading file');
        }
        $var .= '$primary-color: ' . $options['primary-color'] . ';';
        $var .= '$secondary-color: ' . $options['secondary-color'] . ';';
        $var .= '$background-color: ' . $options['background-color'] . ';';
        $scss = $var . $scss;
        // Fallback image
        if ($options['nav-bg-fallback-switch'] === '1' && $options['nav-bg-fallback']['url'] !== '') {
            $nav = " .nav-dropline { > li { &.active, &.open, &:hover, &:focus { background: url('" . $options['nav-bg-fallback']['url'] . "') no-repeat bottom left, url('" . $options['nav-bg-fallback']['url'] . "') no-repeat bottom right; @media (min-width: 1200px) { background: url('" . $options['nav-bg-fallback']['url'] . "') no-repeat top left, url('" . $options['nav-bg-fallback']['url'] . "') no-repeat top right; } } } }";
            $scss .= $nav;
        }
        // Fallback Image End;
        $css = $scssc->compile($scss);
        if (!$css) {
            return new WP_Error('compile_error', 'Error on compiling scss to css');
        }
        $wp_filesystem->put_contents($target, $css, FS_CHMOD_FILE);
    }
}
Ejemplo n.º 27
0
 protected function compile()
 {
     if (!class_exists('scssc')) {
         require_once __DIR__ . '/scss.inc.php';
     }
     $inputDir = dirname($this->inputFiles[0]);
     $outputDir = dirname($this->outputFile);
     $scss = new scssc();
     $scss->setFormatter('scss_formatter_compressed');
     $scss->setImportPaths($inputDir);
     if (!file_exists($outputDir)) {
         mkdir($outputDir, 0755, true);
     }
     try {
         $content = file_get_contents($this->inputFiles[0]);
         $css = $scss->compile($content);
         $css = AutoBuildPrefixer::addPrefixes($css);
     } catch (Exception $e) {
         $css = file_get_contents($this->outputFiles[0]);
         $css .= 'html:after{display:block;position:fixed;bottom:0;left:0;width:100%;padding:1em;font:14px sans;text-align:center;background:#d34;color:white;content:' . json_encode($e->getMessage()) . '}';
     }
     file_put_contents($this->outputFile, $css);
 }
Ejemplo n.º 28
0
 public static function getSCSS($file)
 {
     $uncompiled = self::getThemePath() . 'css/' . basename($file) . '.scss';
     $compiled = self::getThemePath() . 'cache/' . basename($file) . '.css';
     if (@filemtime($compiled) < @filemtime($uncompiled)) {
         $scss = new scssc();
         $scss->setFormatter('scss_formatter_compressed');
         try {
             file_put_contents($compiled, $scss->compile(file_get_contents($uncompiled)));
         } catch (Exception $e) {
             Functions::log(Functions::LOG_ERROR, $e->getMessage());
         }
     }
     return self::getThemeURL() . 'cache/' . basename($file) . '.css';
 }
Ejemplo n.º 29
0
 public static function compile_single_field($parent, $scss_path, $filename)
 {
     echo 'single field compile: ' . $scss_path . ' ' . $filename;
     if (!class_exists('scssc') && !isset($GLOBALS['redux_scss_compiler'])) {
         $GLOBALS['redux_scss_compiler'] = true;
         require "scssphp/scss.inc.php";
     }
     $scss = new scssc();
     $scss->setImportPaths($scss_path);
     if (!$parent->args['dev_mode']) {
         $scss->setFormatter("scss_formatter_compressed");
     }
     $new_css = $scss->compile('@import "' . $filename . '.scss"');
     unset($scss);
     $ret = @file_put_contents($scss_path . '/' . $filename . '.css', $new_css);
 }
Ejemplo n.º 30
0
 /**
  * Prints CSS styles in the header for meta options using wp_print_scripts
  *
  * @return	void
  * @since	1.3
  */
 public function printCSSForPagesAndPosts()
 {
     // This is for meta box options only, other types get generated normally
     if (TitanFrameworkOption::TYPE_META != $this->type) {
         return;
     }
     // For CSS langs only
     if ($this->settings['lang'] != 'css') {
         return;
     }
     // Don't generate CSS for non-pages and non-posts
     $id = get_the_ID();
     if (empty($id) || 1 == $id) {
         return;
     }
     // Check if a CSS was entered
     $css = $this->getFramework()->getOption($this->settings['id'], $id);
     if (empty($css)) {
         return;
     }
     // Print out valid CSS only
     require_once trailingslashit(dirname(__FILE__)) . "inc/scssphp/scss.inc.php";
     $scss = new scssc();
     try {
         $css = $scss->compile($css);
         echo "<style type='text/css' media='screen'>{$css}</style>";
     } catch (Exception $e) {
     }
 }