mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 01:01:41 +09:00
/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:
parent
5ae8565457
commit
9705b6abf1
20 changed files with 346 additions and 510 deletions
|
|
@ -28,49 +28,6 @@ if(jQuery) jQuery.noConflict();
|
|||
window.XE = {
|
||||
loaded_popup_menus : 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 문서/회원 등 팝업 메뉴 출력
|
||||
|
|
@ -829,25 +786,6 @@ function toggleDisplay(objId) {
|
|||
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 호환용으로 남겨 놓음)
|
||||
**/
|
||||
|
|
|
|||
|
|
@ -312,49 +312,6 @@ if(jQuery) jQuery.noConflict();
|
|||
window.XE = {
|
||||
loaded_popup_menus : 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 문서/회원 등 팝업 메뉴 출력
|
||||
|
|
@ -1113,25 +1070,6 @@ function toggleDisplay(objId) {
|
|||
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 호환용으로 남겨 놓음)
|
||||
**/
|
||||
|
|
|
|||
76
common/js/xe.min.js
vendored
76
common/js/xe.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -1,12 +1,12 @@
|
|||
<load target="./js/config.js" usecdn="true" />
|
||||
<load target="../install/lang/lang.xml" 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">
|
||||
<h1>{$lang->menu_gnb_sub['adminConfigurationGeneral']}</h1>
|
||||
</div>
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
<section class="section">
|
||||
<h1>{$lang->subtitle_primary}</h1>
|
||||
<form action="./" method="post" enctype="multipart/form-data" class="x_form-horizontal">
|
||||
|
|
|
|||
|
|
@ -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 input[type="radio"],
|
||||
.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 button.x_icon-question-sign{cursor:help}
|
||||
.x .x_nav-tabs>li>a{padding-top:6px;padding-bottom:6px}
|
||||
|
|
@ -111,6 +113,7 @@ body>.x,
|
|||
.x select[multiple]{height:auto}
|
||||
.x textarea{vertical-align:top}
|
||||
.x .x_tab-content{overflow-x:hidden}
|
||||
.x .x_table thead th{vertical-align:top}
|
||||
/* Custom Styles */
|
||||
.x .section{margin:20px 0 40px 0}
|
||||
.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 li.active>a,
|
||||
.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]+a.x_btn{border-top-left-radius:0;border-bottom-left-radius:0;vertical-align:top;margin-left:-5px}
|
||||
.x .module_search+[readonly]{vertical-align:top;border-top-right-radius:0;border-bottom-right-radius:0}
|
||||
.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>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 */
|
||||
|
|
@ -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>.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>.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: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>*:first-child{margin-top:0}
|
||||
.x>.xin>.body>.gnb{width:180px;position:fixed;top:73px;left:10px}
|
||||
.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){
|
||||
.x>.xin>.body,
|
||||
.x>.xin>.body.wide{padding:0}
|
||||
|
|
|
|||
14
modules/admin/tpl/css/admin.min.css
vendored
14
modules/admin/tpl/css/admin.min.css
vendored
|
|
@ -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 input[type="radio"],
|
||||
.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 button.x_icon-question-sign{cursor:help}
|
||||
.x .x_nav-tabs>li>a{padding-top:6px;padding-bottom:6px}
|
||||
|
|
@ -111,6 +113,7 @@ body>.x,
|
|||
.x select[multiple]{height:auto}
|
||||
.x textarea{vertical-align:top}
|
||||
.x .x_tab-content{overflow-x:hidden}
|
||||
.x .x_table thead th{vertical-align:top}
|
||||
/* Custom Styles */
|
||||
.x .section{margin:20px 0 40px 0}
|
||||
.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 li.active>a,
|
||||
.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]+a.x_btn{border-top-left-radius:0;border-bottom-left-radius:0;vertical-align:top;margin-left:-5px}
|
||||
.x .module_search+[readonly]{vertical-align:top;border-top-right-radius:0;border-bottom-right-radius:0}
|
||||
.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>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 */
|
||||
|
|
@ -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>.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>.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: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>*:first-child{margin-top:0}
|
||||
.x>.xin>.body>.gnb{width:180px;position:fixed;top:73px;left:10px}
|
||||
.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){
|
||||
.x>.xin>.body,
|
||||
.x>.xin>.body.wide{padding:0}
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ jQuery(function($){
|
|||
return false;
|
||||
});
|
||||
// GNB
|
||||
function GNB(){
|
||||
$.fn.gnb = function(){
|
||||
var $xBody = $('.x>.xin>.body');
|
||||
var $xContent = $xBody.children('#content.content');
|
||||
var $xGnb = $xBody.find('>.gnb');
|
||||
|
|
@ -142,8 +142,8 @@ jQuery(function($){
|
|||
$xBody.addClass('wide');
|
||||
reflow();
|
||||
});
|
||||
}
|
||||
GNB();
|
||||
};
|
||||
$('.gnb').gnb();
|
||||
// Default Language Selection
|
||||
$('.x #lang')
|
||||
.mouseleave(function(){
|
||||
|
|
@ -180,6 +180,7 @@ jQuery(function($){
|
|||
// Section Toggle
|
||||
var $section_heading = $('.x .section').find('>h1:first');
|
||||
$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(){
|
||||
var $this = $(this);
|
||||
var $section = $this.closest('.section');
|
||||
|
|
@ -205,56 +206,68 @@ jQuery(function($){
|
|||
}
|
||||
});
|
||||
// Vertical Divider
|
||||
$('.x i').each(function(){
|
||||
var $this = $(this);
|
||||
if($this.text() == '|'){
|
||||
$this.addClass('vr').filter(':first-child, :last-child').remove();
|
||||
}
|
||||
});
|
||||
$.fn.vr = function(){
|
||||
this.each(function(){
|
||||
var $this = $(this);
|
||||
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:not([for])').each(function(index){
|
||||
index = index + 1;
|
||||
var $this = $(this);
|
||||
var input = 'input, textarea, select';
|
||||
var check = ':radio, :checkbox';
|
||||
var id = '[id]';
|
||||
var value = 'i' + index;
|
||||
if($this.next(input).filter(id).not(check).length){
|
||||
// next input, textarea, select id true
|
||||
$this.attr('for', $this.next().attr('id'));
|
||||
} else if ($this.next(input).not(id).not(check).length) {
|
||||
// next input, textarea, select id false
|
||||
$this.attr('for', value).next().attr('id', value);
|
||||
} else if ($this.prev(check).filter(id).length) {
|
||||
// prev :radio :checkbox id true
|
||||
$this.attr('for', $this.prev().attr('id'));
|
||||
} else if ($this.prev(check).not(id).length) {
|
||||
// prev :radio :checkbox id false
|
||||
$this.attr('for', value).prev().attr('id', value);
|
||||
} else if ($this.children(input).filter(id).length) {
|
||||
// children id true
|
||||
$this.attr('for', $this.children(input).filter(id).eq(0).attr('id'));
|
||||
} else if ($this.children(input).not(id).length) {
|
||||
// children id false
|
||||
$this.attr('for', value).children(input).not(id).eq(0).attr('id', value);
|
||||
}
|
||||
});
|
||||
$.fn.labelMaker = function(){
|
||||
this.each(function(index){
|
||||
index = index + 1;
|
||||
var $this = $(this);
|
||||
var input = 'input, textarea, select';
|
||||
var check = ':radio, :checkbox';
|
||||
var id = '[id]';
|
||||
var value = 'i' + index;
|
||||
if($this.next(input).filter(id).not(check).length){
|
||||
// next input, textarea, select id true
|
||||
$this.attr('for', $this.next().attr('id'));
|
||||
} else if ($this.next(input).not(id).not(check).length) {
|
||||
// next input, textarea, select id false
|
||||
$this.attr('for', value).next().attr('id', value);
|
||||
} else if ($this.prev(check).filter(id).length) {
|
||||
// prev :radio :checkbox id true
|
||||
$this.attr('for', $this.prev().attr('id'));
|
||||
} else if ($this.prev(check).not(id).length) {
|
||||
// prev :radio :checkbox id false
|
||||
$this.attr('for', value).prev().attr('id', value);
|
||||
} else if ($this.children(input).filter(id).length) {
|
||||
// children id true
|
||||
$this.attr('for', $this.children(input).filter(id).eq(0).attr('id'));
|
||||
} else if ($this.children(input).not(id).length) {
|
||||
// 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').change(function(){
|
||||
var $this = $(this);
|
||||
if($this.is(':checked')){
|
||||
$this.parent('label').addClass('checked');
|
||||
}
|
||||
$(':radio, :checkbox').not(':checked').parent('label').removeClass('checked');
|
||||
}).change();
|
||||
$.fn.checkToggle = function(){
|
||||
this.change(function(){
|
||||
var $this = $(this);
|
||||
if($this.is(':checked')){
|
||||
$this.parent('label').addClass('checked');
|
||||
}
|
||||
$(':radio, :checkbox').not(':checked').parent('label').removeClass('checked');
|
||||
});
|
||||
};
|
||||
$(':radio, :checkbox').checkToggle();
|
||||
// File input .overlap style
|
||||
$('input[type="file"].overlap').each(function(){
|
||||
var $this = $(this);
|
||||
$this.wrap('<span class="fileBtn" />').before('<button type="button">');
|
||||
var $button = $this.prev('button');
|
||||
$button.text($this.attr('title')).addClass($this.attr('class')).removeClass('overlap');
|
||||
$this.attr('class','overlap').width($button.width()).height($button.height()).offset($button.offset());
|
||||
});
|
||||
$.fn.fileTypeOverlap = function(){
|
||||
this.each(function(){
|
||||
var $this = $(this);
|
||||
$this.wrap('<span class="fileBtn" />').before('<button type="button">');
|
||||
var $button = $this.prev('button');
|
||||
$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
|
||||
$.fn.xeMask = function(){
|
||||
this
|
||||
|
|
@ -283,7 +296,18 @@ jQuery(function($){
|
|||
})
|
||||
};
|
||||
$('.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
|
||||
jQuery(function($){
|
||||
|
|
|
|||
126
modules/admin/tpl/js/admin.min.js
vendored
126
modules/admin/tpl/js/admin.min.js
vendored
|
|
@ -94,7 +94,7 @@ jQuery(function($){
|
|||
return false;
|
||||
});
|
||||
// GNB
|
||||
function GNB(){
|
||||
$.fn.gnb = function(){
|
||||
var $xBody = $('.x>.xin>.body');
|
||||
var $xContent = $xBody.children('#content.content');
|
||||
var $xGnb = $xBody.find('>.gnb');
|
||||
|
|
@ -142,8 +142,8 @@ jQuery(function($){
|
|||
$xBody.addClass('wide');
|
||||
reflow();
|
||||
});
|
||||
}
|
||||
GNB();
|
||||
};
|
||||
$('.gnb').gnb();
|
||||
// Default Language Selection
|
||||
$('.x #lang')
|
||||
.mouseleave(function(){
|
||||
|
|
@ -180,6 +180,7 @@ jQuery(function($){
|
|||
// Section Toggle
|
||||
var $section_heading = $('.x .section').find('>h1:first');
|
||||
$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(){
|
||||
var $this = $(this);
|
||||
var $section = $this.closest('.section');
|
||||
|
|
@ -205,56 +206,68 @@ jQuery(function($){
|
|||
}
|
||||
});
|
||||
// Vertical Divider
|
||||
$('.x i').each(function(){
|
||||
var $this = $(this);
|
||||
if($this.text() == '|'){
|
||||
$this.addClass('vr').filter(':first-child, :last-child').remove();
|
||||
}
|
||||
});
|
||||
$.fn.vr = function(){
|
||||
this.each(function(){
|
||||
var $this = $(this);
|
||||
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:not([for])').each(function(index){
|
||||
index = index + 1;
|
||||
var $this = $(this);
|
||||
var input = 'input, textarea, select';
|
||||
var check = ':radio, :checkbox';
|
||||
var id = '[id]';
|
||||
var value = 'i' + index;
|
||||
if($this.next(input).filter(id).not(check).length){
|
||||
// next input, textarea, select id true
|
||||
$this.attr('for', $this.next().attr('id'));
|
||||
} else if ($this.next(input).not(id).not(check).length) {
|
||||
// next input, textarea, select id false
|
||||
$this.attr('for', value).next().attr('id', value);
|
||||
} else if ($this.prev(check).filter(id).length) {
|
||||
// prev :radio :checkbox id true
|
||||
$this.attr('for', $this.prev().attr('id'));
|
||||
} else if ($this.prev(check).not(id).length) {
|
||||
// prev :radio :checkbox id false
|
||||
$this.attr('for', value).prev().attr('id', value);
|
||||
} else if ($this.children(input).filter(id).length) {
|
||||
// children id true
|
||||
$this.attr('for', $this.children(input).filter(id).eq(0).attr('id'));
|
||||
} else if ($this.children(input).not(id).length) {
|
||||
// children id false
|
||||
$this.attr('for', value).children(input).not(id).eq(0).attr('id', value);
|
||||
}
|
||||
});
|
||||
$.fn.labelMaker = function(){
|
||||
this.each(function(index){
|
||||
index = index + 1;
|
||||
var $this = $(this);
|
||||
var input = 'input, textarea, select';
|
||||
var check = ':radio, :checkbox';
|
||||
var id = '[id]';
|
||||
var value = 'i' + index;
|
||||
if($this.next(input).filter(id).not(check).length){
|
||||
// next input, textarea, select id true
|
||||
$this.attr('for', $this.next().attr('id'));
|
||||
} else if ($this.next(input).not(id).not(check).length) {
|
||||
// next input, textarea, select id false
|
||||
$this.attr('for', value).next().attr('id', value);
|
||||
} else if ($this.prev(check).filter(id).length) {
|
||||
// prev :radio :checkbox id true
|
||||
$this.attr('for', $this.prev().attr('id'));
|
||||
} else if ($this.prev(check).not(id).length) {
|
||||
// prev :radio :checkbox id false
|
||||
$this.attr('for', value).prev().attr('id', value);
|
||||
} else if ($this.children(input).filter(id).length) {
|
||||
// children id true
|
||||
$this.attr('for', $this.children(input).filter(id).eq(0).attr('id'));
|
||||
} else if ($this.children(input).not(id).length) {
|
||||
// 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').change(function(){
|
||||
var $this = $(this);
|
||||
if($this.is(':checked')){
|
||||
$this.parent('label').addClass('checked');
|
||||
}
|
||||
$(':radio, :checkbox').not(':checked').parent('label').removeClass('checked');
|
||||
}).change();
|
||||
$.fn.checkToggle = function(){
|
||||
this.change(function(){
|
||||
var $this = $(this);
|
||||
if($this.is(':checked')){
|
||||
$this.parent('label').addClass('checked');
|
||||
}
|
||||
$(':radio, :checkbox').not(':checked').parent('label').removeClass('checked');
|
||||
});
|
||||
};
|
||||
$(':radio, :checkbox').checkToggle();
|
||||
// File input .overlap style
|
||||
$('input[type="file"].overlap').each(function(){
|
||||
var $this = $(this);
|
||||
$this.wrap('<span class="fileBtn" />').before('<button type="button">');
|
||||
var $button = $this.prev('button');
|
||||
$button.text($this.attr('title')).addClass($this.attr('class')).removeClass('overlap');
|
||||
$this.attr('class','overlap').width($button.width()).height($button.height()).offset($button.offset());
|
||||
});
|
||||
$.fn.fileTypeOverlap = function(){
|
||||
this.each(function(){
|
||||
var $this = $(this);
|
||||
$this.wrap('<span class="fileBtn" />').before('<button type="button">');
|
||||
var $button = $this.prev('button');
|
||||
$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
|
||||
$.fn.xeMask = function(){
|
||||
this
|
||||
|
|
@ -283,7 +296,18 @@ jQuery(function($){
|
|||
})
|
||||
};
|
||||
$('.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
|
||||
jQuery(function($){
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<!--#include("header.html")-->
|
||||
<include target="header.html" />
|
||||
<script>
|
||||
xe.lang.msg_empty_search_target = '{$lang->msg_empty_search_target}';
|
||||
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>
|
||||
</div>
|
||||
<form id="fo_list" action="./" method="post">
|
||||
<div class="x_page-header">
|
||||
<h1>{$lang->comment}</h1>
|
||||
</div>
|
||||
<div class="table even">
|
||||
<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','')}&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>
|
||||
<select cond="$modules_list" id="comment_modules" name="comment_modules" title="{$lang->select_module}" onchange="location.href='{getUrl('search_target','module','search_keyword','')}&search_keyword='+this.value" style="width:220px">
|
||||
<option>{$lang->select_module}</option>
|
||||
<!--@foreach($modules_list as $key => $node)-->
|
||||
<option value="{$key}"<!--@if($key==$search_keyword)-->selected<!--@end-->>{$node}</option>
|
||||
<!--@end-->
|
||||
<button type="submit" class="x_btn x_btn-warning" 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>
|
||||
</select>
|
||||
<table id="commentListTable" class="x_table x_table-striped x_table-hover">
|
||||
<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>
|
||||
</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="module" value="{$module}" />
|
||||
<input type="hidden" name="act" value="{$act}" />
|
||||
<input cond="$search_keyword" type="hidden" name="search_keyword" value="{$search_keyword}" />
|
||||
<input cond="$search_target" type="hidden" name="search_target" value="{$search_target}" />
|
||||
|
||||
<ul>
|
||||
<li class="x_disabled"|cond="!$page || $page == 1"><a href="{getUrl('page', '')}">« {$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">
|
||||
|
|
@ -185,19 +114,68 @@ xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}';
|
|||
</ul>
|
||||
</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="act" value="{$act}" />
|
||||
<input type="hidden" name="module_srl" value="{$module_srl}" />
|
||||
<input type="hidden" name="error_return_url" value="" />
|
||||
<select name="search_target">
|
||||
<option value="">{$lang->search_target}</option>
|
||||
<!--@foreach($lang->search_target_list as $key => $val)-->
|
||||
<option value="{$key}" <!--@if($search_target==$key)-->selected="selected"<!--@end-->>{$val}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<input type="search" name="search_keyword" value="{htmlspecialchars($search_keyword)}" />
|
||||
<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>
|
||||
</form>
|
||||
</div>
|
||||
<select name="search_target">
|
||||
<option value="">{$lang->search_target}</option>
|
||||
<!--@foreach($lang->search_target_list as $key => $val)-->
|
||||
<option value="{$key}" <!--@if($search_target==$key)-->selected="selected"<!--@end-->>{$val}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
<input type="search" name="search_keyword" value="{htmlspecialchars($search_keyword)}" />
|
||||
<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>
|
||||
</form>
|
||||
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="btnArea">
|
||||
<span class="btn"><input type="submit" value="{$lang->cmd_save}"/></span>
|
||||
<div class="x_clearfix">
|
||||
<input type="submit" value="{$lang->cmd_save}" class="x_btn x_btn-primary" />
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<!--#include("header.html")-->
|
||||
|
||||
<include target="header.html" />
|
||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
|
|
@ -12,37 +11,38 @@
|
|||
|
||||
<!-- 목록 -->
|
||||
<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>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><input type="checkbox" onclick="XE.checkboxToggleAll(); return false;" /></th>
|
||||
<th scope="col">{$lang->comment}</th>
|
||||
<th scope="col">{$lang->user_name}</th>
|
||||
<th scope="col">{$lang->date}</th>
|
||||
<th scope="col">{$lang->cmd_declare}</th>
|
||||
<th scope="col">{$lang->ipaddress}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($comment_list as $no => $oComment)-->
|
||||
<tr>
|
||||
<td><input type="checkbox" name="cart" value="{$oComment->get('comment_srl')}" /></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><span class="member_{$oComment->getMemberSrl()}">{$oComment->getNickName()}</span></td>
|
||||
<td>{$oComment->getRegdate("Y-m-d")}</td>
|
||||
<td><strong>{$oComment->get('declared_count')}</strong></td>
|
||||
<td>{$oComment->get('ipaddress')}</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
</tbody>
|
||||
<caption>{$lang->all} {number_format($total_count)}, {$lang->page} {number_format($page)}/{number_format($total_page)}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{$lang->comment}</th>
|
||||
<th scope="col">{$lang->user_name}</th>
|
||||
<th scope="col">{$lang->date}</th>
|
||||
<th scope="col">{$lang->cmd_declare}</th>
|
||||
<th scope="col">{$lang->ipaddress}</th>
|
||||
<th scope="col" style="width:15px"><input type="checkbox" /></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr loop="$comment_list => $no, $oComment">
|
||||
<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><span class="member_{$oComment->getMemberSrl()}">{$oComment->getNickName()}</span></td>
|
||||
<td>{$oComment->getRegdate("Y-m-d")}</td>
|
||||
<td><strong>{$oComment->get('declared_count')}</strong></td>
|
||||
<td>{$oComment->get('ipaddress')}</td>
|
||||
<td><input type="checkbox" name="cart" value="{$oComment->get('comment_srl')}" /></td>
|
||||
</tr>
|
||||
<tr cond="!$comment_list">
|
||||
<td>{$lang->no_documents}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="btnArea">
|
||||
<div class="x_btn-group">
|
||||
<div class="x_clearfix">
|
||||
<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="XE.checkboxToggleAll({ checked:true })">{$lang->cmd_select_all}</button>
|
||||
<button class="x_btn" type="button" onclick="XE.checkboxToggleAll()">{$lang->cmd_reverse_all}</button>
|
||||
<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 x_btn-primary" type="submit" name="trash" onclick="this.form.is_trash.value=true">{$lang->cmd_trash}</button>
|
||||
</div>
|
||||
<div class="x_pull-right x_btn-group">
|
||||
<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-danger" type="submit" onclick="this.form.is_trash.value=false">{$lang->cmd_delete_checked_comment}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -53,7 +53,6 @@
|
|||
<input type="hidden" name="act" value="{$act}" />
|
||||
<input cond="$search_keyword" type="hidden" name="search_keyword" value="{$search_keyword}" />
|
||||
<input cond="$search_target" type="hidden" name="search_target" value="{$search_target}" />
|
||||
|
||||
<ul>
|
||||
<li class="x_disabled"|cond="!$page || $page == 1"><a href="{getUrl('page', '')}">« {$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">
|
||||
|
|
|
|||
|
|
@ -1,9 +1,7 @@
|
|||
<load target="js/comment_admin.js" usecdn="true" />
|
||||
|
||||
<div class="x_page-header">
|
||||
<h1>{$lang->comment} {$lang->cmd_management}</h1>
|
||||
<h1>{$lang->comment} {$lang->cmd_management}</h1>
|
||||
</div>
|
||||
|
||||
<div class="x_tabbable">
|
||||
<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>
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ function completeGetCommentList(ret_obj, response_tags)
|
|||
if(ret_obj['comment_list'] == null)
|
||||
{
|
||||
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>';
|
||||
}
|
||||
else
|
||||
|
|
@ -58,9 +58,8 @@ function completeGetCommentList(ret_obj, response_tags)
|
|||
'<td class="title">'+ objComment.content +'</td>' +
|
||||
'<td class="nowr">'+ objComment.nick_name +'</td>' +
|
||||
'<td class="nowr">'+ statusNameList[objComment.is_secret] +'</td>' +
|
||||
'<td>'+ publishedStatusList[objComment.status] +'</td>' +
|
||||
'</tr>' +
|
||||
'<input type="hidden" name="cart[]" value="'+objComment.comment_srl+'" />';
|
||||
'<td>'+ publishedStatusList[objComment.status] + '<input type="hidden" name="cart[]" value="'+objComment.comment_srl+'" />' + '</td>' +
|
||||
'</tr>';
|
||||
}
|
||||
jQuery('#selectedCommentCount').html(comment_list.length);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
<th>{$lang->friend_group}</th>
|
||||
<th>{$lang->nick_name}</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>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
</th>
|
||||
<th scope="col">{$lang->regdate}</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>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<tr>
|
||||
<th scope="row"><label for="textfield1">{$lang->checked_count} ({count($document_list)})</label></th>
|
||||
<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">
|
||||
<!--@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>
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
<div class="x_control-group" cond="$mid_list">
|
||||
<label class="x_control-label">
|
||||
{$lang->module}
|
||||
<input type="checkbox" onclick="XE.checkboxToggleAll('mid_list'); return false;" />
|
||||
<input type="checkbox" />
|
||||
</label>
|
||||
<div class="x_controls">
|
||||
<span class="x_help-block">{$lang->about_component_mid}</span>
|
||||
|
|
@ -57,7 +57,7 @@
|
|||
<!--@if(count($mid_list) > 1)-->
|
||||
<fieldset>
|
||||
<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-->
|
||||
</legend>
|
||||
<!--@end-->
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<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">
|
||||
<input type="hidden" name="module" value="{$module}" />
|
||||
<input type="hidden" name="act" value="{$act}" />
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<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>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<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>
|
||||
</th>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue