]> scripts.mit.edu Git - autoinstalls/wordpress.git/blob - wp-includes/template-functions-author.php
Wordpress 2.0.2
[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                         $author_nicename = $cache_userdata[$author_id]->user_nicename;
147                 $link = str_replace('%author%', $author_nicename, $link);
148                 $link = get_settings('home') . trailingslashit($link);
149         }
150
151         $link = apply_filters('author_link', $link, $author_id, $author_nicename);
152
153         if ( $echo )
154                 echo $link;
155         return $link;
156 }
157
158 function wp_list_authors($args = '') {
159         parse_str($args, $r);
160
161         if ( !isset($r['optioncount']) )
162                 $r['optioncount'] = false;
163         if ( !isset($r['exclude_admin']) )
164                 $r['exclude_admin'] = true;
165         if ( !isset($r['show_fullname']) )
166                 $r['show_fullname'] = false;
167         if ( !isset($r['hide_empty']) )
168                 $r['hide_empty'] = true;
169         if ( !isset($r['feed']) )
170                 $r['feed'] = '';
171         if ( !isset($r['feed_image']) )
172                 $r['feed_image'] = '';
173
174         list_authors($r['optioncount'], $r['exclude_admin'], $r['show_fullname'], $r['hide_empty'], $r['feed'], $r['feed_image']);
175 }
176
177 function list_authors($optioncount = false, $exclude_admin = true, $show_fullname = false, $hide_empty = true, $feed = '', $feed_image = '') {
178         global $wpdb;
179         $query = "SELECT ID, user_nicename from $wpdb->users " . ($exclude_admin ? "WHERE user_login <> 'admin' " : '') . "ORDER BY display_name";
180         $authors = $wpdb->get_results($query);
181
182         foreach ( $authors as $author ) {
183                 $author = get_userdata( $author->ID );
184                 $posts = get_usernumposts($author->ID);
185                 $name = $author->nickname;
186
187                 if ( $show_fullname && ($author->first_name != '' && $author->last_name != '') )
188                         $name = "$author->first_name $author->last_name";
189
190                 if ( !($posts == 0 && $hide_empty) )
191                         echo "<li>";
192                 if ( $posts == 0 ) {
193                         if ( !$hide_empty )
194                                 $link = $name;
195                 } else {
196                         $link = '<a href="' . get_author_link(0, $author->ID, $author->user_nicename) . '" title="' . sprintf(__("Posts by %s"), wp_specialchars($author->display_name)) . '">' . $name . '</a>';
197
198                         if ( (! empty($feed_image)) || (! empty($feed)) ) {
199                                 $link .= ' ';
200                                 if (empty($feed_image))
201                                         $link .= '(';
202                                 $link .= '<a href="' . get_author_rss_link(0, $author->ID, $author->user_nicename) . '"';
203
204                                 if ( !empty($feed) ) {
205                                         $title = ' title="' . $feed . '"';
206                                         $alt = ' alt="' . $feed . '"';
207                                         $name = $feed;
208                                         $link .= $title;
209                                 }
210
211                                 $link .= '>';
212
213                                 if ( !empty($feed_image) )
214                                         $link .= "<img src=\"$feed_image\" border=\"0\"$alt$title" . ' />';
215                                 else
216                                         $link .= $name;
217
218                                 $link .= '</a>';
219
220                                 if ( empty($feed_image) )
221                                         $link .= ')';
222                         }
223
224                         if ( $optioncount )
225                                 $link .= ' ('. $posts . ')';
226
227                 }
228
229                 if ( !($posts == 0 && $hide_empty) )
230                         echo "$link</li>";
231         }
232 }
233
234 ?>