학습인증수단 추가
"동영상 학습 본인인증방식 변경 - 강좌별 학습 본인인증이 아닌, 회차별 학습 본인인증으로 변경"
This commit is contained in:
parent
52c5616da8
commit
19ad5757c8
|
|
@ -159,7 +159,7 @@ namespace NP.Base.Controllers
|
||||||
return JsonOK(Dao.Save("cr.lectsdboardcmt.del", new Hashtable() { { "bcno", bcno }, { "cno", SUserInfo.UserNo }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }));
|
return JsonOK(Dao.Save("cr.lectsdboardcmt.del", new Hashtable() { { "bcno", bcno }, { "cno", SUserInfo.UserNo }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }));
|
||||||
}
|
}
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public JsonResult AttCertCheck(int lectno)
|
public JsonResult AttCertCheck(long lectno)
|
||||||
{
|
{
|
||||||
var data = Dao.Get<Data>("lect.attcert.check", new Hashtable() { { "lectno", lectno } }).FirstOrDefault();
|
var data = Dao.Get<Data>("lect.attcert.check", new Hashtable() { { "lectno", lectno } }).FirstOrDefault();
|
||||||
if (data.intval2 == 1 || data.intval3 == 1)
|
if (data.intval2 == 1 || data.intval3 == 1)
|
||||||
|
|
@ -183,6 +183,34 @@ namespace NP.Base.Controllers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
|
public JsonResult AttCertCheckForLectinning(long lectno, long cmino)
|
||||||
|
{
|
||||||
|
var data = Dao.Get<Data>("lect.lectinning.attcert.check", new Hashtable() { { "lectno", lectno }, { "cmino", cmino }, {"userno", SUserInfo.UserNo } }).FirstOrDefault();
|
||||||
|
if (data.intval2 == 1 || data.intval3 == 1)
|
||||||
|
{
|
||||||
|
//intval2 출석인증제외 회원, intval3 출석인증제외 강좌
|
||||||
|
return JsonBack(new JsonRtn() { code = 1000, obj = 1 });
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//출석인증
|
||||||
|
if (data.intval == 1)
|
||||||
|
{
|
||||||
|
return JsonBack(new JsonRtn() { code = 1000, obj = 2 });
|
||||||
|
}
|
||||||
|
//핸드폰인증인데 핸드폰번호가 없는경우(에러)
|
||||||
|
if ( string.IsNullOrEmpty(data.strval) && data.strval2 == "2")
|
||||||
|
{
|
||||||
|
return JsonBack(new JsonRtn() { code = -1 });
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//data.strval2 <- authplatform 1:IPIN, 2:Mobile
|
||||||
|
return JsonBack(new JsonRtn() { code = 1000, obj = 3, msg = data.strval2 });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
[HttpPost]
|
||||||
public JsonResult LectComplete(Int64 lectno)
|
public JsonResult LectComplete(Int64 lectno)
|
||||||
{
|
{
|
||||||
var ispass = Dao.Get<Lect>("grade.ispass", new Hashtable() { { "lectno", lectno } } ).FirstOrDefault().ispass;
|
var ispass = Dao.Get<Lect>("grade.ispass", new Hashtable() { { "lectno", lectno } } ).FirstOrDefault().ispass;
|
||||||
|
|
|
||||||
|
|
@ -561,6 +561,38 @@ namespace NP.Base.Controllers
|
||||||
return JsonOK(0);
|
return JsonOK(0);
|
||||||
}
|
}
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
|
public JsonResult ChkLakeyForLectinning(String lakey, int authno, long cmino)
|
||||||
|
{
|
||||||
|
IList<Data> datas = Dao.Get<Data>("common.sms.chk", new Hashtable() { { "authno", authno } });
|
||||||
|
if (datas.Count() < 1)
|
||||||
|
{
|
||||||
|
return JsonOK(0);
|
||||||
|
}
|
||||||
|
else if (datas.Where(w => w.strval.Replace(" ", "").Equals(lakey.Replace(" ", "")) && w.time.AddMinutes(3) < DateTime.Now).Count() > 0)
|
||||||
|
{
|
||||||
|
return JsonBack(new JsonRtn() { code = 1 });
|
||||||
|
}
|
||||||
|
else if (datas.Where(w => w.strval.Replace(" ", "").Equals(lakey.Replace(" ", "")) && w.time.AddMinutes(3) >= DateTime.Now).Count() > 0)
|
||||||
|
{
|
||||||
|
var lectno = datas.FirstOrDefault().intval2;
|
||||||
|
var lectInnings = Dao.Get<LectInning>("cr.cminnings", new System.Collections.Hashtable() { { "lectno", lectno }, { "userno", SUserInfo.UserNo } });
|
||||||
|
if (lectInnings.Where(w => w.cmino == cmino).Count() > 0)
|
||||||
|
{
|
||||||
|
var Hashtable = new System.Collections.Hashtable() {
|
||||||
|
{ "lectno", lectno },
|
||||||
|
{ "cmino", cmino },
|
||||||
|
{ "isattcheck", 1 },
|
||||||
|
{ "userno", SUserInfo.UserNo },
|
||||||
|
{ "uno", SUserInfo.UserNo },
|
||||||
|
{ "uip", GetUserIP() }
|
||||||
|
};
|
||||||
|
Dao.Save("lect.lectinning.isatt.in", Hashtable);
|
||||||
|
return JsonBack(new JsonRtn() { code = 1000, obj = datas.First() });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return JsonOK(0);
|
||||||
|
}
|
||||||
|
[HttpPost]
|
||||||
public JsonResult PageLearningTotalTime(Int64 lectno, Int64 cmino, int cpno)
|
public JsonResult PageLearningTotalTime(Int64 lectno, Int64 cmino, int cpno)
|
||||||
{
|
{
|
||||||
if (SUserInfo.UserNo > 0)
|
if (SUserInfo.UserNo > 0)
|
||||||
|
|
|
||||||
|
|
@ -1071,7 +1071,7 @@ create table lectinning (
|
||||||
,pseq tinyint not null default 1
|
,pseq tinyint not null default 1
|
||||||
,psec smallint
|
,psec smallint
|
||||||
,cdt datetime not null,cno bigint not NULL,udt datetime not null,uno bigint not NULL,uip varchar(50) not NULL
|
,cdt datetime not null,cno bigint not NULL,udt datetime not null,uno bigint not NULL,uip varchar(50) not NULL
|
||||||
,isauth TINYINT(4) NOT NULL DEFAULT 0,
|
,isattcheck TINYINT(4) NOT NULL DEFAULT 0,
|
||||||
,primary key(lectno,cmino));
|
,primary key(lectno,cmino));
|
||||||
|
|
||||||
create table lectinningpage (
|
create table lectinningpage (
|
||||||
|
|
|
||||||
|
|
@ -1499,6 +1499,16 @@
|
||||||
inner join cm c on c.cmno = a.cmno
|
inner join cm c on c.cmno = a.cmno
|
||||||
where a.lectno = #lectno#
|
where a.lectno = #lectno#
|
||||||
</select>
|
</select>
|
||||||
|
<select id="lect.lectinning.attcert.check" parameterClass="hashtable" resultClass="data">
|
||||||
|
select ifnull(d.isattcheck,0) intval,b.ischkatt intval2,c.ischkatt intval3
|
||||||
|
,CAST(AES_DECRYPT(UNHEX(b.mobile), <include refid="sql.digest"></include>) AS char) strval
|
||||||
|
,b.authplatform strval2
|
||||||
|
from lect a
|
||||||
|
inner join users b on b.userno = a.userno
|
||||||
|
inner join cm c on c.cmno = a.cmno
|
||||||
|
left outer join lectinning d on d.lectno = a.lectno and d.cmino = #cmino#
|
||||||
|
where a.lectno = #lectno# and a.userno = #userno#
|
||||||
|
</select>
|
||||||
<select id="lect.lecture.document" parameterClass="hashtable" resultClass="lect">
|
<select id="lect.lecture.document" parameterClass="hashtable" resultClass="lect">
|
||||||
select a.*
|
select a.*
|
||||||
from (
|
from (
|
||||||
|
|
@ -1583,7 +1593,19 @@
|
||||||
latime = now()
|
latime = now()
|
||||||
where lectno = #lectno#
|
where lectno = #lectno#
|
||||||
</update>
|
</update>
|
||||||
|
<update id="lect.lectinning.isatt.in" parameterClass="hashtable">
|
||||||
|
update lectinning a
|
||||||
|
inner join lect b on b.lectno=a.lectno and b.userno=#userno#
|
||||||
|
set a.isattcheck = #isattcheck#,a.udt=now(),a.uno=#uno#,a.uip=#uip#
|
||||||
|
where a.lectno=#lectno# and a.cmino=#cmino#;
|
||||||
|
|
||||||
|
insert into lectinning (lectno,cmino,totstudy,stime,etime,istatus,finishtime,sip,eip,ispcs,ispce,pseq,psec,isattcheck,<include refid="sql.inc"></include>)
|
||||||
|
select #lectno#,a.cmino,0,now(),now(),case when a.atime=0 then 2 else 0 end,case when a.atime=0 then now() else null end,#uip#,#uip#,1,null,ctp.pseq,0,#isattcheck#,<include refid="sql.inv"></include>
|
||||||
|
from cminning a
|
||||||
|
inner join ctpage ctp on ctp.ctno=a.ctno and ctp.isdel=0 and ctp.pseq=1
|
||||||
|
left outer join lectinning b on b.lectno=#lectno# and b.cmino=#cmino#
|
||||||
|
where a.cmino=#cmino# and b.lectno is null;
|
||||||
|
</update>
|
||||||
<update id="lect.cmisno.up" parameterClass="hashtable">
|
<update id="lect.cmisno.up" parameterClass="hashtable">
|
||||||
update lect
|
update lect
|
||||||
set cmisno = #cmisno#
|
set cmisno = #cmisno#
|
||||||
|
|
|
||||||
|
|
@ -474,7 +474,7 @@ namespace NP.FO.Controllers
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sel"></param>
|
/// <param name="sel"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public ActionResult CertOk3Req(String sel, String reason)
|
public ActionResult CertOk3Req(String sel, String reason, String param1, String param2)
|
||||||
{
|
{
|
||||||
String CP_CD = "V47690000000";
|
String CP_CD = "V47690000000";
|
||||||
String SITE_NAME = "YNICTE";
|
String SITE_NAME = "YNICTE";
|
||||||
|
|
@ -506,8 +506,8 @@ namespace NP.FO.Controllers
|
||||||
ViewBag.PopupUrl = "";
|
ViewBag.PopupUrl = "";
|
||||||
|
|
||||||
//return url 설정
|
//return url 설정
|
||||||
RETURN_URL = GetConfig("fronturl") + "/Account/CertOk3" + sel + "?reason=" + reason;
|
RETURN_URL = GetConfig("fronturl") + "/Account/CertOk3" + sel + "?reason=" + reason + (!string.IsNullOrEmpty(param1) ? "¶m1=" + param1 : "") + (!string.IsNullOrEmpty(param2) ? "¶m2=" + param2 : "");
|
||||||
RTN_URL = GetConfig("fronturl") + "/Account/CertOk3" + sel + "?reason=" + reason;
|
RTN_URL = GetConfig("fronturl") + "/Account/CertOk3" + sel + "?reason=" + reason + (!string.IsNullOrEmpty(param1) ? "¶m1=" + param1 : "") + (!string.IsNullOrEmpty(param2) ? "¶m2=" + param2 : "");
|
||||||
//모바일팝업
|
//모바일팝업
|
||||||
if (sel == "MOBI" || sel == "MCHK")
|
if (sel == "MOBI" || sel == "MCHK")
|
||||||
{
|
{
|
||||||
|
|
@ -576,7 +576,7 @@ namespace NP.FO.Controllers
|
||||||
/// 휴대폰인증 결과
|
/// 휴대폰인증 결과
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public ActionResult CertOk3MOBI(string reason)
|
public ActionResult CertOk3MOBI(string reason, String param1, String param2)
|
||||||
{
|
{
|
||||||
String MDL_TKN = Request["MDL_TKN"];
|
String MDL_TKN = Request["MDL_TKN"];
|
||||||
String CP_CD = "V47690000000";
|
String CP_CD = "V47690000000";
|
||||||
|
|
@ -715,7 +715,7 @@ namespace NP.FO.Controllers
|
||||||
/// IPIN인증 결과
|
/// IPIN인증 결과
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public ActionResult CertOk3IPIN(string reason)
|
public ActionResult CertOk3IPIN(string reason, string param1, string param2)
|
||||||
{
|
{
|
||||||
String MDL_TKN = Request["MDL_TKN"];
|
String MDL_TKN = Request["MDL_TKN"];
|
||||||
String CP_CD = "V47690000000";
|
String CP_CD = "V47690000000";
|
||||||
|
|
@ -810,8 +810,52 @@ namespace NP.FO.Controllers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (reason == "LectinningAuth")
|
else if (reason == "LectinningAuth")
|
||||||
|
{
|
||||||
|
if (SUserInfo.UserNo > 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if(long.TryParse(param1, out long lectno))
|
||||||
|
{
|
||||||
|
if (long.TryParse(param2, out long cmino))
|
||||||
|
{
|
||||||
|
var lectInnings = Dao.Get<LectInning>("cr.cminnings", new System.Collections.Hashtable() { { "lectno", lectno }, { "userno", SUserInfo.UserNo } });
|
||||||
|
if (lectInnings.Where(w => w.cmino == cmino).Count() > 0)
|
||||||
|
{
|
||||||
|
var Hashtable = new System.Collections.Hashtable() {
|
||||||
|
{ "lectno", lectno },
|
||||||
|
{ "cmino", cmino },
|
||||||
|
{ "isattcheck", 1 },
|
||||||
|
{ "userno", SUserInfo.UserNo },
|
||||||
|
{ "uno", SUserInfo.UserNo },
|
||||||
|
{ "uip", GetUserIP() }
|
||||||
|
};
|
||||||
|
Dao.Save("lect.lectinning.isatt.in", Hashtable);
|
||||||
|
ViewBag.lectno = lectno;
|
||||||
|
ViewBag.cmino = cmino;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
RSLT_CD = "U998";
|
||||||
|
RSLT_MSG = "cmino 에러";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
RSLT_CD = "U998";
|
||||||
|
RSLT_MSG = "cmino 에러";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
RSLT_CD = "U998";
|
||||||
|
RSLT_MSG = "lectno 에러";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
RSLT_CD = "U999";
|
||||||
|
RSLT_MSG = "비로그인";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ using System.Web.Mvc;
|
||||||
|
|
||||||
using NP.Model;
|
using NP.Model;
|
||||||
using NP.Base;
|
using NP.Base;
|
||||||
|
using System.Collections;
|
||||||
|
|
||||||
namespace NP.FO.Controllers
|
namespace NP.FO.Controllers
|
||||||
{
|
{
|
||||||
public class CDMSController : FOOpenBaseController
|
public class CDMSController : FOOpenBaseController
|
||||||
|
|
@ -76,6 +78,10 @@ namespace NP.FO.Controllers
|
||||||
vm.istaste = 0;
|
vm.istaste = 0;
|
||||||
vm = vm ?? new VMCRoom() { };
|
vm = vm ?? new VMCRoom() { };
|
||||||
if (SUserInfo.UserNo > 0 && vm.cmino > 0 && vm.lectno > 0)
|
if (SUserInfo.UserNo > 0 && vm.cmino > 0 && vm.lectno > 0)
|
||||||
|
{
|
||||||
|
var data = Dao.Get<Data>("lect.lectinning.attcert.check", new Hashtable() { { "lectno", vm.lectno }, { "cmino", vm.cmino }, { "userno", SUserInfo.UserNo } }).FirstOrDefault();
|
||||||
|
//intval 회차intval2 출석인증제외 회원, intval3 출석인증제외 강좌
|
||||||
|
if (data != null && (data.intval == 1 || data.intval2 == 1 || data.intval3 == 1))
|
||||||
{
|
{
|
||||||
//이어보기를 위해 페이지관리
|
//이어보기를 위해 페이지관리
|
||||||
//vm.pseq = vm.pseq < 1 ? 1 : vm.pseq;
|
//vm.pseq = vm.pseq < 1 ? 1 : vm.pseq;
|
||||||
|
|
@ -90,9 +96,18 @@ namespace NP.FO.Controllers
|
||||||
{
|
{
|
||||||
Logger.Error("ExamStart Get UserAgent Info Error" + ex.StackTrace);
|
Logger.Error("ExamStart Get UserAgent Info Error" + ex.StackTrace);
|
||||||
}
|
}
|
||||||
vm.lip = new LectInningPage() { lectno = vm.lectno, cmino = vm.cmino, pseq = vm.pseq, userno = SUserInfo.UserNo,
|
vm.lip = new LectInningPage()
|
||||||
|
{
|
||||||
|
lectno = vm.lectno,
|
||||||
|
cmino = vm.cmino,
|
||||||
|
pseq = vm.pseq,
|
||||||
|
userno = SUserInfo.UserNo,
|
||||||
isrelay = 1,
|
isrelay = 1,
|
||||||
uno = SUserInfo.UserNo, uip = GetUserIP(), ispc = vm.ismobile==1?0:1, webkitinfo = ua.Length > 500 ? ua.Substring(0, 500) : ua };
|
uno = SUserInfo.UserNo,
|
||||||
|
uip = GetUserIP(),
|
||||||
|
ispc = vm.ismobile == 1 ? 0 : 1,
|
||||||
|
webkitinfo = ua.Length > 500 ? ua.Substring(0, 500) : ua
|
||||||
|
};
|
||||||
Dao.Insert("cr.lectinningpage.in", vm.lip);
|
Dao.Insert("cr.lectinningpage.in", vm.lip);
|
||||||
if (vm.lip.logno > 0)
|
if (vm.lip.logno > 0)
|
||||||
{
|
{
|
||||||
|
|
@ -116,6 +131,7 @@ namespace NP.FO.Controllers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//Response.AddHeader("X-Frame-Options", "ALLOW-FROM http://www.kocw.net");
|
//Response.AddHeader("X-Frame-Options", "ALLOW-FROM http://www.kocw.net");
|
||||||
//Response.Headers.Remove("X-Frame-Options");
|
//Response.Headers.Remove("X-Frame-Options");
|
||||||
//Response.AddHeader("X-Frame-Options", "AllowAll");
|
//Response.AddHeader("X-Frame-Options", "AllowAll");
|
||||||
|
|
|
||||||
|
|
@ -274,5 +274,12 @@ namespace NP.FO.Controllers
|
||||||
vm.BoardCMTs = Dao.Get<BoardCMT>("cr.lectsdboardcmt", vm.LectSDBoard.bno);
|
vm.BoardCMTs = Dao.Get<BoardCMT>("cr.lectsdboardcmt", vm.LectSDBoard.bno);
|
||||||
return CView(vm);
|
return CView(vm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ActionResult Open(long croomlectno, long cmino)
|
||||||
|
{
|
||||||
|
ViewBag.lectno = croomlectno;
|
||||||
|
ViewBag.cmino = cmino;
|
||||||
|
return View(vm);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -717,6 +717,7 @@
|
||||||
<Content Include="Views\Home\PrivacyPolicy.cshtml" />
|
<Content Include="Views\Home\PrivacyPolicy.cshtml" />
|
||||||
<Content Include="Views\Home\UsePolicy.cshtml" />
|
<Content Include="Views\Home\UsePolicy.cshtml" />
|
||||||
<Content Include="Views\Course\ApplyAgree.cshtml" />
|
<Content Include="Views\Course\ApplyAgree.cshtml" />
|
||||||
|
<Content Include="Views\CRoom\Open.cshtml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="App_Data\" />
|
<Folder Include="App_Data\" />
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
var RETURN_MSG = (ViewBag.result ?? "").Split(':')[12];
|
var RETURN_MSG = (ViewBag.result ?? "").Split(':')[12];
|
||||||
}
|
}
|
||||||
<script type="text/javascript" src="/js/jquery-1.8.3.min.js"></script>
|
<script type="text/javascript" src="/js/jquery-1.8.3.min.js"></script>
|
||||||
|
<script src="~/js/site.js"></script>
|
||||||
<div>
|
<div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -55,7 +55,8 @@
|
||||||
</text>
|
</text>
|
||||||
} else if (ViewBag.reason == "LectinningAuth") {
|
} else if (ViewBag.reason == "LectinningAuth") {
|
||||||
<text>
|
<text>
|
||||||
self.close();
|
alert("인증완료");
|
||||||
|
location.href = "/CRoom/Open?croomlectno=@(ViewBag.lectno)&cmino=@(ViewBag.cmino)";
|
||||||
</text>
|
</text>
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -21,14 +21,14 @@
|
||||||
<div class="jnsCont">
|
<div class="jnsCont">
|
||||||
<img src="../img/common/join_select01.png" alt="i-PIN 인증">
|
<img src="../img/common/join_select01.png" alt="i-PIN 인증">
|
||||||
<p>i-PIN 인증</p>
|
<p>i-PIN 인증</p>
|
||||||
<a href="#" onclick="mobilechkview('IPIN', 'Join');">인증하기</a>
|
<a href="#" onclick="certok3reqview('IPIN', 'Join');">인증하기</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="jnsCont">
|
<div class="jnsCont">
|
||||||
<img src="../img/common/join_select02.png" alt="휴대폰 본인인증">
|
<img src="../img/common/join_select02.png" alt="휴대폰 본인인증">
|
||||||
<p>휴대폰 본인인증</p>
|
<p>휴대폰 본인인증</p>
|
||||||
<a href="#" onclick="mobilechkview('MOBI', 'Join');">인증하기</a>
|
<a href="#" onclick="certok3reqview('MOBI', 'Join');">인증하기</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@*<div>
|
@*<div>
|
||||||
|
|
|
||||||
|
|
@ -154,12 +154,14 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@Html.Partial("./Partial/MobileChk", null, new ViewDataDictionary { { "bindmethod", "cbchkmobile" } })
|
@Html.Partial("./Partial/MobileChk", null, new ViewDataDictionary { { "bindmethod", "cbchkmobile" } })
|
||||||
|
@Html.Partial("./Partial/OkCert3", null, new ViewDataDictionary { })
|
||||||
@section scriptsHeader{
|
@section scriptsHeader{
|
||||||
|
|
||||||
}
|
}
|
||||||
@section scripts{
|
@section scripts{
|
||||||
<script>
|
<script>
|
||||||
var _cmino = 0;
|
var _cmino = 0;
|
||||||
|
var _authplatform = 0;
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
@ -177,7 +179,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function chkcontent() {
|
function chkcontent() {
|
||||||
capp("/fcommon/attcertcheck", {lectno : @Model.croomlectno}, "cbchkcontent");
|
capp("/fcommon/attcertcheckforlectinning", {lectno : @Model.croomlectno, cmino : _cmino}, "cbchkcontent");
|
||||||
}
|
}
|
||||||
function cbchkcontent() {
|
function cbchkcontent() {
|
||||||
if (capResult.code == 1000) {
|
if (capResult.code == 1000) {
|
||||||
|
|
@ -186,15 +188,21 @@
|
||||||
} else if (capResult.obj == 2) {
|
} else if (capResult.obj == 2) {
|
||||||
viewcontents(_cmino, false,@Model.croomlectno);
|
viewcontents(_cmino, false,@Model.croomlectno);
|
||||||
} else {
|
} else {
|
||||||
confirmtoggle(true, "해당 과정의 학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?","chkmobile()");
|
_authplatform = capResult.msg;
|
||||||
//confirmtoggle(true, "해당 과정의 학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?","showpop()");
|
if (_authplatform == "1") {
|
||||||
//confirmtoggle(true, "해당 과정의 학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?","mobilechkview('MOBI')");
|
confirmtoggle(true, "해당 과정의 학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?", "chkipin()");
|
||||||
|
}else if(_authplatform == "2") {
|
||||||
|
confirmtoggle(true, "해당 과정의 학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?", "chkmobile()");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
msg("휴대폰 번호가 공란입니다.<br/>정보수정을 통해 번호를 입력해주세요.");
|
msg("휴대폰 번호가 공란입니다.<br/>정보수정을 통해 번호를 입력해주세요.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function chkipin() {
|
||||||
|
certok3reqview('IPIN', 'LectinningAuth', @Model.croomlectno, _cmino);
|
||||||
|
bglayer(false);
|
||||||
|
}
|
||||||
function chkmobile() {
|
function chkmobile() {
|
||||||
setv("mobile", val("mobile").replace(/ /, '').replace(/ /, ''));
|
setv("mobile", val("mobile").replace(/ /, '').replace(/ /, ''));
|
||||||
setv("mobile", formatmobile(val("mobile")));
|
setv("mobile", formatmobile(val("mobile")));
|
||||||
|
|
|
||||||
|
|
@ -132,6 +132,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@Html.Partial("./Partial/MobileChk", null, new ViewDataDictionary { { "bindmethod", "cbchkmobile" } })
|
@Html.Partial("./Partial/MobileChk", null, new ViewDataDictionary { { "bindmethod", "cbchkmobile" } })
|
||||||
|
@Html.Partial("./Partial/OkCert3", null, new ViewDataDictionary { })
|
||||||
@section scriptsHeader{
|
@section scriptsHeader{
|
||||||
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
|
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
|
||||||
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
|
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
|
||||||
|
|
@ -139,6 +140,7 @@
|
||||||
@section scripts{
|
@section scripts{
|
||||||
<script>
|
<script>
|
||||||
var _cmino = 0;
|
var _cmino = 0;
|
||||||
|
var _authplatform = 0;
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$("body").on("click", ".atdOpen", function () {
|
$("body").on("click", ".atdOpen", function () {
|
||||||
var atdNum = $(this).attr('atdOpen');
|
var atdNum = $(this).attr('atdOpen');
|
||||||
|
|
@ -168,7 +170,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function chkcontent() {
|
function chkcontent() {
|
||||||
capp("/fcommon/attcertcheck", {lectno : @Model.croomlectno}, "cbchkcontent");
|
capp("/fcommon/attcertcheckforlectinning", {lectno : @Model.croomlectno, cmino : _cmino}, "cbchkcontent");
|
||||||
}
|
}
|
||||||
function cbchkcontent() {
|
function cbchkcontent() {
|
||||||
if (capResult.code == 1000) {
|
if (capResult.code == 1000) {
|
||||||
|
|
@ -177,15 +179,21 @@
|
||||||
} else if (capResult.obj == 2) {
|
} else if (capResult.obj == 2) {
|
||||||
viewcontents(_cmino, false,@Model.croomlectno);
|
viewcontents(_cmino, false,@Model.croomlectno);
|
||||||
} else {
|
} else {
|
||||||
confirmtoggle(true, "해당 과정의 학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?","chkmobile()");
|
_authplatform = capResult.msg;
|
||||||
//confirmtoggle(true, "해당 과정의 학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?","showpop()");
|
if (_authplatform == "1") {
|
||||||
//confirmtoggle(true, "해당 과정의 학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?","mobilechkview('MOBI')");
|
confirmtoggle(true, "해당 과정의 학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?", "chkipin()");
|
||||||
|
}else if(_authplatform == "2") {
|
||||||
|
confirmtoggle(true, "해당 과정의 학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?", "chkmobile()");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
msg("휴대폰 번호가 공란입니다.<br/>정보수정을 통해 번호를 입력해주세요.");
|
msg("휴대폰 번호가 공란입니다.<br/>정보수정을 통해 번호를 입력해주세요.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function chkipin() {
|
||||||
|
certok3reqview('IPIN', 'LectinningAuth', @Model.croomlectno, _cmino);
|
||||||
|
bglayer(false);
|
||||||
|
}
|
||||||
function chkmobile() {
|
function chkmobile() {
|
||||||
setv("mobile", val("mobile").replace(/ /, '').replace(/ /, ''));
|
setv("mobile", val("mobile").replace(/ /, '').replace(/ /, ''));
|
||||||
setv("mobile", formatmobile(val("mobile")));
|
setv("mobile", formatmobile(val("mobile")));
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
@{
|
||||||
|
Layout = null;
|
||||||
|
}
|
||||||
|
<script type="text/javascript" src="/js/jquery-1.8.3.min.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function () {
|
||||||
|
opener.viewcontents("@(ViewBag.cmino)", false, "@(ViewBag.lectno)");
|
||||||
|
self.close();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
@ -89,10 +89,10 @@
|
||||||
<div class="mdfyBirth">
|
<div class="mdfyBirth">
|
||||||
<input type="hidden" name="authplatform" id="authplatform" value="@(u.authplatform.GetHashCode())" />
|
<input type="hidden" name="authplatform" id="authplatform" value="@(u.authplatform.GetHashCode())" />
|
||||||
<div id="authPlatform_IPIN" @(u.authplatform == AuthPlatform.Mobile ? "style=display:none;" : "")>
|
<div id="authPlatform_IPIN" @(u.authplatform == AuthPlatform.Mobile ? "style=display:none;" : "")>
|
||||||
<p id="authPlatformName">I-PIN 인증</p><a href="#" onclick="mobilechkview('MOBI', 'AuthPlatformChange');" style="width:150px;">휴대폰 인증으로 변경</a>
|
<p id="authPlatformName">I-PIN 인증</p><a href="#" onclick="certok3reqview('MOBI', 'AuthPlatformChange');" style="width:150px;">휴대폰 인증으로 변경</a>
|
||||||
</div>
|
</div>
|
||||||
<div id="authPlatform_Mobile" @(u.authplatform == AuthPlatform.IPIN ? "style=display:none;" : "") >
|
<div id="authPlatform_Mobile" @(u.authplatform == AuthPlatform.IPIN ? "style=display:none;" : "") >
|
||||||
<p id="authPlatformName">휴대폰 인증</p><a href="#" onclick="mobilechkview('IPIN', 'AuthPlatformChange');" style="width:150px;">I-PIN 인증으로 변경</a>
|
<p id="authPlatformName">휴대폰 인증</p><a href="#" onclick="certok3reqview('IPIN', 'AuthPlatformChange');" style="width:150px;">I-PIN 인증으로 변경</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
@ -104,7 +104,7 @@
|
||||||
@if(u.authplatform == AuthPlatform.Mobile)
|
@if(u.authplatform == AuthPlatform.Mobile)
|
||||||
{
|
{
|
||||||
<input type="hidden" name="mobile" id="mobile" value="@(u.mobile)" />
|
<input type="hidden" name="mobile" id="mobile" value="@(u.mobile)" />
|
||||||
<p id="mobilestr">@(u.mobile)</p><a href="#" onclick="mobilechkview('MOBI', 'MobileNumberChange');">수정</a>
|
<p id="mobilestr">@(u.mobile)</p><a href="#" onclick="certok3reqview('MOBI', 'MobileNumberChange');">수정</a>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function chklakey() {
|
function chklakey() {
|
||||||
capp("/focommon/chklakey", { lakey: $("#mobile_lakey").val(), authno: authno }, "@(_method)");
|
capp("/focommon/chklakeyforlectinning", { lakey: $("#mobile_lakey").val(), authno: authno, cmino:_cmino }, "@(_method)");
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -17,8 +17,8 @@
|
||||||
var pop;
|
var pop;
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
});
|
});
|
||||||
function mobilechkview(sel, reason) {
|
function certok3reqview(sel, reason, param1, param2) {
|
||||||
var popupWindow = window.open("/Account/CertOk3Req?sel=" + sel + "&reason=" + reason, "auth_popup", "width=450,height=640,scrollbar=yes,resizable=no");
|
var popupWindow = window.open("/Account/CertOk3Req?sel=" + sel + "&reason=" + reason + (param1 ? "¶m1=" + param1 : "") + (param2 ? "¶m2=" + param2 : ""), "auth_popup", "width=450,height=640,scrollbar=yes,resizable=no");
|
||||||
popupWindow.focus();
|
popupWindow.focus();
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -2960,9 +2960,9 @@ namespace NP.Model
|
||||||
public String existslectinning { get; set; }
|
public String existslectinning { get; set; }
|
||||||
public String cname { get; set; }
|
public String cname { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 학습인증여부 (0:미인증,1:인증)
|
/// 출석인증여부 (0:미인증,1:인증)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int isauth { get; set; }
|
public int isattcheck { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue