<?php /** * You can create local site resources in doc/Site.md and either link to doc/Home.md for the standard resources * or use our include mechanism to include it on your local page. * * #include doc/Home.md; * * The syntax is somewhat strict. * */ if(! function_exists('load_doc_file')) { function load_doc_file($s) { $lang = get_app()->language; if(! isset($lang)) $lang = 'en'; $b = basename($s); $d = dirname($s); if(file_exists("$d/$lang/$b")) return file_get_contents("$d/$lang/$b"); if(file_exists($s)) return file_get_contents($s); return ''; }} function help_content(&$a) { nav_set_selected('help'); global $lang; $doctype = 'markdown'; require_once('library/markdown.php'); $text = ''; if(argc() > 1) { $text = load_doc_file('doc/' . $a->argv[1] . '.md'); $a->page['title'] = t('Help:') . ' ' . ucwords(str_replace('-',' ',notags(argv(1)))); } if(! $text) { $text = load_doc_file('doc/' . $a->argv[1] . '.bb'); if($text) $doctype = 'bbcode'; $a->page['title'] = t('Help:') . ' ' . ucwords(str_replace('_',' ',notags(argv(1)))); } if(! $text) { $text = load_doc_file('doc/' . $a->argv[1] . '.html'); if($text) $doctype = 'html'; $a->page['title'] = t('Help:') . ' ' . ucwords(str_replace('-',' ',notags(argv(1)))); } if(! $text) { $text = load_doc_file('doc/Site.md'); $a->page['title'] = t('Help'); } if(! $text) { $doctype = 'bbcode'; $text = load_doc_file('doc/main.bb'); $a->page['title'] = t('Help'); } if(! strlen($text)) { header($_SERVER["SERVER_PROTOCOL"] . ' 404 ' . t('Not Found')); $tpl = get_markup_template("404.tpl"); return replace_macros($tpl, array( '$message' => t('Page not found.' ) )); } $text = preg_replace_callback("/#include (.*?)\;/ism", 'preg_callback_help_include', $text); if($doctype === 'html') $content = $text; if($doctype === 'markdown') $content = Markdown($text); if($doctype === 'bbcode') { require_once('include/bbcode.php'); $content = bbcode($text); } return replace_macros(get_markup_template("help.tpl"), array( '$content' => $content )); } function preg_callback_help_include($matches) { if($matches[1]) return str_replace($matches[0],load_doc_file($matches[1]),$matches[0]); }