/**
  * 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>';
     }
 }
 function convert()
 {
     $args = func_get_args();
     $options = $this->conf_options;
     $options = sonots::parse_options($args, $options);
     // check_options
     if ($options['limit'] === "0") {
         $options['limit'] = NULL;
     }
     if ($options['cloud'] === 'off' || $options['cloud'] === 'false') {
         $options['cloud'] = FALSE;
     }
     //print_r($options);
     $plugin_tag = new PluginSonotsTag();
     if ($options['cloud']) {
         $html = $plugin_tag->display_tagcloud($options['limit'], $options['related']);
     } else {
         $html = $plugin_tag->display_taglist($options['limit'], $options['related']);
     }
     return $html;
 }
 /**
  * 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>');
     }
 }
 /**
  * Experimental: Plugin for Rename Plugin Main Function
  *
  * @param array $pages $oldpage => $newpage
  * @return void or exit
  */
 function rename_plugin()
 {
     $args = func_get_args();
     $pages = $args[0];
     $pkwk_tag = new PluginSonotsTag();
     foreach ($pages as $oldpage => $newpage) {
         $pkwk_tag->rename_item($oldpage, $newpage);
     }
 }