mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-17 18:29:55 +09:00
관리자 페이지 패키지별 UI 적용을 위한 1차 작업 마무리
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@4616 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
856ab513ec
commit
ba4e9e26e2
248 changed files with 3520 additions and 3424 deletions
110
modules/ldap/ldap.controller.php
Normal file
110
modules/ldap/ldap.controller.php
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
<?php
|
||||
/**
|
||||
* @class ldapController
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief ldap 모듈의 controller class
|
||||
**/
|
||||
|
||||
class ldapController extends ldap {
|
||||
|
||||
/**
|
||||
* @brief 초기화
|
||||
**/
|
||||
function init() {
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* @brief LDAP 연동하여 정보를 return하는 method
|
||||
**/
|
||||
function triggerLdapLogin(&$obj) {
|
||||
// ldap 관련 설정 정보를 구함
|
||||
$oLdapModel = &getModel('ldap');
|
||||
$config = $oLdapModel->getConfig();
|
||||
if($config->use_ldap != 'Y') return new Object();
|
||||
|
||||
// 사용자 아이디와 비밀번호를 trigger obj 변수에서 구함
|
||||
$user_id = $obj->user_id;
|
||||
$password = $obj->password;
|
||||
|
||||
// 인증 시도
|
||||
$output = $oLdapModel->ldap_conn($user_id, $password, $config->ldap_userdn_suffix, $config->ldap_basedn, $config->ldap_server, $config->ldap_port);
|
||||
|
||||
// 인증 실패시 아무 event없이 그냥 return하여 기존 인증을 계속 유지
|
||||
if(!$output->toBool()) return new Object();
|
||||
|
||||
// 설정정보를 바탕으로 기본 정보를 구함
|
||||
$ldap_info = $output->getVariables();
|
||||
|
||||
$info->user_id = $user_id;
|
||||
$info->password = md5($password);
|
||||
$info->email_address = $ldap_info[$config->ldap_email_entry];
|
||||
$info->nick_name = $ldap_info[$config->ldap_nickname_entry];
|
||||
$info->user_name = $ldap_info[$config->ldap_username_entry];
|
||||
list($info->email_id, $info->email_host) = explode('@', $info->email_address);
|
||||
$group = $ldap_info[$config->ldap_group_entry];
|
||||
|
||||
// 이미 존재하는 회원인지 확인
|
||||
$oMemberModel = &getModel('member');
|
||||
$member = $oMemberModel->getMemberInfoByUserID($info->user_id);
|
||||
|
||||
// 이미 존재하면 메일주소/닉네임/사용자이름/그룹중에 변경된 것이 있는지 확인
|
||||
if($member->user_id == $info->user_id) {
|
||||
$info->member_srl = $member->member_srl;
|
||||
|
||||
if($info->password != $member->password || $info->email_address != $member->email_address || $info->nick_name != $member->nick_name || $info->user_name != $member->user_name) {
|
||||
$output = executeQuery('member.updateMember', $info);
|
||||
} else $output = new Object();
|
||||
|
||||
// 존재하지 않으면 회원정보 추가
|
||||
} else {
|
||||
$info->member_srl = getNextSequence();
|
||||
$info->allow_mailing = 'Y';
|
||||
$info->allow_message = 'Y';
|
||||
$info->denied = 'N';
|
||||
$info->is_admin = 'N';
|
||||
|
||||
// 아이디, 닉네임, email address 의 중복 체크
|
||||
$member_srl = $oMemberModel->getMemberSrlByNickName($info->nick_name);
|
||||
if($member_srl) return new Object(-1,'msg_exists_nick_name');
|
||||
|
||||
$member_srl = $oMemberModel->getMemberSrlByEmailAddress($info->email_address);
|
||||
if($member_srl) return new Object(-1,'msg_exists_email_address');
|
||||
|
||||
$output = executeQuery('member.insertMember', $info);
|
||||
}
|
||||
|
||||
if(!$output->toBool()) return new Object();
|
||||
|
||||
$group_list = $member->group_list;
|
||||
if(!$group_list || !is_array($group_list)) $group_list = array();
|
||||
|
||||
// 수정 또는 입력 결과가 이상없다면 그룹 정보 작업
|
||||
if($group && !in_array($group, $group_list)) {
|
||||
$group_srl = 0;
|
||||
$groups = $oMemberModel->getGroups();
|
||||
foreach($groups as $k => $v) {
|
||||
if($v->title == $group) {
|
||||
$group_srl = $v->group_srl;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 그룹 추가
|
||||
if(!$group_srl) {
|
||||
$oMemberAdminController = &getAdminController('member');
|
||||
$group_srl = $group_args->group_srl = getNextSequence();
|
||||
$group_args->title = $group;
|
||||
$oMemberAdminController->insertGroup($group_args);
|
||||
}
|
||||
|
||||
// 그룹 설정
|
||||
$oMemberController = &getController('member');
|
||||
$oMemberController->addMemberToGroup($info->member_srl, $group_srl);
|
||||
}
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue