]> scripts.mit.edu Git - autoinstalls/wordpress.git/blob - wp-includes/template-functions-author.php
Wordpress 2.0.4
[autoinstalls/wordpress.git] / wp-includes / template-functions-author.php
1 <?php
2
3 function get_the_author($idmode = '') {
4         global $authordata;
5         return apply_filters('the_author', $authordata->display_name);
6 }
7
8 function the_author($idmode = '', $echo = true) {
9         if ( $echo )
10                 echo get_the_author($idmode);
11         return get_the_author($idmode);
12 }
13
14 function get_the_author_description() {
15         global $authordata;
16         return $authordata->description;
17 }
18 function the_author_description() {
19         echo get_the_author_description();
20 }
21
22 function get_the_author_login() {
23         global $authordata;
24         return $authordata->user_login;
25 }
26
27 function the_author_login() {
28         echo get_the_author_login();
29 }
30
31 function get_the_author_firstname() {
32         global $authordata;
33         return $authordata->first_name;
34 }
35 function the_author_firstname() {
36         echo get_the_author_firstname();
37 }
38
39 function get_the_author_lastname() {
40         global $authordata;
41         return $authordata->last_name;
42 }
43
44 function the_author_lastname() {
45         echo get_the_author_lastname();
46 }
47
48 function get_the_author_nickname() {
49         global $authordata;
50         return $authordata->nickname;
51 }
52
53 function the_author_nickname() {
54         echo get_the_author_nickname();
55 }
56
57 function get_the_author_ID() {
58         global $authordata;
59         return $authordata->ID;
60 }
61 function the_author_ID() {
62         echo get_the_author_id();
63 }
64
65 function get_the_author_email() {
66         global $authordata;
67         return $authordata->user_email;
68 }
69
70 function the_author_email() {
71         echo apply_filters('the_author_email', get_the_author_email() );
72 }
73
74 function get_the_author_url() {
75         global $authordata;
76         return $authordata->user_url;
77 }
78
79 function the_author_url() {
80         echo get_the_author_url();
81 }
82
83 function get_the_author_icq() {
84         global $authordata;
85         return $authordata->icq;
86 }
87
88 function the_author_icq() {
89         echo get_the_author_icq();
90 }
91
92 function get_the_author_aim() {
93         global $authordata;
94         return str_replace(' ', '+', $authordata->aim);
95 }
96
97 function the_author_aim() {
98         echo get_the_author_aim();
99 }
100
101 function get_the_author_yim() {
102         global $authordata;
103         return $authordata->yim;
104 }
105
106 function the_author_yim() {
107         echo get_the_author_yim();
108 }
109
110 function get_the_author_msn() {
111         global $authordata;
112         return $authordata->msn;
113 }
114
115 function the_author_msn() {
116         echo get_the_author_msn();
117 }
118
119 function get_the_author_posts() {
120         global $post;
121         $posts = get_usernumposts($post->post_author);
122         return $posts;
123 }
124
125 function the_author_posts() {
126         echo get_the_author_posts();
127 }
128
129 /* the_author_posts_link() requires no get_, use get_author_link() */
130 function the_author_posts_link($idmode='') {
131         global $authordata;
132
133         echo '<a href="' . get_author_link(0, $authordata->ID, $authordata->user_nicename) . '" title="' . sprintf(__("Posts by %s"), wp_specialchars(the_author($idmode, false))) . '">' . the_author($idmode, false) . '</a>';
134 }
135
136 function get_author_link($echo = false, $author_id, $author_nicename = '') {
137         global $wpdb, $wp_rewrite, $post, $cache_userdata;
138         $auth_ID = $author_id;
139         $link = $wp_rewrite->get_author_permastruct();
140
141         if ( empty($link) ) {
142                 $file = get_settings('home') . '/';
143                 $link = $file . '?author=' . $auth_ID;
144         } else {
145                 if ( '' == $author_nicename ) {
146                         $user = get_userdata($author_id);
147                         if ( !empty($user->user_nicename) )
148                                 $author_nicename = $user->user_nicename;
149                 }
150                 $link = str_replace('%author%', $author_nicename, $link);
151                 $link = get_settings('home') . trailingslashit($link);
152         }
153
154         $link = apply_filters('author_link', $link, $author_id, $author_nicename);
155
156         if ( $echo )
157                 echo $link;
158         return $link;
159 }
160
161 function wp_list_authors($args = '') {
162         parse_str($args, $r);
163
164         if ( !isset($r['optioncount']) )
165                 $r['optioncount'] = false;
166         if ( !isset($r['exclude_admin']) )
167                 $r['exclude_admin'] = true;
168         if ( !isset($r['show_fullname']) )
169                 $r['show_fullname'] = false;
170         if ( !isset($r['hide_empty']) )
171                 $r['hide_empty'] = true;
172         if ( !isset($r['feed']) )
173                 $r['feed'] = '';
174         if ( !isset($r['feed_image']) )
175                 $r['feed_image'] = '';
176
177         list_authors($r['optioncount'], $r['exclude_admin'], $r['show_fullname'], $r['hide_empty'], $r['feed'], $r['feed_image']);
178 }
179
180 function list_authors($optioncount = false, $exclude_admin = true, $show_fullname = false, $hide_empty = true, $feed = '', $feed_image = '') {
181         global $wpdb;
182         $query = "SELECT ID, user_nicename from $wpdb->users " . ($exclude_admin ? "WHERE user_login <> 'admin' " : '') . "ORDER BY display_name";
183         $authors = $wpdb->get_results($query);
184
185         foreach ( $authors as $author ) {
186                 $author = get_userdata( $author->ID );
187                 $posts = get_usernumposts($author->ID);
188                 $name = $author->nickname;
189
190                 if ( $show_fullname && ($author->first_name != '' && $author->last_name != '') )
191                         $name = "$author->first_name $author->last_name";
192
193                 if ( !($posts == 0 && $hide_empty) )
194                         echo "<li>";
195                 if ( $posts == 0 ) {
196                         if ( !$hide_empty )
197                                 $link = $name;
198                 } else {
199                         $link = '<a href="' . get_author_link(0, $author->ID, $author->user_nicename) . '" title="' . sprintf(__("Posts by %s"), wp_specialchars($author->display_name)) . '">' . $name . '</a>';
200
201                         if ( (! empty($feed_image)) || (! empty($feed)) ) {
202                                 $link .= ' ';
203                                 if (empty($feed_image))
204                                         $link .= '(';
205                                 $link .= '<a href="' . get_author_rss_link(0, $author->ID, $author->user_nicename) . '"';
206
207                                 if ( !empty($feed) ) {
208                                         $title = ' title="' . $feed . '"';
209                                         $alt = ' alt="' . $feed . '"';
210                                         $name = $feed;
211                                         $link .= $title;
212                                 }
213
214                                 $link .= '>';
215
216                                 if ( !empty($feed_image) )
217                                         $link .= "<img src=\"$feed_image\" border=\"0\"$alt$title" . ' />';
218                                 else
219                                         $link .= $name;
220
221                                 $link .= '</a>';
222
223                                 if ( empty($feed_image) )
224                                         $link .= ')';
225                         }
226
227                         if ( $optioncount )
228                                 $link .= ' ('. $posts . ')';
229
230                 }
231
232                 if ( !($posts == 0 && $hide_empty) )
233                         echo "$link</li>";
234         }
235 }
236
237 ?>