* @version $Revision: 1.13 $
* @package liberty
* @subpackage functions
*/
/**
* required setup
*/
global $gBitSystem, $gBitSmarty;
require_once( '../bit_setup_inc.php' );
require_once( KERNEL_PKG_PATH.'BitCache.php' );
$cache = new BitCache( 'liberty/help' );
// only regenerate this thing if it's not cached yet
$cacheFile = 'tikiwiki';
if( $cache->isCached( $cacheFile, filemtime( __FILE__ ))) {
$examples = unserialize( $cache->readCacheFile( $cacheFile ));
} else {
// help for generic options
$tikiwiki = array(
'Emphasis' => array(
'Headings' => array(
'data' => "! heading 1\n!! heading 2\n!!! heading 3",
'note' => "Number of ! correponds to heading level.",
),
'Italics' => array(
'data' => "''text''",
'note' => "Two single quotes not one double quote",
),
'Underline' => array(
'data' => "===text===",
),
'Coloured Background' => array(
'data' => "++yellow:text++",
),
'Coloured Text' => array(
'data' => "~~red:text~~",
),
'Bold' => array(
'data' => "__text__",
),
'Centered Text' => array(
'data' => "::text::",
),
'Combined' => array(
'data' => "::__~~red:++yellow:text++~~__::",
'note' => "When you combine options make sure you open and close in the opposite order analogous to: {[(text)]}",
),
),
'Lists' => array(
'Unordered Lists' => array(
'data' => "* First item\n** First subitem\n** Second subitem\n* Second item",
),
'Ordered Lists' => array(
'data' => "# First item\n## First subitem\n## Second subitem\n# Second item",
),
'Definition Lists' => array(
'data' => ";Term: Definition",
),
),
'Links' => array(
'Wiki Links' => array(
'data' => "((Wiki Page))",
'result' => 'Wiki Page',
),
'Wiki Links + Description' => array(
'data' => "((Wiki Page|Page Description))",
'result' => 'Page Description',
),
'Wiki Links + Anchor + Description' => array(
'data' => "((Wiki Page#Anchor|Page Description))",
'result' => 'Page Description',
),
'External Link' => array(
'data' => "[http://www.example.com]",
),
'External Link + Description' => array(
'data' => "[http://www.example.com|Description]",
),
'External Link + Anchor + Description' => array(
'data' => "[http://www.example.com/Page#Anchor|Description]",
),
),
'Miscellaneous' => array(
'Horizontal Rule' => array(
'data' => '---',
),
'Highlighted Bar' => array(
'data' => '-=text=-',
),
'Highlighted Box' => array(
'data' => "^text\nmore text^",
),
'As is Text' => array(
'data' => "~np~~~yellow:yellow~~\nand\n__bold__ text~/np~",
'note' => "This text will not be parsed",
),
'Pre Parsed' => array(
'data' => "~pp~~~yellow:yellow~~\nand\n__bold__ text~/pp~",
'note' => "This text will be treated like code and will not be altered and will be displayed using a monospace font. The same can be achieved by using <pre>text</pre>.",
),
'Monospaced Text' => array(
'data' => "-+text+-",
),
'Right to Left' => array(
'data' => "{r2l}this text is from\nright to left\n{l2r}and back to\nleft to right.",
),
),
'Simple Tables' => array(
'Simple Table' => array(
'data' => "|| Row1-Col1 | Row1-Col2\nRow2-Col1 | Row2-Col2 ||",
),
'With Headers' => array(
'data' => "||~ Header1 | Header2\nRow1-Col1 | Row1-Col2\nRow2-Col1 | Row2-Col2 ||",
),
),
);
if( $gBitSystem->getConfig( 'wiki_tables' ) == 'old' ) {
$tikiwiki['Simple Tables'] = array(
'Tables' => array(
'data' => "|| Row1-Col1 | Row1-Col2 || Row2-Col1 | Row2-Col2 ||",
),
);
}
foreach( array_keys( $tikiwiki ) as $section ) {
foreach( $tikiwiki[$section] as $title => $example ) {
if( empty( $example['result'] )) {
$example['format_guid'] = 'tikiwiki';
$tikiwiki[$section][$title]['result'] = LibertyContent::parseData( $example );
}
}
}
// mediawiki type tables
$mediawiki = array(
'Example 1' => array(
'data' =>
'{| border=3
|+A Simple Table
|-
! Col 1 !! Col 2 !! Col 3
|-
| Row1-Col1 || Row1-Col2 || Row1-Col3
|-
| Row2-Col1
| Row2-Col2
| Row2-Col3
|-
| Row3-Col1 || Row3-Col2 || Row3-Col3
|}'
),
'Example 2' => array(
'data' =>
'{| border="2" cellpadding="5"
|+Multiplication table
|-
! X !! 1 !! 2 !! 3
|-
! 1
| 1 || 2 || 3
|-
! 2
| 2 || 4 || 6
|-
! 3
| 3 || 6 || 9
|-
! 4
| 4 || 8 || 12
|-
! 5
| 5 || 10 || 15
|}'
),
'Example 3' => array(
'data' =>
'{|
|+ Table with alternating rows
|- class=odd
| one
| two
|- class=even
| class=highlight | three
| four
|- class=odd
| five
| six
|- class=even
| seven
| eight
|}'
),
'Example 4' => array(
'data' =>
'{| style="background:yellow;color:green"
|+ Table with many colours
|-
| abc
| colspan="2" style="text-align:center;background:lightblue;" | defghi
|- style="background:red;color:white"
| jkl
| mno
| pqr
|-
| style="font-weight:bold" | stu
| style="background:silver" | vwx
| yz
|}'
),
);
// parse tables
foreach( $mediawiki as $title => $example ) {
if( empty( $example['result'] )) {
$example['format_guid'] = 'tikiwiki';
$mediawiki[$title]['result'] = LibertyContent::parseData( $example );
}
}
$examples['tikiwiki'] = $tikiwiki;
$examples['mediawiki'] = $mediawiki;
$cache->writeCacheFile( $cacheFile, serialize( $examples ));
}
$gBitSmarty->assign( 'examples', $examples );
?>