웹마스터 팁

적용하시기전에 아래의 링크를 반드시 참고 하세요.

http://www.zeroboard.com/16531452


1. zbxe/moudles/member/member.class.php

line 57 부근에 색         소스를 삽입한다. (추가된 부분 : 붉은 색의 코드를 추가한다)
 // 기본 정보를 세팅
            $args->enable_join = 'Y';
            if(!$args->enable_openid) $args->enable_openid = 'N';
   if(!$args->email_policy) $args->email_policy = 'Y';
   if(!$args->homepage_policy) $args->homepage_policy = 'Y';
   if(!$args->blog_policy) $args->blog_policy = 'Y';
   if(!$args->birthday_policy) $args->birthday_policy = 'Y';
            if(!$args->image_name) $args->image_name = 'Y';
            if(!$args->image_mark) $args->image_mark = 'Y';
            if(!$args->profile_image) $args->profile_image = 'Y';
            if(!$args->image_name_max_width) $args->image_name_max_width = '90';
            if(!$args->image_name_max_height) $args->image_name_max_height = '20';
            if(!$args->image_mark_max_width) $args->image_mark_max_width = '20';
            if(!$args->image_mark_max_height) $args->image_mark_max_height = '20';
            if(!$args->profile_image_max_width) $args->profile_image_max_width = '80';
            if(!$args->profile_image_max_height) $args->profile_image_max_height = '80';
            $oModuleController->insertModuleConfig('member',$args);

line 123 부근에 색         소스를 삽입한다.
/**
         * @brief 설치가 이상이 없는지 체크하는 method
         **/
        function checkUpdate() {
            $oDB = &DB::getInstance();
            $oModuleModel = &getModel('module');
          if(!$oDB->isColumnExists("member","allow_email")) return true;
            if(!$oDB->isColumnExists("member","allow_homepage")) return true;
            if(!$oDB->isColumnExists("member","allow_blog")) return true;
           if(!$oDB->isColumnExists("member","allow_birthday")) return true;
<<부연설명>> 관리자 페이지에서 업데이트로 DB에 삽입하고자하는 필드가 있는지를 체크함.

line 171 부근에           소스를 삽입한다.
/**
         * @brief 업데이트 실행
         **/
        function moduleUpdate() {
$oDB = &DB::getInstance();
           // $oModuleModel = &getModel('module');
          //$oModuleController = &getController('module');
if(!$oDB->isColumnExists("member","allow_email")) $oDB->addColumn('member',"allow_email","char",1,"Y");
            if(!$oDB->isColumnExists("member","allow_homepage")) $oDB->addColumn('member',"allow_homepage","char",1,"Y");
            if(!$oDB->isColumnExists("member","allow_blog")) $oDB->addColumn('member',"allow_blog","char",1,"Y");
   if(!$oDB->isColumnExists("member","allow_birthday")) $oDB->addColumn('member',"allow_birthday","char",1,"Y");
<<부연설명>> 관리자 페이지에서 업데이트로 DB에 필드를 삽입

2. zbxe/moudles/member/member.admin.controller.php

line19부근에         소스를 삽입한다.
function procMemberAdminInsert() {
            // 필수 정보들을 미리 추출
            $args = Context::gets('member_srl','user_id','user_name','nick_name','homepage','blog','birthday','email_address','password','allow_mailing', 'allow_message','allow_email','allow_blog','allow_homepage','allow_birthday','denied','is_admin','description', 'group_srl_list','limit_date');


lin81 부근에 색         소스를 삽입한다. (추가된 부분 : 붉은 색의 코드를 추가한다)
/**
         * @brief 회원 관리용 기본 정보의 추가
         **/
        function procMemberAdminInsertConfig() {
            // 기본 정보를 받음
            $args = Context::gets('webmaster_name','webmaster_email','skin','colorset','enable_openid','enable_join','limit_day','after_login_url', 'after_logout_url','redirect_url','agreement','profile_image','profile_image_max_width','profile_image_max_height', 'image_name','image_mark', 'image_name_max_width','image_name_max_height','image_mark_max_width', 'image_mark_max_height','signature_max_height','email_policy','homepage_policy','blog_policy'+ '+ ','birthday_policy');
            if(!$args->skin) $args->skin = "default";
            if(!$args->colorset) $args->colorset = "white";
            if($args->enable_join!='Y') $args->enable_join = 'N';
   if($args->email_policy!='Y') $args->email_policy = 'N';
   if($args->homepage_policy!='Y') $args->homepage_policy = 'N';
   if($args->blog_policy!='Y') $args->blog_policy = 'N';
   if($args->birthday_policy!='Y') $args->birthday_policy = 'N';
            if($args->enable_openid!='Y') $args->enable_openid= 'N';
            if($args->profile_image !='Y') $args->profile_image = 'N';
            if($args->image_name!='Y') $args->image_name = 'N';
            if($args->image_mark!='Y') $args->image_mark = 'N';
            if(!trim(strip_tags($args->agreement))) $args->agreement = null;
            $args->limit_day = (int)$args->limit_day;

3. zbxe/moudles/member/member.controller.php

1) line685부근에         소스를 삽입한다.
/**
         * @brief 회원 가입
         **/
        function procMemberInsert() {
            $oModuleModel = &getModel('module');
            $config = $oModuleModel->getModuleConfig('member');

            // 관리자가 회원가입을 허락하였는지 검사
            if($config->enable_join != 'Y') return $this->stop('msg_signup_disabled');

            // 약관에 동의하였는지 검사 (약관이 있을 경우만)
            if($config->agreement && Context::get('accept_agreement')!='Y') return $this->stop('msg_accept_agreement');
// 필수 정보들을 미리 추출
            $args = Context::gets('user_id','user_name','nick_name','homepage','blog','birthday','email_address','password','allow_mailing'+ ','allow_message',
'allow_email','allow_blog','allow_homepage','allow_birthday');
$args->member_srl = getNextSequence();

2) line 729 부근에         소스를 삽입한다.
 /**
         * @brief 회원 정보 수정
         **/
        function procMemberModifyInfo() {
            if(!Context::get('is_logged')) return $this->stop('msg_not_logged');
// 필수 정보들을 미리 추출
            $args = Context::gets('user_name','nick_name','homepage','blog','birthday','email_address','allow_mailing','allow_message',
'allow_email','allow_blog','allow_homepage','allow_birthday'+ ');

3) line1357 부근에         소스를 삽입한다.
 /**
         * @brief member 테이블에 사용자 추가
         **/
        function insertMember($args, $password_is_hashed = false) {
            // trigger 호출 (before)
            $output = ModuleHandler::triggerCall('member.insertMember', 'before', $args);
            if(!$output->toBool()) return $output;

            // 멤버 설정 정보에서 가입약관 부분을 재확인
            $oModuleModel = &getModel('module');
            $config = $oModuleModel->getModuleConfig('member');

            $logged_info = Context::get('logged_info');

            // 임시 제한 일자가 있을 경우 제한 일자에 내용 추가
            if($config->limit_day) $args->limit_date = date("YmdHis", time()+$config->limit_day*60*60*24);

            // 입력할 사용자의 아이디를 소문자로 변경
            $args->user_id = strtolower($args->user_id);

         // 필수 변수들의 조절
            if($args->allow_mailing!='Y') $args->allow_mailing = 'N';
            if($args->allow_email!='Y') $args->allow_email = 'N';
            if($args->allow_blog!='Y') $args->allow_blog = 'N';
            if($args->allow_homepage!='Y') $args->allow_homepage = 'N';
           if($args->allow_birthday!='+ 'Y') $args->allow_birthday = 'N';

            if(!in_array($args->allow_message, array('Y','N','F'))) $args->allow_message = 'Y';

4). line 1468 부근에         소스를 삽입한다.
/**
         * @brief member 정보 수정
         **/
        function updateMember($args) {
            // trigger 호출 (before)
            $output = ModuleHandler::triggerCall('member.updateMember', 'before', $args);
            if(!$output->toBool()) return $output;

            // 모델 객체 생성
            $oMemberModel = &getModel('member');

            $logged_info = Context::get('logged_info');

            // 수정하려는 대상의 원래 정보 가져오기
            $member_info = $oMemberModel->getMemberInfoByMemberSrl($args->member_srl);
            if(!$args->user_id) $args->user_id = $member_info->user_id;

            // 필수 변수들의 조절
            if($args->allow_mailing!='Y') $args->allow_mailing = 'N';
           if($args->allow_email!='+ 'Y') $args->allow_email = 'N';
            if($args->allow_blog!='Y') $args->allow_blog = 'N';
            if($args->allow_homepage!='Y') $args->allow_homepage = 'N';
            if($args->allow_birthday!='Y') $args->allow_birthday = 'N';

            if(!in_array($args->allow_message, array('Y','N','F'))) $args->allow_message = 'Y';

4. zbxe/moudles/member/member.model.php

line16 부근에 색         소스를 삽입한다. (추가된 부분 : 붉은 색의 코드를 추가한다)
/**
         * @brief 초기화
         **/
        function init() {
     // 회원 관리 정보를 받음
            $oModuleModel = &getModel('module');
            $this->member_config = $oModuleModel->getModuleConfig('member');
           
        }


line65 부근에         소스를 삽입한다.(추가된 부분 : 붉은 색의 코드를 추가한다)
// 다른 사람의 아이디를 클릭한 경우
            if($member_srl != $logged_info->member_srl) {if($member_info->allow_email!='N' || $logged_info->is_admin == 'Y' || $this->member_config->email_policy!='N'){

                // 메일 보내기
                $menu_str = Context::getLang('cmd_send_email'+ ');
                //$menu_url = sprintf('%s <%s>', $email_address, $user_name);
                $menu_url = sprintf('%s', $email_address);
                $menu_list[] = sprintf('%s,%s,sendMailTo(\'%s\')', Context::getRequestUri().'/modules/member/tpl/images/icon_sendmail.gif', $menu_str, $menu_url);
            }}

            // 홈페이지 보기
            if($member_info->homepage){if($member_info->allow_homepage!='N' || $member_srl == $logged_info->member_srl || $logged_info->is_admin == 'Y' || $this->member_config->homepage_policy!='N'){ $menu_list[] = sprintf("%s,%s,winopen('%s')", Context::getRequestUri().'/modules/member/tpl/images/icon_homepage.gif',Context::getLang('homepage'), $member_info->homepage);}}

            // 블로그 보기
            if($member_info->blog){if($member_info->allow_blog!='N' || $member_srl == $logged_info->member_srl || $logged_info->is_admin == 'Y' || $this->member_config->blog_policy!='N'){ $menu_list[] = sprintf("%s,%s,winopen('+ '%s')", Context::getRequestUri().'/modules/member/tpl/images/icon_blog.gif', Context::getLang('blog'), $member_info->blog);}}

5. zbxe/moudles/member/queries/updateMember.xml

line 15 아래에 다음을 삽입한다.
<column name="allow_email" var="allow_email" default="Y" />
  <column name="allow_homepage" var="allow_homepage" default="Y" />
  <column name="allow_blog" var="allow_blog" default="Y" />
  <column name="allow_birthday" var="allow_birthday" default="Y" />

6.zbxe/moudles/member/quries/insertMember.xml

line 17아래에 다음을 삽입한다
<column name="allow_email" var="allow_email" default="Y" />
 <column name="allow_homepage" var="allow_homepage" default="Y" />
 <column name="allow_blog" var="allow_blog" default="Y" />
 <column name="allow_birthday" var="allow_birthday" default="Y" />
 <column name="allow_message" var="allow_message" default="Y" />

7. zbxe/moudles/member/tpl/moudle member_config.html (추가된 부분 : 붉은 색의 코드를 추가한다)

line 33 부근에         소스를 삽입한다.
<tr>
        <th scope="row">{$lang->enable_join}</th>
        <td>
            <input type="checkbox" name="enable_join" value="Y" <
!--@if($config->enable_join=='Y')-->checked="checked"<!--@end--> class="checkbox" />
            {$lang->about_enable_join}
        </td>
    </tr>

<tr>
 <th scope="row">{$lang->member_info_policy}</th>
        <td>
            <input type="checkbox" name="email_policy" value="Y" <
!--@if($config->email_policy=='Y')-->checked="checked"<!--@end--> class="checkbox" />{$lang->email_policy}
   <input type="checkbox" name="homepage_policy" value="Y" <
!--@if($config->homepage_policy=='Y')-->checked="checked"<!--@end--> class="checkbox" />{$lang->homepage_policy}
   <input type="checkbox" name="blog_policy" value="Y" <
!--@if($config->blog_policy=='Y')-->checked="checked"<!--@end--> class="checkbox" />{$lang->blog_policy}
   <input type="checkbox" name="birthday_policy" value="Y" <
!--@if($config->birthday_policy=='Y')-->checked="checked"<!--@end
--> class="checkbox" />{$lang->birthday_policy}
   <p>{$lang->member_info_policy_raed}</p>
        </td>
    </tr>

8. zbxe/moudles/member/lang/ko.lang.php (추가된 부분 : 붉은 색의 코드를 추가한다)

line 45 부근에         소스를 삽입한다.
$lang->signature_max_height = '서명 높이 제한';
    $lang->enable_openid = 'OpenID 지원';
    $lang->enable_join = '회원 가입 허가';
 $lang->member_info_policy = '회원 정보 보호 정책';
 $lang->member_info_policy_raed = '해당정보 공개에 체크 아웃 하시면 회원가입 및 정보수정시 회원 본인이 정보 공개 여부를 설정 할 수 있습니다.';
 $lang->email_policy = '이메일정보 의무 공개';
 $lang->homepage_policy = '홈페이지정보 의무 공개';
 $lang->blog_policy = '블로그 정보 의무 공개';
 $lang->birthday_policy = '생일 정보 의무 공개';

9.  이 이외의 바뀌는 것은 "SKIN"이 바뀐 부분으로 스킨으로 올리 겠습니다.

제목 글쓴이 날짜
제로보드 2.3 에서 2.5 변경사항 데이터 테이블 구조 변경사항 체크를 정리해봅니다. [4] 도토리나무 2007.11.09
첨부파일 기능에 대한 짧은 정보 [3] 고라리 2007.11.09
회원에게 만기일 주기(1원짜리 팁) [17] 까오천사 2007.11.12
외부페이지에서 위젯사용하지 않고 로그인 정보 다루기. [5] [1] 길치객 2007.12.12
외부프로그램(페이지)에서 zbxe 로그인 정보 연동하기 [33] file 도데군 2007.12.23
제로보드에서 로그인후 테크노트에서 로그인정보 사용하기 [4] JinHoHan 2007.12.26
[전면수정]회원가입시 기본 정보공개 여부 체크하기(1) 모듈부분 [5] 대암지기 2008.02.20
[정식 버전 1.0.0][완결편]회원가입시 기본 정보공개 여부 체크하기(1) 모듈부분 [4] 대암지기 2008.02.24
[정식 버전 1.0.0] 회원 정보에서 ID 변경하기(1) 모듈부분 [1] 대암지기 2008.02.27
큰 파일의 썸네일이 안생기는 경우 해결방법(수정) [12] file 얼터 2008.03.15
큰 파일의 썸네일이 안생길때 해결방법-추가 [7] HIKARU 2008.03.18
회원 가입 임시 제한 일자 버그 수정 방법 [2] file 껄껄껄 2008.04.13
제한된 시간 안에 글을 또 등록할 때 IP 금지 기능(스팸필터) 해제하기 [3] 비나무 2008.05.03
확장변수 다중선택에서 체크박스의 선택개수를 제한하기 [5] file 우야꼬 2008.05.30
[1원짜리팁] 큰 이미지 썸네일 못생성& 확장변수 원하는 곳에 배치하기 ^^ [2] 파파민 2008.06.23
각 리스트형 위젯에 페이지 기능을 달자. [10] 라르게덴 2008.09.02
제로보드XE가입 -> 트랙자동가입 기능 개돌 2008.10.14
회원약관 추가 [7] file 애치티 2009.01.15
제로보드XE 외부출석부 [1] file noirzo 2009.01.18
첨부 파일 용량 문제 - 이것도 저것도 않될때 [4] file DeJavu346 2009.01.22