game2006api/webapp/controller/ToolsController.class.php
aozhiwei 2324aadc59 1
2022-05-23 21:48:20 +08:00

118 lines
3.6 KiB
PHP

<?php
class ToolsController extends BaseController {
public function _handlePre()
{
parent::_handlePre();
if (SERVER_ENV == _ONLINE) {
die("can't create ToolsController");
return;
}
}
public function clearDB()
{
global $g_conf_mysql_cluster;
foreach ($g_conf_mysql_cluster as $mysql_conf) {
$conn = new phpcommon\Mysql(array(
'host' => $mysql_conf['host'],
'port' => $mysql_conf['port'],
'user' => $mysql_conf['user'],
'passwd' => $mysql_conf['passwd'],
'dbname' => DBNAME_PREFIX . $mysql_conf['instance_id']
));
$tables = $conn->execQueryAsArray('show tables;');
foreach ($tables as $table) {
$tblName = $table[0];
$conn->execScript("DROP TABLE {$tblName};",
array());
}
}
}
public function checkWhiteList()
{
$resHash = array();
$whiteList = require("../res/alphatestWhiteList@alphatestWhiteList.php");
foreach ($whiteList as $item) {
$account = trim(strtolower($item['account']));
$i = crc32($account) % 100;
if (!getXVal($resHash, $i)) {
$list = require("../res/alphatestWhiteList${i}@alphatestWhiteList.php");
$resHash[$i] = $list;
}
$list = getXVal($resHash, $i);
$found = false;
foreach ($list as $item2) {
$account2 = trim(strtolower($item2['account']));
if ($account == $account2) {
$found = true;
}
}
if (!$found) {
echo $account . ' not found';
}
}
myself()->_rspOk();
}
public function inWhiteList()
{
$account = trim(strtolower(getReqVal('account', '')));
$i = crc32($account) % 100;
$list = require("../res/alphatestWhiteList${i}@alphatestWhiteList.php");
$found = false;
foreach ($list as $item2) {
$account2 = trim(strtolower($item2['account']));
if ($account == $account2) {
$found = true;
}
}
myself()->_rspData(array(
'found' => $found
));
}
public function splitWhiteList()
{
$dataHash = array();
for ($i = 0; $i < 100; ++$i){
$dataHash[$i] = '<?php' . "\n";
$dataHash[$i] .= 'return array(' . "\n";
}
{
$whiteList = require("../res/alphatestWhiteList@alphatestWhiteList.php");
foreach ($whiteList as $item) {
$account = trim(strtolower($item['account']));
if (strlen($account) != strlen('0x79b9997987800a4dD60049aa2e6bE3399be66F56')) {
var_dump($item);
}
$i = crc32($account) % 100;
$dataHash[$i] .= 'array(' . "\n";
$dataHash[$i] .= ' "account"=>"' . $account . '"' . "\n";
$dataHash[$i] .= '),' . "\n";
}
}
for ($i = 0; $i < 100; ++$i){
$dataHash[$i] .= ');' . "\n";
$this->writeToFile("../res/alphatestWhiteList${i}@alphatestWhiteList.php",
$dataHash[$i]);
}
myself()->_rspOk();
}
private function writeToFile($fileName, $data)
{
$fp = fopen($fileName, 'w');
if (!$fp) {
return;
}
fwrite($fp, $data . "\n");
fclose($fp);
}
}