📄 colony.php
字号:
'cname' => $cydb['cname'],
);
colonylog($log);
require_once(R_P.'require/msg.php');
$message=array(
$cydb['admin'],
$winduid,
'donate_title',
$timestamp,
'donate_content',
'',
$windid
);
writenewmsg($message,1);
Showmsg('colony_donatesuccess');
}
}elseif ($job=='donatelog'){
require_once GetLang('log');
include_once(R_P.'require/forum.php');
(!is_numeric($page) || $page < 1) && $page = 1;
$limit = "LIMIT ".($page-1)*$db_perpage.",$db_perpage";
$rt = $db->get_one("SELECT COUNT(*) AS sum FROM pw_forumlog WHERE field2='$cyid' AND type='cy_donate'");
$pages = numofpage($rt['sum'],$page,ceil($rt['sum']/$db_perpage),"$basename&cyid=$cyid&job=donatelog&");
$logdb=array();
$query = $db->query("SELECT * FROM pw_forumlog WHERE field2='$cyid' AND type='cy_donate' ORDER BY id DESC $limit");
while($rt = $db->fetch_array($query)){
$rt['date'] = get_date($rt['timestamp']);
$rt['descrip'] = str_replace(array('[b]','[/b]'),array('<b>','</b>'),$rt['descrip']);
$logdb[] = $rt;
}
require_once PrintEot('colony');footer();
}elseif ($job=='quit'){
if ($cydb['admin'] == $windid){
Showmsg('colony_quitfail');
}else{
if (!$cydb){
Showmsg('undefined_action');
}
$db->update("UPDATE pw_colonys SET members=members-1 WHERE id='$cyid'");
$db->update("DELETE FROM pw_cmembers WHERE colonyid='$cyid' AND uid='$winduid'");
refreshto($basename,'colony_quitsuccess');
}
}elseif ($job=='set'){
if($cydb['ifadmin'] != 1){
Showmsg('colony_adminright');
}
if (!$step){
if ($cydb['ifcheck']=='1'){
$ifcheck_1='checked';
$ifcheck_0='';
}else{
$ifcheck_0='checked';
$ifcheck_1='';
}
if ($cydb['annoucesee']=='1'){
$annoucesee_1='checked';
$annoucesee_0='';
}else{
$annoucesee_0='checked';
$annoucesee_1='';
}
if($cn_joinmoney && $cydb['intomoney'] < $cn_joinmoney){
$cydb['intomoney'] = $cn_joinmoney;
}
$classdb = array();
$query = $db->query("SELECT * FROM pw_cnclass");
while ($rt = $db->fetch_array($query)){
$classdb[] = $rt;
}
require_once PrintEot('colony');footer();
}elseif ($step == '2'){
!$cname && Showmsg('colony_emptyname');
if($cydb['cname'] != $cname){
$rt = $db->get_one("SELECT id FROM pw_colonys WHERE cname='$cname'");
if ($rt['id']){
Showmsg('colony_samename');
}
}
$cname = Char_cv($cname);
$descrip = Char_cv($descrip);
$annouce = Char_cv($annouce);
if(strlen($cname) > 20){
Showmsg('colony_cnamelimit');
}
if(strlen($descrip) > 255){
Showmsg('colony_descriplimit');
}
if(strlen($annouce) > 255){
Showmsg('colony_annoucelimit');
}
$attachment=$_FILES['attachment'];
if (is_array($attachment)){
$attachment_name=$attachment['name'];
$attachment_size=$attachment['size'];
$attachment=$attachment['tmp_name'];
}
if($attachment){
require_once(R_P.'require/postfunc.php');
if(!if_uploaded_file($attachment)){
Showmsg('colony_uploadfail');
}
$attach_ext = substr(strrchr($attachment_name,'.'),1);
if (!in_array($attach_ext, array('gif','jpg','bmp'))) {
Showmsg('illegal_imgtype');
}
$filename = "$imgdir/cn_img/colony_$cyid.$attach_ext";
!$cn_imgsize && $cn_imgsize=1024000;
if ($attachment_size > $cn_imgsize){
Showmsg('colony_sizelimit');
}
if(postupload($attachment,$filename)){
$cnimg = ",cnimg='colony_$cyid.$attach_ext'";
} else {
Showmsg('colony_uploadfail');
}
} else{
$cnimg = '';
}
if (function_exists('getimagesize') && $cnimg && !(list($width,$height)=getimagesize($filename))){
P_unlink($filename);
$db->update("UPDATE pw_colonys SET cnimg='' WHERE id='$cyid'");
Showmsg('pro_loadimg_error');
}
if ($cn_imgwidth && $cn_imgheight && ($width > $cn_imgwidth || $height > $cn_imgheight)){
P_unlink($filename);
$db->update("UPDATE pw_colonys SET cnimg='' WHERE id='$cyid'");
Showmsg('colony_lenthlimit');
}
unset($width,$height);
$intomoney = (int)$intomoney;
if($cn_joinmoney && $intomoney < $cn_joinmoney){
$intomoney = $cn_joinmoney;
}
if($intomoney < 0){
Showmsg('numerics_checkfailed');
}
$db->update("UPDATE pw_colonys SET cname='$cname',classid='$classid',ifcheck='$ifcheck' $cnimg,intomoney='$intomoney',annouce='$annouce',annoucesee='$annoucesee',descrip='$descrip' WHERE id='$cyid'");
refreshto("$basename&cyid=$cyid&job=view&id=$cyid",'colony_setsuccess');
}
} elseif ($job=='member'){
if($cydb['ifadmin'] != 1){
Showmsg('colony_adminright');
}
if(!$action){
(!is_numeric($page) || $page < 1) && $page = 1;
$limit = "LIMIT ".($page-1)*$db_perpage.",$db_perpage";
$pages = numofpage($cydb['members'],$page,ceil($cydb['members']/$db_perpage),"$basename&cyid=$cyid&job=member&");
$query = $db->query("SELECT * FROM pw_cmembers WHERE colonyid='$cyid' $limit");
while($rt = $db->fetch_array($query)){
!$rt['realname'] && $rt['realname'] = $rt['username'];
$memberdb[] = $rt;
}
require_once PrintEot('colony');footer();
} else{
$selids = 0;
foreach($selid as $key => $value){
!is_numeric($value) && Showmsg('numerics_checkfailed');
$selids .= ','.$value;
}
if($action == 'addadmin'){
$windid != $cydb['admin'] && Showmsg('colony_manager');
$db->update("UPDATE pw_cmembers SET ifadmin=1 WHERE uid IN($selids) AND colonyid='$cyid'");
Showmsg('colony_addamin');
} elseif($action == 'deladmin'){
$windid != $cydb['admin'] && Showmsg('colony_manager');
$query = $db->query("SELECT * FROM pw_cmembers WHERE uid IN($selids) AND colonyid='$cyid'");
while($rt = $db->fetch_array($query)){
if($rt['username'] == $cydb['admin']){
Showmsg('colony_delladminfail');
}
}
$db->update("UPDATE pw_cmembers SET ifadmin=0 WHERE uid IN($selids) AND colonyid='$cyid'");
Showmsg('colony_deladmin');
} elseif($action == 'pass'){
require_once(R_P.'require/tool.php');
$query = $db->query("SELECT c.uid,c.username,c.ifadmin,md.currency,md.onlineip FROM pw_cmembers c LEFT JOIN pw_memberdata md USING(uid) WHERE c.uid IN($selids)");
while ($rt = $db->fetch_array($query)){
if($rt['currency'] < $cydb['intomoney']){
Showmsg('colony_passfail');
}elseif($rt[ifadmin]=='-1'){
$db->update("UPDATE pw_cmembers SET ifadmin=0 WHERE uid='$rt[uid]' AND colonyid='$cyid'");
$db->update("UPDATE pw_memberdata SET currency=currency-'$cydb[intomoney]' WHERE uid='$rt[uid]'");
$db->update("UPDATE pw_colonys SET cmoney=cmoney+'$cydb[intomoney]' WHERE id='$cyid'");
if(strpos($rt['onlineip'],'|')!==false){
$rt['onlineip'] = substr($rt['onlineip'],0,strpos($rt['onlineip'],'|'));
}
$logdata=array(
'type' => 'join',
'nums' => 0,
'money' => 0,
'descrip' => 'join_descrip',
'uid' => $rt['uid'],
'username' => $rt['username'],
'ip' => $rt['onlineip'],
'time' => $timestamp,
'currency' => $cydb['intomoney'],
'cname' => $cydb['cname'],
);
writetoollog($logdata);
$log = array(
'type' => 'cy_join',
'username1' => $rt['username'],
'username2' => $windid,
'field1' => $cydb['intomoney'],
'field2' => $cyid,
'field3' => $cydb['cname'],
'descrip' => 'join_descrip',
'timestamp' => $timestamp,
'ip' => $onlineip,
);
colonylog($log);
require_once(R_P.'require/msg.php');
$message=array(
$rt['username'],
$winduid,
'join_title',
$timestamp,
'join_content',
'',
$windid
);
writenewmsg($message,1);
}
}
Showmsg('colony_pass');
} elseif($action == 'del'){
$query = $db->query("SELECT * FROM pw_cmembers WHERE uid IN($selids) AND colonyid='$cyid'");
while($rt = $db->fetch_array($query)){
if($rt['username'] == $cydb['admin']){
Showmsg('colony_delfail');
}elseif($windid != $cydb['admin'] && $rt['ifadmin'] == '1'){
Showmsg('colony_manager');
}
}
$count = count($selids);
$db->update("DELETE FROM pw_cmembers WHERE uid IN($selids) AND colonyid='$cyid'");
$db->update("UPDATE pw_colonys SET members=members-'$count' WHERE id='$cyid'");
Showmsg('colony_del');
}
}
} elseif($job == 'currency'){
$windid != $cydb['admin'] && Showmsg('colony_currency_right');
!$cn_virement && Showmsg('colony_currency');
if(!$_POST['step']){
require_once PrintEot('colony');footer();
}elseif($_POST['step']==2){
$rt = $db->get_one("SELECT uid FROM pw_cmembers WHERE username='$pwuser' AND colonyid='$cyid'");
if(!$rt){
Showmsg('no_colony_member');
}
$touid = $rt['uid'];
if(!is_numeric($currency) || $currency < 0){
Showmsg('illegal_nums');
}
if(!$pwpwd){
Showmsg('empty_password');
}
$rt = $db->get_one("SELECT uid FROM pw_members WHERE uid='$winduid' AND password='".md5($pwpwd)."'");
if(!$rt){
Showmsg('password_error');
}
$tax = round($currency * $cn_rate/100);
$needcurrency = $currency + $tax;
if($cydb['cmoney'] < $needcurrency){
Showmsg('colony_noenough_currency');
}
$db->update("UPDATE pw_colonys SET cmoney=cmoney-'$currency' WHERE id='$cyid'");
$db->update("UPDATE pw_memberdata SET currency=currency+'$currency' WHERE uid='$touid'");
require_once(R_P.'require/tool.php');
$logdata=array(
'type' => 'vire',
'nums' => 0,
'money' => 0,
'descrip' => 'cyvire_descrip',
'uid' => $winduid,
'username' => $windid,
'ip' => $onlineip,
'time' => $timestamp,
'toname' => $pwuser,
'currency' => $currency,
'tax' => $tax
);
writetoollog($logdata);
$log = array(
'type' => 'cy_vire',
'username1' => $pwuser,
'username2' => $windid,
'field1' => $currency,
'field2' => $cyid,
'field3' => $cydb['cname'],
'descrip' => 'cy_vire_descrip',
'timestamp' => $timestamp,
'ip' => $onlineip,
'cname' => $cydb['cname'],
'tax' => $tax
);
colonylog($log);
require_once(R_P.'require/msg.php');
$message=array(
$pwuser,
$winduid,
'cyvire_title',
$timestamp,
'cyvire_content',
'',
$windid
);
writenewmsg($message,1);
Showmsg('virement_success');
}
}elseif($job=='currencylog'){
require_once GetLang('log');
include_once(R_P.'require/forum.php');
(!is_numeric($page) || $page < 1) && $page = 1;
$limit = "LIMIT ".($page-1)*$db_perpage.",$db_perpage";
$rt = $db->get_one("SELECT COUNT(*) AS sum FROM pw_forumlog WHERE field2='$cyid' AND type='cy_vire'");
$pages = numofpage($rt['sum'],$page,ceil($rt['sum']/$db_perpage),"$basename&cyid=$cyid&job=currencylog&");
$logdb=array();
$query = $db->query("SELECT * FROM pw_forumlog WHERE field2='$cyid' AND type='cy_vire' ORDER BY id DESC $limit");
while($rt = $db->fetch_array($query)){
$rt['date'] = get_date($rt['timestamp']);
$rt['descrip']= str_replace(array('[b]','[/b]'),array('<b>','</b>'),$rt['descrip']);
$logdb[] = $rt;
}
require_once PrintEot('colony');footer();
}elseif($job=='joinlog'){
require_once GetLang('log');
include_once(R_P.'require/forum.php');
(!is_numeric($page) || $page < 1) && $page = 1;
$limit = "LIMIT ".($page-1)*$db_perpage.",$db_perpage";
$rt = $db->get_one("SELECT COUNT(*) AS sum FROM pw_forumlog WHERE field2='$cyid' AND type='cy_join'");
$pages = numofpage($rt['sum'],$page,ceil($rt['sum']/$db_perpage),"$basename&cyid=$cyid&job=joinlog&");
$logdb=array();
$query = $db->query("SELECT * FROM pw_forumlog WHERE field2='$cyid' AND type='cy_join' ORDER BY id DESC $limit");
while($rt = $db->fetch_array($query)){
$rt['date'] = get_date($rt['timestamp']);
$rt['descrip']= str_replace(array('[b]','[/b]'),array('<b>','</b>'),$rt['descrip']);
$logdb[] = $rt;
}
require_once PrintEot('colony');footer();
}elseif ($job=='cancel'){
if($cydb['admin']!=$windid){
Showmsg('colony_cancel');
}
!$cn_remove && Showmsg('colony_cancelclose');
P_unlink("$imgdir/cn_img/$cydb[cnimg]");
$db->update("DELETE FROM pw_cmembers WHERE colonyid='$cyid'");
$db->update("DELETE FROM pw_colonys WHERE id='$cyid'");
refreshto($basename,'colony_cancelsuccess');
} else {
Showmsg('undefined_action');
}
function colonylog($log){
global $db;
require GetLang('log');
$log['username1']= Char_cv($log['username1']);
$log['username2']= Char_cv($log['username2']);
$log['field1'] = Char_cv($log['field1']);
$log['field2'] = Char_cv($log['field2']);
$log['field3'] = Char_cv($log['field3']);
$log['descrip'] = Char_cv($lang[$log['descrip']]);
$db->update("INSERT INTO pw_forumlog (type,username1,username2,field1,field2,field3,descrip,timestamp,ip) VALUES('$log[type]','$log[username1]','$log[username2]','$log[field1]','$log[field2]','$log[field3]','$log[descrip]','$log[timestamp]','$log[ip]')");
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -