--- 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 @@
-<?php
-
-/**
-*
-* Parses for an API function documentation block.
-*
-* @category Text
-*
-* @package Text_Wiki
-*
-* @author Paul M. Jones <pmjones@php.net>
-*
-* @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 <pmjones@php.net>
-*
-*/
-
-class Text_Wiki_Parse_Function extends Text_Wiki_Parse {
-
- var $regex = '/^(\<function\>)\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