You are here

private function lessc::compileBlock in Less CSS Preprocessor 6

Same name and namespace in other branches
  1. 6.3 lessphp/lessc.inc.php \lessc::compileBlock()

* compile functions turn data into css code

1 call to lessc::compileBlock()
lessc::readChunk in ./lessc.inc.php

File

./lessc.inc.php, line 751

Class

lessc

Code

private function compileBlock($rtags, $env) {

  // don't render functions
  foreach ($rtags as $i => $tag) {
    if (preg_match('/( |^)%/', $tag)) {
      unset($rtags[$i]);
    }
  }
  if (empty($rtags)) {
    return '';
  }
  $props = 0;

  // print all the properties
  ob_start();
  foreach ($env as $name => $value) {

    // todo: change this, poor hack
    // make a better name storage system!!! (value types are fine)
    // but.. don't render special properties (blocks, vars, metadata)
    if (isset($value[0]) && $name[0] != '@' && $name != '__args') {
      echo $this
        ->compileProperty($name, $value, 1) . "\n";
      $props++;
    }
  }
  $list = ob_get_clean();
  if ($props == 0) {
    return true;
  }

  // do some formatting
  if ($props == 1) {
    $list = ' ' . trim($list) . ' ';
  }
  return implode(", ", $rtags) . ' {' . ($props > 1 ? "\n" : '') . $list . "}\n";
}