diff --git a/f_install/j_install_status.php b/f_install/j_install_status.php index 23e87164..15d7c65a 100644 --- a/f_install/j_install_status.php +++ b/f_install/j_install_status.php @@ -24,7 +24,7 @@ $rootDB->error_handler = function($params){ ]); }; -$memberCnt = $rootDB->queryFirstField('SELECT count(`NO`) from MEMBER'); +$memberCnt = $rootDB->queryFirstField('SELECT count(`NO`) from member'); if($memberCnt == 0){ Json::die([ 'step'=>'admin', diff --git a/hwe/_admin2_submit.php b/hwe/_admin2_submit.php index eead775e..c36380c2 100644 --- a/hwe/_admin2_submit.php +++ b/hwe/_admin2_submit.php @@ -26,281 +26,326 @@ $connect=$db->get(); switch($btn) { case "전체 접속허용": - $query = "update general set con=0"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $db->update('general', [ + 'con'=>0 + ], true); break; case "전체 접속제한": - $query = "update general set con=1000"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $db->update('general', [ + 'con'=>1000 + ], true); break; case "블럭 해제": + $db->update('general', [ + 'block'=>0 + ], '`no` IN %li', $genlist); DB::db()->query('update general set block=0 where no IN %li', $genlist); break; case "1단계 블럭": $date = date('Y-m-d H:i:s'); - $db = DB::db(); - $db->query('update general set block=1,killturn=24 where no IN %li',$genlist); - //FIXME: subquery로 하는게 더 빠를 듯. - $uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist); - RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where no IN %ls', $date, $uid); + $db->update('general', [ + 'block'=>1, + 'killturn'=>24 + ], '`no` IN %li', $genlist); + $uid = $db->queryFirstColumn('SELECT `owner` FROM general WHERE `no` IN %li', $genlist); + RootDB::db()->update('member',[ + 'block_num'=>$db->sqleval('block_num+1'), + 'block_date'=>$date + ], 'id IN %li', $uid); break; case "2단계 블럭": $date = date('Y-m-d H:i:s'); - $db = DB::db(); - $db->query('update general set gold=0,rice=0,block=2,killturn=24 where no IN %li',$genlist); + $db->update('general', [ + 'gold'=>0, + 'rice'=>0, + 'block'=>2, + 'killturn'=>24 + ], '`no` IN %li', $genlist); $uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist); - RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); + RootDB::db()->update('member',[ + 'block_num'=>$db->sqleval('block_num+1'), + 'block_date'=>$date + ], 'id IN %li', $uid); break; case "3단계 블럭": $date = date('Y-m-d H:i:s'); - $db = DB::db(); - $db->query('update general set gold=0,rice=0,block=3,killturn=24 where no IN %li',$genlist); - $uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist); - RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); + $db->update('general', [ + 'gold'=>0, + 'rice'=>0, + 'block'=>3, + 'killturn'=>24 + ], '`no` IN %li', $genlist); + $uid = $db->queryFirstColumn('SELECT `owner` from general where no IN %li', $genlist); + RootDB::db()->update('member',[ + 'block_num'=>$db->sqleval('block_num+1'), + 'block_date'=>$date + ], 'id IN %li', $uid); break; case "무한삭턴": - DB::db()->query('update general set killturn=8000 where no IN %li',$genlist); + $db->update('general', [ + 'killturn'=>8000 + ], '`no` IN %li', $genlist); break; case "강제 사망": $date = date('Y-m-d H:i:s'); - DB::db()->query('update general set turn0=0,killturn=0,turntime=%s where no IN %li',$date, $genlist); + $db->update('general', [ + 'turn0'=>0, + 'killturn'=>0, + 'turntime'=>$date, + ], '`no` IN %li', $genlist); break; case "특기 부여": - $admin = DB::db()->queryFirstRow('select `year`, `month` from `game` where `no`=1'); + list($year, $month) = $db->queryFirstList('select `year`, `month` from `game` where `no`=1'); - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = "특기 부여!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "select no,leader,power,intel from general where no='$genlist[$i]'"; - $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - $general = MYDB_fetch_array($result); + $src = MessageTarget::buildQuick($session->generalID); + $text = "특기 부여!"; - $special2 = getSpecial2($general['leader'], $general['power'], $general['intel']); + foreach($db->query("SELECT `no`,leader,power,intel,dex0,dex10,dex20,dex30,dex40 FROM general WHERE `no` IN %li", $genlist) as $general){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($general['no']), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); - $query = "update general set specage2=age,special2='$special2' where no='{$general['no']}'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - - $log[0] = "●특기 【".getGenSpecial($special2)."】(을)를 익혔습니다!"; - pushGeneralHistory($general, "●{$admin['year']}년 {$admin['month']}월:특기 【".getGenSpecial($special2)."】(을)를 습득"); - pushGenLog($general, $log); + $specialWar = SpecialityConst::pickSpecialWar($general); + $db->update('general', [ + 'specage2'=>$db->sqleval('age'), + 'special2'=>$specialWar + ], 'no=%i', $general['no']); + $specialWarName = SpecialityConst::WAR[$specialWar][0]; + pushGeneralHistory($general, "●{$year}년 {$month}월:특기 【{$specialWarName}】(을)를 습득"); + pushGenLog($general, ["●특기 【{$specialWarName}】(을)를 익혔습니다!"]); } + break; case "경험치1000": - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = $btn." 지급!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "update general set experience=experience+1000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $src = MessageTarget::buildQuick($session->generalID); + $text = $btn." 지급!"; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } + $db->update('general',[ + 'experience'=>$db->sqleval('experience+1000') + ], '`no` IN %li', $genlist); + break; case "공헌치1000": - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = $btn." 지급!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "update general set dedication=dedication+1000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $src = MessageTarget::buildQuick($session->generalID); + $text = $btn." 지급!"; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } + $db->update('general',[ + 'dedication'=>$db->sqleval('dedication+1000') + ], '`no` IN %li', $genlist); + break; case "보숙10000": - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = "보병숙련도+10000 지급!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "update general set dex0=dex0+10000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $src = MessageTarget::buildQuick($session->generalID); + $text = "보병숙련도+10000 지급!"; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } + $db->update('general',[ + 'dex0'=>$db->sqleval('dex0+10000') + ], '`no` IN %li', $genlist); break; case "궁숙10000": - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = "궁병숙련도+10000 지급!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "update general set dex10=dex10+10000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $src = MessageTarget::buildQuick($session->generalID); + $text = "궁병숙련도+10000 지급!"; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } + $db->update('general',[ + 'dex10'=>$db->sqleval('dex10+10000') + ], '`no` IN %li', $genlist); break; case "기숙10000": - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = "기병숙련도+10000 지급!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "update general set dex20=dex20+10000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $src = MessageTarget::buildQuick($session->generalID); + $text = "기병숙련도+10000 지급!"; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } + $db->update('general',[ + 'dex20'=>$db->sqleval('dex20+10000') + ], '`no` IN %li', $genlist); break; case "귀숙10000": - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = "귀병숙련도+10000 지급!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "update general set dex30=dex30+10000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $src = MessageTarget::buildQuick($session->generalID); + $text = "귀병숙련도+10000 지급!"; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } + $db->update('general',[ + 'dex30'=>$db->sqleval('dex30+10000') + ], '`no` IN %li', $genlist); break; case "차숙10000": - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - $msg = "차병숙련도+10000 지급!"; - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); - } - for($i=0; $i < count($genlist); $i++) { - $query = "update general set dex40=dex40+10000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + $src = MessageTarget::buildQuick($session->generalID); + $text = "차병숙련도+10000 지급!"; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } + $db->update('general',[ + 'dex40'=>$db->sqleval('dex40+10000') + ], '`no` IN %li', $genlist); break; case "접속 허용": - for($i=0; $i < count($genlist); $i++) { - $query = "update general set con=0 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - } + $db->update('genera',[ + 'con'=>0 + ], '`no` IN %li', $genlist); break; case "접속 제한": - for($i=0; $i < count($genlist); $i++) { - $query = "update general set con=1000 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - } + $db->update('genera',[ + 'con'=>1000 + ], '`no` IN %li', $genlist); break; case "메세지 전달": - //TODO:새 갠메 시스템으로 변경 - $date = date('Y-m-d H:i:s'); - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); + $text = $msg; + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); } break; case "무기지급": - $date = date('Y-m-d H:i:s'); - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - if($weap == 0) { $msg = "무기 회수!"; } - else { $msg = getWeapName($weap)." 지급!"; } - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); + + if($weap == 0) { + $text = "무기 회수!"; } - for($i=0; $i < count($genlist); $i++) { - if($weap == 0) { - $query = "update general set weap='0' where no='$genlist[$i]'"; - } else { - $query = "update general set weap='$weap' where no='$genlist[$i]' and weap<'$weap'"; - } - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + else { + $text = getWeapName($weap)." 지급!"; + } + + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); + } + + if($weap == 0){ + $db->update('general', [ + 'weap'=>0 + ], '`no` IN %li', $genlist); + } + else{ + $db->update('general', [ + 'weap'=>$weap + ], '`no` IN %li AND weap < %i', $genlist, $weap); } break; case "책지급": - $date = date('Y-m-d H:i:s'); - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - if($weap == 0) { $msg = "서적 회수!"; } - else { $msg = getBookName($weap)." 지급!"; } - // 상대에게 발송 - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); + if($weap == 0) { + $text = "책 회수!"; } - for($i=0; $i < count($genlist); $i++) { - if($weap == 0) { - $query = "update general set book='0' where no='$genlist[$i]'"; - } else { - $query = "update general set book='$weap' where no='$genlist[$i]' and book<'$weap'"; - } - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + else { + $text = getBookName($weap)." 지급!"; + } + + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); + } + + if($weap == 0){ + $db->update('general', [ + 'book'=>0 + ], '`no` IN %li', $genlist); + } + else{ + $db->update('general', [ + 'book'=>$weap + ], '`no` IN %li AND book < %i', $genlist, $weap); } break; case "말지급": - $date = date('Y-m-d H:i:s'); - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - if($weap == 0) { $msg = "말 회수!"; } - else { $msg = getHorseName($weap)." 지급!"; } - // 상대에게 발송 - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); + if($weap == 0) { + $text = "말 회수!"; } - for($i=0; $i < count($genlist); $i++) { - if($weap == 0) { - $query = "update general set horse='0' where no='$genlist[$i]'"; - } else { - $query = "update general set horse='$weap' where no='$genlist[$i]' and horse<'$weap'"; - } - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + else { + $text = getHorseName($weap)." 지급!"; + } + + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); + } + + if($weap == 0){ + $db->update('general', [ + 'horse'=>0 + ], '`no` IN %li', $genlist); + } + else{ + $db->update('general', [ + 'horse'=>$weap + ], '`no` IN %li AND horse < %i', $genlist, $weap); } break; case "도구지급": - $date = date('Y-m-d H:i:s'); - for($i=0; $i < count($genlist); $i++) { - $you = DB::db()->queryFirstRow('select `no`, `nation` from `general` where `no` = %i', $genlist[$i]); - if($weap == 0) { $msg = "특수도구 회수!"; } - else { $msg = getItemName($weap)." 지급!"; } - // 상대에게 발송 - sendMessage('private', ['id'=>$generalID, 'nation_id'=>0], ['id'=>$you['no'], 'nation_id'=>$you['nation']], $msg); + if($weap == 0) { + $text = "특수도구 회수!"; } - for($i=0; $i < count($genlist); $i++) { - if($weap == 0) { - $query = "update general set item='0' where no='$genlist[$i]'"; - } else { - $query = "update general set item='$weap' where no='$genlist[$i]' and item<'$weap'"; - } - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + else { + $text = getItemName($weap)." 지급!"; + } + + foreach($genlist as $generalID){ + $msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($generalID), $text, new DateTime(), new DateTime('9999-12-31'), []); + $msg->send(true); + } + + if($weap == 0){ + $db->update('general', [ + 'item'=>0 + ], '`no` IN %li', $genlist); + } + else{ + $db->update('general', [ + 'item'=>$weap + ], '`no` IN %li AND item < %i', $genlist, $weap); } break; case "NPC해제": - for($i=0; $i < count($genlist); $i++) { - $query = "update general set npc=1 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - } + $db->update('general', [ + 'npc'=>1 + ], '`no` IN %li', $genlist); break; case "하야입력": - for($i=0; $i < count($genlist); $i++) { - $query = "update general set turn0='00000000000045' where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - } + $db->update('general', [ + 'turn0'=>'00000000000045' + ], '`no` IN %li', $genlist); break; case "방랑해산": - for($i=0; $i < count($genlist); $i++) { - $query = "update general set turn0='00000000000047',turn1='00000000000056' where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - } + $db->update('general', [ + 'turn0'=>'00000000000047', + 'turn1'=>'00000000000056' + ], '`no` IN %li', $genlist); break; case "NPC설정": - for($i=0; $i < count($genlist); $i++) { - $query = "update general set npc=2 where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - } + $db->update('general', [ + 'npc'=>2 + ], '`no` IN %li', $genlist); break; case "00턴": - $query = "select turnterm from game limit 1"; - $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - $admin = MYDB_fetch_array($result); + $turnterm = $db->queryFirstField('SELECT turnterm FROM game LIMIT 1'); - for($i=0; $i < count($genlist); $i++) { - $turntime = getRandTurn($admin['turnterm']); - $cutTurn = cutTurn($turntime, $admin['turnterm']); - $query = "update general set turntime='$cutTurn' where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + foreach($genlist as $generalID){ + $turntime = getRandTurn($turnterm); + $cutTurn = cutTurn($turntime, $turnterm); + $db->update('general', [ + 'turntime'=>$curTurn + ], '`no` IN %li', $genlist); } break; case "랜덤턴": - $query = "select turnterm from game limit 1"; - $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); - $admin = MYDB_fetch_array($result); - - for($i=0; $i < count($genlist); $i++) { - $turntime = getRandTurn($admin['turnterm']); - $query = "update general set turntime='$turntime' where no='$genlist[$i]'"; - MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); + foreach($genlist as $generalID){ + $turntime = getRandTurn($turnterm); + $db->update('general', [ + 'turntime'=>$turntime + ], '`no` IN %li', $genlist); } break; } diff --git a/hwe/_admin4_submit.php b/hwe/_admin4_submit.php index d4032440..41dd5aca 100644 --- a/hwe/_admin4_submit.php +++ b/hwe/_admin4_submit.php @@ -31,21 +31,21 @@ switch($btn) { $db->query('update general set block=1,killturn=24 where no IN %li',$genlist); //FIXME: subquery로 하는게 더 빠를 듯. $uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist); - RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); + RootDB::db()->query('update member set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); break; case "2단계 블럭": $date = date('Y-m-d H:i:s'); $db = DB::db(); $db->query('update general set block=2,killturn=24 where no IN %li',$genlist); $uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist); - RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); + RootDB::db()->query('update member set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); break; case "3단계 블럭": $date = date('Y-m-d H:i:s'); $db = DB::db(); $db->query('update general set block=3,killturn=24 where no IN %li',$genlist); $uid = $db->queryFirstColumn('select owner from general where no IN %li', $genlist); - RootDB::db()->query('update MEMBER set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); + RootDB::db()->query('update member set block_num=block_num+1,block_date=%s where id IN %ls', $date, $uid); break; case "무한삭턴": DB::db()->query('update general set killturn=8000 where no IN %li',$genlist); diff --git a/hwe/j_adjust_icon.php b/hwe/j_adjust_icon.php index 4121e998..c546360a 100644 --- a/hwe/j_adjust_icon.php +++ b/hwe/j_adjust_icon.php @@ -9,7 +9,7 @@ $userID = Session::getUserID(); $rootDB = RootDB::db(); $db = DB::db(); -$image = $rootDB->queryFirstRow('SELECT picture, imgsvr FROM `MEMBER` WHERE no = %i', $userID); +$image = $rootDB->queryFirstRow('SELECT picture, imgsvr FROM `member` WHERE no = %i', $userID); if(!$image){ Json::die([ diff --git a/hwe/join.php b/hwe/join.php index 6cbfd585..759c1373 100644 --- a/hwe/join.php +++ b/hwe/join.php @@ -14,7 +14,7 @@ if (!$userID) { } //회원 테이블에서 정보확인 -$member = RootDB::db()->queryFirstRow("select no,name,picture,imgsvr,grade from MEMBER where no= %i", $userID); +$member = RootDB::db()->queryFirstRow("select no,name,picture,imgsvr,grade from member where no= %i", $userID); if (!$member) { MessageBox("잘못된 접근입니다!!!"); diff --git a/hwe/join_post.php b/hwe/join_post.php index 776a328b..aaf3d3c1 100644 --- a/hwe/join_post.php +++ b/hwe/join_post.php @@ -57,7 +57,7 @@ extractMissingPostToGlobals(); $rootDB = RootDB::db(); //회원 테이블에서 정보확인 -$member = $rootDB->queryFirstRow('SELECT `no`, id, picture, grade, `name` FROM MEMBER WHERE no=%i', $userID); +$member = $rootDB->queryFirstRow('SELECT `no`, id, picture, grade, `name` FROM member WHERE no=%i', $userID); if (!$member) { MessageBox("잘못된 접근입니다!!!"); diff --git a/hwe/sammo/MessageTarget.php b/hwe/sammo/MessageTarget.php index 905c2975..38878bff 100644 --- a/hwe/sammo/MessageTarget.php +++ b/hwe/sammo/MessageTarget.php @@ -56,6 +56,29 @@ class MessageTarget extends Target { ); } + /** + * DB 부하 감수하고 일일히 찾아줌. + * 게임 로직과 크게 연관이 없는 곳에서 메시지를 생성해야 할 경우에만 사용할 것을 권함. + * @return MessageTarget + */ + public static function buildQuick(int $generalID){ + $db = DB::db(); + list( + $generalName, + $nationID, + $imgsvr, + $picture + ) = $db->queryFirstList('SELECT `name`, nation, imgsvr, picture FROM general WHERE `no`=%i', $generalID); + + if($generalName === null){ + return null; + } + + $icon = GetImageURL($imgsvr, $picture); + $nation = getNationStaticInfo($nationID); + return new MessageTarget($generalID, $generalName, $nationID, $nation['name'], $nation['color'], $icon); + } + public function toArray() : array{ return [ 'id'=>$this->generalID, diff --git a/hwe/select_npc.php b/hwe/select_npc.php index be20ead0..d3a28d97 100644 --- a/hwe/select_npc.php +++ b/hwe/select_npc.php @@ -9,7 +9,7 @@ $userID = Session::getUserID(); $rootDB = RootDB::db(); //회원 테이블에서 정보확인 -$member = $rootDB->queryFirstRow('select no,name,picture,grade from MEMBER where no=%i', $userID); +$member = $rootDB->queryFirstRow('select no,name,picture,grade from member where no=%i', $userID); if(!$member) { MessageBox("잘못된 접근입니다!!!"); diff --git a/hwe/select_npc_post.php b/hwe/select_npc_post.php index 8f4c3c15..86e1aee5 100644 --- a/hwe/select_npc_post.php +++ b/hwe/select_npc_post.php @@ -21,7 +21,7 @@ $face = (int)$_POST['face']; $rootDB = RootDB::db(); //회원 테이블에서 정보확인 -$member = $rootDB->queryFirstRow('SELECT `no`, id, picture, grade, `name` FROM MEMBER WHERE no=%i', $userID); +$member = $rootDB->queryFirstRow('SELECT `no`, id, picture, grade, `name` FROM member WHERE no=%i', $userID); if(!$member) { MessageBox("잘못된 접근입니다!!!"); diff --git a/i_entrance/entrance.php b/i_entrance/entrance.php index 0795c7fa..50066f5d 100644 --- a/i_entrance/entrance.php +++ b/i_entrance/entrance.php @@ -9,7 +9,7 @@ $session = Session::requireLogin()->setReadOnly(); $templates = new \League\Plates\Engine('templates'); $db = RootDB::db(); -$notice = $db->queryFirstField('SELECT `NOTICE` FROM `SYSTEM` WHERE `NO`=1'); +$notice = $db->queryFirstField('SELECT `NOTICE` FROM `system` WHERE `NO`=1'); $userGrade = $session->userGrade; ?> diff --git a/i_entrance/j_delete_me.php b/i_entrance/j_delete_me.php index 235d8ecb..033a89b8 100644 --- a/i_entrance/j_delete_me.php +++ b/i_entrance/j_delete_me.php @@ -20,7 +20,7 @@ if(!$pw){ //TODO: 탈퇴 처리하되 한달간 유지. $db = RootDB::db(); -$userInfo = $db->queryFirstRow('SELECT oauth_id, oauth_type, email, delete_after FROM MEMBER '. +$userInfo = $db->queryFirstRow('SELECT oauth_id, oauth_type, email, delete_after FROM member '. 'WHERE `no`=%i and pw=sha2(concat(salt, %s, salt), 512)', $userID, $pw); diff --git a/i_entrance/j_get_user_info.php b/i_entrance/j_get_user_info.php index a34d2bf5..f42e1674 100644 --- a/i_entrance/j_get_user_info.php +++ b/i_entrance/j_get_user_info.php @@ -9,7 +9,7 @@ $userID = Session::getUserID(); // 외부 파라미터 $db = RootDB::db(); -$member = $db->queryFirstRow('SELECT `id`, `name`, `grade`, `picture` FROM `MEMBER` WHERE `NO` = %i', $userID); +$member = $db->queryFirstRow('SELECT `id`, `name`, `grade`, `picture` FROM `member` WHERE `NO` = %i', $userID); if(!$member['picture']){ $picture = ServConfig::getSharedIconPath().'/default.jpg'; diff --git a/i_entrance/j_icon_change.php b/i_entrance/j_icon_change.php index 29b7303b..16f1579d 100644 --- a/i_entrance/j_icon_change.php +++ b/i_entrance/j_icon_change.php @@ -22,7 +22,7 @@ $imageType = $size[2]; $availableImageType = array('.jpg'=>IMAGETYPE_JPEG, '.png'=>IMAGETYPE_PNG, '.gif'=>IMAGETYPE_GIF); $db = RootDB::db(); -$member = $db->queryFirstRow('SELECT `ID`, `PICTURE` FROM `MEMBER` WHERE `NO` = %i', $userID); +$member = $db->queryFirstRow('SELECT `ID`, `PICTURE` FROM `member` WHERE `NO` = %i', $userID); $picName = $member['PICTURE']; @@ -77,7 +77,7 @@ if(!is_uploaded_file($image['tmp_name'])) { $response['result'] = false; } else { $pic = "{$newPicName}?={$rf}"; - RootDB::db()->update('MEMBER',[ + RootDB::db()->update('member',[ 'PICTURE' => $pic, 'IMGSVR' => 1 ], 'NO=%i', $userID); diff --git a/i_entrance/j_icon_delete.php b/i_entrance/j_icon_delete.php index 50d6c4a5..5703fc0d 100644 --- a/i_entrance/j_icon_delete.php +++ b/i_entrance/j_icon_delete.php @@ -10,7 +10,7 @@ $userID = Session::getUserID(); $respone = []; $db = RootDB::db(); -$picName = $db->queryFirstField('SELECT picture FROM `MEMBER` WHERE `NO` = %i', $userID); +$picName = $db->queryFirstField('SELECT picture FROM `member` WHERE `NO` = %i', $userID); if($picName && strlen($picName) > 11){ $dt = substr($picName, -8); @@ -32,7 +32,7 @@ if($dt == $rf) { $response['reason'] = '1일 1회 변경 가능합니다!'; $response['result'] = false; } else { - $db->update('MEMBER', [ + $db->update('member', [ 'PICTURE'=>'default.jpg', 'IMGSVR'=>0, ], 'NO=%i', $userID); diff --git a/i_entrance/j_server_change_status.php b/i_entrance/j_server_change_status.php index 442fb720..4afc66a6 100644 --- a/i_entrance/j_server_change_status.php +++ b/i_entrance/j_server_change_status.php @@ -56,7 +56,7 @@ function doAdminPost($action, $notice, $server){ $response = ['result' => 'FAIL']; if($action == 'notice') { - RootDB::db()->update('SYSTEM', ['NOTICE'=>$notice], true); + RootDB::db()->update('system', ['NOTICE'=>$notice], true); $response['result'] = 'SUCCESS'; return $response; } diff --git a/j_login.php b/j_login.php index 169b60b7..2acebb15 100644 --- a/j_login.php +++ b/j_login.php @@ -35,7 +35,7 @@ if(!$userInfo){ ]); } -$canLogin = $RootDB->queryFirstField('SELECT `LOGIN` FROM `SYSTEM` WHERE `NO` = 1'); +$canLogin = $RootDB->queryFirstField('SELECT `LOGIN` FROM `system` WHERE `NO` = 1'); if($canLogin != 'Y' && $userInfo['grade'] < 5){ Json::die([ 'result'=>false, diff --git a/oauth_kakao/j_join_process.php b/oauth_kakao/j_join_process.php index 4e168497..c4c37985 100644 --- a/oauth_kakao/j_join_process.php +++ b/oauth_kakao/j_join_process.php @@ -8,7 +8,7 @@ use \kakao\Kakao_REST_API_Helper as Kakao_REST_API_Helper; $session = Session::getInstance(); -$canJoin = RootDB::db()->queryFirstField('SELECT REG FROM `SYSTEM` WHERE `NO` = 1'); +$canJoin = RootDB::db()->queryFirstField('SELECT REG FROM `system` WHERE `NO` = 1'); if($canJoin != 'Y'){ Json::die([ 'result'=>false, diff --git a/oauth_kakao/j_login_oauth.php b/oauth_kakao/j_login_oauth.php index 91cfe645..6fa00312 100644 --- a/oauth_kakao/j_login_oauth.php +++ b/oauth_kakao/j_login_oauth.php @@ -11,7 +11,7 @@ if($session->isLoggedIn()){ $session->logout(); } -$canLogin = RootDB::db()->queryFirstField('SELECT `LOGIN` FROM `SYSTEM` WHERE `NO` = 1'); +$canLogin = RootDB::db()->queryFirstField('SELECT `LOGIN` FROM `system` WHERE `NO` = 1'); if($canLogin != 'Y'){ Json::die([ 'result'=>false, diff --git a/oauth_kakao/join.php b/oauth_kakao/join.php index 535a2eec..48c1403b 100644 --- a/oauth_kakao/join.php +++ b/oauth_kakao/join.php @@ -12,7 +12,7 @@ if(!$access_token){ header('Location:oauth_fail.html'); } -$canJoin = RootDB::db()->queryFirstField('SELECT REG FROM `SYSTEM` WHERE `NO` = 1'); +$canJoin = RootDB::db()->queryFirstField('SELECT REG FROM `system` WHERE `NO` = 1'); if($canJoin != 'Y'){ die('현재는 가입이 금지되어있습니다!'); }