private function _getNotifyInfo($uid, $type, $page, $pageSize) { $info = array('count' => 0, 'list' => array(), 'data' => array()); $count = DzHomeNotification::getCountByUid($uid, $type); $notifyData = DzHomeNotification::getAllNotifyByUid($uid, $type, $page, $pageSize); foreach ($notifyData as $data) { $isAllowData = true; $actions = array(); $matches = array(); preg_match('/<a onclick="showWindow.+?>(\\S+)<\\/a>/mi', $data['note'], $matches); if (!empty($matches)) { $actions = array(); $action = array('redirect' => '', 'title' => $matches[1], 'type' => ''); // 添加好友按钮 $tempMatches = array(); preg_match('/ac=friend&op=(\\w+)&uid=(\\d+)/mi', $matches[0], $tempMatches); if (!empty($tempMatches)) { $action['redirect'] = WebUtils::createUrl_oldVersion('user/useradminview', array('act' => $tempMatches[1], 'uid' => $tempMatches[2])); $action['type'] = self::NOTIFY_TYPE_FRIEND; } $data['note'] = str_replace($matches[1], '', $data['note']); // 暂时屏蔽已经是好友的动作 if (friend_check($tempMatches[2])) { $isAllowData = false; $count--; } $actions[] = $action; } if ($isAllowData) { $tmpData['dateline'] = $data['dateline'] . '000'; $tmpData['type'] = $data['type']; $tmpData['note'] = WebUtils::emptyHtml($data['note']); $tmpData['fromId'] = (int) $data['from_id']; $tmpData['fromIdType'] = $data['from_idtype']; $tmpData['author'] = $data['author']; $tmpData['authorId'] = (int) $data['authorid']; $tmpData['authorAvatar'] = UserUtils::getUserAvatar($data['authorid']); $tmpData['actions'] = $actions; $info['data'][] = $tmpData; } } if ($type == self::NOTIFY_TYPE_POST || $type == self::NOTIFY_TYPE_AT) { foreach ($notifyData as $data) { $matches = array(); preg_match_all('/&ptid=(\\d+?)&pid=(\\d+?)"/i', $data['note'], $matches); $ptid = $matches[1][0]; $pid = $matches[2][0]; $postInfo = $this->_getPostInfo($ptid, $pid); if (!empty($postInfo)) { $info['list'][] = $postInfo; } else { --$count; } } } $info['count'] = $count; return $info; }
function post_bene_invite_message($params) { global $_G; if(!self::$isopen) return false; list($message, $forwordURL, $threadValue) = $params['param']; $_setting = $_G['cache']['plugin']['bene_invite']; if(!empty($_POST['username'])) { $_POST['users'][] = $_POST['username']; } $users = empty($_POST['users']) ? array() : $_POST['users']; $coef = 1; if(!empty($users)) { $coef = count($users); } include_once libfile('function/friend'); $return = 0; if($users) { $newusers = $uidsarr = $membersarr = array(); if($users) { $membersarr = C::t('common_member')->fetch_all_by_username($users); foreach($membersarr as $aUsername=>$aUser) { $uidsarr[] = $aUser['uid']; } } if(empty($membersarr)) { showmessage('message_bad_touser', '', array(), array('return' => true)); } if(isset($membersarr[$_G['uid']])) { showmessage('message_can_not_send_to_self', '', array(), array('return' => true)); } friend_check($uidsarr); foreach($membersarr as $key => $value) { $thread = C::t('forum_thread')->fetch($threadValue['tid']); notification_add($value['uid'], 'friend', lang('plugin/bene_invite', 'm1') . ' '.$_G['username'].lang('plugin/bene_invite', 'm2').$thread['subject'].lang('plugin/bene_invite', 'm3').'<span class="a"><a href="forum.php?mod=viewthread&tid='.$threadValue['tid'].'">'.lang('plugin/bene_invite', 'm4').'</a></span>'); } } return true; }
<li class="ul_diy"><a href="home.php?mod=space&do=index&diy=yes">装扮空间</a></li> <?php } if(helper_access::check_module('wall')) { ?> <li class="ul_msg"><a href="home.php?mod=space&do=wall">查看留言</a></li> <?php } ?> <li class="ul_avt"><a href="home.php?mod=spacecp&ac=avatar">编辑头像</a></li> <li class="ul_profile"><a href="home.php?mod=spacecp&ac=profile">更新资料</a></li> <?php } else { if(helper_access::check_module('follow')) { ?> <li class="ul_broadcast"><a href="home.php?mod=space&uid=<?php echo $space['uid'];?>">查看广播</a></li> <?php } if(helper_access::check_module('follow') && $space['uid'] != $_G['uid']) { ?> <li class="ul_flw"><?php $follow = 0;?><?php $follow = C::t('home_follow')->fetch_all_by_uid_followuid($_G['uid'], $space['uid']);?><?php if(!$follow) { ?> <a id="followmod" onclick="showWindow(this.id, this.href, 'get', 0);" href="home.php?mod=spacecp&ac=follow&op=add&hash=<?php echo FORMHASH;?>&fuid=<?php echo $space['uid'];?>">收听TA</a> <?php } else { ?> <a id="followmod" onclick="showWindow(this.id, this.href, 'get', 0);" href="home.php?mod=spacecp&ac=follow&op=del&fuid=<?php echo $space['uid'];?>">取消收听</a> <?php } ?> </li> <?php } require_once libfile('function/friend');$isfriend=friend_check($space[uid]);?><?php if(!$isfriend) { ?> <li class="ul_add"><a href="home.php?mod=spacecp&ac=friend&op=add&uid=<?php echo $space['uid'];?>&handlekey=addfriendhk_<?php echo $space['uid'];?>" id="a_friend_li_<?php echo $space['uid'];?>" onclick="showWindow(this.id, this.href, 'get', 0);">加为好友</a></li> <?php } else { ?> <li class="ul_ignore"><a href="home.php?mod=spacecp&ac=friend&op=ignore&uid=<?php echo $space['uid'];?>&handlekey=ignorefriendhk_<?php echo $space['uid'];?>" id="a_ignore_<?php echo $space['uid'];?>" onclick="showWindow(this.id, this.href, 'get', 0);">解除好友</a></li> <?php } if(helper_access::check_module('wall')) { ?> <li class="ul_contect"><a href="home.php?mod=space&uid=<?php echo $space['uid'];?>&do=wall">给我留言</a></li> <?php } ?> <li class="ul_poke"><a href="home.php?mod=spacecp&ac=poke&op=send&uid=<?php echo $space['uid'];?>&handlekey=propokehk_<?php echo $space['uid'];?>" id="a_poke_<?php echo $space['uid'];?>" onclick="showWindow(this.id, this.href, 'get', 0);">打个招呼</a></li> <li class="ul_pm"><a href="home.php?mod=spacecp&ac=pm&op=showmsg&handlekey=showmsg_<?php echo $space['uid'];?>&touid=<?php echo $space['uid'];?>&pmid=0&daterange=2" id="a_sendpm_<?php echo $space['uid'];?>" onclick="showWindow('showMsgBox', this.href, 'get', 0)">发送消息</a></li> <?php } ?> </ul> <?php if(checkperm('allowbanuser') || checkperm('allowedituser') || $_G['adminid'] == 1) { ?> <hr class="da mtn m0"> <ul class="ptn xl xl2 cl"> <?php if(checkperm('allowbanuser') || checkperm('allowedituser')) { ?>
function ckfriend_album($album) { global $_G, $space; if ($_G['adminid'] != 1) { if (!ckfriend($album['uid'], $album['friend'], $album['target_ids'])) { if (empty($_G['uid'])) { showmessage('to_login', null, array(), array('showmsg' => true, 'login' => 1)); } require_once libfile('function/friend'); $isfriend = friend_check($album['uid']); space_merge($space, 'count'); space_merge($space, 'profile'); $_G['privacy'] = 1; require_once libfile('space/profile', 'include'); include template('home/space_privacy'); exit; } elseif (!$space['self'] && $album['friend'] == 4) { $cookiename = "view_pwd_album_{$album['albumid']}"; $cookievalue = empty($_G['cookie'][$cookiename]) ? '' : $_G['cookie'][$cookiename]; if ($cookievalue != md5(md5($album['password']))) { $invalue = $album; include template('home/misc_inputpwd'); exit; } } } }
$userapp = array(); if ($appid) { $userapp = C::t('common_myapp')->fetch($appid); } $space = getuserbyuid($uid); if (empty($space)) { showmessage('space_does_not_exist', '', array(), array('return' => true)); } $jumpurl = $appid ? "userapp.php?mod=app&id={$appid}&my_extra=invitedby_bi_{$uid}_{$_GET['c']}&my_suffix=Lw%3D%3D" : 'home.php?mod=space&uid=' . $uid; if ($acceptconfirm) { dsetcookie('invite_auth', ''); if ($_G['uid'] == $uid) { showmessage('should_not_invite_your_own', '', array(), array('return' => true)); } require_once libfile('function/friend'); if (friend_check($uid)) { showmessage('you_have_friends', $jumpurl); } friend_make($space['uid'], $space['username']); if ($id) { C::t('common_invite')->update($id, array('fuid' => $_G['uid'], 'fusername' => $_G['username'], 'regdateline' => $_G['timestamp'], 'status' => 2)); notification_add($uid, 'friend', 'invite_friend', array('actor' => '<a href="home.php?mod=space&uid=' . $_G['uid'] . '" target="_blank">' . $_G['username'] . '</a>'), 1); } space_merge($space, 'field_home'); if (!empty($space['privacy']['feed']['invite'])) { require_once libfile('function/feed'); $tite_data = array('username' => '<a href="home.php?mod=space&uid=' . $_G['uid'] . '">' . $_G['username'] . '</a>'); feed_add('friend', 'feed_invite', $tite_data, '', array(), '', array(), array(), '', '', '', 0, 0, '', $space['uid'], $space['username']); } if ($_G['setting']['inviteconfig']['inviteaddcredit']) { updatemembercount($_G['uid'], array($_G['setting']['inviteconfig']['inviterewardcredit'] => $_G['setting']['inviteconfig']['inviteaddcredit']));
} elseif ($_GET['view'] == 'me') { $filter = in_array($_G['gp_filter'], array('publish', 'join')) ? $_G['gp_filter'] : 'publish'; if ($filter == 'join') { $wheresql = "p.uid = '{$space['uid']}' AND p.tid = t.tid"; $apply_sql = ', ' . DB::table('forum_pollvoter') . ' p '; } else { $wheresql = "t.authorid = '{$space['uid']}'"; } $filteractives = array($filter => ' class="a"'); } else { space_merge($space, 'field_home'); if ($space['feedfriend']) { $fuid_actives = array(); require_once libfile('function/friend'); $fuid = intval($_GET['fuid']); if ($fuid && friend_check($fuid, $space['uid'])) { $wheresql = "t.authorid='{$fuid}'"; $fuid_actives = array($fuid => ' selected'); } else { $wheresql = "t.authorid IN ({$space['feedfriend']})"; $theurl = "home.php?mod=space&uid={$space['uid']}&do={$do}&view=we"; } $query = DB::query("SELECT * FROM " . DB::table('home_friend') . " WHERE uid='{$space['uid']}' ORDER BY num DESC LIMIT 0,100"); while ($value = DB::fetch($query)) { $userlist[] = $value; } } else { $need_count = false; } } $actives = array($_GET['view'] => ' class="a"');
function getblockhtml($blockname, $parameters = array()) { global $_G, $space; $parameters = empty($parameters) ? array() : $parameters; $list = array(); $sql = $title = $html = $wheresql = $ordersql = $titlemore = $do = $view = $contentclassname = ''; $contenttagname = 'div'; $shownum = 6; $uid = intval($space['uid']); $shownum = empty($parameters['shownum']) ? $shownum : intval($parameters['shownum']); switch ($blockname) { case 'profile': $do = $blockname; $managehtml = ''; $avatar = empty($parameters['banavatar']) ? 'middle' : $parameters['banavatar']; $html .= "<div class=\"hm\"><p><a href=\"home.php?mod=space&uid={$uid}\" target=\"__blank\">" . avatar($uid, $avatar) . '</a></p>'; $html .= "<h2><a href=\"home.php?mod=space&uid={$uid}\" target=\"__blank\">" . $space['username'] . "</a></h2>"; $html .= '</div><ul class="xl xl2 cl ul_list">'; $magicinfo = $showmagicgift = false; if ($_G['setting']['magicstatus'] && $_G['setting']['magics']['gift']) { $showmagicgift = true; $magicinfo = !empty($space['magicgift']) ? unserialize($space['magicgift']) : array(); } if ($space['self']) { $html .= '<li class="ul_diy"><a href="home.php?mod=space&diy=yes">' . lang('space', 'block_profile_diy') . '</a></li>'; $html .= '<li class="ul_msg"><a href="home.php?mod=space&uid=' . $uid . '&do=wall">' . lang('space', 'block_profile_wall') . '</a></li>'; $html .= '<li class="ul_avt"><a href="home.php?mod=spacecp&ac=avatar">' . lang('space', 'block_profile_avatar') . '</a></li>'; $html .= '<li class="ul_profile"><a href="home.php?mod=spacecp&ac=profile">' . lang('space', 'block_profile_update') . '</a></li>'; if ($showmagicgift) { $html .= '<li class="ul_magicgift"><div style="' . 'background: url(' . STATICURL . 'image/magic/gift.small.gif) no-repeat 0 50%;' . '">'; if ($magicinfo) { $html .= '<a onclick="showWindow(\'magicgift\', this.href, \'get\', 0)" href="home.php?mod=spacecp&ac=magic&op=retiregift">' . lang('magic/gift', 'gift_gc') . '</a>'; } else { $html .= '<a onclick="showWindow(\'magicgift\', this.href, \'get\', 0)" href="home.php?mod=magic&mid=gift">' . lang('magic/gift', 'gift_use') . '</a>'; } $html .= '</div></li>'; } } else { require_once libfile('function/friend'); $isfriend = friend_check($uid); if (!$isfriend) { $html .= "<li class='ul_add'><a href=\"home.php?mod=spacecp&ac=friend&op=add&uid={$space['uid']}&handlekey=addfriendhk_{$space[uid]}\" id=\"a_friend_li_{$space[uid]}\" onclick=\"showWindow(this.id, this.href, 'get', 0);\">" . lang('space', 'block_profile_friend_add') . "</a></li>"; } else { $html .= "<li class='ul_ignore'><a href=\"home.php?mod=spacecp&ac=friend&op=ignore&uid={$space['uid']}&handlekey=ignorefriendhk_{$space[uid]}\" id=\"a_ignore_{$space[uid]}\" onclick=\"showWindow(this.id, this.href, 'get', 0);\">" . lang('space', 'block_profile_friend_ignore') . "</a></li>"; } $html .= "<li class='ul_msg'><a href=\"home.php?mod=space&uid={$space['uid']}&do=wall\">" . lang('space', 'block_profile_wall_to_me') . "</a></li>"; $html .= "<li class='ul_poke'><a href=\"home.php?mod=spacecp&ac=poke&op=send&uid={$space['uid']}&handlekey=propokehk_{$space[uid]}\" id=\"a_poke_{$space[uid]}\" onclick=\"showWindow(this.id, this.href, 'get', 0);\">" . lang('space', 'block_profile_poke') . "</a></li>"; $html .= "<li class='ul_pm'><a href=\"home.php?mod=spacecp&ac=pm&op=showmsg&handlekey=showmsg_{$space['uid']}&touid={$space['uid']}&pmid=0&daterange=2\" id=\"a_sendpm_{$space['uid']}\" onclick=\"showWindow('showMsgBox', this.href, 'get', 0)\">" . lang('space', 'block_profile_sendmessage') . "</a></li>"; } $html .= '</ul>'; $encodeusername = rawurlencode($space['username']); if (checkperm('allowbanuser')) { $managehtml .= '<li><a href="' . ($_G['adminid'] == 1 ? "admin.php?action=members&operation=ban&username={$encodeusername}&frames=yes" : "forum.php?mod=modcp&action=member&op=ban&uid={$space['uid']}") . '" id="usermanageli" onmouseover="showMenu(this.id)" class="showmenu" target="_blank">' . lang('home/template', 'member_manage') . '</a></li>'; } elseif (checkperm('allowedituser')) { $managehtml .= '<li><a href="' . ($_G['adminid'] == 1 ? "admin.php?action=members&operation=search&username={$encodeusername}&submit=yes&frames=yes" : "forum.php?mod=modcp&action=member&op=edit&uid={$space['uid']}") . '" id="usermanageli" onmouseover="showMenu(this.id)" class="showmenu" target="_blank">' . lang('home/template', 'member_manage') . '</a></li>'; } if ($_G['adminid'] == 1) { $managehtml .= "<li><a href=\"forum.php?mod=modcp&action=thread&op=post&do=search&searchsubmit=1&users={$encodeusername}\" id=\"umanageli\" onmouseover=\"showMenu(this.id)\" class=\"showmenu\">" . lang('home/template', 'content_manage') . "</a></li>"; } if (!empty($managehtml)) { $html .= '<hr class="da mtn m0" /><ul class="ptn xl xl2 cl">' . $managehtml . '</ul><ul id="usermanageli_menu" class="p_pop" style="width: 80px; display:none;">'; if (checkperm('allowbanuser')) { $html .= '<li><a href="' . ($_G['adminid'] == 1 ? "admin.php?action=members&operation=ban&username={$encodeusername}&frames=yes" : "forum.php?mod=modcp&action=member&op=ban&uid={$space['uid']}") . '" target="_blank">' . lang('home/template', 'user_ban') . '</a></li>'; } if (checkperm('allowedituser')) { $html .= '<li><a href="' . ($_G['adminid'] == 1 ? "admin.php?action=members&operation=search&username={$encodeusername}&submit=yes&frames=yes" : "forum.php?mod=modcp&action=member&op=edit&uid={$space['uid']}") . '" target="_blank">' . lang('home/template', 'user_edit') . '</a></li>'; } $html .= '</ul>'; if ($_G['adminid'] == 1) { $html .= '<ul id="umanageli_menu" class="p_pop" style="width: 80px; display:none;">'; $html .= '<li><a href="admin.php?action=threads&users=' . $encodeusername . '" target="_blank">' . lang('space', 'manage_post') . '</a></li>'; $html .= '<li><a href="admin.php?action=doing&searchsubmit=1&users=' . $encodeusername . '" target="_blank">' . lang('space', 'manage_doing') . '</a></li>'; $html .= '<li><a href="admin.php?action=blog&searchsubmit=1&uid=' . $uid . '" target="_blank">' . lang('space', 'manage_blog') . '</a></li>'; $html .= '<li><a href="admin.php?action=feed&searchsubmit=1&uid=' . $uid . '" target="_blank">' . lang('space', 'manage_feed') . '</a></li>'; $html .= '<li><a href="admin.php?action=album&searchsubmit=1&uid=' . $uid . '" target="_blank">' . lang('space', 'manage_album') . '</a></li>'; $html .= '<li><a href="admin.php?action=pic&searchsubmit=1&users=' . $encodeusername . '" target="_blank">' . lang('space', 'manage_pic') . '</a></li>'; $html .= '<li><a href="admin.php?action=comment&searchsubmit=1&authorid=' . $uid . '" target="_blank">' . lang('space', 'manage_comment') . '</a></li>'; $html .= '<li><a href="admin.php?action=share&searchsubmit=1&uid=' . $uid . '" target="_blank">' . lang('space', 'manage_share') . '</a></li>'; $html .= '<li><a href="admin.php?action=threads&operation=group&users=' . $encodeusername . '" target="_blank">' . lang('space', 'manage_group_threads') . '</a></li>'; $html .= '<li><a href="admin.php?action=prune&searchsubmit=1&operation=group&users=' . $encodeusername . '" target="_blank">' . lang('space', 'manage_group_prune') . '</a></li>'; $html .= '</ul>'; } } if ($_G['setting']['magicstatus'] && $_G['setting']['magics']['gift']) { $info = !empty($space['magicgift']) ? unserialize($space['magicgift']) : array(); if ($space['self']) { } elseif ($info) { if ($info['left'] && !in_array($_G['uid'], (array) $info['receiver'])) { $percredit = min($info['percredit'], $info['left']); if ($info['credittype'] == 'credits') { $credittype = lang('core', 'title_credit'); } else { $extcredits = str_replace('extcredits', '', $info['credittype']); $credittype = $_G['setting']['extcredits'][$extcredits]['title']; } $html .= '<div id="magicreceivegift">'; $html .= '<a onclick="showWindow(\'magicgift\', this.href, \'get\', 0)" href="home.php?mod=spacecp&ac=magic&op=receivegift&uid=' . $uid . '" title="' . lang('magic/gift', 'gift_receive_gift', array('percredit' => $percredit, 'credittype' => $credittype)) . '">'; $html .= '<img src="' . STATICURL . 'image/magic/gift.gif" alt="gift" />'; $html .= '</a>'; $html .= '</div>'; } } } $html = '<div id="pcd">' . $html . '</div>'; break; case 'statistic': space_merge($space, 'count'); $html .= '<p class="mbm xw1">'; if (empty($parameters['banviews'])) { $html .= lang('space', 'space_views', array('views' => $space['views'] ? $space['views'] : '--')); } $html .= '</p><ul class="xl xl2 cl">'; if (empty($parameters['bancredits'])) { $html .= "<li>" . lang('space', 'credits') . ': <a href="home.php?mod=spacecp&ac=credit">' . ($space['credits'] ? $space['credits'] : '--') . "</a></li>"; foreach ($_G['setting']['extcredits'] as $extcreditid => $extcredit) { $html .= "<li>" . $extcredit['img'] . $extcredit['title'] . ': <a href="home.php?mod=spacecp&ac=credit">' . ($space['extcredits' . $extcreditid] ? $space['extcredits' . $extcreditid] : '--') . '</a>'; } } if (empty($parameters['banfriends'])) { $html .= "<li>" . lang('space', 'friends') . ': <a href="home.php?mod=space&uid=' . $uid . '&do=friend&view=me&from=space">' . ($space['friends'] ? $space['friends'] : '--') . "</a></li>"; } if (empty($parameters['banthreads']) && $_G['setting']['allowviewuserthread'] !== false || $_G['adminid'] == 1) { $html .= "<li>" . lang('space', 'threads') . ': <a href="home.php?mod=space&uid=' . $uid . '&do=thread&view=me&from=space">' . ($space['threads'] ? $space['threads'] : '--') . "</a></li>"; } if (empty($parameters['banblogs'])) { $html .= "<li>" . lang('space', 'blogs') . ': <a href="home.php?mod=space&uid=' . $uid . '&do=blog&view=me&from=space">' . ($space['blogs'] ? $space['blogs'] : '--') . "</a></li>"; } if (empty($parameters['banalbums'])) { $html .= "<li>" . lang('space', 'albums') . ': <a href="home.php?mod=space&uid=' . $uid . '&do=album&view=me&from=space">' . ($space['albums'] ? $space['albums'] : '--') . "</a></li>"; } if (empty($parameters['bansharings'])) { $html .= "<li>" . lang('space', 'sharings') . ': <a href="home.php?mod=space&uid=' . $uid . '&do=share&view=me&from=space">' . ($space['sharings'] ? $space['sharings'] : '--') . "</a></li>"; } $html .= '</ul>'; $html = '<div id="pcd">' . $html . '</div>'; break; case 'doing': $do = $blockname; if (ckprivacy('doing', 'view')) { $dolist = array(); $sql = "SELECT * FROM " . DB::table('home_doing') . " WHERE uid='{$uid}' ORDER BY dateline DESC LIMIT 0,{$shownum}"; $query = DB::query($sql); while ($value = DB::fetch($query)) { if ($value['status'] == 0 || $value['uid'] == $_G['uid']) { $dolist[] = $value; } } if ($dolist) { foreach ($dolist as $dv) { $doid = $dv['doid']; $_G[gp_key] = $key = random(8); $html .= "<li class=\"pbn bbda\">"; $html .= $dv['message']; $html .= " <a href=\"home.php?mod=space&uid={$dv['uid']}&do=doing&view=me&from=space&doid={$dv['doid']}\" target=\"_blank\" class=\"xg1\">" . lang('space', 'block_doing_reply') . "</a>"; $html .= "</li>"; } } else { $html .= "<p class=\"emp\">" . lang('space', 'block_doing_no_content') . "</p>"; } } else { $html .= "<p class=\"emp\">" . lang('space', 'block_view_noperm') . "</p>"; } $html = '<ul class="xl">' . $html . '</ul>'; break; case 'blog': $do = $blockname; $query = DB::query("SELECT bf.*, b.* FROM " . DB::table('home_blog') . " b\r\n\t\t\t\tLEFT JOIN " . DB::table('home_blogfield') . " bf ON bf.blogid=b.blogid\r\n\t\t\t\tWHERE b.uid='{$uid}'\r\n\t\t\t\tORDER BY b.dateline DESC LIMIT 0,{$shownum}"); while ($value = DB::fetch($query)) { if (ckfriend($value['uid'], $value['friend'], $value['target_ids'])) { if ($value['pic']) { $value['pic'] = pic_cover_get($value['pic'], $value['picflag']); } $value['message'] = $value['friend'] == 4 ? '' : getstr($value['message'], 150, 0, 0, 0, -1); $html .= lang('space', 'blog_li', array('uid' => $value['uid'], 'blogid' => $value['blogid'], 'subject' => $value['subject'], 'date' => dgmdate($value['dateline'], 'Y-m-d'))); if (!isset($parameters['showmessage'])) { $parameters['showmessage'] = true; } if ($parameters['showmessage']) { if ($value['pic']) { $html .= lang('space', 'blog_li_img', array('uid' => $value['uid'], 'blogid' => $value['blogid'], 'src' => $value['pic'])); } $html .= "<dd>{$value['message']}</dd>"; } $html .= lang('space', 'blog_li_ext', array('uid' => $value['uid'], 'blogid' => $value['blogid'], 'viewnum' => $value['viewnum'], 'replynum' => $value['replynum'])); $html .= "</dl>"; } else { $html .= '<p>' . lang('space', 'block_view_noperm') . '</p>'; } } $more = $html ? '<p class="ptm" style="text-align: right;"><a href="home.php?mod=space&uid=' . $uid . '&do=blog&view=me&from=space">' . lang('space', 'viewmore') . '</a></p>' : ''; $contentclassname = ' xld'; $html = $html . $more; break; case 'album': $do = $blockname; if (ckprivacy('album', 'view')) { $query = DB::query("SELECT * FROM " . DB::table('home_album') . " WHERE uid='{$uid}' ORDER BY updatetime DESC LIMIT 0,{$shownum}"); while ($value = DB::fetch($query)) { if (ckfriend($value['uid'], $value['friend'], $value['target_ids'])) { $value['pic'] = pic_cover_get($value['pic'], $value['picflag']); $html .= lang('space', 'album_li', array('albumid' => $value['albumid'], 'src' => $value['pic'], 'albumname' => $value['albumname'], 'uid' => $value['uid'], 'picnum' => $value['picnum'], 'date' => dgmdate($value['updatetime'], 'n-j'))); } } } else { $html .= '<li>' . lang('space', 'block_view_noperm') . '</li>'; } $html = '<ul class="ml mla cl">' . $html . '</ul>'; break; case 'feed': $do = $blockname; if (!IS_ROBOT && ckprivacy('feed', 'view')) { require_once libfile('function/feed'); $query = DB::query("SELECT * FROM " . DB::table('home_feed') . " WHERE uid='{$uid}' ORDER BY dateline DESC LIMIT 0,{$shownum}"); while ($value = DB::fetch($query)) { if (ckfriend($value['uid'], $value['friend'], $value['target_ids'])) { $html .= mkfeedhtml(mkfeed($value)); } } } $contenttagname = 'ul'; $contentclassname = ' el'; $html = empty($html) ? '' : $html; break; case 'thread': $do = $blockname; if ($_G['setting']['allowviewuserthread'] !== false) { $fidsql = empty($_G['setting']['allowviewuserthread']) ? '' : " AND fid IN({$_G[setting][allowviewuserthread]}) "; $query = DB::query("SELECT * FROM " . DB::table('forum_thread') . " WHERE authorid='{$uid}' {$fidsql} AND displayorder>='0' ORDER BY tid DESC LIMIT 0,{$shownum}"); while ($thread = DB::fetch($query)) { if ($thread['author']) { $html .= "<li><a href=\"forum.php?mod=viewthread&tid={$thread['tid']}\" target=\"_blank\">{$thread['subject']}</a></li>"; } } } $html = empty($html) ? '' : '<ul class="xl">' . $html . '</ul>'; break; case 'friend': $do = $blockname; require_once libfile('function/friend'); $friendlist = array(); $friendlist = friend_list($uid, $shownum); $fuids = array_keys($friendlist); getonlinemember($fuids); foreach ($friendlist as $key => $value) { $classname = $_G['ols'][$value['fuid']] ? 'gol' : ''; $html .= '<li><a href="home.php?mod=space&uid=' . $value['fuid'] . '" target="_blank"><em class="' . $classname . '"></em>' . avatar($value['fuid'], 'small') . '</a><p><a href="home.php?mod=space&uid=' . $value[fuid] . '" target="_blank">' . $value['fusername'] . '</a></p></li>'; } $html = '<ul class="ml mls cl">' . $html . '</ul>'; break; case 'visitor': $do = 'friend'; $view = 'visitor'; $query = DB::query("SELECT * FROM " . DB::table('home_visitor') . " WHERE uid='{$uid}' ORDER BY dateline DESC LIMIT 0,{$shownum}"); $list = $fuids = array(); while ($value = DB::fetch($query)) { $list[] = $value; $fuids[] = $value['vuid']; } getonlinemember($fuids); foreach ($list as $value) { $html .= "<li>"; if ($value['vusername'] == '') { $html .= lang('space', 'visitor_anonymity'); } else { $html .= lang('space', 'visitor_list', array('uid' => $value['vuid'], 'username' => $value['vusername'], 'class' => $_G['ols'][$value['vuid']] ? 'gol' : '', 'avatar' => avatar($value['vuid'], 'small'))); } $html .= "<span class=\"xg2\">" . dgmdate($value['dateline'], 'u', '9999', 'Y-m-d') . "</span>"; $html .= "</li>"; } $html = '<ul class="ml mls cl">' . $html . '</ul>'; break; case 'share': $do = $blockname; if (!IS_ROBOT && ckprivacy('share', 'view')) { require_once libfile('function/share'); $query = DB::query("SELECT * FROM " . DB::table('home_share') . " WHERE uid='{$uid}' ORDER BY dateline DESC LIMIT 0,{$shownum}"); while ($value = DB::fetch($query)) { $value = mkshare($value); $html .= '<li><em><a href="home.php?mod=space&uid=' . $value['uid'] . '&do=share&id=' . $value['sid'] . '">' . $value['title_template'] . '</a>(' . dgmdate($value['dateline'], 'u') . ')</em><div class="ec cl">'; if ($value['image']) { $html .= '<a href="' . $value['image_link'] . '" target="_blank"><img src="' . $value['image'] . '" class="tn" alt="" /></a>'; } $html .= '<div class="d">' . $value['body_template'] . '</div>'; if ($value['type'] == 'video') { if (!empty($value['body_data']['imgurl'])) { $html .= '<table class="mtm" title="' . lang('space', 'click_play') . '" onclick="javascript:showFlash(\'' . $value['body_data']['host'] . '\', \'' . $value['body_data']['flashvar'] . '\', this, \'' . $value['sid'] . '\');"><tr><td class="vdtn hm" style="background: url(' . $value['body_data']['imgurl'] . ') no-repeat"><img src="' . STATICURL . '/image/common/vds.png" alt="' . lang('space', 'click_play') . '" /></td></tr></table>'; } else { $html .= "<img src=\"" . STATICURL . "/image/common/vd.gif\" alt=\"" . lang('space', 'click_play') . "\" onclick=\"javascript:showFlash('{$value['body_data']['host']}', '{$value['body_data']['flashvar']}', this, '{$value['sid']}');\" class=\"tn\" />"; } } elseif ($value['type'] == 'music') { $html .= "<img src=\"" . STATICURL . "/image/common/music.gif\" alt=\"" . lang('space', 'click_play') . "\" onclick=\"javascript:showFlash('music', '{$value['body_data']['musicvar']}', this, '{$value['sid']}');\" class=\"tn\" />"; } elseif ($value['type'] == 'flash') { $html .= "<img src=\"" . STATICURL . "/image/common/flash.gif\" alt=\"" . lang('space', 'click_view') . "\" onclick=\"javascript:showFlash('flash', '{$value['body_data']['flashaddr']}', this, '{$value['sid']}');\" class=\"tn\" />"; } if ($value['body_general']) { $html .= '<div class="quote' . ($value['image'] ? 'z' : '') . "\"><blockquote>{$value['body_general']}</blockquote></div>"; } $html .= '</div></li>'; } $html = '<ul class="el">' . $html . '</ul>'; } break; case 'wall': $do = $blockname; $walllist = array(); if (ckprivacy('wall', 'view')) { $query = DB::query("SELECT * FROM " . DB::table('home_comment') . " WHERE id='{$uid}' AND idtype='uid' ORDER BY dateline DESC LIMIT 0,{$shownum}"); while ($value = DB::fetch($query)) { $value['message'] = strlen($value['message']) > 500 ? getstr($value['message'], 500, 0, 0, 0, -1) . ' ...' : $value['message']; if ($value['status'] == 0 || $value['authorid'] == $_G['uid']) { $walllist[] = $value; } } } $html = '<div class="xld xlda el" id="comment_ul">'; foreach ($walllist as $key => $value) { $op = ''; if ($value['author']) { $author_avatar = '<a href="home.php?mod=space&uid=' . $value['authorid'] . '" target="_blank">' . avatar($value['authorid'], 'small') . '</a>'; $author = '<a href="home.php?mod=space&uid=' . $value['authorid'] . '" id="author_' . $value['cid'] . '" target="_blank">' . $value['author'] . '</a>'; } else { $author_avatar = '<img src="static/image/magic/hidden.gif" alt="hidden" />'; $author = lang('space', 'hidden_username'); } if ($value['authorid'] == $_G['uid']) { $op .= lang('space', 'wall_edit', array('cid' => $value['cid'])); } if ($value['authorid'] == $_G['uid'] || $space['self'] || checkperm('managecomment')) { $op .= lang('space', 'wall_del', array('cid' => $value['cid'])); } if ($value['authorid'] != $_G['uid'] && ($value['idtype'] != 'uid' || $space['self'])) { $op .= lang('space', 'wall_reply', array('cid' => $value['cid'])); } $moderate_need = $value['status'] == 1 ? lang('template', 'moderate_need') : ''; $date = dgmdate($value['dateline'], 'u'); $replacearr = array('author' => $author, 'author_avatar' => $author_avatar, 'moderated' => $moderate_need, 'cid' => $value['cid'], 'message' => $value['message'], 'date' => $date, 'op' => $op); $html .= lang('space', 'wall_li', $replacearr); } if (!empty($walllist)) { $html .= lang('space', 'wall_more', array('uid' => $uid)); } $html .= '</div>'; $html = lang('space', 'wall_form', array('uid' => $uid, 'FORMHASH' => FORMHASH)) . '<hr class="da mtm m0">' . $html; $titlemore = '<span class="y xw0"><a href="home.php?mod=space&uid=' . $uid . '&do=wall">' . lang('space', 'all') . '</a></span>'; break; case 'group': $do = $blockname; $view = 'groupthread'; require_once libfile('function/group'); $grouplist = mygrouplist($uid, 'lastupdate', array('f.name', 'ff.icon'), $shownum); if (empty($grouplist)) { $grouplist = array(); } foreach ($grouplist as $groupid => $group) { $group['groupid'] = $groupid; $html .= lang('space', 'group_li', $group); } $html = '<ul class="ml mls cl">' . $html . '</ul>'; break; case 'music': if (!empty($parameters['mp3list'])) { $authcode = substr(md5($_G['authkey'] . $uid), 6, 16); $view = $_G['adminid'] == 1 && $_G['setting']['allowquickviewprofile'] ? '&view=admin' : ''; $querystring = urlencode("home.php?mod=space&uid={$uid}&do=index&op=getmusiclist&hash={$authcode}{$view}&t=" . TIMESTAMP); $swfurl = STATICURL . 'image/common/mp3player.swf?config=' . $querystring; if (empty($parameters['config']['height']) && $parameters['config']['height'] !== 0) { $parameters['config']['height'] = '200px'; } else { $parameters['config']['height'] .= 'px'; } $html = "<script language=\"javascript\" type=\"text/javascript\">document.write(AC_FL_RunContent('id', 'mp3player', 'name', 'mp3player', 'devicefont', 'false', 'width', '100%', 'height', '" . $parameters['config']['height'] . "', 'src', '{$swfurl}', 'menu', 'false', 'allowScriptAccess', 'sameDomain', 'swLiveConnect', 'true', 'wmode', 'transparent'));</script>"; } else { $html = lang('space', 'music_no_content'); } $html = '<div class="ml mls cl">' . $html . '</div>'; break; default: if ($space['self']) { $_G['space_group'] = $_G['group']; } elseif (empty($_G['space_group'])) { $_G['space_group'] = DB::fetch_first("SELECT * FROM " . DB::table('common_usergroup_field') . " WHERE groupid='{$space['groupid']}'"); } require_once libfile('function/discuzcode'); if ($_G['space_group']['allowspacediyimgcode']) { if (empty($_G['cache']['smilies']['loaded'])) { loadcache(array('smilies', 'smileytypes')); foreach ($_G['cache']['smilies']['replacearray'] as $skey => $smiley) { $_G['cache']['smilies']['replacearray'][$skey] = '[img]' . $_G['siteurl'] . 'static/image/smiley/' . $_G['cache']['smileytypes'][$_G['cache']['smilies']['typearray'][$skey]]['directory'] . '/' . $smiley . '[/img]'; } $_G['cache']['smilies']['loaded'] = 1; } $parameters['content'] = preg_replace($_G['cache']['smilies']['searcharray'], $_G['cache']['smilies']['replacearray'], censor(trim($parameters['content']))); } if ($_G['space_group']['allowspacediybbcode'] || $_G['space_group']['allowspacediyimgcode'] || $_G['space_group']['allowspacediyhtml']) { $parameters['content'] = discuzcode($parameters['content'], 1, 0, 1, 0, $_G['space_group']['allowspacediybbcode'], $_G['space_group']['allowspacediyimgcode'], $_G['space_group']['allowspacediyhtml']); } else { $parameters['content'] = dhtmlspecialchars($parameters['content']); } $parameters['content'] = nl2br($parameters['content']); if (empty($parameters['content'])) { $parameters['content'] = lang('space', $blockname); } $html .= $parameters['content']; break; } if ($_G['setting']['allowviewuserthread'] === false && $blockname == 'thread') { $html = ''; } else { if (isset($parameters['title'])) { if (empty($parameters['title'])) { $title = ''; } else { $view = $view === false ? '' : ($view == '' ? '&view=me' : '&view=' . $view); $bnamelink = $do ? '<a href="home.php?mod=space&uid=' . $uid . '&do=' . $do . $view . '">' . stripslashes($parameters['title']) . '</a>' : stripslashes($parameters['title']); $title = lang('space', 'block_title', array('bname' => $bnamelink, 'more' => $titlemore)); } } else { $view = $view === false ? '' : ($view == '' ? '&view=me' : '&view=' . $view); $bnamelink = $do ? '<a href="home.php?mod=space&uid=' . $uid . '&do=' . $do . $view . '">' . getblockdata($blockname) . '</a>' : getblockdata($blockname); $title = lang('space', 'block_title', array('bname' => $bnamelink, 'more' => $titlemore)); } $html = $title . '<' . $contenttagname . ' id="' . $blockname . '_content" class="content' . $contentclassname . '">' . $html . '</' . $contenttagname . '>'; } return $html; }
private function _userFriendSetting($res, $uid, $gid, $note) { global $_G; require_once libfile('function/friend'); require_once libfile('function/spacecp'); require_once libfile('function/home'); if (!checkperm('allowfriend')) { return $this->makeErrorInfo($res, 'no_privilege_addfriend'); } if ($uid == $_G['uid']) { return $this->makeErrorInfo($res, 'friend_self_error'); } if (friend_check($uid)) { return $this->makeErrorInfo($res, 'you_have_friends'); } $tospace = getuserbyuid($uid); if (empty($tospace)) { return $this->makeErrorInfo($res, 'space_does_not_exist'); } if (isblacklist($tospace['uid'])) { return $this->makeErrorInfo($res, 'is_blacklist'); } // $res['body']['gidInfo'] = $this->_getFriendGroupList(); space_merge($space, 'count'); space_merge($space, 'field_home'); $maxfriendnum = checkperm('maxfriendnum'); if ($maxfriendnum && $space['friends'] >= $maxfriendnum + $space['addfriend']) { if ($_G['magic']['friendnum']) { return $this->makeErrorInfo($res, 'enough_of_the_number_of_friends_with_magic'); } else { return $this->makeErrorInfo($res, 'enough_of_the_number_of_friends'); } } if (friend_request_check($uid)) { // if(submitcheck('add2submit')) { $_POST['gid'] = intval($gid); friend_add($uid, $uid); if (ckprivacy('friend', 'feed')) { require_once libfile('function/feed'); feed_add('friend', 'feed_friend_title', array('touser' => "<a href=\"home.php?mod=space&uid={$tospace['uid']}\">{$tospace['username']}</a>")); } notification_add($uid, 'friend', 'friend_add'); // showmessage('friends_add', dreferer(), array('username' => $tospace['username'], 'uid'=>$uid, 'from' => $_GET['from']), array('showdialog'=>1, 'showmsg' => true, 'closetime' => true)); return $this->makeErrorInfo($res, 'friends_add', array('{username}' => $tospace['username'])); // } // $op = 'add2'; // $groupselect = empty($space['privacy']['groupname']) ? array(1 => ' checked') : array(); // $navtitle = lang('core', 'title_friend_add'); // include template('home/spacecp_friend'); // exit(); } else { if (C::t('home_friend_request')->count_by_uid_fuid($uid, $_G['uid'])) { return $this->makeErrorInfo($res, 'waiting_for_the_other_test'); } $_POST['gid'] = $gid; $_POST['note'] = censor(htmlspecialchars(cutstr($note, strtolower(CHARSET) == 'utf-8' ? 30 : 20, ''))); friend_add($uid, $_POST['gid'], $_POST['note']); $note = array('uid' => $_G['uid'], 'url' => 'home.php?mod=spacecp&ac=friend&op=add&uid=' . $_G['uid'] . '&from=notice', 'from_id' => $_G['uid'], 'from_idtype' => 'friendrequest', 'note' => !empty($_POST['note']) ? lang('spacecp', 'friend_request_note', array('note' => $_POST['note'])) : ''); notification_add($uid, 'friend', 'friend_request', $note); require_once libfile('function/mail'); $values = array('username' => $tospace['username'], 'url' => getsiteurl() . 'home.php?mod=spacecp&ac=friend&op=request'); sendmail_touser($uid, lang('spacecp', 'friend_subject', $values), '', 'friend_add'); return $this->makeErrorInfo($res, 'request_has_been_sent'); } return $res; }
function getblockhtml($blockname, $parameters = array()) { global $_G, $space; $parameters = empty($parameters) ? array() : $parameters; $list = array(); $sql = $title = $html = $wheresql = $ordersql = $titlemore = $do = $contentclassname = ''; $view = $from = false; $contenttagname = 'div'; $shownum = 6; $uid = intval($space['uid']); $shownum = empty($parameters['shownum']) ? $shownum : intval($parameters['shownum']); switch ($blockname) { case 'personalinfo': $do = 'profile'; space_merge($space, 'profile'); require_once libfile('function/friend'); $isfriend = friend_check($space['uid']); require_once libfile('function/spacecp'); loadcache('profilesetting'); include_once libfile('function/profile'); $profiles = array(); $privacy = $space['privacy']['profile'] ? $space['privacy']['profile'] : array(); foreach ($_G['cache']['profilesetting'] as $fieldid => $field) { if (!$field['available'] || in_array($fieldid, array('birthprovince', 'birthdist', 'birthcommunity', 'resideprovince', 'residedist', 'residecommunity'))) { continue; } if ($field['available'] && $field['invisible'] != '1' && strlen($space[$fieldid]) > 0 && ($field['showinthread'] || $field['showincard'] || ($space['self'] || empty($privacy[$fieldid]) || $isfriend && $privacy[$fieldid] == 1))) { $val = profile_show($fieldid, $space); if ($val !== false) { if ($fieldid == 'realname' && $_G['uid'] != $space['uid'] && !ckrealname(1)) { continue; } if ($field['formtype'] == 'file' && $val) { $imgurl = getglobal('setting/attachurl') . './profile/' . $val; $val = '<span><a href="' . $imgurl . '" target="_blank"><img src="' . $imgurl . '" style="max-width: 300px;" /></a></span>'; } if ($val == '') { $val = ''; } $html .= '<li><em>' . $field['title'] . '</em>' . $val . '</li>'; } } } $html = $html ? $html : '<li>' . lang('space', 'block_view_profileinfo_noperm') . '</li>'; $html = '<ul id="pprl" class="mbm pbm bbda cl">' . $html . $more . '</ul>'; $more = lang('space', 'block_profile_all', array('uid' => $uid)); $html = $html . $more; $titlemore = $space['self'] ? lang('space', 'block_profile_edit') : ''; break; case 'profile': $do = $blockname; $managehtml = ''; $avatar = empty($parameters['banavatar']) ? 'middle' : $parameters['banavatar']; $html .= "<div class=\"hm\"><p><a href=\"home.php?mod=space&uid={$uid}\" target=\"_blank\">" . avatar($uid, $avatar) . '</a></p>'; $memberfieldforum = C::t('common_member_field_forum')->fetch($space['uid']); $space['medals'] = $memberfieldforum['medals']; unset($memberfieldforum); $usermedals = $medal_detial = $usermedalmenus = ''; if ($space['medals']) { loadcache('medals'); foreach ($space['medals'] = explode("\t", $space['medals']) as $key => $medalid) { list($medalid, $medalexpiration) = explode("|", $medalid); if (isset($_G['cache']['medals'][$medalid]) && (!$medalexpiration || $medalexpiration > TIMESTAMP)) { $usermedals .= '<img src="' . STATICURL . 'image/common/' . $_G['cache']['medals'][$medalid]['image'] . '" id="md_' . $medalid . '" alt="' . $_G['cache']['medals'][$medalid]['name'] . '\'" onmouseover="showMenu({\'ctrlid\':this.id, \'menuid\':\'md_' . $medalid . '_menu\', \'pos\':\'12!\'});" /> '; $usermedalmenus .= ' <div id="md_' . $medalid . '_menu" class="tip tip_4" style="display: none;"> <div class="tip_horn"></div> <div class="tip_c"> <h4>' . $_G['cache']['medals'][$medalid]['name'] . '</h4> <p>' . $_G['cache']['medals'][$medalid]['description'] . '</p> </div> </div>'; } } if ($usermedals) { $usermedals = '<p class="md_ctrl"><a href="home.php?mod=medal">' . $usermedals . '</a></p>' . $usermedalmenus; } } $html .= "<h2 class=\"mbn\"><a href=\"home.php?mod=space&uid={$uid}\" target=\"_blank\">" . $space['username'] . "</a></h2>{$usermedals}"; $html .= '</div><ul class="xl xl2 cl ul_list">'; $magicinfo = $showmagicgift = false; if ($_G['setting']['magicstatus'] && $_G['setting']['magics']['gift']) { $showmagicgift = true; $magicinfo = !empty($space['magicgift']) ? dunserialize($space['magicgift']) : array(); } if (helper_access::check_module('follow')) { $html .= '<li class="ul_broadcast"><a href="home.php?mod=space&uid=' . $uid . '">' . lang('space', 'block_profile_follow') . '</a></li>'; } if ($space['self']) { $html .= '<li class="ul_diy"><a href="home.php?mod=space&do=index&diy=yes">' . lang('space', 'block_profile_diy') . '</a></li>'; $html .= '<li class="ul_msg"><a href="home.php?mod=space&uid=' . $uid . '&do=wall">' . lang('space', 'block_profile_wall') . '</a></li>'; $html .= '<li class="ul_avt"><a href="home.php?mod=spacecp&ac=avatar">' . lang('space', 'block_profile_avatar') . '</a></li>'; $html .= '<li class="ul_profile"><a href="home.php?mod=spacecp&ac=profile">' . lang('space', 'block_profile_update') . '</a></li>'; if ($showmagicgift) { $html .= '<li class="ul_magicgift"><div style="' . 'background: url(' . STATICURL . 'image/magic/gift.small.gif) no-repeat 0 50%;' . '">'; if ($magicinfo) { $html .= '<a onclick="showWindow(\'magicgift\', this.href, \'get\', 0)" href="home.php?mod=spacecp&ac=magic&op=retiregift">' . lang('magic/gift', 'gift_gc') . '</a>'; } else { $html .= '<a onclick="showWindow(\'magicgift\', this.href, \'get\', 0)" href="home.php?mod=magic&mid=gift">' . lang('magic/gift', 'gift_use') . '</a>'; } $html .= '</div></li>'; } } else { require_once libfile('function/friend'); $isfriend = friend_check($uid); $follow = C::t('home_follow')->fetch_by_uid_followuid($_G['uid'], $uid); if ($follow) { $html .= "<li class='ul_flw'><a href=\"home.php?mod=spacecp&ac=follow&op=del&fuid={$space['uid']}\" id=\"followmod\" onclick=\"showWindow(this.id, this.href, 'get', 0);\">" . lang('space', 'follow_cancle_follow') . "</a></li>"; } else { $html .= "<li class='ul_flw'><a href=\"home.php?mod=spacecp&ac=follow&op=add&hash=" . FORMHASH . "&fuid={$space['uid']}\" id=\"followmod\" onclick=\"showWindow(this.id, this.href, 'get', 0);\">" . lang('space', 'follow_follow_ta') . "</a></li>"; } if (!$isfriend) { $html .= "<li class='ul_add'><a href=\"home.php?mod=spacecp&ac=friend&op=add&uid={$space['uid']}&handlekey=addfriendhk_{$space[uid]}\" id=\"a_friend_li_{$space[uid]}\" onclick=\"showWindow(this.id, this.href, 'get', 0);\">" . lang('space', 'block_profile_friend_add') . "</a></li>"; } else { $html .= "<li class='ul_ignore'><a href=\"home.php?mod=spacecp&ac=friend&op=ignore&uid={$space['uid']}&handlekey=ignorefriendhk_{$space[uid]}\" id=\"a_ignore_{$space[uid]}\" onclick=\"showWindow(this.id, this.href, 'get', 0);\">" . lang('space', 'block_profile_friend_ignore') . "</a></li>"; } $html .= "<li class='ul_msg'><a href=\"home.php?mod=space&uid={$space['uid']}&do=wall\">" . lang('space', 'block_profile_wall_to_me') . "</a></li>"; $html .= "<li class='ul_poke'><a href=\"home.php?mod=spacecp&ac=poke&op=send&uid={$space['uid']}&handlekey=propokehk_{$space[uid]}\" id=\"a_poke_{$space[uid]}\" onclick=\"showWindow(this.id, this.href, 'get', 0);\">" . lang('space', 'block_profile_poke') . "</a></li>"; $html .= "<li class='ul_pm'><a href=\"home.php?mod=spacecp&ac=pm&op=showmsg&handlekey=showmsg_{$space['uid']}&touid={$space['uid']}&pmid=0&daterange=2\" id=\"a_sendpm_{$space['uid']}\" onclick=\"showWindow('showMsgBox', this.href, 'get', 0)\">" . lang('space', 'block_profile_sendmessage') . "</a></li>"; } $html .= '</ul>'; $encodeusername = rawurlencode($space['username']); if (checkperm('allowbanuser')) { $managehtml .= '<li><a href="' . ($_G['adminid'] == 1 ? "admin.php?action=members&operation=ban&username={$encodeusername}&frames=yes" : "forum.php?mod=modcp&action=member&op=ban&uid={$space['uid']}") . '" id="usermanageli" onmouseover="showMenu(this.id)" class="showmenu" target="_blank">' . lang('home/template', 'member_manage') . '</a></li>'; } elseif (checkperm('allowedituser')) { $managehtml .= '<li><a href="' . ($_G['adminid'] == 1 ? "admin.php?action=members&operation=search&username={$encodeusername}&submit=yes&frames=yes" : "forum.php?mod=modcp&action=member&op=edit&uid={$space['uid']}") . '" id="usermanageli" onmouseover="showMenu(this.id)" class="showmenu" target="_blank">' . lang('home/template', 'member_manage') . '</a></li>'; } if ($_G['adminid'] == 1) { $managehtml .= "<li><a href=\"forum.php?mod=modcp&action=thread&op=post&do=search&searchsubmit=1&users={$encodeusername}\" id=\"umanageli\" onmouseover=\"showMenu(this.id)\" class=\"showmenu\">" . lang('home/template', 'content_manage') . "</a></li>"; } if (!empty($managehtml)) { $html .= '<hr class="da mtn m0" /><ul class="ptn xl xl2 cl">' . $managehtml . '</ul><ul id="usermanageli_menu" class="p_pop" style="width: 80px; display:none;">'; if (checkperm('allowbanuser')) { $html .= '<li><a href="' . ($_G['adminid'] == 1 ? "admin.php?action=members&operation=ban&username={$encodeusername}&frames=yes" : "forum.php?mod=modcp&action=member&op=ban&uid={$space['uid']}") . '" target="_blank">' . lang('home/template', 'user_ban') . '</a></li>'; } if (checkperm('allowedituser')) { $html .= '<li><a href="' . ($_G['adminid'] == 1 ? "admin.php?action=members&operation=search&username={$encodeusername}&submit=yes&frames=yes" : "forum.php?mod=modcp&action=member&op=edit&uid={$space['uid']}") . '" target="_blank">' . lang('home/template', 'user_edit') . '</a></li>'; } $html .= '</ul>'; if ($_G['adminid'] == 1) { $html .= '<ul id="umanageli_menu" class="p_pop" style="width: 80px; display:none;">'; $html .= '<li><a href="forum.php?mod=modcp&action=thread&op=post&searchsubmit=1&do=search&users=' . $encodeusername . '" target="_blank">' . lang('space', 'manage_post') . '</a></li>'; $html .= '<li><a href="admin.php?action=doing&searchsubmit=1&detail=1&search=true&fromumanage=1&users=' . $encodeusername . '" target="_blank">' . lang('space', 'manage_doing') . '</a></li>'; $html .= '<li><a href="admin.php?action=blog&searchsubmit=1&detail=1&search=true&fromumanage=1&uid=' . $uid . '" target="_blank">' . lang('space', 'manage_blog') . '</a></li>'; $html .= '<li><a href="admin.php?action=feed&searchsubmit=1&detail=1&fromumanage=1&uid=' . $uid . '" target="_blank">' . lang('space', 'manage_feed') . '</a></li>'; $html .= '<li><a href="admin.php?action=album&searchsubmit=1&detail=1&search=true&fromumanage=1&uid=' . $uid . '" target="_blank">' . lang('space', 'manage_album') . '</a></li>'; $html .= '<li><a href="admin.php?action=pic&searchsubmit=1&detail=1&search=true&fromumanage=1&users=' . $encodeusername . '" target="_blank">' . lang('space', 'manage_pic') . '</a></li>'; $html .= '<li><a href="admin.php?action=comment&searchsubmit=1&detail=1&fromumanage=1&authorid=' . $uid . '" target="_blank">' . lang('space', 'manage_comment') . '</a></li>'; $html .= '<li><a href="admin.php?action=share&searchsubmit=1&detail=1&search=true&fromumanage=1&uid=' . $uid . '" target="_blank">' . lang('space', 'manage_share') . '</a></li>'; $html .= '<li><a href="admin.php?action=threads&operation=group&searchsubmit=1&detail=1&search=true&fromumanage=1&users=' . $encodeusername . '" target="_blank">' . lang('space', 'manage_group_threads') . '</a></li>'; $html .= '<li><a href="admin.php?action=prune&operation=group&searchsubmit=1&detail=1&fromumanage=1&users=' . $encodeusername . '" target="_blank">' . lang('space', 'manage_group_prune') . '</a></li>'; $html .= '</ul>'; } } if ($_G['setting']['magicstatus'] && $_G['setting']['magics']['gift']) { $info = !empty($space['magicgift']) ? dunserialize($space['magicgift']) : array(); if ($space['self']) { } elseif ($info) { if ($info['left'] && !in_array($_G['uid'], (array) $info['receiver'])) { $percredit = min($info['percredit'], $info['left']); if ($info['credittype'] == 'credits') { $credittype = lang('core', 'title_credit'); } else { $extcredits = str_replace('extcredits', '', $info['credittype']); $credittype = $_G['setting']['extcredits'][$extcredits]['title']; } $html .= '<div id="magicreceivegift">'; $html .= '<a onclick="showWindow(\'magicgift\', this.href, \'get\', 0)" href="home.php?mod=spacecp&ac=magic&op=receivegift&uid=' . $uid . '" title="' . lang('magic/gift', 'gift_receive_gift', array('percredit' => $percredit, 'credittype' => $credittype)) . '">'; $html .= '<img src="' . STATICURL . 'image/magic/gift.gif" alt="gift" />'; $html .= '</a>'; $html .= '</div>'; } } } $html = '<div>' . $html . '</div>'; break; case 'statistic': space_merge($space, 'count'); $html .= '<p class="mbm xw1">'; if (empty($parameters['banviews'])) { $html .= lang('space', 'space_views', array('views' => $space['views'] ? $space['views'] : '--')); } $html .= '</p><ul class="xl xl2 cl">'; if (empty($parameters['bancredits'])) { $html .= "<li>" . lang('space', 'credits') . ': <a href="home.php?mod=spacecp&ac=credit">' . ($space['credits'] ? $space['credits'] : '--') . "</a></li>"; foreach ($_G['setting']['extcredits'] as $extcreditid => $extcredit) { $html .= "<li>" . ($extcredit['img'] ? $extcredit['img'] . ' ' : '') . $extcredit['title'] . ': <a href="home.php?mod=spacecp&ac=credit">' . ($space['extcredits' . $extcreditid] ? $space['extcredits' . $extcreditid] : '--') . '</a>'; } } if (empty($parameters['banfriends'])) { $html .= "<li>" . lang('space', 'friends') . ': <a href="home.php?mod=space&uid=' . $uid . '&do=friend&view=me&from=space">' . ($space['friends'] ? $space['friends'] : '--') . "</a></li>"; } if (empty($parameters['banthreads']) && $_G['setting']['allowviewuserthread'] !== -1 || $_G['adminid'] == 1) { $html .= "<li>" . lang('space', 'threads') . ': <a href="home.php?mod=space&uid=' . $uid . '&do=thread&view=me&from=space">' . ($space['threads'] ? $space['threads'] : '--') . "</a></li>"; } if (empty($parameters['banblogs'])) { $html .= "<li>" . lang('space', 'blogs') . ': <a href="home.php?mod=space&uid=' . $uid . '&do=blog&view=me&from=space">' . ($space['blogs'] ? $space['blogs'] : '--') . "</a></li>"; } if (empty($parameters['banalbums'])) { $html .= "<li>" . lang('space', 'albums') . ': <a href="home.php?mod=space&uid=' . $uid . '&do=album&view=me&from=space">' . ($space['albums'] ? $space['albums'] : '--') . "</a></li>"; } if (empty($parameters['bansharings'])) { $html .= "<li>" . lang('space', 'sharings') . ': <a href="home.php?mod=space&uid=' . $uid . '&do=share&view=me&from=space">' . ($space['sharings'] ? $space['sharings'] : '--') . "</a></li>"; } $html .= '</ul>'; $html = '<div>' . $html . '</div>'; break; case 'doing': $do = $blockname; $view = 'me'; $from = 'space'; if (ckprivacy('doing', 'view')) { $dolist = array(); $query = C::t('home_doing')->fetch_all_by_uid_doid(array($uid), '', 'dateline', 0, $shownum, false, true); foreach ($query as $value) { if ($value['status'] == 0 || $value['uid'] == $_G['uid']) { $dolist[] = $value; } } if ($dolist) { foreach ($dolist as $dv) { $doid = $dv['doid']; $_GET[key] = $key = random(8); $html .= "<li class=\"pbn bbda\">"; $html .= $dv['message']; $html .= " <a href=\"home.php?mod=space&uid={$dv['uid']}&do=doing&view=me&from=space&doid={$dv['doid']}\" target=\"_blank\" class=\"xg1\">" . lang('space', 'block_doing_reply') . "</a>"; $html .= "</li>"; } } else { $html .= "<p class=\"emp\">" . lang('space', 'block_doing_no_content') . ($space['self'] ? lang('space', 'block_doing_no_content_publish', $space) : '') . "</p>"; } } else { $html .= "<p class=\"emp\">" . lang('space', 'block_view_noperm') . "</p>"; } $html = '<ul class="xl">' . $html . '</ul>'; break; case 'stickblog': space_merge($space, 'profile'); $stickblogs = explode(',', $space['stickblogs']); if (!empty($stickblogs)) { $bids = array_slice($stickblogs, 0, $shownum); if (count($bids)) { if (!isset($parameters['showmessage'])) { $parameters['showmessage'] = 150; } $data_blog = C::t('home_blog')->fetch_all($bids); if ($parameters['showmessage'] > 0) { $data_blogfield = C::t('home_blogfield')->fetch_all($bids); } foreach ($data_blog as $curblogid => $value) { if (ckfriend($value['uid'], $value['friend'], $value['target_ids'])) { if ($parameters['showmessage'] > 0) { $value = array_merge($value, (array) $data_blogfield[$curblogid]); } if ($value['pic']) { $value['pic'] = pic_cover_get($value['pic'], $value['picflag']); } $value['message'] = $value['friend'] == 4 ? '' : getstr($value['message'], $parameters['showmessage'], 0, 0, 0, -1); $html .= lang('space', 'blog_li', array('uid' => $value['uid'], 'blogid' => $value['blogid'], 'subject' => $value['subject'], 'date' => dgmdate($value['dateline'], 'Y-m-d'))); if (!empty($parameters['showmessage'])) { if ($value['pic']) { $html .= lang('space', 'blog_li_img', array('uid' => $value['uid'], 'blogid' => $value['blogid'], 'src' => $value['pic'])); } $html .= "<dd>{$value['message']}</dd>"; } $html .= lang('space', 'blog_li_ext', array('uid' => $value['uid'], 'blogid' => $value['blogid'], 'viewnum' => $value['viewnum'], 'replynum' => $value['replynum'])); $html .= "</dl>"; } else { $html .= '<p>' . lang('space', 'block_view_noperm') . '</p>'; } } } } $more = $html ? '<p class="ptm" style="text-align: right;"><a href="home.php?mod=space&uid=' . $uid . '&do=blog&view=me&from=space">' . lang('space', 'viewmore') . '</a></p>' : ''; $contentclassname = ' xld'; $html = $html . $more; break; case 'blog': $do = $blockname; $view = 'me'; $from = 'space'; if (!isset($parameters['showmessage'])) { $parameters['showmessage'] = 150; } $data_blog = C::t('home_blog')->fetch_all_by_uid($uid, 'dateline', 0, $shownum); $blogids = array_keys($data_blog); $data_blogfield = C::t('home_blogfield')->fetch_all($blogids); foreach ($data_blog as $curblogid => $value) { if (ckfriend($value['uid'], $value['friend'], $value['target_ids'])) { $value = array_merge($value, (array) $data_blogfield[$curblogid]); if ($value['pic']) { $value['pic'] = pic_cover_get($value['pic'], $value['picflag']); } $value['message'] = $value['friend'] == 4 ? '' : getstr($value['message'], $parameters['showmessage'], 0, 0, 0, -1); $html .= lang('space', 'blog_li', array('uid' => $value['uid'], 'blogid' => $value['blogid'], 'subject' => $value['subject'], 'date' => dgmdate($value['dateline'], 'Y-m-d'))); if (!empty($parameters['showmessage'])) { if ($value['pic']) { $html .= lang('space', 'blog_li_img', array('uid' => $value['uid'], 'blogid' => $value['blogid'], 'src' => $value['pic'])); } $html .= "<dd>{$value['message']}</dd>"; } $html .= lang('space', 'blog_li_ext', array('uid' => $value['uid'], 'blogid' => $value['blogid'], 'viewnum' => $value['viewnum'], 'replynum' => $value['replynum'])); $html .= "</dl>"; } else { $html .= '<p>' . lang('space', 'block_view_noperm') . '</p>'; } } if ($html) { $more = '<p class="ptm" style="text-align: right;"><a href="home.php?mod=space&uid=' . $uid . '&do=blog&view=me&from=space">' . lang('space', 'viewmore') . '</a></p>'; } else { $html = '<p class="emp">' . lang('space', 'block_blog_no_content') . ($space['self'] ? lang('space', 'block_blog_no_content_publish', $space) : '') . '</p>'; $more = ''; } $contentclassname = ' xld'; $html = $html . $more; break; case 'album': $do = $blockname; $view = 'me'; $from = 'space'; if (ckprivacy('album', 'view')) { $query = C::t('home_album')->fetch_all_by_uid($uid, 'updatetime', 0, $shownum); foreach ($query as $value) { if (ckfriend($value['uid'], $value['friend'], $value['target_ids'])) { $value['pic'] = pic_cover_get($value['pic'], $value['picflag']); $html .= lang('space', 'album_li', array('albumid' => $value['albumid'], 'src' => $value['pic'], 'albumname' => $value['albumname'], 'uid' => $value['uid'], 'picnum' => $value['picnum'], 'date' => dgmdate($value['updatetime'], 'n-j'))); } } if (!$html) { $html = '<p class="emp">' . lang('space', 'block_album_no_content') . ($space['self'] ? lang('space', 'block_album_no_content_publish', $space) : '') . '</p>'; } } else { $html .= '<li>' . lang('space', 'block_view_noperm') . '</li>'; } $html = '<ul class="ml cl">' . $html . '</ul>'; break; case 'feed': $do = 'home'; $view = 'me'; $from = 'space'; if (!IS_ROBOT && ckprivacy('feed', 'view')) { require_once libfile('function/feed'); $query = C::t('home_feed')->fetch_all_by_uid_dateline($uid, false, 0, $shownum); foreach ($query as $value) { if (ckfriend($value['uid'], $value['friend'], $value['target_ids'])) { $html .= mkfeedhtml(mkfeed($value)); } } } $contenttagname = 'ul'; $contentclassname = ' el'; $html = !$html ? '<p class="emp">' . lang('space', 'block_feed_no_content') . '</p>' : $html; break; case 'thread': $do = $blockname; $view = 'me'; $from = 'space'; if ($_G['setting']['allowviewuserthread'] !== -1) { $fidsql = empty($_G['setting']['allowviewuserthread']) ? '' : " AND fid IN({$_G[setting][allowviewuserthread]}) "; $viewfids = str_replace("'", '', $_G['setting']['allowviewuserthread']); if (!empty($viewfids)) { $viewfids = explode(',', $viewfids); } foreach (C::t('forum_thread')->fetch_all_by_authorid_displayorder($uid, 0, '>=', null, '', 0, $shownum) as $thread) { if (!empty($viewfids) && $_G['adminid'] != 1 && !in_array($thread['fid'], $viewfids)) { continue; } if ($thread['author']) { $html .= "<li><a href=\"forum.php?mod=viewthread&tid={$thread['tid']}\" target=\"_blank\">{$thread['subject']}</a></li>"; } } } $html = !$html ? '<p class="emp">' . lang('space', 'block_thread_no_content') . ($space['self'] ? lang('space', 'block_thread_no_content_publish', $space) : '') . '</p>' : '<ul class="xl">' . $html . '</ul>'; break; case 'friend': $do = $blockname; $view = 'me'; $from = 'space'; require_once libfile('function/friend'); $friendlist = array(); $friendlist = friend_list($uid, $shownum); $fuids = array_keys($friendlist); getonlinemember($fuids); foreach ($friendlist as $key => $value) { $classname = $_G['ols'][$value['fuid']] ? 'gol' : ''; $html .= '<li><a href="home.php?mod=space&uid=' . $value['fuid'] . '" target="_blank" class="avt"><em class="' . $classname . '"></em>' . avatar($value['fuid'], 'small') . '</a><p><a href="home.php?mod=space&uid=' . $value[fuid] . '" target="_blank">' . $value['fusername'] . '</a></p></li>'; } $html = !$html ? '<p class="emp">' . lang('space', 'block_friend_no_content') . ($space['self'] ? lang('space', 'block_friend_no_content_publish', $space) : '') . '</p>' : '<ul class="ml mls cl">' . $html . '</ul>'; break; case 'visitor': if ($space['self']) { $do = 'friend'; $view = 'visitor'; } $list = $fuids = array(); foreach (C::t('home_visitor')->fetch_all_by_uid($uid, $shownum) as $value) { $list[] = $value; $fuids[] = $value['vuid']; } getonlinemember($fuids); foreach ($list as $value) { $html .= "<li>"; if ($value['vusername'] == '') { $html .= lang('space', 'visitor_anonymity'); } else { $html .= lang('space', 'visitor_list', array('uid' => $value['vuid'], 'username' => $value['vusername'], 'class' => $_G['ols'][$value['vuid']] ? 'gol' : '', 'avatar' => avatar($value['vuid'], 'small'))); } $html .= "<span class=\"xg2\">" . dgmdate($value['dateline'], 'u', '9999', 'Y-m-d') . "</span>"; $html .= "</li>"; } $html = !$html ? '<p class="emp">' . lang('space', 'block_visitor_no_content') . ($space['self'] ? lang('space', 'block_visitor_no_content_publish', $space) : '') . '</p>' : '<ul class="ml mls cl">' . $html . '</ul>'; break; case 'share': $do = $blockname; $view = 'me'; $from = 'space'; if (!IS_ROBOT && ckprivacy('share', 'view')) { require_once libfile('function/share'); foreach (C::t('home_share')->fetch_all_by_uid($uid, 0, $shownum) as $value) { $value = mkshare($value); $html .= '<li><em><a href="home.php?mod=space&uid=' . $value['uid'] . '&do=share&id=' . $value['sid'] . '">' . $value['title_template'] . '</a>(' . dgmdate($value['dateline'], 'u') . ')</em><div class="ec cl">'; if ($value['image']) { $html .= '<a href="' . $value['image_link'] . '" target="_blank"><img src="' . $value['image'] . '" class="tn" alt="" /></a>'; } $html .= '<div class="d">' . $value['body_template'] . '</div>'; if ($value['type'] == 'video') { if (!empty($value['body_data']['imgurl'])) { $html .= '<table class="mtm" title="' . lang('space', 'click_play') . '" onclick="javascript:showFlash(\'' . $value['body_data']['host'] . '\', \'' . $value['body_data']['flashvar'] . '\', this, \'' . $value['sid'] . '\');"><tr><td class="vdtn hm" style="background: url(' . $value['body_data']['imgurl'] . ') no-repeat"><img src="' . STATICURL . '/image/common/vds.png" alt="' . lang('space', 'click_play') . '" /></td></tr></table>'; } else { $html .= "<img src=\"" . STATICURL . "/image/common/vd.gif\" alt=\"" . lang('space', 'click_play') . "\" onclick=\"javascript:showFlash('{$value['body_data']['host']}', '{$value['body_data']['flashvar']}', this, '{$value['sid']}');\" class=\"tn\" />"; } } elseif ($value['type'] == 'music') { $html .= "<img src=\"" . STATICURL . "/image/common/music.gif\" alt=\"" . lang('space', 'click_play') . "\" onclick=\"javascript:showFlash('music', '{$value['body_data']['musicvar']}', this, '{$value['sid']}');\" class=\"tn\" />"; } elseif ($value['type'] == 'flash') { $html .= "<img src=\"" . STATICURL . "/image/common/flash.gif\" alt=\"" . lang('space', 'click_view') . "\" onclick=\"javascript:showFlash('flash', '{$value['body_data']['flashaddr']}', this, '{$value['sid']}');\" class=\"tn\" />"; } if ($value['body_general']) { $html .= '<div class="quote' . ($value['image'] ? 'z' : '') . "\"><blockquote>{$value['body_general']}</blockquote></div>"; } $html .= '</div></li>'; } $html = !$html ? '<p class="emp">' . lang('space', 'block_share_no_content') . '</p>' : '<ul class="el">' . $html . '</ul>'; } break; case 'wall': $do = $blockname; $walllist = array(); if (ckprivacy('wall', 'view')) { $query = C::t('home_comment')->fetch_all_by_id_idtype($uid, 'uid', 0, $shownum, '', 'DESC'); foreach ($query as $value) { $value['message'] = strlen($value['message']) > 500 ? getstr($value['message'], 500, 0, 0, 0, -1) . ' ...' : $value['message']; if ($value['status'] == 0 || $value['authorid'] == $_G['uid']) { $walllist[] = $value; } } } foreach ($walllist as $key => $value) { $op = ''; if ($value['author']) { $author_avatar = '<a href="home.php?mod=space&uid=' . $value['authorid'] . '" target="_blank">' . avatar($value['authorid'], 'small') . '</a>'; $author = '<a href="home.php?mod=space&uid=' . $value['authorid'] . '" id="author_' . $value['cid'] . '" target="_blank">' . $value['author'] . '</a>'; } else { $author_avatar = '<img src="static/image/magic/hidden.gif" alt="hidden" />'; $author = $_G['setting']['anonymoustext']; } if ($value['authorid'] == $_G['uid']) { $op .= lang('space', 'wall_edit', array('cid' => $value['cid'])); } if ($value['authorid'] == $_G['uid'] || $space['self'] || checkperm('managecomment')) { $op .= lang('space', 'wall_del', array('cid' => $value['cid'])); } if ($value['authorid'] != $_G['uid'] && ($value['idtype'] != 'uid' || $space['self'])) { $op .= lang('space', 'wall_reply', array('cid' => $value['cid'])); } $moderate_need = $value['status'] == 1 ? lang('template', 'moderate_need') : ''; $date = dgmdate($value['dateline'], 'u'); $replacearr = array('author' => $author, 'author_avatar' => $author_avatar, 'moderated' => $moderate_need, 'cid' => $value['cid'], 'message' => $value['message'], 'date' => $date, 'op' => $op); $html .= lang('space', 'wall_li', $replacearr); } $html = !empty($walllist) ? $html . lang('space', 'wall_more', array('uid' => $uid)) : '<p class="emp">' . lang('space', 'block_wall_no_content') . '</p>'; $html = '<div class="xld xlda el" id="comment_ul">' . $html . '</div>'; if (helper_access::check_module('wall')) { $html = lang('space', 'wall_form', array('uid' => $uid, 'FORMHASH' => FORMHASH)) . '<hr class="da mtm m0">' . $html; } $titlemore = '<span class="y xw0"><a href="home.php?mod=space&uid=' . $uid . '&do=wall">' . lang('space', 'all') . '</a></span>'; break; case 'group': require_once libfile('function/group'); $grouplist = mygrouplist($uid, 'lastupdate', array('f.name', 'ff.icon'), $shownum); if (empty($grouplist)) { $grouplist = array(); } foreach ($grouplist as $groupid => $group) { $group['groupid'] = $groupid; $html .= lang('space', 'group_li', $group); } $html = !$html ? '<p class="emp">' . lang('space', 'block_group_no_content') . ($space['self'] ? lang('space', $_G['group']['allowbuildgroup'] ? 'block_group_no_content_publish' : 'block_group_no_content_join', $space) : '') . '</p>' : '<ul class="ml mls cl">' . $html . '</ul>'; break; case 'music': if (!empty($parameters['mp3list'])) { $authcode = substr(md5($_G['authkey'] . $uid), 6, 16); $view = $_G['adminid'] == 1 && $_G['setting']['allowquickviewprofile'] ? '&view=admin' : ''; $querystring = urlencode("home.php?mod=space&uid={$uid}&do=index&op=getmusiclist&hash={$authcode}{$view}&t=" . TIMESTAMP); $swfurl = STATICURL . 'image/common/mp3player.swf?config=' . $querystring; if (empty($parameters['config']['height']) && $parameters['config']['height'] !== 0) { $parameters['config']['height'] = '200px'; } else { $parameters['config']['height'] .= 'px'; } $html = "<script language=\"javascript\" type=\"text/javascript\">document.write(AC_FL_RunContent('id', 'mp3player', 'name', 'mp3player', 'devicefont', 'false', 'width', '100%', 'height', '" . $parameters['config']['height'] . "', 'src', '{$swfurl}', 'menu', 'false', 'allowScriptAccess', 'sameDomain', 'swLiveConnect', 'true', 'wmode', 'transparent'));</script>"; } else { $html = lang('space', 'music_no_content'); } $html = '<div class="ml mls cl">' . $html . '</div>'; break; case 'myapp': $html = ''; $listclass = 'ptm ml mls cl'; $userapps = C::t('home_userapp')->fetch_all_by_uid_appid($uid, 0, 'menuorder', 'DESC', 0, $shownum); $appids = array(); foreach ($userapps as $app) { $appids[$app['appid']] = $app['appid']; } if (!empty($appids)) { $myapps = C::t('common_myapp')->fetch_all($appids); } foreach ($userapps as $value) { $value['iconstatus'] = $myapps[$value['appid']]['iconstatus']; if (!empty($value['appname'])) { $replace = array('appid' => $value['appid'], 'appname' => $value['appname']); $parameters['logotype'] = !empty($parameters['logotype']) && in_array($parameters['logotype'], array('icon', 'logo')) ? $parameters['logotype'] : 'logo'; if ($parameters['logotype'] == 'icon') { $listclass = 'xl xl1 cl'; $replace['icon'] = getmyappiconpath($value['appid'], $value['iconstatus']); } $html .= lang('space', 'myapp_li_' . $parameters['logotype'], $replace); } } $html = !$html ? '<p class="emp">' . lang('space', 'block_myapp_no_content') . ($space['self'] ? lang('space', 'block_myapp_no_content_publish', $space) : '') . '</p>' : '<ul class="' . $listclass . '">' . $html . '</ul>'; break; case 'block1': case 'block2': case 'block3': case 'block4': case 'block5': if ($space['self']) { $_G['space_group'] = $_G['group']; } elseif (empty($_G['space_group'])) { $_G['space_group'] = C::t('common_usergroup_field')->fetch($space['groupid']); } require_once libfile('function/discuzcode'); if ($_G['space_group']['allowspacediyimgcode']) { if (empty($_G['cache']['smilies']['loaded'])) { loadcache(array('smilies', 'smileytypes')); foreach ($_G['cache']['smilies']['replacearray'] as $skey => $smiley) { $_G['cache']['smilies']['replacearray'][$skey] = '[img]' . $_G['siteurl'] . 'static/image/smiley/' . $_G['cache']['smileytypes'][$_G['cache']['smilies']['typearray'][$skey]]['directory'] . '/' . $smiley . '[/img]'; } $_G['cache']['smilies']['loaded'] = 1; } $parameters['content'] = preg_replace($_G['cache']['smilies']['searcharray'], $_G['cache']['smilies']['replacearray'], trim($parameters['content'])); } if ($_G['space_group']['allowspacediybbcode'] || $_G['space_group']['allowspacediyimgcode'] || $_G['space_group']['allowspacediyhtml']) { $parameters['content'] = discuzcode($parameters['content'], 1, 0, 1, 0, $_G['space_group']['allowspacediybbcode'], $_G['space_group']['allowspacediyimgcode'], $_G['space_group']['allowspacediyhtml']); } else { $parameters['content'] = dhtmlspecialchars($parameters['content']); } $parameters['content'] = nl2br($parameters['content']); if (empty($parameters['content'])) { $parameters['content'] = lang('space', $blockname); } $html .= $parameters['content']; break; default: return false; } if (isset($parameters['title'])) { if (empty($parameters['title'])) { $title = ''; } else { $view = $view === false ? '' : '&view=' . $view; $from = $from === false ? '' : '&from=' . $from; $bnamelink = $do ? '<a href="home.php?mod=space&uid=' . $uid . '&do=' . $do . $view . $from . '">' . $parameters['title'] . '</a>' : $parameters['title']; $title = lang('space', 'block_title', array('bname' => $bnamelink, 'more' => $titlemore)); } } else { $view = $view === false ? '' : '&view=' . $view; $from = $from === false ? '' : '&from=' . $from; $bnamelink = $do ? '<a href="home.php?mod=space&uid=' . $uid . '&do=' . $do . $view . $from . '">' . getblockdata($blockname) . '</a>' : getblockdata($blockname); $title = lang('space', 'block_title', array('bname' => $bnamelink, 'more' => $titlemore)); } $html = $title . '<' . $contenttagname . ' id="' . $blockname . '_content" class="dxb_bc' . $contentclassname . '">' . $html . '</' . $contenttagname . '>'; return $html; }
} } elseif ($_GET['op'] == 'appendmember') { $memberusername = trim($_GET['memberusername']); $members = array(); if ($memberusername) { $members = C::t('common_member')->fetch_all_by_username(explode(',', $memberusername)); } if (empty($members)) { showmessage('pm_appendkmember_error_nopm'); } if (submitcheck('pmappendmembersubmit')) { include_once libfile('function/friend'); $returns = array(); foreach ($members as $member) { $member['onlyacceptfriendpm'] = $member['onlyacceptfriendpm'] ? $member['onlyacceptfriendpm'] : ($_G['setting']['onlyacceptfriendpm'] ? 1 : 2); if ($_G['group']['allowsendallpm'] || $member['onlyacceptfriendpm'] == 2 || $member['onlyacceptfriendpm'] == 1 && friend_check($member['uid'])) { $return = uc_pm_appendchatpm($plid, $_G['uid'], $member['uid']); $returns[] = array('uid' => $member['uid'], 'username' => $member['username'], 'return' => $return); } else { $returns[] = array('uid' => $member['uid'], 'username' => $member['username'], 'return' => 0); } } $cannotappend = array(); foreach ($returns as $value) { if ($value['return'] < 0) { $cannotappend[] = $value['username'] . '(' . lang('spacecp', 'message_can_not_send_' . abs($value['return'])) . ')'; } elseif ($value['return'] == 0) { $cannotappend[] = $value['username'] . '(' . lang('spacecp', 'message_can_not_send_onlyfriend') . ')'; } } if (empty($cannotappend)) {
function getblockhtml($blockname, $parameters = array()) { global $_G, $space; $parameters = empty($parameters) ? array() : $parameters; $list = array(); $sql = $title = $html = $wheresql = $ordersql = ''; $shownum = 6; $uid = intval($space['uid']); $shownum = empty($parameters['shownum']) ? $shownum : intval($parameters['shownum']); switch ($blockname) { case 'profile': $html .= '<div class="avt avtm">' . avatar($space['uid'], 'middle'); $html .= '<h2>' . $space['username'] . '</h2>'; $html .= '</div><ul class="xl xl2 cl">'; if ($space['self']) { $html .= '<li><a href="home.php?mod=space&diy=yes">' . lang('space', 'block_profile_diy') . '</a></li>'; $html .= '<li><a href="home.php?mod=space&do=wall">' . lang('space', 'block_profile_wall') . '</a></li>'; $html .= '<li><a href="home.php?mod=spacecp&ac=avatar">' . lang('space', 'block_profile_avatar') . '</a></li>'; $html .= '<li><a href="home.php?mod=spacecp&ac=profile">' . lang('space', 'block_profile_update') . '</a></li>'; } else { require_once libfile('function/friend'); $isfriend = friend_check($space['uid']); if (!$isfriend) { $html .= "<li><a href=\"home.php?mod=spacecp&ac=friend&op=add&uid={$space['uid']}&handlekey=addfriendhk_{$space[uid]}\" id=\"a_friend_li_{$space[uid]}\" onclick=\"showWindow(this.id, this.href, 'get', 0);\">" . lang('space', 'block_profile_friend_add') . "</a></li>"; } else { $html .= "<li><a href=\"home.php?mod=spacecp&ac=friend&op=ignore&uid={$space['uid']}&handlekey=ignorefriendhk_{$space[uid]}\" id=\"a_ignore_{$space[uid]}\" onclick=\"showWindow(this.id, this.href, 'get', 0);\">" . lang('space', 'block_profile_friend_ignore') . "</a></li>"; } $html .= "<li><a href=\"home.php?mod=space&uid={$space['uid']}&do=wall\">" . lang('space', 'block_profile_wall_to_me') . "</a></li>"; $html .= "<li><a href=\"home.php?mod=spacecp&ac=poke&op=send&uid={$space['uid']}&handlekey=propokehk_{$space[uid]}\" id=\"a_poke_{$space[uid]}\" onclick=\"showWindow(this.id, this.href, 'get', 0);\">" . lang('space', 'block_profile_poke') . "</a></li>"; $html .= "<li><a href=\"home.php?mod=spacecp&ac=pm&op=showmsg&handlekey=showmsg_{$space['uid']}&touid={$space['uid']}&pmid=0&daterange=2\" id=\"a_sendpm_{$space['uid']}\" onclick=\"showWindow('showMsgBox', this.href, 'get', 0)\">" . lang('space', 'block_profile_sendmessage') . "</a></li>"; } $html .= '</ul>'; $html = '<div class="content"><div id="pcd">' . $html . '</div></div>'; break; case 'doing': $dolist = array(); $sql = "SELECT * FROM " . DB::table('home_doing') . " WHERE uid='{$uid}' ORDER BY dateline DESC LIMIT 0,{$shownum}"; $query = DB::query($sql); while ($value = DB::fetch($query)) { $dolist[] = $value; } if ($dolist) { foreach ($dolist as $dv) { $doid = $dv['doid']; $_G[gp_key] = $key = random(8); $html .= "<li class=\"pbn bbda\">"; $html .= $dv['message']; $html .= " <a href=\"home.php?mod=space&uid={$dv['uid']}&do=doing&view=me&from=space&doid={$dv['doid']}\" target=\"_blank\" class=\"xg1\">" . lang('space', 'block_doing_reply') . "</a>"; $html .= "</li>"; } } else { $html .= "<p class=\"emp\">" . lang('space', 'block_doing_no_content') . "</p>"; } $html = '<div class="content"><ul class="xl">' . $html . '</ul></div>'; break; case 'blog': $query = DB::query("SELECT bf.*, b.* FROM " . DB::table('home_blog') . " b\n\t\t\t\tLEFT JOIN " . DB::table('home_blogfield') . " bf ON bf.blogid=b.blogid\n\t\t\t\tWHERE b.uid='{$uid}'\n\t\t\t\tORDER BY b.dateline DESC LIMIT 0,{$shownum}"); while ($value = DB::fetch($query)) { if (ckfriend($value['uid'], $value['friend'], $value['target_ids'])) { if ($value['pic']) { $value['pic'] = pic_cover_get($value['pic'], $value['picflag']); } $value['message'] = $value['friend'] == 4 ? '' : getstr($value['message'], 150, 0, 0, 0, 0, -1); $html .= lang('space', 'blog_li', array('uid' => $value['uid'], 'blogid' => $value['blogid'], 'subject' => $value['subject'], 'date' => dgmdate($value['dateline'], 'Y-m-d'))); if ($parameters['showmessage']) { if ($value['pic']) { $html .= lang('space', 'blog_li_img', array('uid' => $value['uid'], 'blogid' => $value['blogid'], 'src' => $value['pic'])); } $html .= "<dd>{$value['message']}</dd>"; } $html .= lang('space', 'blog_li_ext', array('uid' => $value['uid'], 'blogid' => $value['blogid'], 'viewnum' => $value['viewnum'], 'replynum' => $value['replynum'])); $html .= "</dl>"; } else { $html .= '<p>' . lang('space', 'block_view_noperm') . '</p>'; } } $more = $html ? '<p class="ptm" style="text-align: right;"><a href="home.php?mod=space&uid=' . $space['uid'] . '&do=blog&view=me&from=space">' . lang('space', 'viewmore') . '</a></p>' : ''; $html = '<div class="content xld">' . $html . $more . '</div>'; break; case 'album': if (ckprivacy('album', 'view')) { $query = DB::query("SELECT * FROM " . DB::table('home_album') . " WHERE uid='{$uid}' ORDER BY updatetime DESC LIMIT 0,{$shownum}"); while ($value = DB::fetch($query)) { if (ckfriend($value['uid'], $value['friend'], $value['target_ids'])) { $value['pic'] = pic_cover_get($value['pic'], $value['picflag']); $html .= lang('space', 'album_li', array('albumid' => $value['albumid'], 'src' => $value['pic'], 'albumname' => $value['albumname'], 'uid' => $value['uid'], 'picnum' => $value['picnum'], 'date' => dgmdate($value['updatetime'], 'n-j'))); } } } else { $html .= '<li>' . lang('space', 'block_view_noperm') . '</li>'; } $html = '<div class="content"><ul class="ml mla cl">' . $html . '</ul></div>'; break; case 'feed': if (ckprivacy('feed', 'view')) { require_once libfile('function/feed'); $query = DB::query("SELECT * FROM " . DB::table('home_feed') . " WHERE uid='{$uid}' ORDER BY dateline DESC LIMIT 0,{$shownum}"); while ($value = DB::fetch($query)) { if (ckfriend($value['uid'], $value['friend'], $value['target_ids'])) { $html .= mkfeedhtml(mkfeed($value)); } } } $html = empty($html) ? '' : '<ul class="content el">' . $html . '</ul>'; break; case 'thread': if ($_G['setting']['allowviewuserthread']) { $fidsql = " AND fid IN({$_G[setting][allowviewuserthread]}) "; } else { $fidsql = ''; } $query = DB::query("SELECT * FROM " . DB::table('forum_thread') . " WHERE authorid='{$uid}' {$fidsql} ORDER BY tid DESC LIMIT 0,{$shownum}"); while ($thread = DB::fetch($query)) { if ($thread['author']) { $html .= "<li><a target=\"_blank\" href=\"forum.php?mod=viewthread&tid={$thread['tid']}\">{$thread['subject']}</a></li>"; } } $html = empty($html) ? '' : '<div class="content cl"><ul class="xl">' . $html . '</ul></div>'; break; case 'friend': require_once libfile('function/friend'); $friendlist = array(); $friendlist = friend_list($uid, $shownum); $fuids = array_keys($friendlist); getonlinemember($fuids); foreach ($friendlist as $key => $value) { $classname = $_G['ols'][$value['fuid']] ? 'gol' : ''; $html .= '<li><a href="home.php?mod=space&uid=' . $value['fuid'] . '" target="_blank"><em class="' . $classname . '"></em>' . avatar($value['fuid'], 'small') . '</a><p><a href="home.php?mod=space&uid=' . $value[fuid] . '" target="_blank">' . $value['fusername'] . '</a></p></li>'; } $html = '<div class="content"><ul class="ml mls cl">' . $html . '</ul></div>'; break; case 'visitor': $query = DB::query("SELECT * FROM " . DB::table('home_visitor') . " WHERE uid='{$uid}' ORDER BY dateline DESC LIMIT 0,{$shownum}"); $list = $fuids = array(); while ($value = DB::fetch($query)) { $list[] = $value; $fuids[] = $value['vuid']; } getonlinemember($fuids); foreach ($list as $value) { $html .= "<li>"; if ($value['vusername'] == '') { $html .= lang('space', 'visitor_anonymity'); } else { $html .= lang('space', 'visitor_list', array('uid' => $value['vuid'], 'username' => $value['vusername'], 'class' => $_G['ols'][$value['vuid']] ? 'gol' : '', 'avatar' => avatar($value['vuid'], 'small'))); } $html .= "<span class=\"xg2\">" . dgmdate($value['dateline'], 'u') . "</span>"; $html .= "</li>"; } $html = '<div class="content"><ul class="ml mls cl">' . $html . '</ul></div>'; break; case 'share': if (ckprivacy('share', 'view')) { require_once libfile('function/share'); $query = DB::query("SELECT * FROM " . DB::table('home_share') . " WHERE uid='{$uid}' ORDER BY dateline DESC LIMIT 0,{$shownum}"); while ($value = DB::fetch($query)) { $value = mkshare($value); $html .= '<li><em>' . $value['title_template'] . '(' . dgmdate($value['dateline'], 'u') . ')</em><div class="ec cl">'; if ($value['image']) { $html .= '<a href="' . $value['image_link'] . '" target="_blank"><img src="' . $value['image'] . '" class="tn" alt="" /></a>'; } $html .= '<div class="d">' . $value['body_template'] . '</div>'; if ($value['type'] == 'video') { if (!empty($value['body_data']['imgurl'])) { $html .= '<table class="mtm" title="' . lang('space', 'click_play') . '" onclick="javascript:showFlash(\'' . $value['body_data']['host'] . '\', \'' . $value['body_data']['flashvar'] . '\', this, \'' . $value['sid'] . '\');"><tr><td class="vdtn hm" style="background: url(' . $value['body_data']['imgurl'] . ') no-repeat"><img src="' . IMGDIR . '/vds.png" alt="' . lang('space', 'click_play') . '" /></td></tr></table>'; } else { $html .= "<img src=\"" . IMGDIR . "/vd.gif\" alt=\"" . lang('space', 'click_play') . "\" onclick=\"javascript:showFlash('{$value['body_data']['host']}', '{$value['body_data']['flashvar']}', this, '{$value['sid']}');\" class=\"tn\" />"; } } elseif ($value['type'] == 'music') { $html .= "<img src=\"" . IMGDIR . "/music.gif\" alt=\"" . lang('space', 'click_play') . "\" onclick=\"javascript:showFlash('music', '{$value['body_data']['musicvar']}', this, '{$value['sid']}');\" class=\"tn\" />"; } elseif ($value['type'] == 'flash') { $html .= "<img src=\"" . IMGDIR . "/flash.gif\" alt=\"" . lang('space', 'click_view') . "\" onclick=\"javascript:showFlash('flash', '{$value['body_data']['flashaddr']}', this, '{$value['sid']}');\" class=\"tn\" />"; } if ($value['body_general']) { $html .= '<div class="quote' . ($value['image'] ? 'z' : '') . "\"><blockquote>{$value['body_general']}</blockquote></div>"; } $html .= '</div></li>'; } $html = '<div class="content"><ul class="el">' . $html . '</ul></div>'; } break; case 'wall': $walllist = array(); if (ckprivacy('wall', 'view')) { $query = DB::query("SELECT * FROM " . DB::table('home_comment') . " WHERE id='{$uid}' AND idtype='uid' ORDER BY dateline DESC LIMIT 0,{$shownum}"); while ($value = DB::fetch($query)) { $value['message'] = strlen($value['message']) > 500 ? getstr($value['message'], 500, 0, 0, 0, 0, -1) . ' ...' : $value['message']; $walllist[] = $value; } } $html = '<div class="xld xlda" id="comment_ul">'; foreach ($walllist as $key => $value) { $op = ''; if ($value['author']) { $author_avatar = '<a href="home.php?mod=space&uid=' . $value['authorid'] . '" target="_blank">' . avatar($value['authorid'], 'small') . '</a>'; $author = '<a href="home.php?mod=space&uid=' . $value['authorid'] . '" id="author_' . $value['cid'] . '" target="_blank">' . $value['author'] . '</a>'; } else { $author_avatar = '<img src="static/image/magic/hidden.gif" alt="hidden" />'; $author = lang('space', 'hidden_username'); } if ($value['authorid'] == $_G['uid']) { $op .= lang('space', 'wall_edit', array('cid' => $value['cid'])); } if ($value['authorid'] == $_G['uid'] || $space['self'] || checkperm('managecomment')) { $op .= lang('space', 'wall_del', array('cid' => $value['cid'])); } if ($value['authorid'] != $_G['uid'] && ($value['idtype'] != 'uid' || $space['self'])) { $op .= lang('space', 'wall_reply', array('cid' => $value['cid'])); } $date = dgmdate($value['dateline'], 'u'); $replacearr = array('author' => $author, 'author_avatar' => $author_avatar, 'cid' => $value['cid'], 'message' => $value['message'], 'date' => $date, 'op' => $op); $html .= lang('space', 'wall_li', $replacearr); } $html .= '</div>'; $html = '<div class="content">' . lang('space', 'wall_form', array('uid' => $uid, 'FORMHASH' => FORMHASH)) . $html . '</div>'; break; case 'group': require_once libfile('function/group'); $grouplist = mygrouplist($uid, 'lastupdate', array('f.name', 'ff.icon'), $shownum); if (empty($grouplist)) { $grouplist = array(); } foreach ($grouplist as $groupid => $group) { $group['groupid'] = $groupid; $html .= lang('space', 'group_li', $group); } $html = '<div class="content"><ul class="ml mls cl">' . $html . '</ul></div>'; break; case 'music': if (!empty($parameters['mp3list'])) { $authcode = substr(md5($_G['authkey'] . $uid), 6, 16); $querystring = urlencode("home.php?mod=space&do=index&op=getmusiclist&uid={$uid}&hash={$authcode}&t=" . TIMESTAMP); $swfurl = STATICURL . 'image/common/mp3player.swf?config=' . $querystring; $html = "<script language=\"javascript\" type=\"text/javascript\">document.write(AC_FL_RunContent('id', 'mp3player', 'name', 'mp3player', 'devicefont', 'false', 'width', '100%', 'height', '220px', 'src', '{$swfurl}', 'menu', 'false', 'allowScriptAccess', 'sameDomain', 'swLiveConnect', 'true', 'wmode', 'transparent'));</script>"; } else { $html = lang('space', 'music_no_content'); } $html = '<div class="content"><div class="ml mls cl">' . $html . '</div></div>'; break; default: if ($space['self']) { $_G['space_group'] = $_G['group']; } elseif (empty($_G['space_group'])) { $_G['space_group'] = db::fetch_first("SELECT * FROM " . db::table('common_usergroup_field') . " WHERE groupid='{$space['groupid']}'"); } require_once libfile('function/discuzcode'); if ($_G['space_group']['allowspacediyimgcode']) { if (empty($_G['cache']['smilies']['loaded'])) { loadcache(array('smilies', 'smileytypes')); foreach ($_G['cache']['smilies']['replacearray'] as $skey => $smiley) { $_G['cache']['smilies']['replacearray'][$skey] = '[img]' . $_G['siteurl'] . 'static/image/smiley/' . $_G['cache']['smileytypes'][$_G['cache']['smilies']['typearray'][$skey]]['directory'] . '/' . $smiley . '[/img]'; } $_G['cache']['smilies']['loaded'] = 1; } $parameters['content'] = preg_replace($_G['cache']['smilies']['searcharray'], $_G['cache']['smilies']['replacearray'], censor(trim($parameters['content']))); } if ($_G['space_group']['allowspacediybbcode'] || $_G['space_group']['allowspacediyimgcode'] || $_G['space_group']['allowspacediyhtml']) { $parameters['content'] = discuzcode($parameters['content'], 1, 0, 1, 0, $_G['space_group']['allowspacediybbcode'], $_G['space_group']['allowspacediyimgcode'], $_G['space_group']['allowspacediyhtml'], 0, 1); } else { $parameters['content'] = dhtmlspecialchars($parameters['content']); } if (empty($parameters['content'])) { $parameters['content'] = lang('space', $blockname); } $html .= '<div class="content">' . $parameters['content'] . '</div>'; break; } if (isset($parameters['title'])) { $title = empty($parameters['title']) ? '' : lang('space', 'block_title', array('bname' => stripslashes($parameters['title']))); } else { $title = lang('space', 'block_title', array('bname' => getblockdata($blockname))); } $html = $title . $html; return $html; }
private function _adminUser($act, $uid) { global $_G; $errorMsg = ''; require_once libfile('function/spacecp'); require_once libfile('function/home'); require_once libfile('function/friend'); if (friend_request_check($uid) && $act == 'add') { $act = 'add2'; } if ($act == 'add' || $act == 'add2') { if ($uid == $_G['uid']) { $list = $this->makeErrorInfo($res, 'friend_self_error'); $this->_exitWithHtmlAlert($list['errcode']); } if (friend_check($uid)) { $list = $this->makeErrorInfo($res, 'you_have_friends'); $this->_exitWithHtmlAlert($list['errcode']); } $tospace = getuserbyuid($uid); if (empty($tospace)) { $list = $this->makeErrorInfo($res, 'space_does_not_exist'); $this->_exitWithHtmlAlert($list['errcode']); } if (isblacklist($tospace['uid'])) { $list = $this->makeErrorInfo($res, 'is_blacklist'); $this->_exitWithHtmlAlert($list['errcode']); } space_merge($space, 'count'); space_merge($space, 'field_home'); $maxfriendnum = checkperm('maxfriendnum'); if ($maxfriendnum && $space['friends'] >= $maxfriendnum + $space['addfriend']) { if ($_G['magic']['friendnum']) { $list = $this->makeErrorInfo($res, 'enough_of_the_number_of_friends_with_magic'); $this->_exitWithHtmlAlert($list['errcode']); } else { $list = $this->makeErrorInfo($res, 'enough_of_the_number_of_friends'); $this->_exitWithHtmlAlert($list['errcode']); } } if ($act == 'add') { if (!checkperm('allowfriend')) { $list = $this->makeErrorInfo($res, 'no_privilege_addfriend'); $this->_exitWithHtmlAlert($list['errcode']); } if (C::t('home_friend_request')->count_by_uid_fuid($uid, $_G['uid'])) { $list = $this->makeErrorInfo($res, 'waiting_for_the_other_test'); $this->_exitWithHtmlAlert($list['errcode']); } } } require_once libfile('function/friend'); require_once libfile('function/spacecp'); if (!empty($_POST)) { switch ($act) { case 'add': $note = $_GET['note']; if (!friend_request_check($uid)) { $_POST['gid'] = $gid; $_POST['note'] = censor(htmlspecialchars(cutstr($note, strtolower(CHARSET) == 'utf-8' ? 30 : 20, ''))); friend_add($uid, $_POST['gid'], $_POST['note']); $note = array('uid' => $_G['uid'], 'url' => 'home.php?mod=spacecp&ac=friend&op=add&uid=' . $_G['uid'] . '&from=notice', 'from_id' => $_G['uid'], 'from_idtype' => 'friendrequest', 'note' => !empty($_POST['note']) ? lang('spacecp', 'friend_request_note', array('note' => $_POST['note'])) : ''); notification_add($uid, 'friend', 'friend_request', $note); // ios push UserUtils::pushIOSMessage($uid, 'friend', $_G['username'] . WebUtils::t(' 请求加您为好友') . $note['note']); require_once libfile('function/mail'); $values = array('username' => $tospace['username'], 'url' => getsiteurl() . 'home.php?mod=spacecp&ac=friend&op=request'); sendmail_touser($uid, lang('spacecp', 'friend_subject', $values), '', 'friend_add'); $list = $this->makeErrorInfo($res, 'request_has_been_sent'); $this->_exitWithHtmlAlert($list['errcode']); } $this->_exitWithHtmlAlert($res['errcode']); case 'add2': global $_G; require_once libfile('function/home'); $_POST['gid'] = intval($gid); friend_add($uid, $uid); if (ckprivacy('friend', 'feed')) { require_once libfile('function/feed'); feed_add('friend', 'feed_friend_title', array('touser' => "<a href=\"home.php?mod=space&uid={$tospace['uid']}\">{$tospace['username']}</a>")); } notification_add($uid, 'friend', 'friend_add'); // showmessage('friends_add', dreferer(), array('username' => $tospace['username'], 'uid'=>$uid, 'from' => $_GET['from']), array('showdialog'=>1, 'showmsg' => true, 'closetime' => true)); $list = $this->makeErrorInfo($res, 'friends_add', array('{username}' => $tospace['username'])); $this->_exitWithHtmlAlert($list['errcode']); break; case 'ignore': global $_G; require_once libfile('function/friend'); friend_delete($uid); $params['noError'] = 1; $list = $this->makeErrorInfo($res, 'do_success', $params); $this->_exitWithHtmlAlert($list['errcode']); break; case 'shield': global $_G, $space; // $type = empty($_GET['type'])?'':preg_replace("/[^0-9a-zA-Z\_\-\.]/", '', $_GET['type']); // if(submitcheck('ignoresubmit')) { $authorid = empty($_POST['authorid']) ? 0 : intval($_POST['authorid']); $type = 'friend'; if ($type) { $type_uid = $type . '|' . $authorid; if (empty($space['privacy']['filter_note']) || !is_array($space['privacy']['filter_note'])) { $space['privacy']['filter_note'] = array(); } $space['privacy']['filter_note'][$type_uid] = $type_uid; privacy_update(); } $this->_exitWithHtmlAlert('do_success'); // showmessage('do_success', dreferer(), array(), array('showdialog'=>1, 'showmsg' => true, 'closetime' => true)); // } $formid = random(8); break; default: $errorMsg = '错误的动作参数'; break; } } else { if ($act == 'add') { require_once libfile('function/friend'); $groups = $this->_getFriendGroupList(); $tospace = getuserbyuid($uid); } elseif ($act == 'add2') { require_once libfile('function/friend'); $groups = $this->_getFriendGroupList(); $tospace = $this->_getFriendUserByUid($uid); } } $this->getController()->renderPartial('userAdmin', array('formUrl' => WebUtils::createUrl_oldVersion('user/useradminview', array('uid' => $uid, 'act' => $act, 'type' => $type)), 'errorMsg' => $errorMsg, 'action' => $act, '_G' => $_G, 'groups' => $groups, 'tospace' => $tospace)); }
function friend_delete($touid) { global $_G; if (!friend_check($touid)) { return false; } C::t('home_friend')->delete_by_uid_fuid_dual($_G['uid'], $touid); if (DB::affected_rows()) { addfriendlog($_G['uid'], $touid, 'delete'); friend_cache($_G['uid']); friend_cache($touid); } }
$value['uid'] = $value['fuid']; $value['username'] = daddslashes($value['fusername']); $friends[] = $value; } } $friendgrouplist = friend_group_list(); include template('forum/collection_invite'); } else { $invitememberuids = array(); if (is_array($_GET['users'])) { $invitememberuids = C::t('common_member')->fetch_all_uid_by_username($_GET['users']); } if (!$invitememberuids) { showmessage('collection_no_teamworkers'); } if (!friend_check($invitememberuids) || in_array($_G['uid'], $invitememberuids)) { showmessage('collection_non_friend'); } $collectionteamworker = array_keys($collectionteamworker); if (in_array($invitememberuids, $collectionteamworker)) { showmessage('collection_teamworkers_exists'); } foreach ($invitememberuids as $invitememberuid) { $data = array('ctid' => $ctid, 'uid' => $invitememberuid, 'dateline' => $_G['timestamp']); C::t('forum_collectioninvite')->insert($data, false, true); notification_add($invitememberuid, "system", 'invite_collection', array('ctid' => $_G['collection']['ctid'], 'collectionname' => $_G['collection']['name'], 'dateline' => $_G['timestamp']), 1); } showmessage('collection_invite_succ', 'forum.php?mod=collection&action=view&ctid=' . $ctid, array(), array('alert' => 'right', 'closetime' => true, 'showdialog' => 1)); } } elseif ($op == 'acceptinvite') { if (!submitcheck('ctid', 1)) {
$maxfriendnum = checkperm('maxfriendnum') + $space['addfriend']; } } } if ($fuids) { foreach (C::app()->session->fetch_all_by_uid($fuids) as $value) { if (!$value['invisible']) { $ols[$value['uid']] = $value['lastactivity']; } elseif ($list[$value['uid']] && !in_array($_GET['view'], array('me', 'trace', 'blacklist'))) { unset($list[$value['uid']]); $count = $count - 1; } } if ($_GET['view'] != 'me') { require_once libfile('function/friend'); friend_check($fuids); } if ($list) { $fieldhome = C::t('common_member_field_home')->fetch_all($fuids); foreach (C::t('common_member')->fetch_all($fuids) as $uid => $value) { $value = array_merge($value, $fieldhome[$uid]); $value['isfriend'] = $uid == $space['uid'] || $_G["home_friend_" . $space['uid'] . '_' . $uid] ? 1 : 0; if (empty($list[$uid])) { $list[$uid] = array(); } $list[$uid] = array_merge($list[$uid], $value); } } } if ($list) { $list = getfollowflag($list);
$space['sellerrank'] = 0; if ($space['sellercredit']) { foreach ($_G['setting']['ec_credit']['rank'] as $level => $credit) { if ($space['sellercredit'] <= $credit) { $space['sellerrank'] = $level; break; } } } $space['attachsize'] = formatsize($space['attachsize']); $space['timeoffset'] = empty($space['timeoffset']) ? '9999' : $space['timeoffset']; if (strtotime($space['regdate']) + $space['oltime'] * 3600 > TIMESTAMP) { $space['oltime'] = 0; } require_once libfile('function/friend'); $isfriend = friend_check($space['uid'], 1); loadcache('profilesetting'); include_once libfile('function/profile'); $profiles = array(); $privacy = $space['privacy']['profile'] ? $space['privacy']['profile'] : array(); if ($_G['setting']['verify']['enabled']) { space_merge($space, 'verify'); } foreach ($_G['cache']['profilesetting'] as $fieldid => $field) { if (!$field['available'] || in_array($fieldid, array('birthprovince', 'birthdist', 'birthcommunity', 'resideprovince', 'residedist', 'residecommunity'))) { continue; } if ($field['available'] && strlen($space[$fieldid]) > 0 && ($field['showinthread'] || $field['showincard'] || ($space['self'] || empty($privacy[$fieldid]) || $isfriend && $privacy[$fieldid] == 1)) && (!$_G['inajax'] && $field['invisible'] != '1' || $_G['inajax'] && $field['showincard'])) { $val = profile_show($fieldid, $space); if ($val !== false) { if ($fieldid == 'realname' && $_G['uid'] != $space['uid'] && !ckrealname(1)) {
private function _pmSend($res, $data) { global $_G; $touid = (int) $data['toUid']; $pmid = (int) $data['pmid']; $_GET['topmuid'] = $touid; $_POST['message'] = $this->_transMessage($data['msg']); $_POST['subject'] = ''; $users = array(); $type = 0; $waittime = interval_check('post'); if ($waittime > 0) { // showmessage('message_can_not_send_2', '', array(), array('return' => true)); return $this->makeErrorInfo($res, lang('message', 'message_can_not_send_2')); } if (($checkMessage = mobcent_cknewuser()) != '') { return $this->makeErrorInfo($res, WebUtils::emptyHtml($checkMessage)); } if (!checkperm('allowsendpm')) { // showmessage('no_privilege_sendpm', '', array(), array('return' => true)); return $this->makeErrorInfo($res, 'no_privilege_sendpm'); } if ($touid) { if (isblacklist($touid)) { // showmessage('is_blacklist', '', array(), array('return' => true)); return $this->makeErrorInfo($res, lang('message', 'is_blacklist')); } } // !($_G['group']['exempt'] & 1) && checklowerlimit('sendpm', 0, $coef); $message = (!empty($_POST['messageappend']) ? $_POST['messageappend'] . "\n" : '') . trim($_POST['message']); if (empty($message)) { // showmessage('unable_to_send_air_news', '', array(), array('return' => true)); return $this->makeErrorInfo($res, lang('message', 'unable_to_send_air_news')); } // $message = censor($message); loadcache(array('smilies', 'smileytypes')); foreach ($_G['cache']['smilies']['replacearray'] as $key => $smiley) { $_G['cache']['smilies']['replacearray'][$key] = '[img]' . $_G['siteurl'] . 'static/image/smiley/' . $_G['cache']['smileytypes'][$_G['cache']['smilies']['typearray'][$key]]['directory'] . '/' . $smiley . '[/img]'; } $message = preg_replace($_G['cache']['smilies']['searcharray'], $_G['cache']['smilies']['replacearray'], $message); $subject = ''; if ($type == 1) { $subject = dhtmlspecialchars(trim($_POST['subject'])); } include_once libfile('function/friend'); $return = 0; if ($touid || $pmid) { if ($touid) { if ($value = getuserbyuid($touid)) { $value['onlyacceptfriendpm'] = $value['onlyacceptfriendpm'] ? $value['onlyacceptfriendpm'] : ($_G['setting']['onlyacceptfriendpm'] ? 1 : 2); if ($_G['group']['allowsendallpm'] || $value['onlyacceptfriendpm'] == 2 || $value['onlyacceptfriendpm'] == 1 && friend_check($touid)) { $return = sendpm($touid, $subject, $message, '', 0, 0, $type); } else { // showmessage('message_can_not_send_onlyfriend', '', array(), array('return' => true)); return $this->makeErrorInfo($res, lang('message', 'message_can_not_send_onlyfriend')); } } else { // showmessage('message_bad_touid', '', array(), array('return' => true)); return $this->makeErrorInfo($res, lang('message', 'message_bad_touid')); } } else { $topmuid = intval($_GET['topmuid']); $return = sendpm($topmuid, $subject, $message, '', $pmid, 0); } } elseif ($users) { $newusers = $uidsarr = $membersarr = array(); if ($users) { $membersarr = C::t('common_member')->fetch_all_by_username($users); foreach ($membersarr as $aUsername => $aUser) { $uidsarr[] = $aUser['uid']; } } if (empty($membersarr)) { showmessage('message_bad_touser', '', array(), array('return' => true)); } if (isset($membersarr[$_G['uid']])) { showmessage('message_can_not_send_to_self', '', array(), array('return' => true)); } friend_check($uidsarr); foreach ($membersarr as $key => $value) { $value['onlyacceptfriendpm'] = $value['onlyacceptfriendpm'] ? $value['onlyacceptfriendpm'] : ($_G['setting']['onlyacceptfriendpm'] ? 1 : 2); if ($_G['group']['allowsendallpm'] || $value['onlyacceptfriendpm'] == 2 || $value['onlyacceptfriendpm'] == 1 && $_G['home_friend_' . $value['uid'] . '_' . $_G['uid']]) { $newusers[$value['uid']] = $value['username']; unset($users[array_search($value['username'], $users)]); } } if (empty($newusers)) { showmessage('message_can_not_send_onlyfriend', '', array(), array('return' => true)); } foreach ($newusers as $key => $value) { if (isblacklist($key)) { showmessage('is_blacklist', '', array(), array('return' => true)); } } $coef = count($newusers); $return = sendpm(implode(',', $newusers), $subject, $message, '', 0, 1, $type); } else { // showmessage('message_can_not_send_9', '', array(), array('return' => true)); return $this->makeErrorInfo($res, lang('message', 'message_can_not_send_9')); } if ($return > 0) { include_once libfile('function/stat'); updatestat('sendpm', 0, $coef); C::t('common_member_status')->update($_G['uid'], array('lastpost' => TIMESTAMP)); !($_G['group']['exempt'] & 1) && updatecreditbyaction('sendpm', 0, array(), '', $coef); if (!empty($newusers)) { if ($type == 1) { $returnurl = 'home.php?mod=space&do=pm&filter=privatepm'; } else { $returnurl = 'home.php?mod=space&do=pm'; } showmessage(count($users) ? 'message_send_result' : 'do_success', $returnurl, array('users' => implode(',', $users), 'succeed' => count($newusers))); } else { if (!defined('IN_MOBILE')) { // showmessage('do_success', 'home.php?mod=space&do=pm&subop=view&touid='.$touid, array('pmid' => $return), $_G['inajax'] ? array('msgtype' => 3, 'showmsg' => false) : array()); } else { // showmessage('do_success', 'home.php?mod=space&do=pm&subop=view'.(intval($_POST['touid']) ? '&touid='.intval($_POST['touid']) : ( intval($_POST['plid']) ? '&plid='.intval($_POST['plid']).'&daterange=1&type=1' : '' ))); } $res = $this->makeErrorInfo($res, 'do_success', array('noError' => 1, 'alert' => 0)); $msgInfo = uc_pm_viewnode($_G['uid'], $type, $return); $res['body']['plid'] = (int) $msgInfo['plid']; $res['body']['pmid'] = (int) $msgInfo['pmid']; $res['body']['sendTime'] = $msgInfo['dateline'] . '000'; // ios push UserUtils::pushIOSMessage($touid, 'pm', $_G['username'] . WebUtils::t(' 对 您 说: ') . $message); } } else { if (in_array($return, range(-16, -1))) { // showmessage('message_can_not_send_'.abs($return)); return $this->makeErrorInfo($res, lang('message', 'message_can_not_send_' . abs($return))); } else { // showmessage('message_can_not_send', '', array(), array('return' => true)); return $this->makeErrorInfo($res, lang('message', 'message_can_not_send')); } } return $res; }
function friend_delete($touid) { global $_G; if (!friend_check($touid)) { return false; } DB::delete('home_friend', "(uid='{$_G['uid']}' AND fuid='{$touid}') OR (fuid='{$_G['uid']}' AND uid='{$touid}')"); if (DB::affected_rows()) { addfriendlog($_G['uid'], $touid, 'delete'); friend_cache($_G['uid']); friend_cache($touid); } }
">收听TA</a> <?php } else { ?> <a id="followmod" onclick="showWindow(this.id, this.href, 'get', 0);" href="home.php?mod=spacecp&ac=follow&op=del&fuid=<?php echo $space['uid']; ?> ">取消收听</a> <?php } ?> </li> <?php } require_once libfile('function/friend'); $isfriend = friend_check($space[uid]); if (!$isfriend) { ?> <li class="ul_add"><a href="home.php?mod=spacecp&ac=friend&op=add&uid=<?php echo $space['uid']; ?> &handlekey=addfriendhk_<?php echo $space['uid']; ?> " id="a_friend_li_<?php echo $space['uid']; ?> " onclick="showWindow(this.id, this.href, 'get', 0);">加为好友</a></li> <?php } else { ?>
include template('forum/collection_recommend'); } else { if (!$_GET['threadurl']) { showmessage('collection_recommend_url', '', array(), array('alert' => 'error', 'closetime' => true, 'showdialog' => 1)); } $touid =& $_G['collection']['uid']; $coef = 1; if ($touid) { $subject = $message = lang('message', 'collection_recommend_message', array('fromuser' => $_G['username'], 'collectioname' => $_G['collection']['name'], 'url' => $_GET['threadurl'])); if (C::t('home_blacklist')->count_by_uid_buid($touid, $_G['uid'])) { showmessage('is_blacklist', '', array(), array('return' => true)); } if ($value = getuserbyuid($touid)) { require_once libfile('function/friend'); $value['onlyacceptfriendpm'] = $value['onlyacceptfriendpm'] ? $value['onlyacceptfriendpm'] : ($_G['setting']['onlyacceptfriendpm'] ? 1 : 2); if ($_G['group']['allowsendallpm'] || $value['onlyacceptfriendpm'] == 2 || $value['onlyacceptfriendpm'] == 1 && friend_check($touid)) { $return = sendpm($touid, $subject, $message, '', 0, 0); } else { showmessage('message_can_not_send_onlyfriend', '', array(), array('return' => true)); } } else { showmessage('message_bad_touid', '', array(), array('return' => true)); } } else { $return = sendpm(0, $subject, $message, '', $pmid, 0); } if ($return > 0) { include_once libfile('function/stat'); updatestat('sendpm', 0, $coef); C::t('common_member_status')->update($_G['uid'], array('lastpost' => TIMESTAMP), 'UNBUFFERED'); !($_G['group']['exempt'] & 1) && updatecreditbyaction('sendpm', 0, array(), '', $coef);
function app_ckprivacy($privacy) { global $_G, $space; $var = "home_app_ckprivacy_{$privacy}"; if (isset($_G[$var])) { return $_G[$var]; } $result = false; switch ($privacy) { case 0: $result = true; break; case 1: include_once libfile('function/friend'); if (friend_check($space['uid'])) { $result = true; } break; case 2: break; case 3: if ($space['self']) { $result = true; } break; case 4: break; case 5: break; default: $result = true; break; } $_G[$var] = $result; return $result; }
function ckfriend($touid, $friend, $target_ids = '') { global $_G; if (empty($_G['uid'])) { return $friend ? false : true; } if ($touid == $_G['uid'] || $_G['adminid'] == 1) { return true; } $var = 'home_ckfriend_' . md5($touid . '_' . $friend . '_' . $target_ids); if (isset($_G[$var])) { return $_G[$var]; } $_G[$var] = false; switch ($friend) { case 0: $_G[$var] = true; break; case 1: include_once libfile('function/friend'); if (friend_check($touid)) { $_G[$var] = true; } break; case 2: if ($target_ids) { $target_ids = explode(',', $target_ids); if (in_array($_G['uid'], $target_ids)) { $_G[$var] = true; } } break; case 3: break; case 4: $_G[$var] = true; break; default: break; } return $_G[$var]; }
private function _getPersonalDataInfo($puid, $space) { global $_G; $res['body']['PersonalData'] = array(); require_once libfile('function/spacecp'); space_merge($space, 'count'); space_merge($space, 'field_home'); space_merge($space, 'field_forum'); space_merge($space, 'profile'); space_merge($space, 'status'); $space['buyerrank'] = 0; if ($space['buyercredit']) { foreach ($_G['setting']['ec_credit']['rank'] as $level => $credit) { if ($space['buyercredit'] <= $credit) { $space['buyerrank'] = $level; break; } } } $space['sellerrank'] = 0; if ($space['sellercredit']) { foreach ($_G['setting']['ec_credit']['rank'] as $level => $credit) { if ($space['sellercredit'] <= $credit) { $space['sellerrank'] = $level; break; } } } require_once libfile('function/friend'); $isfriend = friend_check($space['uid'], 1); loadcache('profilesetting'); include_once libfile('function/profile'); $profiles = array(); $privacy = $space['privacy']['profile'] ? $space['privacy']['profile'] : array(); if ($_G['setting']['verify']['enabled']) { space_merge($space, 'verify'); } if ($_G['uid'] == $space['uid'] || $_G['group']['allowviewip']) { foreach ($_G['cache']['profilesetting'] as $fieldid => $field) { if (!$field['available'] || $field['invisible'] || in_array($fieldid, array('birthmonth', 'birthyear'))) { continue; } $val = profile_show($fieldid, $space); $profiles[] = array('type' => $fieldid, 'title' => $field['title'], 'data' => WebUtils::emptyHtml($val)); } } else { foreach ($_G['cache']['profilesetting'] as $fieldid => $field) { if (!$field['available'] || in_array($fieldid, array('birthprovince', 'birthdist', 'birthcommunity', 'resideprovince', 'residedist', 'residecommunity'))) { continue; } if ($field['available'] && (strlen($space[$fieldid]) > 0 || ($fieldid == 'birthcity' && strlen($space['birthprovince']) || $fieldid == 'residecity' && strlen($space['resideprovince']))) && ($space['self'] || empty($privacy[$fieldid]) || $isfriend && $privacy[$fieldid] == 1) && (!$_G['inajax'] && !$field['invisible'] || $_G['inajax'] && $field['showincard'])) { $val = profile_show($fieldid, $space); if ($val !== false) { if ($fieldid == 'realname' && $_G['uid'] != $space['uid'] && !ckrealname(1)) { continue; } if ($field['formtype'] == 'file' && $val) { $imgurl = getglobal('setting/attachurl') . './profile/' . $val; $val = '<span><a href="' . $imgurl . '" target="_blank"><img src="' . $imgurl . '" style="max-width: 500px;" /></a></span>'; } $profiles[] = array('type' => $fieldid, 'title' => $field['title'], 'data' => WebUtils::emptyHtml($val)); } } } } return $profiles; }