웹마스터 팁

회원약관 추가

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로 변경
제목 글쓴이 날짜
카운터를 만들어봅시다~ (수정본) [181] zero 2000.03.08
MYSQL Query의 간단한 사용법 [82] zero 2000.03.06
새로운 뉴스티커 [1] 아렌티 2006.04.25
문자열 길이(byte)에 따라 자르기... 행복한고니 2002.10.11
textarea 입력받는 글자수 제한하는 스크립트 [5] 오기 2002.01.17
자동 스크롤 메뉴 (끄기 기능, 무한 스크롤 X) [6] ☺심심 2004.05.02
레이아웃 편집, 게시판 상/하단 내용에 위젯 스타일 적용하기 [2] LutZ 2010.09.12
큐브리드(CUBRID) 초보자 학습 자료 및 유용한 링크 정리 file 면스판 2010.11.09
큰 파일의 썸네일이 안생기는 경우 해결방법(수정) [12] file 얼터 2008.03.15
까오천사님의 만기일 팁을 1.2.4에 맞게 수정했어요. [15] file 도파 2009.08.27
파일 첨부 에러로 고생하시는 분 [2] celli29 2010.05.11
회원약관 추가 [7] file 애치티 2009.01.15
레이아웃 삽입 후 최근 설문조사 가져오기 ilovesyr 2010.05.18
확장변수 다중선택에서 체크박스의 선택개수를 제한하기 [5] file 우야꼬 2008.05.30
회원에게 만기일 주기(1원짜리 팁) [17] 까오천사 2007.11.12
APM_Setup 7 사용자중에서 첨부 파일 업로드시 100%에서 사라지는 문제 [2] 레드파카 2010.01.04
Apache,PHP,MySQL,Zend,OpenSSL,PEAR 설치 메모 [1] 엘카 2009.12.03
첨부파일이 용량에 따라 등록되기도 하고 안되기도 할 때 해결방법 (웹호스팅) [1] 꽃들 2010.01.02
최신 댓글 보여주는 기능에 관련해 손정호547 2009.12.11
제로보드XE 외부출석부 [1] file noirzo 2009.01.18