3f5afc9ee78d9c4269d9c38bebe19471ab5eaacd
[autoinstalls/wordpress.git] / wp-admin / credits.php
1 <?php
2 /**
3  * Credits administration panel.
4  *
5  * @package WordPress
6  * @subpackage Administration
7  */
8
9 /** WordPress Administration Bootstrap */
10 require_once( dirname( __FILE__ ) . '/admin.php' );
11 require_once( dirname( __FILE__ ) . '/includes/credits.php' );
12
13 $title = __( 'Credits' );
14
15 list( $display_version ) = explode( '-', $wp_version );
16
17 include( ABSPATH . 'wp-admin/admin-header.php' );
18 ?>
19 <div class="wrap about-wrap">
20
21 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
22
23 <p class="about-text"><?php printf( __( 'Thank you for updating to the latest version. WordPress %s changes a lot behind the scenes to make your WordPress experience even better!' ), $display_version ); ?></p>
24
25 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
26
27 <h2 class="nav-tab-wrapper wp-clearfix">
28         <a href="about.php" class="nav-tab"><?php _e( 'What&#8217;s New' ); ?></a>
29         <a href="credits.php" class="nav-tab nav-tab-active"><?php _e( 'Credits' ); ?></a>
30         <a href="freedoms.php" class="nav-tab"><?php _e( 'Freedoms' ); ?></a>
31 </h2>
32
33 <?php
34
35 $credits = wp_credits();
36
37 if ( ! $credits ) {
38         echo '<p class="about-description">';
39         /* translators: 1: https://wordpress.org/about/, 2: https://make.wordpress.org/ */
40         printf( __( 'WordPress is created by a <a href="%1$s">worldwide team</a> of passionate individuals. <a href="%2$s">Get involved in WordPress</a>.' ),
41                 'https://wordpress.org/about/',
42                 __( 'https://make.wordpress.org/' )
43         );
44         echo '</p>';
45         echo '</div>';
46         include( ABSPATH . 'wp-admin/admin-footer.php' );
47         exit;
48 }
49
50 echo '<p class="about-description">' . __( 'WordPress is created by a worldwide team of passionate individuals.' ) . "</p>\n";
51
52 foreach ( $credits['groups'] as $group_slug => $group_data ) {
53         if ( $group_data['name'] ) {
54                 if ( 'Translators' == $group_data['name'] ) {
55                         // Considered a special slug in the API response. (Also, will never be returned for en_US.)
56                         $title = _x( 'Translators', 'Translate this to be the equivalent of English Translators in your language for the credits page Translators section' );
57                 } elseif ( isset( $group_data['placeholders'] ) ) {
58                         $title = vsprintf( translate( $group_data['name'] ), $group_data['placeholders'] );
59                 } else {
60                         $title = translate( $group_data['name'] );
61                 }
62
63                 echo '<h3 class="wp-people-group">' . esc_html( $title ) . "</h3>\n";
64         }
65
66         if ( ! empty( $group_data['shuffle'] ) )
67                 shuffle( $group_data['data'] ); // We were going to sort by ability to pronounce "hierarchical," but that wouldn't be fair to Matt.
68
69         switch ( $group_data['type'] ) {
70                 case 'list' :
71                         array_walk( $group_data['data'], '_wp_credits_add_profile_link', $credits['data']['profiles'] );
72                         echo '<p class="wp-credits-list">' . wp_sprintf( '%l.', $group_data['data'] ) . "</p>\n\n";
73                         break;
74                 case 'libraries' :
75                         array_walk( $group_data['data'], '_wp_credits_build_object_link' );
76                         echo '<p class="wp-credits-list">' . wp_sprintf( '%l.', $group_data['data'] ) . "</p>\n\n";
77                         break;
78                 default:
79                         $compact = 'compact' == $group_data['type'];
80                         $classes = 'wp-people-group ' . ( $compact ? 'compact' : '' );
81                         echo '<ul class="' . $classes . '" id="wp-people-group-' . $group_slug . '">' . "\n";
82                         foreach ( $group_data['data'] as $person_data ) {
83                                 echo '<li class="wp-person" id="wp-person-' . esc_attr( $person_data[2] ) . '">' . "\n\t";
84                                 echo '<a href="' . esc_url( sprintf( $credits['data']['profiles'], $person_data[2] ) ) . '" class="web">';
85                                 $size = 'compact' == $group_data['type'] ? 30 : 60;
86                                 $data = get_avatar_data( $person_data[1] . '@md5.gravatar.com', array( 'size' => $size ) );
87                                 $size *= 2;
88                                 $data2x = get_avatar_data( $person_data[1] . '@md5.gravatar.com', array( 'size' => $size ) );
89                                 echo '<img src="' . esc_url( $data['url'] ) . '" srcset="' . esc_url( $data2x['url'] ) . ' 2x" class="gravatar" alt="" />' . "\n";
90                                 echo esc_html( $person_data[0] ) . "</a>\n\t";
91                                 if ( ! $compact )
92                                         echo '<span class="title">' . translate( $person_data[3] ) . "</span>\n";
93                                 echo "</li>\n";
94                         }
95                         echo "</ul>\n";
96                 break;
97         }
98 }
99
100 ?>
101 <p class="clear"><?php
102         /* translators: %s: https://make.wordpress.org/ */
103         printf( __( 'Want to see your name in lights on this page? <a href="%s">Get involved in WordPress</a>.' ),
104                 __( 'https://make.wordpress.org/' )
105         );
106 ?></p>
107
108 </div>
109 <?php
110
111 include( ABSPATH . 'wp-admin/admin-footer.php' );
112
113 return;
114
115 // These are strings returned by the API that we want to be translatable
116 __( 'Project Leaders' );
117 __( 'Core Contributors to WordPress %s' );
118 __( 'Contributing Developers' );
119 __( 'Cofounder, Project Lead' );
120 __( 'Lead Developer' );
121 __( 'Release Lead' );
122 __( 'Release Design Lead' );
123 __( 'Release Deputy' );
124 __( 'Core Developer' );
125 __( 'External Libraries' );