변경 파일 목록
총 1개
Component (1)
BoardFront.phpBoard/변경 파일 코드
추가삭제
변경 전BoardFront.php
| if(empty($goodsNo) && $orderGoodsNo) { | |
| $order = new Order(); | |
| $orderGoodsData = $order->getOrderGoods(null, $orderGoodsNo)[0]; | |
| $goodsNo = $orderGoodsData['goodsNo']; | |
| } | |
| if ($orderGoodsNo) { | |
| $order = new Order(); | |
| $orderGoodsData = $order->getOrderGoods(null, $orderGoodsNo)[0]; | |
| if (empty($orderGoodsData)) { | |
| return ['possible' => false, 'errorMsg' => __('해당 상품의 주문내역이 없습니다.')]; | |
| } | |
| if ($this->isExceptReviewGoods($orderGoodsData['goodsNo']) === true || $orderGoodsData['goodsType'] == 'addGoods') { | |
| } | |
| } | |
| /** | |
| * 상품후기 작성 시 주문조건관련 애러메시지 가져오는 함수. false 이면 애러없음. | |
| * | |
변경 후BoardFront.php
| if(empty($goodsNo) && $orderGoodsNo) { | |
| $order = new Order(); | |
| $orderGoodsData = $order->getOrderGoods(null, $orderGoodsNo)[0]; | |
| if ($this->isOwnedOrderGoods($orderGoodsNo, $isGuest) === false) { | |
| return ['possible' => false, 'errorMsg' => __('해당 상품의 주문내역이 없습니다.')]; | |
| } | |
| $goodsNo = $orderGoodsData['goodsNo']; | |
| } | |
| if ($orderGoodsNo) { | |
| $order = new Order(); | |
| $orderGoodsData = $order->getOrderGoods(null, $orderGoodsNo)[0]; | |
| if (empty($orderGoodsData) || $this->isOwnedOrderGoods($orderGoodsNo, $isGuest) === false) { | |
| return ['possible' => false, 'errorMsg' => __('해당 상품의 주문내역이 없습니다.')]; | |
| } | |
| if ($this->isExceptReviewGoods($orderGoodsData['goodsNo']) === true || $orderGoodsData['goodsType'] == 'addGoods') { | |
| } | |
| } | |
| /** | |
| * 주문 상품(orderGoodsNo)이 현재 요청자 소유인지 검증 | |
| * | |
| * 회원 : $this->member['memNo'] | |
| * 게스트 : 세션(guest.orderNo) | |
| * 비로그인: $this->member['memNo'] == null | |
| * | |
| * @param int $orderGoodsNo 주문상품번호 | |
| * @param bool $isGuest 비회원 주문조회 로그인 여부 | |
| * @return bool 본인 주문상품이면 true | |
| */ | |
| protected function isOwnedOrderGoods($orderGoodsNo, $isGuest) | |
| { | |
| $arrBind = []; | |
| $query = "SELECT count(*) as cnt FROM " . DB_ORDER_GOODS . " as og INNER JOIN " . DB_ORDER . " as o ON og.orderNo = o.orderNo WHERE og.sno = ? AND "; | |
| $this->db->bind_param_push($arrBind, 'i', $orderGoodsNo); | |
| if ($isGuest) { | |
| $query .= "og.orderNo = ? AND o.memNo = 0 "; | |
| $this->db->bind_param_push($arrBind, 's', \Session::get('guest.orderNo')); | |
| } else { | |
| // 비로그인 시 $this->member 미설정 → memNo null (PHP8 array-offset-on-null 경고 방지) → 매칭 0건 | |
| $memNo = is_array($this->member) ? ($this->member['memNo'] ?? null) : null; | |
| $query .= "o.memNo = ? "; | |
| $this->db->bind_param_push($arrBind, 'i', $memNo); | |
| } | |
| $result = $this->db->query_fetch($query, $arrBind, false); | |
| return ($result['cnt'] > 0); | |
| } | |
| /** | |
| * 상품후기 작성 시 주문조건관련 애러메시지 가져오는 함수. false 이면 애러없음. | |
| * | |