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