@@ -132,16 +132,39 @@ function jq_release_manifest( $id = null ) {
132
132
return json_decode ( get_post_meta ( $ id , 'manifest ' , true ) );
133
133
}
134
134
135
- function person ( $ person , $ avatar ) {
136
- $ ret = htmlspecialchars ( $ person ->name );
137
- if ( !empty ( $ person ->url ) ) {
138
- $ url = htmlspecialchars ( $ person ->url );
139
- $ ret = "<a href=' $ url'> $ ret</a> " ;
135
+ //////////////////////////////////////////////////////////////////////////////
136
+ // Produces a block of markup describing the given person, optionally with
137
+ // a gravatar image at the given size.
138
+
139
+ function person ( $ person , $ avatar , $ size = 96 ) {
140
+
141
+ $ name = htmlspecialchars ( $ person ->name );
142
+
143
+ // If an avatar is requested, build a little gravatar tile; otherwise
144
+ // just use the name by itself.
145
+
146
+ if ( $ avatar ) {
147
+ if (!empty ( $ person ->email )) {
148
+ $ content = get_avatar ( $ person ->email , $ size );
149
+ } else {
150
+ $ content = get_avatar ( null , $ size );
151
+ }
152
+ $ content = $ content . $ name ;
153
+ } else {
154
+ $ content = $ name ;
140
155
}
141
- if ( $ avatar && !empty ( $ person ->email ) ) {
142
- $ ret = get_avatar ( $ person ->email , '80 ' ) . $ ret ;
156
+
157
+ // Wrap the content in a link to the person's page or email address
158
+
159
+ if (!empty ( $ person ->url )) {
160
+ $ url = htmlspecialchars ( $ person ->url );
161
+ return "<a href=' $ url'> $ content</a> " ;
162
+ } elseif (!empty ( $ person ->email )) {
163
+ $ email = htmlspecialchars ( $ person ->email );
164
+ return "<a href='mailto: $ email'> $ content</a> " ;
165
+ } else {
166
+ return $ content ;
143
167
}
144
- return $ ret ;
145
168
}
146
169
147
170
function jq_release_download_url () {
@@ -184,7 +207,7 @@ function jq_release_licenses() {
184
207
return $ ret ;
185
208
}
186
209
187
- function jq_release_maintainers ( $ options = array ('avatar ' => false ) ) {
210
+ function jq_release_maintainers ( $ options = array ('avatar ' => false , ' size ' => 48 ) ) {
188
211
$ pkg = jq_release_manifest ();
189
212
190
213
if ( empty ( $ pkg ->maintainers ) ) {
@@ -193,15 +216,15 @@ function jq_release_maintainers( $options = array('avatar' => false) ) {
193
216
194
217
$ ret = '<ul> ' ;
195
218
foreach ( $ pkg ->maintainers as $ maintainer ) {
196
- $ ret .= '<li> ' . person ( $ maintainer , $ options ['avatar ' ] ) . '</li> ' ;
219
+ $ ret .= '<li> ' . person ( $ maintainer , $ options ['avatar ' ], $ options [ ' size ' ] ) . '</li> ' ;
197
220
}
198
221
$ ret .= '</ul> ' ;
199
222
return $ ret ;
200
223
}
201
224
202
- function jq_release_author ( $ options = array ('avatar ' => false ) ) {
225
+ function jq_release_author ( $ options = array ('avatar ' => false , ' size ' => 48 ) ) {
203
226
$ pkg = jq_release_manifest ();
204
- return person ( $ pkg ->author , $ options ['avatar ' ] );
227
+ return person ( $ pkg ->author , $ options ['avatar ' ], $ options [ ' size ' ] );
205
228
}
206
229
207
230
function jq_release_dependencies () {
0 commit comments