YNICTE/BO/Views/cm/ctr.cshtml

395 lines
26 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@model NP.Model.VMCM
@{
var qdiff = Model.ComCodes.Where(w => w.cgroup == "ccdiff");
var qt1 = Model.ComCodes.Where(w => w.cgroup == "cc1");
var qt2 = Model.ComCodes.Where(w => w.cgroup == "cc2");
var qt3 = Model.ComCodes.Where(w => w.cgroup == "cc3");
var qt4 = Model.ComCodes.Where(w => w.cgroup == "cc4");
var qt5 = Model.ComCodes.Where(w => w.cgroup == "cc5");
var isqdiff = qdiff.Count() > 0;
var isqt1 = qt1.Count() > 0;
var isqt2 = qt2.Count() > 0;
var isqt3 = qt3.Count() > 0;
var isqt4 = qt4.Count() > 0;
var isqt5 = qt5.Count() > 0;
}
<div>
<ul class="pagination pagination-md" style="margin: 0;">
<li class="active"><a href="#" data-toggle="tab">학습콘텐츠</a></li>
@if (!ViewBag.IsSubAdmin96)
{
<li class=""><a href="#" onclick="gotab(0);" data-toggle="tab">그룹코드관리</a></li>
<li class=""><a href="#" onclick="gotab(2);" data-toggle="tab">문제</a></li>
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">설문지</a></li>
}
</ul>
</div>
<br />
<div class="row mgclear">
<form id="mform" method="post" enctype="multipart/form-data" class="form-horizontal">
<section class="panel panel-default">
<header class="panel-heading"><strong>기본정보</strong></header>
<div class="panel-body">
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label">과정</label>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Select", Model.CMs, new ViewDataDictionary { { "special", "reg" }, { "name", "CT.cmno" }, { "selected", Model.CT.cmno }, { "df", ":-과정선택" } })</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">그룹코드 </label><div class="col-sm-8 col-md-10">
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "ccdiff"), new ViewDataDictionary { { "special", "reg" }, { "name", "CT.qdiff" }, { "selected", Model.CT.qdiff }, { "df", ":-" + qdiff.First().cgroupname + "선택" }, { "style", isqdiff ? "" : "display: none;" } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc1"), new ViewDataDictionary { { "special", "reg" }, { "name", "CT.cc1" }, { "selected", Model.CT.cc1 }, { "df", ":-" + (qt1.Count() < 1 ? "" : qt1.First().cgroupname) + "선택" }, { "style", isqt1 ? "" : "display: none;" } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc2"), new ViewDataDictionary { { "special", "reg" }, { "name", "CT.cc2" }, { "selected", Model.CT.cc2 }, { "df", ":-" + (qt2.Count() < 1 ? "" : qt2.First().cgroupname) + "선택" }, { "style", isqt2 ? "" : "display: none;" } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc3"), new ViewDataDictionary { { "special", "reg" }, { "name", "CT.cc3" }, { "selected", Model.CT.cc3 }, { "df", ":-" + (qt3.Count() < 1 ? "" : qt3.First().cgroupname) + "선택" }, { "style", isqt3 ? "" : "display: none;" } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc4"), new ViewDataDictionary { { "special", "reg" }, { "name", "CT.cc4" }, { "selected", Model.CT.cc4 }, { "df", ":-" + (qt4.Count() < 1 ? "" : qt4.First().cgroupname) + "선택" }, { "style", isqt4 ? "" : "display: none;" } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc5"), new ViewDataDictionary { { "special", "reg" }, { "name", "CT.cc5" }, { "selected", Model.CT.cc5 }, { "df", ":-" + (qt5.Count() < 1 ? "" : qt5.First().cgroupname) + "선택" }, { "style", isqt5 ? "" : "display: none;" } })
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">콘텐츠유형</label><div class="col-sm-8 col-md-10">
<div style="@(Model.CT.ctno > 0 ? "display: none;":"")">
@Html.Partial("./Partial/Radio", "0:MP4업로드;1:HTML(플래쉬)업로드;2:iFrame입력;3:URL입력", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CT.ctype" }, { "checked", Model.CT.ctype } }) <a href="#" class="btn btn-xxs btn-select" onclick="bglayer(); $('#thisbox').slideDown('fast');">[?]</a>
</div>
@Html.Raw(Model.CT.ctno > 0 ? Model.CT.ctypename : "")
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group"><label class="col-sm-4 col-md-2 control-label">페이지목차 사용여부</label><div class="col-sm-8 col-md-10">
@Html.Partial("./Partial/Radio", "1:사용;0:미사용", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CT.ismenu" }, { "checked", Model.CT.ismenu } })
<br />※ HTML/Flash콘텐츠일 경우 사용하지 않고, API삽입을 권장합니다.
<br />※ 미사용 페이징 API> javascript:parent.gopage(page index); page index = 1~n
</div></div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group"><label class="col-sm-4 col-md-2 control-label">콘텐츠코드</label><div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.CT.ccode, new { @maxlength = "30", @class = "form-control disp-init", @style = "width: 300px;", @placeholder = "고유한 코드를 입력하세요." })</div></div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group"><label class="col-sm-4 col-md-2 control-label req">콘텐츠명</label><div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.CT.ctname, new { @maxlength = "100", @class = "form-control", @placeholder = "콘텐츠명을 입력하세요." })</div></div>
<div class="line line-dashed line-lg pull-in uploadgroup"></div><div class="form-group uploadgroup">
<label class="col-sm-4 col-md-2 control-label">콘텐츠파일</label><div class="col-sm-8 col-md-10">
※ mp4,zip만 허용합니다. 복수의 파일일 경우 zip파일로 압축해서 올려주세요(1GB이상의 파일은 서버에 직접 업로드할 것을 권장합니다.)
@Html.Partial("./Partial/File", Model.FileList.Where(w=>w.fgno == 0).ToList(), new ViewDataDictionary {
{ "name", "CT.fgno" },{"value", Model.CT.fgno},{ "fname", "file"},
{"width", null },{"table", "ct" },{ "column", "fgno"},{"filecount", 1 },
{"readmode", 0 },{"hidemode", 0 },
{ "isimage", 0 },{ "imageid", "" },{ "dftsrc", "/img/common/profile_sample.jpg" },
{ "fileext", "mp4,zip" }, { "loginfo",Model.CT.ctno+"|9"}
})
<ul id="ulfiles"></ul>
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">썸네일이미지</label><div class="col-sm-8 col-md-10">
@Html.Partial("./Partial/File", Model.FileList.Where(w => w.fgno == Model.CT.fgnothumb).ToList(), new ViewDataDictionary {
{ "name", "CT.fgnothumb" },{"value", Model.CT.fgnothumb},{ "fname", "filethumb"},
{"width", null },{"table", "ct" },{ "column", "fgnothumb"},{"filecount", 1 },
{"readmode", 0 },{"hidemode", 0 },
{ "isimage", 1 },{ "imageid", "" },{ "dftsrc", "/img/common/profile_sample.jpg" },
{ "fileext", "pdf,ppt,pptx,xls,xlsx,hwp,doc,docx,jpg,gif,png" }, { "loginfo",Model.CT.ctno+"|9"}
})
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">교안</label><div class="col-sm-8 col-md-10">
@Html.Partial("./Partial/File", Model.FileList.Where(w => w.fgno == Model.CT.fgnotf).ToList(), new ViewDataDictionary {
{ "name", "CT.fgnotf" },{"value", Model.CT.fgnotf},{ "fname", "filetf"},
{"width", null },{"table", "ct" },{ "column", "fgnotf"},{"filecount", 1 },
{"readmode", 0 },{"hidemode", 0 },
{ "isimage", 0 },{ "imageid", "" },{ "dftsrc", "/img/common/profile_sample.jpg" },
{ "fileext", "pdf,ppt,pptx,xls,xlsx,hwp,doc,docx,jpg,gif,png,zip" }, { "loginfo",Model.CT.ctno+"|9"}
})
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">교안(URL)</label><div class="col-sm-8 col-md-10">
@Html.TextBoxFor(m => m.CT.tfurl, new { @maxlength = "100", @class = "form-control", @placeholder = "" })
</div></div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group"><label class="col-sm-4 col-md-2 control-label">콘텐츠사용여부</label><div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", Model.CT.isuse, new ViewDataDictionary() { { "valuetext", "1:예;0:아니오" }, { "checked", Model.CT.isuse }, { "name", "CT.isuse" } })</div></div>
</div>
</section>
<input type="hidden" name="CT.ctno" id="datakey" value="@Model.CT.ctno" />
<input type="hidden" name="savedata" id="sdata" />
@Html.Partial("./Partial/DForm", Model)
</form>
<section class="panel panel-default" style="border-top: 1px solid #ddd; margin-top: 5px;">
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 페이지정보<span class=""></span></strong></header>
<div class="table-responsive" id="excel1">
<table class="table table-striped b-t b-light">
<thead>
<tr>
<th>페이지제목</th>
<th style="width: 80px;"></th>
<th>파일명 or Code or 경로URL <a href="#" class="btn btn-xxs btn-select" onclick="bglayer(); $('#thisbox').slideDown('fast');">[?]</a></th>
<th style="width: 150px;">미리보기</th>
<th style="width: 80px;">이동</th>
<th style="width: 80px;">삭제</th>
</tr>
</thead>
<tbody class="data" id="tbody1">
@foreach (var item in Model.CTPs)
{
<tr data-cpno="@item.cpno" class="draggable">
<td><input type="text" class="form-control cpname" value="@item.cpname" /></td>
<td class="thistd">
<input type="text" class="form-control text-center" value="PC" readonly="readonly" />
<input type="text" class="form-control text-center" value="MB" readonly="readonly" />
</td>
<td class="thistd2">
<input type="text" class="form-control srcp" value="@Server.UrlDecode(item.srcp)" />
<input type="text" class="form-control srcm" value="@Server.UrlDecode(item.srcm)" />
</td>
<td>
<a href="#" class="btn btn-select btn-xxs" onclick="preview(this, 0)">PC</a><br />
<a href="#" style="margin-top: 1px;" class="btn btn-select btn-xxs" onclick="preview(this, 1)">모바일</a>
</td>
<td class="move"><a href="#" class="btn btn-select">Ξ</a></td>
<td><a href="#" class="btn btn-danger" onclick="delme(this)">삭제</a></td>
</tr>
}
</tbody>
</table>
</div>
</section>
<div class="text-right"><a href="#" class="btn btn-select" onclick="add();">+페이지추가</a></div>
<form id="dform" method="post" action="/cm/cts">
@Html.Partial("./Partial/DForm", Model, new ViewDataDictionary { { "preform", 1 } })
</form>
</div>
<div class="botfixempty">&nbsp;</div>
<div class="botfix islayer text-center">
<a href="#" class="btn btn-primary" onclick="save(0);">저장</a>
@if (Model.CT.ctno > 0)
{
<a href="#" class="btn btn-danger" onclick="save(-1);" id="savennew">삭제</a>
}
<a href="#" class="btn btn-default" onclick="golist()">목록</a>
</div>
<div id="thisbox" class="findbox draggable regbox summernoteparentfixedbox" style="width: 1000px; z-index: 1041; top: 60px; bottom: 30px; overflow: auto;">
<h4><i class="fa fa-bars"></i> <span id="pcap">콘텐츠 유형별 입력 안내</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
<table class="regtable">
<colgroup><col style="width:18%" /><col style="width:41%;" /><col /></colgroup>
<tr>
<th>구분</th>
<th>정의</th>
<th>페이지 경로 입력방식</th>
</tr>
<tr>
<th>MP4업로드</th>
<td>확장자가 mp4로 되어있는 동영상을 직접 업로드하고 싶을 경우 선택합니다.<br />다른 동영상 확장자(avi,mpeg,ogg,wmv)들은 등록이 불가능하며 mp4확장자로 변환을 해야 합니다.<br /><a style="color: #0094ff; text-decoration: underline;" href="https://software.naver.com/software/summary.nhn?softwareId=GWS_000251&categoryId=C0400000" target="_blank">※ 동영상 mp4 변환 프로그램 다운로드</a></td>
<td>파일명을 그대로 입력합니다<br />예) 001.mp4</td>
</tr>
<tr>
<th>HTML(플래쉬)업로드</th>
<td>외부 콘텐츠 제작업체에서 제작된 HTML 형식의 콘텐츠를 직접 업로드할 경우 선택합니다.<br />보통 여러 개의 파일로 구성되어있기 때문에 반드시 zip파일로 압축을 진행하신뒤 업로드하셔야 합니다.</td>
<td>실행할 페이지의 경로를 폴더경로를 포함하여 입력합니다.<br />예) upload.zip 하위경로입력 => /folder/001/001.html</td>
</tr>
<tr>
<th>iFrame</th>
<td>유투브, TED 등 각종 동영상 사이트들에서 재생되는 동영상 콘텐츠만을 가져다가 사용하고 싶을 경우 선택하며, 해당 사이트에서 제공하는 소스코드(or iframe)을 복사해서 입력하면 됩니다. 대개 <pre>&lt;iframe</pre>으로 시작됩니다.</td>
<td style="white-space: normal;">iframe 소스를 그대로 입력합니다.<br />
ex) <pre style="white-space: normal;">&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/agmO8B-1Zy4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>&lt;/iframe></pre>
</td>
</tr>
<tr style="background-color: #fbeb92">
<th>URL</th>
<td>외부 홈페이지에서 운영되고 있는 콘텐츠/웹페이지들을 연결할 경우 선택하며, 해당 콘텐츠의 URL 주소만 입력하면 됩니다.</td>
<td style="font-weight: bold;">
#. 89번서버 html, swf 콘텐츠 등록 방법<br />
&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">/contents89</span>/ccp/cp/01/cp_01_0101_01.html<br /><br />
#. 92번서버 mp4 콘텐츠 등록 방법<br />
&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red">/contents92</span>/ccp/cp/국내외 부패방지법령에 대한 이해.mp4
@*실행 URL을 그대로 입력합니다.<br />ex1)<code>https://news.v.daum.net/v/20181109115456255</code>
ex2)<code>https://youtu.be/8kajveDuUR4</code><br />
ex3) 222.122.63.92의 콘텐츠 /storage + 하위경로<br />&nbsp;&nbsp;&nbsp;&nbsp;ex) /storage/CCP/CP/국내외 부팽방지법령에 대한 이해.mp4*@
</td>
</tr>
</table>
</div>
@section styles{
<style type="text/css">
input[type=radio], input[type=checkbox] {
width: 18px;
height: 18px;
vertical-align: sub;
}
td.thistd{padding-right:0 !important; text-align: right !important;}
td.thistd2{padding-left:0 !important; text-align: left !important;}
a.btn-select:focus{color: #fff;}
td.move a:hover{cursor: move;}
#ulfiles li{line-height: 22px; margin-bottom: 3px; font-size: 13px; border: 1px solid #d9d9d9;padding: 2px 5px;}
</style>
}
@section scriptsHeader{
@Html.Partial("./Partial/FileScript")
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
}
@section scripts{
<script>
var files = '@string.Join(";", Model.Datas.Select(s=>string.Format("{0}:{1}:{2}:{3}:{4}", s.intval, s.intval2, s.strval,s.intval3,s.intval4)))';
var topfiles = '@string.Join(";", Model.Datas.Where(w=>w.intval == 0).Select(s=>string.Format("{0}:{1}:{2}:{3}:{4}", s.intval, s.intval2, s.strval, s.intval3, s.intval4)))';
$(document).ready(function () {
_filesize = 1048576000;
_filemax = "1 Giga ";
if ('@(Model.CT.ctype > 1 ? 0 : 1)' == '0') {
$(".uploadgroup").hide();
}
if ('@(Model.CT.ctno)' != '0' && '@(Model.CT.ctype < 2 ? 1 : 0)' == '1') {
$("#CT_ccode").attr("readonly", "readonly");
}
$("input[name='CT.ctype']").on("change", function () {
$(".uploadgroup").hide();
if (getint($(this).val()) < 2) {
$(".uploadgroup").show();
}
});
$("#tbody1").sortable({
update: function (event, ui) { msg("저장해야 순서변경이 완료됩니다."); }
});
$("#tbody1").on("mousedown", "td", function () {
if (!$(this).hasClass("move")) {
$("#tbody1").sortable("disable");
}
else {
$("#tbody1").sortable("enable");
}
});
if (files != "" && '@(Model.CT.ctype < 2 ? 1 : 0)' == '1') {
$.each(topfiles.split(';'), function (i, f) {
if (f.split(':')[1] == "0") {
bindfile("1", f.split(':')[3], "/" + f.split(':')[2]);
}
else {
$("#ulfiles").append("<li><code>" + "/" + f.split(':')[2] + "</code></li>");
}
});
}
});
function bindfile(p0, p4, fp) {
$.each(files.split(';'), function (i, f) {
if (f.split(':')[0] == p0 && f.split(':')[4] == p4) {
if (f.split(':')[1] == "0") {
bindfile((getint(f.split(':')[0]) + 1).toString(), f.split(':')[4], fp + "/" + f.split(':')[2]);
} else {
$("#ulfiles").append("<li><code>" + fp + "/" + f.split(':')[2] + "</code></li>");
}
}
});
}
function save(idx) {
if (idx < 0 && confirm("삭제하시겠습니까?")) {
capp("/acommon/ctdel", { ctno: val("datakey") }, "cbdelct");
} else {
if (check("CT_cmno", null, "과정을 선택해주세요.")) { }
else if (getint(getrv("CT.ctype")) < 2 && $.trim(val("CT_ccode")) == "") { focus("CT_ccode"); msg("콘텐츠코드를 입력해주세요(MP4,HTMl 유형은 콘텐츠코드가 필수 입력입니다.)"); }
else if (check("CT_ctname", null, "콘텐츠명을 입력해주세요.")) { }
else if (val("datakey") == "0" && getint(getrv("CT.ctype")) < 2 && $("input[name='file']").val() == "") { msg("콘텐츠파일을 등록해주세요."); }
else if (val("CT_tfurl") != "" && ($("input[name='filetf']").val() != "" || $(".fileitembox a").length > 0)) {
msg("교안은 첨부 또는 URL중 하나만 등록해주세요.");
}
else {
var isok = true;
var sd = "";
$.each($("#tbody1 tr"), function (i, r) {
if ($.trim($(r).find("input.cpname").val()) == "") { isok = false; $(r).find("input.cpname").focus(); msg("페이지제목을 입력해주세요."); return false; }
else if ($.trim($(r).find("input.srcp").val()) == "") { isok = false; $(r).find("input.srcp").focus(); msg("pc용 콘텐츠코드를 입력해주세요."); return false; }
//else if ($.trim($(r).find("input.srcm").val()) == "") { isok = false; $(r).find("input.srcm").focus(); msg("Mobile용 콘텐츠코드를 입력해주세요."); return false; }
else {
sd += ";" + $(r).attr("data-cpno") + ":" +
$.trim($(r).find("input.cpname").val()).replace(/;/gi, 'nptechdeveloperphd').replace(/:/gi, 'nptechseconddeveloperphd') + ":" +
$.trim($(r).find("input.srcp").val()).replace(/;/gi, 'nptechdeveloperphd').replace(/:/gi, 'nptechseconddeveloperphd') + ":" +
$.trim($(r).find("input.srcm").val()).replace(/;/gi, 'nptechdeveloperphd').replace(/:/gi, 'nptechseconddeveloperphd');
}
});
if (isok && confirm("저장하시겠습니까?")) {
setv("sdata", sd.substr(1));
capfileform("/acommon/ctsave", "mform", "cbsave");
}
}
}
}
function cbdelct() {
if (capResult.code == 1000) {
msg("삭제했습니다.", 0, null, null, true);
golist(500, true);
} else {
msg("연결된 과정/강좌가 있습니다. 삭제할 수 없습니다.");
}
}
function cbsave() {
if (capOK) {
if ('@(Model.CT.ctno)' == '0') {
$("#intval").val(capResult.obj);
}
if (capResult.obj == 999) {
msg("이미 다른 강좌에 등록된 콘텐츠는 페이지를 추가할 수 없습니다. 나머지 정보를 저장했습니다.", 10, true, null, true);
}
else {
msg("저장했습니다.", 0, null, null, true);
}
setv("sdata", "");
timesubmit("mform",1000);
}
else if (capResult.obj == -9) {
focus("CT_ccode"); msg("이미 다른 콘텐츠에 등록된 콘텐츠코드입니다. 다른 콘텐츠코드를 입력해주세요.");
}
else {
msgadmin();
}
}
function gotab(idx, t) {
bglayer();
t = t || 0;
setTimeout(function () {
if (idx == 0) { location.href = "/cm/cc"; }
else if (idx == 1) { location.href = "/cm/cts"; }
else if (idx == 2) { location.href = "/cm/qs"; }
else if (idx == 3) { location.href = "/cm/rs"; }
}, t);
}
function add() {
$("#tbody1 tr").last().clone().appendTo("#tbody1");
$("#tbody1 tr").last().attr("data-cpno", 0);
$("#tbody1 tr").last().find("input.cpname,input.srcp,input.srcm").val("");
}
var _a;
function delme(a) {
if ($("#tbody1 tr").length == 1) {
msg("최소 1개 이상의 페이지는 등록되어야합니다.");
} else if ($(a).closest("tr").attr("data-cpno") == "0") {
$(a).closest("tr").remove();
} else if (confirm("삭제하시겠습니까?")) {
_a = a;
capp("/acommon/ctpdel", { ctno: val("datakey"), cpno: $(a).closest("tr").attr("data-cpno") }, "cbdelme");
}
}
function cbdelme() {
if (capResult.code == 1000) {
$(_a).closest("tr").remove();
} else {
msg("연결된 과정/강좌가 있습니다. 삭제할 수 없습니다.");
}
}
var _dtype = 1;
var _cpno = 0;
var _ismobile;
function preview(a, ismobile) {
_ismobile = ismobile;
if (@Model.CT.ctno < 1 || $(a).closest("tr").attr("data-cpno") == "0") {
msg("저장 후 미리보기가 가능합니다.");
} else {
_cpno = getint($(a).closest("tr").attr("data-cpno"));
capp("/acommon/setauthkey", { dtype: _dtype, intval: @Model.CT.ctno }, "cbauth");
}
}
function cbauth() {
if (capResult.code == 1000) {
var nWidth = "1080";
var nHeight = screen.availHeight;
var popOption = "";
popOption += "width=" + nWidth + "px,";
popOption += "height=" + nHeight + "px,";
popOption += "toolbar=no,menubar=no,location=yes,";
popOption += "resizable=yes,status=yes,scrollbars=yes";
var pop = window.open("@ViewBag.Front.Replace("https://", "http://")/CDMS/PlayTaste?authtype=" + _dtype + "&authkey=" + capResult.obj + "&ctno=@Model.CT.ctno&ismobile=" + _ismobile+"&cpno=" + _cpno, 'contentsview', popOption);
if (pop == null) {
msg("팝업이 차단되어 있습니다. 차단을 해제해 주세요.");
}
}
}
</script>
}