array(), 'view_url' => 'http://example.com/index.php?page=%s', 'new_url' => 'http://example.com/new.php?page=%s', 'new_text' => '?' ); /** * * Renders a token into XHTML. * * @access public * * @param array $options The "options" portion of the token (second * element). * * @return string The text rendered from the token options. * */ function token($options) { // make nice variable names (page, anchor, text) extract($options); // are we checking page existence? $list =& $this->getConf('pages'); if (is_array($list)) { // yes, check against the page list $exists = in_array($page, $list); } else { // no, assume it exists $exists = true; } // convert *after* checking against page names so as not to mess // up what the user typed and what we're checking. $page = htmlspecialchars($page, ENT_COMPAT | ENT_HTML401, "ISO-8859-1"); $anchor = htmlspecialchars($anchor, ENT_COMPAT | ENT_HTML401, "ISO-8859-1"); $text = htmlspecialchars($text, ENT_COMPAT | ENT_HTML401, "ISO-8859-1"); $href = $this->getConf('view_url'); if (strpos($href, '%s') === false) { // use the old form (page-at-end) $href = $href . $page . $anchor; } else { // use the new form (sprintf format string) $href = sprintf($href, $page . $anchor); } // get the CSS class and generate output $css = $this->formatConf(' class="%s"', 'css'); return "$text\\footnote\{$href}"; } } ?>