dbmsv4 init...5

This commit is contained in:
최준흠 2026-03-02 12:58:14 +09:00
parent 8948974c4e
commit 01191702c6
5 changed files with 172 additions and 2 deletions

View File

@ -78,6 +78,106 @@ defined('EXIT_DATABASE') || define('EXIT_DATABASE', 8); // database error
defined('EXIT__AUTO_MIN') || define('EXIT__AUTO_MIN', 9); // lowest automatically-assigned error code
defined('EXIT__AUTO_MAX') || define('EXIT__AUTO_MAX', 125); // highest automatically-assigned error code
define("KEYWORD", '일본IDC 일본서버 일본 서버 일본호스팅 서버호스팅 디도스 공격 해외 호스팅 DDOS 방어 ddos 의뢰 디도스 보안 일본 단독서버 가상서버');
define('LAYOUTS', [
'auth' => [
'title' => KEYWORD,
'path' => 'auth',
'layout' => 'layouts/auth',
'template' => 'templates/auth',
'metas' => [
'<meta charset="UTF-8">',
'<meta name="viewport" content="width=device-width, initial-scale=1.0">',
'<meta http-equiv="X-UA-Compatible" content="IE=Edge">',
'<meta name="subject" content="Daemon IDC">',
'<meta name="description" content="' . KEYWORD . '">',
'<meta name="keywords" content="' . KEYWORD . '">',
'<meta property="og:type" content="website">',
'<meta property="og:title" content="Daemon IDC">',
'<meta property="og:description" content="' . KEYWORD . '">',
],
'stylesheets' => [
'<link rel="icon" href="/favicon.ico">',
'<link href="//cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">',
'<link rel="stylesheet" href="/css/common/style.css" />',
],
'javascripts' => [
'<script src="//cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-geWF76RCwLtnZ8qwWowPQNguL3RmwHVBC9FhGdlKrxdiJJigb/j/68SIy3Te4Bkz" crossorigin="anonymous"></script>',
],
'footerScripts' => []
],
'front' => [
'title' => KEYWORD,
'path' => 'front',
'layout' => 'layouts/front',
'template' => 'templates/front',
'topmenus' => ['aboutus', 'hosting', 'service', 'support'],
'metas' => [
'<meta charset="UTF-8">',
'<meta name="viewport" content="width=device-width, initial-scale=1.0">',
'<meta http-equiv="X-UA-Compatible" content="IE=Edge">',
'<meta name="subject" content="Daemon IDC">',
'<meta name="description" content="' . KEYWORD . '">',
'<meta name="keywords" content="' . KEYWORD . '">',
'<meta property="og:type" content="website">',
'<meta property="og:title" content="Daemon IDC">',
'<meta property="og:description" content="' . KEYWORD . '">',
],
'stylesheets' => [
'<link rel="icon" href="/favicon.ico">',
'<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">',
'<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css">',
'<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">',
'<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">',
'<link href="//fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&family=Noto+Sans+KR:wght@300;400;500;700&display=swap" rel="stylesheet">',
'<link rel="stylesheet" href="/css/common/style.css" />',
],
'javascripts' => [
'<script src="//cdn.jsdelivr.net/npm/jquery@3.7.0/dist/jquery.min.js"></script>',
'<script src="//code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>',
'<script src="//cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>',
'<script src="//cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>',
],
'footerScripts' => []
],
'admin' => [
'title' => '관리자화면',
'path' => 'admin',
'layout' => 'layouts/admin',
'template' => 'templates/admin',
'metas' => [
'<meta charset="UTF-8">',
'<meta name="viewport" content="width=device-width, initial-scale=1.0">',
'<meta http-equiv="X-UA-Compatible" content="IE=Edge">',
'<meta name="subject" content="Daemon IDC">',
'<meta name="description" content="' . KEYWORD . '">',
'<meta name="keywords" content="' . KEYWORD . '">',
'<meta property="og:type" content="website">',
'<meta property="og:title" content="Daemon IDC">',
'<meta property="og:description" content="' . KEYWORD . '">',
],
'stylesheets' => [
'<link rel="icon" href="/favicon.ico">',
'<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">',
'<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css">',
'<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css">',
'<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css">',
'<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/select2-bootstrap-5-theme@1.3.0/dist/select2-bootstrap-5-theme.min.css" />',
'<link rel="stylesheet" href="/assets/tagify/dist/tagify.css">',
'<link rel="stylesheet" href="/css/common/style.css" />',
],
'javascripts' => [
'<script src="//cdn.jsdelivr.net/npm/jquery@3.7.0/dist/jquery.min.js"></script>',
'<script src="//code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>',
'<script src="//cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>',
'<script src="//cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>',
'<script src="/assets/tinymce/tinymce.min.js" referrerpolicy="origin"></script>',
'<script src="/assets/tagify/dist/tagify.js"></script>'
],
'footerScripts' => []
],
]);
define('MESSAGES', [
'CREATED' => '생성되었습니다.',
'UPDATED' => '수정되였습니다.',

View File

@ -15,7 +15,7 @@ abstract class AdminController extends CommonController
{
parent::initController($request, $response, $logger);
$this->addActionPaths($this->_layout);
$this->layouts = config('Layout')->layouts[$this->_layout] ?? [];
$this->layouts = LAYOUTS[$this->_layout];
}
protected function action_init_process(string $action, array $formDatas = []): void
{

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Ajax\Admin;
use App\Controllers\Ajax\AjaxController;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
abstract class AdminController extends AjaxController
{
private $_layout = 'admin';
protected $layouts = [];
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
{
parent::initController($request, $response, $logger);
$this->addActionPaths($this->_layout);
$this->layouts = LAYOUTS[$this->_layout];
}
protected function action_init_process(string $action, array $formDatas = []): void
{
parent::action_init_process($action, $formDatas);
$this->addViewDatas('layout', $this->layouts);
$this->addViewDatas('title', $this->getTitle());
$this->addViewDatas('helper', $this->service->getHelper());
$this->service->getActionForm()->action_init_process($action, $formDatas);
$this->addViewDatas('formFields', $this->service->getActionForm()->getFormFields());
$this->addViewDatas('formRules', $this->service->getActionForm()->getFormRules());
$this->addViewDatas('formFilters', $this->service->getActionForm()->getFormFilters());
$this->addViewDatas('formOptions', $this->service->getActionForm()->getFormOptions());
$this->addViewDatas('index_actionButtons', $this->service->getActionForm()->getActionButtons());
$this->addViewDatas('index_batchjobFields', $this->service->getActionForm()->getBatchjobFilters());
$this->addViewDatas('index_batchjobButtons', $this->service->getActionForm()->getBatchjobButtons());
}
}

View File

@ -0,0 +1,35 @@
<?php
namespace App\Controllers\Ajax;
use App\Controllers\AbstractCRUDController;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
abstract class AjaxController extends AbstractCRUDController
{
private $_layout = 'front';
protected $layouts = [];
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
{
parent::initController($request, $response, $logger);
$this->addActionPaths($this->_layout);
$this->layouts = LAYOUTS[$this->_layout];
}
protected function action_init_process(string $action, array $formDatas = []): void
{
parent::action_init_process($action, $formDatas);
$this->addViewDatas('layout', $this->layouts);
$this->addViewDatas('title', $this->getTitle());
$this->addViewDatas('helper', $this->service->getHelper());
$this->service->getActionForm()->action_init_process($action, $formDatas);
$this->addViewDatas('formFields', $this->service->getActionForm()->getFormFields());
$this->addViewDatas('formRules', $this->service->getActionForm()->getFormRules());
$this->addViewDatas('formFilters', $this->service->getActionForm()->getFormFilters());
$this->addViewDatas('formOptions', $this->service->getActionForm()->getFormOptions());
$this->addViewDatas('index_actionButtons', $this->service->getActionForm()->getActionButtons());
$this->addViewDatas('index_batchjobFields', $this->service->getActionForm()->getBatchjobFilters());
$this->addViewDatas('index_batchjobButtons', $this->service->getActionForm()->getBatchjobButtons());
}
}

View File

@ -17,7 +17,7 @@ abstract class AuthController extends AbstractWebController
{
parent::initController($request, $response, $logger);
$this->addActionPaths($this->_layout);
$this->layouts = config('Layout')->layouts[$this->_layout] ?? [];
$this->layouts = LAYOUTS[$this->_layout];
}
protected function action_init_process(string $action, array $formDatas = []): void
{