웹마스터 팁

회원약관 추가

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로 변경
제목 글쓴이 날짜
회원가입시 항목 설명부분에 html 태그를 쓰고플 경우 [3] sejin7940 2012.05.24
관리자에서 그룹검색을 이용한 회원목록 제대로 안 보일때.. [2] sejin7940 2012.06.01
관리자의 회원포인트목록 에서 ID/닉네임 등으로 검색하는 소스 추가 [3] sejin7940 2012.06.25
회원이 글 삭제하면 삭제하지 않고 글을 다른 게시판으로 보내기 [5] SCAC 2012.07.03
회원가입 이메일 수취 여부 선택 초기화 file 아모스리 2012.07.07
관리자 페이지 회원/회원설정 추가정보에 추가한 전화번호를 회원목록에 추가하기(수정) [1] 늘푸른이 2012.07.08
회원정보 페이지에 작성 댓글 보기 추가하기 [7] file 늘푸른이 2012.07.12
회원가입폼의 추가 폼에서 설명 부분 안 지워지는 버그 수정법 sejin7940 2012.08.30
관리자의 회원정보 수정 페이지에 '가입일/최근접속일' 추가하기 [6] file showjean 2012.09.17
회원설정에 레이아웃 설정이 생겼습니다. 회원정보보기페이지 레이아웃 설정 가능 [2] 똑디 2012.10.04
회원가입 버튼을 누르면 출력되는 Can not open GeoIP.dat 에러 대처방법(임시) [2] 마음의빈자리 2012.11.30
xeshop에서 비회원 주문번호 조회 검색 가능하게 하기. [2] 리버즈 2012.12.15
XE 비회원이 귀찮게 이메일 홈페이지 입력 안하도록 하기 [7] jhrun 2012.12.16
1.5.4 회원정보에서 회원이 자기 이름 마음대로 수정 못하게 하는 거... [2] 샤로우 2012.12.31
회원정보 수정 위해 비밀번호 재입력 후 튕기는 경우 [2] sejin7940 2013.01.06
회원 정보에 내 포인트 현황 출력하기 [3] file 화랑529 2013.01.08
방명록 모듈 1.5.1.1에서 비회원이 남긴글 삭제하기 조슈아킴 2013.02.14
출석부 소시랑 스킨 출석회원없을때 우측위젯이 아래로 떨어지는 현상 해결방법 [3] garnecia 2013.02.23
회원가입시 유저가 비공개 설정하기 [1] file 모앱 2013.03.03
회원가입 확장 모듈 1.7.X 및 모바일에서 사용가능하도록 [10] file hhgyu 2013.03.18