home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Servidores / xampp-win32-1.6.7-installer.exe / php / PEAR / Text / Wiki / Render / Xhtml / Function.php < prev    next >
Encoding:
PHP Script  |  2008-07-02  |  3.4 KB  |  109 lines

  1. <?php
  2. // vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
  3. /**
  4.  * Function rule end renderer for Xhtml
  5.  *
  6.  * PHP versions 4 and 5
  7.  *
  8.  * @category   Text
  9.  * @package    Text_Wiki
  10.  * @author     Paul M. Jones <pmjones@php.net>
  11.  * @license    http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
  12.  * @version    CVS: $Id: Function.php,v 1.5 2006/02/10 23:07:03 toggg Exp $
  13.  * @link       http://pear.php.net/package/Text_Wiki
  14.  */
  15.  
  16. /**
  17.  * This class renders a function description in XHTML.
  18.  *
  19.  * @category   Text
  20.  * @package    Text_Wiki
  21.  * @author     Paul M. Jones <pmjones@php.net>
  22.  * @license    http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
  23.  * @version    Release: @package_version@
  24.  * @link       http://pear.php.net/package/Text_Wiki
  25.  */
  26. class Text_Wiki_Render_Xhtml_Function extends Text_Wiki_Render {
  27.  
  28.     var $conf = array(
  29.         // list separator for params and throws
  30.         'list_sep' => ', ',
  31.  
  32.         // the "main" format string
  33.         'format_main' => '%access %return <b>%name</b> ( %params ) %throws',
  34.  
  35.         // the looped format string for required params
  36.         'format_param' => '%type <i>%descr</i>',
  37.  
  38.         // the looped format string for params with default values
  39.         'format_paramd' => '[%type <i>%descr</i> default %default]',
  40.  
  41.         // the looped format string for throws
  42.         'format_throws' => '<b>throws</b> %type <i>%descr</i>'
  43.     );
  44.  
  45.     /**
  46.     *
  47.     * Renders a token into text matching the requested format.
  48.     *
  49.     * @access public
  50.     *
  51.     * @param array $options The "options" portion of the token (second
  52.     * element).
  53.     *
  54.     * @return string The text rendered from the token options.
  55.     *
  56.     */
  57.  
  58.     function token($options)
  59.     {
  60.         extract($options); // name, access, return, params, throws
  61.  
  62.         // build the baseline output
  63.         $output = $this->conf['format_main'];
  64.         $output = str_replace('%access', $this->textEncode($access), $output);
  65.         $output = str_replace('%return', $this->textEncode($return), $output);
  66.         $output = str_replace('%name', $this->textEncode($name), $output);
  67.  
  68.         // build the set of params
  69.         $list = array();
  70.         foreach ($params as $key => $val) {
  71.  
  72.             // is there a default value?
  73.             if ($val['default']) {
  74.                 $tmp = $this->conf['format_paramd'];
  75.             } else {
  76.                 $tmp = $this->conf['format_param'];
  77.             }
  78.  
  79.             // add the param elements
  80.             $tmp = str_replace('%type', $this->textEncode($val['type']), $tmp);
  81.             $tmp = str_replace('%descr', $this->textEncode($val['descr']), $tmp);
  82.             $tmp = str_replace('%default', $this->textEncode($val['default']), $tmp);
  83.             $list[] = $tmp;
  84.         }
  85.  
  86.         // insert params into output
  87.         $tmp = implode($this->conf['list_sep'], $list);
  88.         $output = str_replace('%params', $tmp, $output);
  89.  
  90.         // build the set of throws
  91.         $list = array();
  92.         foreach ($throws as $key => $val) {
  93.                $tmp = $this->conf['format_throws'];
  94.             $tmp = str_replace('%type', $this->textEncode($val['type']), $tmp);
  95.             $tmp = str_replace('%descr', $this->textEncode($val['descr']), $tmp);
  96.             $list[] = $tmp;
  97.         }
  98.  
  99.         // insert throws into output
  100.         $tmp = implode($this->conf['list_sep'], $list);
  101.         $output = str_replace('%throws', $tmp, $output);
  102.  
  103.         // close the div and return the output
  104.         $output .= '</div>';
  105.         return "\n$output\n\n";
  106.     }
  107. }
  108. ?>
  109.