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

usercp_viewprofile.php

Zuletzt modifiziert: 09.10.2024, 12:51 - Dateigröße: 9.87 KiB


001  <?php
002  /***************************************************************************
003   *                           usercp_viewprofile.php
004   *                            -------------------
005   *   begin                : Saturday, Feb 13, 2001
006   *   copyright            : (C) 2001 The phpBB Group
007   *   email                : support@phpbb.com
008   *
009   *   $Id$
010   *
011   *
012   ***************************************************************************/
013   
014  /***************************************************************************
015   *
016   *   This program is free software; you can redistribute it and/or modify
017   *   it under the terms of the GNU General Public License as published by
018   *   the Free Software Foundation; either version 2 of the License, or
019   *   (at your option) any later version.
020   *
021   *
022   ***************************************************************************/
023   
024  if ( !defined('IN_PHPBB') )
025  {
026      die("Hacking attempt");
027      exit;
028  }
029   
030  if ( empty($HTTP_GET_VARS[POST_USERS_URL]) || $HTTP_GET_VARS[POST_USERS_URL] == ANONYMOUS )
031  {
032      message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']);
033  }
034  $profiledata = get_userdata($HTTP_GET_VARS[POST_USERS_URL]);
035   
036  if (!$profiledata)
037  {
038      message_die(GENERAL_MESSAGE, $lang['No_user_id_specified']);
039  }
040   
041  $sql = "SELECT *
042      FROM " . RANKS_TABLE . "
043      ORDER BY rank_special, rank_min";
044  if ( !($result = $db->sql_query($sql)) )
045  {
046      message_die(GENERAL_ERROR, 'Could not obtain ranks information', '', __LINE__, __FILE__, $sql);
047  }
048   
049  $ranksrow = array();
050  while ( $row = $db->sql_fetchrow($result) )
051  {
052      $ranksrow[] = $row;
053  }
054  $db->sql_freeresult($result);
055   
056  //
057  // Output page header and profile_view template
058  //
059  $template->set_filenames(array(
060      'body' => 'profile_view_body.tpl')
061  );
062  make_jumpbox('viewforum.'.$phpEx);
063   
064  //
065  // Calculate the number of days this user has been a member ($memberdays)
066  // Then calculate their posts per day
067  //
068  $regdate = $profiledata['user_regdate'];
069  $memberdays = max(1, round( ( time() - $regdate ) / 86400 ));
070  $posts_per_day = $profiledata['user_posts'] / $memberdays;
071   
072  // Get the users percentage of total posts
073  if ( $profiledata['user_posts'] != 0  )
074  {
075      $total_posts = get_db_stat('postcount');
076      $percentage = ( $total_posts ) ? min(100, ($profiledata['user_posts'] / $total_posts) * 100) : 0;
077  }
078  else
079  {
080      $percentage = 0;
081  }
082   
083  $avatar_img = '';
084  if ( $profiledata['user_avatar_type'] && $profiledata['user_allowavatar'] )
085  {
086      switch( $profiledata['user_avatar_type'] )
087      {
088          case USER_AVATAR_UPLOAD:
089              $avatar_img = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $profiledata['user_avatar'] . '" alt="" border="0" />' : '';
090              break;
091          case USER_AVATAR_REMOTE:
092              $avatar_img = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $profiledata['user_avatar'] . '" alt="" border="0" />' : '';
093              break;
094          case USER_AVATAR_GALLERY:
095              $avatar_img = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $profiledata['user_avatar'] . '" alt="" border="0" />' : '';
096              break;
097      }
098  }
099   
100  $poster_rank = '';
101  $rank_image = '';
102  if ( $profiledata['user_rank'] )
103  {
104      for($i = 0; $i < count($ranksrow); $i++)
105      {
106          if ( $profiledata['user_rank'] == $ranksrow[$i]['rank_id'] && $ranksrow[$i]['rank_special'] )
107          {
108              $poster_rank = $ranksrow[$i]['rank_title'];
109              $rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
110          }
111      }
112  }
113  else
114  {
115      for($i = 0; $i < count($ranksrow); $i++)
116      {
117          if ( $profiledata['user_posts'] >= $ranksrow[$i]['rank_min'] && !$ranksrow[$i]['rank_special'] )
118          {
119              $poster_rank = $ranksrow[$i]['rank_title'];
120              $rank_image = ( $ranksrow[$i]['rank_image'] ) ? '<img src="' . $ranksrow[$i]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
121          }
122      }
123  }
124   
125  $temp_url = append_sid("privmsg.$phpEx?mode=post&amp;" . POST_USERS_URL . "=" . $profiledata['user_id']);
126  $pm_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>';
127  $pm = '<a href="' . $temp_url . '">' . $lang['Send_private_message'] . '</a>';
128   
129  if ( !empty($profiledata['user_viewemail']) || $userdata['user_level'] == ADMIN )
130  {
131      $email_uri = ( $board_config['board_email_form'] ) ? append_sid("profile.$phpEx?mode=email&amp;" . POST_USERS_URL .'=' . $profiledata['user_id']) : 'mailto:' . $profiledata['user_email'];
132   
133      $email_img = '<a href="' . $email_uri . '"><img src="' . $images['icon_email'] . '" alt="' . $lang['Send_email'] . '" title="' . $lang['Send_email'] . '" border="0" /></a>';
134      $email = '<a href="' . $email_uri . '">' . $lang['Send_email'] . '</a>';
135  }
136  else
137  {
138      $email_img = '&nbsp;';
139      $email = '&nbsp;';
140  }
141   
142  $www_img = ( $profiledata['user_website'] ) ? '<a href="' . $profiledata['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : '&nbsp;';
143  $www = ( $profiledata['user_website'] ) ? '<a href="' . $profiledata['user_website'] . '" target="_userwww">' . $profiledata['user_website'] . '</a>' : '&nbsp;';
144   
145  if ( !empty($profiledata['user_icq']) )
146  {
147      $icq_status_img = '<a href="http://wwp.icq.com/' . $profiledata['user_icq'] . '#pager"><img src="http://web.icq.com/whitepages/online?icq=' . $profiledata['user_icq'] . '&img=5" width="18" height="18" border="0" /></a>';
148      $icq_img = '<a href="http://wwp.icq.com/scripts/search.dll?to=' . $profiledata['user_icq'] . '"><img src="' . $images['icon_icq'] . '" alt="' . $lang['ICQ'] . '" title="' . $lang['ICQ'] . '" border="0" /></a>';
149      $icq =  '<a href="http://wwp.icq.com/scripts/search.dll?to=' . $profiledata['user_icq'] . '">' . $lang['ICQ'] . '</a>';
150  }
151  else
152  {
153      $icq_status_img = '&nbsp;';
154      $icq_img = '&nbsp;';
155      $icq = '&nbsp;';
156  }
157   
158  $aim_img = ( $profiledata['user_aim'] ) ? '<a href="aim:goim?screenname=' . $profiledata['user_aim'] . '&amp;message=Hello+Are+you+there?"><img src="' . $images['icon_aim'] . '" alt="' . $lang['AIM'] . '" title="' . $lang['AIM'] . '" border="0" /></a>' : '&nbsp;';
159  $aim = ( $profiledata['user_aim'] ) ? '<a href="aim:goim?screenname=' . $profiledata['user_aim'] . '&amp;message=Hello+Are+you+there?">' . $lang['AIM'] . '</a>' : '&nbsp;';
160   
161  $msn_img = ( $profiledata['user_msnm'] ) ? $profiledata['user_msnm'] : '&nbsp;';
162  $msn = $msn_img;
163   
164  $yim_img = ( $profiledata['user_yim'] ) ? '<a href="http://edit.yahoo.com/config/send_webmesg?.target=' . $profiledata['user_yim'] . '&amp;.src=pg"><img src="' . $images['icon_yim'] . '" alt="' . $lang['YIM'] . '" title="' . $lang['YIM'] . '" border="0" /></a>' : '';
165  $yim = ( $profiledata['user_yim'] ) ? '<a href="http://edit.yahoo.com/config/send_webmesg?.target=' . $profiledata['user_yim'] . '&amp;.src=pg">' . $lang['YIM'] . '</a>' : '';
166   
167  $temp_url = append_sid("search.$phpEx?search_author=" . urlencode($profiledata['username']) . "&amp;showresults=posts");
168  $search_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_search'] . '" alt="' . sprintf($lang['Search_user_posts'], $profiledata['username']) . '" title="' . sprintf($lang['Search_user_posts'], $profiledata['username']) . '" border="0" /></a>';
169  $search = '<a href="' . $temp_url . '">' . sprintf($lang['Search_user_posts'], $profiledata['username']) . '</a>';
170   
171  //
172  // Generate page
173  //
174  $page_title = $lang['Viewing_profile'];
175  include($phpbb_root_path . 'includes/page_header.'.$phpEx);
176   
177  if (function_exists('get_html_translation_table'))
178  {
179      $u_search_author = urlencode(strtr($profiledata['username'], array_flip(get_html_translation_table(HTML_ENTITIES))));
180  }
181  else
182  {
183      $u_search_author = urlencode(str_replace(array('&amp;', '&#039;', '&quot;', '&lt;', '&gt;'), array('&', "'", '"', '<', '>'), $profiledata['username']));
184  }
185   
186  $template->assign_vars(array(
187      'USERNAME' => $profiledata['username'],
188      'JOINED' => create_date($lang['DATE_FORMAT'], $profiledata['user_regdate'], $board_config['board_timezone']),
189      'POSTER_RANK' => $poster_rank,
190      'RANK_IMAGE' => $rank_image,
191      'POSTS_PER_DAY' => $posts_per_day,
192      'POSTS' => $profiledata['user_posts'],
193      'PERCENTAGE' => $percentage . '%', 
194      'POST_DAY_STATS' => sprintf($lang['User_post_day_stats'], $posts_per_day), 
195      'POST_PERCENT_STATS' => sprintf($lang['User_post_pct_stats'], $percentage), 
196   
197      'SEARCH_IMG' => $search_img,
198      'SEARCH' => $search,
199      'PM_IMG' => $pm_img,
200      'PM' => $pm,
201      'EMAIL_IMG' => $email_img,
202      'EMAIL' => $email,
203      'WWW_IMG' => $www_img,
204      'WWW' => $www,
205      'ICQ_STATUS_IMG' => $icq_status_img,
206      'ICQ_IMG' => $icq_img, 
207      'ICQ' => $icq, 
208      'AIM_IMG' => $aim_img,
209      'AIM' => $aim,
210      'MSN_IMG' => $msn_img,
211      'MSN' => $msn,
212      'YIM_IMG' => $yim_img,
213      'YIM' => $yim,
214   
215      'LOCATION' => ( $profiledata['user_from'] ) ? $profiledata['user_from'] : '&nbsp;',
216      'OCCUPATION' => ( $profiledata['user_occ'] ) ? $profiledata['user_occ'] : '&nbsp;',
217      'INTERESTS' => ( $profiledata['user_interests'] ) ? $profiledata['user_interests'] : '&nbsp;',
218      'AVATAR_IMG' => $avatar_img,
219   
220      'L_VIEWING_PROFILE' => sprintf($lang['Viewing_user_profile'], $profiledata['username']), 
221      'L_ABOUT_USER' => sprintf($lang['About_user'], $profiledata['username']), 
222      'L_AVATAR' => $lang['Avatar'], 
223      'L_POSTER_RANK' => $lang['Poster_rank'], 
224      'L_JOINED' => $lang['Joined'], 
225      'L_TOTAL_POSTS' => $lang['Total_posts'], 
226      'L_SEARCH_USER_POSTS' => sprintf($lang['Search_user_posts'], $profiledata['username']), 
227      'L_CONTACT' => $lang['Contact'],
228      'L_EMAIL_ADDRESS' => $lang['Email_address'],
229      'L_EMAIL' => $lang['Email'],
230      'L_PM' => $lang['Private_Message'],
231      'L_ICQ_NUMBER' => $lang['ICQ'],
232      'L_YAHOO' => $lang['YIM'],
233      'L_AIM' => $lang['AIM'],
234      'L_MESSENGER' => $lang['MSNM'],
235      'L_WEBSITE' => $lang['Website'],
236      'L_LOCATION' => $lang['Location'],
237      'L_OCCUPATION' => $lang['Occupation'],
238      'L_INTERESTS' => $lang['Interests'],
239   
240      'U_SEARCH_USER' => append_sid("search.$phpEx?search_author=" . $u_search_author),
241   
242      'S_PROFILE_ACTION' => append_sid("profile.$phpEx"))
243  );
244   
245  $template->pparse('body');
246   
247  include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
248   
249  ?>