dbms_init...1
This commit is contained in:
parent
7296c0a82d
commit
626dcd5ccd
@ -50,4 +50,19 @@ class ClientController extends CustomerController
|
||||
return $validation;
|
||||
}
|
||||
//Index,FieldForm관련.
|
||||
protected function setFilterConditionForList(): void
|
||||
{
|
||||
foreach ($this->getFilterFields() as $field) {
|
||||
$this->$field = $this->request->getVar($field);
|
||||
if ($this->$field !== null && $this->$field !== '') {
|
||||
if ($field === 'role') {
|
||||
$where = "FIND_IN_SET(" . $this->getService()->getModel()->escape($this->$field) . ", {$this->getService()->getModel()->getTable()}.{$field}) > 0";
|
||||
//FIND_IN_SET()은 MySQL 함수이므로 CodeIgniter가 이를 일반 컬럼명으로 착각하고 escape하게 되면 오류가 발생합니다. 따라서 ->where($sql, null, false)로 명시하여 escape를 꺼줘야 정상 작동
|
||||
$this->getService()->getModel()->where($where, null, false);
|
||||
} else {
|
||||
$this->getService()->getModel()->where("{$this->getService()->getModel()->getTable()}.{$field}", $this->$field);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -97,6 +97,18 @@ class ServiceController extends CustomerController
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
protected function setWordConditionForList(): void
|
||||
{
|
||||
$this->word = $this->request->getVar('word');
|
||||
if ($this->word !== null && $this->word !== '') {
|
||||
if ($this->getHelper()->isIPAddress($this->word, 'ipv4')) {
|
||||
$this->getService()->setSearchIp($this->word);
|
||||
} else {
|
||||
$this->getService()->getModel()->setList_WordFilter($this->word);
|
||||
}
|
||||
}
|
||||
}
|
||||
//Index,FieldForm관련
|
||||
protected function index_process(): array
|
||||
{
|
||||
|
||||
@ -48,6 +48,12 @@ class ServiceItemController extends CustomerController
|
||||
}
|
||||
return $this->_serviceService;
|
||||
}
|
||||
protected function initAction(string $action): void
|
||||
{
|
||||
//$item_type(CPU,RAM,STORAGE등)에 따라 선언된 getFormFieldOption용 사용됨 (initAction보다 먼저 호출해야 됨)
|
||||
$this->initServiceItemOptions();
|
||||
parent::initAction($action);
|
||||
}
|
||||
protected function getFormFieldOption(string $field, array $options = []): array
|
||||
{
|
||||
switch ($field) {
|
||||
|
||||
@ -54,4 +54,19 @@ class UserController extends AdminController
|
||||
return $validation;
|
||||
}
|
||||
//Index,FieldForm관련.
|
||||
protected function setFilterConditionForList(): void
|
||||
{
|
||||
foreach ($this->getFilterFields() as $field) {
|
||||
$this->$field = $this->request->getVar($field);
|
||||
if ($this->$field !== null && $this->$field !== '') {
|
||||
if ($field === 'role') {
|
||||
$where = "FIND_IN_SET(" . $this->getService()->getModel()->escape($this->$field) . ", {$this->getService()->getModel()->getTable()}.{$field}) > 0";
|
||||
//FIND_IN_SET()은 MySQL 함수이므로 CodeIgniter가 이를 일반 컬럼명으로 착각하고 escape하게 되면 오류가 발생합니다. 따라서 ->where($sql, null, false)로 명시하여 escape를 꺼줘야 정상 작동
|
||||
$this->getService()->getModel()->where($where, null, false);
|
||||
} else {
|
||||
$this->getService()->getModel()->where("{$this->getService()->getModel()->getTable()}.{$field}", $this->$field);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -575,28 +575,27 @@ abstract class CommonController extends BaseController
|
||||
}
|
||||
|
||||
//리스트
|
||||
//List 조건절 처리
|
||||
final protected function setConditionForList(): void
|
||||
//Filter 조건절 처리
|
||||
protected function setFilterConditionForList(): void
|
||||
{
|
||||
//조건절 처리
|
||||
foreach ($this->getFilterFields() as $field) {
|
||||
$this->$field = $this->request->getVar($field);
|
||||
if ($this->$field !== null && $this->$field !== '') {
|
||||
if ($field === 'role') {
|
||||
$where = "FIND_IN_SET(" . $this->getService()->getModel()->escape($this->$field) . ", {$this->getService()->getModel()->getTable()}.{$field}) > 0";
|
||||
//FIND_IN_SET()은 MySQL 함수이므로 CodeIgniter가 이를 일반 컬럼명으로 착각하고 escape하게 되면 오류가 발생합니다. 따라서 ->where($sql, null, false)로 명시하여 escape를 꺼줘야 정상 작동
|
||||
$this->getService()->getModel()->where($where, null, false);
|
||||
} else {
|
||||
$this->getService()->getModel()->where("{$this->getService()->getModel()->getTable()}.{$field}", $this->$field);
|
||||
}
|
||||
$this->getService()->getModel()->where("{$this->getService()->getModel()->getTable()}.{$field}", $this->$field);
|
||||
}
|
||||
}
|
||||
//검색어 처리
|
||||
}
|
||||
//검색어 조건절 처리
|
||||
protected function setWordConditionForList(): void
|
||||
{
|
||||
$this->word = $this->request->getVar('word');
|
||||
if ($this->word !== null && $this->word !== '') {
|
||||
$this->getService()->getModel()->setList_WordFilter($this->word);
|
||||
}
|
||||
//검색일 처리
|
||||
}
|
||||
//검색일 조건절 처리
|
||||
protected function setDateConditionForList(): void
|
||||
{
|
||||
$this->start = $this->request->getVar('start');
|
||||
if ($this->start !== null && $this->start !== '') {
|
||||
$this->getService()->getModel()->where(sprintf("%s.created_at >= '%s 00:00:00'", $this->getService()->getModel()->getTable(), $this->start));
|
||||
@ -606,9 +605,9 @@ abstract class CommonController extends BaseController
|
||||
$this->getService()->getModel()->where(sprintf("%s.created_at <= '%s 23:59:59'", $this->getService()->getModel()->getTable(), $this->end));
|
||||
}
|
||||
}
|
||||
//OrderBy 처리
|
||||
protected function setOrderByForList()
|
||||
{
|
||||
//OrderBy 처리
|
||||
$this->order_field = $this->request->getVar('order_field');
|
||||
$this->order_value = $this->request->getVar('order_value');
|
||||
if ($this->order_field !== null && $this->order_field !== '') {
|
||||
@ -617,8 +616,15 @@ abstract class CommonController extends BaseController
|
||||
$this->getService()->getModel()->orderBy(sprintf("%s.%s %s", $this->getService()->getModel()->getTable(), $this->getService()->getModel()->getPKField(), "DESC"));
|
||||
}
|
||||
}
|
||||
//조건절 처리
|
||||
protected function setConditionForList(): void
|
||||
{
|
||||
$this->setFilterConditionForList();
|
||||
$this->setWordConditionForList();
|
||||
$this->setDateConditionForList();
|
||||
}
|
||||
//PageNation 처리
|
||||
final protected function getPageOptionsByPaginationForList(): array
|
||||
protected function getPageOptiosForList(): array
|
||||
{
|
||||
$page_options = ["" => "줄수선택"];
|
||||
for ($i = $this->per_page; $i <= $this->total_count; $i += $this->per_page) {
|
||||
@ -627,13 +633,11 @@ abstract class CommonController extends BaseController
|
||||
$page_options[$this->total_count] = $this->total_count;
|
||||
return $page_options;
|
||||
}
|
||||
final protected function getPaginationForList($pager_group = 'default', int $segment = 0, $template = 'bootstrap_full')
|
||||
protected function getPaginationForList($pager_group = 'default', int $segment = 0, $template = 'bootstrap_full')
|
||||
{
|
||||
//Page, Per_page필요부분
|
||||
$this->page = (int) $this->request->getVar('page') ?: 1;
|
||||
$this->per_page = (int) $this->request->getVar('per_page') ?: intval(DEFAULT_LIST_PERPAGE ?? 20);
|
||||
//줄수 처리용
|
||||
$this->page_options = $this->getPageOptionsByPaginationForList();
|
||||
// 1.Views/Pagers/에 bootstrap_full.php,bootstrap_simple.php 생성
|
||||
// 2.app/Config/Pager.php/$templates에 'bootstrap_full => 'Pagers\bootstrap_full',
|
||||
// 'bootstrap_simple' => 'Pagers\bootstrap_simple', 추가
|
||||
@ -652,6 +656,8 @@ abstract class CommonController extends BaseController
|
||||
$this->total_count = intval($this->getService()->getModel()->selectCount('*', 'cnt')->get()->getRow()->cnt);
|
||||
//Pagination 처리
|
||||
$this->pagination = $this->getPaginationForList();
|
||||
//줄수 처리용
|
||||
$this->page_options = $this->getPageOptiosForList();
|
||||
//조건절 , OrcerBy , Limit 처리
|
||||
$this->setConditionForList();
|
||||
$this->setOrderByForList();
|
||||
|
||||
@ -58,7 +58,10 @@ class ServiceHelper extends CustomerHelper
|
||||
$form_temps = ["<select name=\"{$field}\" class=\"select-field\"" . (isset($extras['onChange']) ? " onChange=\"{$extras['onChange']}\"" : "") . ">"];
|
||||
$form_temps[] = "<option value=\"\">" . lang($viewDatas['class_path'] . '.label.' . $field) . " 선택</option>";
|
||||
foreach ($viewDatas['control']['filter_optons'][$field] as $key => $label) {
|
||||
$disabled = in_array($key, $viewDatas['occupied_codes']) ? 'disabled="disabled"' : '';
|
||||
$disabled = "";
|
||||
if (!array_key_exists('index_content_top_filter', $extras)) {
|
||||
$disabled = in_array($key, $viewDatas['occupied_codes']) ? 'disabled="disabled"' : '';
|
||||
}
|
||||
$selected = ($value === $key) ? 'selected="selected"' : '';
|
||||
$form_temps[] = "<option value=\"{$key}\"{$selected} {$disabled}>{$label}</option>";
|
||||
}
|
||||
|
||||
@ -13,7 +13,24 @@ class MyLogHelper extends CommonHelper
|
||||
parent::__construct($request);
|
||||
$this->setTitleField(MyLogModel::TITLE);
|
||||
}
|
||||
|
||||
public function getFieldView(string $field, mixed $value, array $viewDatas, array $extras = []): string|null
|
||||
{
|
||||
switch ($field) {
|
||||
case 'status':
|
||||
$value = parent::getFieldView($field, $value, $viewDatas, $extras);
|
||||
break;
|
||||
default:
|
||||
if (in_array($field, $viewDatas['control']['filter_fields'])) {
|
||||
$value = $viewDatas['control']['filter_optons'][$field][$value];
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (is_array($value)) {
|
||||
echo __METHOD__ . "에서 오류: {$field}의 값이 Array형태입니다";
|
||||
exit;
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
public function getListButton(string $action, array $viewDatas, array $extras = []): string
|
||||
{
|
||||
switch ($action) {
|
||||
|
||||
@ -71,13 +71,17 @@ abstract class CommonService
|
||||
}
|
||||
return $this->setRelatedEntity($entity);
|
||||
}
|
||||
public function findAllDatas(array $columns = ['*']): mixed
|
||||
{
|
||||
return $this->getModel()->select(implode(',', $columns))->findAll();
|
||||
}
|
||||
public function getEntities(mixed $where = null, array $columns = ['*']): array
|
||||
{
|
||||
if ($where) {
|
||||
$this->getModel()->where($where);
|
||||
}
|
||||
$entities = [];
|
||||
foreach ($this->getModel()->select(implode(',', $columns))->findAll() as $entity) {
|
||||
foreach ($this->findAllDatas($columns) as $entity) {
|
||||
$entities[$entity->getPK()] = $this->setRelatedEntity($entity);
|
||||
}
|
||||
if (env('app.debug.index')) {
|
||||
|
||||
@ -26,16 +26,8 @@ class ServiceItemLinkIpService extends ServiceItemLinkService
|
||||
|
||||
public function getFormFieldOption(string $field, array $options = []): array
|
||||
{
|
||||
switch ($field) {
|
||||
case 'clientinfo_uid':
|
||||
case 'ownerinfo_uid':
|
||||
foreach ($this->getClientService()->getEntities() as $entity) {
|
||||
$options[$entity->getPK()] = $entity->getTitle();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
$options = parent::getFormFieldOption($field, $options);
|
||||
break;
|
||||
foreach ($this->getIpService()->getEntities() as $entity) {
|
||||
$options[$entity->getPK()] = $entity->getTitle();
|
||||
}
|
||||
return $options;
|
||||
}
|
||||
|
||||
@ -3,16 +3,17 @@
|
||||
namespace App\Services\Customer;
|
||||
|
||||
use App\Entities\Customer\ServiceEntity;
|
||||
use App\Models\Customer\ServiceModel;
|
||||
use CodeIgniter\HTTP\IncomingRequest;
|
||||
|
||||
use App\Entities\Equipment\CodeEntity;
|
||||
use App\Models\Customer\ServiceModel;
|
||||
|
||||
use App\Services\Equipment\CodeService;
|
||||
use CodeIgniter\HTTP\IncomingRequest;
|
||||
|
||||
class ServiceService extends CustomerService
|
||||
{
|
||||
protected ?IncomingRequest $request = null;
|
||||
private ?CodeService $_codeService = null;
|
||||
private ?string $_searchIP = null;
|
||||
public function __construct(?IncomingRequest $request = null)
|
||||
{
|
||||
parent::__construct($request);
|
||||
@ -69,6 +70,26 @@ class ServiceService extends CustomerService
|
||||
$entity->setOwner($this->getClient($entity->getOwnerUID()));
|
||||
return parent::setRelatedEntity($entity);
|
||||
}
|
||||
public function setSearchIp(string $ip): void
|
||||
{
|
||||
$this->_searchIP = $ip;
|
||||
}
|
||||
public function getSearchIp(): string|null
|
||||
{
|
||||
return $this->_searchIP;
|
||||
}
|
||||
public function findAllDatas(array $columns = ['*']): mixed
|
||||
{
|
||||
$ip = $this->getSearchIp();
|
||||
if ($ip) {
|
||||
$sql = "SELECT serviceinfo.* FROM serviceinfo
|
||||
LEFT JOIN serviceinfo_items ON serviceinfo.uid = serviceinfo_items.serviceinfo_uid
|
||||
WHERE serviceinfo_items.item_type='IP'
|
||||
AND serviceinfo_items.item_uid IN (SELECT uid FROM ipinfo WHERE ip='{$ip}')";
|
||||
return $this->getModel()->query($sql)->getResult(ServiceEntity::class);
|
||||
}
|
||||
return parent::findAllDatas($columns);
|
||||
}
|
||||
//기본 기능부분
|
||||
|
||||
//다음 달로 결제일을 연장합니다.
|
||||
|
||||
@ -4,48 +4,56 @@
|
||||
<link href="/css/<?= $viewDatas['layout'] ?>/form.css" media="screen" rel="stylesheet" type="text/css" />
|
||||
<div class="action_form" style="width:600px;">
|
||||
<!-- 청구서 정보 -->
|
||||
<table class=" table table-bordered">
|
||||
<table class=" table table-bordered text-center">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>메일 제목</th>
|
||||
<th class="p-0">메일 제목</th>
|
||||
<td colspan="3">서비스 요금 청구서 </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>발신자</th>
|
||||
<td>support@priem-idc.jp</td>
|
||||
<th>발행일</th>
|
||||
<td><?= date("Y-m-d") ?></td>
|
||||
<th class="p-0">발신자</th>
|
||||
<td class="p-0">support@priem-idc.jp</td>
|
||||
<th class="p-0">발행일</th>
|
||||
<td class="p-0"><?= date("Y-m-d") ?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- 서비스 테이블 -->
|
||||
<?php foreach ($viewDatas['entities'] as $entity): ?>
|
||||
<table class="table table-bordered text-center">
|
||||
<table class="table table-sm table-bordered text-center">
|
||||
<tr>
|
||||
<th>관리자명</th>
|
||||
<th>총 결제 금액</th>
|
||||
<th class="p-0">관리자명</th>
|
||||
<th class="p-0">총 결제 금액</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?= $entity['name'] ?></td>
|
||||
<td><?= number_format($entity['total_amount']) ?>원</td>
|
||||
<td class="p-0"><?= $entity['name'] ?></td>
|
||||
<td class="p-0"><?= number_format($entity['total_amount']) ?>원</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<table class="table table-bordered text-center">
|
||||
<table class="table table-sm table-bordered">
|
||||
<tr>
|
||||
<th class="p-0">코드</th>
|
||||
<th class="p-0">항목</th>
|
||||
<th class="p-0">지급기한</th>
|
||||
</tr>
|
||||
<?php foreach ($entity['services'] as $service): ?>
|
||||
<tr>
|
||||
<th>서비스: <?= $service['code'] ?></th>
|
||||
<th class="text-end">지급기한: <?= $service['billing_at'] ?></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>항목</td>
|
||||
<td>
|
||||
<td class="p-0"><?= $service['code'] ?></td>
|
||||
<td class="p-0">
|
||||
<ol>
|
||||
<?php foreach ($service['items'] as $item): ?>
|
||||
<li class="text-start"><?= $item['item_type'] ?> :<?= $item['item_uid'] ?> [<?= number_format($item['amount']) ?>원]</li>
|
||||
<li class="m-0 p-0">
|
||||
<div class="row align-items-start p-0">
|
||||
<div class="col text-start"><?= $item['item_type'] ?></div>
|
||||
<div class="col text-nowrap"><?= $item['item_uid'] ?></div>
|
||||
<div class="col text-end"><?= number_format($item['amount']) ?>원</div>
|
||||
</div>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ol>
|
||||
</td>
|
||||
<td class="p-0"><?= $service['billing_at'] ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
@ -53,6 +61,80 @@
|
||||
</tr>
|
||||
</table>
|
||||
<?php endforeach; ?>
|
||||
<pre class="border border-1 text-start">
|
||||
※ 청구서를 받으셨던 서버인 경우에도 발행하는 시점까지 미납인 경우 재 발행됩니다.
|
||||
입금을 하신 경우에는 연락 부탁드립니다. 입금 하실 계좌 번호 입니다.
|
||||
<div class="text-danger">
|
||||
은행명 : 국민은행
|
||||
계좌번호 : 331301-04-217387
|
||||
예금주 : 주)듀나미스
|
||||
</div>
|
||||
고객명과 입금자명이 상이한 경우 반드시 확인 연락이 필요합니다.
|
||||
입금 시 당 청구서에 기재되어 있는 고객명으로 입금해주시면 별도의 입금 확인
|
||||
전화가 필요없습니다.
|
||||
|
||||
※ 기타 서비스 요금 안내
|
||||
- 도메인 구매 대행 서비스 : 도메인 1개당 3만원 (1회성 비용으로 구매를
|
||||
<span class="text-danger">요청하신 달에만 요금이 청구</span>됩니다)
|
||||
- IP 추가 : 일반회선 10만원 / 보안회선 10만원(추가 하신 날로 부터 사용을 중지
|
||||
하시는 달까지 <span class="text-danger">매월 요금이 청구</span> 됩니다.)
|
||||
- IP 변경
|
||||
- 단순 IP 변경의 경우(오래 사용하여 변경, 정기적인 변경, 관리자 변경 등)에는
|
||||
무료로 변경 해 드리고 있습니다.
|
||||
- IP에 문제(<span class="text-danger">KCSC로 연결, 접근(원격접속) 차단, 공격을 받아 다른 IP로 변경 등</span>)가
|
||||
있어 변경 하실 경우에는 요금이 청구 됩니다.
|
||||
* 청구비용 10만원 (1회성 비용으로 구매를 요청하신 달에만 요금이 청구 됩니다)
|
||||
- 위 서비스는 선입금으로 제공 해 드리고 있습니다.
|
||||
- VPN 결제일의 자정까지 결제처리가 안될시 자동차단처리가 되게됩니다.
|
||||
이점 양해 부탁드리겠습니다.
|
||||
<span class="text-danger">※ 이용 해지시에는 사용하셨던 IP에 연결 되어 있는 도메인들은 꼭 연결 해제를 해
|
||||
주시기 바랍니다.</span>
|
||||
보장 트래픽 : 기본 트래픽 사용량은 IN 10Mbps / OUT 10Mbps 입니다
|
||||
보장 트래픽 이상을 사용할 경우 트래픽 과금이 발생할 수 있습니다
|
||||
※ 알림(필히 숙지 하여 주시기 바랍니다.)
|
||||
|
||||
1. 에 등록 하신 고객명 / 전화번호 / 메일 주소는 차후 고객님 확인을 위해
|
||||
사용되오니고객님께서도 필히 알고 계셔야 합니다.
|
||||
또한 전화번호와 메일주소 또는 메신저는 고객님에게 연락을 취해야 할 경우
|
||||
사용됩니다.변동사항이 있을 경우에는 반드시 연락을 하여 변경해 주시기 바랍니다.
|
||||
|
||||
변동사항을 에게 알려 주시지 않거나, 에 등록된 연락처로 연락을 해도 연결이 안되어
|
||||
발생하는 피해에 대해서는 책임을 지지 않습니다.
|
||||
|
||||
2. 결제는 납부기한내에 해 주셔야 합니다.
|
||||
혹시라도 납부기한내에 결제를 하지 못하실 경우는 미리 연락을 주시면 납부기한 후
|
||||
최대 3일간은 서버 접속이 유지됩니다.
|
||||
하지만 납부기한까지 연락을 안주시거나 연락을 하셨더라도 납부기한을
|
||||
3일 초과하시면 서버 접속이 차단되고 차단후에도 3일동안 연락이 없을 경우
|
||||
자동 해지 처리 되고 데이터는 삭제처리 되오니 주의 하시기 바랍니다.
|
||||
|
||||
3. 환불정책
|
||||
월단위 계약(계산)이므로 중도 <span class="text-danger">환불(일할계산)은 안됩니다.</span>
|
||||
단, 셋팅에 문제가 있거나 기타 문제가 있을 경우 서버를 인계 받으시고 <span class="text-danger">3일 안으로는
|
||||
환불 요청을 하실 수 있습니다.</span>
|
||||
|
||||
4. 서버 운영중 해킹으로 발생한 피해는 저희 에서 책임을 지지 않습니다.
|
||||
서버운영에 있어서 보안에 각별히 주의 부탁드리겠습니다.
|
||||
<해킹 대비 및 보안조치사항>
|
||||
- 주기적인 window 보안 업데이트
|
||||
- linux ,mysql , php, jsp 보안권고
|
||||
- 서버 원격 접속 패스워드 및 mssql 패스워드 변경
|
||||
* 영문,숫자,특수문자 8자리 이상 조합하여 사용 권고
|
||||
* 매월 주기적으로 패스워드 변경
|
||||
* 패스워드 노출 시 즉각 변경
|
||||
- 서버내 방화벽에서 특정IP만 서버에 접속할 수 있도록 방화벽 설정
|
||||
- 원격접속 포트 기본포트에서 변경 설정 (기본 포트 window : 3389 / linux : 22 )
|
||||
* 무료 설치 : Microsoft Security Essential 설치
|
||||
- 웹서비스 보안을 위한 웹방화벽 설치 대행서비스(유료)
|
||||
|
||||
# 원격포트 변경 및 원격접속 제한 설정은 홈페이지에 등록되어 있습니다.
|
||||
자세한 사항은 센터로 문의주시기 바랍니다.
|
||||
|
||||
5. 서버 운영중 장비부품 문제(예:하드디스크의 고장 등)로 발생한 피해는
|
||||
책임을 지지 않습니다.
|
||||
(요청하시면 백업을 위해 무료로 추가 하드를 제공해 드리고 있지만, 추가가 불가능한
|
||||
경우도 있습니다. 번거로우시더라도 주기적인 데이터백업을 부탁드리겠습니다.)
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<?= $this->endSection() ?>
|
||||
@ -4,7 +4,7 @@
|
||||
<nav class="condition nav">
|
||||
조건:
|
||||
<?php foreach ($viewDatas['control']['filter_fields'] as $field): ?>
|
||||
<?= $viewDatas['helper']->getFieldForm($field, $viewDatas[$field] ?? old($field), $viewDatas) ?>
|
||||
<?= $viewDatas['helper']->getFieldForm($field, $viewDatas[$field] ?? old($field), $viewDatas, ['index_content_top_filter' => 'true']) ?>
|
||||
<?php endforeach ?>
|
||||
</nav>
|
||||
<nav class="search nav justify-content-center">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user