Subversion Repositories taios

Rev

Rev 432 | Rev 496 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
169 tom 1
<?php
2
 
365 tom 3
function endswith($string, $test) {
4
    $strlen = strlen($string);
5
    $testlen = strlen($test);
6
    if ($testlen > $strlen) return false;
7
    return substr_compare($string, $test, -$testlen) === 0;
8
}
9
 
169 tom 10
require '../_taios.php';
11
 
224 tom 12
$pageName = $_GET['page'];
225 tom 13
if (empty($pageName))
221 tom 14
{
224 tom 15
    $pageName = 'Index';
221 tom 16
}
169 tom 17
 
227 tom 18
$page = new Taios_Page('Wiki - ' . $pageName, '../');
365 tom 19
 
20
if (isset($_GET['random']))
21
{
22
    $results = array();
366 tom 23
    $handler = opendir('pages/');
365 tom 24
    while ($file = readdir($handler))
25
    {
26
        if ($file != '.' && $file != '..' && endswith($file, ".txt"))
27
        {
367 tom 28
            $results[] = substr($file, 0, count($file) - 5);
365 tom 29
        }
30
    }
31
 
32
    $index = rand() % count($results);
33
    $result = $results[$index];
34
    $page->redirect('index.php?page=' . $result);    
35
}
36
 
227 tom 37
$page->drawHeader();
361 tom 38
write('<h3>Wiki</h3>');
364 tom 39
$page->drawMenuItem('Index', 'wiki/index.php');
40
$page->drawMenuItem('Random Page', 'wiki/index.php?random');
227 tom 41
$page->drawMiddle();
42
 
228 tom 43
if ($page->isUserGM($page->getLoggedInUser()))
44
{
432 tom 45
    write('<p class="bold"><a href="edit.php?page=' . $pageName . '">Edit Page</a></p><br />');
228 tom 46
}
47
 
486 muzer 48
$pageName = str_replace("../", "/", $pageName);
49
 
225 tom 50
$filename = 'pages/' . $pageName . '.txt';
51
 
230 tom 52
$fp = @fopen($filename, 'r');
221 tom 53
if ($fp)
54
{
226 tom 55
    write('<p>' . $page->replaceBBCode(fread($fp, filesize($filename))) . '</p>');
221 tom 56
    fclose($fp);
57
}
58
else
59
{
60
    write('<p>This page is empty.</p>');
61
}
62
 
486 muzer 63
if(is_dir('pages/' . $pageName))
64
{
65
    write('<p>Directory listing of ' . $pageName . ':</p>');
66
    write('<ul>');
67
    $dir = opendir('pages/' . $pageName);
68
    if($dir)
69
    {
70
        while (($file = readdir($dir)) !== false)
71
        {
72
            if($file != '.' && $file != '..' && (preg_match('/\.txt$/', $file) || is_dir('pages/' . $pageName . '/' . $file)))
73
            {
74
                $file = preg_replace('/\.txt$/', '', $file);
75
                write('<li><a href="index.php?page=' . $pageName . '/' . htmlspecialchars($file) . '">' . htmlspecialchars($file) . '</a></li>');
76
            }
77
        }
78
    }
79
    write('</ul>');
80
    write('<p>End of directory listing</p>');
81
}
82
 
169 tom 83
$page->drawFooter();
84
 
85
?>
86