short - Short date format as defined in admin preferences
long - Long date format as defined in admin preferences
relative - relative time format. eg. "2 days ago"
Default: short
toText()
Convert html to plain text.
$tp->toText(string);
createConstants()
Convert e_xxxxx paths to their equivalent shortcodes. eg. e_PLUGIN becomes {e_PLUGIN}
$tp->createConstants(string);
replaceConstants()
Convert {e_XXXX} shortcode paths to their equivalent constants. eg. {e_PLUGIN} becomes e_PLUGIN
$tp->replaceConstants(string);
parseTemplate()
Parse an e107 template using core and/or custom shortcodes. ie. replaces all instances of {XXXXX_XXXX} etc.
Set the width, height and crop of the thumbUrl function.
$tp->setThumbSize($width, $height, $crop);
toGlyph()
Convert a glyph name into Html. Just choose an icon from Font Awesome and remove the first 'fa'
Templates may also use the following shortcode: which calls the same function.
$tp->toGlyph("fa-anchor");
Advanced settings:
$tp->toGlyph("fa-anchor",array('size'=>'2x'));
toIcon()
Render an icon. If a .glyph extension is found, it will automatically use the toGlyph() function above.
Render a user avatar. If empty, the current user's avatar will be displayed if found or a generic avatar image.
echo $tp->toAvatar(); // render avatar of the current user.
$userData =e107::user(5); // Get User data for user-id #5. echo $tp->toAvatar($userData); // requires as a minimum $userData['user_image'].
toImage()
Render an image.
$url ="{e_MEDIA_IMAGE}2012-04/someimage.jpg";$parms = array('w'=>500, 'h'=>200,'crop'=>1, 'alt'=>'my image'); // if not width/height set, the default as set by {SETIMAGE} will be used.
echo $tp->toImage($url,$parms);
define("LAN_EXAMPLE_01","Update results: [x] records changed, [y] errors, [z] not changed");$repl =array($changed, $errors, $unchanged);$text = $tp->lanVars(LAN_EXAMPLE_01, $repl);
Parser options
TODO: Convert below code into readable tables with proper descriptions
// Set up the defaultsprivate $e_optDefault =array(// default context: reflects legacy settings (many items enabled)'context'=>'OLDDEFAULT',//'fromadmin'=>false,// Enable emote display'emotes'=>true,// Convert defines(constants) within text.'defs'=>false,// replace all {e_XXX} constants with their e107 value - 'rel' or 'abs''constants'=>false,// Enable hooked parsers'hook'=>true,// Allow scripts through (new for 0.8)'scripts'=>true,// Make links clickable'link_click'=>true,// Substitute on clickable links (only if link_click == TRUE)'link_replace'=>true,// Parse shortcodes - TRUE enables parsing'parse_sc'=>false,// remove HTML tags.'no_tags'=>false,// Restore entity form of quotes and such to single characters - TRUE disables'value'=>false,// Line break compression - TRUE removes newline characters'nobreak'=>false,// Retain newlines - wraps to \n instead of <br /> if TRUE (for non-HTML email text etc)'retain_nl'=>false );
Parser modifiers
TODO: Convert below code into readable tables with proper descriptions
// Super modifiers override default option valuesprivate $e_SuperMods =array(//text is part of a title (e.g. news title)'TITLE'=>array( 'nobreak' => true, 'retain_nl' => true, 'link_click' => false, 'emotes' => false, 'defs' => true, 'parse_sc' => true
),'TITLE_PLAIN'=>array( 'nobreak' => true, 'retain_nl' => true, 'link_click' => false, 'emotes' => false, 'defs' => true, 'parse_sc' => true, 'no_tags' => true
),//text is user-entered (i.e. untrusted) and part of a title (e.g. forum title)'USER_TITLE'=>array( 'nobreak' => true, 'retain_nl' => true, 'link_click' => false, 'scripts' => false, 'emotes' => false, 'hook' => false
),// text is 'body' of email or similar - being sent 'off-site' so don't rely on server availability'E_TITLE'=>array( 'nobreak' => true, 'retain_nl' => true, 'defs' => true, 'parse_sc' => true, 'emotes' => false, 'scripts' => false, 'link_click' => false
),// text is part of the summary of a longer item (e.g. content summary)'SUMMARY'=>array('defs'=>true,'constants'=>'full','parse_sc'=>true ),// text is the description of an item (e.g. download, link)'DESCRIPTION'=>array('defs'=>true,'constants'=>'full','parse_sc'=>true ),// text is 'body' or 'bulk' text (e.g. custom page body, content body)'BODY'=>array('defs'=>true,'constants'=>'full','parse_sc'=>true ),// text is parsed by the Wysiwyg editor. eg. TinyMce'WYSIWYG'=>array('hook'=>false,'link_click'=>false,'link_replace'=>false,'retain_nl'=>true ),// text is user-entered (i.e. untrusted)'body' or 'bulk' text (e.g. custom page body, content body)'USER_BODY'=>array('constants'=>'full','scripts'=>false,'nostrip'=>false ),// text is 'body' of email or similar - being sent 'off-site' so don't rely on server availability'E_BODY'=>array( 'defs' => true, 'constants' => 'full', 'parse_sc' => true, 'emotes' => false, 'scripts' => false, 'link_click' => false
),// text is text-only 'body' of email or similar - being sent 'off-site' so don't rely on server availability'E_BODY_PLAIN'=>array( 'defs' => true, 'constants' => 'full', 'parse_sc' => true, 'emotes' => false, 'scripts' => false, 'link_click' => false, 'retain_nl' => true, 'no_tags' => true
),// text is the 'content' of a link (A tag, etc)'LINKTEXT'=>array( 'nobreak' => true, 'retain_nl' => true, 'link_click' => false, 'emotes' => false, 'hook' => false, 'defs' => true, 'parse_sc' => true
),// text is used (for admin edit) without fancy conversions or html.'RAWTEXT'=>array( 'nobreak' => true, 'retain_nl' => true, 'link_click' => false, 'emotes' => false, 'hook' => false, 'no_tags' => true
),'NODEFAULT'=> array('context' => false, 'fromadmin' => false, 'emotes' => false, 'defs' => false, 'constants' => false, 'hook' => false,
'scripts' => false, 'link_click' => false, 'link_replace' => false, 'parse_sc' => false, 'no_tags' => false, 'value' => false,
'nobreak'=>false,'retain_nl'=>false ) );