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

This commit is contained in:
zero 2007-03-29 07:47:41 +00:00
parent f84e725414
commit 80856481b3
5 changed files with 84 additions and 3 deletions

View file

@ -121,5 +121,22 @@ h6 {
border:1px solid #DDDDDD;
background-color:#FFFFFF;
width:100px;
height:100px;
padding:3px;
}
#membermenuarea .item {
border-bottom:1px dotted #DDDDDD;
height:14px;
padding:3px;
margin-bottom:3px;
}
#membermenuarea .last_item {
height:14px;
padding:3px;
}
#membermenuarea A {
color:#777777;
text-decoration:none;
}

View file

@ -2,6 +2,20 @@
* 몇가지 유용한 & 기본적으로 자주 사용되는 자바스크립트 함수들 모음
**/
// href 분석용..
String.prototype.getQuery = function(key) {
var href = location.href;
var idx = href.indexOf('?');
if(idx == -1) return;
var query_string = href.substr(idx+1, href.length);
var args = {}
query_string.replace(/([^=]+)=([^&]*)(&|$)/g, function() { args[arguments[1]] = arguments[2]; });
var q = args[key];
if(typeof(q)=="undefined") q = "";
return q;
}
// string prototype으로 trim 함수 추가
String.prototype.trim = function() {
return this.replace(/(^\s*)|(\s*$)/g, "");
@ -345,19 +359,41 @@ function chkMemberMenu(evt) {
var member_srl = obj.className.replace(/member_([0-9]+)/,'$1');
if(member_srl<1) return;
// 현재 글의 mid, module를 구함
var mid = location.href.getQuery("mid");
var module = location.href.getQuery("module");
// 서버에 메뉴를 요청
var params = new Array();
params["member_srl"] = member_srl;
params["cur_mid"] = mid;
params["cur_module"] = module;
params["page_x"] = e.pageX;
params["page_y"] = e.pageY;
var response_tags = new Array("error","message","tpl");
var response_tags = new Array("error","message","info_list");
exec_xml("member", "getMemberMenu", params, displayMemberMenu, response_tags, params);
}
function displayMemberMenu(ret_obj, response_tags, params) {
var area = xGetElementById("membermenuarea");
var info_list = ret_obj['info_list'];
var html = "";
var infos = info_list.split("\n");
for(var i=0;i<infos.length;i++) {
var info_str = infos[i];
var pos = info_str.indexOf(",");
var str = info_str.substr(0,pos);
var url = info_str.substr(pos+1, info_str.length);
var className = "item";
if(i==infos.length-1) className = "last_item";
html += "<div class=\""+className+"\"><a href=\""+url+"\">"+str+"</a></div>";
}
xInnerHtml(area, html);
// 메뉴 이동
xLeft(area, params["page_x"]);
xTop(area, params["page_y"]);
if(xWidth(area)+xLeft(area)>xClientWidth()+xScrollLeft()) xLeft(area, xClientWidth()-xWidth(area)+xScrollLeft());

View file

@ -7,7 +7,7 @@
class board extends ModuleObject {
var $search_option = array('title','content','title_content','user_name'); ///< 검색 옵션
var $search_option = array('title','content','title_content','user_name','user_id'); ///< 검색 옵션
var $skin = "default"; ///< 스킨 이름
var $list_count = 20; ///< 한 페이지에 나타날 글의 수

View file

@ -11,6 +11,7 @@
$lang->cmd_send_mail = '메일발송';
$lang->cmd_manage_id = '금지아이디관리';
$lang->cmd_manage_form = '가입폼관리';
$lang->cmd_view_own_document = '작성글 보기';
$lang->member_default_info = '기본 정보';
$lang->member_extend_info = '추가 정보';

View file

@ -459,7 +459,34 @@
* @brief 선택된 회원의 간단한 메뉴를 표시
**/
function getMemberMenu() {
// 요청된 회원 번호와 현재 사용자의 로그인 정보 구함
$member_srl = Context::get('member_srl');
$mid = Context::get('cur_mid');
$module = Context::get('cur_module');
$logged_info = Context::get('logged_info');
$info_list = array();
// 자신의 아이디를 클릭한 경우
if($member_srl == $logged_info->member_srl) {
$user_id = $logged_info->user_id;
$user_name = $logged_info->user_name;
// 다른 사람의 아이디를 클릭한 경우
} else {
// 회원의 정보를 구함
$member_info = $this->getMemberInfoByMemberSrl($member_srl);
$user_id = $member_info->user_id;
$user_name = $member_info->user_name;
}
if($mid) {
$info_list[] = sprintf('%s, %s', Context::getLang('cmd_view_own_document'), sprintf('./?mid=%s&search_target=user_id&search_keyword=%s', $mid, $user_id));
}
// 정보를 저장
$this->add("info_list", implode("\n",$info_list));
}
}
?>