Rev 1372 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php// $Id: Function.php,v 1.1 2005-01-20 19:43:21 jpm Exp $class Text_Wiki_Render_Xhtml_Function extends Text_Wiki_Render {var $conf = array(// list separator for params and throws'list_sep' => ', ',// the "main" format string'format_main' => '%access %return <b>%name</b> ( %params ) %throws',// the looped format string for required params'format_param' => '%type <i>%descr</i>',// the looped format string for params with default values'format_paramd' => '[%type <i>%descr</i> default %default]',// the looped format string for throws'format_throws' => '<b>throws</b> %type <i>%descr</i>');/**** Renders a token into text matching the requested format.** @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){extract($options); // name, access, return, params, throws// build the baseline output$output = $this->conf['format_main'];$output = str_replace('%access', htmlspecialchars($access), $output);$output = str_replace('%return', htmlspecialchars($return), $output);$output = str_replace('%name', htmlspecialchars($name), $output);// build the set of params$list = array();foreach ($params as $key => $val) {// is there a default value?if ($val['default']) {$tmp = $this->conf['format_paramd'];} else {$tmp = $this->conf['format_param'];}// add the param elements$tmp = str_replace('%type', htmlspecialchars($val['type']), $tmp);$tmp = str_replace('%descr', htmlspecialchars($val['descr']), $tmp);$tmp = str_replace('%default', htmlspecialchars($val['default']), $tmp);$list[] = $tmp;}// insert params into output$tmp = implode($this->conf['list_sep'], $list);$output = str_replace('%params', $tmp, $output);// build the set of throws$list = array();foreach ($throws as $key => $val) {$tmp = $this->conf['format_throws'];$tmp = str_replace('%type', htmlspecialchars($val['type']), $tmp);$tmp = str_replace('%descr', htmlspecialchars($val['descr']), $tmp);$list[] = $tmp;}// insert throws into output$tmp = implode($this->conf['list_sep'], $list);$output = str_replace('%throws', $tmp, $output);// close the div and return the output$output .= '</div>';return "\n$output\n\n";}}?>