1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
<?php
/**
*
* SourceForge Exports: Export Trove category tree in XML
*
*
* SourceForge: Breaking Down the Barriers to Open Source Development
* Copyright 1999-2001 (c) VA Linux Systems
* http://sourceforge.net
*
* @version $Id: trove_tree.php 4590 2005-08-28 14:51:51Z $
*
*/
require_once('pre.php');
header("Content-Type: text/plain");
print("<?xml version=\"1.0\"?>
<!DOCTYPE trove-tree SYSTEM \"http://$sys_default_domain/export/trove_tree_0.1.dtd\">
<trove-tree>\n");
/*
* This code does special formatting to achieve more human-readable look -
* watch out strings ends.
*/
$level=1;
print(' <category id="0" name="root" fullname="Trove Root" description="Root of the Trove tree"');
function dump_subtree($root) {
global $level;
$res = db_query("
SELECT *
FROM trove_cat
WHERE parent='$root'
", -1, 0, SYS_DB_TROVE);
if (db_numrows($res)==0) {
// leaf category
print(" />\n");
return false;
}
print(">\n");
$level++;
while ($row = db_fetch_array($res)) {
$indent=str_repeat(" ",$level*2);
print($indent.'<category id="'.$row['trove_cat_id'].'" '
.'name="'.$row['shortname'].'" '
.'fullname="'.$row['fullname'].'" '
.'description="'.$row['description'].'"');
if (dump_subtree($row['trove_cat_id'])) {
print($indent."</category>\n");
}
}
$level--;
return true;
}
dump_subtree(0);
print(" </category>\n");
print("</trove-tree>\n");
?>
|