/document/tpl/ UI cleaning.

/comment/tpl/ UI cleaning.
Deprecated 'checkboxToggleAll()' function removed.

git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@11888 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ChanMyeong 2012-10-24 15:51:49 +00:00
parent 5ae8565457
commit 9705b6abf1
20 changed files with 346 additions and 510 deletions

View file

@ -28,49 +28,6 @@ if(jQuery) jQuery.noConflict();
window.XE = { window.XE = {
loaded_popup_menus : new Array(), loaded_popup_menus : new Array(),
addedDocument : new Array(), addedDocument : new Array(),
/**
* @brief 특정 name을 가진 체크박스들의 checked 속성 변경
* @param [itemName='cart',][options={}]
*/
checkboxToggleAll : function(itemName) {
if(!is_def(itemName)) itemName='cart';
var options = {
wrap : null,
checked : 'toggle',
doClick : false
};
switch(arguments.length) {
case 1:
if(typeof(arguments[0]) == "string") {
itemName = arguments[0];
} else {
$.extend(options, arguments[0] || {});
itemName = 'cart';
}
break;
case 2:
itemName = arguments[0];
$.extend(options, arguments[1] || {});
}
if(options.doClick == true) options.checked = null;
if(typeof(options.wrap) == "string") options.wrap ='#'+options.wrap;
if(options.wrap) {
var obj = $(options.wrap).find('input[name='+itemName+']:checkbox');
} else {
var obj = $('input[name='+itemName+']:checkbox');
}
if(options.checked == 'toggle') {
obj.each(function() {
$(this).attr('checked', ($(this).attr('checked')) ? false : true);
});
} else {
(options.doClick == true) ? obj.click() : obj.attr('checked', options.checked);
}
},
/** /**
* @brief 문서/회원 팝업 메뉴 출력 * @brief 문서/회원 팝업 메뉴 출력
@ -829,25 +786,6 @@ function toggleDisplay(objId) {
jQuery('#'+objId).toggle(); jQuery('#'+objId).toggle();
} }
/* 체크박스 선택 */
function checkboxSelectAll(formObj, name, checked) {
var itemName = name;
var option = {};
if(typeof(formObj) != "undefined") option.wrap = formObj;
if(typeof(checked) != "undefined") option.checked = checked;
XE.checkboxToggleAll(itemName, option);
}
/* 체크박스를 실행 */
function clickCheckBoxAll(formObj, name) {
var itemName = name;
var option = { doClick:true };
if(typeof(formObj) != "undefined") option.wrap = formObj;
XE.checkboxToggleAll(itemName, option);
}
/** /**
* @brief 에디터에서 사용하되 내용 여닫는 코드 (zb5beta beta 호환용으로 남겨 놓음) * @brief 에디터에서 사용하되 내용 여닫는 코드 (zb5beta beta 호환용으로 남겨 놓음)
**/ **/

View file

@ -312,49 +312,6 @@ if(jQuery) jQuery.noConflict();
window.XE = { window.XE = {
loaded_popup_menus : new Array(), loaded_popup_menus : new Array(),
addedDocument : new Array(), addedDocument : new Array(),
/**
* @brief 특정 name을 가진 체크박스들의 checked 속성 변경
* @param [itemName='cart',][options={}]
*/
checkboxToggleAll : function(itemName) {
if(!is_def(itemName)) itemName='cart';
var options = {
wrap : null,
checked : 'toggle',
doClick : false
};
switch(arguments.length) {
case 1:
if(typeof(arguments[0]) == "string") {
itemName = arguments[0];
} else {
$.extend(options, arguments[0] || {});
itemName = 'cart';
}
break;
case 2:
itemName = arguments[0];
$.extend(options, arguments[1] || {});
}
if(options.doClick == true) options.checked = null;
if(typeof(options.wrap) == "string") options.wrap ='#'+options.wrap;
if(options.wrap) {
var obj = $(options.wrap).find('input[name='+itemName+']:checkbox');
} else {
var obj = $('input[name='+itemName+']:checkbox');
}
if(options.checked == 'toggle') {
obj.each(function() {
$(this).attr('checked', ($(this).attr('checked')) ? false : true);
});
} else {
(options.doClick == true) ? obj.click() : obj.attr('checked', options.checked);
}
},
/** /**
* @brief 문서/회원 팝업 메뉴 출력 * @brief 문서/회원 팝업 메뉴 출력
@ -1113,25 +1070,6 @@ function toggleDisplay(objId) {
jQuery('#'+objId).toggle(); jQuery('#'+objId).toggle();
} }
/* 체크박스 선택 */
function checkboxSelectAll(formObj, name, checked) {
var itemName = name;
var option = {};
if(typeof(formObj) != "undefined") option.wrap = formObj;
if(typeof(checked) != "undefined") option.checked = checked;
XE.checkboxToggleAll(itemName, option);
}
/* 체크박스를 실행 */
function clickCheckBoxAll(formObj, name) {
var itemName = name;
var option = { doClick:true };
if(typeof(formObj) != "undefined") option.wrap = formObj;
XE.checkboxToggleAll(itemName, option);
}
/** /**
* @brief 에디터에서 사용하되 내용 여닫는 코드 (zb5beta beta 호환용으로 남겨 놓음) * @brief 에디터에서 사용하되 내용 여닫는 코드 (zb5beta beta 호환용으로 남겨 놓음)
**/ **/

76
common/js/xe.min.js vendored

File diff suppressed because one or more lines are too long

View file

@ -1,12 +1,12 @@
<load target="./js/config.js" usecdn="true" /> <load target="./js/config.js" usecdn="true" />
<load target="../install/lang/lang.xml" usecdn="true" /> <load target="../install/lang/lang.xml" usecdn="true" />
<load target="../../session/tpl/js/session.js" usecdn="true" /> <load target="../../session/tpl/js/session.js" usecdn="true" />
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<div class="x_page-header"> <div class="x_page-header">
<h1>{$lang->menu_gnb_sub['adminConfigurationGeneral']}</h1> <h1>{$lang->menu_gnb_sub['adminConfigurationGeneral']}</h1>
</div> </div>
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<section class="section"> <section class="section">
<h1>{$lang->subtitle_primary}</h1> <h1>{$lang->subtitle_primary}</h1>
<form action="./" method="post" enctype="multipart/form-data" class="x_form-horizontal"> <form action="./" method="post" enctype="multipart/form-data" class="x_form-horizontal">

View file

@ -64,7 +64,9 @@ body>.x,
.x .x_btn-group>.x_btn:first-child{border-bottom-left-radius:2px;border-top-left-radius:2px} .x .x_btn-group>.x_btn:first-child{border-bottom-left-radius:2px;border-top-left-radius:2px}
.x input[type="radio"], .x input[type="radio"],
.x input[type="checkbox"]{margin:0} .x input[type="checkbox"]{margin:0}
.x td select, .x td textarea, .x td input{margin-bottom:0} .x td select,
.x td textarea,
.x td input{margin-bottom:0}
.x a.x_icon-question-sign, .x a.x_icon-question-sign,
.x button.x_icon-question-sign{cursor:help} .x button.x_icon-question-sign{cursor:help}
.x .x_nav-tabs>li>a{padding-top:6px;padding-bottom:6px} .x .x_nav-tabs>li>a{padding-top:6px;padding-bottom:6px}
@ -111,6 +113,7 @@ body>.x,
.x select[multiple]{height:auto} .x select[multiple]{height:auto}
.x textarea{vertical-align:top} .x textarea{vertical-align:top}
.x .x_tab-content{overflow-x:hidden} .x .x_tab-content{overflow-x:hidden}
.x .x_table thead th{vertical-align:top}
/* Custom Styles */ /* Custom Styles */
.x .section{margin:20px 0 40px 0} .x .section{margin:20px 0 40px 0}
.x .section>h1{position:relative;border-bottom:1px solid #ddd} .x .section>h1{position:relative;border-bottom:1px solid #ddd}
@ -126,8 +129,8 @@ body>.x,
.x .btnArea{padding:8px 0;margin:20px 0;border-top:1px solid #ccc} .x .btnArea{padding:8px 0;margin:20px 0;border-top:1px solid #ccc}
.x li.active>a, .x li.active>a,
.x a.active{color:#000;font-weight:bold;text-decoration:none} .x a.active{color:#000;font-weight:bold;text-decoration:none}
.x .module_search+[readonly]{border-top-right-radius:0;border-bottom-right-radius:0} .x .module_search+[readonly]{vertical-align:top;border-top-right-radius:0;border-bottom-right-radius:0}
.x .module_search+[readonly]+a.x_btn{border-top-left-radius:0;border-bottom-left-radius:0;vertical-align:top;margin-left:-5px} .x .module_search+[readonly]+a.x_btn{vertical-align:top;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-5px}
.x .fileBtn{position:relative;display:inline-block;overflow:hidden;cursor:pointer} .x .fileBtn{position:relative;display:inline-block;overflow:hidden;cursor:pointer}
.x .fileBtn>input[type="file"]{position:absolute;top:0;right:0;height:100%;overflow:hidden;opacity:0;border:0;filter:alpha(opacity=0);margin:0;padding:0;cursor:pointer;-webkit-transform:scale(3, 3);-webkit-transform-origin:0 0;-moz-transform:scale(3, 3);-moz-transform-origin:100% 0;-o-transform:scale(3, 3);-o-transform-origin:100% 0;filter:progid:DXImageTransform.Microsoft.Matrix(M11=3.0,M22=3.0);} .x .fileBtn>input[type="file"]{position:absolute;top:0;right:0;height:100%;overflow:hidden;opacity:0;border:0;filter:alpha(opacity=0);margin:0;padding:0;cursor:pointer;-webkit-transform:scale(3, 3);-webkit-transform-origin:0 0;-moz-transform:scale(3, 3);-moz-transform-origin:100% 0;-o-transform:scale(3, 3);-o-transform-origin:100% 0;filter:progid:DXImageTransform.Microsoft.Matrix(M11=3.0,M22=3.0);}
/* Image Sprite */ /* Image Sprite */
@ -171,13 +174,16 @@ to{-o-transform:rotate(360deg)}
.x>.xin>.skipNav>a:focus{height:auto;margin:5px 0;padding:8px 0;background:#fff} .x>.xin>.skipNav>a:focus{height:auto;margin:5px 0;padding:8px 0;background:#fff}
.x>.xin>.header{border-radius:5px 5px 0 0;padding:10px 15px;zoom:1;border-bottom:1px solid #ddd;background:#f6f6f6;background:-webkit-gradient(linear, left top, left bottom, from(#F6F6F6), to(#F1F1F1));background:-moz-linear-gradient(top,#F6F6F6,#F1F1F1);background:-o-linear-gradient(top,#F6F6F6,#F1F1F1)} .x>.xin>.header{border-radius:5px 5px 0 0;padding:10px 15px;zoom:1;border-bottom:1px solid #ddd;background:#f6f6f6;background:-webkit-gradient(linear, left top, left bottom, from(#F6F6F6), to(#F1F1F1));background:-moz-linear-gradient(top,#F6F6F6,#F1F1F1);background:-o-linear-gradient(top,#F6F6F6,#F1F1F1)}
.x>.xin>.header:after{content:"";display:block;clear:both} .x>.xin>.header:after{content:"";display:block;clear:both}
.x>.xin>.body{zoom:1;padding:0 20px 0 200px} .x>.xin>.body{position:relative;zoom:1;padding:0 20px 0 200px}
.x>.xin>.body.wide{padding:0 20px 0 60px} .x>.xin>.body.wide{padding:0 20px 0 60px}
.x>.xin>.body:after{content:"";display:block;clear:both} .x>.xin>.body:after{content:"";display:block;clear:both}
.x>.xin>.body>.content{width:100%;padding:1px 0 0 0;float:right;margin:0 0 30px -100%;outline:none} .x>.xin>.body>.content{width:100%;padding:1px 0 0 0;float:right;margin:0 0 30px -100%;outline:none}
.x>.xin>.body>.content>*:first-child{margin-top:0} .x>.xin>.body>.content>*:first-child{margin-top:0}
.x>.xin>.body>.gnb{width:180px;position:fixed;top:73px;left:10px} .x>.xin>.body>.gnb{width:180px;position:fixed;top:73px;left:10px}
.x>.xin>.body.wide>.gnb{width:36px} .x>.xin>.body.wide>.gnb{width:36px}
@media all and (max-height:700px){
.x>.xin>.body>.gnb{position:absolute;top:0;left:0}
}
@media all and (max-width:980px){ @media all and (max-width:980px){
.x>.xin>.body, .x>.xin>.body,
.x>.xin>.body.wide{padding:0} .x>.xin>.body.wide{padding:0}

View file

@ -64,7 +64,9 @@ body>.x,
.x .x_btn-group>.x_btn:first-child{border-bottom-left-radius:2px;border-top-left-radius:2px} .x .x_btn-group>.x_btn:first-child{border-bottom-left-radius:2px;border-top-left-radius:2px}
.x input[type="radio"], .x input[type="radio"],
.x input[type="checkbox"]{margin:0} .x input[type="checkbox"]{margin:0}
.x td select, .x td textarea, .x td input{margin-bottom:0} .x td select,
.x td textarea,
.x td input{margin-bottom:0}
.x a.x_icon-question-sign, .x a.x_icon-question-sign,
.x button.x_icon-question-sign{cursor:help} .x button.x_icon-question-sign{cursor:help}
.x .x_nav-tabs>li>a{padding-top:6px;padding-bottom:6px} .x .x_nav-tabs>li>a{padding-top:6px;padding-bottom:6px}
@ -111,6 +113,7 @@ body>.x,
.x select[multiple]{height:auto} .x select[multiple]{height:auto}
.x textarea{vertical-align:top} .x textarea{vertical-align:top}
.x .x_tab-content{overflow-x:hidden} .x .x_tab-content{overflow-x:hidden}
.x .x_table thead th{vertical-align:top}
/* Custom Styles */ /* Custom Styles */
.x .section{margin:20px 0 40px 0} .x .section{margin:20px 0 40px 0}
.x .section>h1{position:relative;border-bottom:1px solid #ddd} .x .section>h1{position:relative;border-bottom:1px solid #ddd}
@ -126,8 +129,8 @@ body>.x,
.x .btnArea{padding:8px 0;margin:20px 0;border-top:1px solid #ccc} .x .btnArea{padding:8px 0;margin:20px 0;border-top:1px solid #ccc}
.x li.active>a, .x li.active>a,
.x a.active{color:#000;font-weight:bold;text-decoration:none} .x a.active{color:#000;font-weight:bold;text-decoration:none}
.x .module_search+[readonly]{border-top-right-radius:0;border-bottom-right-radius:0} .x .module_search+[readonly]{vertical-align:top;border-top-right-radius:0;border-bottom-right-radius:0}
.x .module_search+[readonly]+a.x_btn{border-top-left-radius:0;border-bottom-left-radius:0;vertical-align:top;margin-left:-5px} .x .module_search+[readonly]+a.x_btn{vertical-align:top;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-5px}
.x .fileBtn{position:relative;display:inline-block;overflow:hidden;cursor:pointer} .x .fileBtn{position:relative;display:inline-block;overflow:hidden;cursor:pointer}
.x .fileBtn>input[type="file"]{position:absolute;top:0;right:0;height:100%;overflow:hidden;opacity:0;border:0;filter:alpha(opacity=0);margin:0;padding:0;cursor:pointer;-webkit-transform:scale(3, 3);-webkit-transform-origin:0 0;-moz-transform:scale(3, 3);-moz-transform-origin:100% 0;-o-transform:scale(3, 3);-o-transform-origin:100% 0;filter:progid:DXImageTransform.Microsoft.Matrix(M11=3.0,M22=3.0);} .x .fileBtn>input[type="file"]{position:absolute;top:0;right:0;height:100%;overflow:hidden;opacity:0;border:0;filter:alpha(opacity=0);margin:0;padding:0;cursor:pointer;-webkit-transform:scale(3, 3);-webkit-transform-origin:0 0;-moz-transform:scale(3, 3);-moz-transform-origin:100% 0;-o-transform:scale(3, 3);-o-transform-origin:100% 0;filter:progid:DXImageTransform.Microsoft.Matrix(M11=3.0,M22=3.0);}
/* Image Sprite */ /* Image Sprite */
@ -171,13 +174,16 @@ to{-o-transform:rotate(360deg)}
.x>.xin>.skipNav>a:focus{height:auto;margin:5px 0;padding:8px 0;background:#fff} .x>.xin>.skipNav>a:focus{height:auto;margin:5px 0;padding:8px 0;background:#fff}
.x>.xin>.header{border-radius:5px 5px 0 0;padding:10px 15px;zoom:1;border-bottom:1px solid #ddd;background:#f6f6f6;background:-webkit-gradient(linear, left top, left bottom, from(#F6F6F6), to(#F1F1F1));background:-moz-linear-gradient(top,#F6F6F6,#F1F1F1);background:-o-linear-gradient(top,#F6F6F6,#F1F1F1)} .x>.xin>.header{border-radius:5px 5px 0 0;padding:10px 15px;zoom:1;border-bottom:1px solid #ddd;background:#f6f6f6;background:-webkit-gradient(linear, left top, left bottom, from(#F6F6F6), to(#F1F1F1));background:-moz-linear-gradient(top,#F6F6F6,#F1F1F1);background:-o-linear-gradient(top,#F6F6F6,#F1F1F1)}
.x>.xin>.header:after{content:"";display:block;clear:both} .x>.xin>.header:after{content:"";display:block;clear:both}
.x>.xin>.body{zoom:1;padding:0 20px 0 200px} .x>.xin>.body{position:relative;zoom:1;padding:0 20px 0 200px}
.x>.xin>.body.wide{padding:0 20px 0 60px} .x>.xin>.body.wide{padding:0 20px 0 60px}
.x>.xin>.body:after{content:"";display:block;clear:both} .x>.xin>.body:after{content:"";display:block;clear:both}
.x>.xin>.body>.content{width:100%;padding:1px 0 0 0;float:right;margin:0 0 30px -100%;outline:none} .x>.xin>.body>.content{width:100%;padding:1px 0 0 0;float:right;margin:0 0 30px -100%;outline:none}
.x>.xin>.body>.content>*:first-child{margin-top:0} .x>.xin>.body>.content>*:first-child{margin-top:0}
.x>.xin>.body>.gnb{width:180px;position:fixed;top:73px;left:10px} .x>.xin>.body>.gnb{width:180px;position:fixed;top:73px;left:10px}
.x>.xin>.body.wide>.gnb{width:36px} .x>.xin>.body.wide>.gnb{width:36px}
@media all and (max-height:700px){
.x>.xin>.body>.gnb{position:absolute;top:0;left:0}
}
@media all and (max-width:980px){ @media all and (max-width:980px){
.x>.xin>.body, .x>.xin>.body,
.x>.xin>.body.wide{padding:0} .x>.xin>.body.wide{padding:0}

View file

@ -94,7 +94,7 @@ jQuery(function($){
return false; return false;
}); });
// GNB // GNB
function GNB(){ $.fn.gnb = function(){
var $xBody = $('.x>.xin>.body'); var $xBody = $('.x>.xin>.body');
var $xContent = $xBody.children('#content.content'); var $xContent = $xBody.children('#content.content');
var $xGnb = $xBody.find('>.gnb'); var $xGnb = $xBody.find('>.gnb');
@ -142,8 +142,8 @@ jQuery(function($){
$xBody.addClass('wide'); $xBody.addClass('wide');
reflow(); reflow();
}); });
} };
GNB(); $('.gnb').gnb();
// Default Language Selection // Default Language Selection
$('.x #lang') $('.x #lang')
.mouseleave(function(){ .mouseleave(function(){
@ -180,6 +180,7 @@ jQuery(function($){
// Section Toggle // Section Toggle
var $section_heading = $('.x .section').find('>h1:first'); var $section_heading = $('.x .section').find('>h1:first');
$section_heading.append('<button type="button" class="snToggle x_icon-chevron-up">Toggle this section</button>'); $section_heading.append('<button type="button" class="snToggle x_icon-chevron-up">Toggle this section</button>');
$('.x .section.collapse>h1>.snToggle').removeClass('x_icon-chevron-up').addClass('x_icon-chevron-down');
$section_heading.find('>.snToggle').click(function(){ $section_heading.find('>.snToggle').click(function(){
var $this = $(this); var $this = $(this);
var $section = $this.closest('.section'); var $section = $this.closest('.section');
@ -205,56 +206,68 @@ jQuery(function($){
} }
}); });
// Vertical Divider // Vertical Divider
$('.x i').each(function(){ $.fn.vr = function(){
var $this = $(this); this.each(function(){
if($this.text() == '|'){ var $this = $(this);
$this.addClass('vr').filter(':first-child, :last-child').remove(); if($this.text() == '|'){
} $this.addClass('vr').filter(':first-child, :last-child').remove();
}); }
});
};
$('.x i').vr();
// label[for] + input[id]/textarea[id]/select[id] creator // label[for] + input[id]/textarea[id]/select[id] creator
$('label:not([for])').each(function(index){ $.fn.labelMaker = function(){
index = index + 1; this.each(function(index){
var $this = $(this); index = index + 1;
var input = 'input, textarea, select'; var $this = $(this);
var check = ':radio, :checkbox'; var input = 'input, textarea, select';
var id = '[id]'; var check = ':radio, :checkbox';
var value = 'i' + index; var id = '[id]';
if($this.next(input).filter(id).not(check).length){ var value = 'i' + index;
// next input, textarea, select id true if($this.next(input).filter(id).not(check).length){
$this.attr('for', $this.next().attr('id')); // next input, textarea, select id true
} else if ($this.next(input).not(id).not(check).length) { $this.attr('for', $this.next().attr('id'));
// next input, textarea, select id false } else if ($this.next(input).not(id).not(check).length) {
$this.attr('for', value).next().attr('id', value); // next input, textarea, select id false
} else if ($this.prev(check).filter(id).length) { $this.attr('for', value).next().attr('id', value);
// prev :radio :checkbox id true } else if ($this.prev(check).filter(id).length) {
$this.attr('for', $this.prev().attr('id')); // prev :radio :checkbox id true
} else if ($this.prev(check).not(id).length) { $this.attr('for', $this.prev().attr('id'));
// prev :radio :checkbox id false } else if ($this.prev(check).not(id).length) {
$this.attr('for', value).prev().attr('id', value); // prev :radio :checkbox id false
} else if ($this.children(input).filter(id).length) { $this.attr('for', value).prev().attr('id', value);
// children id true } else if ($this.children(input).filter(id).length) {
$this.attr('for', $this.children(input).filter(id).eq(0).attr('id')); // children id true
} else if ($this.children(input).not(id).length) { $this.attr('for', $this.children(input).filter(id).eq(0).attr('id'));
// children id false } else if ($this.children(input).not(id).length) {
$this.attr('for', value).children(input).not(id).eq(0).attr('id', value); // children id false
} $this.attr('for', value).children(input).not(id).eq(0).attr('id', value);
}); }
});
};
$('label:not([for])').labelMaker();
// :radio, :checkbox checked class // :radio, :checkbox checked class
$(':radio, :checkbox').change(function(){ $.fn.checkToggle = function(){
var $this = $(this); this.change(function(){
if($this.is(':checked')){ var $this = $(this);
$this.parent('label').addClass('checked'); if($this.is(':checked')){
} $this.parent('label').addClass('checked');
$(':radio, :checkbox').not(':checked').parent('label').removeClass('checked'); }
}).change(); $(':radio, :checkbox').not(':checked').parent('label').removeClass('checked');
});
};
$(':radio, :checkbox').checkToggle();
// File input .overlap style // File input .overlap style
$('input[type="file"].overlap').each(function(){ $.fn.fileTypeOverlap = function(){
var $this = $(this); this.each(function(){
$this.wrap('<span class="fileBtn" />').before('<button type="button">'); var $this = $(this);
var $button = $this.prev('button'); $this.wrap('<span class="fileBtn" />').before('<button type="button">');
$button.text($this.attr('title')).addClass($this.attr('class')).removeClass('overlap'); var $button = $this.prev('button');
$this.attr('class','overlap').width($button.width()).height($button.height()).offset($button.offset()); $button.text($this.attr('title')).addClass($this.attr('class')).removeClass('overlap');
}); $this.attr('class','overlap').width($button.width()).height($button.height()).offset($button.offset());
});
};
$('input[type="file"].overlap').fileTypeOverlap();
// Email Masking // Email Masking
$.fn.xeMask = function(){ $.fn.xeMask = function(){
this this
@ -283,7 +296,18 @@ jQuery(function($){
}) })
}; };
$('.masked').xeMask(); $('.masked').xeMask();
// Table Col Span
$.fn.tableSpan = function(){
this.each(function(){
var $this = $(this);
var thNum = $this.find('>thead>tr:eq(0)>th').length;
var $tdTarget = $this.find('>tbody>tr:eq(0)>td:only-child');
if(thNum != $tdTarget.attr('colspan')){
$tdTarget.attr('colspan', thNum).css('text-align','center');
}
});
};
$('table').tableSpan();
}); });
// Modal Window // Modal Window
jQuery(function($){ jQuery(function($){

View file

@ -94,7 +94,7 @@ jQuery(function($){
return false; return false;
}); });
// GNB // GNB
function GNB(){ $.fn.gnb = function(){
var $xBody = $('.x>.xin>.body'); var $xBody = $('.x>.xin>.body');
var $xContent = $xBody.children('#content.content'); var $xContent = $xBody.children('#content.content');
var $xGnb = $xBody.find('>.gnb'); var $xGnb = $xBody.find('>.gnb');
@ -142,8 +142,8 @@ jQuery(function($){
$xBody.addClass('wide'); $xBody.addClass('wide');
reflow(); reflow();
}); });
} };
GNB(); $('.gnb').gnb();
// Default Language Selection // Default Language Selection
$('.x #lang') $('.x #lang')
.mouseleave(function(){ .mouseleave(function(){
@ -180,6 +180,7 @@ jQuery(function($){
// Section Toggle // Section Toggle
var $section_heading = $('.x .section').find('>h1:first'); var $section_heading = $('.x .section').find('>h1:first');
$section_heading.append('<button type="button" class="snToggle x_icon-chevron-up">Toggle this section</button>'); $section_heading.append('<button type="button" class="snToggle x_icon-chevron-up">Toggle this section</button>');
$('.x .section.collapse>h1>.snToggle').removeClass('x_icon-chevron-up').addClass('x_icon-chevron-down');
$section_heading.find('>.snToggle').click(function(){ $section_heading.find('>.snToggle').click(function(){
var $this = $(this); var $this = $(this);
var $section = $this.closest('.section'); var $section = $this.closest('.section');
@ -205,56 +206,68 @@ jQuery(function($){
} }
}); });
// Vertical Divider // Vertical Divider
$('.x i').each(function(){ $.fn.vr = function(){
var $this = $(this); this.each(function(){
if($this.text() == '|'){ var $this = $(this);
$this.addClass('vr').filter(':first-child, :last-child').remove(); if($this.text() == '|'){
} $this.addClass('vr').filter(':first-child, :last-child').remove();
}); }
});
};
$('.x i').vr();
// label[for] + input[id]/textarea[id]/select[id] creator // label[for] + input[id]/textarea[id]/select[id] creator
$('label:not([for])').each(function(index){ $.fn.labelMaker = function(){
index = index + 1; this.each(function(index){
var $this = $(this); index = index + 1;
var input = 'input, textarea, select'; var $this = $(this);
var check = ':radio, :checkbox'; var input = 'input, textarea, select';
var id = '[id]'; var check = ':radio, :checkbox';
var value = 'i' + index; var id = '[id]';
if($this.next(input).filter(id).not(check).length){ var value = 'i' + index;
// next input, textarea, select id true if($this.next(input).filter(id).not(check).length){
$this.attr('for', $this.next().attr('id')); // next input, textarea, select id true
} else if ($this.next(input).not(id).not(check).length) { $this.attr('for', $this.next().attr('id'));
// next input, textarea, select id false } else if ($this.next(input).not(id).not(check).length) {
$this.attr('for', value).next().attr('id', value); // next input, textarea, select id false
} else if ($this.prev(check).filter(id).length) { $this.attr('for', value).next().attr('id', value);
// prev :radio :checkbox id true } else if ($this.prev(check).filter(id).length) {
$this.attr('for', $this.prev().attr('id')); // prev :radio :checkbox id true
} else if ($this.prev(check).not(id).length) { $this.attr('for', $this.prev().attr('id'));
// prev :radio :checkbox id false } else if ($this.prev(check).not(id).length) {
$this.attr('for', value).prev().attr('id', value); // prev :radio :checkbox id false
} else if ($this.children(input).filter(id).length) { $this.attr('for', value).prev().attr('id', value);
// children id true } else if ($this.children(input).filter(id).length) {
$this.attr('for', $this.children(input).filter(id).eq(0).attr('id')); // children id true
} else if ($this.children(input).not(id).length) { $this.attr('for', $this.children(input).filter(id).eq(0).attr('id'));
// children id false } else if ($this.children(input).not(id).length) {
$this.attr('for', value).children(input).not(id).eq(0).attr('id', value); // children id false
} $this.attr('for', value).children(input).not(id).eq(0).attr('id', value);
}); }
});
};
$('label:not([for])').labelMaker();
// :radio, :checkbox checked class // :radio, :checkbox checked class
$(':radio, :checkbox').change(function(){ $.fn.checkToggle = function(){
var $this = $(this); this.change(function(){
if($this.is(':checked')){ var $this = $(this);
$this.parent('label').addClass('checked'); if($this.is(':checked')){
} $this.parent('label').addClass('checked');
$(':radio, :checkbox').not(':checked').parent('label').removeClass('checked'); }
}).change(); $(':radio, :checkbox').not(':checked').parent('label').removeClass('checked');
});
};
$(':radio, :checkbox').checkToggle();
// File input .overlap style // File input .overlap style
$('input[type="file"].overlap').each(function(){ $.fn.fileTypeOverlap = function(){
var $this = $(this); this.each(function(){
$this.wrap('<span class="fileBtn" />').before('<button type="button">'); var $this = $(this);
var $button = $this.prev('button'); $this.wrap('<span class="fileBtn" />').before('<button type="button">');
$button.text($this.attr('title')).addClass($this.attr('class')).removeClass('overlap'); var $button = $this.prev('button');
$this.attr('class','overlap').width($button.width()).height($button.height()).offset($button.offset()); $button.text($this.attr('title')).addClass($this.attr('class')).removeClass('overlap');
}); $this.attr('class','overlap').width($button.width()).height($button.height()).offset($button.offset());
});
};
$('input[type="file"].overlap').fileTypeOverlap();
// Email Masking // Email Masking
$.fn.xeMask = function(){ $.fn.xeMask = function(){
this this
@ -283,7 +296,18 @@ jQuery(function($){
}) })
}; };
$('.masked').xeMask(); $('.masked').xeMask();
// Table Col Span
$.fn.tableSpan = function(){
this.each(function(){
var $this = $(this);
var thNum = $this.find('>thead>tr:eq(0)>th').length;
var $tdTarget = $this.find('>tbody>tr:eq(0)>td:only-child');
if(thNum != $tdTarget.attr('colspan')){
$tdTarget.attr('colspan', thNum).css('text-align','center');
}
});
};
$('table').tableSpan();
}); });
// Modal Window // Modal Window
jQuery(function($){ jQuery(function($){

View file

@ -1,4 +1,4 @@
<!--#include("header.html")--> <include target="header.html" />
<script> <script>
xe.lang.msg_empty_search_target = '{$lang->msg_empty_search_target}'; xe.lang.msg_empty_search_target = '{$lang->msg_empty_search_target}';
xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}'; xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}';
@ -8,151 +8,80 @@ xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}';
<p>{$XE_VALIDATOR_MESSAGE}</p> <p>{$XE_VALIDATOR_MESSAGE}</p>
</div> </div>
<form id="fo_list" action="./" method="post"> <form id="fo_list" action="./" method="post">
<div class="x_page-header"> <select cond="$modules_list" id="comment_modules" name="comment_modules" title="{$lang->select_module}" onchange="location.href='{getUrl('search_target','module','search_keyword','')}&amp;search_keyword='+this.value" style="width:220px">
<h1>{$lang->comment}</h1> <option>{$lang->select_module}</option>
</div> <!--@foreach($modules_list as $key => $node)-->
<div class="table even"> <option value="{$key}"<!--@if($key==$search_keyword)-->selected<!--@end-->>{$node}</option>
<div class="x_tabbable">
<ul class="x_nav x_nav-tabs">
<li <!--@if($search_keyword == '')-->class="x_active"<!--@end-->><a href="{getUrl('search_keyword','','act','dispCommentAdminList', 'Y')}">{$lang->all}</a></li>
<li <!--@if($search_target == 'is_secret' && $search_keyword == 'N')-->class="x_active"<!--@end-->><a href="{getUrl('search_target','is_secret','search_keyword', 'N')}">{$secret_name_list['N']}</a></li>
<li <!--@if($search_target == 'is_secret' && $search_keyword == 'Y')-->class="x_active"<!--@end-->><a href="{getUrl('search_target','is_secret','search_keyword', 'Y')}">{$secret_name_list['Y']}</a></li>
<li <!--@if($search_target == 'is_published' && $search_keyword == 'N')-->class="x_active"<!--@end-->><a href="{getUrl('search_target','is_published','search_keyword', 'N')}">{$lang->published_name_list['N']}</a></li>
<li <!--@if($search_target == 'is_published' && $search_keyword == 'Y')-->class="x_active"<!--@end-->><a href="{getUrl('search_target','is_published','search_keyword', 'Y')}">{$lang->published_name_list['Y']}</a></li>
</ul>
<block cond="$modules_list">
<label for="comment_modules" <!--@if($search_target == 'module')-->class="active"<!--@end-->>{$lang->select_module}:
<select id="comment_modules" name="comment_modules" onchange="location.href='{getUrl('search_target','module','search_keyword','')}&amp;search_keyword='+this.value">
<option></option>
<!--@foreach($modules_list as $key => $node)-->
<option value="{$key}"<!--@if($key==$search_keyword)-->selected<!--@end-->>{$node}</option>
<!--@end-->
</select></label>
</block>
</div>
<table width="100%" id="commentListTable" class="x_table x_table-striped x_table-hover">
<caption>
<!--@if($search_keyword == '')-->
{$lang->all}
<!--@elseif($search_target == 'is_secret' && $search_keyword == 'N')-->
{$secret_name_list['N']}
<!--@elseif($search_target == 'is_secret' && $search_keyword == 'Y')-->
{$secret_name_list['Y']}
<!--@elseif($search_target == 'is_published' && $search_keyword == 'N')-->
{$published_name_list['N']}
<!--@elseif($search_target == 'is_published' && $search_keyword == 'Y')-->
{$published_name_list['Y']}
<!--@end-->
({number_format($total_count)})
<div class="x_pull-right">
<a href="#listManager" class="x_btn modalAnchor" onclick="getCommentList();">{$lang->comment_manager}...</a>
</div>
</caption>
<thead>
<tr>
<th scope="col" class="text">{$lang->comment}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->cmd_vote}(+/-)</th>
<th scope="col" class="nowr">{$lang->date}</th>
<th scope="col" class="nowr">{$lang->ipaddress}</th>
<th scope="col" class="nowr">{$lang->status}</th>
<th scope="col">{$lang->published}</th>
<th scope="col"><input type="checkbox" data-name="cart" title="Check All" /></th>
</tr>
</thead>
<tfoot>
<tr>
<th scope="col" class="text">{$lang->comment}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->cmd_vote}(+/-)</th>
<th scope="col" class="nowr">{$lang->date}</th>
<th scope="col" class="nowr">{$lang->ipaddress}</th>
<th scope="col" class="nowr">{$lang->status}</th>
<th scope="col">{$lang->published}</th>
<th scope="col"><input type="checkbox" data-name="cart" title="Check All" /></th>
</tr>
</tfoot>
<tbody>
<!--@foreach($comment_list as $no => $val)-->
{@ $comment = cut_str(trim(strip_tags($val->content)), 200, '...')}
<tr>
<td class="text"><a href="{getUrl('','document_srl',$val->document_srl)}#comment_{$val->comment_srl}" target="_blank"><!--@if(strlen($comment))-->{$comment}<!--@else--><em>{$lang->no_text_comment}</em><!--@end--></a></td>
<td class="nowr"><a href="#popup_menu_area" class="member_{$val->member_srl}">{$val->nick_name}</a></td>
<td class="nowr">{number_format($val->get('voted_count'))}/{number_format($val->get('blamed_count'))}</td>
<td class="nowr">{(zdate($val->regdate,"Y-m-d\nH:i:s"))}</td>
<td class="nowr"><a href="{getUrl('search_target','ipaddress','search_keyword',$val->ipaddress)}">{$val->ipaddress}</a></td>
<td class="nowr"><!--@if($val->isSecret())-->{$secret_name_list['Y']}<!--@else-->{$secret_name_list['N']}<!--@end--></td>
<td class="nowr"><!--@if($val->status)-->{$lang->published_name_list['Y']}<!--@else-->{$lang->published_name_list['N']}<!--@end--></td>
<td><input type="checkbox" name="cart" value="{$val->comment_srl}" /></td>
</tr>
<!--@end-->
</tbody>
</table>
<div class="x_pull-right">
<a href="#listManager" class="x_btn modalAnchor" onclick="getCommentList();">{$lang->comment_manager}...</a>
</div>
</div>
</form>
<form ruleset="deleteChecked" action="./" method="post" class="x_modal fg" id="listManager">
<input type="hidden" name="module" value="comment" />
<input type="hidden" name="act" value="procCommentAdminDeleteChecked" />
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="is_trash" value="false" />
<input type="hidden" name="will_publish" value="0" />
<input type="hidden" name="search_target" value="{$search_target}" />
<input type="hidden" name="search_keyword" value="{$search_keyword}" />
<div class="x_modal-header">
<h2>{$lang->comment_manager}</h2>
</div>
<div class="x_modal-body">
<div class="table even">
<table width="100%" id="commentManageListTable" class="x_table x_table-striped x_table-hover">
<caption>
{$lang->selected_comment} <strong id="selectedCommentCount"></strong>
</caption>
<thead>
<tr>
<th scope="col" class="title">{$lang->comment}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->status}</th>
<th scope="col">{$lang->published}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<p class="q"><label for="message">{$lang->message_notice}</label></p>
<p>
<textarea rows="8" cols="42" name="message_content" id="message" style="width:98%"></textarea>
</p>
</div>
<div class="x_modal-footer">
<div class="x_btn-group">
<!--@if ($search_target=='is_published' && $search_keyword=="N")-->
<button type="submit" class="x_btn x_btn-primary" name="will_publish" value="1" onclick="doChangePublishedStatus(this.value);">{$lang->cmd_publish}</button>
<!--@elseif ($search_target=='is_published' && $search_keyword=="Y")-->
<button type="submit" class="x_btn x_btn-primary" name="will_publish" value="0" onclick="doChangePublishedStatus(this.value);">{$lang->cmd_unpublish}</button>
<!--@else-->
<button type="submit" class="x_btn x_btn-primary" name="will_publish" value="1" onclick="doChangePublishedStatus(this.value);">{$lang->cmd_publish}</button>
<button type="submit" class="x_btn x_btn-primary" name="will_publish" value="0" onclick="doChangePublishedStatus(this.value);">{$lang->cmd_unpublish}</button>
<!--@end--> <!--@end-->
<button type="submit" class="x_btn x_btn-warning" name="is_trash" value="true">{$lang->cmd_trash}</button> </select>
<button type="submit" class="x_btn x_btn-danger" name="is_trash" value="false">{$lang->cmd_delete}</button> <table id="commentListTable" class="x_table x_table-striped x_table-hover">
</div> <caption>
<a href="{getUrl('search_keyword','','act','dispCommentAdminList', 'Y')}" class="active"|cond="$search_keyword == ''">{$lang->all}</a><block cond="$search_keyword == ''">({number_format($total_count)})</block>
<i>|</i>
<a href="{getUrl('search_target','is_secret','search_keyword', 'N')}" class="active"|cond="$search_target == 'is_secret' && $search_keyword == 'N'">{$secret_name_list['N']}</a><block cond="$search_target == 'is_secret' && $search_keyword == 'N'">({number_format($total_count)})</block>
<i>|</i>
<a href="{getUrl('search_target','is_secret','search_keyword', 'Y')}" class="active"|cond="$search_target == 'is_secret' && $search_keyword == 'Y'">{$secret_name_list['Y']}</a><block cond="$search_target == 'is_secret' && $search_keyword == 'Y'">({number_format($total_count)})</block>
<i>|</i>
<a href="{getUrl('search_target','is_published','search_keyword', 'N')}" class="active"|cond="$search_target == 'is_published' && $search_keyword == 'N'">{$lang->published_name_list['N']}</a><block cond="$search_target == 'is_published' && $search_keyword == 'N'">({number_format($total_count)})</block>
<i>|</i>
<a href="{getUrl('search_target','is_published','search_keyword', 'Y')}" class="active"|cond="$search_target == 'is_published' && $search_keyword == 'Y'">{$lang->published_name_list['Y']}</a><block cond="$search_target == 'is_published' && $search_keyword == 'Y'">({number_format($total_count)})</block>
<div class="x_pull-right">
<a href="#listManager" class="x_btn modalAnchor" onclick="getCommentList();">{$lang->comment_manager}...</a>
</div>
</caption>
<thead>
<tr>
<th scope="col">{$lang->comment}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->cmd_vote}(+/-)</th>
<th scope="col" class="nowr">{$lang->date}</th>
<th scope="col" class="nowr">{$lang->ipaddress}</th>
<th scope="col" class="nowr">{$lang->status}</th>
<th scope="col">{$lang->published}</th>
<th scope="col"><input type="checkbox" data-name="cart" title="Check All" /></th>
</tr>
</thead>
<tfoot>
<tr>
<th scope="col">{$lang->comment}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->cmd_vote}(+/-)</th>
<th scope="col" class="nowr">{$lang->date}</th>
<th scope="col" class="nowr">{$lang->ipaddress}</th>
<th scope="col" class="nowr">{$lang->status}</th>
<th scope="col">{$lang->published}</th>
<th scope="col"><input type="checkbox" data-name="cart" title="Check All" /></th>
</tr>
</tfoot>
<tbody>
<tr loop="$comment_list => $no, $val">
{@ $comment = cut_str(trim(strip_tags($val->content)), 200, '...')}
<td><a href="{getUrl('','document_srl',$val->document_srl)}#comment_{$val->comment_srl}" target="_blank"><!--@if(strlen($comment))-->{$comment}<!--@else--><em>{$lang->no_text_comment}</em><!--@end--></a></td>
<td class="nowr"><a href="#popup_menu_area" class="member_{$val->member_srl}">{$val->nick_name}</a></td>
<td class="nowr">{number_format($val->get('voted_count'))}/{number_format($val->get('blamed_count'))}</td>
<td class="nowr">{(zdate($val->regdate,"Y-m-d\nH:i:s"))}</td>
<td class="nowr"><a href="{getUrl('search_target','ipaddress','search_keyword',$val->ipaddress)}">{$val->ipaddress}</a></td>
<td class="nowr"><!--@if($val->isSecret())-->{$secret_name_list['Y']}<!--@else-->{$secret_name_list['N']}<!--@end--></td>
<td class="nowr"><!--@if($val->status)-->{$lang->published_name_list['Y']}<!--@else-->{$lang->published_name_list['N']}<!--@end--></td>
<td><input type="checkbox" name="cart" value="{$val->comment_srl}" /></td>
</tr>
<tr cond="!$comment_list">
<td>{$lang->no_documents}</td>
</tr>
</tbody>
</table>
<div class="x_pull-right">
<a href="#listManager" class="x_btn modalAnchor" onclick="getCommentList();">{$lang->comment_manager}...</a>
</div> </div>
</form> </form>
<div class="search">
<form action="./" class="x_pagination x_pagination-centered"> <form action="./" class="x_pagination" style="margin:-10px 0 0 0">
<input type="hidden" name="error_return_url" value="" /> <input type="hidden" name="error_return_url" value="" />
<input type="hidden" name="module" value="{$module}" /> <input type="hidden" name="module" value="{$module}" />
<input type="hidden" name="act" value="{$act}" /> <input type="hidden" name="act" value="{$act}" />
<input cond="$search_keyword" type="hidden" name="search_keyword" value="{$search_keyword}" /> <input cond="$search_keyword" type="hidden" name="search_keyword" value="{$search_keyword}" />
<input cond="$search_target" type="hidden" name="search_target" value="{$search_target}" /> <input cond="$search_target" type="hidden" name="search_target" value="{$search_target}" />
<ul> <ul>
<li class="x_disabled"|cond="!$page || $page == 1"><a href="{getUrl('page', '')}">&laquo; {$lang->first_page}</a></li> <li class="x_disabled"|cond="!$page || $page == 1"><a href="{getUrl('page', '')}">&laquo; {$lang->first_page}</a></li>
<block cond="$page_navigation->first_page != 1 && $page_navigation->first_page + $page_navigation->page_count > $page_navigation->last_page - 1 && $page_navigation->page_count != $page_navigation->total_page"> <block cond="$page_navigation->first_page != 1 && $page_navigation->first_page + $page_navigation->page_count > $page_navigation->last_page - 1 && $page_navigation->page_count != $page_navigation->total_page">
@ -185,19 +114,68 @@ xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}';
</ul> </ul>
</form> </form>
<form action="./" method="get" class="search center x_input-append" onsubmit="return checkSearch(this)"> <form action="./" method="get" class="search center x_input-append" onsubmit="return checkSearch(this)">
<input type="hidden" name="module" value="{$module}" /> <input type="hidden" name="module" value="{$module}" />
<input type="hidden" name="act" value="{$act}" /> <input type="hidden" name="act" value="{$act}" />
<input type="hidden" name="module_srl" value="{$module_srl}" /> <input type="hidden" name="module_srl" value="{$module_srl}" />
<input type="hidden" name="error_return_url" value="" /> <input type="hidden" name="error_return_url" value="" />
<select name="search_target"> <select name="search_target">
<option value="">{$lang->search_target}</option> <option value="">{$lang->search_target}</option>
<!--@foreach($lang->search_target_list as $key => $val)--> <!--@foreach($lang->search_target_list as $key => $val)-->
<option value="{$key}" <!--@if($search_target==$key)-->selected="selected"<!--@end-->>{$val}</option> <option value="{$key}" <!--@if($search_target==$key)-->selected="selected"<!--@end-->>{$val}</option>
<!--@end--> <!--@end-->
</select> </select>
<input type="search" name="search_keyword" value="{htmlspecialchars($search_keyword)}" /> <input type="search" name="search_keyword" value="{htmlspecialchars($search_keyword)}" />
<button type="submit" class="x_btn x_btn-inverse">{$lang->cmd_search}</button> <button type="submit" class="x_btn x_btn-inverse">{$lang->cmd_search}</button>
<button class="x_btn" type="button" onclick="document.location.href='{getUrl('','module',$module,'act',$act)}'">{$lang->cmd_cancel}</button> <button class="x_btn" type="button" onclick="document.location.href='{getUrl('','module',$module,'act',$act)}'">{$lang->cmd_cancel}</button>
</form> </form>
</div>
<form ruleset="deleteChecked" action="./" method="post" class="x_modal" id="listManager">
<input type="hidden" name="module" value="comment" />
<input type="hidden" name="act" value="procCommentAdminDeleteChecked" />
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="is_trash" value="false" />
<input type="hidden" name="will_publish" value="0" />
<input type="hidden" name="search_target" value="{$search_target}" />
<input type="hidden" name="search_keyword" value="{$search_keyword}" />
<div class="x_modal-header">
<h3>{$lang->comment_manager}</h3>
</div>
<div class="x_modal-body">
<table id="commentManageListTable" class="x_table x_table-striped x_table-hover">
<caption>
<strong>{$lang->selected_comment}</strong> <strong id="selectedCommentCount"></strong>
</caption>
<thead>
<tr>
<th scope="col" class="title">{$lang->comment}</th>
<th scope="col" class="nowr">{$lang->writer}</th>
<th scope="col" class="nowr">{$lang->status}</th>
<th scope="col">{$lang->published}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<div class="x_control-group" style="margin:15px 14px 0 0">
<label for="message">{$lang->message_notice}</label>
<textarea rows="4" cols="42" name="message_content" id="message" style="width:100%"></textarea>
</div>
</div>
<div class="x_modal-footer">
<div class="x_btn-group x_pull-left">
<button type="submit" class="x_btn" name="is_trash" value="true">{$lang->cmd_trash}</button>
<button type="submit" class="x_btn x_btn-danger" name="is_trash" value="false">{$lang->cmd_delete}</button>
</div>
<div class="x_btn-group x_pull-right">
<!--@if ($search_target=='is_published' && $search_keyword=="N")-->
<button type="submit" class="x_btn x_btn-primary" name="will_publish" value="1" onclick="doChangePublishedStatus(this.value);">{$lang->cmd_publish}</button>
<!--@elseif ($search_target=='is_published' && $search_keyword=="Y")-->
<button type="submit" class="x_btn" name="will_publish" value="0" onclick="doChangePublishedStatus(this.value);">{$lang->cmd_unpublish}</button>
<!--@else-->
<button type="submit" class="x_btn" name="will_publish" value="0" onclick="doChangePublishedStatus(this.value);">{$lang->cmd_unpublish}</button>
<button type="submit" class="x_btn x_btn-primary" name="will_publish" value="1" onclick="doChangePublishedStatus(this.value);">{$lang->cmd_publish}</button>
<!--@end-->
</div>
</div>
</form>

View file

@ -43,7 +43,7 @@
</td> </td>
</tr> </tr>
</table> </table>
<div class="btnArea"> <div class="x_clearfix">
<span class="btn"><input type="submit" value="{$lang->cmd_save}"/></span> <input type="submit" value="{$lang->cmd_save}" class="x_btn x_btn-primary" />
</div> </div>
</form> </form>

View file

@ -1,5 +1,4 @@
<!--#include("header.html")--> <include target="header.html" />
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}"> <div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p> <p>{$XE_VALIDATOR_MESSAGE}</p>
</div> </div>
@ -12,37 +11,38 @@
<!-- 목록 --> <!-- 목록 -->
<table class="x_table x_table-striped x_table-hover"> <table class="x_table x_table-striped x_table-hover">
<caption>{$lang->all} {number_format($total_count)}, {$lang->page} {number_format($page)}/{number_format($total_page)}</caption> <caption>{$lang->all} {number_format($total_count)}, {$lang->page} {number_format($page)}/{number_format($total_page)}</caption>
<thead> <thead>
<tr> <tr>
<th scope="col"><input type="checkbox" onclick="XE.checkboxToggleAll(); return false;" /></th> <th scope="col">{$lang->comment}</th>
<th scope="col">{$lang->comment}</th> <th scope="col">{$lang->user_name}</th>
<th scope="col">{$lang->user_name}</th> <th scope="col">{$lang->date}</th>
<th scope="col">{$lang->date}</th> <th scope="col">{$lang->cmd_declare}</th>
<th scope="col">{$lang->cmd_declare}</th> <th scope="col">{$lang->ipaddress}</th>
<th scope="col">{$lang->ipaddress}</th> <th scope="col" style="width:15px"><input type="checkbox" /></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<!--@foreach($comment_list as $no => $oComment)--> <tr loop="$comment_list => $no, $oComment">
<tr> <td><a href="{getUrl('','document_srl',$oComment->get('document_srl'))}#comment_{$oComment->get('comment_srl')}" onclick="window.open(this.href);return false;">{$oComment->getSummary(100)}</a></td>
<td><input type="checkbox" name="cart" value="{$oComment->get('comment_srl')}" /></td> <td><span class="member_{$oComment->getMemberSrl()}">{$oComment->getNickName()}</span></td>
<td><a href="{getUrl('','document_srl',$oComment->get('document_srl'))}#comment_{$oComment->get('comment_srl')}" onclick="window.open(this.href);return false;">{$oComment->getSummary(100)}</a></td> <td>{$oComment->getRegdate("Y-m-d")}</td>
<td><span class="member_{$oComment->getMemberSrl()}">{$oComment->getNickName()}</span></td> <td><strong>{$oComment->get('declared_count')}</strong></td>
<td>{$oComment->getRegdate("Y-m-d")}</td> <td>{$oComment->get('ipaddress')}</td>
<td><strong>{$oComment->get('declared_count')}</strong></td> <td><input type="checkbox" name="cart" value="{$oComment->get('comment_srl')}" /></td>
<td>{$oComment->get('ipaddress')}</td> </tr>
</tr> <tr cond="!$comment_list">
<!--@end--> <td>{$lang->no_documents}</td>
</tbody> </tr>
</tbody>
</table> </table>
<div class="btnArea"> <div class="x_clearfix">
<div class="x_btn-group"> <div class="x_pull-left x_btn-group">
<button class="x_btn" type="button" onclick="doCancelDeclare();">{$lang->cmd_cancel_declare}</button> <button class="x_btn" type="button" onclick="doCancelDeclare();">{$lang->cmd_cancel_declare}</button>
<button class="x_btn" type="button" onclick="XE.checkboxToggleAll({ checked:true })">{$lang->cmd_select_all}</button> </div>
<button class="x_btn" type="button" onclick="XE.checkboxToggleAll()">{$lang->cmd_reverse_all}</button> <div class="x_pull-right x_btn-group">
<button class="x_btn x_btn-primary" type="submit" onclick="this.form.is_trash.value=false">{$lang->cmd_delete_checked_comment}</button> <button class="x_btn" type="submit" name="trash" onclick="this.form.is_trash.value=true">{$lang->cmd_trash}</button>
<button class="x_btn x_btn-primary" type="submit" name="trash" onclick="this.form.is_trash.value=true">{$lang->cmd_trash}</button> <button class="x_btn x_btn-danger" type="submit" onclick="this.form.is_trash.value=false">{$lang->cmd_delete_checked_comment}</button>
</div> </div>
</div> </div>
</form> </form>
@ -53,7 +53,6 @@
<input type="hidden" name="act" value="{$act}" /> <input type="hidden" name="act" value="{$act}" />
<input cond="$search_keyword" type="hidden" name="search_keyword" value="{$search_keyword}" /> <input cond="$search_keyword" type="hidden" name="search_keyword" value="{$search_keyword}" />
<input cond="$search_target" type="hidden" name="search_target" value="{$search_target}" /> <input cond="$search_target" type="hidden" name="search_target" value="{$search_target}" />
<ul> <ul>
<li class="x_disabled"|cond="!$page || $page == 1"><a href="{getUrl('page', '')}">&laquo; {$lang->first_page}</a></li> <li class="x_disabled"|cond="!$page || $page == 1"><a href="{getUrl('page', '')}">&laquo; {$lang->first_page}</a></li>
<block cond="$page_navigation->first_page != 1 && $page_navigation->first_page + $page_navigation->page_count > $page_navigation->last_page - 1 && $page_navigation->page_count != $page_navigation->total_page"> <block cond="$page_navigation->first_page != 1 && $page_navigation->first_page + $page_navigation->page_count > $page_navigation->last_page - 1 && $page_navigation->page_count != $page_navigation->total_page">

View file

@ -1,9 +1,7 @@
<load target="js/comment_admin.js" usecdn="true" /> <load target="js/comment_admin.js" usecdn="true" />
<div class="x_page-header"> <div class="x_page-header">
<h1>{$lang->comment} {$lang->cmd_management}</h1> <h1>{$lang->comment} {$lang->cmd_management}</h1>
</div> </div>
<div class="x_tabbable"> <div class="x_tabbable">
<ul class="x_nav x_nav-tabs"> <ul class="x_nav x_nav-tabs">
<li <!--@if($act=='dispCommentAdminList')-->class="x_active"<!--@end-->><a href="{getUrl('act','dispCommentAdminList')}">{$lang->comment_list}</a></li> <li <!--@if($act=='dispCommentAdminList')-->class="x_active"<!--@end-->><a href="{getUrl('act','dispCommentAdminList')}">{$lang->comment_list}</a></li>

View file

@ -44,7 +44,7 @@ function completeGetCommentList(ret_obj, response_tags)
if(ret_obj['comment_list'] == null) if(ret_obj['comment_list'] == null)
{ {
htmlListBuffer = '<tr>' + htmlListBuffer = '<tr>' +
'<td colspan="3" style="text-align:center;">'+ret_obj['message']+'</td>' + '<td colspan="4" style="text-align:center">'+ret_obj['message']+'</td>' +
'</tr>'; '</tr>';
} }
else else
@ -58,9 +58,8 @@ function completeGetCommentList(ret_obj, response_tags)
'<td class="title">'+ objComment.content +'</td>' + '<td class="title">'+ objComment.content +'</td>' +
'<td class="nowr">'+ objComment.nick_name +'</td>' + '<td class="nowr">'+ objComment.nick_name +'</td>' +
'<td class="nowr">'+ statusNameList[objComment.is_secret] +'</td>' + '<td class="nowr">'+ statusNameList[objComment.is_secret] +'</td>' +
'<td>'+ publishedStatusList[objComment.status] +'</td>' + '<td>'+ publishedStatusList[objComment.status] + '<input type="hidden" name="cart[]" value="'+objComment.comment_srl+'" />' + '</td>' +
'</tr>' + '</tr>';
'<input type="hidden" name="cart[]" value="'+objComment.comment_srl+'" />';
} }
jQuery('#selectedCommentCount').html(comment_list.length); jQuery('#selectedCommentCount').html(comment_list.length);
} }

View file

@ -37,7 +37,7 @@
<th>{$lang->friend_group}</th> <th>{$lang->friend_group}</th>
<th>{$lang->nick_name}</th> <th>{$lang->nick_name}</th>
<th>{$lang->regdate}</th> <th>{$lang->regdate}</th>
<th><input name="check_all" type="checkbox" onclick="XE.checkboxToggleAll('friend_srl_list[]', { wrap:'fo_friend_list' });" /></th> <th><input name="check_all" type="checkbox" /></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View file

@ -60,7 +60,7 @@
</th> </th>
<th scope="col">{$lang->regdate}</th> <th scope="col">{$lang->regdate}</th>
<th scope="col">{$lang->readed_date}</th> <th scope="col">{$lang->readed_date}</th>
<th scope="col"><input name="check_all" type="checkbox" onclick="XE.checkboxToggleAll('message_srl_list[]', { wrap:'fo_message_list' });" /></th> <th scope="col"><input name="check_all" type="checkbox" /></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View file

@ -12,7 +12,7 @@
<tr> <tr>
<th scope="row"><label for="textfield1">{$lang->checked_count} ({count($document_list)})</label></th> <th scope="row"><label for="textfield1">{$lang->checked_count} ({count($document_list)})</label></th>
<td> <td>
<input type="checkbox" onclick="XE.checkboxToggleAll()" checked="checked"/> {$lang->cmd_select} <input type="checkbox" checked="checked"/> {$lang->cmd_select}
<ul class="document_list_box"> <ul class="document_list_box">
<!--@foreach($document_list as $key => $document)--> <!--@foreach($document_list as $key => $document)-->
<li class="document_list"><input type="checkbox" checked="checked" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this);"/> <address>{$document->getNickName()}</address> <span class="document_title">{$document->getTitle()}</span></li> <li class="document_list"><input type="checkbox" checked="checked" name="cart" value="{$document->document_srl}" onclick="doAddDocumentCart(this);"/> <address>{$document->getNickName()}</address> <span class="document_title">{$document->getTitle()}</span></li>

View file

@ -49,7 +49,7 @@
<div class="x_control-group" cond="$mid_list"> <div class="x_control-group" cond="$mid_list">
<label class="x_control-label"> <label class="x_control-label">
{$lang->module} {$lang->module}
<input type="checkbox" onclick="XE.checkboxToggleAll('mid_list'); return false;" /> <input type="checkbox" />
</label> </label>
<div class="x_controls"> <div class="x_controls">
<span class="x_help-block">{$lang->about_component_mid}</span> <span class="x_help-block">{$lang->about_component_mid}</span>
@ -57,7 +57,7 @@
<!--@if(count($mid_list) > 1)--> <!--@if(count($mid_list) > 1)-->
<fieldset> <fieldset>
<legend> <legend>
<input type="checkbox" onclick="XE.checkboxToggleAll('mid_list', { wrap:'section_{$module_category_srl}' }); return false;" /> <input type="checkbox" />
<!--@if($modules->title)-->{$modules->title}<!--@else-->{$lang->none_category}<!--@end--> <!--@if($modules->title)-->{$modules->title}<!--@else-->{$lang->none_category}<!--@end-->
</legend> </legend>
<!--@end--> <!--@end-->

View file

@ -23,7 +23,7 @@
<thead> <thead>
<tr> <tr>
<th scope="col">{$lang->no}</th> <th scope="col">{$lang->no}</th>
<th scope="col"><input type="checkbox" onclick="XE.checkboxToggleAll(); return false;" /></th> <th scope="col"><input type="checkbox" /></th>
<th scope="col"> <th scope="col">
<input type="hidden" name="module" value="{$module}" /> <input type="hidden" name="module" value="{$module}" />
<input type="hidden" name="act" value="{$act}" /> <input type="hidden" name="act" value="{$act}" />

View file

@ -40,7 +40,7 @@
<thead> <thead>
<tr> <tr>
<th scope="col" class="chk">{$lang->friend_group}</th> <th scope="col" class="chk">{$lang->friend_group}</th>
<th scope="col" class="subject"><div><input name="check_all" type="checkbox" onclick="XE.checkboxToggleAll('friend_srl_list', { wrap:'fo_friend_list' }); return false;" /> {$lang->nick_name}<div></th> <th scope="col" class="subject"><div><input name="check_all" type="checkbox" /> {$lang->nick_name}<div></th>
<th scope="col" class="th_right"><div>{$lang->regdate}<div></th> <th scope="col" class="th_right"><div>{$lang->regdate}<div></th>
</tr> </tr>
</thead> </thead>

View file

@ -56,7 +56,7 @@
<thead> <thead>
<tr> <tr>
<th scope="col" class="chk"><div> <th scope="col" class="chk"><div>
<input name="check_all" type="checkbox" onclick="XE.checkboxToggleAll('message_srl_list', { wrap:'fo_message_list' }); return false;" /> <input name="check_all" type="checkbox" />
</div> </div>
</th> </th>