public function getWall($wid, $type, $listRows = 10, $page = 1) { $dao = D('Wall'); $map = array(); $map['wid'] = $wid; $map['del'] = 0; $map['type'] = $type; $count = $dao->count($map); if ($page < 1) { $page = 1; } if ($page > $count) { $page = $count; } $Wall = $dao->where($map)->order('time desc')->field('id,fromid,text,time,username')->limit(($page - 1) * $listRows . ',' . $listRows)->findAll(); //get wall action foreach ($Wall as &$key) { $action = array(); //wall action: report if ($this->userId && $this->userId != $key['fromid']) { $report = array('report' => '<a onclick="" href="' . url('', '', 'report', '', array('type' => 'wall', 'id' => $key['id'])) . '">' . L('_ACTION_REPORT_') . '</a>'); $action += $report; } //wall action: delete if ($this->isOwner($key['id'], $wid, $key['fromid'])) { $delete = array('delete' => '<a onclick="" href="' . url('', '', 'Wall', '', array('action' => 'delete', 'id' => $key['id'])) . '">' . L('_ACTION_DELETE_') . '</a>'); $action += $delete; } $key += array('action' => $action); //get user info $key += array('userInfo' => getUserBasicInfo($key['fromid'])); } $array = array(); $array['wid'] = $wid; $array['type'] = $type; $array['list'] = $Wall; $array['listRows'] = $listRows; $array['count'] = $count; $array['page'] = $page; return $array; }
public function index() { $uid = (int) $_GET['id']; if (empty($uid)) { if (empty($this->userId)) { $this->redirect('', '', 'index'); } else { $uid = $this->userId; $Profile = $this->userInfo; } } else { if (empty($this->userId)) { $this->redirect('', '', 'index'); } else { if ($uid == $this->userId) { $uid = $this->userId; $Profile = $this->userInfo; } else { $user = new ProfileAction(); $userRelation = $user->getFriendRelation($uid); if ($userRelation == 'stranger') { $this->redirect('', '', 'profile', '', array('id' => $uid)); } } } } $dao = D('User'); $Profile = $dao->find($uid); $this->assign('profile', $Profile); /* * get current user's friends */ $currentUserFriend = getFriend($uid); $i = 0; $j = 1; foreach ($currentUserFriend as &$key) { $key = array('uid' => current(array_diff($key, array($uid)))); $key += array('userInfo' => getUserBasicInfo($key['uid'])); $key += array('key' => $i); $key += array('id' => $j); $j++; if ($i == 9) { $i = 0; } else { $i++; } } $this->assign('currentUserFriend', $currentUserFriend); /* * get user count */ $friendCount = count($currentUserFriend); $this->assign('friendCount', $friendCount); /* * get header */ $name = '<a href="' . url('', '', 'profile', '', array('id' => $uid)) . '">' . $Profile['name'] . '</a>'; $pageHeader = sprintf(L('_friends_header'), $name); if ($currentUserFriend) { $pageSubheader = sprintf(L('_friends_subheader1'), $name, $friendCount); } else { $pageSubheader = sprintf(L('_friends_subheader2'), $name); } $this->assign('pageHeader', $pageHeader); $this->assign('pageSubheader', $pageSubheader); $this->display(); }
public function stranger() { $uid = (int) $_GET['id']; if (empty($uid)) { $this->redirect('', '', 'index'); } else { $dao = D('User'); $Profile = $dao->find($uid); if (empty($Profile)) { $this->redirect('', '', 'index'); } } $this->assign('profile', $Profile); /* * get current user's friends */ $currentUserFriend = getFriend($uid); shuffle($currentUserFriend); foreach ($currentUserFriend as &$key) { $key = array('uid' => current(array_diff($key, array($uid)))); } //get user info for ($i = 0; $i < count($currentUserFriend); $i++) { $friend_uid = $currentUserFriend[$i]['uid']; $currentUserFriendShuffle[$i]['uid'] = $friend_uid; $currentUserFriendShuffle[$i]['userInfo'] = getUserBasicInfo($friend_uid); if ($i == 7) { break; } } $this->assign('currentUserFriend', $currentUserFriendShuffle); $this->display(); }
public function index() { $gid = (int) $_GET['id']; //redirect if isnt group if (!$gid || !getGroupInfo($gid)) { $this->redirect('', '', 'home'); } //get group info $groupInfo = getGroupInfo($gid); $this->assign('groupInfo', $groupInfo); //get members $groupMember = getGroupMember($gid); $this->assign('groupMember', $groupMember); /* * check access settings */ if (empty($groupMember)) { if (empty($this->userId)) { $this->redirect('', '', 'index'); } else { $this->redirect('', '', 'home'); } } else { if (empty($this->userId)) { if ($groupInfo['privacy'] == 'OPEN') { $groupAccess = 'GUEST'; } else { $this->redirect('', '', 'index'); } } else { $isMember = false; foreach ($groupMember as $key) { if ($this->userId == $key['uid']) { $isMember = true; $groupAccess = strtoupper($key['title']); break; } } if (!$isMember) { if ($groupInfo['privacy'] == 'OPEN') { $groupAccess = 'USER_GUEST'; } else { if ($groupInfo['privacy'] == 'CLOSED') { $this->display('closed'); exit; } else { $this->redirect('', '', 'home'); } } } } } $this->assign('groupAccess', $groupAccess); /* * group member */ if ($groupMember) { $count = count($groupMember); shuffle($groupMember); if ($groupAccess == 'GUEST') { $a1 = ''; $a2 = ''; } else { $a1 = "<a href=\"" . url('', '', 'members', '', array('id' => $gid)) . "\">"; $a2 = "</a>"; } if ($count > 8) { $groupMemberHeader = sprintf(L('_member_subheader1'), $a1, number_format($count), $a2, 8); } else { $groupMemberHeader = sprintf(L('_member_subheader2'), $a1, $count, $a2); } //get user info for ($i = 0; $i < $count; $i++) { $uid = $groupMember[$i]['uid']; $groupMemberShuffle[$i]['uid'] = $uid; $groupMemberShuffle[$i]['userInfo'] = getUserBasicInfo($uid); if ($i == 7) { break; } } $this->assign('groupMemberShuffle', $groupMemberShuffle); } else { $groupMemberHeader = L('_member_subheader3'); } $this->assign('groupMemberHeader', $groupMemberHeader); /* * mini wall */ $listRows = 5; $WallCls = new WallAction(); $Wall = $WallCls->getWall($gid, 'g', $listRows, 1); $wallSubheader = $WallCls->getWallHeader($Wall['count'], $listRows, $gid, 'g'); $this->assign('wall', $Wall); $this->assign('wallSubheader', $wallSubheader); $this->display(); }