MediaWiki
REL1_39
updateCredits.php
Go to the documentation of this file.
1
<?php
25
// NO_AUTOLOAD -- file-scope code
26
27
if
( PHP_SAPI !=
'cli'
) {
28
die(
"This script can only be run from the command line.\n"
);
29
}
30
31
$CREDITS
=
'CREDITS'
;
32
$START_CONTRIBUTORS
=
'<!-- BEGIN CONTRIBUTOR LIST -->'
;
33
$END_CONTRIBUTORS
=
'<!-- END CONTRIBUTOR LIST -->'
;
34
35
$inHeader
=
true
;
36
$inFooter
=
false
;
37
$header
= [];
38
$contributors
= [];
39
$footer
= [];
40
41
if
( !file_exists(
$CREDITS
) ) {
42
exit(
'No CREDITS file found. Are you running this script in the right directory?'
);
43
}
44
45
$lines
= explode(
"\n"
, file_get_contents(
$CREDITS
) );
46
foreach
(
$lines
as
$line
) {
47
if
(
$inHeader
) {
48
$header
[] =
$line
;
49
$inHeader
=
$line
!==
$START_CONTRIBUTORS
;
50
} elseif (
$inFooter
) {
51
$footer
[] =
$line
;
52
} elseif (
$line
==
$END_CONTRIBUTORS
) {
53
$inFooter
=
true
;
54
$footer
[] =
$line
;
55
}
else
{
56
$name = substr(
$line
, 2 );
57
$contributors
[$name] =
true
;
58
}
59
}
60
unset(
$lines
);
61
62
$lines
= explode(
"\n"
, (
string
)shell_exec(
'git log --format="%aN"'
) );
63
foreach
(
$lines
as
$line
) {
64
if
( empty(
$line
) ) {
65
continue
;
66
}
67
if
( substr(
$line
, 0, 5 ) ===
'[BOT]'
) {
68
continue
;
69
}
70
$contributors
[
$line
] =
true
;
71
}
72
73
$contributors
= array_keys(
$contributors
);
74
$collator
= Collator::create(
'root'
);
75
$collator
->setAttribute( Collator::NUMERIC_COLLATION, Collator::ON );
76
$collator
->sort(
$contributors
);
77
array_walk(
$contributors
,
static
function
( &$v, $k ) {
78
$v =
"* {$v}"
;
79
} );
80
81
file_put_contents(
82
$CREDITS
,
83
implode(
"\n"
, array_merge(
$header
,
$contributors
,
$footer
) )
84
);
$line
$line
Definition
mcc.php:119
$lines
if(!file_exists( $CREDITS)) $lines
Definition
updateCredits.php:45
$header
$header
Definition
updateCredits.php:37
$collator
$collator
Definition
updateCredits.php:74
$END_CONTRIBUTORS
$END_CONTRIBUTORS
Definition
updateCredits.php:33
$CREDITS
if(PHP_SAPI !='cli') $CREDITS
Update the CREDITS list by merging in the list of git commit authors.
Definition
updateCredits.php:31
$contributors
$contributors
Definition
updateCredits.php:38
$inHeader
$inHeader
Definition
updateCredits.php:35
$inFooter
$inFooter
Definition
updateCredits.php:36
$footer
$footer
Definition
updateCredits.php:39
$START_CONTRIBUTORS
$START_CONTRIBUTORS
Definition
updateCredits.php:32
maintenance
updateCredits.php
Generated on Fri Dec 20 2024 15:36:11 for MediaWiki by
1.10.0