mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-09 03:32:00 +09:00
css 및 js 호출순서 조정기능 추가
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5785 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
4f380d9c48
commit
61851f1dfe
2149 changed files with 109090 additions and 18689 deletions
|
|
@ -89,3 +89,24 @@ span.button.blue input { background-image:url(../tpl/images/buttonBlue.gif); col
|
|||
/* Offset Debug */
|
||||
a.button,
|
||||
span.button{ margin-right:2px;}
|
||||
|
||||
/* Button Set */
|
||||
.buttonSet{ width:16px; height:16px; background-image:url(../tpl/images/buttonSet.gif); background-repeat:no-repeat; border:0; background-color:transparent; vertical-align:middle; display:inline-block; text-decoration:none;}
|
||||
.buttonSet span{ z-index:-1; font-size:0; line-height:0; visibility:hidden;}
|
||||
.buttonSet.buttonUp{ background-position:0 0;}
|
||||
.buttonSet.buttonDown{ background-position:0 -16px;}
|
||||
.buttonSet.buttonLeft{ background-position:0 -32px;}
|
||||
.buttonSet.buttonRight{ background-position:0 -48px;}
|
||||
.buttonSet.buttonInfo{ background-position:0 -64px;}
|
||||
.buttonSet.buttonCopy{ background-position:0 -80px;}
|
||||
.buttonSet.buttonSetting{ background-position:0 -96px;}
|
||||
.buttonSet.buttonActive{ background-position:0 -112px;}
|
||||
.buttonSet.buttonDisable{ background-position:0 -128px;}
|
||||
.buttonSet.buttonDelete{ background-position:0 -144px;}
|
||||
.buttonSet.buttonHomepage{ background-position:0 -160px;}
|
||||
.buttonSet.buttonBlog{ background-position:0 -176px;}
|
||||
.buttonSet.buttonCalendar{ background-position:0 -192px;}
|
||||
.buttonSet.buttonLayoutEditor{ background-position:0 -208px;}
|
||||
.buttonSet.buttonAddWidget{ background-position:0 -224px;}
|
||||
.buttonSet.buttonAddContent{ background-position:0 -240px;}
|
||||
|
||||
|
|
|
|||
|
|
@ -88,3 +88,6 @@ a.bold { font-weight:bold; }
|
|||
#popup_menu_area li a:hover,
|
||||
#popup_menu_area li a:active,
|
||||
#popup_menu_area li a:focus{ font-weight:bold; letter-spacing:-1px;}
|
||||
|
||||
/* xe faceoff */
|
||||
.faceOffManager { position:fixed; _position:absolute; right:3px; top:3px; height:23px; }
|
||||
|
|
|
|||
|
|
@ -7,7 +7,20 @@
|
|||
/* jQuery 참조변수($) 제거 */
|
||||
if(jQuery) jQuery.noConflict();
|
||||
|
||||
;(function($) {
|
||||
(function($) {
|
||||
/* OS check */
|
||||
var UA = navigator.userAgent.toLowerCase();
|
||||
$.os = {
|
||||
Linux: /linux/.test(UA),
|
||||
Unix: /x11/.test(UA),
|
||||
Mac: /mac/.test(UA),
|
||||
Windows: /win/.test(UA)
|
||||
};
|
||||
$.os.name = ($.os.Windows) ? 'Windows' :
|
||||
($.os.Linux) ? 'Linux' :
|
||||
($.os.Unix) ? 'Unix' :
|
||||
($.os.Mac) ? 'Mac' : '';
|
||||
|
||||
/**
|
||||
* @brief XE 공용 유틸리티 함수
|
||||
* @namespace XE
|
||||
|
|
@ -109,49 +122,46 @@ if(jQuery) jQuery.noConflict();
|
|||
|
||||
/* 레이어 출력 */
|
||||
if(html) {
|
||||
var area = jQuery("#popup_menu_area").html('<ul>'+html+'</ul>');
|
||||
var area = $('#popup_menu_area').html('<ul>'+html+'</ul>');
|
||||
var areaOffset = {top:params['page_y'], left:params['page_x']};
|
||||
|
||||
if(area.outerHeight()+areaOffset.top > jQuery(window).height()+jQuery(window).scrollTop())
|
||||
areaOffset.top = jQuery(window).height() - area.outerHeight() + jQuery(window).scrollTop();
|
||||
if(area.outerWidth()+areaOffset.left > jQuery(window).width()+jQuery(window).scrollLeft())
|
||||
areaOffset.left = jQuery(window).width() - area.outerWidth() + jQuery(window).scrollLeft();
|
||||
if(area.outerHeight()+areaOffset.top > $(window).height()+$(window).scrollTop())
|
||||
areaOffset.top = $(window).height() - area.outerHeight() + $(window).scrollTop();
|
||||
if(area.outerWidth()+areaOffset.left > $(window).width()+$(window).scrollLeft())
|
||||
areaOffset.left = $(window).width() - area.outerWidth() + $(window).scrollLeft();
|
||||
|
||||
if($.browser.safari) {
|
||||
areaOffset.top -= 16;
|
||||
areaOffset.left -= 16;
|
||||
}
|
||||
|
||||
area.css({ visibility:"visible", top:areaOffset.top, left:areaOffset.left });
|
||||
area.css({ top:areaOffset.top, left:areaOffset.left }).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}) (jQuery);
|
||||
|
||||
|
||||
|
||||
/* jQuery(document).ready() */
|
||||
jQuery(function($) {
|
||||
/* 팝업메뉴 레이어 생성 */
|
||||
if(!$('#popup_menu_area').length) {
|
||||
var menuObj = $('<div>')
|
||||
.attr('id', 'popup_menu_area')
|
||||
.css({visibility:'hidden', zIndex:9999});
|
||||
.css({display:'none', zIndex:9999});
|
||||
$(document.body).append(menuObj);
|
||||
}
|
||||
|
||||
$(document).click(function(evt) {
|
||||
var area = jQuery("#popup_menu_area");
|
||||
var area = $('#popup_menu_area');
|
||||
if(!area.length) return;
|
||||
|
||||
// 이전에 호출되었을지 모르는 팝업메뉴 숨김
|
||||
area.css('visibility', 'hidden');
|
||||
area.hide();
|
||||
|
||||
var targetObj = $(evt.target);
|
||||
if(!targetObj.length) return;
|
||||
|
||||
// obj의 nodeName이 div나 span이 아니면 나올대까지 상위를 찾음
|
||||
if(targetObj.length && jQuery.inArray(targetObj.attr('nodeName'), ['DIV', 'SPAN', 'A']) == -1) targetObj = targetObj.parent();
|
||||
if(!targetObj.length || jQuery.inArray(targetObj.attr('nodeName'), ['DIV', 'SPAN', 'A']) == -1) return;
|
||||
if(targetObj.length && $.inArray(targetObj.attr('nodeName'), ['DIV', 'SPAN', 'A']) == -1) targetObj = targetObj.parent();
|
||||
if(!targetObj.length || $.inArray(targetObj.attr('nodeName'), ['DIV', 'SPAN', 'A']) == -1) return;
|
||||
|
||||
// 객체의 className값을 구함
|
||||
var class_name = targetObj.attr('className');
|
||||
|
|
@ -239,38 +249,6 @@ jQuery(function($) {
|
|||
}
|
||||
});
|
||||
|
||||
/*
|
||||
* jQuery 1.2.6
|
||||
* Opera 브라우저에서 $(window).height() / width() 값을 잘못 가져오는 문제 수정
|
||||
* jQuery 1.3에서 수정되었음
|
||||
* @link http://dev.jquery.com/changeset/5938
|
||||
*/
|
||||
if(jQuery.fn.jquery == '1.2.6') {
|
||||
jQuery.each([ "Height", "Width" ], function(i, name){
|
||||
var type = name.toLowerCase();
|
||||
|
||||
jQuery.fn[ type ] = function( size ) {
|
||||
return this[0] == window ?
|
||||
// Opera 브라우저에서 $(window).height() / width() 값을 잘못 가져오는 문제 수정
|
||||
jQuery.browser.opera && document.body.parentNode[ "client" + name ] ||
|
||||
|
||||
jQuery.browser.safari && window[ "inner" + name ] ||
|
||||
document.compatMode == "CSS1Compat" && document.documentElement[ "client" + name ] || document.body[ "client" + name ] :
|
||||
|
||||
this[0] == document ?
|
||||
Math.max(
|
||||
Math.max(document.body["scroll" + name], document.documentElement["scroll" + name]),
|
||||
Math.max(document.body["offset" + name], document.documentElement["offset" + name])
|
||||
) :
|
||||
|
||||
size == undefined ?
|
||||
(this.length ? jQuery.css( this[0], type ) : null) :
|
||||
this.css( type, size.constructor == String ? size : size + "px" );
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief location.href에서 특정 key의 값을 return
|
||||
|
|
@ -454,6 +432,10 @@ function move_url(url, open_wnidow) {
|
|||
* @brief 멀티미디어 출력용 (IE에서 플래쉬/동영상 주변에 점선 생김 방지용)
|
||||
**/
|
||||
function displayMultimedia(src, width, height, options) {
|
||||
var html = _displayMultimedia(src, width, height, options);
|
||||
if(html) document.writeln(html);
|
||||
}
|
||||
function _displayMultimedia(src, width, height, options) {
|
||||
if(src.indexOf('files') == 0) src = request_uri + src;
|
||||
|
||||
var defaults = {
|
||||
|
|
@ -472,7 +454,9 @@ function displayMultimedia(src, width, height, options) {
|
|||
var codebase = "";
|
||||
var html = "";
|
||||
|
||||
if(/\.swf$/i.test(src)) {
|
||||
if(/\.(gif|jpg|jpeg|bmp|png)$/i.test(src)){
|
||||
html = '<img src="'+src+'" width="'+width+'" height="'+height+'" />';
|
||||
} else if(/\.swf$/i.test(src)) {
|
||||
clsid = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';
|
||||
codebase = "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0";
|
||||
html = '<object classid="'+clsid+'" codebase="'+codebase+'" width="'+width+'" height="'+height+'" flashvars="'+params.flashvars+'">';
|
||||
|
|
@ -494,7 +478,7 @@ function displayMultimedia(src, width, height, options) {
|
|||
}
|
||||
html += '></embed>';
|
||||
}
|
||||
document.writeln(html);
|
||||
return html;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -516,37 +500,54 @@ function zbxe_folder_close(id) {
|
|||
* 팝업의 내용에 맞게 크기를 늘리는 것은... 쉽게 되지는 않음.. ㅡ.ㅜ
|
||||
* popup_layout 에서 window.onload 시 자동 요청됨.
|
||||
**/
|
||||
var _popupHeight = 0;
|
||||
function setFixedPopupSize() {
|
||||
var bodyObj = jQuery('#popBody');
|
||||
|
||||
if(bodyObj.length) {
|
||||
if(bodyObj.height() > 500) {
|
||||
bodyObj.css({ overflowY:'scroll', overflowX:'hidden', height:500 });
|
||||
if(bodyObj.height() > 400) {
|
||||
bodyObj.css({ overflowY:'scroll', overflowX:'hidden', height:400 });
|
||||
}
|
||||
}
|
||||
|
||||
var w = jQuery("#popup_content").width();
|
||||
w = w< 400 ? 400 : w;
|
||||
var h = jQuery("#popup_content").height();
|
||||
|
||||
jQuery('div').each(function() {
|
||||
var ww = jQuery(this).width();
|
||||
if(jQuery.inArray(this.id, ['waitingforserverresponse', 'fororiginalimagearea', 'fororiginalimageareabg']) == -1) {
|
||||
if(ww > w) w = ww;
|
||||
if(h != _popupHeight) {
|
||||
_popupHeight = h;
|
||||
|
||||
jQuery('div').each(function() { var ww = jQuery(this).width(); if(jQuery.inArray(this.id, ['waitingforserverresponse', 'fororiginalimagearea', 'fororiginalimageareabg']) == -1) { if(ww > w) w = ww; } });
|
||||
jQuery('table').each(function() { var ww = jQuery(this).width(); if(ww > w) w = ww; });
|
||||
jQuery('form').each(function() { var ww = jQuery(this).width(); if(ww > w) w = ww; });
|
||||
|
||||
jQuery("#popup_content").width(w-4);
|
||||
jQuery("#popHeader").width(w-4);
|
||||
jQuery("#popFooter").width(w-4);
|
||||
|
||||
window.resizeTo(w, h);
|
||||
|
||||
// 윈도우 OS에서는 브라우저별로 미세 조절이 필요
|
||||
var moreW = 0;
|
||||
if(navigator.userAgent.toLowerCase().indexOf('windows') > 0) {
|
||||
if(jQuery.browser.opera) moreW += 9;
|
||||
else if(jQuery.browser.msie) moreW += 10;
|
||||
else if(jQuery.browser.mozilla) moreW += 8;
|
||||
else if(jQuery.browser.safari) {
|
||||
moreW += 4;
|
||||
h -= 12;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 윈도우에서는 브라우저 상관없이 가로 픽셀이 조금 더 늘어나야 한다.
|
||||
if(navigator.userAgent.toLowerCase().indexOf('windows') > 0) {
|
||||
if(jQuery.browser.opera) w += 10;
|
||||
else if(jQuery.browser.msie) w += 10;
|
||||
else w += 6;
|
||||
var h1 = jQuery(window).height();
|
||||
if(!/chrome/.test(navigator.userAgent.toLowerCase())) {
|
||||
window.resizeBy(moreW, h-h1+5);
|
||||
} else {
|
||||
window.resizeBy(10,60);
|
||||
}
|
||||
window.scrollTo(0,0);
|
||||
}
|
||||
window.resizeTo(w, h);
|
||||
|
||||
var h1 = jQuery(window).height();
|
||||
window.resizeBy(0, h-h1);
|
||||
|
||||
window.scrollTo(0,0);
|
||||
setTimeout(setFixedPopupSize, 300);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -584,7 +585,7 @@ function doChangeLangType(obj) {
|
|||
function setLangType(lang_type) {
|
||||
var expire = new Date();
|
||||
expire.setTime(expire.getTime()+ (7000 * 24 * 3600000));
|
||||
xSetCookie('lang_type', lang_type, expire);
|
||||
xSetCookie('lang_type', lang_type, expire, '/');
|
||||
}
|
||||
|
||||
/* 미리보기 */
|
||||
|
|
@ -683,7 +684,7 @@ function callAddDocumentCart(document_length) {
|
|||
if(addedDocument.length<1 || document_length != addedDocument.length) return;
|
||||
var params = new Array();
|
||||
params["srls"] = addedDocument.join(",");
|
||||
exec_xml("document","procDocumentAdminAddCart", params, null);
|
||||
exec_xml("document","procDocumentAddCart", params, null);
|
||||
addedDocument = new Array();
|
||||
}
|
||||
|
||||
|
|
|
|||
43
common/js/jquery.js
vendored
43
common/js/jquery.js
vendored
File diff suppressed because one or more lines are too long
82
common/js/plugins/filebox/filebox.js
Normal file
82
common/js/plugins/filebox/filebox.js
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
|
||||
;(function($) {
|
||||
|
||||
var defaults = {
|
||||
};
|
||||
|
||||
var filebox = {
|
||||
selected : null,
|
||||
/**
|
||||
* 파일 박스 창 팝업
|
||||
*/
|
||||
open : function(input_obj, filter) {
|
||||
this.selected = input_obj;
|
||||
|
||||
var url = request_uri
|
||||
.setQuery('module', 'module')
|
||||
.setQuery('act', 'dispModuleFileBox')
|
||||
.setQuery('input', this.selected.name)
|
||||
.setQuery('filter', filter);
|
||||
|
||||
popopen(url, 'filebox');
|
||||
},
|
||||
|
||||
/**
|
||||
* 파일 선택
|
||||
*/
|
||||
selectFile : function(file_url, module_filebox_srl){
|
||||
var target = $(opener.XE.filebox.selected);
|
||||
var target_name = target.attr('name');
|
||||
|
||||
target.val(file_url);
|
||||
var html = _displayMultimedia(file_url, '100%', '100%');
|
||||
$('#filebox_preview_' + target_name, opener.document).html(html).show();
|
||||
$('#filebox_cancel_' + target_name, opener.document).show();
|
||||
|
||||
window.close();
|
||||
},
|
||||
|
||||
/**
|
||||
* 파일 선택 취소
|
||||
*/
|
||||
cancel : function(name) {
|
||||
$('[name=' + name + ']').val('');
|
||||
$('#filebox_preview_' + name).hide().html('');
|
||||
$('#filebox_cancel_' + name).hide();
|
||||
},
|
||||
|
||||
/**
|
||||
* 파일 삭제
|
||||
*/
|
||||
deleteFile : function(module_filebox_srl){
|
||||
var params = {
|
||||
'module_filebox_srl' : module_filebox_srl
|
||||
};
|
||||
|
||||
$.exec_json('module.procModuleFileBoxDelete', params, function() { document.location.reload(); });
|
||||
},
|
||||
|
||||
/**
|
||||
* 초기화
|
||||
*/
|
||||
init : function(name) {
|
||||
var file;
|
||||
|
||||
if(opener && opener.selectedWidget && opener.selectedWidget.getAttribute("widget")) {
|
||||
file = opener.selectedWidget.getAttribute(name);
|
||||
} else if($('[name=' + name + ']').val()) {
|
||||
file = $('[name=' + name + ']').val();
|
||||
}
|
||||
|
||||
if(file) {
|
||||
var html = _displayMultimedia(file, '100%', '100%');
|
||||
$('#filebox_preview_' + name).html(html).show();
|
||||
$('#filebox_cancel_' + name).show();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// XE에 담기
|
||||
$.extend(window.XE, {'filebox' : filebox});
|
||||
|
||||
}) (jQuery);
|
||||
1
common/js/plugins/filebox/plugin.load
Normal file
1
common/js/plugins/filebox/plugin.load
Normal file
|
|
@ -0,0 +1 @@
|
|||
filebox.js
|
||||
1
common/js/plugins/hotkeys/jquery.hotkeys-packed.js
Normal file
1
common/js/plugins/hotkeys/jquery.hotkeys-packed.js
Normal file
|
|
@ -0,0 +1 @@
|
|||
(function(B){B.fn.__bind__=B.fn.bind;B.fn.__unbind__=B.fn.unbind;B.fn.__find__=B.fn.find;var A={version:"0.7.8",override:/keydown|keypress|keyup/g,triggersMap:{},specialKeys:{27:"esc",9:"tab",32:"space",13:"return",8:"backspace",145:"scroll",20:"capslock",144:"numlock",19:"pause",45:"insert",36:"home",46:"del",35:"end",33:"pageup",34:"pagedown",37:"left",38:"up",39:"right",40:"down",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12"},shiftNums:{"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"},newTrigger:function(E,D,F){var C={};C[E]={};C[E][D]={cb:F,disableInInput:false};return C}};if(B.browser.mozilla){A.specialKeys=B.extend(A.specialKeys,{96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"})}B.fn.find=function(C){this.query=C;return B.fn.__find__.apply(this,arguments)};B.fn.unbind=function(H,E,G){if(B.isFunction(E)){G=E;E=null}if(E&&typeof E==="string"){var F=((this.prevObject&&this.prevObject.query)||(this[0].id&&this[0].id)||this[0]).toString();var D=H.split(" ");for(var C=0;C<D.length;C++){delete A.triggersMap[F][D[C]][E]}}return this.__unbind__(H,G)};B.fn.bind=function(J,F,K){var H=J.match(A.override);if(B.isFunction(F)||!H){return this.__bind__(J,F,K)}else{var N=null,I=B.trim(J.replace(A.override,""));if(I){N=this.__bind__(I,F,K)}if(typeof F==="string"){F={combi:F}}if(F.combi){for(var M=0;M<H.length;M++){var D=H[M];var G=F.combi.toLowerCase(),E=A.newTrigger(D,G,K),L=((this.prevObject&&this.prevObject.query)||(this[0].id&&this[0].id)||this[0]).toString();E[D][G].disableInInput=F.disableInInput;if(!A.triggersMap[L]){A.triggersMap[L]=E}else{if(!A.triggersMap[L][D]){A.triggersMap[L][D]=E[D]}}var C=A.triggersMap[L][D][G];if(!C){A.triggersMap[L][D][G]=[E[D][G]]}else{if(C.constructor!==Array){A.triggersMap[L][D][G]=[C]}else{A.triggersMap[L][D][G][C.length]=E[D][G]}}this.each(function(){var O=B(this);if(O.attr("hkId")&&O.attr("hkId")!==L){L=O.attr("hkId")+";"+L}O.attr("hkId",L)});N=this.__bind__(H.join(" "),F,A.handler)}}return N}};A.findElement=function(C){if(!B(C).attr("hkId")){if(B.browser.opera||B.browser.safari){while(!B(C).attr("hkId")&&C.parentNode){C=C.parentNode}}}return C};A.handler=function(E){var O=A.findElement(E.currentTarget),I=B(O),D=I.attr("hkId");if(D){D=D.split(";");var G=E.which,Q=E.type,P=A.specialKeys[G],N=!P&&String.fromCharCode(G).toLowerCase(),H=E.shiftKey,C=E.ctrlKey,M=E.altKey||E.originalEvent.altKey,F=null;for(var R=0;R<D.length;R++){if(A.triggersMap[D[R]][Q]){F=A.triggersMap[D[R]][Q];break}}if(F){var J;if(!H&&!C&&!M){J=F[P]||(N&&F[N])}else{var L="";if(M){L+="alt+"}if(C){L+="ctrl+"}if(H){L+="shift+"}J=F[L+P];if(!J){if(N){J=F[L+N]||F[L+A.shiftNums[N]]||(L==="shift+"&&F[A.shiftNums[N]])}}}if(J){var S=false;for(var R=0;R<J.length;R++){if(J[R].disableInInput){var K=B(E.target);if(I.is("input")||I.is("textarea")||K.is("input")||K.is("textarea")){return true}}S=S||J[R].cb.apply(this,[E])}return S}}}};window.hotkeys=A;return B})(jQuery);
|
||||
1
common/js/plugins/hotkeys/plugin.load
Normal file
1
common/js/plugins/hotkeys/plugin.load
Normal file
|
|
@ -0,0 +1 @@
|
|||
jquery.hotkeys-packed.js
|
||||
103
common/js/plugins/ui.colorpicker/css/iepngfix.htc
Normal file
103
common/js/plugins/ui.colorpicker/css/iepngfix.htc
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
<public:component>
|
||||
<public:attach event="onpropertychange" onevent="iePNGFix(0)" />
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
// IE5.5+ PNG Alpha Fix v1.0
|
||||
// (c) 2004-2008 Angus Turnbull http://www.twinhelix.com
|
||||
|
||||
// This is licensed under the GNU LGPL, version 2.1 or later.
|
||||
// For details, see: http://creativecommons.org/licenses/LGPL/2.1/
|
||||
|
||||
|
||||
// This must be a path to a blank image, relative to the HTML document(s).
|
||||
// In production use I suggest '/images/blank.gif' or similar. That's all!
|
||||
if (typeof blankImg == 'undefined') var blankImg = 'blank.gif';
|
||||
|
||||
|
||||
|
||||
function filt(s, b)
|
||||
{
|
||||
var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
|
||||
var sM = (currentStyle.backgroundRepeat == 'no-repeat') ? 'crop' : 'scale';
|
||||
s = (s || '').replace(/\(/g, '%28').replace(/\)/g, '%29');
|
||||
|
||||
if (s && !(/IMG|INPUT/.test(nodeName) && !b) &&
|
||||
currentStyle.width == 'auto' && currentStyle.height == 'auto')
|
||||
{
|
||||
style.width = offsetWidth + 'px';
|
||||
style.height = clientHeight + 'px';
|
||||
if (currentStyle.display == 'inline') style.display = 'inline-block';
|
||||
}
|
||||
|
||||
if (filters[f])
|
||||
{
|
||||
filters[f].enabled = s ? true : false;
|
||||
if (s) with (filters[f]) { src = s }
|
||||
}
|
||||
else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="' + sM + '")';
|
||||
}
|
||||
|
||||
function iePNGFix(init)
|
||||
{
|
||||
if (!/MSIE (5\.5|6)/.test(navigator.userAgent) || typeof filters == 'unknown') return;
|
||||
var evt = init ? { propertyName: 'src,background' } : event;
|
||||
var isSrc = /src/.test(evt.propertyName);
|
||||
var isBg = /background/.test(evt.propertyName);
|
||||
var isClass = !init &&
|
||||
((this.className != this._png_class) && (this.className || this._png_class));
|
||||
if (!(isSrc || isBg || isClass)) return;
|
||||
this._png_class = this.className;
|
||||
var blank = blankImg.match(/([^\/]+)$/)[1];
|
||||
|
||||
// Required for Whatever:hover support - erase any set BG if className changes.
|
||||
if (isClass && ((style.backgroundImage.indexOf('url(') == -1) ||
|
||||
(style.backgroundImage.indexOf(blank) > -1)))
|
||||
{
|
||||
setTimeout(function() { this.style.backgroundImage = '' }, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (isSrc && this.src && /IMG|INPUT/.test(nodeName))
|
||||
{
|
||||
if ((/\.png/i).test(src))
|
||||
{
|
||||
filt(src, 1);
|
||||
src = blankImg;
|
||||
}
|
||||
else if (src.indexOf(blank) == -1) filt();
|
||||
}
|
||||
|
||||
var bgSrc = currentStyle.backgroundImage || style.backgroundImage;
|
||||
if ((bgSrc + this.src).indexOf(blank) == -1)
|
||||
{
|
||||
var bgPNG = bgSrc.match(/^url[("']+(.*\.png[^\)"']*)[\)"']+[^\)]*$/i);
|
||||
|
||||
if (bgPNG)
|
||||
{
|
||||
style.backgroundImage = 'url("' + blankImg + '")';
|
||||
filt(bgPNG[1], 0);
|
||||
// Unclickable elements inside PNG backgrounds.
|
||||
var tags = ['a', 'input', 'select', 'textarea', 'iframe', 'object'],
|
||||
t = tags.length, tFix = [];
|
||||
while (t--)
|
||||
{
|
||||
var elms = all.tags(tags[t]), e = elms.length;
|
||||
while (e--) tFix.push(elms[e]);
|
||||
}
|
||||
var t = tFix.length;
|
||||
if (t && (/relative|absolute/i).test(currentStyle.position))
|
||||
alert('IEPNGFix: Children of positioned element are unclickable:\n\n<' +
|
||||
nodeName + (id && ' id=' + id) + '>');
|
||||
while (t--)
|
||||
if (!(/relative|absolute/i).test(tFix[t].currentStyle.position))
|
||||
tFix[t].style.position = 'relative';
|
||||
}
|
||||
else filt();
|
||||
}
|
||||
}
|
||||
|
||||
iePNGFix(1);
|
||||
|
||||
</script>
|
||||
</public:component>
|
||||
79
common/js/plugins/ui.colorpicker/css/xe_colorpicker.css
Normal file
79
common/js/plugins/ui.colorpicker/css/xe_colorpicker.css
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
.colorpicker img, .colorpicker div {
|
||||
behavior: url(iepngfix.htc);
|
||||
}
|
||||
|
||||
|
||||
.xe_colorpicker {
|
||||
position:absolute;
|
||||
width:194px;
|
||||
height:183px;
|
||||
overflow:hidden;
|
||||
z-index:100;
|
||||
}
|
||||
|
||||
.xe_colorpicker .colorpicker {
|
||||
position:relative;
|
||||
width:192px;
|
||||
height:160px;
|
||||
background-color:white;
|
||||
border:1px solid silver;
|
||||
}
|
||||
|
||||
.xe_colorpicker .colortable {
|
||||
position:absolute;
|
||||
left : 4px;
|
||||
top : 4px;
|
||||
border:1px solid #909090;
|
||||
}
|
||||
|
||||
.xe_colorpicker .colortable .background {
|
||||
position:relative;
|
||||
width:150px;
|
||||
height:150px;
|
||||
background:url(../images/colorpicker_overlay.png) no-repeat;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.xe_colorpicker .colortable .indicator {
|
||||
position:absolute;
|
||||
width:11px;
|
||||
height:11px;
|
||||
background:url(../images/colorpicker_select.gif) no-repeat;
|
||||
}
|
||||
|
||||
.xe_colorpicker .huebar {
|
||||
position:absolute;
|
||||
right : 4px;
|
||||
top : 4px;
|
||||
border:1px solid #909090;
|
||||
}
|
||||
|
||||
.xe_colorpicker .huebar .background {
|
||||
width:20px;
|
||||
height:150px;
|
||||
background:url(../images/colorpicker_huebg.png) repeat-x;
|
||||
}
|
||||
|
||||
.xe_colorpicker .huebar .indicator {
|
||||
position:absolute;
|
||||
width:35px;
|
||||
height:9px;
|
||||
left:-3px;
|
||||
background:transparent url(../images/colorpicker_indic.gif) no-repeat;
|
||||
}
|
||||
|
||||
.xe_colorpicker .buttons {
|
||||
position:absolute;
|
||||
width:194px;
|
||||
background-color:black;
|
||||
}
|
||||
|
||||
.xe_colorpicker .buttons button {
|
||||
width:33%;
|
||||
color:white;
|
||||
height:22px;
|
||||
border:0;
|
||||
background-color:transparent;
|
||||
padding:0;
|
||||
margin:0;
|
||||
}
|
||||
BIN
common/js/plugins/ui.colorpicker/images/colorpicker_huebg.png
Normal file
BIN
common/js/plugins/ui.colorpicker/images/colorpicker_huebg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 230 B |
BIN
common/js/plugins/ui.colorpicker/images/colorpicker_indic.gif
Normal file
BIN
common/js/plugins/ui.colorpicker/images/colorpicker_indic.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 86 B |
BIN
common/js/plugins/ui.colorpicker/images/colorpicker_overlay.png
Normal file
BIN
common/js/plugins/ui.colorpicker/images/colorpicker_overlay.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
BIN
common/js/plugins/ui.colorpicker/images/colorpicker_select.gif
Normal file
BIN
common/js/plugins/ui.colorpicker/images/colorpicker_select.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 78 B |
2
common/js/plugins/ui.colorpicker/plugin.load
Normal file
2
common/js/plugins/ui.colorpicker/plugin.load
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
css/xe_colorpicker.css
|
||||
xe_colorpicker.js
|
||||
366
common/js/plugins/ui.colorpicker/xe_colorpicker.js
Normal file
366
common/js/plugins/ui.colorpicker/xe_colorpicker.js
Normal file
|
|
@ -0,0 +1,366 @@
|
|||
/**
|
||||
* @brief XE Colorpicker
|
||||
* @author mygony (http://mygony.com)
|
||||
**/
|
||||
jQuery(function($){
|
||||
var ready = false;
|
||||
var tmp = $('<span>').hide();
|
||||
// var panel = null;
|
||||
|
||||
$.fn.xe_colorpicker = function(settings){
|
||||
var selection = this;
|
||||
|
||||
if (!ready) {
|
||||
ColorPicker.init(settings);
|
||||
ready = true;
|
||||
}
|
||||
|
||||
this.each(function(){
|
||||
var col = color($(this).val());
|
||||
|
||||
$(this).val( col ).css('background-color', col );
|
||||
setTextColor( $(this) );
|
||||
}).focus(function(event){
|
||||
var t = this;
|
||||
$(this).select();
|
||||
|
||||
// show color picker
|
||||
ColorPicker.show(this);
|
||||
}).keypress(function(event){
|
||||
if (!ColorPicker.is(':visible')) return;
|
||||
|
||||
if (/^#?[0-9a-f]{6}$/i.test( event.target.value )) {
|
||||
ColorPicker.color( event.target.value );
|
||||
}
|
||||
});
|
||||
|
||||
$(document).mousedown(function(event){
|
||||
var target = event.target;
|
||||
|
||||
if (selection.index(target) > -1) return;
|
||||
if ($(target).parents().add(target).index(ColorPicker.element) > -1) return;
|
||||
if ($(target).parents().add(target).index(ColorPicker.buttons) > -1) return;
|
||||
|
||||
ColorPicker.hide();
|
||||
});
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
var ColorPicker = {
|
||||
element : null,
|
||||
picker : null,
|
||||
colpane: null,
|
||||
buttons : null,
|
||||
_target : null,
|
||||
_backup : null,
|
||||
_hsv : null,
|
||||
_mode : 'none',
|
||||
|
||||
init : function() {
|
||||
var cp = this;
|
||||
|
||||
this.element = $('<div class="xe_colorpicker"><div class="colorpicker"><div class="colortable"><div class="background"><div class="indicator"></div></div></div><div class="huebar"><div class="background"><div class="indicator"></div></div></div></div><div class="buttons"><button type="button" class="ok">OK</button><button type="button" class="cancel">Cancel</button><button type="button" class="none">None</button></div></div>');
|
||||
|
||||
this.picker = this.element.find('> div.colorpicker');
|
||||
this.colpane = this.picker.find('div.colortable > div.background');
|
||||
this.colpoint = this.colpane.find('> .indicator');
|
||||
this.buttons = this.element.find('> div.buttons');
|
||||
this.huepane = this.element.find('div.huebar > .background');
|
||||
this.huepoint = this.huepane.find('> .indicator');
|
||||
|
||||
this._mousedown = method(this.onmousedown, this);
|
||||
this._mousemove = method(this.onmousemove, this);
|
||||
this._mouseup = method(this.onmouseup, this);
|
||||
|
||||
this.picker.find('.background').mousedown(this._mousedown);
|
||||
|
||||
this.buttons.find('button.ok').click(method(this.ok,this));
|
||||
this.buttons.find('button.cancel').click(method(this.cancel,this));
|
||||
this.buttons.find('button.none').click(method(this.none,this));
|
||||
|
||||
// only for IE6
|
||||
if ($.browser.msie && parseInt($.browser.version) < 7) {
|
||||
this.element.append( $('<iframe>').css({position:'absolute','z-index':-1,left:0,top:0,width:9999,height:9999}) );
|
||||
}
|
||||
},
|
||||
show : function(input) {
|
||||
var pos = (input=$(input)).offset(), pos_panel;
|
||||
//var par = input.get(0).offsetParent;
|
||||
var par = $("body").get(0);
|
||||
var btn = this.buttons.hide();
|
||||
var col = color(input.val());
|
||||
|
||||
this._target = input;
|
||||
this._backup = col;
|
||||
|
||||
this.color(col);
|
||||
this._target.val(col);
|
||||
|
||||
pos_panel = this.element.hide().css({'z-index':99999,left:0,top:0}).appendTo( par ).show(300,function(){btn.slideDown(150)}).offset();
|
||||
this.element.css({left:pos.left-pos_panel.left,top:pos.top-pos_panel.top+input.get(0).offsetHeight});
|
||||
},
|
||||
hide : function() {
|
||||
var e = this.element;
|
||||
|
||||
this._target = null;
|
||||
this.buttons.slideUp(100, function(){e.hide(200)});
|
||||
},
|
||||
visible : function() {
|
||||
return this.element.is(':visible');
|
||||
},
|
||||
color : function(sColor) {
|
||||
if (typeof sColor == 'string') {
|
||||
var col = color(sColor);
|
||||
var hsv = _hsv(rgb2hsv(hex2rgb(col)));
|
||||
|
||||
this.hsv(hsv.h, hsv.s, hsv.v);
|
||||
} else if (this._target) {
|
||||
return color(this._target.val());
|
||||
}
|
||||
},
|
||||
hsv : function(h, s, v) {
|
||||
var col = rgb2hex(hsv2rgb(h, s, v));
|
||||
|
||||
this._hsv = _hsv(h, s, v);
|
||||
|
||||
// background color and text color
|
||||
this._target.val(col).css('background-color', col);
|
||||
setTextColor(this._target);
|
||||
|
||||
// hue bar indicator
|
||||
if (this._hue_h) this.huepoint.css('top', limit(0, Math.round((360-this._hsv.h)/360*this._hue_h), this._hue_h-1) - 3 );
|
||||
|
||||
// color - background
|
||||
this.colpane.css('background-color', rgb2hex(hsv2rgb(h, 100, 100)) );
|
||||
|
||||
// color - indicator
|
||||
if (this._col_h && this._col_w) {
|
||||
this.colpoint.css({
|
||||
top : limit(0, Math.round((100-this._hsv.v)/100*this._col_h), this._col_h-1) - 5,
|
||||
left : limit(0, Math.round(this._hsv.s/100*this._col_w), this._col_w-1 ) - 5
|
||||
});
|
||||
}
|
||||
},
|
||||
onmousedown : function(event) {
|
||||
var cur = $(event.target);
|
||||
var par = cur.parent();
|
||||
var pos = cur.offset();
|
||||
var hue, sat, val; // hue, saturation, value
|
||||
|
||||
this._height = cur.height();
|
||||
this._width = cur.width();
|
||||
this._top = pos.top;
|
||||
this._left = pos.left;
|
||||
|
||||
this._col_w = this.colpane.width();
|
||||
this._col_h = this.colpane.width();
|
||||
this._hue_h = this.huepane.height();
|
||||
|
||||
if (par.is('.colortable')) {
|
||||
this._mode = 'color';
|
||||
hue = this._hsv.h;
|
||||
sat = ( limit(0, (event.pageX - this._left), this._width ) / this._width * 100);
|
||||
val = ( limit(0, (this._height - event.pageY + this._top), this._height ) / this._height * 100);
|
||||
} else if (par.is('.huebar')) {
|
||||
this._mode = 'hue';
|
||||
hue = limit(0, (this._height - event.pageY + this._top), this._height) / this._height * 360;
|
||||
sat = this._hsv.s;
|
||||
val = this._hsv.v;
|
||||
}
|
||||
|
||||
this.hsv( hue, sat, val );
|
||||
|
||||
$(document).bind('mousemove', this._mousemove).bind('mouseup', this._mouseup);
|
||||
},
|
||||
onmousemove : function(event) {
|
||||
var hue, sat, val; // hue, saturation, value
|
||||
|
||||
switch(this._mode) {
|
||||
case 'color':
|
||||
hue = this._hsv.h;
|
||||
sat = ( limit(0, (event.pageX - this._left), this._width ) / this._width * 100);
|
||||
val = ( limit(0, (this._height - event.pageY + this._top), this._height ) / this._height * 100);
|
||||
break;
|
||||
case 'hue':
|
||||
hue = limit(0, (this._height - event.pageY + this._top), this._height) / this._height * 360;
|
||||
sat = this._hsv.s;
|
||||
val = this._hsv.v;
|
||||
break;
|
||||
}
|
||||
|
||||
this.hsv( hue, sat, val );
|
||||
},
|
||||
onmouseup : function(event) {
|
||||
this._mode = 'none';
|
||||
$(document).unbind('mousemove', this._mousemove).unbind('mouseup', this._mouseup);
|
||||
},
|
||||
ok : function() {
|
||||
this.hide();
|
||||
},
|
||||
cancel : function() {
|
||||
this.color(this._backup);
|
||||
this.hide();
|
||||
},
|
||||
none : function() {
|
||||
this._target.attr('value','transparent');
|
||||
this.hide();
|
||||
}
|
||||
};
|
||||
|
||||
function setTextColor(input) {
|
||||
var hex = input.css('color', '').val(), hsv, rgb;
|
||||
|
||||
if (hex == 'transparent' || hex == '') return;
|
||||
|
||||
rgb = hex2rgb(hex);
|
||||
hsv = rgb2hsv(255-rgb.r, 255-rgb.g, 255-rgb.b); // 보색을 구한 뒤
|
||||
hex = rgb2hex(hsv2rgb(0, 0, hsv.v>50?100:0)); // 보색에 해당하는 흑백으로 결정
|
||||
|
||||
input.css('color', hex);
|
||||
}
|
||||
|
||||
function method(func, thisObj) {
|
||||
return function() { return func.apply(thisObj, arguments) }
|
||||
}
|
||||
|
||||
function color(str) {
|
||||
var col = $.trim(str);
|
||||
var regHex1 = /^#[0-9a-f]{6}$/i;
|
||||
var regHex2 = /^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i; // short hex
|
||||
|
||||
if (regHex1.test(col)) return col.toUpperCase();
|
||||
if (regHex2.test(col)) return col.replace(regHex2, '#$1$1$2$2$3$3').toUpperCase();
|
||||
|
||||
try {
|
||||
col = tmp.appendTo($('<body>')).css('background-color', col).css('background-color');
|
||||
} catch(e) {
|
||||
col = '#FFFFFF';
|
||||
} finally {
|
||||
tmp.css('background-color','').remove();
|
||||
}
|
||||
|
||||
if (/^rgb\(([0-9, ]+)\)$/i.test(col)) col = rgb2hex(RegExp.$1.split(/,\s*/));
|
||||
if (!/#[0-9a-f]{6}/i.test(col)) col = '#FFFFFF';
|
||||
|
||||
return col;
|
||||
}
|
||||
|
||||
function _rgb(rgb, _g, _b) {
|
||||
var r, g, b;
|
||||
|
||||
if (typeof arguments[2] == "number") {
|
||||
r = rgb;
|
||||
g = _g;
|
||||
b = _b;
|
||||
} else if (typeof rgb == "object") {
|
||||
if (rgb.constructor == Array) {
|
||||
r = rgb[0] || 0; g = rgb[1] || 0; b = rgb[2] || 0;
|
||||
} else {
|
||||
r = rgb.r || 0; g = rgb.g || 0; b = rgb.b || 0;
|
||||
}
|
||||
}
|
||||
|
||||
rgb = [];
|
||||
|
||||
rgb.r = rgb[0] = r = parseInt(r, 10);
|
||||
rgb.g = rgb[1] = g = parseInt(g, 10);
|
||||
rgb.b = rgb[2] = b = parseInt(b, 10);
|
||||
|
||||
return rgb;
|
||||
}
|
||||
|
||||
function _hsv(hsv, _s, _v) {
|
||||
var h, s, v;
|
||||
|
||||
if (typeof arguments[2] == "number") {
|
||||
h = hsv; s = _s; v = _v;
|
||||
} else if (typeof hsv == "object") {
|
||||
if (hsv.constructor == Array) {
|
||||
h = hsv[0] || 0; s = hsv[1] || 0; v = hsv[2] || 0;
|
||||
} else {
|
||||
h = hsv.h || 0; s = hsv.s || 0; v = hsv.v || 0;
|
||||
}
|
||||
}
|
||||
|
||||
hsv = [];
|
||||
|
||||
hsv.h = hsv[0] = h = parseInt(h, 10);
|
||||
hsv.s = hsv[1] = s = parseInt(s, 10);
|
||||
hsv.v = hsv[2] = v = parseInt(v, 10);
|
||||
|
||||
return hsv;
|
||||
}
|
||||
|
||||
function rgb2hex(rgb, _g, _b) {
|
||||
var rgb = _rgb(rgb, _g, _b);
|
||||
|
||||
for(var i=0; i < rgb.length; i++) {
|
||||
(rgb[i] = Number(rgb[i]).toString(16)).length<2?rgb[i]='0'+rgb[i]:0;
|
||||
}
|
||||
|
||||
return '#'+rgb.join('').toUpperCase();
|
||||
}
|
||||
|
||||
function hex2rgb(hex) {
|
||||
var r=0, g=0, b=0;
|
||||
|
||||
if (/^#?([0-9a-f]{1,2})([0-9a-f]{1,2})([0-9a-f]{1,2})$/i.test(hex)) {
|
||||
r = parseInt(RegExp.$1, 16);
|
||||
g = parseInt(RegExp.$2, 16);
|
||||
b = parseInt(RegExp.$3, 16);
|
||||
}
|
||||
|
||||
return _rgb(r, g, b);
|
||||
}
|
||||
|
||||
function hsv2rgb(hsv, _s, _v) {
|
||||
var r=0, g=0, b=0;
|
||||
var h=0, s=0, v=0;
|
||||
var i, f, p, q, t;
|
||||
|
||||
hsv = _hsv(hsv, _s, _v);
|
||||
|
||||
h = (hsv[0] % 360) / 60; s = hsv[1] / 100; v = hsv[2] / 100;
|
||||
|
||||
i = Math.floor(h);
|
||||
f = h-i;
|
||||
p = v*(1-s);
|
||||
q = v*(1-s*f);
|
||||
t = v*(1-s*(1-f));
|
||||
|
||||
switch (i) {
|
||||
case 0: r=v; g=t; b=p; break;
|
||||
case 1: r=q; g=v; b=p; break;
|
||||
case 2: r=p; g=v; b=t; break;
|
||||
case 3: r=p; g=q; b=v; break;
|
||||
case 4: r=t; g=p; b=v; break;
|
||||
case 5: r=v; g=p; b=q; break;
|
||||
case 6: break;
|
||||
}
|
||||
|
||||
return _rgb(Math.floor(r*255), Math.floor(g*255), Math.floor(b*255));
|
||||
}
|
||||
|
||||
function rgb2hsv(rgb, _g, _b) {
|
||||
var rgb = _rgb(rgb, _g, _b);
|
||||
var r = rgb[0], g = rgb[1], b = rgb[2];
|
||||
var h = 0, s = 0, v = Math.max(r,g,b), min = Math.min(r,g,b), delta = v - min;
|
||||
|
||||
if (s = v?delta/v:0) {
|
||||
if (r == v) h = 60 * (g - b) / delta;
|
||||
else if (g == v) h = 120 + 60 * (b - r) / delta;
|
||||
else if (b == v) h = 240 + 60 * (r - g) / delta;
|
||||
|
||||
if (h < 0) h += 360;
|
||||
}
|
||||
|
||||
return _hsv(Math.floor(h), Math.floor(s*100), Math.floor(v/255*100));
|
||||
}
|
||||
|
||||
function limit(min, val, max){
|
||||
return Math.min(Math.max(min, val), max);
|
||||
}
|
||||
|
||||
$('input.color-indicator').xe_colorpicker();
|
||||
});
|
||||
119
common/js/plugins/ui.krzip/krzip_search.js
Normal file
119
common/js/plugins/ui.krzip/krzip_search.js
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
function doSearchKrZip(obj, column_name) {
|
||||
var fo_obj = obj;
|
||||
while(fo_obj) {
|
||||
if(fo_obj.nodeName == 'FORM') break;
|
||||
fo_obj = fo_obj.parentNode;
|
||||
}
|
||||
if(fo_obj.nodeName != 'FORM') return;
|
||||
|
||||
var field_obj = fo_obj['addr_search_'+column_name];
|
||||
if(!field_obj) return;
|
||||
|
||||
var addr = field_obj.value;
|
||||
if(!addr) return;
|
||||
|
||||
var params = new Array();
|
||||
params['addr'] = addr;
|
||||
params['column_name'] = column_name;
|
||||
var response_tags = new Array('error','message','address_list');
|
||||
exec_xml('krzip', 'getKrzipCodeList', params, completeSearchKrZip, response_tags, params, fo_obj);
|
||||
}
|
||||
|
||||
function completeSearchKrZip(ret_obj, response_tags, callback_args, fo_obj) {
|
||||
if(!ret_obj['address_list']) {
|
||||
alert(alert_msg['address']);
|
||||
return;
|
||||
}
|
||||
var address_list = ret_obj['address_list'].split("\n");
|
||||
var column_name = callback_args['column_name'];
|
||||
|
||||
var zone_list_obj = xGetElementById('addr_list_'+column_name);
|
||||
if(!zone_list_obj) return;
|
||||
|
||||
var zone_search_obj = xGetElementById('addr_search_'+column_name);
|
||||
if(!zone_search_obj) return;
|
||||
|
||||
var sel_obj = fo_obj['addr_list_'+column_name];
|
||||
if(!sel_obj) return;
|
||||
|
||||
for(var i=0;i<sel_obj.length;i++) {
|
||||
sel_obj.remove(0);
|
||||
}
|
||||
for(var i=0;i<address_list.length;i++) {
|
||||
if(!address_list[i]) continue;
|
||||
var opt = new Option(address_list[i],address_list[i],false,false);
|
||||
sel_obj.options[sel_obj.options.length] = opt;
|
||||
}
|
||||
|
||||
sel_obj.selectedIndex = 0;
|
||||
|
||||
zone_search_obj.style.display = 'none';
|
||||
zone_list_obj.style.display = 'block';
|
||||
}
|
||||
|
||||
function doHideKrZipList(obj, column_name) {
|
||||
var fo_obj = obj;
|
||||
while(fo_obj) {
|
||||
if(fo_obj.nodeName == 'FORM') break;
|
||||
fo_obj = fo_obj.parentNode;
|
||||
}
|
||||
|
||||
if(fo_obj.nodeName != 'FORM') return;
|
||||
|
||||
var zone_list_obj = xGetElementById('addr_list_'+column_name);
|
||||
if(!zone_list_obj) return;
|
||||
|
||||
var zone_search_obj = xGetElementById('addr_search_'+column_name);
|
||||
if(!zone_search_obj) return;
|
||||
|
||||
zone_list_obj.style.display = 'none';
|
||||
zone_search_obj.style.display = 'block';
|
||||
|
||||
fo_obj['addr_search_'+column_name].focus();
|
||||
}
|
||||
|
||||
function doSelectKrZip(obj, column_name) {
|
||||
var fo_obj = obj;
|
||||
while(fo_obj) {
|
||||
if(fo_obj.nodeName == 'FORM') break;
|
||||
fo_obj = fo_obj.parentNode;
|
||||
}
|
||||
|
||||
if(fo_obj.nodeName != 'FORM') return;
|
||||
|
||||
var zone_list_obj = xGetElementById('addr_list_'+column_name);
|
||||
if(!zone_list_obj) return;
|
||||
|
||||
var zone_search_obj = xGetElementById('addr_search_'+column_name);
|
||||
if(!zone_search_obj) return;
|
||||
|
||||
var zone_searched_obj = xGetElementById('addr_searched_'+column_name);
|
||||
if(!zone_searched_obj) return;
|
||||
|
||||
var sel_obj = fo_obj['addr_list_'+column_name];
|
||||
if(!sel_obj) return;
|
||||
|
||||
var address = sel_obj.options[sel_obj.selectedIndex].value;
|
||||
fo_obj[column_name][0].value = address;
|
||||
|
||||
zone_searched_obj.style.display = 'block';
|
||||
zone_list_obj.style.display = 'none';
|
||||
zone_search_obj.style.display = 'none';
|
||||
|
||||
fo_obj[column_name][1].focus();
|
||||
}
|
||||
|
||||
function doShowKrZipSearch(obj, column_name) {
|
||||
var zone_list_obj = xGetElementById('addr_list_'+column_name);
|
||||
if(!zone_list_obj) return;
|
||||
|
||||
var zone_search_obj = xGetElementById('addr_search_'+column_name);
|
||||
if(!zone_search_obj) return;
|
||||
|
||||
var zone_searched_obj = xGetElementById('addr_searched_'+column_name);
|
||||
if(!zone_searched_obj) return;
|
||||
|
||||
zone_searched_obj.style.display = 'none';
|
||||
zone_list_obj.style.display = 'none';
|
||||
zone_search_obj.style.display = 'block';
|
||||
}
|
||||
1
common/js/plugins/ui.krzip/plugin.load
Normal file
1
common/js/plugins/ui.krzip/plugin.load
Normal file
|
|
@ -0,0 +1 @@
|
|||
krzip_search.js
|
||||
|
|
@ -26,6 +26,14 @@ function exec_xml(module, act, params, callback_func, response_tags, callback_fu
|
|||
|
||||
// 결과 처리 후 callback_func에 넘겨줌
|
||||
function xml_response_filter(oXml, callback_func, response_tags, callback_func_arg, fo_obj) {
|
||||
var text = oXml.getResponseText();
|
||||
if(text && !/^<response>/i.test(text)) {
|
||||
var waiting_obj = xGetElementById("waitingforserverresponse");
|
||||
if(waiting_obj) waiting_obj.style.visibility = "hidden";
|
||||
alert(text);
|
||||
return null;
|
||||
}
|
||||
|
||||
var xmlDoc = oXml.getResponseXml();
|
||||
if(!xmlDoc) return null;
|
||||
|
||||
|
|
@ -64,6 +72,7 @@ function xml_handler() {
|
|||
this.setPath = xml_handlerSetPath;
|
||||
this.addParam = xml_handlerAddParam;
|
||||
this.getResponseXml = xml_handlerGetResponseXML;
|
||||
this.getResponseText = xml_handlerGetResponseText;
|
||||
this.toZMsgObject = xml_handlerToZMsgObject;
|
||||
this.parseXMLDoc = xml_parseXmlDoc;
|
||||
|
||||
|
|
@ -160,6 +169,13 @@ function xml_handlerGetResponseXML() {
|
|||
return null;
|
||||
}
|
||||
|
||||
function xml_handlerGetResponseText() {
|
||||
if(this.objXmlHttp && this.objXmlHttp.readyState == 4 && isDef(this.objXmlHttp.responseText)) {
|
||||
return this.objXmlHttp.responseText;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
function xml_parseXmlDoc(dom) {
|
||||
|
||||
|
|
@ -217,6 +233,17 @@ function xml_handlerToZMsgObject(xmlDoc, tags) {
|
|||
|
||||
var parsed_array = this.parseXMLDoc(xmlDoc.getElementsByTagName('response')[0]);
|
||||
|
||||
if(typeof(parsed_array)=='undefined') {
|
||||
var ret = new Array();
|
||||
ret['error'] = -1;
|
||||
ret['message'] = "Unexpected error occured.";
|
||||
try{
|
||||
if(typeof(xmlDoc.childNodes[0].firstChild.data)!='undefined') ret['message']+="\r\n"+xmlDoc.childNodes[0].firstChild.data;
|
||||
} catch(e) {
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
var obj_ret = new Array();
|
||||
for(var i=0; i<tags.length; i++) {
|
||||
var key = tags[i];
|
||||
|
|
@ -417,7 +444,7 @@ $.exec_json = function(action,data,func){
|
|||
}
|
||||
};
|
||||
|
||||
$.fn.exec_html = function(action,data,type){
|
||||
$.fn.exec_html = function(action,data,type,func,args){
|
||||
if(typeof(data) == 'undefined') data = {};
|
||||
if(!$.inArray(type, ['html','append','prepend'])) type = 'html';
|
||||
|
||||
|
|
@ -437,6 +464,7 @@ $.fn.exec_html = function(action,data,type){
|
|||
,success : function(html){
|
||||
$("#waitingforserverresponse").css('visibility','hidden');
|
||||
self[type](html);
|
||||
if($.isFunction(func)) func(args);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@
|
|||
$lang->secret = 'Secret';
|
||||
$lang->category = $lang->category_srl = 'Category';
|
||||
$lang->none_category = 'None category';
|
||||
$lang->none_image = '이미지 없음';
|
||||
$lang->document_srl = 'Doc. No.';
|
||||
$lang->user_id = 'User ID';
|
||||
$lang->author = 'Developer';
|
||||
|
|
@ -117,6 +118,7 @@
|
|||
$lang->order_type = 'Sorting Type';
|
||||
$lang->order_asc = 'ascend';
|
||||
$lang->order_desc = 'descend';
|
||||
$lang->file = 'file';
|
||||
|
||||
$lang->mid = 'Module Name';
|
||||
$lang->layout = 'Layout';
|
||||
|
|
@ -256,6 +258,7 @@
|
|||
$lang->column_type_list['textarea'] = 'multi-line textarea';
|
||||
$lang->column_type_list['checkbox'] = 'checkbox (multiple selection)';
|
||||
$lang->column_type_list['select'] = 'select box (single selection)';
|
||||
$lang->column_type_list['radio'] = 'radio button (radio)';
|
||||
$lang->column_type_list['kr_zip'] = 'zip code (Korean)';
|
||||
$lang->column_type_list['date'] = 'date (yyyy/mm/dd)';
|
||||
//$lang->column_type_list['jp_zip'] = 'zip code (Japanese)';
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@
|
|||
$lang->secret = 'Secreto';
|
||||
$lang->category = $lang->category_srl = 'Categoría';
|
||||
$lang->none_category = 'Sin categoría';
|
||||
$lang->none_image = '이미지 없음';
|
||||
$lang->document_srl = 'Número del documento';
|
||||
$lang->user_id = 'ID de Usuario';
|
||||
$lang->author = 'Autor';
|
||||
|
|
@ -116,6 +117,7 @@
|
|||
$lang->order_type = 'Tipo de Ordenación';
|
||||
$lang->order_asc = 'ascendente';
|
||||
$lang->order_desc = 'descendente';
|
||||
$lang->file = 'file';
|
||||
|
||||
$lang->mid = 'ID del Módulo';
|
||||
$lang->layout = 'Composición';
|
||||
|
|
@ -262,6 +264,7 @@
|
|||
$lang->column_type_list['textarea'] = 'Texto multi-linea';
|
||||
$lang->column_type_list['checkbox'] = 'Caja de chequeo (selección múltiple)';
|
||||
$lang->column_type_list['select'] = 'Selección (selección individual)';
|
||||
$lang->column_type_list['radio'] = 'radio button (radio)';
|
||||
//$lang->column_type_list['kr_zip'] = 'zip code (Korean)';
|
||||
$lang->column_type_list['date'] = 'fecha (dd/mm/aaaa)';
|
||||
//$lang->column_type_list['jp_zip'] = 'zip code (Japanese)';
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@
|
|||
$lang->secret = 'Secret';
|
||||
$lang->category = $lang->category_srl = 'Catégorie';
|
||||
$lang->none_category = 'None category';
|
||||
$lang->none_image = '이미지 없음';
|
||||
$lang->document_srl = 'Numéro de série du Document';
|
||||
$lang->user_id = 'Compte';
|
||||
$lang->author = 'Auteur';
|
||||
|
|
@ -117,6 +118,7 @@
|
|||
$lang->order_type = 'Sorting Type';
|
||||
$lang->order_asc = 'Ascend';
|
||||
$lang->order_desc = 'Descendre';
|
||||
$lang->file = 'file';
|
||||
|
||||
$lang->mid = 'Nom';
|
||||
$lang->layout = 'Mise en Page';
|
||||
|
|
@ -256,6 +258,7 @@
|
|||
$lang->column_type_list['textarea'] = 'Texte en plusieurs lignes';
|
||||
$lang->column_type_list['checkbox'] = 'Case à cocher (multichoix)';
|
||||
$lang->column_type_list['select'] = 'Case d\'option (seul choix)';
|
||||
$lang->column_type_list['radio'] = 'radio button (radio)';
|
||||
$lang->column_type_list['kr_zip'] = 'Code postal (coréen)';
|
||||
$lang->column_type_list['date'] = 'Jour (yyyy/mm/dd)';
|
||||
//$lang->column_type_list['jp_zip'] = 'code postal (japonais)';
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@
|
|||
$lang->secret = 'Geheim';
|
||||
$lang->category = $lang->category_srl = 'Kategorie';
|
||||
$lang->none_category = '분류없음';
|
||||
$lang->none_image = '이미지 없음';
|
||||
$lang->document_srl = 'Doc. No ';
|
||||
$lang->user_id = 'User-ID';
|
||||
$lang->author = 'Entwickler';
|
||||
|
|
@ -117,6 +118,7 @@
|
|||
$lang->order_type = 'Sortieren Typ';
|
||||
$lang->order_asc = 'Aufstieg';
|
||||
$lang->order_desc = 'Abstieg';
|
||||
$lang->file = 'file';
|
||||
|
||||
$lang->mid = 'Module Name';
|
||||
$lang->layout = 'Layout';
|
||||
|
|
@ -256,6 +258,7 @@
|
|||
$lang->column_type_list['textarea'] = 'Multi-line textarea';
|
||||
$lang->column_type_list['checkbox'] = 'Checkbox (multiple Auswahl)';
|
||||
$lang->column_type_list['select'] = 'select box (Einzel-Auswahl) ';
|
||||
$lang->column_type_list['radio'] = 'radio button (radio)';
|
||||
$lang->column_type_list['kr_zip'] = 'Postleitzahl (Koreanisch) ';
|
||||
$lang->column_type_list['date'] = 'Datum (jjjj / mm / dd)';
|
||||
// $lang->column_type_list [ 'jp_zip'] = 'Postleitzahl (Japanisch)';
|
||||
|
|
|
|||
|
|
@ -69,12 +69,13 @@
|
|||
$lang->disable = '不可';
|
||||
|
||||
// 基本用語
|
||||
$lang->menu = 'Menu';
|
||||
$lang->menu = 'メニュー';
|
||||
$lang->no = '番号';
|
||||
$lang->notice = 'お知らせ';
|
||||
$lang->secret = '非公開';
|
||||
$lang->category = $lang->category_srl = 'カテゴリ';
|
||||
$lang->none_category = 'カテゴリ無し';
|
||||
$lang->none_image = 'イメージなし';
|
||||
$lang->document_srl = '書き込み番号';
|
||||
$lang->user_id = 'ユーザーID';
|
||||
$lang->author = '作成者';
|
||||
|
|
@ -117,6 +118,7 @@
|
|||
$lang->order_type = 'ソート方法';
|
||||
$lang->order_asc = '昇る';
|
||||
$lang->order_desc = '降下';
|
||||
$lang->file = 'ファイル';
|
||||
|
||||
$lang->mid = 'モジュール名';
|
||||
$lang->layout = 'レイアウト';
|
||||
|
|
@ -256,6 +258,7 @@
|
|||
$lang->column_type_list['textarea'] = 'テキストエリア(textarea)';
|
||||
$lang->column_type_list['checkbox'] = 'チェックボックス(checkbox)';
|
||||
$lang->column_type_list['select'] = '選択(select)';
|
||||
$lang->column_type_list['radio'] = 'radio button (radio)';
|
||||
$lang->column_type_list['kr_zip'] = '韓国住所(zip)';
|
||||
$lang->column_type_list['date'] = '日付(年月日)';
|
||||
//$lang->column_type_list['jp_zip'] = '日本住所(zip)';
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
$lang->cmd_select = '선택';
|
||||
$lang->cmd_select_all = '모두선택';
|
||||
$lang->cmd_unselect_all = '모두해제';
|
||||
$lang->cmd_reverse_all = "선택반전";
|
||||
$lang->cmd_reverse_all = '선택반전';
|
||||
$lang->cmd_close_all = '모두닫기';
|
||||
$lang->cmd_open_all = '모두열기';
|
||||
$lang->cmd_reload = '다시읽기';
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
$lang->cmd_open = '열기';
|
||||
$lang->cmd_setup = '설정';
|
||||
$lang->cmd_addition_setup = '추가 설정';
|
||||
$lang->cmd_option = '옵션';
|
||||
$lang->cmd_option = '옵션';
|
||||
$lang->cmd_apply = '적용';
|
||||
$lang->cmd_open_calendar = '날짜 선택';
|
||||
$lang->cmd_send = '발송';
|
||||
|
|
@ -58,8 +58,8 @@
|
|||
$lang->cmd_scrap = '스크랩';
|
||||
$lang->cmd_preview = '미리 보기';
|
||||
$lang->cmd_reset = '초기화';
|
||||
$lang->cmd_remake_cache = "캐시파일 재생성";
|
||||
$lang->cmd_publish = "발행";
|
||||
$lang->cmd_remake_cache = '캐시파일 재생성';
|
||||
$lang->cmd_publish = '발행';
|
||||
$lang->cmd_layout_setup = '레이아웃 설정';
|
||||
$lang->cmd_layout_edit = '레이아웃 편집';
|
||||
$lang->cmd_search_by_ipaddress = 'IP주소로 검색';
|
||||
|
|
@ -75,6 +75,7 @@
|
|||
$lang->secret = '비밀';
|
||||
$lang->category = $lang->category_srl = '분류';
|
||||
$lang->none_category = '분류 없음';
|
||||
$lang->none_image = '이미지 없음';
|
||||
$lang->document_srl = '문서번호';
|
||||
$lang->user_id = '아이디';
|
||||
$lang->author = '작성자';
|
||||
|
|
@ -95,7 +96,7 @@
|
|||
$lang->topic = '주제';
|
||||
$lang->replies = '댓글';
|
||||
$lang->content = '내용';
|
||||
$lang->document = '게시물';
|
||||
$lang->document = '문서';
|
||||
$lang->comment = '댓글';
|
||||
$lang->description = '설명';
|
||||
$lang->trackback = '엮인글';
|
||||
|
|
@ -117,6 +118,7 @@
|
|||
$lang->order_type = '정렬방법';
|
||||
$lang->order_asc = '올림차순';
|
||||
$lang->order_desc = '내림차순';
|
||||
$lang->file = '파일';
|
||||
|
||||
$lang->mid = '모듈이름';
|
||||
$lang->layout = '레이아웃';
|
||||
|
|
@ -126,8 +128,8 @@
|
|||
$lang->colorset = '컬러셋';
|
||||
$lang->extra_vars = '확장변수';
|
||||
|
||||
$lang->domain = "도메인";
|
||||
$lang->url = "URL";
|
||||
$lang->domain = '도메인';
|
||||
$lang->url = 'URL';
|
||||
$lang->document_url = '게시글 주소';
|
||||
$lang->trackback_url = '엮인글 주소';
|
||||
$lang->blog_name = '블로그이름';
|
||||
|
|
@ -216,7 +218,7 @@
|
|||
$lang->msg_not_founded = '대상을 찾을 수 없습니다';
|
||||
$lang->msg_no_result = '검색 결과가 없습니다';
|
||||
|
||||
$lang->msg_not_permitted_act = '요청하신 action을 실행할 수 있는 권한이 없습니다';
|
||||
$lang->msg_not_permitted_act = '요청하신 기능을 실행할 수 있는 권한이 없습니다';
|
||||
$lang->msg_module_is_not_exists = '요청하신 모듈을 찾을 수 없습니다';
|
||||
$lang->msg_module_is_not_standalone = '요청하신 모듈은 독립적으로 동작할 수가 없습니다';
|
||||
|
||||
|
|
@ -250,12 +252,13 @@
|
|||
|
||||
$lang->column_type = '형식';
|
||||
$lang->column_type_list['text'] = '한줄 입력칸 (text)';
|
||||
$lang->column_type_list['homepage'] = '홈페이지 형식 (url)';
|
||||
$lang->column_type_list['homepage'] = 'URL 형식';
|
||||
$lang->column_type_list['email_address'] = '이메일 형식 (email)';
|
||||
$lang->column_type_list['tel'] = '전화번호 형식 (phone)';
|
||||
$lang->column_type_list['textarea'] = '여러줄 입력칸 (textarea)';
|
||||
$lang->column_type_list['checkbox'] = '다중 선택 (checkbox)';
|
||||
$lang->column_type_list['select'] = '단일 선택 (select)';
|
||||
$lang->column_type_list['radio'] = '라디오 버튼 (radio)';
|
||||
$lang->column_type_list['kr_zip'] = '한국주소 (zip)';
|
||||
$lang->column_type_list['date'] = '일자 (년월일)';
|
||||
//$lang->column_type_list['jp_zip'] = '일본주소 (zip)';
|
||||
|
|
@ -278,12 +281,12 @@
|
|||
그리고 설치 후 관리자 페이지에서 FTP 정보를 변경하거나 제거할 수 있습니다.<br />
|
||||
";
|
||||
|
||||
$lang->msg_safe_mode_ftp_needed = "PHP의 safe_mode가 On일 경우 FTP 정보를 꼭 입력해주셔야 XE의 설치 및 사용이 가능합니다";
|
||||
$lang->msg_ftp_not_connected = "localhost로의 FTP 접속 오류가 발생하였습니다. ftp 포트 번호를 확인해주시거나 ftp 서비스가 가능한지 확인해주세요";
|
||||
$lang->msg_ftp_invalid_auth_info = "입력하신 FTP 정보로 로그인을 하지 못했습니다. FTP정보를 확인해주세요";
|
||||
$lang->msg_ftp_mkdir_fail = "FTP를 이용한 디렉토리 생성 명령을 실패하였습니다. FTP 서버의 설정을 확인해주세요";
|
||||
$lang->msg_ftp_chmod_fail = "FTP를 이용한 디렉토리의 속성 변경을 실패하였습니다. FTP 서버의 설정을 확인해주세요";
|
||||
$lang->msg_ftp_connect_success = "FTP 접속 및 인증 성공하였습니다";
|
||||
$lang->msg_safe_mode_ftp_needed = 'PHP의 safe_mode가 On일 경우 FTP 정보를 꼭 입력해주셔야 XE의 설치 및 사용이 가능합니다';
|
||||
$lang->msg_ftp_not_connected = 'localhost로의 FTP 접속 오류가 발생하였습니다. ftp 포트 번호를 확인해주시거나 ftp 서비스가 가능한지 확인해주세요';
|
||||
$lang->msg_ftp_invalid_auth_info = '입력하신 FTP 정보로 로그인을 하지 못했습니다. FTP정보를 확인해주세요';
|
||||
$lang->msg_ftp_mkdir_fail = 'FTP를 이용한 디렉토리 생성 명령을 실패하였습니다. FTP 서버의 설정을 확인해주세요';
|
||||
$lang->msg_ftp_chmod_fail = 'FTP를 이용한 디렉토리의 속성 변경을 실패하였습니다. FTP 서버의 설정을 확인해주세요';
|
||||
$lang->msg_ftp_connect_success = 'FTP 접속 및 인증 성공하였습니다';
|
||||
|
||||
// xml filter에서 사용되는 javascript용 alert msg
|
||||
$lang->filter->isnull = '%s의 값을 입력해주세요';
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
ko,한국어
|
||||
en,English
|
||||
zh-CN,简体中文
|
||||
zh-CN,中文(中国)
|
||||
jp,日本語
|
||||
es,Español
|
||||
ru,Русский
|
||||
fr,Français
|
||||
zh-TW,正體中文
|
||||
zh-TW,中文(臺灣)
|
||||
|
|
|
|||
|
|
@ -256,6 +256,7 @@
|
|||
$lang->column_type_list['textarea'] = 'многолетних-лайн textarea';
|
||||
$lang->column_type_list['checkbox'] = 'флажок (несколько отбор)';
|
||||
$lang->column_type_list['select'] = 'выберите поле (один отбор)';
|
||||
$lang->column_type_list['radio'] = 'radio button (radio)';
|
||||
$lang->column_type_list['kr_zip'] = 'почтовый индекс (корейский)';
|
||||
$lang->column_type_list['date'] = 'Дата (гггг / мм / дд)';
|
||||
//$lang->column_type_list['jp_zip'] = 'почтовый индекс (японский)';
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
$lang->cmd_close = '关闭';
|
||||
$lang->cmd_open = '打开';
|
||||
$lang->cmd_setup = '设置';
|
||||
$lang->cmd_addition_setup = '扩展设置';
|
||||
$lang->cmd_addition_setup = '高级选项';
|
||||
$lang->cmd_option = '选项';
|
||||
$lang->cmd_apply = '应用';
|
||||
$lang->cmd_open_calendar = '选择日期';
|
||||
|
|
@ -58,7 +58,7 @@
|
|||
$lang->cmd_scrap = '收藏';
|
||||
$lang->cmd_preview = '预览';
|
||||
$lang->cmd_reset = '初始化';
|
||||
$lang->cmd_remake_cache = "重新生成缓冲文件";
|
||||
$lang->cmd_remake_cache = "更新缓冲";
|
||||
$lang->cmd_publish = "发表";
|
||||
$lang->cmd_layout_setup = '布局设置';
|
||||
$lang->cmd_layout_edit = '编辑布局';
|
||||
|
|
@ -75,6 +75,7 @@
|
|||
$lang->secret = '密帖';
|
||||
$lang->category = $lang->category_srl = '分类';
|
||||
$lang->none_category = '无分类';
|
||||
$lang->none_image = '无图';
|
||||
$lang->document_srl = '文章编号';
|
||||
$lang->user_id = '用户名';
|
||||
$lang->author = '制作';
|
||||
|
|
@ -117,6 +118,7 @@
|
|||
$lang->order_type = '排序方式';
|
||||
$lang->order_asc = '升序';
|
||||
$lang->order_desc = '倒序';
|
||||
$lang->file = '文件';
|
||||
|
||||
$lang->mid = '模块名称';
|
||||
$lang->layout = '布局';
|
||||
|
|
@ -124,7 +126,7 @@
|
|||
$lang->module = '模块';
|
||||
$lang->skin = '皮肤';
|
||||
$lang->colorset = '颜色设定';
|
||||
$lang->extra_vars = '扩展变数';
|
||||
$lang->extra_vars = '扩展变量';
|
||||
|
||||
$lang->domain = "域名";
|
||||
$lang->url = "URL";
|
||||
|
|
@ -256,6 +258,7 @@
|
|||
$lang->column_type_list['textarea'] = '多行文本框 (textarea)';
|
||||
$lang->column_type_list['checkbox'] = '复选框 (checkbox)';
|
||||
$lang->column_type_list['select'] = '下拉列表框 (select)';
|
||||
$lang->column_type_list['radio'] = '单选框 (radio)';
|
||||
$lang->column_type_list['kr_zip'] = '韩国邮编(zip)';
|
||||
$lang->column_type_list['date'] = '日期 (年月日)';
|
||||
//$lang->column_type_list['jp_zip'] = '日本地址 (zip)';
|
||||
|
|
|
|||
|
|
@ -62,19 +62,20 @@
|
|||
$lang->cmd_publish = "發表";
|
||||
$lang->cmd_layout_setup = '版面設置';
|
||||
$lang->cmd_layout_edit = '版面編輯';
|
||||
$lang->cmd_search_by_ipaddress = '以 IP位址搜尋';
|
||||
$lang->cmd_add_ip_to_spamfilter = '新增 IP至垃圾過濾器';
|
||||
$lang->cmd_search_by_ipaddress = '以IP位址搜尋';
|
||||
$lang->cmd_add_ip_to_spamfilter = '封鎖此IP位址';
|
||||
|
||||
$lang->enable = '可用';
|
||||
$lang->disable = '禁用';
|
||||
|
||||
// 基本詞語
|
||||
$lang->menu = 'Menu';
|
||||
$lang->menu = '選單';
|
||||
$lang->no = '編號';
|
||||
$lang->notice = '公告';
|
||||
$lang->secret = '秘密';
|
||||
$lang->category = $lang->category_srl = '分類';
|
||||
$lang->none_category = '無分類';
|
||||
$lang->none_image = '無圖片';
|
||||
$lang->document_srl = '文章編號';
|
||||
$lang->user_id = '帳號';
|
||||
$lang->author = '作者';
|
||||
|
|
@ -117,6 +118,7 @@
|
|||
$lang->order_type = '排列方式';
|
||||
$lang->order_asc = '升冪';
|
||||
$lang->order_desc = '降冪';
|
||||
$lang->file = '檔案';
|
||||
|
||||
$lang->mid = '模組名稱';
|
||||
$lang->layout = '版面';
|
||||
|
|
@ -133,7 +135,7 @@
|
|||
$lang->blog_name = '部落格名稱';
|
||||
$lang->excerpt = '轉載自';
|
||||
|
||||
$lang->document_count = '文章數';
|
||||
$lang->document_count = '文章數量';
|
||||
$lang->page_count = '頁數';
|
||||
$lang->list_count = '列表數';
|
||||
$lang->search_list_count = '搜尋列表數';
|
||||
|
|
@ -250,12 +252,13 @@
|
|||
|
||||
$lang->column_type = '格式';
|
||||
$lang->column_type_list['text'] = '文字輸入(text)';
|
||||
$lang->column_type_list['homepage'] = '網址格式 (url)';
|
||||
$lang->column_type_list['homepage'] = '網址格式';
|
||||
$lang->column_type_list['email_address'] = '郵件格式 (email)';
|
||||
$lang->column_type_list['tel'] = '電話號碼格式 (phone)';
|
||||
$lang->column_type_list['textarea'] = '文字輸入區塊 (textarea)';
|
||||
$lang->column_type_list['checkbox'] = '復選框 (checkbox)';
|
||||
$lang->column_type_list['textarea'] = '文字區域 (textarea)';
|
||||
$lang->column_type_list['checkbox'] = '核取方塊 (checkbox)';
|
||||
$lang->column_type_list['select'] = '下拉式選單 (select)';
|
||||
$lang->column_type_list['radio'] = '選項按紐 (radio)';
|
||||
$lang->column_type_list['kr_zip'] = '韓國郵編(zip)';
|
||||
$lang->column_type_list['date'] = '日期 (年月日)';
|
||||
//$lang->column_type_list['jp_zip'] = '日本郵編 (zip)';
|
||||
|
|
@ -265,33 +268,33 @@
|
|||
$lang->is_active = '啟動';
|
||||
$lang->is_required = '必填';
|
||||
|
||||
// 關於 FTP
|
||||
$lang->ftp_form_title = '輸入 FTP資訊';
|
||||
// 關於FTP
|
||||
$lang->ftp_form_title = '輸入FTP資訊';
|
||||
$lang->ftp = 'FTP';
|
||||
$lang->ftp_port = 'FTP Port';
|
||||
$lang->cmd_check_ftp_connect = '確認 FTP連線';
|
||||
$lang->ftp_port = 'FTP埠口';
|
||||
$lang->cmd_check_ftp_connect = '檢查FTP連線';
|
||||
$lang->about_ftp_info = "
|
||||
FTP資訊可應用至以下情形<br/>
|
||||
1. 當 PHP的安全模式(safe_mode)開啟時,可使程式正常運作。<br/>
|
||||
1. 當PHP的安全模式(safe_mode)開啟時,可使程式正常運作。<br/>
|
||||
2. 可用於自動更新。<br/>
|
||||
這個 FTP資訊會儲存在檔案 files/config/ftp.config.php裡面。<br/>
|
||||
安裝程式後,可以在管理頁面中針對 FTP資訊進行修改或刪除。<br />
|
||||
此FTP資訊會儲存在檔案『files/config/ftp.config.php』裡面。<br/>
|
||||
安裝程式後,可以在管理頁面中針對FTP資訊進行修改或刪除。<br />
|
||||
";
|
||||
|
||||
$lang->msg_safe_mode_ftp_needed = "當 PHP的安全模式(safe_mode)開啟時,請輸入相關 FTP資訊,否則無法正常安裝或使用程式。";
|
||||
$lang->msg_ftp_not_connected = "本地(localhost)FTP連線錯誤。請確認 FTP Prot或確認是否支援 FTP功能。";
|
||||
$lang->msg_ftp_invalid_auth_info = "FTP登入失敗。請確認輸入的 FTP資訊。";
|
||||
$lang->msg_ftp_mkdir_fail = "新增資料夾失敗。請確認 FTP主機設置。";
|
||||
$lang->msg_ftp_chmod_fail = "修改資料夾權限失敗。請確認 FTP主機設置。";
|
||||
$lang->msg_ftp_connect_success = "FTP連線成功。";
|
||||
$lang->msg_safe_mode_ftp_needed = '當PHP的安全模式(safe_mode)開啟時,請輸入相關FTP資訊,否則無法正常安裝或使用程式。';
|
||||
$lang->msg_ftp_not_connected = '本地(localhost)FTP連線錯誤。請檢查FTP埠口並確認是否支援FTP功能。';
|
||||
$lang->msg_ftp_invalid_auth_info = 'FTP登入失敗。請確認輸入的FTP資訊。';
|
||||
$lang->msg_ftp_mkdir_fail = '新增資料夾失敗。請確認FTP主機設置。';
|
||||
$lang->msg_ftp_chmod_fail = '修改資料夾權限失敗。請確認FTP主機設置。';
|
||||
$lang->msg_ftp_connect_success = 'FTP連線成功。';
|
||||
|
||||
// 在 xml filter使用的 javascript用 alert msg
|
||||
// 在xml filter中所使用的JavaScript警告訊息
|
||||
$lang->filter->isnull = '請輸入%s';
|
||||
$lang->filter->outofrange = '請確認%s字數';
|
||||
$lang->filter->equalto = '%s值有誤。';
|
||||
$lang->filter->invalid_email = '%s格式有誤。(例:zbxe@zeroboard.com)';
|
||||
$lang->filter->invalid_email = '%s格式有誤。(例:zbxe@zeroboard.com)';
|
||||
$lang->filter->invalid_user_id = $lang->filter->invalid_userid = "%s只能用英文,數字和 _,第一個字母必須是英文。";
|
||||
$lang->filter->invalid_homepage = '%s格式有誤。(例: http://www.zeroboard.com)';
|
||||
$lang->filter->invalid_homepage = '%s格式有誤。(例: http://www.zeroboard.com)';
|
||||
$lang->filter->invalid_korean = '%s只能輸入中文';
|
||||
$lang->filter->invalid_korean_number = '%s只能輸入中文或數字';
|
||||
$lang->filter->invalid_alpha = '%s只能輸入英文字母';
|
||||
|
|
|
|||
|
|
@ -1,268 +0,0 @@
|
|||
<?php
|
||||
####################
|
||||
## 연도 범위 설정 ##
|
||||
// 최대
|
||||
$max_year = 2900;//년 (우주가 사라지는 날 까지)
|
||||
// 최소
|
||||
$min_year = 1900;//년 (0년 부터)
|
||||
####################
|
||||
|
||||
$year = htmlspecialchars($_REQUEST['year']);
|
||||
$month = htmlspecialchars($_REQUEST['month']);
|
||||
|
||||
$method = htmlspecialchars($_REQUEST['method']);
|
||||
$fo_id = htmlspecialchars($_REQUEST['fo_id']);
|
||||
$callback_func = htmlspecialchars($_REQUEST['callback_func']);
|
||||
|
||||
$day_str = htmlspecialchars($_REQUEST['day_str']); // 날짜 (ex. 20080101)
|
||||
if($day_str && strlen($day_str)) {
|
||||
$year = substr($day_str, 0, 4);
|
||||
$month = substr($day_str, 4, 2);
|
||||
}
|
||||
|
||||
if($year < $min_year || $year > $max_year) $year = date("Y");
|
||||
if(!(int)$month || $month < 1 || $month > 12) $month = date("n");
|
||||
|
||||
switch($method) {
|
||||
case 'prev_year' :
|
||||
$year --;
|
||||
break;
|
||||
case 'prev_month' :
|
||||
$month --;
|
||||
if($month < 1) {
|
||||
$month = 12;
|
||||
$year --;
|
||||
}
|
||||
break;
|
||||
case 'next_month' :
|
||||
$month ++;
|
||||
if($month > 12) {
|
||||
$month = 1;
|
||||
$year ++;
|
||||
}
|
||||
break;
|
||||
case 'next_year' :
|
||||
$year ++;
|
||||
break;
|
||||
}
|
||||
|
||||
// 긴 이름
|
||||
$monthLongName = array(1 => "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
|
||||
|
||||
// 짧은 이름
|
||||
$monthShortName = array(1 => "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
|
||||
|
||||
// 요일 이름
|
||||
$dayName = array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
|
||||
|
||||
/*
|
||||
* @brief 윤년 검사
|
||||
*/
|
||||
function isLeapYear($year) {
|
||||
if ($year % 4 == 0 && $year % 100 != 0 || $year % 400 == 0) return true;
|
||||
else return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* @brief 날짜 수 계산
|
||||
*/
|
||||
function convertDatetoDay($year, $month, $day = 0) {
|
||||
$numOfLeapYear = 0; // 윤년의 수
|
||||
|
||||
// 전년도까지의 윤년의 수를 구한다.
|
||||
for($i = 0; $i < $year; $i++) {
|
||||
if(isLeapYear($i)) $numOfLeapYear++;
|
||||
}
|
||||
|
||||
// 전년도까지의 일 수를 구한다.
|
||||
$toLastYearDaySum = ($year-1) * 365 + $numOfLeapYear;
|
||||
|
||||
// 올해의 현재 월까지의 일수 계산
|
||||
$thisYearDaySum = 0;
|
||||
// 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
|
||||
$endOfMonth = array(1 => 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
|
||||
|
||||
for($i = 1; $i < $month; $i++) {
|
||||
$thisYearDaySum += $endOfMonth[$i];
|
||||
}
|
||||
|
||||
// 윤년이고, 2월이 포함되어 있으면 1일을 증가시킨다.
|
||||
if ($month > 2 && isLeapYear($year)) $thisYearDaySum++;
|
||||
|
||||
if(isLeapYear($year)) $endOfMonth[2] = 29;
|
||||
|
||||
if($day) {
|
||||
$thisYearDaySum += $day;
|
||||
return $toLastYearDaySum + $thisYearDaySum - 1;
|
||||
} else {
|
||||
return $endOfMonth[$month];
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* @brief 요일 구하기
|
||||
*/
|
||||
function getDayOfWeek($year, $month, $day) {
|
||||
// 0~6의 값을 반환한다. 결과가 0이면 일요일이다.
|
||||
return convertDatetoDay($year, $month, $day) % 7;
|
||||
}
|
||||
|
||||
$start_week = getDayOfWeek($year, $month, 1);
|
||||
$month_day = convertDatetoDay($year, $month);
|
||||
$before_month_month_day = convertDatetoDay( $month == 1 ? $year - 1 : $year, $month == 1 ? 12 : $month - 1);
|
||||
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html lang="ko" xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta http-equiv="imagetoolbar" content="no" />
|
||||
<title>Calendar</title>
|
||||
<script type="text/javascript" src="../js/x.js"></script>
|
||||
<script type="text/javascript" src="../js/common.js"></script>
|
||||
<script type="text/javascript" src="../js/xml_handler.js"></script>
|
||||
|
||||
<link rel="stylesheet" href="../css/default.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../css/button.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../../modules/admin/tpl/css/admin.css" type="text/css" />
|
||||
<link rel="stylesheet" href="./css/calendar.css" type="text/css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
function selectDate(date_str, date_val, callback_func) {
|
||||
if(!opener) {
|
||||
window.close();
|
||||
return;
|
||||
}
|
||||
|
||||
var date_obj = opener.xGetElementById("date_<?php echo $fo_id?>");
|
||||
var str_obj = opener.xGetElementById("str_<?php echo $fo_id?>");
|
||||
|
||||
if(date_obj) date_obj.value = date_val;
|
||||
|
||||
if(str_obj) xInnerHtml(str_obj, date_str);
|
||||
|
||||
if(callback_func) eval('opener.'+callback_func+'('+date_val+')');
|
||||
|
||||
window.close();
|
||||
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="popup_content" >
|
||||
<div id="popHeadder">
|
||||
<h3>Calendar</h3>
|
||||
</div>
|
||||
|
||||
<form action="./calendar.php" method="get">
|
||||
<input type="hidden" name="fo_id" value="<?php echo $fo_id?>"/>
|
||||
<input type="hidden" name="callback_func" value="<?php echo $callback_func?>"/>
|
||||
|
||||
<div id="popBody">
|
||||
|
||||
<div class="calendar">
|
||||
<div class="yymm">
|
||||
<div class="yy">
|
||||
<a href="./calendar.php?fo_id=<?php echo $fo_id?>&year=<?php echo $year?>&month=<?php echo $month?>&method=prev_year&callback_func=<?php echo $callback_func?>" class="left"><img src="./images/buttonLeft2.gif" alt="<?php echo $year - 1?>" width="11" height="11" /></a><?php echo $year?><a href="./calendar.php?fo_id=<?php echo $fo_id?>&year=<?php echo $year?>&month=<?php echo $month?>&method=next_year&callback_func=<?php echo $callback_func?>" class="right"><img src="./images/buttonRight2.gif" alt="<?php echo $year + 1?>" width="11" height="11" /></a>
|
||||
</div>
|
||||
<div class="mm">
|
||||
<p><?php echo $monthLongName[$month]?></p>
|
||||
<a href="./calendar.php?fo_id=<?php echo $fo_id?>&year=<?php echo $year?>&month=<?php echo $month?>&method=prev_month&callback_func=<?php echo $callback_func?>" class="left"><img src="./images/buttonLeft2.gif" alt="prev" width="11" height="11" /></a><span><?php echo $month?></span><a href="./calendar.php?fo_id=<?php echo $fo_id?>&year=<?php echo $year?>&month=<?php echo $month?>&method=next_month&callback_func=<?php echo $callback_func?>" class="right"><img src="./images/buttonRight2.gif" alt="next" width="11" height="11" /></a>
|
||||
</div>
|
||||
|
||||
<div class="go">
|
||||
<select name="year" class="selectTypeY" onchange="submit()">
|
||||
<?php for($i = $max_year; $i >= $min_year; $i--):?>
|
||||
<option value="<?php echo $i?>" <?php echo $year == $i? "selected":""?> class="<?php echo $i%10?($i%2?"select_color1":"select_color2"):"select_color10"?>"><?php echo $i?></option>
|
||||
<?php endfor?>
|
||||
</select>
|
||||
<select name="month" class="selectTypeM" onchange="submit()">
|
||||
<?php for($i = 1; $i <= 12; $i++):?>
|
||||
<option value="<?php echo $i?>" <?php echo $month == $i? "selected":""?> class="<?php echo $i%2?"select_color1":"select_color2"?>"><?php echo sprintf("%02d",$i)?></option>
|
||||
<?php endfor?>
|
||||
</select>
|
||||
</div>
|
||||
<br /><br />
|
||||
<center><a href="./calendar.php?fo_id=<?php echo $fo_id?>&callback_func=<?php echo $callback_func?>" class="button"><span>Go Today</span></a></center>
|
||||
</div>
|
||||
|
||||
<table cellspacing="0" class="dd">
|
||||
<tr>
|
||||
<?php for($y = 0; $y < 7; $y++) {?>
|
||||
<td class="<?php echo $y==0?"sun":($y==6?"sat":"")?>"><?php echo $dayName[$y]?></td>
|
||||
<?php }?>
|
||||
</tr>
|
||||
<?php
|
||||
//1주~6주
|
||||
for($i = 0; $i < 6; $i++) {
|
||||
?>
|
||||
<tr class="<?php if($i == 0){?>first<?php }elseif($i == 5){?>last<?php }?>">
|
||||
<?php
|
||||
//요일
|
||||
for($j = 0; $j < 7; $j++) {
|
||||
$m = $month;
|
||||
$y = $year;
|
||||
|
||||
$cell_no = $i * 7 + $j;
|
||||
|
||||
if($cell_no < $start_week) {
|
||||
$day = $before_month_month_day + $cell_no - $start_week + 1;
|
||||
$m = $month - 1;
|
||||
if($m < 1) {
|
||||
$m = 12;
|
||||
$y = $year - 1;
|
||||
}
|
||||
} else {
|
||||
|
||||
$day = $cell_no - $start_week + 1;
|
||||
$m = $month;
|
||||
|
||||
if($day > $month_day) {
|
||||
$day = $day - $month_day;
|
||||
$m = $month + 1;
|
||||
if($m >12 ) {
|
||||
$m = 1;
|
||||
$y = $year - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($j == 0) $class_name = "sun";
|
||||
elseif($j == 6) $class_name = "sat";
|
||||
else $class_name= "";
|
||||
|
||||
$date = $y.". ".sprintf("%02d", $m).". ".sprintf("%02d", $day);
|
||||
$date_str = $y.sprintf("%02d", $m).sprintf("%02d", $day);
|
||||
|
||||
?>
|
||||
<td class="<?php echo $class_name?>" <?php if($day){?> onclick="selectDate('<?php echo $date?>','<?php echo $date_str?>','<?php echo $callback_func?>')"<?php }?>>
|
||||
<?php if($m == $month){?><?php if(date("Ymd")==$date_str){?><strong><?php }?>
|
||||
<?php if($day){?><?php echo $day?><?php }else{?> <?php }?>
|
||||
<?php if(date("Ymd")==$date_str){?></strong><?php }?>
|
||||
<?php }else{?>
|
||||
<span class="disable"><?php if($day){?><?php echo $day?><?php }else{?> <?php }?></span>
|
||||
<?php }?>
|
||||
</td>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div id="popFooter" class="tCenter">
|
||||
<a href="#" onclick="window.close();" class="button"><span>close</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
xAddEventListener(window,'load', setFixedPopupSize);
|
||||
var _isPoped = true;
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -64,8 +64,13 @@
|
|||
|
||||
</head>
|
||||
<body>
|
||||
{$zbxe_final_content}
|
||||
{Context::getHtmlFooter()}
|
||||
<div id="waitingforserverresponse"></div>
|
||||
{Context::getBodyHeader()}
|
||||
|
||||
{$zbxe_final_content}
|
||||
|
||||
{Context::getHtmlFooter()}
|
||||
|
||||
<div id="waitingforserverresponse"></div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,38 +0,0 @@
|
|||
@charset "utf-8";
|
||||
|
||||
body { margin:0; padding:0; }
|
||||
|
||||
#popup_content { width:500px; overflow:hidden;}
|
||||
#popHeadder { width:500px; }
|
||||
#popBody { width:480px; }
|
||||
#popFooter { width:500px; }
|
||||
|
||||
#popBody .calendar { width:480px; border:1px solid #c1c0bd; border-left:none; border-right:none; background:#f5f5f5; overflow:hidden; position:relative;}
|
||||
#popBody .calendar .yymm { width:143px; float:left;}
|
||||
#popBody .calendar .yymm .yy { padding:9px 0 6px 0; text-align:center; border-bottom:1px solid #ededed; margin:0 15px; font:bold 1.5em Tahoma; color:#444444;}
|
||||
#popBody .calendar .yymm .mm { margin:0 15px; border-top:1px solid #ffffff; border-bottom:1px solid #ededed; padding:10px 0 7px 0; text-align:center;}
|
||||
#popBody .calendar .yymm .mm p { color:#969696; font:1.6em "Times New Roman";}
|
||||
#popBody .calendar .yymm .mm span { font:4em "Times New Roman"; color:#158692; vertical-align:middle;}
|
||||
#popBody .calendar .yymm .go { padding:7px 0 0 0; margin:0px 15px; text-align:center; border-top:1px solid #ffffff; display:inline;}
|
||||
#popBody .calendar .yymm .go * { vertical-align:middle;}
|
||||
#popBody .calendar .yymm .go .selectTypeY { width:60px;}
|
||||
#popBody .calendar .yymm .go .selectTypeM { width:45px;}
|
||||
#popBody .calendar .yymm .go .inputTypeY { border:1px solid #c9c9c9; text-align:center; font:.9em Tahoma; color:#282828; width:31px; height:16px;}
|
||||
#popBody .calendar .yymm .go .inputTypeM { border:1px solid #c9c9c9; text-align:center; font:.9em Tahoma; color:#282828; width:20px; height:16px;}
|
||||
#popBody .calendar .yymm .left { vertical-align:middle; margin-right:14px;}
|
||||
#popBody .calendar .yymm .right { vertical-align:middle; margin-left:14px;}
|
||||
#popBody .calendar .yymm .left img,
|
||||
#popBody .calendar .yymm .right img { vertical-align:middle; position:relative; top:2px;}
|
||||
#popBody .calendar .dd { float:left; width:337px; background:#ffffff; border-left:10px solid #ffffff;}
|
||||
#popBody .calendar .dd td { border-bottom:1px solid #ededed; height:40px; text-align:center; color:#636363; font:1em Tahoma; cursor:pointer; width:14%;}
|
||||
#popBody .calendar .dd td:hover { background:#eeeeee;}
|
||||
#popBody .calendar .dd td strong { text-decoration:underline;}
|
||||
#popBody .calendar .dd td.sun { color:#c95b53;}
|
||||
#popBody .calendar .dd td.sat { color:#5378C9;}
|
||||
#popBody .calendar .dd .first { height:35px;}
|
||||
#popBody .calendar .dd .last td { height:35px; border-bottom:none;}
|
||||
#popBody .calendar .dd td .disable { color:#CCCCCC; }
|
||||
|
||||
#popBody .calendar .select_color1 {background:#ffffff;color:#000000;}
|
||||
#popBody .calendar .select_color2 {background:#eeeeee;color:#000000;}
|
||||
#popBody .calendar .select_color10 {background:#ffff00;color:#000000;}
|
||||
BIN
common/tpl/images/buttonSet.gif
Executable file
BIN
common/tpl/images/buttonSet.gif
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
|
|
@ -1,8 +1,12 @@
|
|||
<!--%import("css/popup.css")-->
|
||||
<!--%import("../../modules/admin/tpl/css/admin.css")-->
|
||||
<div id="popup_content">{$content}</div>
|
||||
|
||||
<!--%import("../../modules/admin/tpl/css/pagination.css")-->
|
||||
<div id="xeAdmin">
|
||||
<div id="popup_content">
|
||||
{$content}
|
||||
<button class="xButton" type="button" onclick="window.close();return false;"><span>{$lang->cmd_close}</span></button>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
xAddEventListener(window, 'load', setFixedPopupSize);
|
||||
var _isPoped = true;
|
||||
</script>
|
||||
</script>
|
||||
Loading…
Add table
Add a link
Reference in a new issue