/** * 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>'; } }
/** * Display tags and tagged pages * * @param array $tags list of tags * @return string HTML */ function tagpagelist($tags, $options, $argoptions, $cssclass = 'taglist tags') { $html = '<ul class="' . $cssclass . '">'; $plugin_tag = new PluginSonotsTag(); foreach ($tags as $tag) { $html .= '<li>' . $plugin_tag->make_taglink($tag); $pages = $plugin_tag->get_taggedpages($tag); $html .= $this->pagelist($pages, $options, $argoptions); $html .= '</li>'; } $html .= '</ul>'; return $html; }
/** * Action Plugin Main Function */ function action() { sonots::init_myerror(); do { // try global $vars; $argoptions = PluginSonotsOption::parse_uri_option_line($vars); $argoptions = array_intersect_key($argoptions, $this->conf_options); list($options, $unknowns) = PluginSonotsOption::evaluate_options($argoptions, $this->conf_options); $options = $this->check_options($options, array(), $this->conf_options); if (sonots::mycatch()) { break; } if (isset($options['tag'])) { $plugin_tag = new PluginSonotsTag(); $pages = $plugin_tag->get_taggedpages($options['tag']); $title = _('List of pages tagged by "') . htmlspecialchars($options['tag']) . '"'; } elseif (isset($options['prefix']) && $options['prefix'] !== '') { $pages = sonots::get_existpages($options['prefix']); $title = _('List of pages under "') . htmlspecialchars($options['prefix']) . '"'; } else { $pages = get_existpages(); $title = _('List of pages'); } $html = $this->pagelist($pages, $options, $argoptions); if (empty($html)) { $html = '<p>' . _('No page found.') . '</p>'; } return array('msg' => $title, 'body' => $html); } while (false); if (sonots::mycatch()) { // catch return array('msg' => $this->plugin, 'body' => '<p>' . sonots::mycatch() . '</p>'); } }