space_profile.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. <?php
  2. /**
  3. * [Discuz!] (C)2001-2099 Comsenz Inc.
  4. * This is NOT a freeware, use is subject to license terms
  5. *
  6. * $Id: space_profile.php 29279 2012-03-31 09:06:19Z monkey $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. require_once libfile('function/spacecp');
  12. space_merge($space, 'count');
  13. space_merge($space, 'field_home');
  14. space_merge($space, 'field_forum');
  15. space_merge($space, 'profile');
  16. space_merge($space, 'status');
  17. getonlinemember(array($space['uid']));
  18. if($space['videophoto'] && ckvideophoto($space, 1)) {
  19. $space['videophoto'] = getvideophoto($space['videophoto']);
  20. } else {
  21. $space['videophoto'] = '';
  22. }
  23. $space['admingroup'] = $_G['cache']['usergroups'][$space['adminid']];
  24. $space['admingroup']['icon'] = g_icon($space['adminid'], 1);
  25. $space['group'] = $_G['cache']['usergroups'][$space['groupid']];
  26. $space['group']['icon'] = g_icon($space['groupid'], 1);
  27. $encodeusername = rawurlencode($space['username']);
  28. if($space['extgroupids']) {
  29. $newgroup = array();
  30. $e_ids = explode(',', $space['extgroupids']);
  31. foreach ($e_ids as $e_id) {
  32. $newgroup[] = $_G['cache']['usergroups'][$e_id]['grouptitle'];
  33. }
  34. $space['extgroupids'] = implode(',', $newgroup);
  35. }
  36. $space['regdate'] = dgmdate($space['regdate']);
  37. if($space['lastvisit']) $space['lastvisit'] = dgmdate($space['lastvisit']);
  38. if($space['lastactivity']) {
  39. $space['lastactivitydb'] = $space['lastactivity'];
  40. $space['lastactivity'] = dgmdate($space['lastactivity']);
  41. }
  42. if($space['lastpost']) $space['lastpost'] = dgmdate($space['lastpost']);
  43. if($space['lastsendmail']) $space['lastsendmail'] = dgmdate($space['lastsendmail']);
  44. if($_G['uid'] == $space['uid'] || $_G['group']['allowviewip']) {
  45. require_once libfile('function/misc');
  46. $space['regip_loc'] = convertip($space['regip']);
  47. $space['lastip_loc'] = convertip($space['lastip']);
  48. }
  49. $space['buyerrank'] = 0;
  50. if($space['buyercredit']){
  51. foreach($_G['setting']['ec_credit']['rank'] AS $level => $credit) {
  52. if($space['buyercredit'] <= $credit) {
  53. $space['buyerrank'] = $level;
  54. break;
  55. }
  56. }
  57. }
  58. $space['sellerrank'] = 0;
  59. if($space['sellercredit']){
  60. foreach($_G['setting']['ec_credit']['rank'] AS $level => $credit) {
  61. if($space['sellercredit'] <= $credit) {
  62. $space['sellerrank'] = $level;
  63. break;
  64. }
  65. }
  66. }
  67. $space['attachsize'] = formatsize($space['attachsize']);
  68. $space['timeoffset'] = empty($space['timeoffset']) ? '9999' : $space['timeoffset'];
  69. if(strtotime($space['regdate']) + $space['oltime'] * 3600 > TIMESTAMP) {
  70. $space['oltime'] = 0;
  71. }
  72. require_once libfile('function/friend');
  73. $isfriend = friend_check($space['uid'], 1);
  74. loadcache('profilesetting');
  75. include_once libfile('function/profile');
  76. $profiles = array();
  77. $privacy = $space['privacy']['profile'] ? $space['privacy']['profile'] : array();
  78. if($_G['setting']['verify']['enabled']) {
  79. space_merge($space, 'verify');
  80. }
  81. foreach($_G['cache']['profilesetting'] as $fieldid => $field) {
  82. if(!$field['available'] || in_array($fieldid, array('birthprovince', 'birthdist', 'birthcommunity', 'resideprovince', 'residedist', 'residecommunity'))) {
  83. continue;
  84. }
  85. if(
  86. $field['available'] && (strlen($space[$fieldid]) > 0 || ($fieldid == 'birthcity' && strlen($space['birthprovince']) || $fieldid == 'residecity' && strlen($space['resideprovince']))) &&
  87. ($space['self'] || empty($privacy[$fieldid]) || ($isfriend && $privacy[$fieldid] == 1)) &&
  88. (!$_G['inajax'] && !$field['invisible'] || $_G['inajax'] && $field['showincard'])
  89. ) {
  90. $val = profile_show($fieldid, $space);
  91. if($val !== false) {
  92. if($fieldid == 'realname' && $_G['uid'] != $space['uid'] && !ckrealname(1)) {
  93. continue;
  94. }
  95. if($field['formtype'] == 'file' && $val) {
  96. $imgurl = getglobal('setting/attachurl').'./profile/'.$val;
  97. $val = '<span><a href="'.$imgurl.'" target="_blank"><img src="'.$imgurl.'" style="max-width: 500px;" /></a></span>';
  98. }
  99. if($val == '') $val = '-';
  100. $profiles[$fieldid] = array('title'=>$field['title'], 'value'=>$val);
  101. }
  102. }
  103. }
  104. $count = C::t('forum_moderator')->count_by_uid($space['uid']);
  105. if($count) {
  106. foreach(C::t('forum_moderator')->fetch_all_by_uid($space['uid']) as $result) {
  107. $moderatefids[] = $result['fid'];
  108. }
  109. $query = C::t('forum_forum')->fetch_all_info_by_fids($moderatefids);
  110. foreach($query as $result) {
  111. $manage_forum[$result['fid']] = $result['name'];
  112. }
  113. }
  114. if(!$_G['inajax'] && $_G['setting']['groupstatus']) {
  115. $gorupcount = C::t('forum_groupuser')->fetch_all_group_for_user($space['uid'], 1);
  116. if($groupcount > 0) {
  117. $fids = C::t('forum_groupuser')->fetch_all_fid_by_uids($space['uid']);
  118. $usergrouplist = C::t('forum_forum')->fetch_all_info_by_fids($fids);
  119. }
  120. }
  121. if($space['medals']) {
  122. loadcache('medals');
  123. foreach($space['medals'] = explode("\t", $space['medals']) as $key => $medalid) {
  124. list($medalid, $medalexpiration) = explode("|", $medalid);
  125. if(isset($_G['cache']['medals'][$medalid]) && (!$medalexpiration || $medalexpiration > TIMESTAMP)) {
  126. $space['medals'][$key] = $_G['cache']['medals'][$medalid];
  127. $space['medals'][$key]['medalid'] = $medalid;
  128. } else {
  129. unset($space['medals'][$key]);
  130. }
  131. }
  132. }
  133. $upgradecredit = $space['uid'] && $space['group']['type'] == 'member' && $space['group']['creditslower'] != 9999999 ? $space['group']['creditslower'] - $space['credits'] : false;
  134. $allowupdatedoing = $space['uid'] == $_G['uid'] && checkperm('allowdoing');
  135. dsetcookie('home_diymode', 1);
  136. $navtitle = lang('space', 'sb_profile', array('who' => $space['username']));
  137. $metakeywords = lang('space', 'sb_profile', array('who' => $space['username']));
  138. $metadescription = lang('space', 'sb_profile', array('who' => $space['username']));
  139. $showvideophoto = true;
  140. if($space['videophotostatus'] > 0 && $_G['uid'] != $space['uid'] && !ckvideophoto($space, 1)) {
  141. $showvideophoto = false;
  142. }
  143. $clist = array();
  144. if(in_array($_G['adminid'], array(1, 2, 3))) {
  145. include_once libfile('function/member');
  146. $clist = crime('getactionlist', $space['uid']);
  147. }
  148. if(!$_G['privacy']) {
  149. if(!$_G['inajax']) {
  150. include_once template("home/space_profile");
  151. } else {
  152. $_GET['do'] = 'card';
  153. include_once template("home/space_card");
  154. }
  155. }
  156. ?>