Plugin Directory

Changeset 2871214


Ignore:
Timestamp:
02/26/2023 11:04:30 AM (3 years ago)
Author:
mcpelee
Message:

2023.02.26 [1.6.5] 회원가입 시, 카카오 싱크 추가 동의항목 user_meta에 저장, 버그 수정 (비버빌더/엘리멘터 편집기와 충돌 제거)

Location:
kakao-tam/trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • kakao-tam/trunk/admin-developers-setting.php

    r2843200 r2871214  
    244244                                ?>
    245245                                <p> ※ 공유하기 아이콘은 블로그 게시글에 기본 표시되고, 홈페이지/개별페이지/검색결과에는 표시하지 않습니다.</p>
     246                                <p> ※ 내 애플리케이션>앱 설정>플랫폼>Web : 사이트 도메인에 도메인 주소를 등록해야 사용 가능합니다.</p>
    246247                                <p> ※ 페이지에 직접 적용 하려면 [kakaotalk_share_shortcode] 태그를 추가하세요. </p>
    247248
  • kakao-tam/trunk/constants.php

    r2839068 r2871214  
    88    const KAPI_PROFILE_URL = "https://kapi.kakao.com/v2/user/me";
    99    const REDIRECT_URI_PATH = "/wp-login.php";
     10    const LOGIN_URI_PATH = "/wp-login.php";
    1011
    1112    const DEVELOPERS_TITLE = "카카오 디벨로퍼스 설정";
  • kakao-tam/trunk/index.php

    r2842675 r2871214  
    44Plugin URI: https://github.com/kakao-tam/wordpress-plugin
    55Description: 카카오 디벨로퍼스에서 제공하는 카카오 로그인, 카카오톡 공유하기, 카카오톡 채널 친구추가/채팅, 카카오 내비 기능을 연동한 플러그인
    6 Version: 1.6.4
     6Version: 1.6.5
    77Requires at least: 5.2
    88Requires PHP: 7.0
     
    8181/** add */
    8282add_action('init', 'set_kakao_js_sdk_v1');
     83add_action('wp_head', 'set_kakao_js_sdk_init_key' );
    8384add_action('admin_menu', 'kakao_tam_plugin_admin_menu');
    8485add_action('wp_footer', 'kakaotalk_channel_add_action_content');
     
    8788add_filter('plugin_action_links', 'kakaotalk_share_filter_plugin_action_links', 10, 2);
    8889add_filter('login_message', 'kakao_login_wp_login');
     90
    8991
    9092add_shortcode('kakao_login_shortcode', 'kakao_login_shortcode');
     
    9698add_shortcode('kakaonavi_share_shortcode', 'kakaonavi_share_shortcode');
    9799
    98 /** function */
     100/** function
     1012023.02.26 Dom 객체를 다루는 편집기 플러그인에서 html 밖에 객체 추가 시, 에러 발생하여  include 'script_init.php'; 에는 서버사이트 스크립트만 추가
     102 */
    99103function set_kakao_js_sdk_v1()
    100104{
    101     if (!is_admin()) {
    102         wp_enqueue_script('js_sdk_v1', 'https://t1.kakaocdn.net/kakao_js_sdk/v1/kakao.min.js', null, '1.43.0', true);
    103         wp_enqueue_script('script_function', plugins_url('script_function.js', __FILE__), null, '1.0.0', true);
    104         wp_enqueue_style('kakao-tam-style', plugins_url('style.css', __FILE__), null, null);
    105         include 'script_init.php';
    106         $oAuthLoginKakao = new oAuthLoginKakao();
    107         if ($oAuthLoginKakao->isCallBack()) {
    108             echo '<div id="login_error">    <strong>ERROR</strong>: '.$oAuthLoginKakao->callback().'</div>';
     105    if (is_admin()) {
     106        return;
     107    }
     108
     109    wp_enqueue_script('kakao_tam_js_sdk_v1', 'https://t1.kakaocdn.net/kakao_js_sdk/v1/kakao.min.js', null, '1.43.0', true);
     110    wp_enqueue_script('kakao_tam_script_function', plugins_url('script_function.js', __FILE__), null, '1.0.0', true);
     111    wp_enqueue_style('kakao-tam-style', plugins_url('style.css', __FILE__), null, null);
     112    include 'script_init.php';
     113    $oAuthLoginKakao = new oAuthLoginKakao();
     114    if ($oAuthLoginKakao->isCallBack()) {
     115        echo '<div id="login_error">    <strong>ERROR</strong>: '.$oAuthLoginKakao->callback().'</div>';
     116    }
     117}
     118/** function
     1192023.02.26 Dom 객체를 다루는 편집기 플러그인에서 html 밖에 객체 추가 시, 에러 발생하여  wp_head 에 스크립틀릿 방식 클라이언트 스크립트 추가
     120 */
     121function set_kakao_js_sdk_init_key()
     122{
     123?>
     124    <script>
     125        function kakao_init() {
     126            Kakao.init("<?php echo esc_html(get_option(Constants::JAVASCRIPT_KEY)); ?>");
    109127        }
    110     }
     128
     129        function loginWithKakao() {
     130            Kakao.Auth.authorize({
     131                redirectUri: '<?php echo curDomain() . Constants::REDIRECT_URI_PATH; ?>',
     132                state: '<?php echo session_id(); ?>'
     133            })
     134        }
     135    </script>
     136<?php
     137}
     138function kakao_tam_plugin_admin_menu()
     139{
     140    global $_wp_last_object_menu;
     141    add_menu_page(__('Developers setting', 'developers_setting'), '카카오 디벨로퍼스 설정', 'manage_options', 'developers_setting_index', 'developers_setting_index', 'dashicons-admin-generic', $_wp_last_object_menu);
     142
    111143    if (is_admin()) {
    112144        wp_enqueue_script('script_function', plugins_url('script_admin_function.js', __FILE__), null, '1.0.0', true);
    113145    }
    114146}
    115 
    116 function kakao_tam_plugin_admin_menu()
    117 {
    118     global $_wp_last_object_menu;
    119     add_menu_page(__('Developers setting', 'developers_setting'), '카카오 디벨로퍼스 설정', 'manage_options', 'developers_setting_index', 'developers_setting_index', 'dashicons-admin-generic', $_wp_last_object_menu);
    120 }
    121 
     147/** function
     1482023.02.26 Dom 객체를 다루는 편집기 플러그인에서 html 밖에 객체 추가 시, 에러 발생하여  wp_head 에 스크립틀릿 방식 클라이언트 스크립트 추가 -> 이로 인해 wp_head 없는 로그인 페이지에 init 스크립트 별도 추가
     149 */
    122150function kakao_login_wp_login()
    123151{
    124152    $validateKakaoLogin = new validateKakaoLogin();
    125     return $validateKakaoLogin->getKakaoLoginContent();
     153    return $validateKakaoLogin->getKakaoLoginContent() . set_kakao_js_sdk_init_key();
    126154}
    127155
  • kakao-tam/trunk/oAuthLoginKakao.php

    r2842675 r2871214  
    110110            'role' => 'subscriber',
    111111            'meta_input' => array(
    112                 'kakao_app_user_id' => $decode_profile->id
     112                'kakao_app_user_id' => $decode_profile->id,
     113                'name' => $decode_profile_kakao_account->name,
     114                'phone_number' => $decode_profile_kakao_account->phone_number,
     115                'age_range' => $decode_profile_kakao_account->age_range,
     116                'birthyear' => $decode_profile_kakao_account->birthyear,
     117                'birthday' => $decode_profile_kakao_account->birthday,
     118                'gender' => $decode_profile_kakao_account->gender,
     119                'ci' => $decode_profile_kakao_account->ci
    113120            )
    114121        );
  • kakao-tam/trunk/readme.txt

    r2843200 r2871214  
    55Requires at least: 5.2
    66Tested up to: 6.0
    7 Stable tag: 1.6.4
     7Stable tag: 1.6.5
    88Requires PHP: 7.0
    99License: GPLv2 or later
     
    1818
    1919---version history-
    20 예정 [1.7.0] 카카오 로그인 회원가입 설정 기능 추가
     202023.02.26 [1.6.5] 회원가입 시, 카카오 싱크 추가 동의항목 user_meta에 저장, 버그 수정 (비버빌더/엘리멘터 편집기와 충돌 제거)
    21212023.01.03 [1.6.4] 워드프레스 6.1.1 이하 버전에서 usermeta 커스텀 value 저장 및 조회가 안되는 문제로 카카오 로그인 기능 usermeta 사용하지 않도록 변경
    22222023.01.02 [1.6.3] 카카오 로그인 Callback 처리 오류 개선
  • kakao-tam/trunk/script_init.php

    r2839068 r2871214  
    11<?php
     2//only PHP script
    23session_start();
    34?>
    4 <script>
    5     function kakao_init() {
    6         Kakao.init("<?php echo esc_html(get_option(Constants::JAVASCRIPT_KEY)); ?>");
    7     }
    8 
    9     function loginWithKakao() {
    10         Kakao.Auth.authorize({
    11             redirectUri: '<?php echo curDomain() . Constants::REDIRECT_URI_PATH; ?>',
    12             state: '<?php echo session_id(); ?>'
    13         })
    14     }
    15 
    16 </script>
  • kakao-tam/trunk/tamUtil.php

    r2828290 r2871214  
    1313}
    1414
     15function curPageURL() {
     16    return curDomain().$_SERVER["REQUEST_URI"];
     17}
     18
     19function curPagePath() {
     20    return $_SERVER["REQUEST_URI"];
     21}
     22
     23function isPagePath($pagePath){
     24    $pos = strpos(curPagePath(), $pagePath);
     25    if ($pos === false) {
     26        return false;
     27    } else {
     28        return true;
     29    }
     30}
     31
     32function isLogin(){
     33    if (function_exists("is_login")){
     34        return is_login();
     35    }
     36    else{
     37        return isPagePath(Constants::LOGIN_URI_PATH);
     38    }
     39}
Note: See TracChangeset for help on using the changeset viewer.