ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 마이탤런트스타 개발 프로젝트 제 1 부 – XE 기반 텍스타일 Textyle 이메일 로그인 기능 변경
    정보통신에너지/잉여넷 2012. 9. 24. 04:10


     

     

    요새 수 많은 웹들이 아이디 로그인 방식에서 이메일 로그인 방식을 채택하고 있습니다.

    또한 국내 대표 CMS 플랫폼인 익스프레스 엔진 XE 또한 아이디 또는 이메일 로그인 방식을 둘 다 지원합니다.

    그렇다면 왜 아이디 로그인 방식에서 이메일 로그인 방식으로 변경되고 있는지.. 이유가 궁금할 법도 해서

    예전에 작성해놓은 관련글을 하나 링크시켜 놓겠습니다.

     

    링크 >> 트위터,페이스북이 이메일 로그인 방식을 채택한 이유

     

    비록 익스프레스 엔진 XE가 아이디와 이메일 로그인 방식을 다 지원하지만

    익스프레스 엔진 XE에 딸려있는 모듈이나 레이아웃 중에는 아직 이메일 로그인 방식을 지원하지 않는

    경우가 있습니다.

    대표적인 예로 텍스타일 Textyle 모듈이 있는데 아시다시피 텍스타일 Textly 모듈은 익스프레스 엔진 XE에서

    제공하는 블로그 모듈입니다.

    아직 개발 단계에 있는 모듈이므로 아이디 로그인 방식만을 지원하기에

    이번에 한번 익스프레스 엔진 XE과 텍스타일 Textyle 모듈을 공부도 해볼 겸 아이디 로그인 기능을

    이메일 로그인 기능으로 변경시켜 보겠습니다.

     

     

    프로세스 1. 관리자 모듈

    익스프레스엔진 XE에서 Textyle 생성 관리자 화면으로 이동하면

    Textyle을 생성하기 위해서 Textyle 관리자(아이디)를 입력하는 칸이 있습니다.

    바로 이 부분에 해당하는 소스코드를 살펴보면 textyle/tpl/insert.html 파일이 바로 이에 해당하겠습니다.

    파일을 열어보면, textyle_admin 이라는 언어팩(?)이 있는 것을 볼 수 있습니다.

    바로 textyle_admin 가 있는 부분이 관리자 화면에서 회원모듈의 아이디를 찾는 부분인데

    만약 이메일 로그인 기능을 사용할 경우, 여기서는 아이디 검색만 가능하기 때문에

    Textyle 생성을 이메일 형태로 하는 것이 일단 불가능한 상태입니다.

    따라서 이 부분을 한번 고쳐보도록 하겠습니다.

     

    Insert.html의 35번째 줄을 보면 다음과 같은 소스코드가 있습니다.

     

    <input type="text" name="user_id" value="{$site_admin}" class="inputTypeText w200" />

     

    바로 여기서 name="user_id" value="{$site_admin}" 이 부분이 핵심이라고 할 수 있겠는데..

    user_id와 $site_admin을 이메일로 적당히 변경해주어 보겠습니다.

     

    <input type="text" name="email_address" value="{$site_admin}" class="inputTypeText w200" />

     

    다음은 textyle.admin.view.php 파일을 보겠습니다.

    파일 내의 dispTextyleAdminInsert() 함수를 보면, $site_admin[] = $v->user_id 부분이 있습니다.

    일단 이 부분을 수정해보겠습니다.

     

    $site_admin[] = $v->email_address

     

    다음 두 파일을 저장하고 일단 업로드를 합니다.

    그리고 나서 실행을 하면.. "잘못된 요청입니다" 라고 나오네요 -_-;;;

     

    무엇이 잘못된 것일까요?

    다시 insert.html 파일로 돌아가서.. 관리자 화면의 Textyle 생성 버튼이 눌러졌을 때 어떤 동작을 하는가..를

    좀 살펴보겠습니다. 언어팩의 cmd_textyle_creation 라는 부분을 찾아봅니다.

    약간 기네요. ㅋ

     

    <span class="button black strong"><input type="submit" value="<!--@if($textyle)-->{$lang->cmd_textyle_update}<!--@else-->{$lang->cmd_textyle_creation}<!--@end-->" accesskey="s" /></span></div></th>

     

    바로 요 부분이 눌러졌을 때 Textyle 생성기능이 실행되고 잘못된 요청 에러가 나는 부분입니다.

    무슨 동작을 하는지 찬찬히 살펴봅니다..

     

    다른 건 별 거 없고, 눈에 띄는 것이 accesskey="s" 이 부분이 뭔가 냄새가 나는군요..

    음.. 요건 검색이라는 것 같은데.. 뭔가 다른 파일에 더 중요한 내용이 있을 법 합니다.

     

    그래서 다시 admin_list 라는 이름으로 파일 내 검색을 실행하면..

    바로 범인이 나오네요!! Textyle.admin.controller.php 이 파일이 범인 인 것이 밝혀졌습니다. ㅋㅋ

    근데 상당히.. 파일 내용이 복잡합니다. 쉽지 않습니다. 찬찬히 다시 뜯어봅니다…

     

    음.. 어렵네요

    오늘은 일단 여까지 하겠습니다.ㅋㅋ

    졸려워서 자야겠거든요 ㅠㅠ

     

    다음 기회에 다시 DB와 관련해서 좀 더 구체적인 해결책을 알아보도록.. 하겠습니다.

     

    댓글