mirror of
https://github.com/e107inc/e107.git
synced 2025-01-16 20:28:28 +01:00
76 lines
1.8 KiB
PHP
76 lines
1.8 KiB
PHP
<?php
|
|
/**
|
|
* Copyright (C) e107 Inc (e107.org), Licensed under GNU GPL (http://www.gnu.org/licenses/gpl.txt)
|
|
* $Id$
|
|
*
|
|
* Heading bb code
|
|
*/
|
|
|
|
if (!defined('e107_INIT')) { exit; }
|
|
|
|
/**
|
|
* Basic usage [h=2]text[/h] // this will break things.
|
|
* The same [h]text[/h] as heading number defaults to '2' // this won't.
|
|
* Advanced usage [h=2|class=className&id=element-id&style=some: style; and: moresStyle]text[/h]
|
|
* 'class' defaults to 'bbcode' (if left empty)
|
|
*/
|
|
class bb_h extends e_bb_base
|
|
{
|
|
/**
|
|
* Called prior to save
|
|
* Sanitize and re-assemble the bbcode
|
|
*/
|
|
function toDB($code_text, $parm)
|
|
{
|
|
$code_text = trim($code_text);
|
|
if(empty($code_text)) return '';
|
|
|
|
$bparms = eHelper::scDualParams($parm);
|
|
|
|
$h = $bparms[1] ? intval($bparms[1]) : 2;
|
|
$parms = $bparms[2];
|
|
unset($bparms);
|
|
|
|
if(!empty($parms['class']))
|
|
{
|
|
$safe['class'] = eHelper::secureClassAttr($parms['class']);
|
|
}
|
|
if(!empty($parms['id']))
|
|
{
|
|
$safe['id'] = eHelper::secureIdAttr($parms['id']);
|
|
}
|
|
if(!empty($parms['style']))
|
|
{
|
|
$safe['style'] = eHelper::secureStyleAttr($parms['style']);
|
|
}
|
|
if($safe)
|
|
{
|
|
return '[h='.$h.'|'.eHelper::buildAttr($safe).']'.$code_text.'[/h]';
|
|
}
|
|
return '[h='.$h.']'.$code_text.'[/h]';
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* Translate to <h*> tag
|
|
*/
|
|
function toHTML($code_text, $parm)
|
|
{
|
|
$code_text = trim($code_text);
|
|
if(empty($code_text)) return '';
|
|
$bparms = eHelper::scDualParams($parm);
|
|
|
|
$h = 'h'.($bparms[1] ? intval($bparms[1]) : 2);
|
|
$parms = $bparms[2];
|
|
unset($bparms);
|
|
|
|
$class = " class='".e107::getBB()->getClass($h)."'"; // consistent classes across all themes.
|
|
|
|
$id = vartrue($parms['id']) ? ' id='.eHelper::secureIdAttr($parms['id']) : '';
|
|
$style = vartrue($parms['style']) ? ' style="'.eHelper::secureStyleAttr($parms['style']).'"' : '';
|
|
|
|
return "<{$h}{$id}{$class}{$style}>".$code_text."</{$h}>";
|
|
}
|
|
}
|