diff -r f0431eb8161e -r 98c052fc3337 includes/wikiengine/Parse/Mediawiki/Function.php --- a/includes/wikiengine/Parse/Mediawiki/Function.php Sun Jun 21 00:16:21 2009 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,141 +0,0 @@ - -* -* @license LGPL -* -* @version $Id: Function.php,v 1.3 2005/02/23 17:38:29 pmjones Exp $ -* -*/ - -/** -* -* Parses for an API function documentation block. -* -* @category Text -* -* @package Text_Wiki -* -* @author Paul M. Jones -* -*/ - -class Text_Wiki_Parse_Function extends Text_Wiki_Parse { - - var $regex = '/^(\)\n(.+)\n(\<\/function\>)(\s|$)/Umsi'; - - function process(&$matches) - { - // default options - $opts = array( - 'name' => null, - 'access' => null, - 'return' => null, - 'params' => array(), - 'throws' => array() - ); - - // split apart the markup lines and loop through them - $lines = explode("\n", $matches[2]); - foreach ($lines as $line) { - - // skip blank lines - if (trim($line) == '') { - continue; - } - - // find the first ':' on the line; the left part is the - // type, the right part is the value. skip lines without - // a ':' on them. - $pos = strpos($line, ':'); - if ($pos === false) { - continue; - } - - // $type is the line type: name, access, return, param, throws - // 012345678901234 - // name: something - $type = trim(substr($line, 0, $pos)); - $val = trim(substr($line, $pos+1)); - - switch($type) { - - case 'a': - case 'access': - $opts['access'] = $val; - break; - - case 'n': - case 'name': - $opts['name'] = $val; - break; - - case 'p': - case 'param': - $tmp = explode(',', $val); - $k = count($tmp); - if ($k == 1) { - $opts['params'][] = array( - 'type' => $tmp[0], - 'descr' => null, - 'default' => null - ); - } elseif ($k == 2) { - $opts['params'][] = array( - 'type' => $tmp[0], - 'descr' => $tmp[1], - 'default' => null - ); - } else { - $opts['params'][] = array( - 'type' => $tmp[0], - 'descr' => $tmp[1], - 'default' => $tmp[2] - ); - } - break; - - case 'r': - case 'return': - case 'returns': - $opts['return'] = $val; - break; - - case 't': - case 'throws': - $tmp = explode(',', $val); - $k = count($tmp); - if ($k == 1) { - $opts['throws'][] = array( - 'type' => $tmp[0], - 'descr' => null - ); - } else { - $opts['throws'][] = array( - 'type' => $tmp[0], - 'descr' => $tmp[1] - ); - } - break; - - default: - $opts[$type] = $val; - break; - - } - } - - // add the token back in place - return $this->wiki->addToken($this->rule, $opts) . $matches[4]; - } -} - -?> \ No newline at end of file