<?php

/**
 * @file login_redirect.addon.php
 * @author Kijin Sung <[email protected]>
 * @license GPLv2 or Later <https://www.gnu.org/licenses/gpl-2.0.html>
 */
if (!defined('__XE__')) exit();

/**
 * Detect duplicates before module action.
 */
if ($called_position === 'before_module_init' && $addon_info->redirect_url)
{
    $logged_info = Context::get('logged_info');
    if (!$logged_info || !$logged_info->member_srl)
    {
        $addon_info->redirect_url = trim($addon_info->redirect_url);
        if (preg_match('/^(?:disp|proc)Member/', Context::get('act')))
        {
            return;
        }
        if (preg_match('/^[a-z0-9_]+$/i', $addon_info->redirect_url) && Context::get('mid') === $addon_info->redirect_url)
        {
            return;
        }
        
        $redirect_url_info = parse_url($addon_info->redirect_url);
        if ($_SERVER['HTTP_HOST'] === $redirect_url_info['host'] && $_SERVER['REQUEST_URI'] === $redirect_url_info['path'])
        {
            return;
        }
        if ($_SERVER['REQUEST_URI'] === $redirect_url_info['path'])
        {
            return;
        }
        
        if (!headers_sent())
        {
            echo "<script>alert(\"로그인 후 이용해 주시기 바랍니다.\");               

location.replace('http://도메인/layouts/equeer_layout/login.html');</script>";
            exit;
        }
    }
}

원래는 http://도메인/ 이렇게 했지만 로그인창을 띄워보고 싶어서

login.html로 경로 지정을 해줫습니다

근대 로그인창은 커녕 메인화면만 보이더라구요

알려주실분 계실까요 ㅠ

  • profile

    로그인 화면 주소는 login.html이 아닙니다. 그건 스킨파일 경로일 뿐이고요...

    dispMemberLoginForm 어쩌고 하는 주소가 원래 애드온 소스에 들어있었을 테니

    그 주소를 그대로 사용하셔야 로그인 화면이 나옵니다.

     

    그리고 애꿎은 애드온에 저런 쌍팔년도식 스크립트 삽입하지 마시고

    웬만하면 일단 리다이렉트된 후에 로그인 스킨(login.html)에서 예쁘게 메시지 표시하시기 바랍니다.