mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-04 01:23:32 +09:00
virtual site + homepage package 추가. 아직 미완성 버전이므로 서비스 반영하지 말아주세요. 테스트중
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4871 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
c5dbc3405c
commit
e745b70268
171 changed files with 5243 additions and 274 deletions
|
|
@ -335,11 +335,12 @@
|
|||
* @brief 그룹 등록
|
||||
**/
|
||||
function insertGroup($args) {
|
||||
if(!$args->site_srl) $args->site_srl = 0;
|
||||
// is_default값을 체크, Y일 경우 일단 모든 is_default에 대해서 N 처리
|
||||
if($args->is_default!='Y') {
|
||||
$args->is_default = 'N';
|
||||
} else {
|
||||
$output = executeQuery('member.updateGroupDefaultClear');
|
||||
$output = executeQuery('member.updateGroupDefaultClear', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
}
|
||||
|
||||
|
|
@ -353,7 +354,7 @@
|
|||
// is_default값을 체크, Y일 경우 일단 모든 is_default에 대해서 N 처리
|
||||
if($args->is_default!='Y') $args->is_default = 'N';
|
||||
else {
|
||||
$output = executeQuery('member.updateGroupDefaultClear');
|
||||
$output = executeQuery('member.updateGroupDefaultClear', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
}
|
||||
|
||||
|
|
@ -363,7 +364,7 @@
|
|||
/**
|
||||
* 그룹 삭제
|
||||
**/
|
||||
function deleteGroup($group_srl) {
|
||||
function deleteGroup($group_srl, $site_srl = null) {
|
||||
// 멤버모델 객체 생성
|
||||
$oMemberModel = &getModel('member');
|
||||
|
||||
|
|
@ -374,7 +375,7 @@
|
|||
if($group_info->is_default == 'Y') return new Object(-1, 'msg_not_delete_default');
|
||||
|
||||
// is_default == 'Y'인 그룹을 가져옴
|
||||
$default_group = $oMemberModel->getDefaultGroup();
|
||||
$default_group = $oMemberModel->getDefaultGroup($site_srl);
|
||||
$default_group_srl = $default_group->group_srl;
|
||||
|
||||
// default_group_srl로 변경
|
||||
|
|
|
|||
|
|
@ -78,6 +78,21 @@
|
|||
return executeQuery($query_id, $args);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 사이트별 회원 목록을 구함
|
||||
**/
|
||||
function getSiteMemberList($site_srl, $page = 1) {
|
||||
$args->site_srl = $site_srl;
|
||||
$args->page = $page;
|
||||
$args->list_count = 40;
|
||||
$args->page_count = 10;
|
||||
$query_id = 'member.getSiteMemberList';
|
||||
$output = executeQueryArray($query_id, $args);
|
||||
if(!$output->data) return array();
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 회원 모듈의 특정 스킨에 속한 컬러셋 목록을 return
|
||||
**/
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
// 개인별로 그룹목록을 가져 옴
|
||||
if($output->data) {
|
||||
foreach($output->data as $key => $member) {
|
||||
$output->data[$key]->group_list = $oMemberModel->getMemberGroups($member->member_srl);
|
||||
$output->data[$key]->group_list = $oMemberModel->getMemberGroups($member->member_srl,0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -67,6 +67,9 @@
|
|||
$oModuleController->insertActionForward('member', 'controller', 'procMemberDeleteImageName');
|
||||
$oModuleController->insertActionForward('member', 'controller', 'procMemberDeleteImageMark');
|
||||
|
||||
$oDB = &DB::getInstance();
|
||||
$oDB->addIndex("member_group","idx_site_title", array("site_srl","title"),true);
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$args = $oModuleModel->getModuleConfig('member');
|
||||
|
||||
|
|
@ -190,6 +193,11 @@
|
|||
$act = $oDB->isColumnExists("member_auth_mail", "is_register");
|
||||
if(!$act) return true;
|
||||
|
||||
// member_group_member 테이블에 site_srl 추가 (2008. 11. 15)
|
||||
if(!$oDB->isColumnExists("member_group_member", "site_srl")) return true;
|
||||
if(!$oDB->isColumnExists("member_group", "site_srl")) return true;
|
||||
if($oDB->isIndexExists("member_group","uni_member_group_title")) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -220,6 +228,19 @@
|
|||
$oDB->addColumn("member_auth_mail", "is_register", "char", 1, "N", true);
|
||||
}
|
||||
|
||||
// member_group_member 테이블에 site_srl 추가 (2008. 11. 15)
|
||||
if (!$oDB->isColumnExists("member_group_member", "site_srl")) {
|
||||
$oDB->addColumn("member_group_member", "site_srl", "number", 11, 0, true);
|
||||
$oDB->addIndex("member_group_member", "idx_site_srl", "site_srl", false);
|
||||
}
|
||||
if (!$oDB->isColumnExists("member_group", "site_srl")) {
|
||||
$oDB->addColumn("member_group", "site_srl", "number", 11, 0, true);
|
||||
$oDB->addIndex("member_group","idx_site_title", array("site_srl","title"),true);
|
||||
}
|
||||
if($oDB->isIndexExists("member_group","uni_member_group_title")) {
|
||||
$oDB->dropIndex("member_group","uni_member_group_title",true);
|
||||
}
|
||||
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -862,14 +862,40 @@
|
|||
/**
|
||||
* @brief member_srl에 group_srl을 추가
|
||||
**/
|
||||
function addMemberToGroup($member_srl,$group_srl) {
|
||||
function addMemberToGroup($member_srl,$group_srl,$site_srl=0) {
|
||||
$args->member_srl = $member_srl;
|
||||
$args->group_srl = $group_srl;
|
||||
if($site_srl) $args->site_srl = $site_srl;
|
||||
|
||||
// 추가
|
||||
return executeQuery('member.addMemberToGroup',$args);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 특정 회원들의 그룹을 일괄 변경
|
||||
**/
|
||||
function replaceMemberGroup($args) {
|
||||
$obj->site_srl = $args->site_srl;
|
||||
$obj->member_srl = implode(',',$args->member_srl);
|
||||
$output = executeQuery('member.deleteMembersGroup', $obj);
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
$inserted_members = array();
|
||||
foreach($args->member_srl as $key => $val) {
|
||||
if($inserted_members[$val]) continue;
|
||||
$inserted_members[$val] = true;
|
||||
|
||||
unset($obj);
|
||||
$obj->member_srl = $val;
|
||||
$obj->group_srl = $args->group_srl;
|
||||
$obj->site_srl = $args->site_srl;
|
||||
$output = executeQuery('member.addMemberToGroup', $obj);
|
||||
if(!$output->toBool()) return $output;
|
||||
}
|
||||
return new Object();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 자동 로그인 시킴
|
||||
**/
|
||||
|
|
@ -993,12 +1019,13 @@
|
|||
$_SESSION['is_logged'] = true;
|
||||
$_SESSION['ipaddress'] = $_SERVER['REMOTE_ADDR'];
|
||||
$_SESSION['member_srl'] = $member_info->member_srl;
|
||||
$_SESSION['is_admin'] = false;
|
||||
$_SESSION['is_admin'] = '';
|
||||
|
||||
// 비밀번호는 세션에 저장되지 않도록 지워줌;;
|
||||
unset($member_info->password);
|
||||
|
||||
// 사용자 그룹 설정
|
||||
/*
|
||||
if($member_info->group_list) {
|
||||
$group_srl_list = array_keys($member_info->group_list);
|
||||
$_SESSION['group_srls'] = $group_srl_list;
|
||||
|
|
@ -1006,8 +1033,9 @@
|
|||
// 관리자 그룹일 경우 관리자로 지정
|
||||
$oMemberModel = &getModel('member');
|
||||
$admin_group = $oMemberModel->getAdminGroup();
|
||||
if($admin_group->group_srl && in_array($admin_group->group_srl, $group_srl_list)) $_SESSION['is_admin'] = true;
|
||||
if($admin_group->group_srl && in_array($admin_group->group_srl, $group_srl_list)) $_SESSION['is_admin'] = 'Y';
|
||||
}
|
||||
*/
|
||||
|
||||
// 세션에 로그인 사용자 정보 저장
|
||||
$_SESSION['logged_info'] = $member_info;
|
||||
|
|
@ -1119,7 +1147,7 @@
|
|||
|
||||
// 입력된 그룹 값이 없으면 기본 그룹의 값을 등록
|
||||
if(!$args->group_srl_list) {
|
||||
$default_group = $oMemberModel->getDefaultGroup();
|
||||
$default_group = $oMemberModel->getDefaultGroup(0);
|
||||
|
||||
// 기본 그룹에 추가
|
||||
$output = $this->addMemberToGroup($args->member_srl,$default_group->group_srl);
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
/**
|
||||
* @brief 자주 호출될거라 예상되는 데이터는 내부적으로 가지고 있자...
|
||||
**/
|
||||
var $member_groups = NULL;
|
||||
var $join_form_list = NULL;
|
||||
|
||||
/**
|
||||
|
|
@ -117,7 +116,37 @@
|
|||
**/
|
||||
function getLoggedInfo() {
|
||||
// 로그인 되어 있고 세션 정보를 요청하면 세션 정보를 return
|
||||
if($this->isLogged()) return $_SESSION['logged_info'];
|
||||
if($this->isLogged()) {
|
||||
$logged_info = $_SESSION['logged_info'];
|
||||
|
||||
// site_module_info에 따라서 관리자/ 그룹 목록을 매번 재지정
|
||||
$site_module_info = Context::get('site_module_info');
|
||||
if($site_module_info) {
|
||||
unset($logged_info->group_list);
|
||||
$site_srl = $site_module_info->site_srl;
|
||||
$groups = $this->getMemberGroups($logged_info->member_srl, $site_srl);
|
||||
|
||||
// 만약 현재 접속된 사이트의 그룹이 없으면 기본 그룹을 지정
|
||||
if(!count($groups)) {
|
||||
$default_group = $this->getDefaultGroup($site_module_info->site_srl);
|
||||
$oMemberController = &getController('member');
|
||||
$oMemberController->addMemberToGroup($logged_info->member_srl, $default_group->group_srl, $site_srl);
|
||||
$groups[$default_group->group_srl] = $default_group->title;
|
||||
}
|
||||
|
||||
$logged_info->group_list = $groups;
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
if($oModuleModel->isSiteAdmin()) $logged_info->is_site_admin = true;
|
||||
else $logged_info->is_site_admin = false;
|
||||
} else {
|
||||
$logged_info->is_site_admin = false;
|
||||
}
|
||||
|
||||
$_SESSION['logged_info'] = $logged_info;
|
||||
|
||||
return $logged_info;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
@ -216,9 +245,11 @@
|
|||
/**
|
||||
* @brief member_srl이 속한 group 목록을 가져옴
|
||||
**/
|
||||
function getMemberGroups($member_srl) {
|
||||
if(!$this->member_groups[$member_srl]) {
|
||||
function getMemberGroups($member_srl, $site_srl = 0) {
|
||||
static $member_groups = array();
|
||||
if(!$member_groups[$member_srl][$site_srl]) {
|
||||
$args->member_srl = $member_srl;
|
||||
$args->site_srl = $site_srl;
|
||||
$output = executeQuery('member.getMemberGroups', $args);
|
||||
if(!$output->data) return array();
|
||||
|
||||
|
|
@ -228,16 +259,33 @@
|
|||
foreach($group_list as $group) {
|
||||
$result[$group->group_srl] = $group->title;
|
||||
}
|
||||
$this->member_groups[$member_srl] = $result;
|
||||
$member_groups[$member_srl][$site_srl] = $result;
|
||||
}
|
||||
return $this->member_groups[$member_srl];
|
||||
return $member_groups[$member_srl][$site_srl];
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief member_srl들이 속한 group 목록을 가져옴
|
||||
**/
|
||||
function getMembersGroups($member_srls, $site_srl = 0) {
|
||||
$args->member_srls = implode(',',$member_srls);
|
||||
$args->site_srl = $site_srl;
|
||||
$output = executeQuery('member.getMembersGroups', $args);
|
||||
if(!$output->data) return array();
|
||||
|
||||
$result = array();
|
||||
foreach($output->data as $key=>$val) {
|
||||
$result[$val->member_srl][] = $val->title;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 기본 그룹을 가져옴
|
||||
**/
|
||||
function getDefaultGroup() {
|
||||
$output = executeQuery('member.getDefaultGroup');
|
||||
function getDefaultGroup($site_srl = 0) {
|
||||
$args->site_srl = $site_srl;
|
||||
$output = executeQuery('member.getDefaultGroup', $args);
|
||||
return $output->data;
|
||||
}
|
||||
|
||||
|
|
@ -261,8 +309,9 @@
|
|||
/**
|
||||
* @brief 그룹 목록을 가져옴
|
||||
**/
|
||||
function getGroups() {
|
||||
$output = executeQuery('member.getGroups');
|
||||
function getGroups($site_srl = 0) {
|
||||
$args->site_srl = $site_srl;
|
||||
$output = executeQuery('member.getGroups', $args);
|
||||
if(!$output->data) return;
|
||||
|
||||
$group_list = $output->data;
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
<columns>
|
||||
<column name="group_srl" var="group_srl" notnull="notnull" />
|
||||
<column name="member_srl" var="member_srl" notnull="notnull" />
|
||||
<column name="site_srl" var="site_srl" default="0" />
|
||||
<column name="regdate" default="curdate()" />
|
||||
</columns>
|
||||
</query>
|
||||
|
|
|
|||
8
modules/member/queries/deleteMemberGroup.xml
Normal file
8
modules/member/queries/deleteMemberGroup.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<query id="deleteMemberGroup" action="delete">
|
||||
<tables>
|
||||
<table name="member_group_member" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="site_srl" var="site_srl" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
<table name="member_group_member" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="more" column="group_srl" default="0" />
|
||||
<condition operation="in" column="member_srl" var="member_srl" notnull="notnull" filter="number" pipe="and" />
|
||||
<condition operation="equal" column="site_srl" var="site_srl" default="0" />
|
||||
<condition operation="in" column="member_srl" var="member_srl" notnull="notnull" filter="numbers" pipe="and" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -7,5 +7,6 @@
|
|||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="is_default" default="Y" />
|
||||
<condition operation="equal" column="site_srl" var="site_srl" pipe="and" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -5,4 +5,7 @@
|
|||
<navigation>
|
||||
<index var="sort_index" default="group_srl" order="desc" />
|
||||
</navigation>
|
||||
<conditions>
|
||||
<condition operation="equal" column="site_srl" var="site_srl" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="b.member_srl" var="member_srl" filter="number" notnull="notnull" />
|
||||
<condition operation="equal" column="b.group_srl" var="a.group_srl" pipe="and" />
|
||||
<condition operation="equal" column="b.group_srl" default="a.group_srl" pipe="and" />
|
||||
<condition operation="equal" column="a.site_srl" var="site_srl" pipe="and" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
16
modules/member/queries/getMembersGroups.xml
Normal file
16
modules/member/queries/getMembersGroups.xml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<query id="getMembersGroups" action="select">
|
||||
<tables>
|
||||
<table name="member_group" alias="a"/>
|
||||
<table name="member_group_member" alias="b"/>
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="a.title" alias="title" />
|
||||
<column name="a.group_srl" alias="group_srl" />
|
||||
<column name="b.member_srl" alias="member_srl" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="b.site_srl" var="site_srl" default="0" />
|
||||
<condition operation="equal" column="a.group_srl" default="b.group_srl" pipe="and" />
|
||||
<condition operation="in" column="b.member_srl" var="member_srls" filter="numbers" notnull="notnull" pipe="and" />
|
||||
</conditions>
|
||||
</query>
|
||||
25
modules/member/queries/getSiteMemberList.xml
Normal file
25
modules/member/queries/getSiteMemberList.xml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<query id="getSiteMemberList" action="select">
|
||||
<tables>
|
||||
<table name="member_group_member" />
|
||||
<table name="member_group" />
|
||||
<table name="member" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="member.*" />
|
||||
<column name="member_group_member.regdate" alias="regdate" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="member_group.site_srl" var="site_srl" notnull="notnull"/>
|
||||
<condition operation="equal" column="member_group_member.group_srl" default="member_group.group_srl" notnull="notnull" pipe="and"/>
|
||||
<condition operation="equal" column="member.member_srl" var="member_group_member.member_srl" pipe="and" />
|
||||
</conditions>
|
||||
<navigation>
|
||||
<index var="sort_index" default="member.member_srl" order="desc" />
|
||||
<list_count var="list_count" default="20" />
|
||||
<page_count var="page_count" default="10" />
|
||||
<page var="page" default="1" />
|
||||
</navigation>
|
||||
<groups>
|
||||
<group column="member.member_srl" />
|
||||
</groups>
|
||||
</query>
|
||||
|
|
@ -3,6 +3,7 @@
|
|||
<table name="member_group" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="site_srl" var="site_srl" default="0" notnull="notnull" />
|
||||
<column name="group_srl" var="group_srl" default="sequence()" notnull="notnull" />
|
||||
<column name="title" var="title" notnull="notnull" />
|
||||
<column name="is_default" var="is_default" default="N" notnull="notnull" />
|
||||
|
|
|
|||
|
|
@ -5,4 +5,7 @@
|
|||
<columns>
|
||||
<column name="is_default" default="N" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="site_srl" var="site_srl" default="0" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<table name="member_group">
|
||||
<column name="site_srl" type="number" size="11" notnull="notnull" default="0" />
|
||||
<column name="group_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
|
||||
<column name="title" type="varchar" size="80" notnull="notnull" unique="uni_member_group_title" />
|
||||
<column name="title" type="varchar" size="80" notnull="notnull" />
|
||||
<column name="regdate" type="date" />
|
||||
<column name="is_default" type="char" default="N" />
|
||||
<column name="is_admin" type="char" default="N" />
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<table name="member_group_member">
|
||||
<column name="site_srl" type="number" size="11" notnull="notnull" index="idx_site_srl" default="0" />
|
||||
<column name="group_srl" type="number" size="11" notnull="notnull" index="idx_group_member" />
|
||||
<column name="member_srl" type="number" size="11" notnull="notnull" index="idx_group_member" />
|
||||
<column name="regdate" type="date" />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue