웹마스터 팁

회원약관 추가

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탄- 메인 페이지를 만들어보자 [1] kukuriko 2013.07.25
[위키정복]2탄 - 미디어위키의 내부링크를 버그를 해결하자 [2] kukuriko 2013.07.25
[위키정복]3탄 - 사이트내 게시판 등에서 위키링크를 사용하자 [3] file kukuriko 2013.07.25
게시판 에디터에서 자동저장 기능의 시간간격 조절하는 방법 [1] sejin7940 2013.07.26
회원가입시 validation error 가 뜨거나 회원가입이 안될때 [2] 똑디 2013.07.27
1.7 버전 사이트 메뉴 편집 사용법 [4] file 휘즈 2013.07.27
Recruit 모듈 - 일반회원 채용글 등록할 수 있도록 수정 [10] 홍채화 2013.07.27
페이스북 애드온 - 뭐 팁이랄것도 아닙니다. [1] 후아아아~ 2013.07.27
게시판 및 댓글 추천/비추천 카운트가 바로 적용되지 않는 경우 KS 2013.07.28
[팁] 세상의 모든 SNS버튼을 등록해보자. [1] file socialskyo 2013.07.28
자료실(resource)모듈 등록신청 권한적용 안될때 [2] 배포 2013.07.28
카페24로 옮기고 나서 모바일 레이아웃 설정 저장이 안되어서.. 착한부산남자 2013.07.31
XE 위키 모듈에서 소셜XE 댓글 사용하기 novelic 2013.07.31
[위키정복]4탄 - 망할 에러까지 정복하자 [2] kukuriko 2013.07.31
Sketchbook5 게시판 스킨 본문 부분 여백 없애기 [7] file 짤막한글 2013.08.01
XE 내가 작성한 글 모두 일괄 추천하기. [4] 엘카 2013.08.01
cafeXE 위젯 설정에서 대상모듈 저장이 안 되는 경우 투씨 2013.08.02
XE 위키 댓글 삭제 오류수정 [1] 뒤뒤 2013.08.03
저장된 이미지가 없는 경우 게시판 본문 및 Contentlist 위젯에 이미지 랜덤하게 나타내기 가난한법학도 2013.08.04
HTML5를 이용한 시멘틱 XE 레이아웃 만들기 (인트로) [3] 이온디 2013.08.04