변경 파일 목록
총 5개
변경 파일 코드
추가삭제
변경 전_manage_permission_menu_list.php
| ?> | |
| </table> | |
| </div> | |
| <input type="hidden" id="messageSenderMeta" data-editor-approver="<?= !empty($isEditorMessageApprover) ? 'y' : 'n'; ?>" data-editor-representative="<?= !empty($isEditorMessageRepresentative) ? 'y' : 'n'; ?>" data-caller-blocked="<?= !empty($isCallerBlocked) ? 'y' : 'n'; ?>" data-caller-uncertified-delegate="<?= !empty($isCallerUncertifiedDelegate) ? 'y' : 'n'; ?>" data-sender-count="<?= (int)(gd_isset($messageSenderCount, 0)); ?>" data-sender-limit="<?= (int)(gd_isset($messageSenderLimit, 0)); ?>"/> | |
| <div class="access-control-reason <?=(!empty($sno) || $changeType == 'init') ? '' : 'display-none'?>" style="clear: both;"> | |
| <div class="table-action-dropdown"> | |
| <div class="table-action mgt0 mgb15"> | |
변경 후_manage_permission_menu_list.php
| ?> | |
| </table> | |
| </div> | |
| <input type="hidden" id="messageSenderMeta" data-editor-approver="<?= !empty($isEditorMessageApprover) ? 'y' : 'n'; ?>" data-editor-representative="<?= !empty($isEditorMessageRepresentative) ? 'y' : 'n'; ?>" data-caller-blocked="<?= !empty($isCallerBlocked) ? 'y' : 'n'; ?>" data-caller-uncertified-delegate="<?= !empty($isCallerUncertifiedDelegate) ? 'y' : 'n'; ?>"/> | |
| <div class="access-control-reason <?=(!empty($sno) || $changeType == 'init') ? '' : 'display-none'?>" style="clear: both;"> | |
| <div class="table-action-dropdown"> | |
| <div class="table-action mgt0 mgb15"> | |
변경 전manage_permission.php
| var $smsSetBox = $('#menuList input:checkbox[data-value="messageSendSms"]:not(:disabled)'); | |
| if ($smsSetBox.length > 0) { | |
| var smsSetGranted = $smsSetBox.is(':checked'); | |
| var smsChanged = false, smsNewSenderCount = 0; | |
| $smsCheckedRows.each(function () { | |
| var smsRole = $(this).data('smsRole'); | |
| // 잠금 판정은 서버가 행마다 내려준다 — 미등록 최고운영자는 smsRole 이 비어 있어 역할값만으로는 걸러지지 않는다 | |
| if (nowSender !== smsSetGranted) { | |
| smsChanged = true; | |
| } | |
| if (smsSetGranted && !nowSender) { | |
| smsNewSenderCount++; | |
| } | |
| }); | |
| if (smsChanged) { | |
| var $smsMeta = $('#messageSenderMeta'); | |
| dialog_alert('SMS 발송 메뉴 접근이 제한되었습니다.<br>스팸 또는 부정 사용으로 차단되어 접근할 수 없습니다.<br>자세한 사항은 1:1문의로 문의하시기 바랍니다.', '경고'); | |
| return false; | |
| } | |
| if (smsSetGranted) { | |
| var smsSenderCount = parseInt($smsMeta.data('senderCount'), 10) || 0; | |
| var smsSenderLimit = parseInt($smsMeta.data('senderLimit'), 10) || 0; | |
| if (smsSenderCount + smsNewSenderCount > smsSenderLimit) { | |
| dialog_alert('발송담당자는 최대 ' + smsSenderLimit + '명까지 지정 가능합니다.', '경고'); | |
| return false; | |
| } | |
| } | |
| if ($.trim($('#accessControlReason').val()) === '') { | |
| dialog_alert('발송담당자 권한 변경 사유를 작성해주세요.', '경고'); | |
| return false; | |
변경 후manage_permission.php
| var $smsSetBox = $('#menuList input:checkbox[data-value="messageSendSms"]:not(:disabled)'); | |
| if ($smsSetBox.length > 0) { | |
| var smsSetGranted = $smsSetBox.is(':checked'); | |
| var smsChanged = false; | |
| $smsCheckedRows.each(function () { | |
| var smsRole = $(this).data('smsRole'); | |
| // 잠금 판정은 서버가 행마다 내려준다 — 미등록 최고운영자는 smsRole 이 비어 있어 역할값만으로는 걸러지지 않는다 | |
| if (nowSender !== smsSetGranted) { | |
| smsChanged = true; | |
| } | |
| }); | |
| if (smsChanged) { | |
| var $smsMeta = $('#messageSenderMeta'); | |
| dialog_alert('SMS 발송 메뉴 접근이 제한되었습니다.<br>스팸 또는 부정 사용으로 차단되어 접근할 수 없습니다.<br>자세한 사항은 1:1문의로 문의하시기 바랍니다.', '경고'); | |
| return false; | |
| } | |
| if ($.trim($('#accessControlReason').val()) === '') { | |
| dialog_alert('발송담당자 권한 변경 사유를 작성해주세요.', '경고'); | |
| return false; | |
변경 전Manager.php
| $smsRoleGuard = \App::getInstance(MessageOperatorRoleGuard::class); | |
| $smsGranted = is_array($arrData['functionAuth']) && (($arrData['functionAuth'][MessageOperatorRoleService::SEND_SMS_FUNCTION_AUTH] ?? '') === 'y'); | |
| $smsChanged = false; | |
| $smsNewSenderCount = 0; | |
| foreach ($managersData as $smsTarget) { | |
| // 최고운영자(sno=1)/위임자는 messageSendSms 강제(잠금)라 변경 대상 아님 | |
| if ($smsRoleService->isSenderPermissionLocked((int)$smsTarget['sno'])) { | |
| if ($smsNowGranted !== $smsGranted) { | |
| $smsChanged = true; | |
| } | |
| if ($smsGranted && $smsNowGranted === false) { | |
| $smsNewSenderCount++; // 신규로 발송담당자가 되는 대상 | |
| } | |
| } | |
| if ($smsChanged) { | |
| if ($smsRoleGuard->isDelegateOrHigher() === false) { | |
| if ($smsRoleGuard->isRepresentative() && $smsRoleService->isBlockedRepresentative()) { | |
| throw new Exception(__('SMS 발송 메뉴 접근이 제한되었습니다.<br>스팸 또는 부정 사용으로 차단되어 접근할 수 없습니다.<br>자세한 사항은 1:1문의로 문의하시기 바랍니다.')); | |
| } | |
| if ($smsGranted && ($smsRoleService->countSenders() + $smsNewSenderCount) > MessageOperatorRoleService::MAX_SENDER_COUNT) { | |
| throw new Exception(__('발송담당자는 최대 %d명까지 지정 가능합니다.', MessageOperatorRoleService::MAX_SENDER_COUNT)); | |
| } | |
| if (trim((string)($arrData['accessControlReason'] ?? '')) === '') { | |
| throw new Exception(__('발송담당자 권한 변경 사유를 작성해주세요.')); | |
| } | |
변경 후Manager.php
| $smsRoleGuard = \App::getInstance(MessageOperatorRoleGuard::class); | |
| $smsGranted = is_array($arrData['functionAuth']) && (($arrData['functionAuth'][MessageOperatorRoleService::SEND_SMS_FUNCTION_AUTH] ?? '') === 'y'); | |
| $smsChanged = false; | |
| foreach ($managersData as $smsTarget) { | |
| // 최고운영자(sno=1)/위임자는 messageSendSms 강제(잠금)라 변경 대상 아님 | |
| if ($smsRoleService->isSenderPermissionLocked((int)$smsTarget['sno'])) { | |
| if ($smsNowGranted !== $smsGranted) { | |
| $smsChanged = true; | |
| } | |
| } | |
| if ($smsChanged) { | |
| if ($smsRoleGuard->isDelegateOrHigher() === false) { | |
| if ($smsRoleGuard->isRepresentative() && $smsRoleService->isBlockedRepresentative()) { | |
| throw new Exception(__('SMS 발송 메뉴 접근이 제한되었습니다.<br>스팸 또는 부정 사용으로 차단되어 접근할 수 없습니다.<br>자세한 사항은 1:1문의로 문의하시기 바랍니다.')); | |
| } | |
| if (trim((string)($arrData['accessControlReason'] ?? '')) === '') { | |
| throw new Exception(__('발송담당자 권한 변경 사유를 작성해주세요.')); | |
| } | |
변경 전ManagePsController.php
| $this->setData('isCallerBlocked', $isEditorMessageRepresentative && $messageOperatorRoleService->isBlockedRepresentative()); | |
| // 위임자 아님 안내가 우선이라 위임자 이상일 때만 판정한다 — isUncertifiedDelegateActor 는 위임자가 아닌 운영자도 DI 가 없으면 true 다 | |
| $this->setData('isCallerUncertifiedDelegate', $messageOperatorRoleGuard->isDelegateOrHigher() && $messageOperatorRoleService->isUncertifiedDelegateActor()); | |
| $this->setData('messageSenderCount', $messageOperatorRoleService->countSenders()); | |
| $this->setData('messageSenderLimit', MessageOperatorRoleService::MAX_SENDER_COUNT); | |
| break; | |
| // --- 운영자 권한 설정> 운영자 검색 | |
변경 후ManagePsController.php
| $this->setData('isCallerBlocked', $isEditorMessageRepresentative && $messageOperatorRoleService->isBlockedRepresentative()); | |
| // 위임자 아님 안내가 우선이라 위임자 이상일 때만 판정한다 — isUncertifiedDelegateActor 는 위임자가 아닌 운영자도 DI 가 없으면 true 다 | |
| $this->setData('isCallerUncertifiedDelegate', $messageOperatorRoleGuard->isDelegateOrHigher() && $messageOperatorRoleService->isUncertifiedDelegateActor()); | |
| break; | |
| // --- 운영자 권한 설정> 운영자 검색 | |
변경 전LayerManagePermissionController.php
| $this->setData('isCallerBlocked', $isEditorMessageRepresentative && $messageOperatorRoleService->isBlockedRepresentative()); | |
| // 위임자 아님 안내가 우선이라 위임자 이상일 때만 판정한다 — isUncertifiedDelegateActor 는 위임자가 아닌 운영자도 DI 가 없으면 true 다 | |
| $this->setData('isCallerUncertifiedDelegate', $messageOperatorRoleGuard->isDelegateOrHigher() && $messageOperatorRoleService->isUncertifiedDelegateActor()); | |
| $this->setData('messageSenderCount', $messageOperatorRoleService->countSenders()); | |
| $this->setData('messageSenderLimit', MessageOperatorRoleService::MAX_SENDER_COUNT); | |
| $this->setData('scmFl', $scmFl); | |
| $this->setData('scmNo', $scmNo); | |
| $this->setData('viewMemuDepth', $viewMemuDepth); | |
변경 후LayerManagePermissionController.php
| $this->setData('isCallerBlocked', $isEditorMessageRepresentative && $messageOperatorRoleService->isBlockedRepresentative()); | |
| // 위임자 아님 안내가 우선이라 위임자 이상일 때만 판정한다 — isUncertifiedDelegateActor 는 위임자가 아닌 운영자도 DI 가 없으면 true 다 | |
| $this->setData('isCallerUncertifiedDelegate', $messageOperatorRoleGuard->isDelegateOrHigher() && $messageOperatorRoleService->isUncertifiedDelegateActor()); | |
| $this->setData('scmFl', $scmFl); | |
| $this->setData('scmNo', $scmNo); | |
| $this->setData('viewMemuDepth', $viewMemuDepth); | |