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

This commit is contained in:
zero 2007-03-30 06:48:43 +00:00
parent 22c70bff60
commit 13901b88c8
32 changed files with 888 additions and 862 deletions

View file

@ -16,7 +16,7 @@
/**
* @brief user_id, password를 체크하여 로그인 시킴
**/
function procLogin($user_id, $password) {
function procMemberLogin($user_id, $password) {
// 변수 정리
if(!$user_id) $user_id = Context::get('user_id');
$user_id = trim($user_id);
@ -63,7 +63,7 @@
/**
* @brief 로그아웃
**/
function procLogout() {
function procMemberLogout() {
$_SESSION['is_logged'] = false;
$_SESSION['ipaddress'] = $_SERVER['REMOTE_ADDR'];
$_SESSION['logged_info'] = NULL;
@ -76,7 +76,7 @@
/**
* @brief 사용자 추가 (관리자용)
**/
function procInsert() {
function procMemberAdminInsert() {
// 필수 정보들을 미리 추출
$args = Context::gets('member_srl','user_id','user_name','nick_name','email_address','password','allow_mailing','denied','is_admin','signature','profile_image','image_nick','image_mark','description','group_srl_list');
@ -119,7 +119,7 @@
/**
* @brief 사용자 삭제 (관리자용)
**/
function procDelete() {
function procMemberAdminDelete() {
// 일단 입력된 값들을 모두 받아서 db 입력항목과 그외 것으로 분리
$member_srl = Context::get('member_srl');
@ -133,7 +133,7 @@
/**
* @brief 회원 관리용 기본 정보의 추가
**/
function procInsertConfig() {
function procMemberAdminInsertConfig() {
// 기본 정보를 받음
$args = Context::gets('enable_join','redirect_url','agreement','image_name','image_mark', 'image_name_max_width', 'image_name_max_height','image_mark_max_width','image_mark_max_height');
if($args->enable_join!='Y') $args->enable_join = 'N';
@ -149,7 +149,7 @@
/**
* @brief 사용자 그룹 추가
**/
function procInsertGroup() {
function procMemberAdminInsertGroup() {
$args = Context::gets('title','description','is_default');
$output = $this->insertGroup($args);
if(!$output->toBool()) return $output;
@ -162,7 +162,7 @@
/**
* @brief 사용자 그룹 정보 수정
**/
function procUpdateGroup() {
function procMemberAdminUpdateGroup() {
$group_srl = Context::get('group_srl');
$mode = Context::get('mode');
@ -188,7 +188,7 @@
/**
* @brief 가입 항목 추가
**/
function procInsertJoinForm() {
function procMemberAdminInsertJoinForm() {
$oDB = &DB::getInstance();
$args->member_join_form_srl = Context::get('member_join_form_srl');
@ -224,7 +224,7 @@
/**
* @brief 가입 항목의 / 이동 내용 수정
**/
function procUpdateJoinForm() {
function procMemberAdminUpdateJoinForm() {
$member_join_form_srl = Context::get('member_join_form_srl');
$mode = Context::get('mode');
@ -252,7 +252,7 @@
/**
* @brief 금지 아이디 추가
**/
function procInsertDeniedID() {
function procMemberAdminInsertDeniedID() {
$user_id = Context::get('user_id');
$description = Context::get('description');
@ -268,7 +268,7 @@
/**
* @brief 금지 아이디 업데이트
**/
function procUpdateDeniedID() {
function procMemberAdminUpdateDeniedID() {
$user_id = Context::get('user_id');
$mode = Context::get('mode');
@ -286,6 +286,181 @@
$this->setMessage($msg_code);
}
/**
* @brief 이미지 이름을 추가
**/
function procMemberInsertImageName() {
// 정상적으로 업로드 된 파일인지 검사
$file = $_FILES['image_name'];
if(!is_uploaded_file($file['tmp_name'])) return $this->stop('msg_not_uploaded_image_name');
// 회원 정보를 검사해서 회원번호가 없거나 관리자가 아니고 회원번호가 틀리면 무시
$member_srl = Context::get('member_srl');
if(!$member_srl) return $this->stop('msg_not_uploaded_image_name');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin != 'Y' && $logged_info->member_srl != $member_srl) return $this->stop('msg_not_uploaded_image_name');
// 회원 모듈 설정에서 이미지 이름 사용 금지를 하였을 경우 관리자가 아니면 return;
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($logged_info->is_admin != 'Y' && $config->image_name != 'Y') return $this->stop('msg_not_uploaded_image_name');
// 정해진 사이즈를 구함
$max_width = $config->image_name_max_width;
if(!$max_width) $max_width = "80";
$max_height = $config->image_name_max_height;
if(!$max_height) $max_height = "20";
// 이미지 정보를 구함
list($width, $height, $type, $attrs) = getimagesize($file['tmp_name']);
// 이미지 정보가 정해진 크기보다 크면 크기를 바꿈
if($width>$max_width) $new_width = $max_width;
else $new_width = $width;
if($height>$max_height) $new_height = $max_height;
else $new_height = $height;
// 업로드한 파일을 옮기지 않고 gd를 이용해서 gif 이미지를 만듬 (gif, jpg, png, bmp가 아니면 역시 무시)
$thumb = imagecreatetruecolor($new_width, $new_height);
switch($type) {
// gif
case 1 :
$source = imagecreatefromgif($file['tmp_name']);
break;
// jpg
case 2 :
$source = imagecreatefromjpeg($file['tmp_name']);
break;
// png
case 3 :
$source = imagecreatefrompng($file['tmp_name']);
break;
// bmp
case 6 :
$source = imagecreatefromwbmp($file['tmp_name']);
break;
}
if(!$source) return $this->stop('msg_not_uploaded_image_name');
if(function_exists('imagecopyresampled')) imagecopyresampled($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
else imagecopyresized($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// 파일을 쓰고 끝냄
$target_filename = sprintf('files/attach/image_name/%s%d.gif', getNumberingPath($member_srl), $member_srl);
imagegif($thumb, $target_filename, 100);
@unlink($file['tmp_name']);
// 페이지 리프레쉬
$this->setRefreshPage();
}
/**
* @brief 이미지 이름을 삭제
**/
function procMemberDeleteImageName() {
$member_srl = Context::get('member_srl');
if(!$member_srl) return new Object(0,'success');
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($config->image_mark == 'N') return new Object(0,'success');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y' || $logged_info->member_srl == $member_srl) {
$oMemberModel = &getModel('member');
$image_name = $oMemberModel->getImageName($member_srl);
@unlink($image_name->file);
}
return new Object(0,'success');
}
/**
* @brief 이미지 마크를 추가
**/
function procMemberInsertImageMark() {
// 정상적으로 업로드 된 파일인지 검사
$file = $_FILES['image_mark'];
if(!is_uploaded_file($file['tmp_name'])) return $this->stop('msg_not_uploaded_image_mark');
// 회원 정보를 검사해서 회원번호가 없거나 관리자가 아니고 회원번호가 틀리면 무시
$member_srl = Context::get('member_srl');
if(!$member_srl) return $this->stop('msg_not_uploaded_image_mark');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin != 'Y' && $logged_info->member_srl != $member_srl) return $this->stop('msg_not_uploaded_image_mark');
// 회원 모듈 설정에서 이미지 마크 사용 금지를 하였을 경우 관리자가 아니면 return;
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($logged_info->is_admin != 'Y' && $config->image_mark != 'Y') return $this->stop('msg_not_uploaded_image_mark');
// 정해진 사이즈를 구함
$max_width = $config->image_mark_max_width;
if(!$max_width) $max_width = "80";
$max_height = $config->image_mark_max_height;
if(!$max_height) $max_height = "20";
// 이미지 정보를 구함
list($width, $height, $type, $attrs) = getimagesize($file['tmp_name']);
// 이미지 정보가 정해진 크기보다 크면 크기를 바꿈
if($width>$max_width) $new_width = $max_width;
else $new_width = $width;
if($height>$max_height) $new_height = $max_height;
else $new_height = $height;
// 업로드한 파일을 옮기지 않고 gd를 이용해서 gif 이미지를 만듬 (gif, jpg, png, bmp가 아니면 역시 무시)
$thumb = imagecreatetruecolor($new_width, $new_height);
switch($type) {
// gif
case 1 :
$source = imagecreatefromgif($file['tmp_name']);
break;
// jpg
case 2 :
$source = imagecreatefromjpeg($file['tmp_name']);
break;
// png
case 3 :
$source = imagecreatefrompng($file['tmp_name']);
break;
// bmp
case 6 :
$source = imagecreatefromwbmp($file['tmp_name']);
break;
}
if(!$source) return $this->stop('msg_not_uploaded_image_mark');
if(function_exists('imagecopyresampled')) imagecopyresampled($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
else imagecopyresized($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// 파일을 쓰고 끝냄
$target_filename = sprintf('files/attach/image_mark/%s%d.gif', getNumberingPath($member_srl), $member_srl);
imagegif($thumb, $target_filename, 100);
// 페이지 리프레쉬
$this->setRefreshPage();
}
/**
* @brief 이미지 마크를 삭제
**/
function procMemberDeleteImageMark() {
$member_srl = Context::get('member_srl');
if(!$member_srl) return new Object(0,'success');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y' || $logged_info->member_srl == $member_srl) {
$oMemberModel = &getModel('member');
$image_mark = $oMemberModel->getImageMark($member_srl);
@unlink($image_mark->file);
}
return new Object(0,'success');
}
/**
* @brief 관리자를 추가한다
**/
@ -657,181 +832,6 @@
return new Object();
}
/**
* @brief 이미지 이름을 추가
**/
function procInsertImageName() {
// 정상적으로 업로드 된 파일인지 검사
$file = $_FILES['image_name'];
if(!is_uploaded_file($file['tmp_name'])) return $this->stop('msg_not_uploaded_image_name');
// 회원 정보를 검사해서 회원번호가 없거나 관리자가 아니고 회원번호가 틀리면 무시
$member_srl = Context::get('member_srl');
if(!$member_srl) return $this->stop('msg_not_uploaded_image_name');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin != 'Y' && $logged_info->member_srl != $member_srl) return $this->stop('msg_not_uploaded_image_name');
// 회원 모듈 설정에서 이미지 이름 사용 금지를 하였을 경우 관리자가 아니면 return;
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($logged_info->is_admin != 'Y' && $config->image_name != 'Y') return $this->stop('msg_not_uploaded_image_name');
// 정해진 사이즈를 구함
$max_width = $config->image_name_max_width;
if(!$max_width) $max_width = "80";
$max_height = $config->image_name_max_height;
if(!$max_height) $max_height = "20";
// 이미지 정보를 구함
list($width, $height, $type, $attrs) = getimagesize($file['tmp_name']);
// 이미지 정보가 정해진 크기보다 크면 크기를 바꿈
if($width>$max_width) $new_width = $max_width;
else $new_width = $width;
if($height>$max_height) $new_height = $max_height;
else $new_height = $height;
// 업로드한 파일을 옮기지 않고 gd를 이용해서 gif 이미지를 만듬 (gif, jpg, png, bmp가 아니면 역시 무시)
$thumb = imagecreatetruecolor($new_width, $new_height);
switch($type) {
// gif
case 1 :
$source = imagecreatefromgif($file['tmp_name']);
break;
// jpg
case 2 :
$source = imagecreatefromjpeg($file['tmp_name']);
break;
// png
case 3 :
$source = imagecreatefrompng($file['tmp_name']);
break;
// bmp
case 6 :
$source = imagecreatefromwbmp($file['tmp_name']);
break;
}
if(!$source) return $this->stop('msg_not_uploaded_image_name');
if(function_exists('imagecopyresampled')) imagecopyresampled($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
else imagecopyresized($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// 파일을 쓰고 끝냄
$target_filename = sprintf('files/attach/image_name/%s%d.gif', getNumberingPath($member_srl), $member_srl);
imagegif($thumb, $target_filename, 100);
@unlink($file['tmp_name']);
// 페이지 리프레쉬
$this->setRefreshPage();
}
/**
* @brief 이미지 이름을 삭제
**/
function procDeleteImageName() {
$member_srl = Context::get('member_srl');
if(!$member_srl) return new Object(0,'success');
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($config->image_mark == 'N') return new Object(0,'success');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y' || $logged_info->member_srl == $member_srl) {
$oMemberModel = &getModel('member');
$image_name = $oMemberModel->getImageName($member_srl);
@unlink($image_name->file);
}
return new Object(0,'success');
}
/**
* @brief 이미지 마크를 추가
**/
function procInsertImageMark() {
// 정상적으로 업로드 된 파일인지 검사
$file = $_FILES['image_mark'];
if(!is_uploaded_file($file['tmp_name'])) return $this->stop('msg_not_uploaded_image_mark');
// 회원 정보를 검사해서 회원번호가 없거나 관리자가 아니고 회원번호가 틀리면 무시
$member_srl = Context::get('member_srl');
if(!$member_srl) return $this->stop('msg_not_uploaded_image_mark');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin != 'Y' && $logged_info->member_srl != $member_srl) return $this->stop('msg_not_uploaded_image_mark');
// 회원 모듈 설정에서 이미지 마크 사용 금지를 하였을 경우 관리자가 아니면 return;
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($logged_info->is_admin != 'Y' && $config->image_mark != 'Y') return $this->stop('msg_not_uploaded_image_mark');
// 정해진 사이즈를 구함
$max_width = $config->image_mark_max_width;
if(!$max_width) $max_width = "80";
$max_height = $config->image_mark_max_height;
if(!$max_height) $max_height = "20";
// 이미지 정보를 구함
list($width, $height, $type, $attrs) = getimagesize($file['tmp_name']);
// 이미지 정보가 정해진 크기보다 크면 크기를 바꿈
if($width>$max_width) $new_width = $max_width;
else $new_width = $width;
if($height>$max_height) $new_height = $max_height;
else $new_height = $height;
// 업로드한 파일을 옮기지 않고 gd를 이용해서 gif 이미지를 만듬 (gif, jpg, png, bmp가 아니면 역시 무시)
$thumb = imagecreatetruecolor($new_width, $new_height);
switch($type) {
// gif
case 1 :
$source = imagecreatefromgif($file['tmp_name']);
break;
// jpg
case 2 :
$source = imagecreatefromjpeg($file['tmp_name']);
break;
// png
case 3 :
$source = imagecreatefrompng($file['tmp_name']);
break;
// bmp
case 6 :
$source = imagecreatefromwbmp($file['tmp_name']);
break;
}
if(!$source) return $this->stop('msg_not_uploaded_image_mark');
if(function_exists('imagecopyresampled')) imagecopyresampled($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
else imagecopyresized($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// 파일을 쓰고 끝냄
$target_filename = sprintf('files/attach/image_mark/%s%d.gif', getNumberingPath($member_srl), $member_srl);
imagegif($thumb, $target_filename, 100);
// 페이지 리프레쉬
$this->setRefreshPage();
}
/**
* @brief 이미지 마크를 삭제
**/
function procDeleteImageMark() {
$member_srl = Context::get('member_srl');
if(!$member_srl) return new Object(0,'success');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y' || $logged_info->member_srl == $member_srl) {
$oMemberModel = &getModel('member');
$image_mark = $oMemberModel->getImageMark($member_srl);
@unlink($image_mark->file);
}
return new Object(0,'success');
}
/**
* @brief 최종 출력물에서 이미지 이름을 변경
* imgae_name 애드온에서 요청이