?? magic.php
字號:
usemagic($magic['magicid'], $magic['num'], $magicnum);
updatemagiclog($magic['magicid'], '2', $magicnum, $price);
showmessage('magics_succeed', '', 1);
} elseif($operation == 'give') {
if($allowmagics < 2) {
showmessage('magics_nopermission');
}
$toname = dhtmlspecialchars(trim($tousername));
$magicnum = intval($magicnum);
if(empty($tousername)) {
showmessage('magics_username_nonexistence');
}
givemagic($toname, $magic['magicid'], $magicnum, $magic['num'], '0');
}
}
}
} elseif($action =='market') {
$discuz_action = 172;
if(empty($magicmarket)) {
showmessage('magics_market_close');
}
if(empty($operation) || $operation == 'my' || submitcheck('searchsubmit')) {
$ascdesc = isset($ascdesc) && in_array(strtoupper($ascdesc), array('ASC', 'DESC')) ? strtoupper($ascdesc) : 'DESC';
$orderby = isset($orderby) && in_array(strtolower($orderby), array('price', 'num')) ? strtolower($orderby) : '';
$magicid = isset($magicid) && is_numeric($magicid) ? intval($magicid) : 0;
$magicadd = !empty($magicid) ? '&magicid='.$magicid : '';
$magicadd .= !empty($orderby) ? '&orderby='.$orderby : '';
$magicadd .= !empty($ascdesc) ? '&ascdesc='.$ascdesc : '';
$filteradd = $operation == 'my' ? 'WHERE uid=\''.$discuz_uid.'\'' : '';
$filteradd .= $magicid && empty($operation) ? 'WHERE magicid=\''.intval($magicid).'\'' : '';
$filteradd .= $orderby ? " ORDER BY $orderby $ascdesc" : '';
$check = array();
$check[$magicid] = $check[$orderby] = $check[$ascdesc] = 'selected="selected"';
$magiccount = $db->result_first("SELECT COUNT(*) FROM {$tablepre}magicmarket $filteradd");
$multipage = multi($magiccount, $tpp, $page, "magic.php?action=market$magicadd");
$query = $db->query("SELECT * FROM {$tablepre}magicmarket $filteradd LIMIT $start_limit,$tpp");
while($magic = $db->fetch_array($query)) {
$magic['weight'] = $magicarray[$magic['magicid']]['weight'];
$magic['name'] = $magicarray[$magic['magicid']]['name'];
$magic['description'] = $magicarray[$magic['magicid']]['description'];
$magiclist[] = $magic;
}
$magicselect = '';
foreach($magicarray as $id => $magic) {
if($magic['available']) {
$magicselect .= '<option value="'.$id.'" '.$check[$id].'>'.$magic['name'].'</option>';
}
}
include template('magic_market');
} elseif($operation == 'buy' || $operation == 'down') {
$magicnum = intval($magicnum);
if($magic = $db->fetch_first("SELECT mid, magicid, uid, username, price, num FROM {$tablepre}magicmarket WHERE mid='$mid'")) {
$magic['pic'] = strtolower($magicarray[$magic['magicid']]['identifier']).".gif";
$magic['name'] = $magicarray[$magic['magicid']]['name'];
$magic['marketprice'] = $magicarray[$magic['magicid']]['price'];
$magic['description'] = $magicarray[$magic['magicid']]['description'];
$magic['weight'] = $magicarray[$magic['magicid']]['weight'];
}
if(($operation == 'buy' && $magic['uid'] == $discuz_uid) || ($operation == 'down' && $magic['uid'] != $discuz_uid)) {
showmessage('magics_market_operation_error');
}
if(submitcheck('buysubmit')) {
$magicnum = intval($magicnum);
$magicprice = $magic['price'] * $magicnum;
$magicweight = $magic['weight'] * $magicnum;
if(!$magicnum || $magicnum < 0) {
showmessage('magics_num_invalid');
} elseif($magic['num'] < $magicnum) {
showmessage('magics_amount_no_enough');
}
if(${'extcredits'.$creditstransextra[3]} < $magicprice) {
showmessage('magics_credits_no_enough');
}
getmagic($magic['magicid'], $magicnum, $magicweight, $totalweight, $discuz_uid, $maxmagicsweight);
$totalcredit = floor($magicprice * (1 - $creditstax));
$db->query("UPDATE {$tablepre}members SET extcredits$creditstransextra[3]=extcredits$creditstransextra[3]+'$totalcredit' WHERE uid='$magic[uid]'");
$db->query("UPDATE {$tablepre}members SET extcredits$creditstransextra[3]=extcredits$creditstransextra[3]+(-'$magicprice') WHERE uid='$discuz_uid'");
sendpm($magic['uid'], 'magics_sell_subject', 'magics_sell_message', 0);
updatemagiclog($magic['magicid'], '5', $magicnum, $magic['price'], '0', $discuz_uid);
marketmagicnum($magic['mid'], $magic['num'], $magicnum);
showmessage('magics_succeed', 'magic.php?action=index');
}
if(submitcheck('downsubmit')) {
if($magic['num'] < $magicnum || $magicnum < 0) {
showmessage('magics_amount_no_enough');
}
$magic['weight'] = $magic['weight'] * $magicnum;
getmagic($magic['magicid'], $magicnum, $magic['weight'], $totalweight, $discuz_uid, $maxmagicsweight);
updatemagiclog($magic['magicid'], '6', $magicnum, '0', '0', $discuz_uid);
marketmagicnum($magic['mid'], $magic['num'], $magicnum);
showmessage('magics_succeed', '', 1);
}
include template('magic_market');
}
} elseif($action == 'log') {
$discuz_action = 173;
$loglist = array();
if($operation == 'uselog') {
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}magiclog WHERE action='2' AND uid='$discuz_uid'");
$multipage = multi($db->result($query, 0), $tpp, $page, 'magic.php?action=log&operation=uselog');
$query = $db->query("SELECT ml.*, me.username FROM {$tablepre}magiclog ml
LEFT JOIN {$tablepre}members me ON me.uid=ml.uid
WHERE ml.action='2' AND ml.uid='$discuz_uid' ORDER BY ml.dateline DESC
LIMIT $start_limit, $tpp");
while($log = $db->fetch_array($query)) {
$log['dateline'] = dgmdate("$dateformat $timeformat", $log['dateline'] + $timeoffset * 3600);
$log['name'] = $magicarray[$log['magicid']]['name'];
if($log['targettid'] || $log['targetpid']) {
$log['target'] = 'viewthread.php?tid='.$log['targettid'];
} elseif($log['targetuid']) {
$log['target'] = 'space.php?uid='.$log['targetuid'];
} else {
$log['target'] = '';
}
$loglist[] = $log;
}
} elseif($operation == 'buylog') {
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}magiclog WHERE uid='$discuz_uid' AND action='1'");
$multipage = multi($db->result($query, 0), $tpp, $page, 'magic.php?action=log&operation=buylog');
$query = $db->query("SELECT * FROM {$tablepre}magiclog
WHERE uid='$discuz_uid' AND action='1' ORDER BY dateline DESC
LIMIT $start_limit, $tpp");
while($log = $db->fetch_array($query)) {
$log['dateline'] = dgmdate("$dateformat $timeformat", $log['dateline'] + $timeoffset * 3600);
$log['name'] = $magicarray[$log['magicid']]['name'];
$loglist[] = $log;
}
} elseif($operation == 'givelog') {
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}magiclog WHERE uid='$discuz_uid' AND action='3'");
$multipage = multi($db->result($query, 0), $tpp, $page, 'magic.php?action=log&operation=givelog');
$query = $db->query("SELECT ml.*, me.username FROM {$tablepre}magiclog ml
LEFT JOIN {$tablepre}members me ON me.uid=ml.targetuid
WHERE ml.uid='$discuz_uid' AND ml.action='3' ORDER BY ml.dateline DESC
LIMIT $start_limit, $tpp");
while($log = $db->fetch_array($query)) {
$log['dateline'] = dgmdate("$dateformat $timeformat", $log['dateline'] + $timeoffset * 3600);
$log['name'] = $magicarray[$log['magicid']]['name'];
$loglist[] = $log;
}
} elseif($operation == 'receivelog') {
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}magiclog WHERE targetuid='$discuz_uid' AND action='3'");
$multipage = multi($db->result($query, 0), $tpp, $page, 'magic.php?action=log&operation=receivelog');
$query = $db->query("SELECT ml.*, me.username FROM {$tablepre}magiclog ml
LEFT JOIN {$tablepre}members me ON me.uid=ml.uid
WHERE ml.targetuid='$discuz_uid' AND ml.action='3' ORDER BY ml.dateline DESC
LIMIT $start_limit, $tpp");
while($log = $db->fetch_array($query)) {
$log['dateline'] = dgmdate("$dateformat $timeformat", $log['dateline'] + $timeoffset * 3600);
$log['name'] = $magicarray[$log['magicid']]['name'];
$loglist[] = $log;
}
} elseif($operation == 'marketlog') {
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}magiclog WHERE uid='$discuz_uid' AND action IN ('4','5')");
$multipage = multi($db->result($query, 0), $tpp, $page, 'magic.php?action=log&operation=receivelog');
$query = $db->query("SELECT * FROM {$tablepre}magiclog
WHERE uid='$discuz_uid' AND action IN ('4','5','6') ORDER BY dateline DESC
LIMIT $start_limit, $tpp");
while($log = $db->fetch_array($query)) {
$log['dateline'] = dgmdate("$dateformat $timeformat", $log['dateline'] + $timeoffset * 3600);
$log['name'] = $magicarray[$log['magicid']]['name'];
$loglist[] = $log;
}
}
include template('magic_log');
} elseif($action == 'usemagic') {
$magiclist = $magicselect = array();
$typeid = intval($type);
$magicid = intval($magicid);
$magiclist = magicselect($discuz_uid, $typeid, array('magic' => array('magicid', 'name', 'description')));
if($magicid) {
$magicselect = array($magicid => 'selected="selected"');
$magic = $db->fetch_first("SELECT m.*, mm.num
FROM {$tablepre}membermagics mm
LEFT JOIN {$tablepre}magics m ON mm.magicid=m.magicid
WHERE mm.uid='$discuz_uid' AND mm.magicid='$magicid'");
if(!$magic) {
showmessage('magics_nonexistence');
} elseif($magic['num'] <= 0) {
$db->query("DELETE FROM {$tablepre}membermagics WHERE uid='$discuz_uid' AND magicid='$magic[magicid]'");
showmessage('magics_nonexistence');
}
$magicperm = unserialize($magic['magicperm']);
if(!submitcheck('usesubmit')) {
include language('magics');
$username = dhtmlspecialchars($username);
$useperm = (strstr($magicperm['usergroups'], "\t$groupid\t") || empty($magicperm['usergroups'])) ? '1' : '0';
if(!$useperm) {
showmessage('magics_use_nopermission');
}
if(in_array($magic['type'], array(1, 2)) && $pid) {
$pid = intval($pid);
$perm = $db->fetch_first("SELECT tid, author, anonymous FROM {$tablepre}posts WHERE pid='$pid'");
if($magic['type'] == 2 && $perm['anonymous']) {
showmessage('magics_post_anonymous');
}
$tid = $perm['tid'];
$username = $perm['author'];
}
if(!@include_once DISCUZ_ROOT.($magicfile = "./include/magic/$magic[filename]")) {
showmessage('magics_filename_nonexistence');
}
}
}
include template('magic_use');
} else {
showmessage('undefined_action', NULL, 'HALTED');
}
?>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -