1
0
mirror of synced 2024-12-13 22:56:04 +03:00
doctrine2/manual/documentation2.php
2007-03-01 22:41:41 +00:00

155 lines
3.8 KiB
PHP

<?php
include("top.php");
require_once("highlight.php");
error_reporting(E_ALL);
set_include_path(dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'vendor/');
$f = file_get_contents('menu.php');
$a = explode(PHP_EOL, $f);
$res = array();
$curr = false;
require_once('Text/Wiki.php');
require_once('Text/Wiki/Mediawiki.php');
class DocTool
{
private $index;
protected $highlighter;
protected $wiki;
public function __construct()
{
$this->highlighter = new PHP_Highlight;
$this->wiki = new Text_Wiki;
}
public function parseIndex2($index)
{
$ret = array();
$path = array();
$counters = array();
foreach ($index as $k => $v) {
if (empty($v)) {
continue;
}
$v = rtrim($v);
$i = count($path) - 1;
$i = ($i > 0) ? $i : 0;
$indent = substr_count($v, ' ');
if ( ! isset($counters[$indent])) {
$counters[$indent] = 0;
}
if ($indent > $i) {
$counters[$indent]++;
$path[] = trim($v);
} else {
$steps = abs($i - $indent);
$key = ($i - $steps);
while ($steps--) {
array_pop($path);
array_pop($counters);
}
$counters[$key]++;
$path[$key] = trim($v);
}
$chapterName = implode(' - ', $path);
$ret[] = array('index' => implode('.', $counters),
'name' => $chapterName);
}
return $ret;
}
public function renderBlock($name)
{
if (file_exists("docs/$name.php")) {
$c = file_get_contents("docs/$name.php");
if (substr($c, 0, 5) == "<?php") {
include("docs/$name.php");
} elseif (strpos($c, '<br \>') !== false ||
strpos($c, '<br />') !== false ||
strpos($c, '<ul>') !== false ||
strpos($c, '<p>') !== false) {
print $c;
} else {
print $this->wiki->transform($c) . "<br><br>";
}
}
if (file_exists("codes/$name.php")) {
$c = file_get_contents("codes/$name.php");
$c = trim($c);
$this->renderCode($c);
}
}
public function renderCode($code = null)
{
if( ! empty($code)) {
$this->highlighter->loadString($code);
print "<table border=1 class='dashed' cellpadding=0 cellspacing=0>";
print "<tr><td><b>";
$this->highlighter->toHtml();
print "</b></td></tr>";
print "</table>";
}
}
}
print "<pre>";
$doc = new DocTool();
function renderCode($code = null)
{
global $doc;
return $doc->renderCode($code);
}
$i = $doc->parseIndex2($a);
//print_r($i);
?>
<table width="100%" cellspacing=0 cellpadding=0>
<tr>
<td width=50>
<td>
<td align="left" valign="top">
<table width="100%" cellspacing=0 cellpadding=0>
<tr>
<td colspan=3 bgcolor="white">
<img src="images/logo.jpg" align="left"><b class="title">Doctrine - PHP Data Persistence and ORM Tool</b>
<hr>
</td>
</tr>
<tr>
<td bgcolor="white" valign="top">
<?php
include('content.php');
?>
</td>
</tr>
</td>
<td>
</td>
</tr>
</table>