コード例 #1
0
ファイル: SmartyHelpers.php プロジェクト: activecollab/shade
 /**
  * Code block
  *
  * @param  array   $params
  * @param  string  $content
  * @param  Smarty  $smarty
  * @param  boolean $repeat
  * @return string
  */
 public static function block_code($params, $content, &$smarty, &$repeat)
 {
     if ($repeat) {
         return null;
     }
     $content = trim($content);
     // Remove whitespace
     if (array_key_exists('inline', $params)) {
         $inline = isset($params['inline']) && $params['inline'];
     } else {
         $inline = strpos($content, "\n") === false;
     }
     if ($inline) {
         if (empty($params['class'])) {
             $params['class'] = 'outlined_inline outlined_inline_mono inline_code';
         } else {
             $params['class'] .= ' outlined_inline outlined_inline_mono inline_code';
         }
         return Shade::htmlTag('span', $params, function () use($content) {
             return Shade::clean(trim($content));
         });
     } else {
         $highlight = isset($params['highlight']) && $params['highlight'] ? $params['highlight'] : null;
         if ($highlight === 'php') {
             $highlight = 'iphp';
         }
         if ($highlight === 'html' || $highlight === 'xhtml') {
             $highlight = 'xml';
         }
         if ($highlight === 'json') {
             $highlight = 'javascript';
         }
         return Shade::highlightCode($content, $highlight);
     }
 }