setReadOnly(); $userID = Session::getUserID(); $db = DB::db(); $gameStor = KVStorage::getStorage($db, 'game_env'); increaseRefresh("설문조사", 1); $isVoteAdmin = in_array('vote', $session->acl[DB::prefix()]??[]); $isVoteAdmin = $isVoteAdmin || $session->userGrade >= 5; $me = $db->queryFirstRow('SELECT no,vote from general where owner=%i', $userID); $admin = $gameStor->getValues(['develcost','voteopen','vote_title','vote','votecomment']); $vote_title = $admin['vote_title']??'-'; $vote = $admin['vote']?:['-']; ?> <?=UniqueConst::$serverName?>: 설문조사
설 문 조 사
"; } $vote_title = Tag2Code($vote_title); echo " "; $voteCount = $db->queryFirstField('SELECT count(no) FROM general WHERE vote>0 AND npc<2'); $allCount = $db->queryFirstField('SELECT count(no) FROM general WHERE npc<2'); $percentage = round($voteCount / $allCount * 100, 1); $voteTypeCount = count($vote); for ($i=1; $i < $voteTypeCount; $i++) { echo " "; } echo " "; if ($me['vote'] == 0 && $me['no'] > 0) { echo " "; } else { echo " "; } echo " "; if ($isVoteAdmin) { echo " "; } if ($admin['votecomment']) { $comment = $admin['votecomment']; $commentCount = count($comment); } else { $commentCount = 0; } echo "
설 문 조 사 (금과 추첨으로 유니크템 증정!)
제 목  {$vote_title}
{$i}. "; if ($me['vote'] == 0 && $me['no'] > 0) { echo " "; } elseif ($admin['voteopen'] >= 1 || $isVoteAdmin) { $vCount = $db->queryFirstField('SELECT count(no) FROM general WHERE vote=%i', $i); $per = @round($vCount / $voteCount * 100, 1); echo "{$vCount} 표 ({$per}%)"; } else { echo "추후공개"; } $vote[$i] = Tag2Code($vote[$i]); echo "  {$vote[$i]}
투표 결산 투표율 : {$voteCount} / {$allCount} ({$percentage} %)
"; for ($i=0; $i < $commentCount; $i++) { $cmt = $comment[$i]; $cmt[2] = Tag2Code($cmt[2]); $j = $i+1; echo " "; } if ($me['no'] > 0) { echo " "; } ?>
댓 글
{$j}. {$cmt[0]} {$cmt[1]}  {$cmt[2]}
-

"; if ($admin['voteopen'] >= 1 || $isVoteAdmin) { echo " "; } if ($admin['voteopen'] >= 2 || $isVoteAdmin) { $memCount = $db->queryFirstField('SELECT count(no) FROM general WHERE nation=0 AND npc <2'); if ($memCount == 0) { $memCount = 1; } if (!isset($nationVoteCount[0])) { $nationVoteCount[0] = 0; } $percentage = round($nationVoteCount[0] / $memCount * 100, 1); echo " "; foreach($db->query('SELECT nation,color,name,gennum from nation order by gennum desc') as $i=>$nation){ $memCount = $db->queryFirstField('SELECT count(no) FROM general WHERE nation=%i AND npc<2', $nation['nation']); $voteCount = $nationVoteCount[$nation['nation']] ?? 0; if($memCount == 0){ $percentage = 100; } else{ $percentage = round($voteCount / $memCount * 100, 1); } echo " "; } } ?>
전 체 통 계 "; } echo "
전 체 {$voteCount} / {$allCount} ({$percentage} %) "; $memCount = max(1, $db->queryFirstField('SELECT count(`no`) FROM general WHERE npc<2')); $totalVote = []; $nationVoteCount = []; $nationVote = []; foreach ($db->query("SELECT nation, vote, count(`no`) as cnt FROM general WHERE npc<2 GROUP BY nation, vote") as $row) { $nation = $row['nation']; $ownVote = $row['vote']; $cnt = $row['cnt']; if (!isset($totalVote[$ownVote])) { $totalVote[$ownVote] = 0; } if (!isset($nationVoteCount[$nation])) { $nationVoteCount[$nation] = 0; $nationVote[$nation] = []; } if (!isset($nationVote[$nation][$ownVote])) { $nationVote[$nation][$ownVote] = 0; } $totalVote[$ownVote] += $cnt; $nationVoteCount[$nation] += $cnt; $nationVote[$nation][$ownVote] += $cnt; } $totalPer = 0; for ($i=0; $i < $voteTypeCount; $i++) { $per = round(($totalVote[$i]??0) * 100 / $memCount, 1); if($i == $voteTypeCount-1){ $per = 100-$totalPer; } else{ $totalPer += $per; } // if($per < 5) { $vote['cnt'] = " "; } ?>
재 야 {$nationVoteCount[0]} / {$memCount} ({$percentage} %) "; $totalPer = 0; for ($i=0; $i < $voteTypeCount; $i++) { $per = round(Util::array_get($nationVote[0][$i], 0) / $memCount * 100, 1); if($i == $voteTypeCount-1){ $per = 100-$totalPer; } else{ $totalPer += $per; } // if($per < 5) { $vote['cnt'] = " "; } ?>
{$nation['name']} {$voteCount} / {$memCount} ({$percentage} %) "; $totalPer = 0; for ($k=0; $k < $voteTypeCount; $k++) { if($memCount == 0){ $per = 0; continue; } $per = round(($nationVote[$nation['nation']][$k]??0) / $memCount * 100, 1); if($i == $voteTypeCount-1){ $per = 100-$totalPer; } else{ $totalPer += $per; } // if($per < 5) { $vote['cnt'] = " "; } ?>
0) { $type = (($type - 1) % 7) + 1; } switch ($type) { default: case 0: $color = "black"; break; case 1: $color = "red"; break; case 2: $color = "orange"; break; case 3: $color = "yellow"; break; case 4: $color = "green"; break; case 5: $color = "blue"; break; case 6: $color = "navy"; break; case 7: $color = "purple"; break; } return $color; } function getNewColor($type) { if ($type > 0) { $type = (($type - 1) % 7) + 1; } switch ($type) { case 2: $color = "black"; break; case 3: $color = "black"; break; default:$color = "white"; break; } return $color; }