/** * Block Plugin Main Function */ function convert() { sonots::init_myerror(); do { // try $args = func_get_args(); $argline = csv_implode(',', $args); $argoptions = PluginSonotsOption::parse_option_line($argline); list($options, $unknowns) = PluginSonotsOption::evaluate_options($argoptions, $this->conf_options); $options = $this->check_options($options, $unknowns, $this->conf_options); if (sonots::mycatch()) { break; } if (isset($options['tag'])) { $plugin_tag = new PluginSonotsTag(); $pages = $plugin_tag->get_taggedpages($options['tag']); $html = $this->pagelist($pages, $options, $argoptions); } else { $plugin_tag = new PluginSonotsTag(); if (isset($options['related'])) { $tags = $plugin_tag->get_related_tags($options['related']); } else { $tags = $plugin_tag->get_existtags(); } $html = $this->tagpagelist($tags, $options, $argoptions); } return $html; } while (false); if (sonots::mycatch()) { // catch return '<p>#' . $this->plugin . '(): ' . sonots::mycatch() . '</p>'; } }
/** * Block Plugin Main Function */ function convert() { sonots::init_myerror(); do { // try global $vars, $defaultpage; $args = func_get_args(); $line = csv_implode(',', $args); $options = PluginSonotsOption::parse_option_line($line); list($options, $unknowns) = PluginSonotsOption::evaluate_options($options, $this->conf_options); $current = isset($vars['page']) ? $vars['page'] : $defaultpage; $page = isset($options['page']) ? $options['page'] : $current; $page = PluginContentsx::check_page($page, $current); $options = PluginContentsx::check_options($page, $current, $options, $unknowns); if (sonots::mycatch()) { break; } $html = PluginContentsx::display_toc($page, $options); if ($html != '') { $html = '<table border="0" class="toc"><tbody>' . "\n" . '<tr><td class="toctitle">' . "\n" . '<span>' . _('Table of Contents') . "</span>\n" . "</td></tr>\n" . '<tr><td class="toclist">' . "\n" . $html . "</td></tr>\n" . "</tbody></table>\n"; } return $html; } while (false); if (sonots::mycatch()) { // catch return '<p>#contentsx(): ' . sonots::mycatch() . '</p>'; } }
/** * Block Plugin Main Function */ function convert() { sonots::init_myerror(); do { // try $args = func_get_args(); $argline = csv_implode(',', $args); $argoptions = PluginSonotsOption::parse_option_line($argline); list($options, $unknowns) = PluginSonotsOption::evaluate_options($argoptions, $this->conf_options); $options = $this->check_options($options, $unknowns, $this->conf_options); if (sonots::mycatch()) { break; } if (isset($options['tag'])) { $plugin_tag = new PluginSonotsTag(); $pages = $plugin_tag->get_taggedpages($options['tag']); } elseif (isset($options['prefix'])) { $pages = sonots::get_existpages($options['prefix']); } else { $pages = get_existpages(); } $pagelist = $this->pagelist($pages, $options, $argoptions); $navipages = $this->get_navipages($pagelist, $options); $html = $this->display_navi($navipages, $options['look'], $options['border'], $this->conf['printcss']); return $html; } while (false); if (sonots::mycatch()) { // catch return '<p>#' . $this->plugin . '(): ' . sonots::mycatch() . '</p>'; } }
/** * Block Plugin Main Function */ function convert() { sonots::init_myerror(); do { // try $args = func_get_args(); $argline = csv_implode(',', $args); $argoptions = PluginSonotsOption::parse_option_line($argline); list($options, $unknowns) = PluginSonotsOption::evaluate_options($argoptions, $this->conf_options); $options = $this->check_options($options, $unknowns, $this->conf_options); if (sonots::mycatch()) { break; } $pages = get_existpages(); $html = $this->pagelist($pages, $options, $argoptions); if (empty($html)) { $html = '<p>' . _('No page found.') . '</p>'; } return $html; } while (false); if (sonots::mycatch()) { // catch return '<p>#' . $this->plugin . '(): ' . sonots::mycatch() . '</p>'; } }
/** * Convert Plugin Main Function */ function convert() { global $vars, $defaultpage; sonots::init_myerror(); do { // try $args = func_get_args(); $inclpage = array_shift($args); $current = isset($vars['page']) ? $vars['page'] : $defaultpage; $this->visited[$current] = TRUE; $inclpage = PluginIncludex::check_page($inclpage, $current, $this->visited); if (sonots::mycatch()) { break; } $this->visited[$inclpage] = TRUE; $argline = csv_implode(',', $args); $argoptions = PluginSonotsOption::parse_option_line($argline); list($options, $unknowns) = PluginSonotsOption::evaluate_options($argoptions, $this->conf_options); $options = PluginIncludex::check_options($options, $unknowns, $argoptions); if (sonots::mycatch()) { break; } $html = PluginIncludex::display_include($inclpage, $options, $this->syntax); return $html; } while (false); if (sonots::mycatch()) { // catch return '</p>#includex(): ' . sonots::mycatch() . '</p>'; } }
function test_parse_option_line() { $result = PluginSonotsOption::parse_option_line('prefix=Hoge/,num=1:5,contents=(num=1,headline)'); $truth = array('prefix' => 'Hoge/', 'num' => '1:5', 'contents' => array('num' => '1', 'headline' => true)); $this->assertEqual($result, $truth); $result = PluginSonotsOption::parse_option_line('prefix=Hoge/,linkstr=title,contents= (num=1,headline) '); $truth = array('prefix' => 'Hoge/', 'linkstr' => 'title', 'contents' => array('num' => '1', 'headline' => true)); $this->assertEqual($result, $truth); $result = PluginSonotsOption::parse_option_line(' prefix = Hoge/ , linkstr = title , contents = ( num = 1 , headline ) ', TRUE); $truth = array('prefix' => 'Hoge/', 'linkstr' => 'title', 'contents' => array('num' => '1', 'headline' => true)); $this->assertEqual($result, $truth); $result = PluginSonotsOption::parse_option_line('prefix=Hoge/,headline,contents=(num=1,headline)'); $truth = array('prefix' => 'Hoge/', 'headline' => TRUE, 'contents' => array('num' => '1', 'headline' => true)); $this->assertEqual($result, $truth); $result = PluginSonotsOption::parse_option_line(',headline,contents=(num=1,headline)'); $truth = array('' => TRUE, 'headline' => TRUE, 'contents' => array('num' => '1', 'headline' => true)); $this->assertEqual($result, $truth); $result = PluginSonotsOption::parse_option_line(''); $truth = array(); $this->assertEqual($result, $truth); $result = PluginSonotsOption::parse_option_line(',num=1:2'); $truth = array('' => true, 'num' => '1:2'); $this->assertEqual($result, $truth); }
/** * Parse option arguments given by GET. * 1) Assume that the GET argument line was as * opt1=val1&opt2=val2&opt3=(a&b) * Thus, now you should have in $vars * array('opt1'=>'val1','opt2'=>'val2','opt3'=>'(a','b)'=>'') * or 2) Assume that the GET argument line was as * opt1=val1&opt2=val2&opt3=(a,b) * Thus, now you should have in $vars * array('opt1'=>'val1','opt2'=>'val2','opt3'=>'(a,b)') * * @access public * @static * @param array $vars * @return array * @see parse_option_line * @see glue_uri_option_line * @version $Id: v 1.0 2008-07-16 11:14:46 sonots $ * @since v 1.8 */ function parse_uri_option_line($vars) { $args = array(); foreach ($vars as $key => $val) { $args[] = empty($val) ? $key : $key . '=' . $val; } $argline = implode(',', $args); $options = PluginSonotsOption::parse_option_line($argline); return $options; }