git-svn-id: http://xe-core.googlecode.com/svn/trunk@792 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-03-30 03:51:51 +00:00
parent cad719a2a3
commit da1fe7f3b1
9 changed files with 150 additions and 133 deletions

View file

@ -1,14 +1,16 @@
@charset "utf-8";
body, div, td, p, a { body, div, td, p, a {
font-family:arial, sans-serif; font-family:arial, sans-serif;
font-size:9pt; font-size:9pt;
} }
FORM { FORM {
display:inline; display:inline;
} }
a.bold { a.bold {
font-weight:bold; font-weight:bold;
} }
.editor_blue_text { color: #145ff9; text-decoration:none; border-bottom:2px solid #4a7fec;} .editor_blue_text { color: #145ff9; text-decoration:none; border-bottom:2px solid #4a7fec;}
@ -21,95 +23,95 @@ a.bold {
.folder_area { display: none; } .folder_area { display: none; }
.editor_component_output { .editor_component_output {
background:url(../tpl/images/edit_component.gif) no-repeat center; background:url(../tpl/images/edit_component.gif) no-repeat center;
background-color:#FFFFFF; background-color:#FFFFFF;
border:3px dotted #2661db; border:3px dotted #2661db;
} }
.zbxe_plugin_output { .zbxe_plugin_output {
background:url(../tpl/images/plugin.gif) no-repeat center; background:url(../tpl/images/plugin.gif) no-repeat center;
background-color:#FFFFFF; background-color:#FFFFFF;
border:3px dotted #039311; border:3px dotted #039311;
} }
h1 { h1 {
font-size:20pt; font-size:20pt;
font-weight:bold; font-weight:bold;
background-color:#efefef; background-color:#efefef;
color:#0f217c; color:#0f217c;
padding:5px; padding:5px;
border-bottom:1px solid #445bcd; border-bottom:1px solid #445bcd;
} }
h2 { h2 {
font-size:16pt; font-size:16pt;
font-weight:bold; font-weight:bold;
background-color:#efefef; background-color:#efefef;
padding:3px; padding:3px;
border-bottom:1px solid #445bcd; border-bottom:1px solid #445bcd;
} }
h3 { h3 {
font-size:13pt; font-size:13pt;
font-weight:normal; font-weight:normal;
background-color:#efefef; background-color:#efefef;
padding:3px; padding:3px;
} }
h4 { h4 {
font-size:10pt; font-size:10pt;
font-weight:bold; font-weight:bold;
} }
h5 { h5 {
font-size:9pt; font-size:9pt;
font-weight:normal; font-weight:normal;
} }
h6 { h6 {
font-size:8pt; font-size:8pt;
font-weight:normal; font-weight:normal;
} }
#waitingforserverresponse { #waitingforserverresponse {
display:inline; display:inline;
border:2px solid #444444; border:2px solid #444444;
background-color:#FFFFFF; background-color:#FFFFFF;
padding:15px 20px 13px 20px; padding:15px 20px 13px 20px;
font-weight:bold; font-weight:bold;
font-size:9pt; font-size:9pt;
color:#444444; color:#444444;
top:40px; top:40px;
left:40px; left:40px;
position:absolute; position:absolute;
z-index:100; z-index:100;
visibility:hidden; visibility:hidden;
} }
#fororiginalimagearea { #fororiginalimagearea {
visibility:hidden; visibility:hidden;
background-color:#EEEEEE; background-color:#EEEEEE;
padding:0px; padding:0px;
margin:0px; margin:0px;
width:100%; width:100%;
height:100%; height:100%;
top:0px; top:0px;
left:0px; left:0px;
position:absolute; position:absolute;
z-index:1001; z-index:1001;
text-align:left; text-align:left;
overflow:hidden; overflow:hidden;
} }
#closeOriginalImageBtn { #closeOriginalImageBtn {
position:absolute; position:absolute;
right:10px; right:10px;
top:10px; top:10px;
cursor:pointer; cursor:pointer;
width:60px; width:60px;
height:20px; height:20px;
border:1px solid #FFFFFF; border:1px solid #FFFFFF;
z-index:1002; z-index:1002;
} }
#membermenuarea { #membermenuarea {
@ -154,4 +156,3 @@ h6 {
cursor:pointer; cursor:pointer;
border:1px solid #000000; border:1px solid #000000;
} }

View file

@ -1,8 +1,12 @@
/** /**
* 몇가지 유용한 & 기본적으로 자주 사용되는 자바스크립트 함수들 모음 * @file common.js
* @author zero (zero@nzeo.com)
* @brief 몇가지 유용한 & 기본적으로 자주 사용되는 자바스크립트 함수들 모음
**/ **/
// href 분석용.. /**
* @brief location.href에서 특정 key의 값을 return
**/
String.prototype.getQuery = function(key) { String.prototype.getQuery = function(key) {
var href = location.href; var href = location.href;
var idx = href.indexOf('?'); var idx = href.indexOf('?');
@ -16,12 +20,16 @@ String.prototype.getQuery = function(key) {
return q; return q;
} }
// string prototype으로 trim 함수 추가 /**
* @brief string prototype으로 trim 함수 추가
**/
String.prototype.trim = function() { String.prototype.trim = function() {
return this.replace(/(^\s*)|(\s*$)/g, ""); return this.replace(/(^\s*)|(\s*$)/g, "");
} }
// 주어진 인자가 하나라도 defined되어 있지 않으면 false return /**
* @brief 주어진 인자가 하나라도 defined되어 있지 않으면 false return
**/
function isDef() { function isDef() {
for(var i=0; i<arguments.length; ++i) { for(var i=0; i<arguments.length; ++i) {
if(typeof(arguments[i])=="undefined") return false; if(typeof(arguments[i])=="undefined") return false;
@ -29,7 +37,10 @@ function isDef() {
return true; return true;
} }
// 윈도우 오픈 /**
* @brief 윈도우 오픈
* 열려진 윈도우의 관리를 통해 window.focus()등을 FF에서도 비슷하게 구현함
**/
var winopen_list = new Array(); var winopen_list = new Array();
function winopen(url, target, attribute) { function winopen(url, target, attribute) {
try { try {
@ -47,7 +58,9 @@ function winopen(url, target, attribute) {
if(target != "_blank") winopen_list[target] = win; if(target != "_blank") winopen_list[target] = win;
} }
// 특정 div(or span...)의 display옵션 토글 /**
* @brief 특정 div(or span...) display옵션 토글
**/
function toggleDisplay(obj, opt) { function toggleDisplay(obj, opt) {
obj = xGetElementById(obj); obj = xGetElementById(obj);
if(typeof(opt)=="undefined") opt = "inline"; if(typeof(opt)=="undefined") opt = "inline";
@ -55,7 +68,9 @@ function toggleDisplay(obj, opt) {
else obj.style.display = "none"; else obj.style.display = "none";
} }
// 멀티미디어 출력용 (IE에서 플래쉬/동영상 주변에 점선 생김 방지용) /**
* @brief 멀티미디어 출력용 (IE에서 플래쉬/동영상 주변에 점선 생김 방지용)
**/
function displayMultimedia(src, width, height, auto_start) { function displayMultimedia(src, width, height, auto_start) {
var ext = src.split("."); var ext = src.split(".");
var type = ext[ext.length-1]; var type = ext[ext.length-1];
@ -89,7 +104,9 @@ function displayMultimedia(src, width, height, auto_start) {
document.writeln(html); document.writeln(html);
} }
// 화면내에서 이미지 리사이즈 및 클릭할 수 있도록 /**
* @brief 화면내에서 상위 영역보다 이미지가 크면 리사이즈를 하고 클릭시 원본을 보여줄수 있도록 변경
**/
function resizeImageContents() { function resizeImageContents() {
var objs = xGetElementsByTagName("img"); var objs = xGetElementsByTagName("img");
for(var i in objs) { for(var i in objs) {
@ -111,31 +128,9 @@ function resizeImageContents() {
} }
xAddEventListener(window, "load", resizeImageContents); xAddEventListener(window, "load", resizeImageContents);
// 컨텐츠에서 컨텐츠 영역보다 큰 이미지 리사이징후 팝업 클릭시 사용되는 함수 /**
function resizeImagePopup(evt) { * @brief 에디터에서 사용되는 내용 여닫는 코드 (고정, zbxe용)
var e = new xEvent(evt); **/
if(!e.target.src) return;
var obj = e.target;
var scrollbars = "no";
var resizable = "no";
var width = obj.source_width;
if(width>screen.availWidth) {
width = screen.availWidth-50;
scrollbars = "yes";
resizable = "yes";
}
var height = obj.source_height;
if(height>screen.availHeight) {
height = screen.availHeight-50;
scrollbars = "yes";
resizable = "yes";
}
var popup = window.open(e.target.src,"_imagePopup","width="+width+",height="+height+",top=1,left=1,resizable="+resizable+",toolbars=no,scrollbars="+resizable);
if(popup) popup.focus();
}
// 에디터에서 사용하는 내용 여닫는 코드 (고정, zbxe용)
function zbxe_folder_open(id) { function zbxe_folder_open(id) {
var open_text_obj = xGetElementById("folder_open_"+id); var open_text_obj = xGetElementById("folder_open_"+id);
var close_text_obj = xGetElementById("folder_close_"+id); var close_text_obj = xGetElementById("folder_close_"+id);
@ -155,7 +150,9 @@ function zbxe_folder_close(id) {
} }
// 에디터에서 사용하는 내용 여닫는 코드 (고정, zb5beta beta 호환용) /**
* @brief 에디터에서 사용하되 내용 여닫는 코드 (zb5beta beta 호환용으로 남겨 놓음)
**/
function svc_folder_open(id) { function svc_folder_open(id) {
var open_text_obj = xGetElementById("_folder_open_"+id); var open_text_obj = xGetElementById("_folder_open_"+id);
var close_text_obj = xGetElementById("_folder_close_"+id); var close_text_obj = xGetElementById("_folder_close_"+id);
@ -174,20 +171,32 @@ function svc_folder_close(id) {
folder_obj.style.display = "none"; folder_obj.style.display = "none";
} }
// 페이지 이동 /**
function movePage(url) { * @brief 메일 보내기용
location.href=url; **/
}
// 메일 보내기용
function sendMailTo(to) { function sendMailTo(to) {
location.href="mailto:"+to; location.href="mailto:"+to;
} }
/**
* @brief url이동 (open_window 값이 N 아니면 새창으로 띄움)
**/
function move_url(url, open_wnidow) {
if(!url) return false;
if(typeof(open_wnidow)=='undefined') open_wnidow = 'N';
if(open_wnidow=='Y') {
winopen(url);
} else {
location.href=url;
}
return false;
}
// 팝업의 경우 내용에 맞춰 현 윈도우의 크기를 조절해줌 /**
// 팝업의 내용에 맞게 크기를 늘리는 것은... 쉽게 되지는 않음.. ㅡ.ㅜ * @brief 팝업의 경우 내용에 맞춰 윈도우의 크기를 조절해줌
// 혹시.. 제대로 된 소스 있으신 분은 헬프미.. ㅠ0ㅠ * 팝업의 내용에 맞게 크기를 늘리는 것은... 쉽게 되지는 않음.. .
* popup_layout 에서 window.onload 자동 요청됨.
**/
function setFixedPopupSize() { function setFixedPopupSize() {
var w = xWidth("popup_content"); var w = xWidth("popup_content");
var h = xHeight("popup_content"); var h = xHeight("popup_content");
@ -205,20 +214,9 @@ function setFixedPopupSize() {
window.resizeBy(0,h-h1); window.resizeBy(0,h-h1);
} }
// url이동 (open_window 값이 N 가 아니면 새창으로 띄움) /**
function move_url(url, open_wnidow) { * @brief 본문내에서 컨텐츠 영역보다 이미지의 경우 원본 크기를 보여줌
if(!url) return false; **/
if(typeof(open_wnidow)=='undefined') open_wnidow = 'N';
if(open_wnidow=='Y') {
var win = window.open(url);
win.focus();
} else {
location.href=url;
}
return false;
}
// 본문내에서 컨텐츠 영역보다 큰 이미지의 경우 원본 크기를 보여줌
function showOriginalImage(evt) { function showOriginalImage(evt) {
var e = new xEvent(evt); var e = new xEvent(evt);
var obj = e.target; var obj = e.target;
@ -259,7 +257,9 @@ function showOriginalImage(evt) {
xAddEventListener(window, "resize", closeOriginalImage); xAddEventListener(window, "resize", closeOriginalImage);
} }
// 원본 이미지 보여준 후 닫는 함수 /**
* @brief 원본 이미지 보여준 닫는 함수
**/
function closeOriginalImage(evt) { function closeOriginalImage(evt) {
var area = xGetElementById("fororiginalimagearea"); var area = xGetElementById("fororiginalimagearea");
if(area.style.visibility != "visible") return; if(area.style.visibility != "visible") return;
@ -270,7 +270,9 @@ function closeOriginalImage(evt) {
xRemoveEventListener(window, "resize", closeOriginalImage); xRemoveEventListener(window, "resize", closeOriginalImage);
} }
// 원본 이미지 드래그 /**
* @brief 원본 이미지 드래그
**/
var origDragManager = {obj:null, isDrag:false} var origDragManager = {obj:null, isDrag:false}
function origImageDragEnable(evt) { function origImageDragEnable(evt) {
var e = new xEvent(evt); var e = new xEvent(evt);
@ -348,7 +350,10 @@ function origImageDragMouseMove(evt) {
origImageDrag(obj, e.pageX, e.pageY); origImageDrag(obj, e.pageX, e.pageY);
} }
// 이름을 클릭하였을 경우 보여줄 기능에 대한 기본 함수 /**
* @brief 이름을 클릭하였을 경우 메뉴를 보여주는 함수
* 이름 클릭시 MemberModel::getMemberMenu 호출하여 결과를 보여줌 (사용자의 속성에 따라 메뉴가 달라지고 애드온의 연결을 하기 위해서임)
**/
xAddEventListener(document, 'click', chkMemberMenu); xAddEventListener(document, 'click', chkMemberMenu);
xAddEventListener(window, 'load', setMemberMenuObjCursor); xAddEventListener(window, 'load', setMemberMenuObjCursor);
var loaded_member_menu_list = new Array(); var loaded_member_menu_list = new Array();

View file

@ -1,7 +1,8 @@
/* x.js compiled from X 4.0 with XC 0.27b. /**
* x.js compiled from X 4.0 with XC 0.27b.
* Distributed by GNU LGPL. For copyrights, license, documentation and more visit Cross-Browser.com * Distributed by GNU LGPL. For copyrights, license, documentation and more visit Cross-Browser.com
* Copyright 2001-2005 Michael Foster (Cross-Browser.com) * Copyright 2001-2005 Michael Foster (Cross-Browser.com)
*/ **/
var xOp7Up,xOp6Dn,xIE4Up,xIE4,xIE5,xIE6,xNN4,xUA=navigator.userAgent.toLowerCase(); var xOp7Up,xOp6Dn,xIE4Up,xIE4,xIE5,xIE6,xNN4,xUA=navigator.userAgent.toLowerCase();
if(window.opera){ if(window.opera){

View file

@ -1,7 +1,7 @@
/** /**
* @file common/js/xml_handler.js * @file common/js/xml_handler.js
* @author zero <zero@nzeo.com> * @author zero <zero@nzeo.com>
* @brief ajax 사용을 위한 기본 js * @brief zbxe내에서 ajax기능을 이용함에 있어 module, act를 사용하기 위한 자바스크립트
**/ **/
// xml handler을 이용하는 user function // xml handler을 이용하는 user function

View file

@ -2,6 +2,9 @@
* @file common/js/xml_js_filter.js * @file common/js/xml_js_filter.js
* @author zero (zero@nzeo.com) * @author zero (zero@nzeo.com)
* @brief xml filter에서 사용될 js * @brief xml filter에서 사용될 js
*
* zbxe 에서 form의 동작시 필수입력 여부등을 선처리하고 xml_handler.js의 exec_xml() 통해서
* 특정 모듈과의 ajax 통신을 통해 process를 진행시킴
**/ **/
var alertMsg = new Array(); var alertMsg = new Array();

View file

@ -1,8 +1,8 @@
<?php <?php
/** /**
* @file : common/lang/ko.lang.php * @file common/lang/ko.lang.php
* @author : zero <zero@nzeo.com> * @author zero (zero@nzeo.com)
* @desc : 한국어 언어팩 (기본적인 내용만 수록) * @desc 한국어 언어팩 (기본적인 내용만 수록)
**/ **/
// 기본적으로 사용되는 action 언어 // 기본적으로 사용되는 action 언어

View file

@ -1,3 +1,5 @@
@charset "utf-8";
body { body {
margin:0px; margin:0px;
padding:0px; padding:0px;

View file

@ -2,5 +2,5 @@
<div id="popup_content" style="float:right;">{$content}</div> <div id="popup_content" style="float:right;">{$content}</div>
<script type="text/javascript"> <script type="text/javascript">
xAddEventListener(window, 'load', setFixedPopupSize); xAddEventListener(window, 'load', setFixedPopupSize);
</script> </script>

View file

@ -486,18 +486,23 @@
// 게시판이나 블로그등일 경우는 특별 옵션 지정 // 게시판이나 블로그등일 경우는 특별 옵션 지정
if($mid) { if($mid) {
// 회원 정보 보기 // 회원 정보 보기
$menu_list[] = sprintf('%s,movePage(\'%s\')', Context::getLang('cmd_view_member_info'), sprintf('./?mid=%s&amp;act=dispSignUpForm&amp;member_srl=%s', $mid, $member_srl)); $menu_str = Context::getLang('cmd_view_member_info');
$menu_url = sprintf('./?mid=%s&amp;act=dispSignUpForm&amp;member_srl=%s', $mid, $member_srl);
$menu_list[] = sprintf('%s,move_url(\'%s\')', $menu_str, $menu_url);
// 아이디로 검색 // 아이디로 검색
$menu_list[] = sprintf('%s,movePage(\'%s\')', Context::getLang('cmd_view_own_document'), sprintf('./?mid=%s&amp;search_target=user_id&amp;search_keyword=%s', $mid, $user_id)); $menu_str = Context::getLang('cmd_view_own_document');
$menu_url = sprintf('./?mid=%s&amp;search_target=user_id&amp;search_keyword=%s', $mid, $user_id);
$menu_list[] = sprintf('%s,move_url(\'%s\')', $menu_str, $menu_url);
} }
// 다른 사람의 아이디를 클릭한 경우 (메일, 쪽지 보내기등은 다른 사람에게만 보내는거로 설정) // 다른 사람의 아이디를 클릭한 경우 (메일, 쪽지 보내기등은 다른 사람에게만 보내는거로 설정)
if($member_srl != $logged_info->member_srl) { if($member_srl != $logged_info->member_srl) {
// 메일 보내기 // 메일 보내기
$menu_list[] = sprintf('%s,sendMailTo(\'%s\')', Context::getLang('cmd_send_email'), sprintf('%s <%s>', $user_name, $email_address)); $menu_str = Context::getLang('cmd_send_email');
$menu_url = sprintf('%s <%s>', $user_name, $email_address);
$menu_list[] = sprintf('%s,sendMailTo(\'%s\')', $menu_str, $menu_url);
} }
// 정보를 저장 // 정보를 저장