aboutsummaryrefslogtreecommitdiffstats
path: root/build/build_changelog.php
blob: be0fb625ea3b17b8d005d7341ce601c8a0cf6e32 (plain)
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
#!/usr/bin/env php
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/

if ($_SERVER['argc'] != 2)
{
	echo "Please specify the new version as argument (e.g. build_changelog.php '1.0.2').\n";
	exit(1);
}

$fixVersion = $_SERVER['argv'][1];

$query = 'project = PHPBB3
	AND resolution = Fixed
	AND fixVersion = "' . $fixVersion . '"
	AND status IN ("Unverified Fix", Closed)';

$url = 'http://tracker.phpbb.com/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=' . urlencode($query) . '&tempMax=1000';
$xml = simplexml_load_string(file_get_contents($url));

foreach ($xml->xpath('//item') as $item)
{
	$key = (string) $item->key;

	$keyUrl = 'http://tracker.phpbb.com/browse/' . $key;
	$keyLink = '<a href="' . $keyUrl . '">' . $key . '</a>';

	$value = str_replace($key, $keyLink, htmlspecialchars($item->title));
	$value = str_replace(']', '] -', $value);

	$types[(string) $item->type][$key] = $value;
}

ksort($types);
foreach ($types as $type => $tickets)
{
	echo "<h4>$type</h4>\n";
	echo "<ul>\n";

	uksort($tickets, 'strnatcasecmp');

	foreach ($tickets as $ticket)
	{
		echo "<li>$ticket</li>\n";
	}
	echo "</ul>\n";
}