Subversion Repositories My Stuff

Compare Revisions

Ignore whitespace Rev 8 → Rev 9

/trunk/PHP/block.geshi.php
0,0 → 1,62
<?php
 
 
/***
* GeSHi highlighting
* -------------------------------------------------------------
* File: block.geshi.php
* Type: block
* Name: geshi
* Purpose: highlight a block of text using GeSHi
* Author: Robert Campbell
* -------------------------------------------------------------
*/
function smarty_cms_block_geshi($params, $content, &$smarty)
{
// look for geshi in lib/geshi
global $gCms;
$config =& $gCms->GetConfig();
$dn = $config['root_path'].'/lib/geshi';
if( isset($config['geshi_path']) )
{
// allow an optional config var to override that
$dn = $config['geshi_path'];
}
include_once($dn.'/geshi.php');
 
// defaults
$lang = 'html';
$line_numbers = GESHI_NO_LINE_NUMBERS;
$use_class = false;
$class = 'geshi';
$strict = 'false';
 
// handle params
if( isset($params['lang']) )
{
$lang = trim($params['lang']);
}
if( isset($params['linenumbers']) )
{
$line_numbers = GESHI_NORMAL_LINE_NUMBERS;
}
if( isset($params['class']) )
{
$class = trim($params['class']);
$use_class = true;
}
if( isset($params['strict']) )
{
$strict = true;
}
 
if (isset($content)) {
$geshi = new GeSHI($content, $lang);
$geshi->enable_classes($use_class);
$geshi->set_overall_class($class);
$geshi->enable_line_numbers($line_numbers);
$geshi->enable_strict_mode($strict);
return $geshi->parse_code();
}
}
?>