From 2b5c8de10af87ba24df5a7ef5367fd13229176e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=EC=A4=80=ED=9D=A0?= Date: Thu, 3 Oct 2024 16:15:28 +0900 Subject: [PATCH] cfmgrv4 init...1 --- app/Config/Routes.php | 4 +- .../Admin/Cloudflare/AccountController.php | 24 +++++++--- .../Admin/Cloudflare/AuthController.php | 24 +++++++--- .../Admin/Cloudflare/RecordController.php | 12 +++++ .../Admin/Cloudflare/ZoneController.php | 12 +++++ app/Controllers/Admin/MapurlController.php | 15 +++++- app/Controllers/MVController.php | 2 +- .../Admin/Cloudflare/Account_helper.php | 20 ++++---- app/Helpers/Admin/Cloudflare/Auth_helper.php | 47 +++++++++++++++++++ .../Admin/Cloudflare/Record_helper.php | 28 +++++++++++ app/Helpers/Admin/Cloudflare/Zone_helper.php | 25 ++++++++++ app/Helpers/Admin/Mapurl_helper.php | 47 +++++++++++++++++++ app/Views/admin/cloudflare/auth/index.php | 7 +-- app/Views/admin/cloudflare/record/index.php | 7 +-- app/Views/admin/cloudflare/zone/index.php | 5 +- app/Views/admin/mapurl/index.php | 7 +-- .../{admin/user => templates}/download.php | 0 public/mapurl/index.html | 2 +- 18 files changed, 243 insertions(+), 45 deletions(-) rename app/Views/{admin/user => templates}/download.php (100%) diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 40cd083..9dc9c6a 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -62,7 +62,7 @@ $routes->group('admin', ['namespace' => 'App\Controllers\Admin'], function ($rou $routes->group('zone', function ($routes) { $routes->get('/', 'ZoneController::index'); $routes->get('create', 'ZoneController::create_form'); - $routes->post('create/(:uuid)', 'ZoneController::create/$1'); + $routes->post('create', 'ZoneController::create'); $routes->get('delete/(:uuid)', 'ZoneController::delete/$1'); $routes->get('toggle/(:uuid)/(:alpha)', 'ZoneController::toggle/$1/$2'); $routes->post('batchjob', 'ZoneController::batcjob'); @@ -72,7 +72,7 @@ $routes->group('admin', ['namespace' => 'App\Controllers\Admin'], function ($rou $routes->group('record', function ($routes) { $routes->get('/', 'RecordController::index'); $routes->get('create', 'RecordController::create_form'); - $routes->post('create/(:uuid)', 'RecordController::create/$1'); + $routes->post('create)', 'RecordController::create'); $routes->get('delete/(:uuid)', 'RecordController::delete/$1'); $routes->get('toggle/(:uuid)/(:alpha)', 'RecordController::toggle/$1/$2'); $routes->post('batchjob', 'RecordController::batcjob'); diff --git a/app/Controllers/Admin/Cloudflare/AccountController.php b/app/Controllers/Admin/Cloudflare/AccountController.php index e205e61..a5a2645 100644 --- a/app/Controllers/Admin/Cloudflare/AccountController.php +++ b/app/Controllers/Admin/Cloudflare/AccountController.php @@ -2,13 +2,14 @@ namespace App\Controllers\Admin\Cloudflare; -use Psr\Log\LoggerInterface; -use CodeIgniter\HTTP\ResponseInterface; -use CodeIgniter\HTTP\RequestInterface; -use CodeIgniter\HTTP\RedirectResponse; -use App\Models\Cloudflare\AccountModel; -use App\Libraries\MySocket\Cloudflare\ZoneSocket; use App\Libraries\MySocket\Cloudflare\AccountSocket; +use App\Libraries\MySocket\Cloudflare\ZoneSocket; +use App\Models\Cloudflare\AccountModel; +use CodeIgniter\HTTP\DownloadResponse; +use CodeIgniter\HTTP\RedirectResponse; +use CodeIgniter\HTTP\RequestInterface; +use CodeIgniter\HTTP\ResponseInterface; +use Psr\Log\LoggerInterface; class AccountController extends CloudflareController { @@ -63,6 +64,17 @@ class AccountController extends CloudflareController $this->batchjob_fields = ['typep', 'status']; return $this->list_procedure(); } + // Download + public function download(string $output_type, $uid = false): DownloadResponse|string + { + $this->action = __FUNCTION__; + $this->fields = [$this->getModel()::PARENT, $this->getModel()::TITLE, 'type', 'status', 'updated_at', 'created_at']; + $this->field_rules = $this->getModel()->getFieldRules($this->action, $this->fields); + $this->filter_fields = [$this->getModel()::PARENT, 'type', 'status']; + $this->field_options = $this->getFormFieldOptions($this->filter_fields); + $this->batchjob_fields = ['typep', 'status']; + return $this->download_procedure($output_type, $uid); + } //Zone Reload By Account protected function reload_process(): void { diff --git a/app/Controllers/Admin/Cloudflare/AuthController.php b/app/Controllers/Admin/Cloudflare/AuthController.php index b1cc7f8..918555c 100644 --- a/app/Controllers/Admin/Cloudflare/AuthController.php +++ b/app/Controllers/Admin/Cloudflare/AuthController.php @@ -2,12 +2,13 @@ namespace App\Controllers\Admin\Cloudflare; -use Psr\Log\LoggerInterface; -use CodeIgniter\HTTP\ResponseInterface; -use CodeIgniter\HTTP\RequestInterface; -use CodeIgniter\HTTP\RedirectResponse; -use App\Models\Cloudflare\AuthModel; use App\Libraries\MySocket\Cloudflare\AccountSocket; +use App\Models\Cloudflare\AuthModel; +use CodeIgniter\HTTP\DownloadResponse; +use CodeIgniter\HTTP\RedirectResponse; +use CodeIgniter\HTTP\RequestInterface; +use CodeIgniter\HTTP\ResponseInterface; +use Psr\Log\LoggerInterface; class AuthController extends CloudflareController { @@ -30,7 +31,7 @@ class AuthController extends CloudflareController private function init(string $action): void { $this->action = $action; - $this->fields = [$this->getModel()::TITLE, 'authkey']; + $this->fields = [$this->getModel()::TITLE, 'authkey', 'status']; $this->field_rules = $this->getModel()->getFieldRules($this->action, $this->fields); $this->filter_fields = ['status']; $this->field_options = $this->getFormFieldOptions($this->filter_fields); @@ -76,6 +77,17 @@ class AuthController extends CloudflareController $this->batchjob_fields = ['status']; return $this->list_procedure(); } + // Download + public function download(string $output_type, $uid = false): DownloadResponse|string + { + $this->action = __FUNCTION__; + $this->fields = [$this->getModel()::TITLE, 'oldkey', 'status', 'updated_at', 'created_at']; + $this->field_rules = $this->getModel()->getFieldRules($this->action, $this->fields); + $this->filter_fields = ['status']; + $this->field_options = $this->getFormFieldOptions($this->filter_fields); + $this->batchjob_fields = ['status']; + return $this->download_procedure($output_type, $uid); + } //Account Reload by Auth protected function reload_process(): void { diff --git a/app/Controllers/Admin/Cloudflare/RecordController.php b/app/Controllers/Admin/Cloudflare/RecordController.php index 990ae0c..d32a56b 100644 --- a/app/Controllers/Admin/Cloudflare/RecordController.php +++ b/app/Controllers/Admin/Cloudflare/RecordController.php @@ -4,6 +4,7 @@ namespace App\Controllers\Admin\Cloudflare; use App\Libraries\MySocket\Cloudflare\RecordSocket; use App\Models\Cloudflare\RecordModel; +use CodeIgniter\HTTP\DownloadResponse; use CodeIgniter\HTTP\RedirectResponse; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; @@ -158,4 +159,15 @@ class RecordController extends CloudflareController $this->batchjob_fields = ['proxied']; return $this->list_procedure(); } + // Download + public function download(string $output_type, $uid = false): DownloadResponse|string + { + $this->action = __FUNCTION__; + $this->fields = [$this->getModel()::PARENT, $this->getModel()::TITLE, 'type', 'content', 'ttl', 'proxied', 'locked', 'updated_at', 'created_at']; + $this->field_rules = $this->getModel()->getFieldRules($this->action, $this->fields); + $this->filter_fields = [$this->getModel()::PARENT, 'type', 'proxied']; + $this->field_options = $this->getFormFieldOptions($this->filter_fields); + $this->batchjob_fields = ['proxied']; + return $this->download_procedure($output_type, $uid); + } } diff --git a/app/Controllers/Admin/Cloudflare/ZoneController.php b/app/Controllers/Admin/Cloudflare/ZoneController.php index cd2aeff..403b9bf 100644 --- a/app/Controllers/Admin/Cloudflare/ZoneController.php +++ b/app/Controllers/Admin/Cloudflare/ZoneController.php @@ -5,6 +5,7 @@ namespace App\Controllers\Admin\Cloudflare; use App\Libraries\MySocket\Cloudflare\RecordSocket; use App\Libraries\MySocket\Cloudflare\ZoneSocket; use App\Models\Cloudflare\ZoneModel; +use CodeIgniter\HTTP\DownloadResponse; use CodeIgniter\HTTP\RedirectResponse; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; @@ -201,6 +202,17 @@ class ZoneController extends CloudflareController $this->batchjob_fields = ['development_mode', 'ipv6', 'security_level']; return $this->list_procedure(); } + // Download + public function download(string $output_type, $uid = false): DownloadResponse|string + { + $this->action = __FUNCTION__; + $this->fields = [$this->getModel()::PARENT, $this->getModel()::TITLE, 'name_servers', 'original_name_servers', 'plan', 'development_mode', 'ipv6', 'security_level', 'status', 'updated_at', 'created_at']; + $this->field_rules = $this->getModel()->getFieldRules($this->action, $this->fields); + $this->filter_fields = [$this->getModel()::PARENT, 'development_mode', 'ipv6', 'security_level']; + $this->field_options = $this->getFormFieldOptions($this->filter_fields); + $this->batchjob_fields = ['development_mode', 'ipv6', 'security_level']; + return $this->download_procedure($output_type, $uid); + } //reload Record By Zone protected function reload_process(): void { diff --git a/app/Controllers/Admin/MapurlController.php b/app/Controllers/Admin/MapurlController.php index 3a593dd..3add6dc 100644 --- a/app/Controllers/Admin/MapurlController.php +++ b/app/Controllers/Admin/MapurlController.php @@ -3,8 +3,9 @@ namespace App\Controllers\Admin; use App\Models\MapurlModel; -use CodeIgniter\HTTP\RedirectResponse; +use CodeIgniter\HTTP\DownloadResponse; +use CodeIgniter\HTTP\RedirectResponse; use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; use Psr\Log\LoggerInterface; @@ -128,4 +129,16 @@ class MapurlController extends AdminController $this->batchjob_fields = ['status']; return $this->list_procedure(); } + + // Download + public function download(string $output_type, $uid = false): DownloadResponse|string + { + $this->action = __FUNCTION__; + $this->fields = [$this->getModel()::TITLE, 'newurl', 'status']; + $this->field_rules = $this->getModel()->getFieldRules($this->action, $this->fields); + $this->filter_fields = ['status']; + $this->field_options = $this->getFormFieldOptions($this->filter_fields); + $this->batchjob_fields = ['status']; + return $this->download_procedure($output_type, $uid); + } } diff --git a/app/Controllers/MVController.php b/app/Controllers/MVController.php index d892f4b..4864020 100644 --- a/app/Controllers/MVController.php +++ b/app/Controllers/MVController.php @@ -429,7 +429,7 @@ abstract class MVController extends CommonController // string buffer에서 읽어오는 경우 $this->entitys = $this->list_entitys_process(); $html = view( - strtolower($this->class_path) . DIRECTORY_SEPARATOR . $this->action, + 'templates' . DIRECTORY_SEPARATOR . $this->action, ['viewDatas' => $this->getViewDatas()] ); //data loading diff --git a/app/Helpers/Admin/Cloudflare/Account_helper.php b/app/Helpers/Admin/Cloudflare/Account_helper.php index e3c8f05..455be34 100644 --- a/app/Helpers/Admin/Cloudflare/Account_helper.php +++ b/app/Helpers/Admin/Cloudflare/Account_helper.php @@ -106,16 +106,16 @@ function getFieldView_AccountHelper(string $field, AccountEntity $entity, array $value = $value ? date("Y-m-d", strtotime($value)) : ""; break; default: - if (in_array($field, $viewDatas['filter_fields']) && $value) { - $extras["onChange"] = sprintf( - 'location.href="%s/toggle/%s/%s?%s="+this.options[this.selectedIndex].value', - current_url(), - $entity->getPK(), - $field, - $field - ); - $value = getFieldForm_AccountHelper($field, $entity->$field, $viewDatas, $extras); - } + // if (in_array($field, $viewDatas['filter_fields']) && $value) { + // $extras["onChange"] = sprintf( + // 'location.href="%s/toggle/%s/%s?%s="+this.options[this.selectedIndex].value', + // current_url(), + // $entity->getPK(), + // $field, + // $field + // ); + // $value = getFieldForm_AccountHelper($field, $entity->$field, $viewDatas, $extras); + // } break; } return $value; diff --git a/app/Helpers/Admin/Cloudflare/Auth_helper.php b/app/Helpers/Admin/Cloudflare/Auth_helper.php index 6808eda..4f58b19 100644 --- a/app/Helpers/Admin/Cloudflare/Auth_helper.php +++ b/app/Helpers/Admin/Cloudflare/Auth_helper.php @@ -88,6 +88,53 @@ function getFieldView_AuthHelper(string $field, AuthEntity $entity, array $viewD } return $value; } // +function getListAction_AuthHelper(string $action, $entity, array $viewDatas, array $extras = []): string +{ + switch ($action) { + case 'modify': + $cnt = $viewDatas['total_count'] - (($viewDatas['page'] - 1) * $viewDatas['per_page'] + $extras['cnt']); + $checkbox = form_checkbox([ + "id" => "checkbox_uid_{$entity->getPK()}", + "name" => "batchjob_uids[]", + "value" => $entity->getPK(), + "class" => "batchjobuids_checkboxs" + ]); + $url = current_url() . '/' . $action . '/' . $entity->getPK(); + switch ($viewDatas['action_form']) { + case FORMS['MODAL']: + $value = form_label( + $cnt, + "", + [ + "data-src" => $url, + "data-bs-toggle" => "modal", + "data-bs-target" => "#index_action_form", + ...$extras + ] + ); + break; + case FORMS['IFRAME']: + $value = form_label($cnt, "", [ + "onClick" => "changeIframe_src('{$url}')", + ...$extras + ]); + break; + default: + $value = anchor($url, $cnt, $extras); + break; + } + $result = $checkbox . $value; + break; + case 'delete': + $result = anchor( + current_url() . '/delete/' . $entity->getPK(), + ICONS['DELETE'], + ["class" => "btn btn-sm btn-danger btn-circle", "target" => "_self", ...$extras] + ); + break; + } + return $result; +} function getListColumns_AuthHelper(string $field, array $viewDatas, array $extras = []): string { $label = getFieldLabel_AuthHelper($field, $viewDatas, $extras); diff --git a/app/Helpers/Admin/Cloudflare/Record_helper.php b/app/Helpers/Admin/Cloudflare/Record_helper.php index 2828a3c..a6f8745 100644 --- a/app/Helpers/Admin/Cloudflare/Record_helper.php +++ b/app/Helpers/Admin/Cloudflare/Record_helper.php @@ -118,6 +118,34 @@ function getFieldView_RecordHelper(string $field, RecordEntity $entity, array $v } return $value; } // +function getListAction_RecordHelper(string $action, $entity, array $viewDatas, array $extras = []): string +{ + switch ($action) { + case 'sync': + $cnt = $viewDatas['total_count'] - (($viewDatas['page'] - 1) * $viewDatas['per_page'] + $extras['cnt']); + $checkbox = ""; + if ($entity->fixed == 'off' && $entity->type == 'A') { + $checkbox = form_checkbox([ + "id" => "checkbox_uid_{$entity->getPK()}", + "name" => "batchjob_uids[]", + "value" => $entity->getPK(), + "class" => "batchjobuids_checkboxs", + ]); + } + $url = current_url() . '/' . $action . '/' . $entity->getPK(); + $value = anchor($url, $cnt, $extras); + $result = $checkbox . $value; + break; + case 'delete': + $result = anchor( + current_url() . '/delete/' . $entity->getPK(), + ICONS['DELETE'], + ["class" => "btn btn-sm btn-danger btn-circle", "target" => "_self", ...$extras] + ); + break; + } + return $result; +} function getListColumns_RecordHelper(string $field, array $viewDatas, array $extras = []): string { $label = getFieldLabel_RecordHelper($field, $viewDatas, $extras); diff --git a/app/Helpers/Admin/Cloudflare/Zone_helper.php b/app/Helpers/Admin/Cloudflare/Zone_helper.php index c30c9b9..b63f73c 100644 --- a/app/Helpers/Admin/Cloudflare/Zone_helper.php +++ b/app/Helpers/Admin/Cloudflare/Zone_helper.php @@ -146,6 +146,31 @@ function getFieldView_ZoneHelper(string $field, ZoneEntity $entity, array $viewD } return $value; } // +function getListAction_ZoneHelper(string $action, $entity, array $viewDatas, array $extras = []): string +{ + switch ($action) { + case 'sync': + $cnt = $viewDatas['total_count'] - (($viewDatas['page'] - 1) * $viewDatas['per_page'] + $extras['cnt']); + $checkbox = form_checkbox([ + "id" => "checkbox_uid_{$entity->getPK()}", + "name" => "batchjob_uids[]", + "value" => $entity->getPK(), + "class" => "batchjobuids_checkboxs", + ]); + $url = current_url() . '/' . $action . '/' . $entity->getPK(); + $value = anchor($url, $cnt, $extras); + $result = $checkbox . $value; + break; + case 'delete': + $result = anchor( + current_url() . '/delete/' . $entity->getPK(), + ICONS['DELETE'], + ["class" => "btn btn-sm btn-danger btn-circle", "target" => "_self", ...$extras] + ); + break; + } + return $result; +} function getListColumns_ZoneHelper(string $field, array $viewDatas, array $extras = []): string { $label = getFieldLabel_ZoneHelper($field, $viewDatas, $extras); diff --git a/app/Helpers/Admin/Mapurl_helper.php b/app/Helpers/Admin/Mapurl_helper.php index 45010e4..53dc882 100644 --- a/app/Helpers/Admin/Mapurl_helper.php +++ b/app/Helpers/Admin/Mapurl_helper.php @@ -82,6 +82,53 @@ function getFieldView_MapurlHelper(string $field, MapurlEntity $entity, array $v } return $value; } // +function getListAction_MapurlHelper(string $action, $entity, array $viewDatas, array $extras = []): string +{ + switch ($action) { + case 'modify': + $cnt = $viewDatas['total_count'] - (($viewDatas['page'] - 1) * $viewDatas['per_page'] + $extras['cnt']); + $checkbox = form_checkbox([ + "id" => "checkbox_uid_{$entity->getPK()}", + "name" => "batchjob_uids[]", + "value" => $entity->getPK(), + "class" => "batchjobuids_checkboxs" + ]); + $url = current_url() . '/' . $action . '/' . $entity->getPK(); + switch ($viewDatas['action_form']) { + case FORMS['MODAL']: + $value = form_label( + $cnt, + "", + [ + "data-src" => $url, + "data-bs-toggle" => "modal", + "data-bs-target" => "#index_action_form", + ...$extras + ] + ); + break; + case FORMS['IFRAME']: + $value = form_label($cnt, "", [ + "onClick" => "changeIframe_src('{$url}')", + ...$extras + ]); + break; + default: + $value = anchor($url, $cnt, $extras); + break; + } + $result = $checkbox . $value; + break; + case 'delete': + $result = anchor( + current_url() . '/delete/' . $entity->getPK(), + ICONS['DELETE'], + ["class" => "btn btn-sm btn-danger btn-circle", "target" => "_self", ...$extras] + ); + break; + } + return $result; +} function getListColumns_MapurlHelper(string $field, array $viewDatas, array $extras = []): string { $label = getFieldLabel_MapurlHelper($field, $viewDatas, $extras); diff --git a/app/Views/admin/cloudflare/auth/index.php b/app/Views/admin/cloudflare/auth/index.php index 30240c7..359ef45 100644 --- a/app/Views/admin/cloudflare/auth/index.php +++ b/app/Views/admin/cloudflare/auth/index.php @@ -19,16 +19,13 @@ status != DEFAULTS['STATUS'] ? 'class="table-danger" rowcolor="red"' : 'rowcolor="red"' ?>> - "checkbox_uid_{$entity->getPK()}", "name" => "batchjob_uids[]", "value" => $entity->getPK(), "class" => "batchjobuids_checkboxs"]); ?> - - - + $cnt, "style" => "cursor:pointer"]) ?> - getPK(), ICONS['DELETE'], ["class" => "btn btn-sm btn-danger btn-circle", "target" => "_self"]) ?> + diff --git a/app/Views/admin/cloudflare/record/index.php b/app/Views/admin/cloudflare/record/index.php index b692536..0b84e57 100644 --- a/app/Views/admin/cloudflare/record/index.php +++ b/app/Views/admin/cloudflare/record/index.php @@ -20,16 +20,13 @@ locked != 'on' ? 'class="table-danger" rowcolor="red"' : 'rowcolor="red"' ?>> - fixed == 'off' && $entity->type == 'A') : ?> - "checkbox_uid_{$entity->getPK()}", "name" => "batchjob_uids[]", "value" => $entity->getPK(), "class" => "batchjobuids_checkboxs"]); ?> - - getPK(), $viewDatas['total_count'] - (($viewDatas['page'] - 1) * $viewDatas['per_page'] + $cnt), ["target" => "_self"]) ?> + $cnt, "style" => "cursor:pointer"]) ?> $old_zone]) ?> - getPK(), ICONS['DELETE'], ["class" => "btn btn-sm btn-danger btn-circle", "target" => "_self"]) ?> + diff --git a/app/Views/admin/cloudflare/zone/index.php b/app/Views/admin/cloudflare/zone/index.php index 37130cd..e2596e0 100644 --- a/app/Views/admin/cloudflare/zone/index.php +++ b/app/Views/admin/cloudflare/zone/index.php @@ -20,14 +20,13 @@ status != 'active' ? 'class="table-danger" rowcolor="red"' : 'rowcolor="red"' ?>> - "checkbox_uid_{$entity->getPK()}", "name" => "batchjob_uids[]", "value" => $entity->getPK(), "class" => "batchjobuids_checkboxs"]); ?> - getPK(), $viewDatas['total_count'] - (($viewDatas['page'] - 1) * $viewDatas['per_page'] + $cnt), ["target" => "_self"]) ?> + $cnt, "style" => "cursor:pointer"]) ?> $old_account]) ?> - getPK(), ICONS['DELETE'], ["class" => "btn btn-sm btn-danger btn-circle", "target" => "_self"]) ?> + diff --git a/app/Views/admin/mapurl/index.php b/app/Views/admin/mapurl/index.php index 6cd89c0..cf029ba 100644 --- a/app/Views/admin/mapurl/index.php +++ b/app/Views/admin/mapurl/index.php @@ -19,16 +19,13 @@ status != DEFAULTS['STATUS'] ? 'class="table-danger" rowcolor="red"' : 'rowcolor="red"' ?>> - "checkbox_uid_{$entity->getPK()}", "name" => "batchjob_uids[]", "value" => $entity->getPK(), "class" => "batchjobuids_checkboxs"]); ?> - - - + $cnt, "style" => "cursor:pointer"]) ?> - getPK(), ICONS['DELETE'], ["class" => "btn btn-sm btn-danger btn-circle", "target" => "_self"]) ?> + diff --git a/app/Views/admin/user/download.php b/app/Views/templates/download.php similarity index 100% rename from app/Views/admin/user/download.php rename to app/Views/templates/download.php diff --git a/public/mapurl/index.html b/public/mapurl/index.html index d4161e8..b65bf93 100644 --- a/public/mapurl/index.html +++ b/public/mapurl/index.html @@ -263,7 +263,7 @@ case 'http://19hey.com': window.location.href='http://1004eve.com'; break; case 'http://19hun.com': window.location.href='http://1004eve.com'; break; case 'http://19hunt.com': window.location.href='https://twitter.com/_19hunter'; break; case 'http://19hunter.com': window.location.href='https://twitter.com/_19hunter'; break; -case 'http://19hunters.com': window.location.href='https://twitter.com/_19hunter'; break; +case 'http://19hunters.com': window.location.href='https://twitter.com/_19hunter333'; break; case 'http://19hunts.com': window.location.href='https://twitter.com/_19hunter'; break; case 'http://19kor.com': window.location.href='https://twitter.com/_19hunter'; break; case 'http://19mini.com': window.location.href='https://twitter.com/_19hunter'; break;