Beispiel #1
0
 /**
  * Compile LESS
  * @param string $in
  * @param string $out
  */
 public function compile($in, $out)
 {
     if ($this->cacheDir) {
         $this->autoCompileLess($in, $out);
     } else {
         $this->compiler->checkedCompile($in, $out);
     }
 }
Beispiel #2
0
function shoestrap_phpless()
{
    $shoestrap_responsive = get_theme_mod('shoestrap_responsive');
    if (!class_exists('lessc')) {
        require_once TEMPLATEPATH . '/lib/less_compiler/lessc.inc.php';
    }
    $less = new lessc();
    $less->setFormatter("compressed");
    if ($shoestrap_responsive == '0') {
        $less->checkedCompile(TEMPLATEPATH . '/assets/css/app-fixed.less', TEMPLATEPATH . '/assets/css/app-fixed.css');
    } else {
        $less->checkedCompile(TEMPLATEPATH . '/assets/css/app-responsive.less', TEMPLATEPATH . '/assets/css/app-responsive.css');
    }
}
Beispiel #3
0
 private function compileLess()
 {
     $lessc = new lessc();
     $lessIndexPath = DIR_TEMPLATE . '/default/stylesheet/less/index.less';
     $cssIndexPath = DIR_TEMPLATE . '/default/stylesheet/stylesheet.css';
     $lessc->checkedCompile($lessIndexPath, $cssIndexPath);
 }
 public function registerLessFile($url, $media = '')
 {
     $this->hasScripts = true;
     $lessUrl = $url;
     $uniqid = md5($lessUrl);
     $lessFileName = basename($lessUrl);
     $cssFileName = preg_replace('/\\.less$/i', '', $lessFileName) . ".css";
     $tempCachePath = Yii::getPathOfAlias('application.runtime.cache') . "/yiiless/{$uniqid}";
     @mkdir($tempCachePath, 0777, true);
     $cssFilePath = "{$tempCachePath}/{$cssFileName}";
     if (preg_match('/^https?\\:\\/\\//', $lessUrl)) {
         $lessFilePath = "{$tempCachePath}/{$lessFileName}";
     } else {
         if (file_exists(Yii::getPathOfAlias('webroot') . "/{$lessUrl}")) {
             $lessFilePath = Yii::getPathOfAlias('webroot') . "/{$lessUrl}";
         } else {
             if (file_exists($lessUrl)) {
                 $lessFilePath = $lessUrl;
             } else {
                 $lessFilePath = $_SERVER['DOCUMENT_ROOT'] . "/" . $lessUrl;
             }
         }
     }
     $lessCompiler = new lessc();
     if ($this->cache === false) {
         $lessCompiler->compileFile($lessFilePath, $cssFilePath);
     } else {
         $lessCompiler->checkedCompile($lessFilePath, $cssFilePath);
     }
     $cssUrl = Yii::app()->getAssetManager()->publish($cssFilePath);
     $this->cssFiles[$cssUrl] = $media;
     $params = func_get_args();
     $this->recordCachingAction('clientScript', 'registerLessFile', $params);
     return $this;
 }
Beispiel #5
0
function applyDefaultTheme()
{
    $less = new lessc();
    try {
        $less->checkedCompile("./style/main.less", "./style/style.css");
    } catch (exception $e) {
        echo $e->getMessage();
    }
}
Beispiel #6
0
function Core_View_Helper_Css($files)
{
    include_once LIBRARY_PATH . '/Less/lessc.inc.php';
    $options = Core_Resource_View::getOptions();
    $less = new lessc();
    foreach ($files as $key => $file) {
        if (substr($file, 0, 1) != '/') {
            $filePaths[] = APPLICATION_PATH . '/theme/' . $options['theme'] . '/' . $file;
        } else {
            $filePaths[] = BASE_PATH . $file;
        }
    }
    if ($options['combineCss']) {
        $fileDate = 0;
        $cacheFile = '';
        foreach ($filePaths as $filePath) {
            $fileDate = max(filemtime($filePath), $fileDate);
            $cacheFile .= $filePath;
        }
        $cacheFile = md5($cacheFile) . '.css';
        $cacheFilePath = BASE_PATH . '/public/cache/' . $cacheFile;
        $cacheFileDate = file_exists($cacheFilePath) ? filemtime($cacheFilePath) : 0;
        if ($cacheFileDate < $fileDate) {
            $fileContent = '';
            $less->setVariables(array('themeUrl' => "'" . BASE_URL . '/app/theme/' . $options['theme'] . "'", 'publicUrl' => "'" . BASE_URL . '/public' . "'"));
            foreach ($filePaths as $filePath) {
                $ext = pathinfo($filePath, PATHINFO_EXTENSION);
                if ($ext == 'less') {
                    $fileContent .= $less->compileFile($filePath) . PHP_EOL;
                } else {
                    $fileContent .= file_get_contents($filePath) . PHP_EOL;
                }
            }
            file_put_contents($cacheFilePath, $options['minify'] ? Core_Helper_Minify::minifyCss($fileContent) : $fileContent);
        }
        $fileLinks = array(BASE_URL . '/public/cache/' . $cacheFile);
    } else {
        foreach ($filePaths as $key => $filePath) {
            $ext = pathinfo($filePath, PATHINFO_EXTENSION);
            if ($ext == 'less') {
                $less->setVariables(array('themeUrl' => "'" . BASE_URL . '/app/theme/' . $options['theme'] . "'"));
                $cacheFile = md5($filePath) . '.css';
                $cacheFilePath = BASE_PATH . '/public/cache/' . $cacheFile;
                $less->checkedCompile($filePath, $cacheFilePath);
                $fileLinks[] = BASE_URL . '/public/cache/' . $cacheFile;
            } else {
                $fileLinks[] = BASE_URL . '/' . trim(str_replace(BASE_PATH, '', $filePath), '/');
            }
        }
    }
    foreach ($fileLinks as $link) {
        echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"{$link}\" />" . PHP_EOL;
    }
}
Beispiel #7
0
 function test($data)
 {
     require "scripts/lessc.inc.php";
     $less = new lessc();
     if (ENVIRONMENT != 'development') {
         $less->checkedCompile('content/' . $data . '/style_compilator.less', 'content/cache/' . $data . '_compiled.css');
     } else {
         $less->compileFile('content/' . $data . '/style_compilator.less', 'content/cache/' . $data . '_compiled.css');
     }
     echo '<link href="/content/cache/' . $data . '_compiled.css" rel="stylesheet" type="text/css" />';
 }
 /**
  * Method that compiles LESS to CSS file
  * @param (string) Path to LESS file
  * @param (bool) If true additional LESS variables from "jm_bootstrap_variables" parameter will be added
  * @param (bool) Indicates if we are dealing with a file that belongs to template's core. 
  *         If yes, it means that we should add suffix for CSS file because different template styles may use
  *         different variables
  * @param (bool) When true old version of LessC will be used. Otherwise Less_Parser class. 
  */
 protected function lessToCss($lessPath, $useVars = true, $coreStyle = true, $legacyCompiler = false)
 {
     if (class_exists('lessc') == false && $legacyCompiler) {
         require_once JMF_FRAMEWORK_PATH . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'libraries' . DIRECTORY_SEPARATOR . 'lessc' . DIRECTORY_SEPARATOR . 'lessc.inc.0.4.0.php';
     }
     if (class_exists('Less_Parser') == false && !$legacyCompiler) {
         require_once JMF_FRAMEWORK_PATH . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR . 'libraries' . DIRECTORY_SEPARATOR . 'less_parser' . DIRECTORY_SEPARATOR . 'Less.php';
     }
     $developer_mode = $this->params->get('devmode', false) == '1' ? true : false;
     $filename = JFile::stripExt(JFile::getName($lessPath));
     $style_id = @JFactory::getApplication()->getTemplate(true)->id;
     $css_suffix = '';
     // A suffix is simply ID of template style, eg. template.10.css
     if ($style_id > 0 && $coreStyle) {
         $css_suffix = '.' . $style_id;
     }
     // Establishing path to CSS file
     $cssPath = JPath::clean(JMF_TPL_PATH . '/css/' . $filename . $css_suffix . '.css');
     // Checking if LESS file exists. If not we should make sure that we're looking in correct directory
     if (!JFile::exists($lessPath)) {
         $lessPath = JPath::clean(JMF_TPL_PATH . '/less/' . $filename . '.less');
     }
     // If developer mode is disabled and CSS file is not older than LESS file, we do not have to compile LESS file.
     if (JFile::exists($lessPath) && JFile::exists($cssPath)) {
         $lessTime = filemtime($lessPath);
         $cssTime = filemtime($cssPath);
         if ($lessTime <= $cssTime && $developer_mode == false) {
             return JMF_TPL_URL . '/css/' . $filename . $css_suffix . '.css';
         }
     }
     // At this point, either we are in developer mode or CSS file does not exist or is older than LESS file.
     // But if CSS file does exist, we should delete it
     if (JFile::exists($cssPath)) {
         JFile::delete($cssPath);
     }
     try {
         if ($legacyCompiler) {
             // Initialising LessC compiler
             $less = new lessc();
             // Additional LESS variables
             if ($useVars) {
                 $variables = $this->params->get('jm_bootstrap_variables', array());
                 if (!empty($variables)) {
                     $less->setVariables($variables);
                 }
             }
             // Checked Compile - LessC
             $less->checkedCompile($lessPath, $cssPath);
         } else {
             // Less_Parser compiler
             $less_parser_options = array('compress' => $this->params->get('cssCompress', '0') == '1' ? true : false, 'relativeUrls' => false, 'sourceMap' => false);
             if ($developer_mode) {
                 //$less_parser_options['compress'] = false;
                 $less_parser_options['sourceMap'] = true;
                 $less_parser_options['sourceMapWriteTo'] = JPath::clean(JMF_TPL_PATH . '/css/' . $filename . $css_suffix . '.map');
                 $less_parser_options['sourceMapURL'] = JUri::base(false) . 'templates/' . JMF_TPL . '/css/' . $filename . $css_suffix . '.map';
             }
             $less_parser = new Less_Parser($less_parser_options);
             // Less_Parser - LESS file
             $less_parser->parseFile($lessPath, JMF_TPL_URL . '/css');
             // Additional LESS variables
             if ($useVars) {
                 $variables = $this->params->get('jm_bootstrap_variables', array());
                 if (!empty($variables)) {
                     // Less_Parser
                     $less_parser->ModifyVars($variables);
                 }
             }
             // Compilation - Less_Parser
             if ($css_content = $less_parser->getCss()) {
                 if (JFile::write($cssPath, $css_content) == false) {
                     throw new Exception('Cannot save CSS file. Please check your directory permissions.');
                 }
             }
         }
     } catch (exception $e) {
         throw new Exception(JText::sprintf('PLG_SYSTEM_JMFRAMEWORK_LESS_ERROR', $e->getMessage()));
     }
     // Returning CSS file's URL
     return JMF_TPL_URL . '/css/' . $filename . $css_suffix . '.css';
 }
<?php

session_start();
?>
<!DOCTYPE html>
<html>
 <head>	
	<title>inlogregistratie - tutorialsite</title>
    
    <?php 
require_once "./lessphp/lessc.inc.php";
$less = new lessc();
$less->checkedCompile("./css/style.less", "./css/style.css");
?>
	
        
	<link rel="stylesheet/less" type="text/css" href="css/less-style.less">
	<link rel="stylesheet/less" type="text/css" href="css/php-style.php">
	<link rel="stylesheet/less" type="text/css" href="css/style.less">
    
    
	<link rel="stylesheet" type="text/css" href="./jquery/jquery-ui-1.11.4.custom/jquery-ui.css">
 	<link rel="stylesheet" media="(max-width:800px; )" type="text/css" href="css/style-mobile.css">
	
	<!--
	<link rel="stylesheet/less" type="text/css" href="css/less-style.less">
	-->
    <script src="./less.js-2.5.3/dist/less.js"></script>
	
	
	<script src="./jquery/jquery-2.1.4.js"></script>
Beispiel #10
0
$doc = JFactory::getDocument();
$user = JFactory::getUser();
$this->language = $doc->language;
$this->direction = $doc->direction;
$sitename = $app->get('sitename');
$tmpl = $this->baseurl . '/templates/' . $this->template;
// STOP INCLUDING GARBAGE IN MY TEMPLATE !!!!
foreach ($doc->_scripts as $script => $value) {
    if (preg_match('/media\\/jui/i', $script)) {
        unset($doc->_scripts[$script]);
    }
}
// Add Stylesheets
require "php/lessc.inc.php";
$less = new lessc();
$less->checkedCompile(dirname(__FILE__) . "/less/site.less", dirname(__FILE__) . "/css/site.css");
$doc->addStyleSheet($this->baseurl . '/templates/' . $this->template . '/css/site.css');
?>
<!DOCTYPE html>
<html
	xmlns="http://www.w3.org/1999/xhtml"
	xml:lang="<?php 
echo $this->language;
?>
"
	lang="<?php 
echo $this->language;
?>
" dir="<?php 
echo $this->direction;
?>
Beispiel #11
0
 * Remove JS Conflicts
 * ==================================================
 */
//UNSET newJCAPTION
if ($this->params->get('removecaptionjs', 0) == 1) {
    if (isset($this->_script['text/javascript'])) {
        $codejcaption = "jQuery(window).on('load',  function() {\r\t\t\t\t\tnew JCaption('img.caption');\r\t\t\t\t});";
        // This @ is in order to hide the warning, working in a better solution
        @($this->_script['text/javascript'] = preg_replace($codejcaption, '', $this->_script['text/javascript']));
        if (empty($this->_script['text/javascript'])) {
            unset($this->_script['text/javascript']);
        }
    }
}
//UNSET SqueezeBox.initialize
if ($this->params->get('removesqueezeboxjs', 0) == 1) {
    if (isset($this->_script['text/javascript'])) {
        $codejcaption = "jQuery(function(\$) {\r\t\t\tSqueezeBox.initialize({});\r\t\t\tSqueezeBox.assign(\$('a.modal').get(), {\r\t\t\t\tparse: 'rel'\r\t\t\t});\r\t\t})\r\t\t";
        // This @ is in order to hide the warning, working in a better solution
        @($this->_script['text/javascript'] = preg_replace($codejcaption, '', $this->_script['text/javascript']));
        if (empty($this->_script['text/javascript'])) {
            unset($this->_script['text/javascript']);
        }
    }
}
if ($less == 1) {
    $less = new lessc();
    $less->checkedCompile($_SERVER['DOCUMENT_ROOT'] . $tpath . "/css/custom.less", $_SERVER['DOCUMENT_ROOT'] . $tpath . "/css/custom.css");
}
// force latest IE & chrome frame
$doc->setMetadata('x-ua-compatible', 'IE=edge,chrome=1');
Beispiel #12
0
 /**
  * Less CSS
  *
  * @param  mixed $mixed CSS string to process with Less compiler or an array with CSS file's Path and URL.
  * @return mixed string or an array with CSS file's Path and URL.
  */
 function _lessCss($mixed)
 {
     require_once BX_DIRECTORY_PATH_PLUGINS . 'lessphp/lessc.inc.php';
     $oLess = new lessc();
     $oLess->setVariables($this->_oConfigTemplate->aLessConfig);
     if (is_array($mixed) && isset($mixed['url']) && isset($mixed['path'])) {
         $sPathFile = realpath($mixed['path']);
         $aInfoFile = pathinfo($sPathFile);
         if (!isset($aInfoFile['extension']) || $aInfoFile['extension'] != 'less') {
             return $mixed;
         }
         $sPathRoot = realpath(BX_DIRECTORY_PATH_ROOT);
         $sFile = $this->_sLessCachePrefix . trim(str_replace(array('.' . $aInfoFile['extension'], DIRECTORY_SEPARATOR), array('', '_'), bx_ltrim_str($sPathFile, $sPathRoot)), '_') . '.css';
         $oLess->checkedCompile($mixed['path'], $this->_sCachePublicFolderPath . $sFile);
         return array('url' => $this->_sCachePublicFolderUrl . $sFile, 'path' => $this->_sCachePublicFolderPath . $sFile);
     }
     return $oLess->compile($mixed);
 }
Beispiel #13
0
<?php

// get config file
$config = parse_ini_file('conf/config.ini', TRUE);
// check for ssl
if ($_SERVER['HTTPS'] != "on" && $config['ssl'] == 1) {
    $redirect = "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: {$redirect}");
}
// build css if there is a newer less version
require "classes/less/lessc.inc.php";
$less = new lessc();
$less->setFormatter("compressed");
try {
    $less->checkedCompile("css/less/wuza.less", "css/wuza.css");
} catch (exception $e) {
    echo '<div class="text-danger bg-danger small-padding">fatal error: ' . $e->getMessage() . '</div>';
}
// allow GZIP Compression
ob_start("ob_gzhandler");
session_start();
// incude classes
include 'classes/controller.php';
include 'classes/model.php';
include 'classes/view.php';
include 'classes/uri.php';
// $_SESSION, $_GET and $_POST - no $_COOKIE but config values
$request = array_merge($_SESSION, $_GET, $_POST, $config);
// add values from fancy url
$url = new URI("wuza");
Beispiel #14
0
 private function compileLess()
 {
     $less = new \lessc();
     try {
         $less->checkedCompile(__DIR__ . "/../resources/less/main.less", __DIR__ . "/../resources/css/main.css");
     } catch (\Exception $e) {
         $this->render->error(500, $e->getMessage());
     }
 }
Beispiel #15
0
$compress = c::get('less.compress', true);
$kirby = kirby();
$kirby->options['less.handler'] = function ($url, $media = false) use($kirby, $compress) {
    if (is_array($url)) {
        $less = array();
        foreach ($url as $u) {
            $less[] = call($kirby->options['less.handler'], $u);
        }
        return implode(PHP_EOL, $less) . PHP_EOL;
    }
    // Update folder and file extension
    $compiledUrl = str_replace('/less/', '/css/', $url);
    $compiledUrl = str_replace('.less', '.css', $compiledUrl);
    $root = $kirby->roots()->index() . DS;
    // Will throw error if $file does not exist
    $less = new lessc();
    $less->setFormatter($compress ? 'compressed' : '');
    $less->checkedCompile($root . $url, $root . $compiledUrl);
    return call(kirby()->option('css.handler') ?: 'css', array($compiledUrl, $media));
};
/**
 * Compile less to css and then call css.handler
 *
 * @param string $url
 * @param string $media
 * @return string
 */
function less()
{
    return call(kirby::instance()->option('less.handler'), func_get_args());
}
Beispiel #16
0
 /**
  * Compile a less file
  *
  * @param \Zend_View $view
  * @param string $href The less file
  * @param boolean $always Always compile
  * @return boolean True when changed
  */
 public function compile(\Zend_View $view, $href, $always = false)
 {
     if (\MUtil_String::startsWith($href, 'http', true)) {
         // When a local url, strip the serverUrl and basepath
         $base = $view->serverUrl() . $view->baseUrl();
         if (\MUtil_String::startsWith($href, $base, true)) {
             // Only strip when urls match
             $href = substr($href, strlen($base));
         }
     }
     // Add full path to the webdir
     $inFile = $this->_webroot . '/' . $href;
     $outFile = substr($inFile, 0, -strlen(pathinfo($inFile, PATHINFO_EXTENSION))) . 'css';
     // Try compiling
     try {
         // \MUtil_Echo::track($inFile, $outFile);
         $lessc = new lessc();
         $lessc->registerFunction('base64encode', array($this, 'base64encode'));
         if ($always || array_key_exists('compilecss', \Zend_Controller_Front::getInstance()->getRequest()->getParams())) {
             $result = (bool) $lessc->compileFile($inFile, $outFile);
         } else {
             $result = $lessc->checkedCompile($inFile, $outFile);
         }
     } catch (\Exception $exc) {
         // If we have an error, present it if not in production
         if (APPLICATION_ENV !== 'production' || APPLICATION_ENV !== 'acceptance') {
             \MUtil_Echo::pre($exc->getMessage());
         }
         $result = null;
     }
     return $result;
 }
Beispiel #17
0
 /**
  * Updates and compiles Twitter Bootstrap with Font Awesome.
  *
  * This will update to the latest and rebuild the less files.
  * By default Font Awesome fonts will be used instead of Twitter Bootstrap's
  * default glyphs. You can pass the first argument false if you do not want this.
  *
  * This will also update the Twitter Bootstrap based editor, bootstrap-wysihtml5.
  *
  * @param  $fontAwesome Flag false if you do NOT want to use Font Awesome instead of Twitter Bootstrap glyphs
  * @return [type] [description]
  */
 public function updateBootstrap($fontAwesome = true)
 {
     $appRoot = $this->_appConfig['path'];
     $libDir = $appRoot . '/libraries/li3b_core';
     echo "Updating all things Twitter Bootstrap...\n";
     system("(cd {$libDir} && {$this->_gitCommand} submodule update --recursive) 2>&1");
     $twitterBootstrapDir = $libDir . '/webroot/bootstrap';
     $twitterBootstrapLess = $twitterBootstrapDir . '/less/bootstrap.less';
     $twitterBootstrapResponsiveLess = $twitterBootstrapDir . '/less/responsive.less';
     $cssOutputDir = $libDir . '/webroot/css';
     $fontOutputDir = $libDir . '/webroot/font';
     $twitterBootstrapFontAwesomeLess = $twitterBootstrapDir . '/less/bootstrap-with-font-awesome.less';
     $twitterBootstrapFontAwesomeLessTmp = $twitterBootstrapDir . '/less/bootstrap-with-font-awesome.less.tmp';
     $fontAwesomeDir = $libDir . '/webroot/font-awesome';
     $fontAwesomeLess = $fontAwesomeDir . '/less/font-awesome.less';
     // If using Font Awesome icons (default behavior).
     if ($fontAwesome) {
         copy($twitterBootstrapLess, $twitterBootstrapFontAwesomeLess);
         $reading = fopen($twitterBootstrapFontAwesomeLess, 'r');
         $writing = fopen($twitterBootstrapFontAwesomeLessTmp, 'w');
         $replaced = false;
         while (!feof($reading)) {
             $line = fgets($reading);
             if (stristr($line, '@import "sprites.less";')) {
                 $line = '@import "font-awesome.less";' . "\n";
                 $replaced = true;
             }
             fputs($writing, $line);
         }
         fclose($reading);
         fclose($writing);
         // might as well not overwrite the file if we didn't replace anything
         if ($replaced) {
             rename($twitterBootstrapFontAwesomeLessTmp, $twitterBootstrapFontAwesomeLess);
         } else {
             unlink($twitterBootstrapFontAwesomeLessTmp);
         }
         // Copy over the font files.
         copy($fontAwesomeDir . '/font/fontawesome-webfont.eot', $fontOutputDir . '/fontawesome-webfont.eot');
         copy($fontAwesomeDir . '/font/fontawesome-webfont.ttf', $fontOutputDir . '/fontawesome-webfont.ttf');
         copy($fontAwesomeDir . '/font/fontawesome-webfont.woff', $fontOutputDir . '/fontawesome-webfont.woff');
         copy($fontAwesomeDir . '/font/FontAwesome.otf', $fontOutputDir . '/FontAwesome.otf');
     }
     // Sure, this could be another library, but I want it bundled with li3b_core.
     // Since when did PHP become a dependency nightmare??
     // TODO: Think about using and requiring Composer for everything...
     require $libDir . '/util/lessphp/lessc.inc.php';
     $less = new \lessc();
     $less->setFormatter("compressed");
     $less->setImportDir(array($fontAwesomeDir . '/less', $twitterBootstrapDir . '/less'));
     if (file_exists($twitterBootstrapLess)) {
         try {
             if ($fontAwesome) {
                 $less->checkedCompile($twitterBootstrapFontAwesomeLess, $cssOutputDir . '/bootstrap.min.css');
                 // Tidy up and remove the new Twitter Bootstrap with Font Awesome LESS file.
                 unlink($twitterBootstrapFontAwesomeLess);
                 echo 'Compiled Twitter Bootstrap LESS with Font Awesome.';
                 echo $this->nl();
             } else {
                 $less->checkedCompile($twitterBootstrapLess, $cssOutputDir . '/bootstrap.min.css');
                 echo 'Compiled Twitter Bootstrap LESS.';
                 echo $this->nl();
             }
         } catch (exception $e) {
             echo 'Fatal error compiling Twitter Bootstrap LESS file: ' . $e->getMessage();
         }
         // Compile the Twitter Bootstrap responsive LESS file.
         try {
             $less->checkedCompile($twitterBootstrapResponsiveLess, $cssOutputDir . '/bootstrap-responsive.min.css');
         } catch (exception $e) {
             echo 'Fatal error compiling Twitter Bootstrap LESS file: ' . $e->getMessage();
         }
     }
 }
bloginfo('name');
// Add the blog description for the home/front page.
$site_description = get_bloginfo('description', 'display');
if ($site_description && (is_home() || is_front_page())) {
    echo " | {$site_description}";
}
// Add a page number if necessary:
if ($paged >= 2 || $page >= 2) {
    echo ' | ' . sprintf(__('Seite %s', 'SPD2012'), max($paged, $page));
}
?>
</title>
    <?php 
require get_template_directory() . "/lib/lessphp/lessc.inc.php";
$less = new lessc();
$less->checkedCompile(get_template_directory() . "/css/style.less", get_template_directory() . "/css/style.css");
?>
    <link rel="stylesheet" href="<?php 
echo get_template_directory_uri();
?>
/css/style.css">
    <link rel="stylesheet" href="<?php 
echo get_stylesheet_directory_uri();
?>
/style.css">
    <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
    <!--[if lt IE 9]>
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <!-- Le fav and touch icons -->
    <?php 
<?php

/* SESSION */
session_start();
$PHPSESSID = session_id();
header('Content-Type: text/html; charset=UTF-8');
function utilisateur_est_connecte()
{
    return !empty($_SESSION['id']);
}
/* PHP CONFIG */
ini_set('display_errors', 1);
error_reporting(0);
error_reporting(E_ERROR | E_WARNING | E_PARSE);
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
error_reporting(E_ALL ^ E_NOTICE);
error_reporting(E_ALL);
error_reporting(-1);
ini_set('error_reporting', E_ALL);
/* LESS */
// prepare less variables
$fp = fopen(INCLUDE_LESS, 'w');
fwrite($fp, $GLOBALS['less_vars'], strlen($GLOBALS['less_vars']));
fclose($fp);
// initialise less
require LESS_INC;
$less = new lessc();
// compile less file only if is updated
$less->checkedCompile(LESS_INPUT, LESS_OUTPUT);
Beispiel #20
0
<?php

require_once DIR_Z . '/lessc.php';
$file = preg_replace('/[^\\w\\/]/', '-', $_GET['file']);
//secure?
$in = DIR_WEB . '/' . $file . '.less';
$out = DIR_WEB . '/' . $file . '.css';
header("Content-type: text/css");
try {
    if (!is_file($in)) {
        exit("/*File `{$file}.less` does not exists*/");
    }
    $less = new lessc();
    if (DEBUG) {
        $less->compileFile($in, $out);
    } else {
        $less->checkedCompile($in, $out);
    }
    echo file_get_contents($out);
} catch (Exception $ex) {
    exit("/*lessc fatal error:\n{$ex->getMessage()}*/");
}
Beispiel #21
0
define('LESS_DIR', realpath(__DIR__ . '/public/less') . DIRECTORY_SEPARATOR);
//Set current language
if (!isset($_SESSION[Config::$lang_session])) {
    $_SESSION[Config::$lang_session] = Config::getConfig(Config::$lang);
}
//Running the router
$router = new \lib\Router();
//Compiling dynamic stylesheet
if (Config::getPlugins('css') == 'lessCSS') {
    $lessFile = glob('public/less/*.less');
    if (sizeof($lessFile) > 0) {
        $less = new lessc();
        foreach ($lessFile as $value) {
            $filenames = explode('/', $value);
            $filename = $filenames[2];
            $less->checkedCompile($value, strstr($value, '/', true) . '/css/' . substr($filename, 0, strpos($filename, '.')) . '.css');
        }
    }
}
//Call caches header
if (Config::getConfig(Config::$cache) == 'true') {
    $router->headerCache();
}
AR_Config::initialize(function ($cfg) {
    $cfg->set_model_directory('app/models');
    $cfg->set_connections(Config::getDatabases());
    $cfg->set_default_connection(Config::getConfig(Config::$default_connection));
});
//Call controller
$router->route();
//Call caches footer
 });
 birch_defn($ns, 'compile_less_dir', function ($dir) use($ns) {
     global $birchpress;
     $less = new lessc();
     if (is_dir($dir)) {
         $files = scandir($dir);
         if ($files) {
             foreach ($files as $file) {
                 if ($file != '.' && $file != '..') {
                     if (is_dir($dir . '/' . $file)) {
                         $ns->compile_less_dir($dir . '/' . $file);
                     } else {
                         if ($birchpress->util->ends_with($file, '.less')) {
                             $input_less = $dir . "/{$file}";
                             $output_less = substr($input_less, 0, strlen($input_less) - 4) . 'css';
                             $less->checkedCompile($input_less, $output_less);
                         }
                     }
                 }
             }
         }
     }
 });
 birch_defn($ns, 'load_core', function () use($ns) {
     global $birchpress;
     $core_dir = $ns->plugin_dir_path() . 'includes';
     $packages = array('model', 'view', 'upgrader');
     foreach ($packages as $package) {
         $birchpress->load_package($core_dir . '/' . $package);
     }
 });
function compile_redux_dependencies()
{
    //this is only in developing
    $complie_every_load = WP_DEBUG ? true : false;
    $minify = WP_DEBUG ? false : true;
    $widgets = apply_filters('redux-widgets-options', array());
    $_js = array();
    $_js_frontend = array();
    $_less = array();
    global $wp_filesystem;
    // Initialize the Wordpress filesystem, no more using file_put_contents function
    if (empty($wp_filesystem)) {
        require_once ABSPATH . '/wp-admin/includes/file.php';
        WP_Filesystem();
    }
    //we need to include color and spaces fields for sections
    $widgets[] = array('fields' => array(array('type' => 'color'), array('type' => 'spacing')));
    foreach ($widgets as $sections) {
        foreach ($sections['fields'] as $field) {
            if (file_exists(ReduxPageBuilder::$_dir . '/inc/fields/' . $field['type'] . '/field_' . $field['type'] . '.js')) {
                $_js[$field['type']] = ReduxPageBuilder::$_dir . '/inc/fields/' . $field['type'] . '/field_' . $field['type'] . '.js';
            } elseif (file_exists(ReduxFramework::$_dir . 'inc/fields/' . $field['type'] . '/field_' . $field['type'] . '.js')) {
                $_js[$field['type']] = ReduxFramework::$_dir . 'inc/fields/' . $field['type'] . '/field_' . $field['type'] . '.js';
            }
            if (file_exists(ReduxPageBuilder::$_dir . '/inc/fields/' . $field['type'] . '/field_' . $field['type'] . '.less')) {
                $_less[$field['type']] = ReduxPageBuilder::$_dir . '/inc/fields/' . $field['type'] . '/field_' . $field['type'] . '.less';
            } elseif (file_exists(ReduxFramework::$_dir . 'inc/fields/' . $field['type'] . '/field_' . $field['type'] . '.less')) {
                $_less[$field['type']] = ReduxFramework::$_dir . 'inc/fields/' . $field['type'] . '/field_' . $field['type'] . '.less';
            }
        }
    }
    //JS
    if (!get_option('cached_redux_js')) {
        update_option('cached_redux_js', serialize($_js));
    }
    if (get_option('cached_redux_js') != serialize($_js) || $complie_every_load) {
        //we recomplie here
        $_js['numeric'] = ReduxPageBuilder::$_dir . 'assets/js/jquery.numeric.min.js';
        $_js['select2'] = ReduxPageBuilder::$_dir . 'assets/js/select2.min.js';
        $_js['redux'] = ReduxPageBuilder::$_dir . 'assets/js/redux.js';
        require_once 'minify/jsmin-1.1.1.php';
        $js = '';
        foreach ($_js as $file) {
            $js .= $minify ? JSMin::minify(file_get_contents($file)) : file_get_contents($file);
        }
        $js = str_replace('#redux-main', '#dialog', $js);
        file_put_contents(ReduxPageBuilder::$_dir . "assets/js/builder.min.js", $js);
    }
    //JS frontend
    if (!get_option('cached_redux_js_frontend')) {
        update_option('cached_redux_js_frontend', serialize($_js_frontend));
    }
    if (get_option('cached_redux_js_frontend') != serialize($_js_frontend) || $complie_every_load) {
        $include_bs = apply_filters('builder-include-bs', true);
        if ($include_bs) {
            $_js_frontend['bootstrap'] = ReduxPageBuilder::$_dir . 'assets/js/bootstrap.min.js';
        }
        //we recomplie here
        $_js_frontend['fancybox'] = ReduxPageBuilder::$_dir . 'assets/js/jquery.fancybox-1.3.4.js';
        $_js_frontend['mousewheel'] = ReduxPageBuilder::$_dir . 'assets/js/jquery.mousewheel-3.0.4.pack.js';
        $_js_frontend['mixitup'] = ReduxPageBuilder::$_dir . 'assets/js/jquery.mixitup.js';
        $_js_frontend['frontend'] = ReduxPageBuilder::$_dir . 'assets/js/builder-frontend.js';
        require_once 'minify/jsmin-1.1.1.php';
        $js = '';
        foreach ($_js_frontend as $file) {
            $js .= $minify ? JSMin::minify(file_get_contents($file)) : file_get_contents($file);
        }
        file_put_contents(ReduxPageBuilder::$_dir . "assets/js/builder-frontend.min.js", $js);
    }
    //LESS
    if (!get_option('cached_redux_less')) {
        update_option('cached_redux_less', serialize($_less));
    }
    if (get_option('cached_redux_less') != serialize($_less) || $complie_every_load) {
        $_less['general'] = ReduxPageBuilder::$_dir . 'assets/less/style.less';
        $_less['select2'] = ReduxPageBuilder::$_dir . 'assets/less/select2.less';
        $_less['BS-ui'] = ReduxPageBuilder::$_dir . 'assets/less/jquery-ui-1.10.0.custom.less';
        //we recomplie here
        if (!class_exists('lessc')) {
            require_once ReduxPageBuilder::$_dir . '/inc/lessc.inc.php';
        }
        $less = new lessc();
        if ($minify) {
            $less->setFormatter("compressed");
        }
        $css = '';
        foreach ($_less as $file) {
            $css .= $less->compile(file_get_contents($file));
        }
        $css = str_replace('#redux-main', '#dialog', $css);
        file_put_contents(ReduxPageBuilder::$_dir . "assets/css/builder.min.css", $css);
    }
    if ($complie_every_load) {
        if (!class_exists('lessc')) {
            require_once FRAMEWORK_DIR . '/lessc.inc.php';
        }
        $less = new lessc();
        //$less->setFormatter("compressed");
        $less->setImportDir(array(ReduxPageBuilder::$_dir . "assets/less/"));
        if (function_exists('cadr_variables_less')) {
            $_less = cadr_variables_less();
            $_less .= file_get_contents(ReduxPageBuilder::$_dir . "assets/less/frontend-builder.less");
            $_less .= get_builder_css();
            $content = $less->compile($_less);
            $file = ReduxPageBuilder::$_dir . "assets/css/frontend-builder.css";
            if (is_writeable($file) || !file_exists($file) && is_writeable(dirname($file))) {
                $wp_filesystem->put_contents($file, $content, FS_CHMOD_FILE);
            }
        }
        $less->checkedCompile(ReduxPageBuilder::$_dir . "assets/less/frontend-builder.less", ReduxPageBuilder::$_dir . "assets/css/frontend-builder.css");
    }
}
Beispiel #24
0
 public function compileLess($file)
 {
     $target = "{$this->getManagedPath()}css/{$file}.css";
     $source = "{$this->getAssetPath()}less/{$file}";
     if ($this->shouldBeCompiled($source, $target)) {
         $this->ensureFileExists($target);
         $less = new \lessc();
         $less->checkedCompile($source, $target);
     }
 }
Beispiel #25
0
<?php

include "../config/config.php";
require "lessc.inc.php";
$less = new lessc();
$LESS = array("style");
//Run a loop to make directory
$success = '';
foreach ($LESS as $l) {
    try {
        $less->checkedCompile(LESS_INPUT . $l . ".less", LESS_OUTPUT . $l . ".css");
        $success .= "<span style='color:green; font-weight:bold;'>" . $l . ".css</span>" . " hase been created Successfully.<br/>";
    } catch (Exception $e) {
        $success = '';
        echo $e;
    }
}
echo $success;
Beispiel #26
0
<?php

require 'lessc.inc.php';
$less = new lessc();
try {
    $less->checkedCompile('css/style.less', 'css/style.css');
} catch (exception $e) {
    echo "fatal error: " . $e->getMessage();
}
?>
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

  <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" />

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
  <script src="js/jquery.timelinr-0.9.5.js" type="text/javascript"></script>
  <script type="text/javascript"> 
    $(document).ready(function(){
      $(this).timelinr(function(){
        orientation: 'vertical'
      });
    });
  </script>
</head>

<body>
  <div id="timeline">
    <ul id="dates">
Beispiel #27
0
<?php

// compile less - comment the following three lines out,
// if your development is done or you don not what to user less
require "lessc.inc.php";
$less = new lessc();
$less->checkedCompile("template.less", "template.css");
// initialize ob_gzhandler to send and compress data
ob_start("ob_gzhandler");
// initialize compress function for whitespace removal
ob_start("compress");
// required header info and character set
header("Content-type:text/css; charset=UTF-8");
// cache control to process
header("Cache-Control:must-revalidate");
// duration of cached content (1 hour)
$offset = 60 * 60;
// expiration header format
$ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
// send cache expiration header to broswer
header($ExpStr);
// begin function compress
function compress($buffer)
{
    // remove comments
    $buffer = preg_replace('!/\\*[^*]*\\*+([^/][^*]*\\*+)*/!', '', $buffer);
    // remove tabs, spaces, new lines, etc.
    $buffer = str_replace(array("\r\n", "\r", "\n", "\t", '  ', '    ', '    '), '', $buffer);
    // remove unnecessary spaces
    $buffer = str_replace('{ ', '{', $buffer);
    $buffer = str_replace(' }', '}', $buffer);
    $scss = new scssc();
    // Set the import path and formatting type
    $scss->setImportPaths(dirname($file) . "/");
    $scss->setFormatter('scss_formatter_compressed');
    // scss_formatter, scss_formatter_nested, scss_formatter_compressed
    try {
        $scssContent = $scss->compile('@import "' . $fileName . '"');
        $fh = fopen(substr($file, 0, -4) . "css", 'w');
        fwrite($fh, $scssContent);
        fclose($fh);
    } catch (Exception $e) {
        echo ";top.ICEcoder.message('Couldn\\'t compile your Sass, error info below:\\n\\n" . $e->getMessage() . "');";
    }
}
// LESS Compiling if we have LESSPHP plugin installed
if (strtolower($fileExt) == "less" && file_exists(dirname(__FILE__) . "/../plugins/lessphp/lessc.inc.php")) {
    // Load the LESSPHP lib and start a new instance
    require dirname(__FILE__) . "/../plugins/lessphp/lessc.inc.php";
    $less = new lessc();
    // Set the formatting type and if we want to preserve comments
    $less->setFormatter('lessjs');
    // lessjs (same style used in LESS for JS), compressed (no whitespace) or classic (LESSPHP's original formatting)
    $less->setPreserveComments(false);
    // true or false
    try {
        $less->checkedCompile($file, substr($file, 0, -4) . "css");
        // Note: Only recompiles if changed
    } catch (Exception $e) {
        echo ";top.ICEcoder.message('Couldn\\'t compile your LESS, error info below:\\n\\n" . $e->getMessage() . "');";
    }
}
Beispiel #29
0
<?php

$js = 'library/javascript';
$styles = 'library/styles';
$images = 'library/images';
$zTabs = 'library/javascript/zTabs';
require 'library/includes/lessc.inc.php';
$less = new lessc();
// Setting higher level variables
$less->setVariables(array('one-em' => '16px', 'light-blue' => '#d7eef4', 'full-width' => '90%'));
try {
    $less->checkedCompile($styles . '/full_screen.less', $styles . '/full_screen.css');
} catch (Exception $e) {
    echo $e;
}
try {
    $result = $less->checkedCompile($zTabs . '/' . $styles . '/zTabs.less', $zTabs . '/' . $styles . '/zTabs.css');
} catch (Exception $e) {
    echo $e;
}
?>
<!DOCTYPE html>
<html>
<head>
	<title>Kate Green</title>
	<link href='http://fonts.googleapis.com/css?family=Simonetta:400,900,400italic,900italic' rel='stylesheet' />
	<link rel="stylesheet" href="<?php 
echo $styles;
?>
/reset.css" />
	<link rel="stylesheet" href="<?php 
 function less($filename, $order = FALSE)
 {
     // Block remote LESS files
     if (substr($filename, 0, 7) === 'http://' or substr($filename, 0, 8) === 'https://') {
         return false;
     }
     //Check if it's a LESS file
     if (substr($filename, -5) !== '.less') {
         return false;
     }
     // Make sure $filename path starts with a /
     if (substr($filename, 0, 1) !== '/') {
         $filename = '/' . $filename;
     }
     $lib = $_SERVER['DOCUMENT_ROOT'] . '/libs/php/lessc.inc.php';
     require_once $lib;
     $css_filename = substr('/themes/cache' . $filename, 0, -4) . 'css';
     $less = $_SERVER['DOCUMENT_ROOT'] . $filename;
     $css = $_SERVER['DOCUMENT_ROOT'] . $css_filename;
     // Create the folder structure before attempting to call the less compressor for storing the file
     $css_parts = explode('/', $css);
     array_pop($css_parts);
     $css_path = implode('/', $css_parts);
     @mkdir($css_path, 0777, true);
     // Compile the $less file onto $css
     $lessc = new lessc();
     $lessc->checkedCompile($less, $css);
     if (!$order) {
         $this->css_files['normal'][] = $css_filename;
     } elseif ($order === 'first' or $order === 'last') {
         $this->css_files[$order][] = $css_filename;
     } else {
         log_message('debug', 'Invalid loading order set for file ' . $filename);
     }
     /* Original lesscss.org code, left here for any possible future debugging
     			try {
     			    lessc::ccompile($less, $css);
     			} catch (exception $ex) {
     			    exit('lessc fatal error:<br />'.$ex->getMessage());
     			}
     			*/
 }