]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - admin/wiki_port1_0.php
2004-11-28 19:19 rurban
[SourceForge/phpwiki.git] / admin / wiki_port1_0.php
1 <html>
2 <head>
3 <title>Importing phpwiki 1.0.x dbm files</title>
4 </head>
5 <body bgcolor="navajowhite">
6 <!-- $Id: wiki_port1_0.php,v 1.1.2.1.2.2 2005-01-07 13:59:57 rurban Exp $ -->
7
8 <?php
9    function port1_0RenderHash($dbi, $dbmh, $pagename) {
10       $pagehash = unserialize(dbmfetch($dbmh, $pagename));
11
12         // array fields for pagehash 1.0
13         // 'version', 'date' as string, 'author', 'text'
14          
15       echo "$pagename<br>\n";
16
17       $newhash['version'] = isset($pagehash['version']) ?
18                             $pagehash['version'] : 1;
19       $newhash['author'] = isset($pagehash['author']) ?
20                             $pagehash['author'] : '1.0 wiki setup page';
21       $newhash['created'] = time();
22       $newhash['lastmodified'] = time();
23       $newhash['flags'] = 0;
24       $newhash['pagename'] = $pagename;
25       $newhash['refs'] = array();
26       for ($i=1; $i <= 4; $i++) {
27          if (isset($pagehash['r$i']))
28             $newhash['refs'][$i] = $pagehash['r$i'];
29       }
30       $content = implode("\n", $pagehash['text']);
31       $content = str_replace("[", "[[", $content);
32       $newhash['content'] = explode("\n", $content);
33
34       InsertPage($dbi, $pagename, $newhash);
35    }
36
37
38    echo "opening dbm file: $portdbmfile ... \n";
39
40    if (! file_exists($portdbmfile)) {
41       echo "File '$portdbmfile' does not exist.<br>\n";
42       exit;
43    }
44
45    if (! ($dbmh = dbmopen($portdbmfile, "r"))) {
46       echo "Cannot open '$portdbmfile'<br>\n";
47       exit;
48    }
49
50    echo " ok ($dbmh)<p>\n";
51
52    $namelist = array();
53    $ctr = 0;
54
55    $namelist[$ctr] = $key = dbmfirstkey($dbmh);
56    port1_0renderhash($dbi, $dbmh, $key);
57    while ($key = dbmnextkey($dbmh, $key)) {
58       $ctr++;
59       $namelist[$ctr] = $key;
60       port1_0renderhash($dbi, $dbmh, $key);
61    }
62
63    dbmclose($dbmh);
64 ?>
65
66 <p><b>Done.</b>
67 </body>
68 </html>