$body, 'msg'=>str_replace('$1', htmlsc($prefix), $_ls2_msg_title)); } function plugin_ls2_convert() { global $script, $vars, $_ls2_msg_title; $params = array( 'link' => FALSE, 'title' => FALSE, 'include' => FALSE, 'reverse' => FALSE, 'compact' => PLUGIN_LS2_LIST_COMPACT, '_args' => array(), '_done' => FALSE ); $args = array(); $prefix = ''; if (func_num_args()) { $args = func_get_args(); $prefix = array_shift($args); } if ($prefix == '') $prefix = strip_bracket($vars['page']) . '/'; foreach ($args as $arg) plugin_ls2_check_arg($arg, $params); $title = (! empty($params['_args'])) ? join(',', $params['_args']) : // Manual str_replace('$1', htmlsc($prefix), $_ls2_msg_title); // Auto if (! $params['link']) return plugin_ls2_show_lists($prefix, $params); $tmp = array(); $tmp[] = 'plugin=ls2&prefix=' . rawurlencode($prefix); if (isset($params['title'])) $tmp[] = 'title=1'; if (isset($params['include'])) $tmp[] = 'include=1'; return '
' . "\n"; } function plugin_ls2_show_lists($prefix, & $params) { global $_ls2_err_nopages; $pages = array(); if ($prefix != '') { foreach (get_existpages() as $_page) if (strpos($_page, $prefix) === 0) $pages[] = $_page; } else { $pages = get_existpages(); } natcasesort($pages); if ($params['reverse']) $pages = array_reverse($pages); foreach ($pages as $page) $params['page_ ' . $page] = 0; if (empty($pages)) { return str_replace('$1', htmlsc($prefix), $_ls2_err_nopages); } else { $params['result'] = $params['saved'] = array(); foreach ($pages as $page) plugin_ls2_get_headings($page, $params, 1); return join("\n", $params['result']) . join("\n", $params['saved']); } } function plugin_ls2_get_headings($page, & $params, $level, $include = FALSE) { global $script; static $_ls2_anchor = 0; // ページが未表示のとき $is_done = (isset($params["page_$page"]) && $params["page_$page"] > 0); if (! $is_done) $params["page_$page"] = ++$_ls2_anchor; $r_page = rawurlencode($page); $s_page = htmlsc($page); $title = $s_page . ' ' . get_pg_passage($page, FALSE); $href = $script . '?cmd=read&page=' . $r_page; plugin_ls2_list_push($params, $level); $ret = $include ? '