회원정보 보기시에 쪽지함보기/친구보기/작성글 보기를 title에 select box로 모음. 작성글 보기 기능 추가

git-svn-id: http://xe-core.googlecode.com/svn/trunk@1981 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-07-24 04:46:09 +00:00
parent 68f7f1a30f
commit 4593918f77
16 changed files with 211 additions and 87 deletions

View file

@ -7,6 +7,7 @@
<action name="dispMemberModifyPassword" type="view" standalone="true" />
<action name="dispMemberLoginForm" type="view" standalone="true" />
<action name="dispMemberLogout" type="view" standalone="true" />
<action name="dispMemberOwnDocument" type="view" standalone="true" />
<action name="dispMemberMessages" type="view" standalone="true" />
<action name="dispMemberSendMessage" type="view" standalone="true" />

View file

@ -73,9 +73,9 @@
$lang->cmd_login = '로그인';
$lang->cmd_logout = '로그아웃';
$lang->cmd_signup = '회원 가입';
$lang->cmd_modify_member_info = '회원정보 수정';
$lang->cmd_modify_member_info = '회원 정보 수정';
$lang->cmd_modify_member_password = '비밀번호 변경';
$lang->cmd_view_member_info = '회원정보 보기';
$lang->cmd_view_member_info = '회원 정보 보기';
$lang->cmd_leave = '탈퇴';
$lang->cmd_member_list = '회원 목록';

View file

@ -20,6 +20,7 @@
$oModuleController->insertActionForward('member', 'view', 'dispMemberLeave');
$oModuleController->insertActionForward('member', 'view', 'dispMemberLoginForm');
$oModuleController->insertActionForward('member', 'view', 'dispMemberLogout');
$oModuleController->insertActionForward('member', 'view', 'dispMemberOwnDocument');
$oModuleController->insertActionForward('member', 'view', 'dispMemberMessages');
$oModuleController->insertActionForward('member', 'view', 'dispMemberSendMessage');
@ -113,6 +114,11 @@
* @brief 설치가 이상이 없는지 체크하는 method
**/
function checkUpdate() {
// dispMemberOwnDocument act의 여부 체크 (2007. 7. 24 추가)
$oModuleModel = &getModel('module');
$act = $oModuleModel->getActionForward('dispMemberOwnDocument');
if(!$act) return true;
return false;
}
@ -120,7 +126,10 @@
* @brief 업데이트 실행
**/
function moduleUpdate() {
return new Object();
$oModuleController = &getController('module');
$oModuleController->insertActionForward('member', 'view', 'dispMemberOwnDocument');
return new Object(1, 'success_updated');
}
}
?>

View file

@ -10,6 +10,7 @@
var $group_list = NULL; ///< 그룹 목록 정보
var $member_info = NULL; ///< 선택된 사용자의 정보
var $skin = 'default';
var $my_menu = null;
/**
* @brief 초기화
@ -25,6 +26,14 @@
// template path 지정
$tpl_path = sprintf('%sskins/%s', $this->module_path, $skin);
$this->setTemplatePath($tpl_path);
// my_menu 변수 설정 (자신의 정보와 관련된 부분, 차후 애드온등에서 변수 조절 가능)
$this->my_menu = array(
'dispMemberInfo' => Context::getLang('cmd_view_member_info'),
'dispMemberMessages' => Context::getLang('cmd_view_message_box'),
'dispMemberFriend' => Context::getLang('cmd_view_friend'),
'dispMemberOwnDocument' => Context::getLang('cmd_view_own_document'),
);
}
/**
@ -32,10 +41,10 @@
**/
function dispMemberInfo() {
$oMemberModel = &getModel('member');
$logged_info = Context::get('logged_info');
$member_srl = Context::get('member_srl');
if(!$member_srl && Context::get('is_logged')) {
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
} elseif(!$member_srl) {
return $this->dispMemberSignUpForm();
@ -52,6 +61,8 @@
Context::set('member_info', $member_info);
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($member_info));
if($member_info->member_srl == $logged_info->member_srl) Context::set('my_menu', $this->my_menu);
$this->setTemplateFile('member_info');
}
@ -105,11 +116,38 @@
Context::set('editor', $editor);
}
if($member_info->member_srl == $logged_info->member_srl) Context::set('my_menu', $this->my_menu);
// 템플릿 파일 지정
$this->setTemplateFile('modify_info');
}
/**
* @brief 회원 작성글 보기
**/
function dispMemberOwnDocument() {
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
$module_srl = Context::get('module_srl');
Context::set('module_srl',Context::get('selected_module_srl'));
Context::set('search_target','member_srl');
Context::set('search_keyword',$member_srl);
$oDocumentAdminView = &getAdminView('document');
$oDocumentAdminView->dispDocumentAdminList();
Context::get('module_srl', $module_srl);
Context::set('my_menu', $this->my_menu);
$this->setTemplateFile('document_list');
}
/**
* @brief 로그인 출력
**/
@ -133,6 +171,8 @@
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
Context::set('member_info',$member_info);
if($member_info->member_srl == $logged_info->member_srl) Context::set('my_menu', $this->my_menu);
// 템플릿 파일 지정
$this->setTemplateFile('modify_password');
}
@ -152,6 +192,8 @@
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
Context::set('member_info',$member_info);
if($member_info->member_srl == $logged_info->member_srl) Context::set('my_menu', $this->my_menu);
// 템플릿 파일 지정
$this->setTemplateFile('leave_form');
}
@ -188,7 +230,7 @@
if($message->message_srl == $message_srl) Context::set('message', $message);
}
// 각 쪽지들의 갯수 구함
Context::set('my_menu', $this->my_menu);
// 목록 추출
$output = $oMemberModel->getMessages($message_type);
@ -293,6 +335,7 @@
Context::set('page', $output->page);
Context::set('friend_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
Context::set('my_menu', $this->my_menu);
$this->setTemplateFile('friends_list');
}

View file

@ -6,3 +6,21 @@
<!--@end-->
<div id="memberModule">
<!--@if($member_title)-->
<div class="boardHeader">
<h3>{$member_title}</h3>
<!--@if($is_logged && $my_menu)-->
<form action="./" method="get" class="member_option">
<input type="hidden" name="mid" value="{$mid}" />
<select name="act">
<!--@foreach($my_menu as $key => $val)-->
<option value="{$key}" <!--@if($key == $act)-->selected="selected"<!--@end-->>{$val}</option>
<!--@end-->
</select>
<input type="image" src="./images/button_go.gif" />
</form>
<!--@end-->
</div>
<!--@end-->

View file

@ -17,6 +17,9 @@
.boardHeader { position:relative; _width:100%; border-top:1px solid #e1e1dd; border-bottom:none; background:#ffffff url(../images/normal/bgH3.gif) no-repeat right bottom; overflow:hidden;}
.boardHeader h3 { float:left; clear:both; font-size:1.2em; padding:1em 2em .7em 1.2em; border-left:1px solid #e1e1dd; border-bottom:3px solid #fe3614; background:url(../images/normal/lineH3.gif) no-repeat right bottom;}
.boardHeader .member_option { float:right; position:relative; top:1em; right:1em; }
.boardHeader select { vertical-align:bottom; }
.boardHeader input { vertical-align:bottom; _padding-bottom:1px;}
.boardHeader .essential { position:absolute; top:1.5em; right:1em; color:#54564b; font-size:.9em;}
.boardHeader .essential:first-letter { color:#ff0000;}
@ -32,6 +35,7 @@
.list th select, .list th input { vertical-align:middle;}
.list td { border-top:1px solid #eff0ed; padding:.5em; text-align:center; height:35px;}
.list td.registDate { font:.8em Tahoma; color:#999999; text-align:center;}
.list td.num { font:.8em Tahoma; color:#999999; text-align:center;}
.list td.check { text-align:center;}
.list td.user { color:#333333; font-size:.9em;}
.list td.user a { color:#333333;}
@ -143,3 +147,7 @@
.pageNavigation a.goToLast { border:none; border-right:1px solid #ffffff; border-left:1px solid #ffffff; z-index:99; vertical-align:top; padding:0px 7px 4px 6px;}
.pageNavigation a.goToFirst img, .pageNavigation a.goToLast img { display:inline-block; padding:2px 0; position:relative; top:2px; _top:1px;}
.pageNavigation .current { position:relative; margin-left:-4px; font:bold 1em Tahoma; color:#ff6600; display:inline-block; padding:1px 7px 1px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
/* Own Document */
img.button_go { position:relative; bottom:-4px; _bottom:-2px;}
.boardInformation strong { font:bold 11px Tahoma; color:#ff6600;}

View file

@ -0,0 +1,78 @@
{@ $member_title = $lang->cmd_view_own_document }
<!--#include("./common_header.html")-->
<!-- 정보 -->
<div class="boardInformation">
Total : <strong>{number_format($total_count)}</strong>,
Page <strong>{number_format($page)}</strong>/{number_format($total_page)}
</div>
<!-- 목록 -->
<table cellspacing="0" class="list">
<col width="50" />
<col />
<col width="50" />
<col width="50" />
<col width="80" />
<thead>
<tr>
<th scope="col">{$lang->no}</th>
<th scope="col">
<div class="nowrap tLeft">
&nbsp;
<select name="module_srl" class="mid_list" id="selected_module_srl">
<option value="">{$lang->total}</option>
<!--@foreach($mid_list as $key => $val)-->
<option value="{$val->module_srl}" <!--@if($module_srl == $val->module_srl)-->selected="selected"<!--@end-->>{$val->browser_title}</option>
<!--@end-->
</select><a href="#" onclick="location.href=current_url.setQuery('selected_module_srl',xGetElementById('selected_module_srl').options[xGetElementById('selected_module_srl').selectedIndex].value);return false;"><img src="./images/button_go.gif" border="0" alt="" class="button_go" /></a>
</div>
</th>
<th scope="col">{$lang->readed_count}</th>
<th scope="col">{$lang->voted_count}</th>
<th scope="col">{$lang->date}</th>
</tr>
</thead>
<tbody>
<!--@foreach($document_list as $no => $oDocument)-->
<tr class="bg{($no+1)%2+1}">
<td class="num">{$no}</td>
<td class="title">
<a href="#" onclick="window.open('./?mid={$module_list[$oDocument->get('module_srl')]->mid}');return false">{htmlspecialchars($module_list[$oDocument->get('module_srl')]->browser_title)}</a> -
<a href="#" onclick="window.open('./?document_srl={$oDocument->document_srl}');return false">{$oDocument->getTitleText()}</a>
<!--@if($oDocument->getCommentCount())-->
[{$oDocument->getCommentCount()}]
<!--@end-->
<!--@if($oDocument->getTrackbackCount())-->
[{$oDocument->getTrackbackCount()}]
<!--@end-->
</td>
<td class="num">{$oDocument->get('readed_count')}</td>
<td class="num">{$oDocument->get('voted_count')}</td>
<td class="registDate">{$oDocument->getRegdate("Y-m-d")}</td>
</tr>
<!--@end-->
</tbody>
</table>
<!-- 버튼 -->
<div class="fr gap1">
<a href="{getUrl('act','','selected_module_srl','')}" class="button"><span>{$lang->cmd_back}</span></a>
</div>
<!-- 페이지 네비게이션 -->
<div class="pageNavigation">
<a href="{getUrl('page','','module_srl','')}" class="goToFirst"><img src="./images/bottomGotoFirst.gif" alt="{$lang->first_page}" width="7" height="5" /></a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
<span class="current">{$page_no}</span>
<!--@else-->
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="goToLast"><img src="./images/bottomGotoLast.gif" alt="{$lang->last_page}" width="7" height="5" /></a>
</div>
<!--#include("./common_footer.html")-->

View file

@ -1,13 +1,9 @@
{@ $member_title = $lang->friend_group }
<!--#include("./common_header.html")-->
<!--%import("filter/delete_checked_friend.xml")-->
<!--%import("filter/delete_friend_group.xml")-->
<!--%import("filter/move_friend.xml")-->
<div class="boardHeader">
<h3>{$lang->friend_group}</h3>
</div>
<form id="fo_friend_list" action="./" method="get" onsubmit="return procFilter(this, delete_checked_friend)">
<div class="boardInformation">

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

View file

@ -1,37 +1,29 @@
{@ $member_title = $lang->msg_leave_member}
<!--#include("./common_header.html")-->
<!--%import("filter/leave_member.xml")-->
<div class="memberSmallBox w400">
<div class="header">
<h3>{$lang->msg_leave_member}</h3>
</div>
<form id="fo_insert_member" action="./" method="get" onsubmit="return procFilter(this, leave_member)">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<input type="hidden" name="page" value="{$page}" />
<div class="complex">
<fieldset class="pwModify">
<legend>{$lang->msg_leave_member}</legend>
<table cellspacing="0" class="leftHeaderType">
<tr>
<th scope="row">{$lang->user_id}</th>
<td>{$member_info->user_id}</td>
</tr>
<tr>
<th scope="row"><label for="cpw">{$lang->password}</label></th>
<td><input type="password" name="password" id="cpw" class="inputTypeText" /></td>
</tr>
</table>
</fieldset>
</div>
<table cellspacing="0" class="memberInfoTable gap1" title="$lang->msg_leave_member}">
<col width="140" />
<col />
<tr>
<th scope="row">{$lang->user_id}</th>
<td>{$member_info->user_id}</td>
</tr>
<tr>
<th scope="row"><label for="cpw">{$lang->password}</label></th>
<td><input type="password" name="password" id="cpw" class="inputTypeText" /></td>
</tr>
</table>
<div class="help tCenter">
<span class="button"><input type="submit" value="{$lang->cmd_leave}" accesskey="s" /></span>
<a href="#" onclick="location.href='{getUrl('act','dispMemberInfo','member_srl','')}'" class="button"><span>취소</span></a>
<a href="#" onclick="location.href='{getUrl('act','dispMemberInfo','member_srl','')}'" class="button"><span>{$lang->cmd_back}</span></a>
</div>
</form>
<!--#include("./common_footer.html")-->

View file

@ -1,9 +1,6 @@
{@ $member_title = $lang->cmd_view_member_info }
<!--#include("./common_header.html")-->
<div class="boardHeader">
<h3>{$lang->cmd_view_member_info}</h3>
</div>
<table cellspacing="0" class="memberInfoTable">
<col width="140" />
<col />
@ -104,8 +101,6 @@
<a href="{getUrl('act','dispMemberModifyInfo','member_srl','')}" class="button"><span>{$lang->cmd_modify_member_info}</span></a>
<a href="{getUrl('act','dispMemberModifyPassword','member_srl','')}" class="button"><span>{$lang->cmd_modify_member_password}</span></a>
<a href="{getUrl('act','dispMemberLeave','member_srl','')}" class="button"><span>{$lang->cmd_leave}</span></a>
<a href="{getUrl('act','dispMemberMessages','member_srl','')}" class="button"><span>{$lang->cmd_view_message_box}</span></a>
<a href="{getUrl('act','dispMemberFriend','member_srl','')}" class="button"><span>{$lang->cmd_view_friend}</span></a>
<!--@end-->
<a href="{getUrl('act','','member_srl','')}" class="button"><span>{$lang->cmd_back}</span></a>
</div>

View file

@ -1,16 +1,11 @@
<!--@foreach($lang->message_box as $key => $val)-->
<!--@if($key == $message_type)-->
{@ $member_title = $val}
<!--@end-->
<!--@end-->
<!--#include("./common_header.html")-->
<!--%import("filter/delete_checked_message.xml")-->
<div class="boardHeader">
<h3>
<!--@foreach($lang->message_box as $key => $val)-->
<!--@if($key == $message_type)-->
{$val}
<!--@end-->
<!--@end-->
</h3>
</div>
<!--@if($message)-->
<div class="readMessage">
<div class="messageHeader">

View file

@ -1,4 +1,6 @@
{@ $member_title = $lang->msg_update_member}
<!--#include("./common_header.html")-->
<!--%import("filter/modify_info.xml")-->
<!--@if($member_config->image_name == 'Y')-->
<!--%import("filter/delete_image_name.xml")-->
@ -9,10 +11,6 @@
<!--%import("../../tpl/js/krzip_search.js")-->
<div class="boardHeader">
<h3>{$lang->msg_update_member}</h3>
</div>
<form id="fo_insert_member" action="./" method="post" onsubmit="return procFilter(this, modify_info)" <!--@if($member_config->image_name=='Y' || $member_config->image_mark=='Y')-->enctype="multipart/form-data"<!--@end-->>
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="act" value="" />

View file

@ -1,49 +1,40 @@
{@ $member_title = $lang->cmd_modify_member_password }
<!--#include("./common_header.html")-->
<!--%import("filter/modify_password.xml")-->
<div class="memberSmallBox w400">
<div class="header">
<h3>{$lang->cmd_modify_member_password}</h3>
</div>
<form id="fo_insert_member" action="./" method="get" onsubmit="return procFilter(this, modify_password)">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="document_srl" value="{$document_srl}" />
<input type="hidden" name="page" value="{$page}" />
<div class="complex">
<fieldset class="pwModify">
<legend>{$lang->cmd_modify_member_password}</legend>
<table cellspacing="0" class="leftHeaderType">
<tr>
<th scope="row">{$lang->user_id}</th>
<td>{$member_info->user_id}</td>
</tr>
<tr>
<th scope="row"><label for="cpw">{$lang->current_password}</label></th>
<td><input type="password" name="current_password" id="cpw" class="inputTypeText" /></td>
</tr>
<tr>
<th scope="row"><label for="npw1">{$lang->password1}</label></th>
<td>
<input type="password" name="password1" id="npw1" class="inputTypeText" />
<br />
<input type="password" name="password2" id="npw2" class="inputTypeText" />
{$lang->password2}
</td>
</tr>
</table>
<table cellspacing="0" class="memberInfoTable gap1" title="{$lang->cmd_modify_member_password}">
<col width="140" />
<col />
<tr>
<th scope="row">{$lang->user_id}</th>
<td>{$member_info->user_id}</td>
</tr>
<tr>
<th scope="row"><label for="cpw">{$lang->current_password}</label></th>
<td><input type="password" name="current_password" id="cpw" class="inputTypeText" /></td>
</tr>
<tr>
<th scope="row"><label for="npw1">{$lang->password1}</label></th>
<td>
<input type="password" name="password1" id="npw1" class="inputTypeText" />
<br />
<input type="password" name="password2" id="npw2" class="inputTypeText" />
{$lang->password2}
<br />
<p>{$lang->about_password}</p>
</fieldset>
</div>
</td>
</tr>
</table>
<div class="help tCenter">
<span class="button"><input type="submit" value="{$lang->cmd_registration}" accesskey="s" /></span>
<a href="#" onclick="location.href='{getUrl('act','dispMemberInfo','member_srl','')}'" class="button"><span>취소</span></a>
<a href="#" onclick="location.href='{getUrl('act','dispMemberInfo','member_srl','')}'" class="button"><span>{$lang->cmd_back}</span></a>
</div>
</form>
</div>
<!--#include("./common_footer.html")-->