<기능개선>

1. PMS NO : 5102, 5226, 5227
2. (주요)작업내용 
(1) 수정대상 일괄 커밋
This commit is contained in:
jity7777 2024-06-03 04:00:50 +00:00
parent ab97567e55
commit 9992505b52
6 changed files with 69 additions and 151 deletions

View File

@ -34,7 +34,7 @@
<add key="adminurl" value="http://admin.ynicte.com" /> <add key="adminurl" value="http://admin.ynicte.com" />
<add key="adminips" value="118.219.255.223;118.219.255.225;118.219.255.189;118.219.255.190" /> <add key="adminips" value="118.219.255.223;118.219.255.225;118.219.255.189;118.219.255.190" />
<add key="reporturl" value="http://ynicter.nptc.kr" /> <add key="reporturl" value="http://ynicter.nptc.kr" />
<add key="isstaging" value="0" /> <add key="isstaging" value="1" />
<!--<add key="masteremail" value="edu@ynicte.or.kr;mail.ynicte.or.kr;25;ynicte@ynicte.or.kr;k7758870!%" />--> <!--<add key="masteremail" value="edu@ynicte.or.kr;mail.ynicte.or.kr;25;ynicte@ynicte.or.kr;k7758870!%" />-->
<add key="masteremail" value="yicte@cte.or.kr;smtp.daum.net;465;yicte2020;yicte04003" /> <add key="masteremail" value="yicte@cte.or.kr;smtp.daum.net;465;yicte2020;yicte04003" />
<add key="popbillManager" value="070-5088-4781;박희란" /> <add key="popbillManager" value="070-5088-4781;박희란" />

View File

@ -1622,6 +1622,8 @@ namespace NP.Base.Controllers
d.cc3 = (cc.Where(w => w.cgroup == "cc3" && w.cname == d.ccname3).FirstOrDefault() ?? new ComCode() { }).ccode; d.cc3 = (cc.Where(w => w.cgroup == "cc3" && w.cname == d.ccname3).FirstOrDefault() ?? new ComCode() { }).ccode;
d.cc4 = (cc.Where(w => w.cgroup == "cc4" && w.cname == d.ccname4).FirstOrDefault() ?? new ComCode() { }).ccode; d.cc4 = (cc.Where(w => w.cgroup == "cc4" && w.cname == d.ccname4).FirstOrDefault() ?? new ComCode() { }).ccode;
d.cc5 = (cc.Where(w => w.cgroup == "cc5" && w.cname == d.ccname5).FirstOrDefault() ?? new ComCode() { }).ccode; d.cc5 = (cc.Where(w => w.cgroup == "cc5" && w.cname == d.ccname5).FirstOrDefault() ?? new ComCode() { }).ccode;
d.ispassspace = 1;
d.isignorecase = 1;
d.uno = SUserInfo.UserNo; d.uno = SUserInfo.UserNo;
d.uip = GetUserIP(); d.uip = GetUserIP();
d.QIs = new List<QuestionItem>(); d.QIs = new List<QuestionItem>();

View File

@ -42,7 +42,7 @@ namespace NP.FO.Controllers
if ( if (
Request.IsSecureConnection && Request.IsSecureConnection &&
Request.Url.AbsolutePath.ToUpper().StartsWith("/CDMS/") && Request.Url.AbsolutePath.ToUpper().StartsWith("/CDMS/") &&
Request.Url.AbsolutePath.ToUpper() != "/CDMS/HTTPS" Request.Url.AbsolutePath.ToUpper() != "/CDMS/HTTPS" && false
) )
{ {
//Response.Redirect("http://" + Request.Url.Host + Request.Url.PathAndQuery, true); //Response.Redirect("http://" + Request.Url.Host + Request.Url.PathAndQuery, true);

View File

@ -45,8 +45,9 @@
} }
else if (Model.CMInning.ctype == 2) else if (Model.CMInning.ctype == 2)
{ {
<div id="html1"> <div id="html1">
@Html.Raw(Model.ismobile == 1 ? (string.IsNullOrEmpty(Model.Page.srcm) ? Model.Page.srcp : Model.Page.srcm) : Model.Page.srcp) @Html.Raw((Model.ismobile == 1 ? (string.IsNullOrEmpty(Model.Page.srcm) ? Model.Page.srcp : Model.Page.srcm) : Model.Page.srcp).Replace("http:", "https:"))
</div> </div>
} }
</div> </div>
@ -126,6 +127,7 @@
golog(false, true, false, true); golog(false, true, false, true);
_passunload = true; _passunload = true;
} }
//opener.document.location.reload();
self.close(); self.close();
} }
$(window).load(function () { $(window).load(function () {
@ -293,7 +295,8 @@
} else { } else {
_passunload = true; _passunload = true;
clearInterval(_timerlog); clearInterval(_timerlog);
msg("콘텐츠를 학습할 수 없는 상태입니다. 운영자에게 문의해주세요...", null, null, null, "goclose()", 3000); msg("콘텐츠를 학습할 수 없는 상태입니다. 운영자에게 문의해주세요...", null, null, null, "goclose()", 3000);
//msg("콘텐츠를 학습할 수 없는 상태입니다. 운영자에게 문의해주세요...", null, null, null);
} }
} }
}); });

View File

@ -24,14 +24,14 @@
</ul> </ul>
<input type="hidden" name="username" id="username" value="@u.username" /> <input type="hidden" name="username" id="username" value="@u.username" />
<input type="hidden" name="birthday" id="birthday" value="@u.birthday" /> <input type="hidden" name="birthday" id="birthday" value="@u.birthday" />
<input type="hidden" name="di" id="di" value="@(u.di)" /> <input type="hidden" name="di" id="di" value="@(u.di)" />
<input type="hidden" name="ci" id="ci" value="@(u.ci)" /> <input type="hidden" name="ci" id="ci" value="@(u.ci)" />
<input type="hidden" name="vssn" id="vssn" value="@(u.vssn)" /> <input type="hidden" name="vssn" id="vssn" value="@(u.vssn)" />
<input type="hidden" name="authplatform" id="authplatform" value="@(u.authplatform.GetHashCode())" /> <input type="hidden" name="authplatform" id="authplatform" value="@(u.authplatform.GetHashCode())" />
<table class="clsTable"> <table class="clsTable">
<tbody> <tbody>
<tr><th>ID</th><td><p>@u.userid</p></td></tr> <tr><th>ID</th><td><p>@u.userid</p></td></tr>
<tr><th>이름(한글)</th><td><p id="username">@u.username</p></td></tr> <tr><th>이름(한글)</th><td><p>@u.username</p></td></tr>
<tr><th>비밀번호</th><td><input type="password" class="min230" id="userpass" name="userpass" /></td></tr> <tr><th>비밀번호</th><td><input type="password" class="min230" id="userpass" name="userpass" /></td></tr>
<tr><th>비밀번호 확인</th><td><input type="password" class="min230" id="userpass2" /></td></tr> <tr><th>비밀번호 확인</th><td><input type="password" class="min230" id="userpass2" /></td></tr>
<tr> <tr>
@ -83,60 +83,67 @@
<th>생년월일</th> <th>생년월일</th>
<td> <td>
<p id="txtbirthday"> <p id="txtbirthday">
@if (!string.IsNullOrEmpty(u.birthday)) @if (!string.IsNullOrEmpty(u.birthday))
{ {
@(u.birthday.Replace("-", ".")) @(u.birthday.Replace("-", "."))
} }
</p> </p>
</td> </td>
</tr> </tr>
<tr> <tr >
<th>학습인증수단</th> <th>학습인증수단</th>
<td> <td>
<div class="mdfyBirth" id="authPlatform_IPIN" @(u.authplatform == AuthPlatform.Mobile ? "style=display:none;" : "") @(u.authplatform == AuthPlatform.None ? "style=padding-bottom:5px;" : "")> <div class="mdfyBirth" id="authPlatform_IPIN" @(u.authplatform == AuthPlatform.Mobile ? "style=display:none;" : "") @(u.authplatform == AuthPlatform.None ? "style=padding-bottom:5px;" : "")>
<p id="authPlatform_IPIN_Name">@(u.authplatform == AuthPlatform.None ? "-" : "I-PIN 인증")</p> <p id="authPlatform_IPIN_Name">@(u.authplatform == AuthPlatform.None ? "-" : "I-PIN 인증")</p>
<a href="#" onclick="certok3request('MOBI', 'AuthPlatformChange');" style="width:150px;">휴대폰 인증으로 변경</a> <a href="#" onclick="certok3reqview('MOBI', 'AuthPlatformChange');" style="width:150px;">휴대폰 인증으로 변경</a>
</div> </div>
<div class="mdfyBirth" id="authPlatform_Mobile" @(u.authplatform == AuthPlatform.IPIN ? "style=display:none;" : "")> <div class="mdfyBirth" id="authPlatform_Mobile" @(u.authplatform == AuthPlatform.IPIN ? "style=display:none;" : "")>
<p id="authPlatform_Mobile_Name">@(u.authplatform == AuthPlatform.None ? "-" : "휴대폰 인증")</p> <p id="authPlatform_Mobile_Name">@(u.authplatform == AuthPlatform.None ? "-" : "휴대폰 인증")</p>
<a href="#" onclick="certok3request('IPIN', 'AuthPlatformChange');" style="width:150px;">I-PIN 인증으로 변경</a> <a href="#" onclick="certok3reqview('IPIN', 'AuthPlatformChange');" style="width:150px;">I-PIN 인증으로 변경</a>
</div> </div>
<br /> <br />
※ 인증수단 변경 시 추가 인증을 진행해야 합니다. ※ 인증수단 변경 시 추가 인증을 진행해야 합니다.
<br /> <br />
※ 추가 인증 후 하단의 [저장] 버튼을 클릭해야 변경이 완료됩니다. ※ 추가 인증 후 하단의 [저장] 버튼을 클릭해야 변경이 완료됩니다.
</td> </td>
</tr> </tr>
<tr> <tr>
<th>연락처</th> <th>연락처</th>
<td> <td>
<div class="mdfyBirth"> <div class="mdfyBirth">
<input type="hidden" name="mobile" id="mobile" value="@(u.mobile)" /> @if(u.authplatform == AuthPlatform.Mobile)
<p id="mobilestr">@(u.mobile)</p><a href="#" onclick="certok3reqview('MOBI', 'MobileNumberChange');">수정</a> {
<input type="hidden" name="mobile" id="mobile" value="@(u.mobile)" />
<p id="mobilestr">@(u.mobile)</p><a href="#" onclick="certok3reqview('MOBI', 'MobileNumberChange');">수정</a>
}
else
{
<input type="text" id="mobile" class="int nocomma" name="mobile" maxlength="13" placeholder="휴대전화번호" value="@(u.mobile)" >
}
</div> </div>
</td> </td>
</tr> </tr>
<input type="hidden" id="asno" name="asno" value="@u.asno" /> <input type="hidden" id="asno" name="asno" value="@u.asno" />
@*<tr> @*<tr>
<th>소속</th> <th>소속</th>
<td> <td>
<ul class="sctyRadio"> <ul class="sctyRadio">
<li><input type="radio" name="isCompany" value="0" id="isCompany0" @(u.asno == null ? "checked" : "")><label for="isCompany0">개인</label></li> <li><input type="radio" name="isCompany" value="0" id="isCompany0" @(u.asno == null ? "checked" : "")><label for="isCompany0">개인</label></li>
<li><input type="radio" name="isCompany" value="1" id="isCompany1" @(u.asno == null ? "" : "checked")><label for="isCompany1">업체</label></li> <li><input type="radio" name="isCompany" value="1" id="isCompany1" @(u.asno == null ? "" : "checked")><label for="isCompany1">업체</label></li>
</ul> </ul>
</td> </td>
</tr>*@ </tr>*@
@*<tr> @*<tr>
<th>직장</th> <th>직장</th>
<td> <td>
<div class="mdfyBirth"> <div class="mdfyBirth">
<input type="hidden" id="asno" name="asno" value="@u.asno" /> <input type="hidden" id="asno" name="asno" value="@u.asno" />
<p id="asname">@(u.asname ?? "-")</p> <p id="asname">@(u.asname ?? "-")</p>
<a href="#" id="btnassign" onclick="chkassign();" style="background-color:@(u.asno == null ? "#ddd;" : "#fff;")">수정</a> <a href="#" id="btnassign" onclick="chkassign();" style="background-color:@(u.asno == null ? "#ddd;" : "#fff;")">수정</a>
</div> </div>
</td> </td>
</tr>*@ </tr>*@
<tr> <tr>
<th>학력</th> <th>학력</th>
<td> <td>
@ -188,9 +195,6 @@
</li> </li>
</ul> </ul>
</div> </div>
<input type="hidden" id="okcert3no" name="zstring0" />
<input type="hidden" id="okcert3sn" name="zstring1" />
<input type="hidden" id="okcert3gb" name="zstring2" />
</form> </form>
@Html.Partial("./Partial/OkCert3", null, new ViewDataDictionary { }) @Html.Partial("./Partial/OkCert3", null, new ViewDataDictionary { })
<ul class="lctBtn"> <ul class="lctBtn">
@ -215,22 +219,16 @@
<dd>문의 : 1544-7660</dd> <dd>문의 : 1544-7660</dd>
</dl> </dl>
@*<h5>탈퇴사유</h5> @*<h5>탈퇴사유</h5>
<textarea id="exitreason" maxlength="400" cols="30" rows="10" style="padding: 20px;"></textarea> <textarea id="exitreason" maxlength="400" cols="30" rows="10" style="padding: 20px;"></textarea>
<ul class="odrPopBtn col1"> <ul class="odrPopBtn col1">
<li><a href="#" class="bk" onclick="save(-1)">탈퇴하기</a></li> <li><a href="#" class="bk" onclick="save(-1)">탈퇴하기</a></li>
</ul>*@ </ul>*@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<form id="frm" method="post" action="@ViewBag.result">
<input type="hidden" id="stringval" name="stringval" value="" />
</form>
@Html.Partial("./Partial/BoxAssign", null, new ViewDataDictionary { { "bindmethod", "bindassign" } }) @Html.Partial("./Partial/BoxAssign", null, new ViewDataDictionary { { "bindmethod", "bindassign" } })
@section scriptsHeader{ @section scriptsHeader{
@Html.Partial("./Partial/ScriptPost") @Html.Partial("./Partial/ScriptPost")
@ -251,7 +249,7 @@
var referrer = document.referrer; var referrer = document.referrer;
if (referrer.toLowerCase().indexOf('myinfocheck') > 0 || referrer.toLowerCase().indexOf('snslinkcallback') > 0) { if (referrer.toLowerCase().indexOf('myinfocheck') > 0 || referrer.toLowerCase().indexOf('snslinkcallback') > 0) {
selectTab("sns"); selectTab("sns");
} }
$("input:radio[name='isCompany']").on("click", function () { $("input:radio[name='isCompany']").on("click", function () {
@ -268,10 +266,10 @@
} }
}); });
$("#userpno2").on("keyup", function () { $("#userpno2").on("keyup", function () {
setbirthday(val("userpno1") + val("userpno2")); setbirthday(val("userpno1") + val("userpno2"));
}); });
}); });
function chkassign() { function chkassign() {
var isCompany = $("input:radio[name='isCompany']:checked").val(); var isCompany = $("input:radio[name='isCompany']:checked").val();
if (isCompany == "1") { if (isCompany == "1") {
@ -279,9 +277,9 @@
} }
} }
function setbirthday(userpno) { function setbirthday(userpno) {
var birthday = ""; var birthday = "";
if (userpno.length == 13 && moment(userpno.substr(0, 6), 'YYMMDD', true).isValid() && userpno.substr(6, 1) > 0) if (userpno.length == 13 && moment(userpno.substr(0, 6), 'YYMMDD', true).isValid() && userpno.substr(6, 1) > 0)
{ {
switch (userpno.substr(6, 1)) switch (userpno.substr(6, 1))
{ {
case "1": case "1":
@ -312,7 +310,7 @@
break; break;
} }
birthday += userpno.substr(0, 2) + "-" + userpno.substr(2, 2) + "-" + userpno.substr(4, 2); birthday += userpno.substr(0, 2) + "-" + userpno.substr(2, 2) + "-" + userpno.substr(4, 2);
} }
if (val("birthday") == "" && birthday != "") { if (val("birthday") == "" && birthday != "") {
$("#txtbirthday").text(birthday.replace(/-/gi, ".")); $("#txtbirthday").text(birthday.replace(/-/gi, "."));
@ -350,23 +348,12 @@
else if (val("userpass") != "" && !ispassword(val("userpass"))) { focus("userpass"); msg("(8자 이상, 영문/숫자/특수기호 포함) 규칙으로 비밀번호를 입력해주세요."); } else if (val("userpass") != "" && !ispassword(val("userpass"))) { focus("userpass"); msg("(8자 이상, 영문/숫자/특수기호 포함) 규칙으로 비밀번호를 입력해주세요."); }
else if (isRepeatedString(val("userpass"))) { focus("userpass"); msg("반복되는 문자/숫자를 사용할 수 없습니다."); } else if (isRepeatedString(val("userpass"))) { focus("userpass"); msg("반복되는 문자/숫자를 사용할 수 없습니다."); }
else if (val("userpass") != "" && val("userpass") != val("userpass2")) { focus("userpass2"); msg("비밀번호 확인이 다릅니다."); } else if (val("userpass") != "" && val("userpass") != val("userpass2")) { focus("userpass2"); msg("비밀번호 확인이 다릅니다."); }
else if (check("mobile", null, "휴대전화번호를 입력해주세요.")) { }
// else if (check("mobile", null, "휴대전화번호를 입력해주세요.")) { } else if (!ismobilenumber(val("mobile"))) { focus("mobile"); msg("휴대전화번호를 확인해주세요."); }
// else if (!ismobilenumber(val("mobile"))) { focus("mobile"); msg("휴대전화번호를 확인해주세요."); }
else if (!isemail(val("email"))) { focus("email1"); msg("올바른 이메일주소를 입력해주세요."); } else if (!isemail(val("email"))) { focus("email1"); msg("올바른 이메일주소를 입력해주세요."); }
//else if ($("input:radio[name='isCompany']:checked").val() == "1" && check("asno", "btnassign", "직장을 선택해주세요.")) { } //else if ($("input:radio[name='isCompany']:checked").val() == "1" && check("asno", "btnassign", "직장을 선택해주세요.")) { }
else { else {
if ($("#authPlatform_IPIN").css("display") == "block") { cap("/fcommon/UserPassCheck", "mform", "save2");
cap("/fcommon/UserPassCheck", "mform", "save2");
}
else {
if (check("mobile", null, "휴대전화번호를 입력해주세요.")) { }
else if (!ismobilenumber(val("mobile"))) { focus("mobile"); msg("휴대전화번호를 확인해주세요."); }
else {
cap("/fcommon/UserPassCheck", "mform", "save2");
}
}
} }
} else if (idx == 0) { } else if (idx == 0) {
$('html, body').addClass('lock'); $('html, body').addClass('lock');
@ -379,8 +366,6 @@
function save2() { function save2() {
if (capResult.obj == 0) { if (capResult.obj == 0) {
cap("/fcommon/usersave", "mform", "cbsave"); cap("/fcommon/usersave", "mform", "cbsave");
}else if (capResult.obj == -1) {
msg("입력된 정보와 인증정보가 일치하지 않습니다.");
} }
else { else {
msg("이미 사용된 비밀번호는 사용할 수 없습니다."); msg("이미 사용된 비밀번호는 사용할 수 없습니다.");
@ -400,9 +385,6 @@
function cbsave() { function cbsave() {
if (capResult.code == 1000) { if (capResult.code == 1000) {
msg("저장되었습니다."); msg("저장되었습니다.");
cap("/fcommon/userGetMyinfo", "mform", "cbsave2");
} else if (capResult.obj == -1) {
msg("입력된 정보와 인증정보가 일치하지 않습니다.");
} else if (capResult.obj == -2) { } else if (capResult.obj == -2) {
msg("이미 사용중인 이메일주소입니다. 다른 이메일주소를 사용해주세요."); msg("이미 사용중인 이메일주소입니다. 다른 이메일주소를 사용해주세요.");
} else { } else {
@ -410,36 +392,6 @@
} }
} }
function cbsave2() {
if (capResult.code == 1000) {
$("#mobile").val(capResult.obj.mobile)
$("#mobilestr").text(capResult.obj.MobileFormat)
if (capResult.obj.authplatform == 1) {
$("#authPlatform_IPIN").css("display", "")
$("#authPlatform_Mobile").css("display", "none")
}
else if (capResult.obj.authplatform == 2) {
$("#authPlatform_IPIN").css("display", "none")
$("#authPlatform_Mobile").css("display", "")
}
else {
$("#authPlatform_IPIN").css("display", "")
$("#authPlatform_Mobile").css("display", "")
}
$("#authplatform").val(capResult.obj.authplatform)
$("#post").val(capResult.obj.post)
$("#address1").val(capResult.obj.address1)
$("#address2").val(capResult.obj.address2)
msg("저장되었습니다.");
}
else {
msg("사용자 정보를 불러오는데 실패하였습니다.")
}
}
function selectTab(type) { function selectTab(type) {
if (type == "user") { if (type == "user") {
$("#liSnsTab").removeClass("current"); $("#liSnsTab").removeClass("current");
@ -517,7 +469,7 @@
msg("구글 아이디로 로그인에 실패했습니다."); msg("구글 아이디로 로그인에 실패했습니다.");
return; return;
}); });
} }
function loginWithNaver() { function loginWithNaver() {
$("#naverIdLogin_loginButton > img").trigger("click"); $("#naverIdLogin_loginButton > img").trigger("click");
@ -527,46 +479,6 @@
naverLogin.init(); naverLogin.init();
Kakao.init("@kakaoClientId"); Kakao.init("@kakaoClientId");
} }
function certRslt(val) {
if (val.indexOf("er.") == -1) {
$("#frm #stringval").val(val)
var data = $("#frm").serialize()
capp("/focommon/GetOkCert3Rslt", data, "certOkRslt");
}
else {
msg(val.replace("er.", ""))
}
}
function certOkRslt() {
//console.log(capResult.obj);
if (capResult.obj.username == $("#username").val().trim()) {
$("#okcert3no").val(capResult.obj.no);
$("#okcert3sn").val(capResult.obj.sn);
$("#okcert3gb").val(capResult.obj.gubn);
if (capResult.obj.gubn == "MOBI") {
$("#mobilestr").text(capResult.obj.mobile)
$("#mobile").val(capResult.obj.mobile.replace(/-/gi, ""))
}
if (capResult.obj.gubn == "IPIN") {
$("#authPlatform_IPIN").css("display", "")
$("#authPlatform_Mobile").css("display", "none")
}else if (capResult.obj.gubn == "MOBI") {
$("#authPlatform_IPIN").css("display", "none")
$("#authPlatform_Mobile").css("display", "")
}
else {
$("#authPlatform_IPIN").css("display", "")
$("#authPlatform_Mobile").css("display", "")
}
}
else {
msg("입력된 정보와 인증정보가 일치하지 않습니다.")
}
}
</script> </script>
<script src="https://apis.google.com/js/platform.js?onload=googleInit" async defer></script> @*header가 아니라 하단에 위치해야 읽어올수있음*@ <script src="https://apis.google.com/js/platform.js?onload=googleInit" async defer></script> @*header가 아니라 하단에 위치해야 읽어올수있음*@
} }

View File

@ -40,9 +40,10 @@
<add key="ssonoauth" value="Y" /> <add key="ssonoauth" value="Y" />
<add key="daokey" value="ynictelms2020" /> <add key="daokey" value="ynictelms2020" />
<!--<add key="configpath" value="Product" />--> <add key="configpath" value="Product" />
<!--<add key="configpath" value="ProductDev" />--> <!--<add key="configpath" value="ProductDev" />-->
<add key="configpath" value="Staging" /> <!--<add key="configpath" value="Staging" />-->
<add key="isstaging" value="1" />
<add key="thumbnailexe" value="D:\\dev_tool\\ffmpeg.exe" /> <add key="thumbnailexe" value="D:\\dev_tool\\ffmpeg.exe" />