query('SELECT levelname,id FROM `' . $db_mymps . 'member_level` WHERE id > \'' . $exceptid . '\'');
while ($row = $db->fetchRow($query)) {
$res[$row['id']]['levelid'] = $row['id'];
$res[$row['id']]['levelname'] = $row['levelname'];
$res[$row['id']]['levelmoney'] = $row['levelmoney'];
}
if ($exceptid != '') {
unset($res[$exceptid]);
}
return $res;
}
function GetUplevelTime($formname = 'upleveltime', $levelid = '')
{
global $db;
global $db_mymps;
global $charset;
$timearray = array('halfyear' => '半年', 'forever' => '永久', 'month' => '一个月', 'year' => '一年');
$data = '';
@include MYMPS_DATA . '/caches/member_' . $levelid . '.php';
if ($data == '') {
$row = $db->getRow('SELECT * FROM `' . $db_mymps . 'member_level` WHERE id = \'' . $levelid . '\'');
}
else {
$row = $data;
}
unset($data);
$moneysettings = $charset == 'utf-8' ? utf8_unserialize($row['moneysettings']) : unserialize($row['moneysettings']);
$newtimearray = array();
foreach ($moneysettings['ifopen'] as $key => $val) {
$newtimearray[$key] = $timearray[$key];
}
unset($timearray);
$upleveltime_form = '
';
return $upleveltime_form;
}
if (!defined('IN_MYMPS')) {
exit('Forbidden');
}
$ac = isset($ac) ? trim($ac) : 'step1';
require_once MEMBERDIR . '/include/common.func.php';
if (submit_check('levelup_submit')) {
$forwardlevel = intval($forwardlevel);
if (empty($forwardlevel)) {
write_msg('', '?m=levelup&error=14');
}
if ($forwardlevel == $levelid) {
write_msg('', '?m=levelup&error=16');
}
$data = '';
$data = read_static_cache('member_' . $levelid);
$levelname = $data['levelname'];
$forward = read_static_cache('member_' . $forwardlevel);
if ($forward === false) {
$forward = $db->getRow('SELECT * FROM `' . $db_mymps . 'member_level` WHERE id = \'' . $forwardlevel . '\'');
}
$forwardlevelname = $forward['levelname'];
if (empty($forwardlevelname)) {
write_msg('', '?m=levelup&error=15');
}
$moneysettings = $charset == 'utf-8' ? utf8_unserialize($forward['moneysettings']) : unserialize($forward['moneysettings']);
$forwardlevelmoney = $moneysettings['money'];
if ($ac == 'step2') {
$location = location();
include mymps_tpl('levelup_2');
exit();
}
else if ($ac == 'step3') {
$leveluptime = mhtmlspecialchars($_POST['leveluptime']);
$money_cost = $forwardlevelmoney[$leveluptime];
$timearray = array('halfyear' => '183', 'year' => '365', 'month' => '30', 'forever' => '0');
$levelup_time = $timearray[$leveluptime] != 0 ? $timearray[$leveluptime] * 3600 * 24 + $timestamp : 0;
if ($money_own < $money_cost) {
write_msg('', '?m=levelup&ac=step2&error=2');
}
$db->query('UPDATE `' . $db_mymps . 'member` SET levelid = \'' . $forwardlevel . '\',levelup_time = \'' . $levelup_time . '\',money_own = money_own - \'' . $money_cost . '\' ' . $where);
$day = $timearray[$leveluptime] == 0 ? '永久' : '' . $timearray[$leveluptime] . '天';
write_money_use('升级会员级别为 ' . $forwardlevelname . ',期限为' . $day, '扣除金币 ' . $money_cost . ' ', $do_type);
unset($day);
write_msg('', '?m=levelup&success=8');
}
}
else {
$levelup_notice = $db->getOne('SELECT value FROM `' . $db_mymps . 'config` WHERE description = \'levelup_notice\'');
$data = '';
@include MYMPS_DATA . '/caches/member_' . $levelid . '.php';
$levelname = $data['levelname'] ? $data['levelname'] : $db->getOne('SELECT levelname FROM `' . $db_mymps . 'member_level` WHERE id = \'' . $levelid . '\'');
unset($data);
$memberlevel_array = get_memberlevel_array($levelid);
$location = location();
include mymps_tpl('levelup');
}
?>