웹마스터 팁
프로필이미지, 이미지마크, 이미지이름 수정, 추가시 포인트 삭감
2009.11.02 17:52
이걸 팁이라고 올려도 될런지 모르겠군요 -ㅅ-;
다른 모듈의 model, controller 사용하는 법을 아예 모르시는 초보분들을 위해 일단 올려봅니다.
※주의 - 본 게시물 내용은 향후 해당 모듈이 업데이트 될시엔 문제가 발생할 수 있으니 적당히 알아서들 쓰시길 ^^;; (무책임 ㅎㄷㄷ)
module/member/member.controller.php 파일을 수정합니다.
/** * @brief 프로필 이미지 추가 **/ function procMemberInsertProfileImage() { // 정상적으로 업로드 된 파일인지 검사 $file = $_FILES['profile_image']; if(!is_uploaded_file($file['tmp_name'])) return $this->stop('+ '+ 'msg_not_uploaded_profile_image'); // 회원 정보를 검사해서 회원번호가 없거나 관리자가 아니고 회원번호가 틀리면 무시 $member_srl = Context::get('member_srl'); if(!$member_srl) return $this->stop('msg_not_uploaded_profile_image'); $logged_info = Context::get('logged_info'); if($logged_info->is_admin != 'Y' && $logged_info->member_srl != $member_srl) return $this->stop('msg_not_uploaded_profile_image'); // 회원 모듈 설정에서 이미지 이름 사용 금지를 하였을 경우 관리자가 아니면 return; $oModuleModel = &getModel('module'); $config = $oModuleModel->getModuleConfig('member'); if($logged_info->is_admin != 'Y' && $config->profile_image != '+ 'Y') return $this->stop('msg_not_uploaded_profile_image'); $this->insertProfileImage($member_srl, $file['tmp_name']); // 포인트 삭감 추가 $oPointController=&getController('point'); $oPointController->setPoint($member_srl,2000,'minus'); // 페이지 리프레쉬 $this->setRefreshPage(); } /** * @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'); $this->insertImageName($member_srl, $file['tmp_name']); // 포인트 삭감 추가 $oPointController=&getController('point'+ '); $oPointController->setPoint($member_srl,1000,'minus'); // 페이지 리프레쉬 $this->setRefreshPage(); } /** * @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'); $this->insertImageMark($member_srl, $file['tmp_name']); // 포인트 삭감 추가 $oPointController=&getController('point'); $oPointController->setPoint($member_srl,500,'minus'); // 페이지 리프레쉬 $this->setRefreshPage(); }
위와 같이 3개의 function을 찾으셔서 리프레쉬 바로 위에 아래의 두줄을 추가해주시면 됩니다. $member_srl 다음에 오는 숫자가
차감하길 원하는 포인트 입니다. 이 두줄 응용하시면 다른곳에서 포인트를 추가하실 수 도, 삭감하실 수 도 있습니다.
// 포인트 삭감 추가 $pValue='500'; $oPointController=&getController('point'); $oPointModel=&getModel('point'); $point=$oPointModel->getPoint($member_srl); if($point<$pValue){ $oPointController->setPoint($member_srl,$point,'minus'); }else{ $oPointController->setPoint($member_srl,$pValue,'minus'); }
----------------------------------------------------------------------------------------------------------
내용추가합니다. 젤 위의 예제 코드대로라면 차감 포인트 이하의 포인트를 가진 회원들은 -가 되버리거나 에러나겠죠-
바로 위 코드처럼 수정해주세요- 포인트가 모지라면 있는거 다 깍고 0됩니다.
이상 끝입니다.
XE는 각 모듈마다 조금씩은 틀릴 수 있지만,
만약 '아- 저모듈에 있는 저 기능을 쓰고 싶다' 할때는 필요에 따라 getModel('모듈명'), getController('모듈명') 이런식으로
가져다 쓸 수 있습니다. 저처럼 프로그래머라고는 부를 수 없는 허접한 코더들에겐 유용한 정보가 되길 바랍니다. ㅎㅎ
클래스 목록이 정리되어있는 페이지입니다. http://doc.xpressengine.com/annotated.html
열심히들 공부합시다- 아싸-
제목 | 글쓴이 | 날짜 |
---|---|---|
이미지마크 쓸 경우 레벨아이콘 위치 바꾸기 | 고진감래 | 2009.09.30 |
추천과 추천포인트 관련 팁 [8] | 고진감래 | 2009.09.30 |
제로보드4->XE 데이터 이전 시 회원 정보 오류 / 포인트 문제 [10] | 개돌 | 2009.10.08 |
프로필이미지, 이미지마크, 이미지이름 수정, 추가시 포인트 삭감 [1] | lattente | 2009.11.02 |
■ 초보님을 위한 XE 동영상 강좌 [초보님들 필독 권합니다. ^^] [8] | 파파민 | 2010.01.30 |
외부프로그램에서 제로보드 xe 및 그누보드 회원 연동(로그인) 하기 - 초간단 [1] | 한이73 | 2010.02.03 |
E-Mail을 ID로 사용하기
[3]
![]() | June Oh | 2010.02.25 |
확장변수 사용 (전화번호) 사용 예제 - 참고용 [2] | 무대포2 | 2010.03.17 |
XE 속도를 개선하기 위한 4가지 방법 (수정 #3) [9] | SMaker | 2010.04.14 |
Textyle 블로그 메인 주소를 blog.domain.com 로 설정하기
[1]
![]() | 네오랑 | 2010.05.18 |
관리자id , 닉네임, e-mail주소, 바꾸기, 최고관리자권한 없애기 [3] | 유병철 | 2010.06.18 |
제어판의 관리자 메뉴 확장해서 보기
[1]
![]() | amd짱좋아 | 2010.06.27 |
웹호스팅 이전에따른 zb4에서 xe로 디비 이전하기 | 김선호489 | 2010.06.29 |
관리자에게 무제한 추천기능 부여 (XE Core 수정) [8] | sejin7940 | 2010.06.30 |
회원확장정보 변수 (출처:sMaker) [5] | 시니시즘 | 2010.07.19 |
검정 배경 홈페이지용 회원 정보 스킨
![]() | LutZ | 2010.08.03 |
회원가입폼 내멋대로 내맘대로 하기. [9] | 지인짜 | 2010.08.04 |
회원 정보 및 회원 리스트에 회원 성별 앞에 아이콘 넣기
[5]
![]() | 늘푸른이 | 2010.08.06 |
관리자페이지 회원목록을 일반페이지에서 사용하기
[5]
![]() | 늘푸른이 | 2010.08.07 |
무분별한 스팸글 등록으로부터 임시해결 팁
[15]
![]() | 라르게덴 | 2010.08.12 |
감사합니다.. 도움이 되었습니다...