File xml2changelog of Package php-pear-HTTP-Request2

44
 
1
<?php
2
$prog=array_shift($_SERVER['argv']);
3
if ($_SERVER['argc']<2) die ("usage : " . $prog . " path_to_package.xml [ --debug ]\n");
4
$file=array_shift($_SERVER['argv']);
5
6
($xml=simplexml_load_file($file)) || die ($file . " not found !\n");
7
if (in_array("--debug", $_SERVER['argv'])) print_r($xml);
8
9
if ($xml['version'] >= "2"){ // Package.xml V 2.0
10
    $new = "";
11
    if (strlen(trim($xml->notes))>1) { // Ignore too short descr.
12
        printf("++*** Version %s (%s) - API %s (%s) - %s\n\n%s\n\n",
13
            $xml->version->release, $xml->stability->release,
14
            $xml->version->api, $xml->stability->api,
15
            $xml->date, $xml->notes);
16
        $new=$xml->version->release;
17
    }
18
19
    if (isset($xml->changelog->release) && count($xml->changelog->release)) {
20
        $tab = array();
21
        foreach($xml->changelog->release as $rel) {
22
            $old=$rel->version->release;
23
            if ("$old" != "$new") {
24
                $tab[''.$rel->date] = $rel;
25
            }
26
        }
27
        krsort($tab);
28
        foreach($tab as $rel) {
29
            printf("*** Version %s (%s) - API %s (%s) - %s\n\n%s\n\n",
30
                $rel->version->release, $rel->stability->release,
31
                $rel->version->api, $rel->stability->api,
32
                $rel->date, $rel->notes);
33
        }
34
    }
35
} else { // Package.xml V 1.0
36
    printf("* Version %s (%s) - %s\n\n%s\n\n",
37
        $xml->release->version, $xml->release->state, $xml->release->date, $xml->release->notes);
38
39
    foreach($xml->changelog->release as $rel)
40
        printf("* Version %s (%s) - %s\n\n%s\n\n",
41
            $rel->version, $rel->state, $rel->date, $rel->notes);
42
}
43
?>
44