diff --git a/app/Config/Constants.php b/app/Config/Constants.php
index 3ce9815..d76c3e3 100644
--- a/app/Config/Constants.php
+++ b/app/Config/Constants.php
@@ -218,6 +218,10 @@ define('ICONS', [
'HOME' => '',
'PLAY' => '',
'CART' => '',
+ 'UP' => '',
+ 'DOWN' => '',
+ 'LEFT' => '',
+ 'RIGHT' => '',
'IMAGE_FILE' => '',
]);
define('CLASS_ICONS', [
diff --git a/app/Config/Routes.php b/app/Config/Routes.php
index 68349ad..4de56d3 100644
--- a/app/Config/Routes.php
+++ b/app/Config/Routes.php
@@ -169,6 +169,7 @@ $routes->group('front', ['namespace' => 'App\Controllers\Front'], function ($rou
$routes->get('', 'PaymentController::index');
$routes->get('card/(:uuid)', 'PaymentController::card_form/$1');
$routes->post('card/(:uuid)', 'PaymentController::card/$1');
+ $routes->get('deposit/(:uuid)', 'PaymentController::deposit_form/$1');
});
});
/*
diff --git a/app/Controllers/Front/PaymentController.php b/app/Controllers/Front/PaymentController.php
index 9ad5e94..ba142b9 100644
--- a/app/Controllers/Front/PaymentController.php
+++ b/app/Controllers/Front/PaymentController.php
@@ -2,16 +2,18 @@
namespace App\Controllers\Front;
+use App\Entities\PaymentEntity;
+use App\Libraries\Adapter\Payment\CookiePayment as PaymentAdapter;
+use App\Models\OrderModel;
use App\Models\PaymentModel;
+use App\Models\UserModel;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
-use App\Models\OrderModel;
-use App\Entities\PaymentEntity;
-use App\Libraries\Adapter\Payment\CookiePayment as PaymentAdapter;
class PaymentController extends FrontController
{
+ private $_userModel = null;
private $_orderModel = null;
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
{
@@ -23,6 +25,10 @@ class PaymentController extends FrontController
$this->isRole('index');
}
+ private function getUserModel()
+ {
+ return $this->_userModel = $this->_userModel ?: new UserModel();
+ }
private function getOrderModel()
{
return $this->_orderModel = $this->_orderModel ?: new OrderModel();
@@ -74,6 +80,7 @@ class PaymentController extends FrontController
{
try {
$this->card_init();
+ $this->_viewDatas['user'] = $this->getUserModel()->getEntity([$this->getUserModel()->getPrimaryKey() => $this->_viewDatas['auth'][AUTH_FIELDS['ID']]]);
$this->_viewDatas['order'] = $this->getOrderModel()->getEntity([$this->getOrderModel()->getPrimaryKey() => $uid]);
helper(['form']);
$this->_viewDatas['forms'] = ['attributes' => ['method' => "post",], 'hiddens' => []];
@@ -111,7 +118,7 @@ class PaymentController extends FrontController
{
$msg = "";
try {
- $this->_viewDatas = $this->card_init();
+ $this->card_init();
$this->card_validate();
$entity = $this->card_process();
$msg = "{$this->_viewDatas['title']}에서 {$entity->getTitle()}의 " . __FUNCTION__ . " 완료하였습니다.";
@@ -125,4 +132,21 @@ class PaymentController extends FrontController
$this->_session->setFlashdata("return_message", $msg);
}
}
+
+ public function deposit_form($uid)
+ {
+ try {
+ $this->_viewDatas['bank'] = [
+ "name" => getenv("payment.deposit.bank.name") ?: "은행명",
+ "account" => getenv("payment.deposit.bank.account") ?: "계좌번호",
+ "holder" => getenv("payment.deposit.bank.holder") ?: "예금주"
+ ];
+ $this->_viewDatas['order'] = $this->getOrderModel()->getEntity([$this->getOrderModel()->getPrimaryKey() => $uid]);
+ $this->_session->keepFlashdata(SESSION_NAMES['RETURN_URL']);
+ return view($this->_viewPath . '/deposit', ['viewDatas' => $this->_viewDatas]);
+ } catch (\Exception $e) {
+ log_message("error", $e->getMessage());
+ return redirect()->to($this->_session->getFlashdata(SESSION_NAMES['RETURN_URL']) ?: "/")->with('return_message', $e->getMessage());
+ }
+ }
}
diff --git a/app/Helpers/Board_helper.php b/app/Helpers/Board_helper.php
index c7a0325..e47730f 100644
--- a/app/Helpers/Board_helper.php
+++ b/app/Helpers/Board_helper.php
@@ -105,11 +105,23 @@ function getFieldFilter_BoardHelper($field, $value, array $viewDatas)
function getFieldIndex_Column_BoardHelper($field, array $viewDatas)
{
$label = lang("{$viewDatas['className']}.label.{$field}");
- $label = $field == $viewDatas['order_field'] ? sprintf('%s ', $label, $viewDatas['order_value'] == 'ASC' ? "up" : "down") : $label;
+ if ($field == $viewDatas['order_field']) {
+ $label .= $viewDatas['order_value'] == 'ASC' ? ICONS['UP'] : ICONS['DOWN'];
+ }
$value = $viewDatas['order_value'] == 'DESC' ? "ASC" : "DESC";
- return anchor(current_url() . "?order_field={$field}&order_value={$value}", $label);
+ $viewDatas['uri']->addQuery('order_field', $field);
+ $viewDatas['uri']->addQuery('order_value', $value);
+ $columnData = anchor($viewDatas['uri'], $label);
+ switch ($field) {
+ case 'title':
+ case 'name':
+ return sprintf("
%s | ", $columnData);
+ break;
+ default:
+ return sprintf("%s | ", $columnData);
+ break;
+ }
} //
-
//Front용
function getFieldIndex_Row_BoardHelper($field, $entity, array $viewDatas): string
{
diff --git a/app/Helpers/Category_helper.php b/app/Helpers/Category_helper.php
index c87c95f..db7099c 100644
--- a/app/Helpers/Category_helper.php
+++ b/app/Helpers/Category_helper.php
@@ -105,9 +105,22 @@ function getFieldFilter_CategoryHelper($field, $value, array $viewDatas)
function getFieldIndex_Column_CategoryHelper($field, array $viewDatas)
{
$label = lang("{$viewDatas['className']}.label.{$field}");
- $label = $field == $viewDatas['order_field'] ? sprintf('%s ', $label, $viewDatas['order_value'] == 'ASC' ? "up" : "down") : $label;
+ if ($field == $viewDatas['order_field']) {
+ $label .= $viewDatas['order_value'] == 'ASC' ? ICONS['UP'] : ICONS['DOWN'];
+ }
$value = $viewDatas['order_value'] == 'DESC' ? "ASC" : "DESC";
- return anchor(current_url() . "?order_field={$field}&order_value={$value}", $label);
+ $viewDatas['uri']->addQuery('order_field', $field);
+ $viewDatas['uri']->addQuery('order_value', $value);
+ $columnData = anchor($viewDatas['uri'], $label);
+ switch ($field) {
+ case 'title':
+ case 'name':
+ return sprintf("%s | ", $columnData);
+ break;
+ default:
+ return sprintf("%s | ", $columnData);
+ break;
+ }
} //
//Front용
diff --git a/app/Helpers/Order_helper.php b/app/Helpers/Order_helper.php
index 1adede1..44e6f95 100644
--- a/app/Helpers/Order_helper.php
+++ b/app/Helpers/Order_helper.php
@@ -99,9 +99,22 @@ function getFieldFilter_OrderHelper($field, $value, array $viewDatas)
function getFieldIndex_Column_OrderHelper($field, array $viewDatas)
{
$label = lang("{$viewDatas['className']}.label.{$field}");
- $label = $field == $viewDatas['order_field'] ? sprintf('%s ', $label, $viewDatas['order_value'] == 'ASC' ? "up" : "down") : $label;
+ if ($field == $viewDatas['order_field']) {
+ $label .= $viewDatas['order_value'] == 'ASC' ? ICONS['UP'] : ICONS['DOWN'];
+ }
$value = $viewDatas['order_value'] == 'DESC' ? "ASC" : "DESC";
- return anchor(current_url() . "?order_field={$field}&order_value={$value}", $label);
+ $viewDatas['uri']->addQuery('order_field', $field);
+ $viewDatas['uri']->addQuery('order_value', $value);
+ $columnData = anchor($viewDatas['uri'], $label);
+ switch ($field) {
+ case 'title':
+ case 'name':
+ return sprintf("%s | ", $columnData);
+ break;
+ default:
+ return sprintf("%s | ", $columnData);
+ break;
+ }
} //
//Front용
@@ -112,7 +125,7 @@ function getFieldIndex_Row_OrderHelper($field, $entity, array $viewDatas): strin
case 'title':
case 'name':
return sprintf(
- "%s : %s
%s
",
+ "%s : %s
%s",
lang("{$viewDatas['className']}.label.uid"),
$entity->getOrderHint(),
anchor(
@@ -124,11 +137,15 @@ function getFieldIndex_Row_OrderHelper($field, $entity, array $viewDatas): strin
break;
case 'status':
if ($value == DEFAULTS['STATUS']) {
- return anchor(
+ return sprintf("%s
%s
", anchor(
'/front/payment/card/' . $entity->getPrimaryKey(),
- $viewDatas['fieldFormOptions'][$field][$value],
+ "카드결제",
["class" => "btn btn-sm btn-primary btn-circle", "style" => "color:white", "target" => "_self"]
- );
+ ), anchor(
+ '/front/payment/deposit/' . $entity->getPrimaryKey(),
+ "무통장입금",
+ ["class" => "btn btn-sm btn-info btn-circle", "style" => "color:white", "target" => "_self"]
+ ));
} else {
return getFieldView_OrderHelper($field, $entity, $viewDatas);
}
diff --git a/app/Helpers/Payment_helper.php b/app/Helpers/Payment_helper.php
index 16d12ec..0e6ad43 100644
--- a/app/Helpers/Payment_helper.php
+++ b/app/Helpers/Payment_helper.php
@@ -88,6 +88,12 @@ function getFieldForm_PaymentHelper($field, $value, array $viewDatas, array $att
form_dropdown("{$field}[]", $years, DEFAULTS['EMPTY']),
);
break;
+ case 'card_email':
+ return form_input($field, $viewDatas['user']->email);
+ break;
+ case 'card_mobile':
+ return form_input($field, $viewDatas['user']->mobile);
+ break;
default:
return form_input($field, $value);
break;
@@ -129,9 +135,22 @@ function getFieldFilter_PaymentHelper($field, $value, array $viewDatas)
function getFieldIndex_Column_PaymentHelper($field, array $viewDatas)
{
$label = lang("{$viewDatas['className']}.label.{$field}");
- $label = $field == $viewDatas['order_field'] ? sprintf('%s ', $label, $viewDatas['order_value'] == 'ASC' ? "up" : "down") : $label;
+ if ($field == $viewDatas['order_field']) {
+ $label .= $viewDatas['order_value'] == 'ASC' ? ICONS['UP'] : ICONS['DOWN'];
+ }
$value = $viewDatas['order_value'] == 'DESC' ? "ASC" : "DESC";
- return anchor(current_url() . "?order_field={$field}&order_value={$value}", $label);
+ $viewDatas['uri']->addQuery('order_field', $field);
+ $viewDatas['uri']->addQuery('order_value', $value);
+ $columnData = anchor($viewDatas['uri'], $label);
+ switch ($field) {
+ case 'title':
+ case 'name':
+ return sprintf("%s | ", $columnData);
+ break;
+ default:
+ return sprintf("%s | ", $columnData);
+ break;
+ }
} //
//Front용
diff --git a/app/Helpers/Product_helper.php b/app/Helpers/Product_helper.php
index 5a83d97..8425e88 100644
--- a/app/Helpers/Product_helper.php
+++ b/app/Helpers/Product_helper.php
@@ -114,12 +114,25 @@ function getFieldFilter_ProductHelper($field, $value, array $viewDatas)
return form_dropdown($field, $viewDatas['fieldFormOptions'][$field], $value, ['class' => "select-field"]);
} //
-function getFieldIndex_Column_ProductHelper($field, array $viewDatas)
+function getFieldIndex_Column_Productelper($field, array $viewDatas)
{
$label = lang("{$viewDatas['className']}.label.{$field}");
- $label = $field == $viewDatas['order_field'] ? sprintf('%s ', $label, $viewDatas['order_value'] == 'ASC' ? "up" : "down") : $label;
+ if ($field == $viewDatas['order_field']) {
+ $label .= $viewDatas['order_value'] == 'ASC' ? ICONS['UP'] : ICONS['DOWN'];
+ }
$value = $viewDatas['order_value'] == 'DESC' ? "ASC" : "DESC";
- return anchor(current_url() . "?order_field={$field}&order_value={$value}", $label);
+ $viewDatas['uri']->addQuery('order_field', $field);
+ $viewDatas['uri']->addQuery('order_value', $value);
+ $columnData = anchor($viewDatas['uri'], $label);
+ switch ($field) {
+ case 'title':
+ case 'name':
+ return sprintf("%s | ", $columnData);
+ break;
+ default:
+ return sprintf("%s | ", $columnData);
+ break;
+ }
} //
//Front용
diff --git a/app/Helpers/Sitepage_helper.php b/app/Helpers/Sitepage_helper.php
index c2b6cb7..5b2c99e 100644
--- a/app/Helpers/Sitepage_helper.php
+++ b/app/Helpers/Sitepage_helper.php
@@ -105,9 +105,22 @@ function getFieldFilter_SitepageHelper($field, $value, array $viewDatas)
function getFieldIndex_Column_SitepageHelper($field, array $viewDatas)
{
$label = lang("{$viewDatas['className']}.label.{$field}");
- $label = $field == $viewDatas['order_field'] ? sprintf('%s ', $label, $viewDatas['order_value'] == 'ASC' ? "up" : "down") : $label;
+ if ($field == $viewDatas['order_field']) {
+ $label .= $viewDatas['order_value'] == 'ASC' ? ICONS['UP'] : ICONS['DOWN'];
+ }
$value = $viewDatas['order_value'] == 'DESC' ? "ASC" : "DESC";
- return anchor(current_url() . "?order_field={$field}&order_value={$value}", $label);
+ $viewDatas['uri']->addQuery('order_field', $field);
+ $viewDatas['uri']->addQuery('order_value', $value);
+ $columnData = anchor($viewDatas['uri'], $label);
+ switch ($field) {
+ case 'title':
+ case 'name':
+ return sprintf("%s | ", $columnData);
+ break;
+ default:
+ return sprintf("%s | ", $columnData);
+ break;
+ }
} //
//Front용
diff --git a/app/Helpers/UserSNS_helper.php b/app/Helpers/UserSNS_helper.php
index 347a00b..a4c90d2 100644
--- a/app/Helpers/UserSNS_helper.php
+++ b/app/Helpers/UserSNS_helper.php
@@ -93,9 +93,22 @@ function getFieldFilter_UserSNSHelper($field, $value, array $viewDatas)
function getFieldIndex_Column_UserSNSHelper($field, array $viewDatas)
{
$label = lang("{$viewDatas['className']}.label.{$field}");
- $label = $field == $viewDatas['order_field'] ? sprintf('%s ', $label, $viewDatas['order_value'] == 'ASC' ? "up" : "down") : $label;
+ if ($field == $viewDatas['order_field']) {
+ $label .= $viewDatas['order_value'] == 'ASC' ? ICONS['UP'] : ICONS['DOWN'];
+ }
$value = $viewDatas['order_value'] == 'DESC' ? "ASC" : "DESC";
- return anchor(current_url() . "?order_field={$field}&order_value={$value}", $label);
+ $viewDatas['uri']->addQuery('order_field', $field);
+ $viewDatas['uri']->addQuery('order_value', $value);
+ $columnData = anchor($viewDatas['uri'], $label);
+ switch ($field) {
+ case 'title':
+ case 'name':
+ return sprintf("%s | ", $columnData);
+ break;
+ default:
+ return sprintf("%s | ", $columnData);
+ break;
+ }
} //
//Front용
diff --git a/app/Helpers/User_helper.php b/app/Helpers/User_helper.php
index 6d636de..9d7ef82 100644
--- a/app/Helpers/User_helper.php
+++ b/app/Helpers/User_helper.php
@@ -109,9 +109,22 @@ function getFieldFilter_UserHelper($field, $value, array $viewDatas)
function getFieldIndex_Column_UserHelper($field, array $viewDatas)
{
$label = lang("{$viewDatas['className']}.label.{$field}");
- $label = $field == $viewDatas['order_field'] ? sprintf('%s ', $label, $viewDatas['order_value'] == 'ASC' ? "up" : "down") : $label;
+ if ($field == $viewDatas['order_field']) {
+ $label .= $viewDatas['order_value'] == 'ASC' ? ICONS['UP'] : ICONS['DOWN'];
+ }
$value = $viewDatas['order_value'] == 'DESC' ? "ASC" : "DESC";
- return anchor(current_url() . "?order_field={$field}&order_value={$value}", $label);
+ $viewDatas['uri']->addQuery('order_field', $field);
+ $viewDatas['uri']->addQuery('order_value', $value);
+ $columnData = anchor($viewDatas['uri'], $label);
+ switch ($field) {
+ case 'title':
+ case 'name':
+ return sprintf("%s | ", $columnData);
+ break;
+ default:
+ return sprintf("%s | ", $columnData);
+ break;
+ }
} //
//Front용
diff --git a/app/Language/ko/Order.php b/app/Language/ko/Order.php
index 6a8b695..487c06f 100644
--- a/app/Language/ko/Order.php
+++ b/app/Language/ko/Order.php
@@ -16,7 +16,7 @@ return [
'created_at' => "작성일"
],
"STATUS" => [
- "use" => "결제하기",
+ "use" => "장바구니",
"unuse" => "주문취소",
"paid" => "결제완료"
]
diff --git a/app/Libraries/Adapter/Payment/CookiePayment.php b/app/Libraries/Adapter/Payment/CookiePayment.php
index 62c5d77..a417144 100644
--- a/app/Libraries/Adapter/Payment/CookiePayment.php
+++ b/app/Libraries/Adapter/Payment/CookiePayment.php
@@ -19,10 +19,10 @@ class CookiePayment extends Payment
$adapter = new APIAdapter();
$adapter->setHeader("content-type", "application/json; charset=utf-8");
/* 토큰 발행 API */
- $adapter->setURL(getenv("payment.cookiepay.token_url") ?: "{TOKEN 발행 URL}");
+ $adapter->setURL(getenv("payment.card.pay2.token_url") ?: "{TOKEN 발행 URL}");
$adapter->setDatas(array(
- 'pay2_id' => 'cookiepayments에서 발급받은 ID',
- 'pay2_key' => 'cookiepayments에서 발급받은 연동키',
+ 'pay2_id' => getenv("payment.card.pay2.id") ?: 'cookiepayments에서 발급받은 ID',
+ 'pay2_key' => getenv("payment.card.pay2.key") ?: 'cookiepayments에서 발급받은 연동키',
));
$token = $adapter->execute();
/* 여기 까지 */
@@ -35,9 +35,9 @@ class CookiePayment extends Payment
{
$adapter = new APIAdapter();
$adapter->setHeader("content-type", "application/json; charset=utf-8");
- $adapter->setHeader("ApiKey", getenv("payment.cookiepay.apikey") ?: "COOKIEPAY에서 발급받은 연동키");
+ $adapter->setHeader("ApiKey", getenv("payment.card.pay2.apikey") ?: "COOKIEPAY에서 발급받은 연동키");
$adapter->setHeader("TOKEN", $this->getToken());
- $adapter->setURL(getenv("payment.cookiepay.url") ?: "{요청도메인}/keyin/payment");
+ $adapter->setURL(getenv("payment.card.pay2.url") ?: "{요청도메인}/keyin/payment");
$adapter->setDatas(array(
'API_ID' => 'COOKIEPAY에서 발급받은 가맹점연동 ID',
'ORDERNO' => '주문번호',
diff --git a/app/Views/front/order/index.php b/app/Views/front/order/index.php
index 2782f5b..c44c776 100644
--- a/app/Views/front/order/index.php
+++ b/app/Views/front/order/index.php
@@ -10,7 +10,7 @@
| 번호 |
- = getFieldIndex_Column_OrderHelper($field, $viewDatas) ?> |
+ = getFieldIndex_Column_OrderHelper($field, $viewDatas) ?>
@@ -21,7 +21,7 @@
= $viewDatas['total_count'] - (($viewDatas['page'] - 1) * $viewDatas['per_page'] + $cnt) ?>
- = getFieldIndex_Row_OrderHelper($field, $entity, $viewDatas) ?> |
+ = getFieldIndex_Row_OrderHelper($field, $entity, $viewDatas) ?> |
diff --git a/app/Views/front/payment/card.php b/app/Views/front/payment/card.php
index 528f544..aff8534 100644
--- a/app/Views/front/payment/card.php
+++ b/app/Views/front/payment/card.php
@@ -23,7 +23,7 @@
- | = form_submit('', '입력', array("class" => "btn btn-outline btn-primary")); ?> |
+ = form_submit('', '결제', array("class" => "btn btn-outline btn-primary")); ?> |
= form_close(); ?>
diff --git a/app/Views/front/payment/deposit.php b/app/Views/front/payment/deposit.php
new file mode 100644
index 0000000..ed5c653
--- /dev/null
+++ b/app/Views/front/payment/deposit.php
@@ -0,0 +1,38 @@
+= $this->extend('layouts/front') ?>
+= $this->section('content') ?>
+
+
+
= html_entity_decode($viewDatas['category']->head) ?>
+
+
= html_entity_decode($viewDatas['category']->tail) ?>
+
+= $this->endSection() ?>
\ No newline at end of file