256 lines
6.9 KiB
PHP
256 lines
6.9 KiB
PHP
<?php
|
|
|
|
/**
|
|
* [Discuz!] (C)2001-2099 Comsenz Inc.
|
|
* This is NOT a freeware, use is subject to license terms
|
|
*
|
|
* $Id: misc_ranklist_member.php 26628 2011-12-16 10:20:35Z zhangguosheng $
|
|
*/
|
|
|
|
if(!defined('IN_DISCUZ')) {
|
|
exit('Access Denied');
|
|
}
|
|
|
|
$multi = $gettype = '';
|
|
$list = array();
|
|
$cachetip = TRUE;
|
|
$perpage = 20;
|
|
$page = empty($_GET['page']) ? 1 : intval($_GET['page']);
|
|
if($page < 1) {
|
|
$page = 1;
|
|
}
|
|
$start = ($page - 1) * $perpage;
|
|
|
|
require_once libfile('function/home');
|
|
ckstart($start, $perpage);
|
|
|
|
$creditkey = $cache_name = '';
|
|
$fuids = array();
|
|
$count = 0;
|
|
$now_pos = 0;
|
|
$now_choose = '';
|
|
|
|
if ($_GET['view'] == 'credit') {
|
|
|
|
$gettype = 'credit';
|
|
$creditsrank_change = 1;
|
|
$extcredits = $_G['setting']['extcredits'];
|
|
$now_choose = $_GET['orderby'] && $extcredits[$_GET['orderby']] ? $_GET['orderby'] : 'all';
|
|
if(!$_GET['orderby'] || !$extcredits[$_GET['orderby']]) {
|
|
$_GET['orderby'] = 'all';
|
|
}
|
|
if($_G['uid']) {
|
|
$mycredits = $now_choose == 'all' ? $_G['member']['credits'] : getuserprofile('extcredits'.$now_choose);
|
|
$cookie_name = 'space_top_credit_'.$_G['uid'].'_'.$now_choose;
|
|
if($_G['cookie'][$cookie_name]) {
|
|
$now_pos = $_G['cookie'][$cookie_name];
|
|
} else {
|
|
if($now_choose == 'all') {
|
|
$now_pos = C::t('common_member')->count_by_credits($mycredits);
|
|
} else {
|
|
$now_pos = C::t('common_member_count')->count_by_extcredits($now_choose, $mycredits);
|
|
}
|
|
$now_pos++;
|
|
dsetcookie($cookie_name, $now_pos);
|
|
}
|
|
} else {
|
|
$now_pos = -1;
|
|
}
|
|
$view = $_GET['view'];
|
|
$orderby = $_GET['orderby'];
|
|
$list = getranklistdata($type, $view, $orderby);
|
|
|
|
} elseif ($_GET['view'] == 'friendnum') {
|
|
|
|
$gettype = 'friend';
|
|
if($_G['uid']) {
|
|
$space = $_G['member'];
|
|
space_merge($space, 'count');
|
|
$cookie_name = 'space_top_'.$_GET['view'].'_'.$_G['uid'];
|
|
if($_G['cookie'][$cookie_name]) {
|
|
$now_pos = $_G['cookie'][$cookie_name];
|
|
} else {
|
|
$now_pos = C::t('common_member_count')->count_by_friends($space['friends']);
|
|
$now_pos++;
|
|
dsetcookie($cookie_name, $now_pos);
|
|
}
|
|
} else {
|
|
$now_pos = -1;
|
|
}
|
|
$view = $_GET['view'];
|
|
$orderby = $_GET['orderby'];
|
|
$list = getranklistdata($type, $view, $orderby);
|
|
|
|
} elseif ($_GET['view'] == 'invite') {
|
|
|
|
$gettype = 'invite';
|
|
$now_pos = -1;
|
|
$inviterank_change = 1;
|
|
$now_choose = 'thisweek';
|
|
switch($_GET['orderby']) {
|
|
case 'thismonth':
|
|
$now_choose = 'thismonth';
|
|
break;
|
|
case 'today':
|
|
$now_choose = 'today';
|
|
break;
|
|
case 'thisweek':
|
|
$now_choose = 'thisweek';
|
|
break;
|
|
default :
|
|
$now_choose = 'all';
|
|
}
|
|
$view = $_GET['view'];
|
|
$orderby = $_GET['orderby'];
|
|
$list = getranklistdata($type, $view, $orderby);
|
|
|
|
} elseif($_GET['view'] == 'blog') {
|
|
|
|
$gettype = 'blog';
|
|
$now_pos = -1;
|
|
$view = $_GET['view'];
|
|
$orderby = $_GET['orderby'];
|
|
$list = getranklistdata($type, $view, $orderby);
|
|
|
|
} elseif($_GET['view'] == 'beauty') {
|
|
|
|
$gettype = 'girl';
|
|
$now_pos = -1;
|
|
$view = $_GET['view'];
|
|
$orderby = $_GET['orderby'];
|
|
$list = getranklistdata($type, $view, $orderby);
|
|
|
|
} elseif($_GET['view'] == 'handsome') {
|
|
|
|
$gettype = 'boy';
|
|
$now_pos = -1;
|
|
$view = $_GET['view'];
|
|
$orderby = $_GET['orderby'];
|
|
$list = getranklistdata($type, $view, $orderby);
|
|
|
|
} elseif($_GET['view'] == 'post') {
|
|
|
|
$gettype = 'post';
|
|
$postsrank_change = 1;
|
|
$now_pos = -1;
|
|
$now_choose = 'posts';
|
|
switch($_GET['orderby']) {
|
|
case 'digestposts':
|
|
$now_choose = 'digestposts';
|
|
break;
|
|
case 'thismonth':
|
|
$now_choose = 'thismonth';
|
|
break;
|
|
case 'today':
|
|
$now_choose = 'today';
|
|
break;
|
|
}
|
|
$view = $_GET['view'];
|
|
$orderby = $_GET['orderby'];
|
|
$list = getranklistdata($type, $view, $orderby);
|
|
|
|
} elseif($_GET['view'] == 'onlinetime') {
|
|
|
|
$gettype = 'onlinetime';
|
|
$onlinetimerank_change = 1;
|
|
$now_pos = -1;
|
|
$now_choose = 'thismonth';
|
|
switch($_GET['orderby']) {
|
|
case 'thismonth':
|
|
$now_choose = 'thismonth';
|
|
break;
|
|
case 'all':
|
|
$now_choose = 'all';
|
|
break;
|
|
default :
|
|
$_GET['orderby'] = 'thismonth';
|
|
}
|
|
|
|
$view = $_GET['view'];
|
|
$orderby = $_GET['orderby'];
|
|
$list = getranklistdata($type, $view, $orderby);
|
|
|
|
} else {
|
|
$gettype = 'bid';
|
|
$cachetip = FALSE;
|
|
$_GET['view'] = 'show';
|
|
$creditid = 0;
|
|
if($_G['setting']['creditstransextra'][6]) {
|
|
$creditid = intval($_G['setting']['creditstransextra'][6]);
|
|
$creditkey = 'extcredits'.$creditid;
|
|
} elseif ($_G['setting']['creditstrans']) {
|
|
$creditid = intval($_G['setting']['creditstrans']);
|
|
$creditkey = 'extcredits'.$creditid;
|
|
}
|
|
$extcredits = $_G['setting']['extcredits'];
|
|
$count = C::t('home_show')->count_by_credit();
|
|
$space = array();
|
|
if($count) {
|
|
$space = $_G['member'];
|
|
space_merge($space, 'count');
|
|
$space['credit'] = empty($creditkey) ? 0 : $space[$creditkey];
|
|
|
|
$myshowinfo = C::t('home_show')->fetch_by_uid_credit($space['uid']); //DB::fetch_first("SELECT unitprice, credit FROM ".DB::table('home_show')." WHERE uid='$space[uid]' AND credit>0");
|
|
$myallcredit = intval($myshowinfo['credit']);
|
|
$space['unitprice'] = intval($myshowinfo['unitprice']);
|
|
$now_pos = C::t('home_show')->count_by_credit($space['unitprice']);//DB::result_first("SELECT COUNT(*) FROM ".DB::table('home_show')." WHERE unitprice>='$space[unitprice]' AND credit>0");
|
|
|
|
$deluser = false;
|
|
$query = C::t('home_show')->fetch_all_by_unitprice($start, $perpage);
|
|
foreach ($query as $value) {
|
|
if(!$deluser && $value['show_credit'] < 1) {
|
|
$deluser = true;
|
|
} else {
|
|
$list[$value['uid']] = $value;
|
|
}
|
|
}
|
|
if($deluser) {
|
|
C::t('home_show')->delete_by_credit(1);
|
|
}
|
|
$multi = multi($count, $perpage, $page, "misc.php?mod=ranklist&type=member&view=$_GET[view]");
|
|
}
|
|
}
|
|
|
|
if($cachetip) {
|
|
$lastupdate = $_G['lastupdate'];
|
|
$nextupdate = $_G['nextupdate'];
|
|
}
|
|
|
|
$myfuids =array();
|
|
$query = C::t('home_friend')->fetch_all($_G['uid']);
|
|
foreach($query as $value) {
|
|
$myfuids[$value['fuid']] = $value['fuid'];
|
|
}
|
|
$myfuids[$_G['uid']] = $_G['uid'];
|
|
|
|
$i = $_GET['page'] ? ($_GET['page']-1)*$perpage+1 : 1;
|
|
foreach($list as $key => $value) {
|
|
$fuids[] = $value['uid'];
|
|
if(isset($value['lastactivity'])) $value['lastactivity'] = dgmdate($value['lastactivity'], 't');
|
|
$value['isfriend'] = empty($myfuids[$value['uid']])?0:1;
|
|
$list[$key] = $value;
|
|
$list[$key]['rank'] = $i;
|
|
$i++;
|
|
}
|
|
|
|
$ols = array();
|
|
if($fuids) {
|
|
foreach(C::app()->session->fetch_all_by_uid($fuids) as $value) {
|
|
if(!$value['invisible']) {
|
|
$ols[$value['uid']] = $value['lastactivity'];
|
|
} elseif ($_GET['view'] == 'online' && $list[$value['uid']]) {
|
|
unset($list[$value['uid']]);
|
|
}
|
|
}
|
|
}
|
|
|
|
$a_actives = array($_GET['view'] => ' class="a"');
|
|
|
|
$navname = $_G['setting']['navs'][8]['navname'];
|
|
$navtitle = lang('ranklist/navtitle', 'ranklist_title_member_'.$gettype).' - '.$navname;
|
|
$metakeywords = lang('ranklist/navtitle', 'ranklist_title_member_'.$gettype);
|
|
$metadescription = lang('ranklist/navtitle', 'ranklist_title_member_'.$gettype);
|
|
|
|
include template('diy:ranklist/member');
|
|
|
|
?>
|