웹마스터 팁

회원약관 추가

2009.01.15 14:07

애치티




 modules/member/member.admin.controller.php
 /**
         * @brief 회원 관리용 기본 정보의 추가
81line
         **/
        function procMemberAdminInsertConfig() {
            // 기본 정보를 받음
            $args = Context::gets('webmaster_name','webmaster_email','skin','colorset','enable_openid','enable_join','enable_confirm','limit_day','after_login_url',
'after_logout_url','redirect_url','agreement','infor','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','editor_skin',
'editor_colorset');
            if(!$args->skin) $args->skin = "default";
            if(!$args->colorset) $args->colorset = "white";
            if(!$args->editor_skin) $args->editor_skin= "default";
            if(!$args->editor_colorset) $args->editor_colorset = "white";
            if($args->enable_join!='Y') $args->enable_join = '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;
            if(!trim(strip_tags($args->infor))) $args->infor = null;

 modules/member/member.controller.php
 416line
             // 약관에 동의하였는지 검사 (약관이 있을 경우만)
            if($config->agreement && Context::get('accept_agreement')!='Y') return $this->stop('msg_accept_agreement');

            // 약관에 동의하였는지 검사 (약관이 있을 경우만)
            if($config->infor && Context::get('accept_infor')!='+ '+ 'Y') return $this->stop('msg_accept_infor');

            // 필수 정보들을 미리 추출
            $args = Context::gets('user_id','user_name','nick_name'+ ','homepage','blog','birthday','email_address','password','allow_mailing');
            $args->member_srl = getNextSequence();

            // 넘어온 모든 변수중에서 몇가지 불필요한 것들 삭제
            $all_args = Context::getRequestVars();
            unset($all_args->module);
            unset($all_args->act);
            unset($all_args->is_admin);
            unset($all_args->description);
            unset($all_args->group_srl_list);
            unset($all_args->body);
            unset($all_args->accept_agreement);
            unset($all_args->accept_infor);
            unset($all_args->signature);


474line
            // 넘어온 모든 변수중에서 몇가지 불필요한 것들 삭제
            $all_args = Context::getRequestVars();
            unset($all_args->module);
            unset($all_args->act);
            unset($all_args->is_admin);
            unset($all_args->description);
            unset($all_args->group_srl_list);
            unset($all_args->body);
            unset($all_args->accept_agreement);
            unset($all_args->accept_infor);
            unset($all_args->signature);


 modules/member/lang/ko.lang.php
    $lang->agreement = '회원 가입 약관';
    $lang->infor = '정보이용약관';
    $lang->accept_agreement = '약관동의';
    $lang->accept_infor = '정보이용동의';

    $lang->msg_accept_agreement = '약관에 동의하셔야 합니다';
    $lang->msg_accept_infor = '정보이용에 동의하셔야 합니다';   

     $lang->about_agreement = '회원가입약관이 없을 경우 표시되지 않습니다';
    $lang->about_infor = '정보이용약관이 없을 경우 표시되지 않습니다'+ ';

    $lang->about_accept_agreement = '약관을 모두 읽었으며 동의합니다';
    $lang->about_accept_infor = '정보이용약관을 모두 읽었으며 동의합니다';


 modules/member/tpl/member_config.html
 1line
 <!--%import("filter/insert_config.xml")-->
<!--%import("../../editor/tpl/js/editor_module_config.js",optimized=false)-->

<!--#include("header.html")-->

<form action="./" method="get" onsubmit="return procFilter(this, insert_config)">
<input type="hidden" name="temp_srl" value="" />
<input type="hidden" name="agreement" value="{htmlspecialchars($config->agreement)}" />
<input type="hidden" name="infor" value="{htmlspecialchars($config->infor)}" />  :: 필요없습니다.

130line
<tr>
    <th scope="row"><div>{$lang->agreement}</div></th>
    <td>
        {$editor}
        <p>{$lang->about_agreement}</p>
    </td>
</tr>
<tr>
    <th scope="row"><div>{$lang->infor}</div></th>
    <td>
    <textarea name="{infor}" width=100% class="inputTypeTextArea wall">{$config->infor}</textarea>
        <p>{$lang->about_infor}</p>
    </td>
</tr>


 modules/member/skins/default/signup_form.html
  <!--@if(!$is_logged && $member_config->agreement)-->
    <div class="agreementBox">
        {nl2br($member_config->agreement)}
    </div>
    <div class="agreementButton">
        <input type="checkbox" name="accept_agreement" value="Y" id="accept_agree" />
        <label for="accept_agree">{$lang->about_accept_agreement}</label>
    </div>
    <!--@end-->
    <!--@if(!$is_logged && $member_config->infor)-->
    <div class="agreementBox">
        {nl2br($member_config->infor)}
    </div>
    <div class="agreementButton">
        <input type="checkbox" name="accept_infor" value="Y" id="accept_inform" />
        <label for="accept_inform">{$lang->about_accept_infor}</label>
    </div>
    <
!--@end
-->


modules/member/skins/default/filter/modify_info.xml
 <filter name="modify_info" module="member" act="procMemberModifyInfo" extend_filter="member.getJoinFormList" confirm_msg_code="confirm_submit">
    <form>
        <node target="user_name" required="true" minlength="2" maxlength="40"/>
        <node target="nick_name" required="true" minlength="2" maxlength="40"/>
        <node target="email_address" required="true" minlength="1" maxlength="200" filter="email"/>
    </form>
    <parameter>
        <param name="accept_agreement" target="accept_agreement" />
        <param name="accept_infor" target="accept_infor" />

 modules/member/skins/default/filter/signup.xml
 <filter name="signup" module="member" act="procMemberInsert" extend_filter="member.getJoinFormList" confirm_msg_code="confirm_submit">
    <form>
        <node target="user_id" required="true" minlength="2" maxlength="80" filter="userid" />
        <node target="password1" required="true" minlength="6" maxlength="20" />
        <node target="password2" required="true" minlength="6" maxlength="20" equalto="password1" />
        <node target="user_name" required="true" minlength="2" maxlength="40" />
        <node target="nick_name" required="true" minlength="2" maxlength="40" />
        <node target="email_address" required="true" minlength="1" maxlength="200" filter="email"/>
    </form>
    <parameter>
        <param name="accept_agreement" target="accept_agreement" />
        <param name="accept_infor" target="accept_infor" />


빨간색부분 추가하면 됨니다.
추가 약관 에디터모듈에서 TEXTAREA로 변경
제목 글쓴이 날짜
최근게시물에 권한주어서 회원만 내용물보게하기 [1] 팔공산 2008.07.11
회원 포인트 선물 하기 등 포인트 변경시 바로 적용 방법 한꼬마 2008.09.06
회원 관리 리스트에 생일/설명/활동량 추가하기 [16] file 老姜君 2008.11.21
[초간단]회원팝업메뉴에 메뉴넣기 [1] Pw-NET 2008.11.30
회원아이디 클릭시 메일보내기 기능 숨기기 [9] 똑디 2008.12.18
회원정보 이미지 항목 추가 [3] 개돌 2008.12.22
로그인한 회원만 최근 게시글, 검색등 볼수 있도록 하기 [3] [_)s 2008.12.31
회원가입시 닉네임 중복사용 가능하게 하기.. [3] 一淚™ 2009.01.08
SMTP 인증 회원가입 메일 인증 , 비밀번호 오류찾기 및 답변글 메일로 받기 [11] file FFHosting 2009.01.12
회원약관 추가 [7] file 애치티 2009.01.15
회원을 그룹으로 나누어 화면에 출력할 수 있나요? 아키수 2009.01.24
회원 순위 공동순위 표시해서 뽑기(원리만 소개) 라르게덴 2009.02.13
해당 Cafe 회원에 가입후 Cafe 회원목록에 나타나지 않음...... 뉴욕에서 2009.04.16
[질문]회원가입시 음력생일입력 가능 한가요? [1] 신정 2009.04.27
회원가입시 닉네임 특수문자 제한하기 [10] 절망린 2009.06.06
보낸 쪽지함에서 쪽지 내용 안에 회원 아이콘이 제대로 표시 되지 않을때.. 절망린 2009.06.24
확장변수에 회원정보를 넣어보자 [10] file 개돌 2009.06.30
회원 팝업메뉴에서 작성글 클릭시 다른 아이디 검색 안되게 하기 [3] 절망린 2009.07.03
회원정보 손쉽게 엑셀 파일로 저장하기 [34] thejeon 2009.08.05
잦은 등급변경으로, 회원 등급이 엉켰을 경우 해결방법. [1] NZ448 2009.09.10