Verzeichnisstruktur phpBB-2.0.0


Veröffentlicht
03.04.2002

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

memberlist.php

Zuletzt modifiziert: 09.10.2024, 12:50 - Dateigröße: 11.90 KiB


001  <?php
002  /***************************************************************************
003   *                              memberlist.php
004   *                            -------------------
005   *   begin                : Friday, May 11, 2001
006   *   copyright            : (C) 2001 The phpBB Group
007   *   email                : support@phpbb.com
008   *
009   *   $Id$
010   *
011   ***************************************************************************/
012   
013  /***************************************************************************
014   *
015   *   This program is free software; you can redistribute it and/or modify
016   *   it under the terms of the GNU General Public License as published by
017   *   the Free Software Foundation; either version 2 of the License, or
018   *   (at your option) any later version.
019   *
020   ***************************************************************************/
021   
022  define('IN_PHPBB', true);
023  $phpbb_root_path = './';
024  include($phpbb_root_path . 'extension.inc');
025  include($phpbb_root_path . 'common.'.$phpEx);
026   
027  //
028  // Start session management
029  //
030  $userdata = session_pagestart($user_ip, PAGE_VIEWMEMBERS);
031  init_userprefs($userdata);
032  //
033  // End session management
034  //
035   
036  $start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;
037  $start = ($start < 0) ? 0 : $start;
038   
039  if ( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
040  {
041      $mode = ( isset($HTTP_POST_VARS['mode']) ) ? htmlspecialchars($HTTP_POST_VARS['mode']) : htmlspecialchars($HTTP_GET_VARS['mode']);
042  }
043  else
044  {
045      $mode = 'joined';
046  }
047   
048  if(isset($HTTP_POST_VARS['order']))
049  {
050      $sort_order = ($HTTP_POST_VARS['order'] == 'ASC') ? 'ASC' : 'DESC';
051  }
052  else if(isset($HTTP_GET_VARS['order']))
053  {
054      $sort_order = ($HTTP_GET_VARS['order'] == 'ASC') ? 'ASC' : 'DESC';
055  }
056  else
057  {
058      $sort_order = 'ASC';
059  }
060   
061  //
062  // Memberlist sorting
063  //
064  $mode_types_text = array($lang['Sort_Joined'], $lang['Sort_Username'], $lang['Sort_Location'], $lang['Sort_Posts'], $lang['Sort_Email'],  $lang['Sort_Website'], $lang['Sort_Top_Ten']);
065  $mode_types = array('joined', 'username', 'location', 'posts', 'email', 'website', 'topten');
066   
067  $select_sort_mode = '<select name="mode">';
068  for($i = 0; $i < count($mode_types_text); $i++)
069  {
070      $selected = ( $mode == $mode_types[$i] ) ? ' selected="selected"' : '';
071      $select_sort_mode .= '<option value="' . $mode_types[$i] . '"' . $selected . '>' . $mode_types_text[$i] . '</option>';
072  }
073  $select_sort_mode .= '</select>';
074   
075  $select_sort_order = '<select name="order">';
076  if($sort_order == 'ASC')
077  {
078      $select_sort_order .= '<option value="ASC" selected="selected">' . $lang['Sort_Ascending'] . '</option><option value="DESC">' . $lang['Sort_Descending'] . '</option>';
079  }
080  else
081  {
082      $select_sort_order .= '<option value="ASC">' . $lang['Sort_Ascending'] . '</option><option value="DESC" selected="selected">' . $lang['Sort_Descending'] . '</option>';
083  }
084  $select_sort_order .= '</select>';
085   
086  //
087  // Generate page
088  //
089  $page_title = $lang['Memberlist'];
090  include($phpbb_root_path . 'includes/page_header.'.$phpEx);
091   
092  $template->set_filenames(array(
093      'body' => 'memberlist_body.tpl')
094  );
095  make_jumpbox('viewforum.'.$phpEx);
096   
097  $template->assign_vars(array(
098      'L_SELECT_SORT_METHOD' => $lang['Select_sort_method'],
099      'L_EMAIL' => $lang['Email'],
100      'L_WEBSITE' => $lang['Website'],
101      'L_FROM' => $lang['Location'],
102      'L_ORDER' => $lang['Order'],
103      'L_SORT' => $lang['Sort'],
104      'L_SUBMIT' => $lang['Sort'],
105      'L_AIM' => $lang['AIM'],
106      'L_YIM' => $lang['YIM'],
107      'L_MSNM' => $lang['MSNM'],
108      'L_ICQ' => $lang['ICQ'], 
109      'L_JOINED' => $lang['Joined'], 
110      'L_POSTS' => $lang['Posts'], 
111      'L_PM' => $lang['Private_Message'], 
112   
113      'S_MODE_SELECT' => $select_sort_mode,
114      'S_ORDER_SELECT' => $select_sort_order,
115      'S_MODE_ACTION' => append_sid("memberlist.$phpEx"))
116  );
117   
118  switch( $mode )
119  {
120      case 'joined':
121          $order_by = "user_regdate $sort_order LIMIT $start" . $board_config['topics_per_page'];
122          break;
123      case 'username':
124          $order_by = "username $sort_order LIMIT $start" . $board_config['topics_per_page'];
125          break;
126      case 'location':
127          $order_by = "user_from $sort_order LIMIT $start" . $board_config['topics_per_page'];
128          break;
129      case 'posts':
130          $order_by = "user_posts $sort_order LIMIT $start" . $board_config['topics_per_page'];
131          break;
132      case 'email':
133          $order_by = "user_email $sort_order LIMIT $start" . $board_config['topics_per_page'];
134          break;
135      case 'website':
136          $order_by = "user_website $sort_order LIMIT $start" . $board_config['topics_per_page'];
137          break;
138      case 'topten':
139          $order_by = "user_posts $sort_order LIMIT 10";
140          break;
141      default:
142          $order_by = "user_regdate $sort_order LIMIT $start" . $board_config['topics_per_page'];
143          break;
144  }
145   
146  $sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar 
147      FROM " . USERS_TABLE . "
148      WHERE user_id <> " . ANONYMOUS . "
149      ORDER BY $order_by";
150  if( !($result = $db->sql_query($sql)) )
151  {
152      message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
153  }
154   
155  if ( $row = $db->sql_fetchrow($result) )
156  {
157      $i = 0;
158      do
159      {
160          $username = $row['username'];
161          $user_id = $row['user_id'];
162   
163          $from = ( !empty($row['user_from']) ) ? $row['user_from'] : '&nbsp;';
164          $joined = create_date($lang['DATE_FORMAT'], $row['user_regdate'], $board_config['board_timezone']);
165          $posts = ( $row['user_posts'] ) ? $row['user_posts'] : 0;
166   
167          $poster_avatar = '';
168          if ( $row['user_avatar_type'] && $user_id != ANONYMOUS && $row['user_allowavatar'] )
169          {
170              switch( $row['user_avatar_type'] )
171              {
172                  case USER_AVATAR_UPLOAD:
173                      $poster_avatar = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $row['user_avatar'] . '" alt="" border="0" />' : '';
174                      break;
175                  case USER_AVATAR_REMOTE:
176                      $poster_avatar = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $row['user_avatar'] . '" alt="" border="0" />' : '';
177                      break;
178                  case USER_AVATAR_GALLERY:
179                      $poster_avatar = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $row['user_avatar'] . '" alt="" border="0" />' : '';
180                      break;
181              }
182          }
183   
184          if ( !empty($row['user_viewemail']) || $userdata['user_level'] == ADMIN )
185          {
186              $email_uri = ( $board_config['board_email_form'] ) ? append_sid("profile.$phpEx?mode=email&amp;" . POST_USERS_URL .'=' . $user_id) : 'mailto:' . $row['user_email'];
187   
188              $email_img = '<a href="' . $email_uri . '"><img src="' . $images['icon_email'] . '" alt="' . $lang['Send_email'] . '" title="' . $lang['Send_email'] . '" border="0" /></a>';
189              $email = '<a href="' . $email_uri . '">' . $lang['Send_email'] . '</a>';
190          }
191          else
192          {
193              $email_img = '&nbsp;';
194              $email = '&nbsp;';
195          }
196   
197          $temp_url = append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=$user_id");
198          $profile_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_profile'] . '" alt="' . $lang['Read_profile'] . '" title="' . $lang['Read_profile'] . '" border="0" /></a>';
199          $profile = '<a href="' . $temp_url . '">' . $lang['Read_profile'] . '</a>';
200   
201          $temp_url = append_sid("privmsg.$phpEx?mode=post&amp;" . POST_USERS_URL . "=$user_id");
202          $pm_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>';
203          $pm = '<a href="' . $temp_url . '">' . $lang['Send_private_message'] . '</a>';
204   
205          $www_img = ( $row['user_website'] ) ? '<a href="' . $row['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : '';
206          $www = ( $row['user_website'] ) ? '<a href="' . $row['user_website'] . '" target="_userwww">' . $lang['Visit_website'] . '</a>' : '';
207   
208          if ( !empty($row['user_icq']) )
209          {
210              $icq_status_img = '<a href="http://wwp.icq.com/' . $row['user_icq'] . '#pager"><img src="http://web.icq.com/whitepages/online?icq=' . $row['user_icq'] . '&img=5" width="18" height="18" border="0" /></a>';
211              $icq_img = '<a href="http://wwp.icq.com/scripts/search.dll?to=' . $row['user_icq'] . '"><img src="' . $images['icon_icq'] . '" alt="' . $lang['ICQ'] . '" title="' . $lang['ICQ'] . '" border="0" /></a>';
212              $icq =  '<a href="http://wwp.icq.com/scripts/search.dll?to=' . $row['user_icq'] . '">' . $lang['ICQ'] . '</a>';
213          }
214          else
215          {
216              $icq_status_img = '';
217              $icq_img = '';
218              $icq = '';
219          }
220   
221          $aim_img = ( $row['user_aim'] ) ? '<a href="aim:goim?screenname=' . $row['user_aim'] . '&amp;message=Hello+Are+you+there?"><img src="' . $images['icon_aim'] . '" alt="' . $lang['AIM'] . '" title="' . $lang['AIM'] . '" border="0" /></a>' : '';
222          $aim = ( $row['user_aim'] ) ? '<a href="aim:goim?screenname=' . $row['user_aim'] . '&amp;message=Hello+Are+you+there?">' . $lang['AIM'] . '</a>' : '';
223   
224          $temp_url = append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=$user_id");
225          $msn_img = ( $row['user_msnm'] ) ? '<a href="' . $temp_url . '"><img src="' . $images['icon_msnm'] . '" alt="' . $lang['MSNM'] . '" title="' . $lang['MSNM'] . '" border="0" /></a>' : '';
226          $msn = ( $row['user_msnm'] ) ? '<a href="' . $temp_url . '">' . $lang['MSNM'] . '</a>' : '';
227   
228          $yim_img = ( $row['user_yim'] ) ? '<a href="http://edit.yahoo.com/config/send_webmesg?.target=' . $row['user_yim'] . '&amp;.src=pg"><img src="' . $images['icon_yim'] . '" alt="' . $lang['YIM'] . '" title="' . $lang['YIM'] . '" border="0" /></a>' : '';
229          $yim = ( $row['user_yim'] ) ? '<a href="http://edit.yahoo.com/config/send_webmesg?.target=' . $row['user_yim'] . '&amp;.src=pg">' . $lang['YIM'] . '</a>' : '';
230   
231          $temp_url = append_sid("search.$phpEx?search_author=" . urlencode($username) . "&amp;showresults=posts");
232          $search_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_search'] . '" alt="' . sprintf($lang['Search_user_posts'], $username) . '" title="' . sprintf($lang['Search_user_posts'], $username) . '" border="0" /></a>';
233          $search = '<a href="' . $temp_url . '">' . sprintf($lang['Search_user_posts'], $username) . '</a>';
234   
235          $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
236          $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
237   
238          $template->assign_block_vars('memberrow', array(
239              'ROW_NUMBER' => $i + ( $start + 1 ),
240              'ROW_COLOR' => '#' . $row_color,
241              'ROW_CLASS' => $row_class,
242              'USERNAME' => $username,
243              'FROM' => $from,
244              'JOINED' => $joined,
245              'POSTS' => $posts,
246              'AVATAR_IMG' => $poster_avatar,
247              'PROFILE_IMG' => $profile_img, 
248              'PROFILE' => $profile, 
249              'SEARCH_IMG' => $search_img,
250              'SEARCH' => $search,
251              'PM_IMG' => $pm_img,
252              'PM' => $pm,
253              'EMAIL_IMG' => $email_img,
254              'EMAIL' => $email,
255              'WWW_IMG' => $www_img,
256              'WWW' => $www,
257              'ICQ_STATUS_IMG' => $icq_status_img,
258              'ICQ_IMG' => $icq_img, 
259              'ICQ' => $icq, 
260              'AIM_IMG' => $aim_img,
261              'AIM' => $aim,
262              'MSN_IMG' => $msn_img,
263              'MSN' => $msn,
264              'YIM_IMG' => $yim_img,
265              'YIM' => $yim,
266              
267              'U_VIEWPROFILE' => append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=$user_id"))
268          );
269   
270          $i++;
271      }
272      while ( $row = $db->sql_fetchrow($result) );
273      $db->sql_freeresult($result);
274  }
275   
276  if ( $mode != 'topten' || $board_config['topics_per_page'] < 10 )
277  {
278      $sql = "SELECT count(*) AS total
279          FROM " . USERS_TABLE . "
280          WHERE user_id <> " . ANONYMOUS;
281   
282      if ( !($result = $db->sql_query($sql)) )
283      {
284          message_die(GENERAL_ERROR, 'Error getting total users', '', __LINE__, __FILE__, $sql);
285      }
286   
287      if ( $total = $db->sql_fetchrow($result) )
288      {
289          $total_members = $total['total'];
290   
291          $pagination = generate_pagination("memberlist.$phpEx?mode=$mode&amp;order=$sort_order", $total_members, $board_config['topics_per_page'], $start). '&nbsp;';
292      }
293      $db->sql_freeresult($result);
294  }
295  else
296  {
297      $pagination = '&nbsp;';
298      $total_members = 10;
299  }
300   
301  $template->assign_vars(array(
302      'PAGINATION' => $pagination,
303      'PAGE_NUMBER' => sprintf($lang['Page_of'], ( floor( $start / $board_config['topics_per_page'] ) + 1 ), ceil( $total_members / $board_config['topics_per_page'] )), 
304   
305      'L_GOTO_PAGE' => $lang['Goto_page'])
306  );
307   
308  $template->pparse('body');
309   
310  include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
311   
312  ?>