File: trove_tree.php

package info (click to toggle)
gforge 4.5.14-22etch13
  • links: PTS
  • area: main
  • in suites: etch
  • size: 13,004 kB
  • ctags: 11,918
  • sloc: php: 36,047; sql: 29,050; sh: 10,538; perl: 6,496; xml: 3,810; makefile: 341; python: 263; ansic: 256
file content (68 lines) | stat: -rw-r--r-- 1,579 bytes parent folder | download | duplicates (2)
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");

?>