xref: /PHP-8.1/ext/standard/credits.c (revision 01b3fc03)
1 /*
2    +----------------------------------------------------------------------+
3    | Copyright (c) The PHP Group                                          |
4    +----------------------------------------------------------------------+
5    | This source file is subject to version 3.01 of the PHP license,      |
6    | that is bundled with this package in the file LICENSE, and is        |
7    | available through the world-wide-web at the following url:           |
8    | https://www.php.net/license/3_01.txt                                 |
9    | If you did not receive a copy of the PHP license and are unable to   |
10    | obtain it through the world-wide-web, please send a note to          |
11    | license@php.net so we can mail you a copy immediately.               |
12    +----------------------------------------------------------------------+
13    | Authors: Rasmus Lerdorf <rasmus@php.net>                             |
14    |          Zeev Suraski <zeev@php.net>                                 |
15    +----------------------------------------------------------------------+
16 */
17 
18 #include "php.h"
19 #include "info.h"
20 #include "SAPI.h"
21 
22 #define CREDIT_LINE(module, authors) php_info_print_table_row(2, module, authors)
23 
php_print_credits(int flag)24 PHPAPI ZEND_COLD void php_print_credits(int flag) /* {{{ */
25 {
26 	if (!sapi_module.phpinfo_as_text && flag & PHP_CREDITS_FULLPAGE) {
27 		php_print_info_htmlhead();
28 	}
29 
30 	if (!sapi_module.phpinfo_as_text) {
31 		PUTS("<h1>PHP Credits</h1>\n");
32 	} else {
33 		PUTS("PHP Credits\n");
34 	}
35 
36 	if (flag & PHP_CREDITS_GROUP) {
37 		/* Group */
38 
39 		php_info_print_table_start();
40 		php_info_print_table_header(1, "PHP Group");
41 		php_info_print_table_row(1, "Thies C. Arntzen, Stig Bakken, Shane Caraveo, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski");
42 		php_info_print_table_end();
43 	}
44 
45 	if (flag & PHP_CREDITS_GENERAL) {
46 		/* Design & Concept */
47 		php_info_print_table_start();
48 		if (!sapi_module.phpinfo_as_text) {
49 			php_info_print_table_header(1, "Language Design &amp; Concept");
50 		} else {
51 			php_info_print_table_header(1, "Language Design & Concept");
52 		}
53 		php_info_print_table_row(1, "Andi Gutmans, Rasmus Lerdorf, Zeev Suraski, Marcus Boerger");
54 		php_info_print_table_end();
55 
56 		/* PHP Language */
57 		php_info_print_table_start();
58 		php_info_print_table_colspan_header(2, "PHP Authors");
59 		php_info_print_table_header(2, "Contribution", "Authors");
60 		CREDIT_LINE("Zend Scripting Language Engine", "Andi Gutmans, Zeev Suraski, Stanislav Malyshev, Marcus Boerger, Dmitry Stogov, Xinchen Hui, Nikita Popov");
61 		CREDIT_LINE("Extension Module API", "Andi Gutmans, Zeev Suraski, Andrei Zmievski");
62 		CREDIT_LINE("UNIX Build and Modularization", "Stig Bakken, Sascha Schumann, Jani Taskinen, Peter Kokot");
63 		CREDIT_LINE("Windows Support", "Shane Caraveo, Zeev Suraski, Wez Furlong, Pierre-Alain Joye, Anatol Belski, Kalle Sommer Nielsen");
64 		CREDIT_LINE("Server API (SAPI) Abstraction Layer", "Andi Gutmans, Shane Caraveo, Zeev Suraski");
65 		CREDIT_LINE("Streams Abstraction Layer", "Wez Furlong, Sara Golemon");
66 		CREDIT_LINE("PHP Data Objects Layer", "Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky");
67 		CREDIT_LINE("Output Handler", "Zeev Suraski, Thies C. Arntzen, Marcus Boerger, Michael Wallner");
68 		CREDIT_LINE("Consistent 64 bit support", "Anthony Ferrara, Anatol Belski");
69 		php_info_print_table_end();
70 	}
71 
72 	if (flag & PHP_CREDITS_SAPI) {
73 		/* SAPI Modules */
74 
75 		php_info_print_table_start();
76 		php_info_print_table_colspan_header(2, "SAPI Modules");
77 		php_info_print_table_header(2, "Contribution", "Authors");
78 #include "credits_sapi.h"
79 		php_info_print_table_end();
80 	}
81 
82 	if (flag & PHP_CREDITS_MODULES) {
83 		/* Modules */
84 
85 		php_info_print_table_start();
86 		php_info_print_table_colspan_header(2, "Module Authors");
87 		php_info_print_table_header(2, "Module", "Authors");
88 #include "credits_ext.h"
89 		php_info_print_table_end();
90 	}
91 
92 	if (flag & PHP_CREDITS_DOCS) {
93 		php_info_print_table_start();
94 		php_info_print_table_colspan_header(2, "PHP Documentation");
95 		CREDIT_LINE("Authors", "Mehdi Achour, Friedhelm Betz, Antony Dovgal, Nuno Lopes, Hannes Magnusson, Philip Olson, Georg Richter, Damien Seguy, Jakub Vrana, Adam Harvey");
96 		CREDIT_LINE("Editor", "Peter Cowburn");
97 		CREDIT_LINE("User Note Maintainers", "Daniel P. Brown, Thiago Henrique Pojda");
98 		CREDIT_LINE("Other Contributors", "Previously active authors, editors and other contributors are listed in the manual.");
99 		php_info_print_table_end();
100 	}
101 
102 	if (flag & PHP_CREDITS_QA) {
103 		php_info_print_table_start();
104 		php_info_print_table_header(1, "PHP Quality Assurance Team");
105 		php_info_print_table_row(1, "Ilia Alshanetsky, Joerg Behrens, Antony Dovgal, Stefan Esser, Moriyoshi Koizumi, Magnus Maatta, Sebastian Nohn, Derick Rethans, Melvyn Sopacua, Pierre-Alain Joye, Dmitry Stogov, Felipe Pena, David Soria Parra, Stanislav Malyshev, Julien Pauli, Stephen Zarkos, Anatol Belski, Remi Collet, Ferenc Kovacs");
106 		php_info_print_table_end();
107 	}
108 
109 	if (flag & PHP_CREDITS_WEB) {
110 		/* Websites and infrastructure */
111 
112 		php_info_print_table_start();
113 		php_info_print_table_colspan_header(2, "Websites and Infrastructure team");
114 		/* www., wiki., windows., master., and others, I guess pecl. too? */
115 		CREDIT_LINE("PHP Websites Team", "Rasmus Lerdorf, Hannes Magnusson, Philip Olson, Lukas Kahwe Smith, Pierre-Alain Joye, Kalle Sommer Nielsen, Peter Cowburn, Adam Harvey, Ferenc Kovacs, Levi Morrison");
116 		CREDIT_LINE("Event Maintainers", "Damien Seguy, Daniel P. Brown");
117 		/* Mirroring */
118 		CREDIT_LINE("Network Infrastructure", "Daniel P. Brown");
119 		/* Windows build boxes and such things */
120 		CREDIT_LINE("Windows Infrastructure", "Alex Schoenmaker");
121 		php_info_print_table_end();
122 	}
123 
124 	if (!sapi_module.phpinfo_as_text && flag & PHP_CREDITS_FULLPAGE) {
125 		PUTS("</div></body></html>\n");
126 	}
127 }
128 /* }}} */
129