mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 01:01:41 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2766 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
649805bd3a
commit
e2b5b6c2cc
32 changed files with 473 additions and 9 deletions
|
|
@ -364,8 +364,6 @@
|
|||
return $obj->str;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief response method를 강제로 지정 (기본으로는 request method를 이용함)
|
||||
*
|
||||
|
|
|
|||
113
classes/mail/Mail.class.php
Normal file
113
classes/mail/Mail.class.php
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
<?php
|
||||
/**
|
||||
* @brief 메일 발송
|
||||
* @author zero (zero@zeroboard.com)
|
||||
**/
|
||||
|
||||
class Mail {
|
||||
|
||||
var $sender_name = '';
|
||||
var $sender_email = '';
|
||||
var $receiptor_name = '';
|
||||
var $receiptor_email = '';
|
||||
var $title = '';
|
||||
var $content = '';
|
||||
var $content_type = 'html';
|
||||
|
||||
function Mail() { }
|
||||
|
||||
function setSender($name, $email) {
|
||||
$this->sender_name = $name;
|
||||
$this->sender_email = $email;
|
||||
}
|
||||
|
||||
function getSender() {
|
||||
if($this->sender_name) return sprintf("%s <%s>", '=?utf-8?b?'.base64_encode($this->sender_name).'?=', $this->sender_email);
|
||||
return $this->sender_email;
|
||||
}
|
||||
|
||||
function setReceiptor($name, $email) {
|
||||
$this->receiptor_name = $name;
|
||||
$this->receiptor_email = $email;
|
||||
}
|
||||
|
||||
function getReceiptor() {
|
||||
if($this->receiptor_name) return sprintf("%s <%s>", '=?utf-8?b?'.base64_encode($this->receiptor_name).'?=', $this->receiptor_email);
|
||||
return $this->receiptor_email;
|
||||
}
|
||||
|
||||
function setTitle($title) {
|
||||
$this->title = $title;
|
||||
}
|
||||
|
||||
function getTitle() {
|
||||
return '=?utf-8?b?'.base64_encode($this->title).'?=';
|
||||
}
|
||||
|
||||
function setContent($content) {
|
||||
$this->content = $content;
|
||||
}
|
||||
|
||||
function getPlainContent() {
|
||||
return chunk_split(base64_encode(str_replace(array("<",">","&"), array("<",">","&"), $this->content)));
|
||||
}
|
||||
|
||||
function getHTMLContent() {
|
||||
return chunk_split(base64_encode($this->content_type=='html'?nl2br($this->content):$this->content));
|
||||
}
|
||||
|
||||
function setContentType($mode = 'html') {
|
||||
$this->content_type = $mode=='html'?'html':'';
|
||||
}
|
||||
|
||||
function send() {
|
||||
$boundary = '----=='.uniqid(rand(),true);
|
||||
|
||||
$headers = sprintf(
|
||||
"From: %s\r\n".
|
||||
"MIME-Version: 1.0\r\n".
|
||||
"Content-Type: multipart/alternative;\r\n\tboundary=\"%s\"\r\n\r\n".
|
||||
"",
|
||||
$this->getSender(),
|
||||
$boundary
|
||||
);
|
||||
|
||||
$body = sprintf(
|
||||
"--%s\r\n".
|
||||
"Content-Type: text/plain; charset=utf-8; format=flowed\r\n".
|
||||
"Content-Transfer-Encoding: base64\r\n".
|
||||
"Content-Disposition: inline\r\n\r\n".
|
||||
"%s".
|
||||
"--%s\r\n".
|
||||
"Content-Type: text/html; charset=utf-8\r\n".
|
||||
"Content-Transfer-Encoding: base64\r\n".
|
||||
"Content-Disposition: inline\r\n\r\n".
|
||||
"%s".
|
||||
"--%s--".
|
||||
"",
|
||||
$boundary,
|
||||
$this->getPlainContent(),
|
||||
$boundary,
|
||||
$this->getHTMLContent(),
|
||||
$boundary
|
||||
);
|
||||
|
||||
return mail($this->getReceiptor(), $this->getTitle(), $body, $headers);
|
||||
}
|
||||
|
||||
function checkMailMX($email_address) {
|
||||
if(!Mail::isVaildMailAddress($email_address)) return false;
|
||||
list($user, $host) = explode("@", $email_address);
|
||||
if(function_exists('checkdnsrr')) {
|
||||
if (checkdnsrr($host, "MX") or checkdnsrr($host, "A")) return true;
|
||||
else return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function isVaildMailAddress($email_address) {
|
||||
if( eregi("([a-z0-9\_\-\.]+)@([a-z0-9\_\-\.]+)", $email_address) ) return $email_address;
|
||||
else return '';
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -81,6 +81,7 @@
|
|||
require_once("./classes/module/ModuleHandler.class.php");
|
||||
require_once("./classes/display/DisplayHandler.class.php");
|
||||
require_once("./classes/template/TemplateHandler.class.php");
|
||||
require_once("./classes/mail/Mail.class.php");
|
||||
if(__DEBUG__) $GLOBALS['__elapsed_class_load__'] = getMicroTime() - __ClassLosdStartTime__;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
<action name="dispMemberOpenIDLeave" type="view" standalone="true" />
|
||||
<action name="dispMemberOwnDocument" type="view" standalone="true" />
|
||||
<action name="dispMemberScrappedDocument" type="view" standalone="true" />
|
||||
<action name="dispMemberFindAccount" type="view" standalone="true" />
|
||||
|
||||
<action name="dispMemberMessages" type="view" standalone="true" />
|
||||
<action name="dispMemberSendMessage" type="view" standalone="true" />
|
||||
|
|
@ -56,6 +57,9 @@
|
|||
<action name="procMemberScrapDocument" type="controller" standalone="true" />
|
||||
<action name="procMemberDeleteScrap" type="controller" standalone="true" />
|
||||
|
||||
<action name="procMemberFindAccount" type="controller" standalone="true" />
|
||||
<action name="procMemberAuthAccount" type="controller" standalone="true" />
|
||||
|
||||
<action name="procMemberAddFriend" type="controller" standalone="true" />
|
||||
<action name="procMemberMoveFriend" type="controller" standalone="true" />
|
||||
<action name="procMemberDeleteFriend" type="controller" standalone="true" />
|
||||
|
|
|
|||
|
|
@ -53,6 +53,12 @@
|
|||
$lang->current_password = 'Current Password';
|
||||
$lang->openid = 'OpenID';
|
||||
|
||||
$lang->webmaster_name = '웹마스터 이름';
|
||||
$lang->webmaster_email = '웹마스터 메일주소';
|
||||
|
||||
$lang->about_webmaster_name = '인증 메일이나 기타 사이트 관리시 사용될 웹마스터의 이름을 입력해주세요. (기본 : webmaster)';
|
||||
$lang->about_webmaster_email = '웹마스터의 메일 주소를 입력해주세요.';
|
||||
|
||||
$lang->search_target_list = array(
|
||||
'user_id' => 'ID',
|
||||
'user_name' => 'Name',
|
||||
|
|
@ -78,6 +84,7 @@
|
|||
$lang->cmd_modify_member_password = 'Change Password';
|
||||
$lang->cmd_view_member_info = 'Member Info';
|
||||
$lang->cmd_leave = 'Leave';
|
||||
$lang->cmd_find_member_account = 'Find Account Info';
|
||||
|
||||
$lang->cmd_member_list = 'Member List';
|
||||
$lang->cmd_module_config = 'Default Setting';
|
||||
|
|
@ -97,11 +104,19 @@
|
|||
$lang->cmd_add_friend_group = 'Add Friend Group';
|
||||
$lang->cmd_rename_friend_group = 'Change Name of Friend Group';
|
||||
|
||||
$lang->msg_email_not_exists = "Email address doesn't exists";
|
||||
|
||||
$lang->msg_alreay_scrapped = 'This article is already scrapped';
|
||||
|
||||
$lang->msg_cart_is_null = 'Please select the target';
|
||||
$lang->msg_checked_file_is_deleted = '%d attached files are deleted';
|
||||
|
||||
$lang->msg_find_account_title = 'Account Info';
|
||||
$lang->msg_find_account_info = '요청하신 계정 정보는 아래와 같습니다';
|
||||
$lang->msg_find_account_comment = '아래 링크를 클릭하시면 위에 적힌 비밀번호로 바뀌게 됩니다.<br />로그인 하신 후 비밀번호를 바꾸어주세요.';
|
||||
$lang->msg_auth_mail_sended = '%s 메일로 인증 정보를 담은 메일이 발송되었습니다. 메일을 확인하세요.';
|
||||
$lang->msg_success_authed = '인증이 정상적으로 되어 로그인 처리가 되었습니다. 꼭 인증 메일에 표시된 비밀번호를 이용하여 원하시는 비밀번호로 변경하세요.';
|
||||
|
||||
$lang->msg_no_message = 'There are no messages';
|
||||
$lang->message_received = 'You got a new message';
|
||||
|
||||
|
|
@ -172,4 +187,5 @@
|
|||
$lang->about_openid_leave = '오픈아이디의 탈퇴는 현 사이트에서의 회원 정보를 삭제하는 것입니다.<br />탈퇴 후 로그인하시면 새로 가입하시는 것으로 되어 작성한 글에 대한 권한을 가질 수 없게 됩니다';
|
||||
|
||||
$lang->about_member = "This is a module for creating/modifing/deleting members and managing group or join form.\nYou can manage members by creating new groups, and get additional information by managing join form";
|
||||
$lang->about_find_member_account = '아이디/ 비밀번호는 가입시 등록한 메일 주소로 알려드립니다<br />가입할때 등록하신 메일 주소를 입력하시고 "아이디/ 비밀번호 찾기" 버튼을 클릭해주세요.<br />';
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -53,6 +53,12 @@
|
|||
$lang->current_password = 'Contraseña actual';
|
||||
$lang->openid = 'OpenID';
|
||||
|
||||
$lang->webmaster_name = '웹마스터 이름';
|
||||
$lang->webmaster_email = '웹마스터 메일주소';
|
||||
|
||||
$lang->about_webmaster_name = '인증 메일이나 기타 사이트 관리시 사용될 웹마스터의 이름을 입력해주세요. (기본 : webmaster)';
|
||||
$lang->about_webmaster_email = '웹마스터의 메일 주소를 입력해주세요.';
|
||||
|
||||
$lang->search_target_list = array(
|
||||
'user_id' => 'ID',
|
||||
'user_name' => 'Nombre',
|
||||
|
|
@ -78,6 +84,7 @@
|
|||
$lang->cmd_modify_member_password = 'Cambiar la contraseña';
|
||||
$lang->cmd_view_member_info = 'Información del usuario';
|
||||
$lang->cmd_leave = 'Dejar de ser usuario';
|
||||
$lang->cmd_find_member_account = 'Find Account Info';
|
||||
|
||||
$lang->cmd_member_list = 'Lista de los Usuarios';
|
||||
$lang->cmd_module_config = 'Configuración predefinidos';
|
||||
|
|
@ -97,11 +104,19 @@
|
|||
$lang->cmd_add_friend_group = 'agregar grupo de amigos';
|
||||
$lang->cmd_rename_friend_group = 'Cambiar el nombre del grupo de amigos';
|
||||
|
||||
$lang->msg_email_not_exists = "Email address doesn't exists";
|
||||
|
||||
$lang->msg_alreay_scrapped = 'Este documento ya esta hecho scrap';
|
||||
|
||||
$lang->msg_cart_is_null = 'Seleciona el objetivo';
|
||||
$lang->msg_checked_file_is_deleted = '%d archivos adjuntos son eliminados';
|
||||
|
||||
$lang->msg_find_account_title = 'Account Info';
|
||||
$lang->msg_find_account_info = '요청하신 계정 정보는 아래와 같습니다';
|
||||
$lang->msg_find_account_comment = '아래 링크를 클릭하시면 위에 적힌 비밀번호로 바뀌게 됩니다.<br />로그인 하신 후 비밀번호를 바꾸어주세요.';
|
||||
$lang->msg_auth_mail_sended = '%s 메일로 인증 정보를 담은 메일이 발송되었습니다. 메일을 확인하세요.';
|
||||
$lang->msg_success_authed = '인증이 정상적으로 되어 로그인 처리가 되었습니다. 꼭 인증 메일에 표시된 비밀번호를 이용하여 원하시는 비밀번호로 변경하세요.';
|
||||
|
||||
$lang->msg_no_message = 'No hay mensajes';
|
||||
$lang->message_received = 'Usted ha recibido un mensaje';
|
||||
|
||||
|
|
@ -172,4 +187,5 @@
|
|||
$lang->about_openid_leave = '오픈아이디의 탈퇴는 현 사이트에서의 회원 정보를 삭제하는 것입니다.<br />탈퇴 후 로그인하시면 새로 가입하시는 것으로 되어 작성한 글에 대한 권한을 가질 수 없게 됩니다';
|
||||
|
||||
$lang->about_member = "Esto es un módulo para crear/modificar/eliminar usuarios y manejar grupos o el formato del registro.\n Usted puede manejar usuarios creando nuevos grupos, y obtener información adicional manejando el formato del registro";
|
||||
$lang->about_find_member_account = '아이디/ 비밀번호는 가입시 등록한 메일 주소로 알려드립니다<br />가입할때 등록하신 메일 주소를 입력하시고 "아이디/ 비밀번호 찾기" 버튼을 클릭해주세요.<br />';
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -53,6 +53,12 @@
|
|||
$lang->current_password = '現在のパスワード';
|
||||
$lang->openid = 'OpenID';
|
||||
|
||||
$lang->webmaster_name = '웹마스터 이름';
|
||||
$lang->webmaster_email = '웹마스터 메일주소';
|
||||
|
||||
$lang->about_webmaster_name = '인증 메일이나 기타 사이트 관리시 사용될 웹마스터의 이름을 입력해주세요. (기본 : webmaster)';
|
||||
$lang->about_webmaster_email = '웹마스터의 메일 주소를 입력해주세요.';
|
||||
|
||||
$lang->search_target_list = array(
|
||||
'user_id' => 'ユーザID',
|
||||
'user_name' => '名前',
|
||||
|
|
@ -78,6 +84,7 @@
|
|||
$lang->cmd_modify_member_password = 'パスワード変更';
|
||||
$lang->cmd_view_member_info = '会員情報表示';
|
||||
$lang->cmd_leave = '脱会';
|
||||
$lang->cmd_find_member_account = 'Find Account Info';
|
||||
|
||||
$lang->cmd_member_list = '会員リスト';
|
||||
$lang->cmd_module_config = '基本設定';
|
||||
|
|
@ -97,11 +104,19 @@
|
|||
$lang->cmd_add_friend_group = '友達グループ追加';
|
||||
$lang->cmd_rename_friend_group = '友達グループ名変更';
|
||||
|
||||
$lang->msg_email_not_exists = "Email address doesn't exists";
|
||||
|
||||
$lang->msg_alreay_scrapped = '既にスクラップされたコンテンツです。';
|
||||
|
||||
$lang->msg_cart_is_null = '対象を選択してください。';
|
||||
$lang->msg_checked_file_is_deleted = '%d個の添付ファイルが削除されました。';
|
||||
|
||||
$lang->msg_find_account_title = 'Account Info';
|
||||
$lang->msg_find_account_info = '요청하신 계정 정보는 아래와 같습니다';
|
||||
$lang->msg_find_account_comment = '아래 링크를 클릭하시면 위에 적힌 비밀번호로 바뀌게 됩니다.<br />로그인 하신 후 비밀번호를 바꾸어주세요.';
|
||||
$lang->msg_auth_mail_sended = '%s 메일로 인증 정보를 담은 메일이 발송되었습니다. 메일을 확인하세요.';
|
||||
$lang->msg_success_authed = '인증이 정상적으로 되어 로그인 처리가 되었습니다. 꼭 인증 메일에 표시된 비밀번호를 이용하여 원하시는 비밀번호로 변경하세요.';
|
||||
|
||||
$lang->msg_no_message = 'メッセージがありません。';
|
||||
$lang->message_received = 'メッセージが届きました。';
|
||||
|
||||
|
|
@ -172,4 +187,5 @@
|
|||
$lang->about_openid_leave = '오픈아이디의 탈퇴는 현 사이트에서의 회원 정보를 삭제하는 것입니다.<br />탈퇴 후 로그인하시면 새로 가입하시는 것으로 되어 작성한 글에 대한 권한을 가질 수 없게 됩니다';
|
||||
|
||||
$lang->about_member = "会員の作成・修正・削除することができ、グループの管理、加入フォームの管理などが行える会員管理モジュールです。デフォルトで作成されたグループにグループを追加作成して会員管理ができるようにし、加入フォーム管理では基本情報の他、フォームの入力情報を追加することができます。";
|
||||
$lang->about_find_member_account = '아이디/ 비밀번호는 가입시 등록한 메일 주소로 알려드립니다<br />가입할때 등록하신 메일 주소를 입력하시고 "아이디/ 비밀번호 찾기" 버튼을 클릭해주세요.<br />';
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -53,6 +53,12 @@
|
|||
$lang->current_password = '현재 비밀번호';
|
||||
$lang->openid = 'OpenID';
|
||||
|
||||
$lang->webmaster_name = '웹마스터 이름';
|
||||
$lang->webmaster_email = '웹마스터 메일주소';
|
||||
|
||||
$lang->about_webmaster_name = '인증 메일이나 기타 사이트 관리시 사용될 웹마스터의 이름을 입력해주세요. (기본 : webmaster)';
|
||||
$lang->about_webmaster_email = '웹마스터의 메일 주소를 입력해주세요.';
|
||||
|
||||
$lang->search_target_list = array(
|
||||
'user_id' => '아이디',
|
||||
'user_name' => '이름',
|
||||
|
|
@ -79,6 +85,7 @@
|
|||
$lang->cmd_modify_member_password = '비밀번호 변경';
|
||||
$lang->cmd_view_member_info = '회원 정보 보기';
|
||||
$lang->cmd_leave = '탈퇴';
|
||||
$lang->cmd_find_member_account = '아이디/비밀번호 찾기';
|
||||
|
||||
$lang->cmd_member_list = '회원 목록';
|
||||
$lang->cmd_module_config = '기본 설정';
|
||||
|
|
@ -98,11 +105,20 @@
|
|||
$lang->cmd_add_friend_group = '친구 그룹 추가';
|
||||
$lang->cmd_rename_friend_group = '친구 그룹 이름 변경';
|
||||
|
||||
$lang->msg_email_not_exists = '이메일 주소가 존재하지 않습니다';
|
||||
|
||||
$lang->msg_alreay_scrapped = '이미 스크랩된 게시물입니다';
|
||||
|
||||
$lang->msg_cart_is_null = '대상을 선택해주세요';
|
||||
$lang->msg_checked_file_is_deleted = '%d개의 첨부파일이 삭제되었습니다';
|
||||
|
||||
$lang->msg_find_account_title = '아이디/ 비밀번호 정보입니다';
|
||||
$lang->msg_find_account_info = '요청하신 계정 정보는 아래와 같습니다';
|
||||
$lang->msg_find_account_comment = '아래 링크를 클릭하시면 위에 적힌 비밀번호로 바뀌게 됩니다.<br />로그인 하신 후 비밀번호를 바꾸어주세요.';
|
||||
$lang->msg_auth_mail_sended = '%s 메일로 인증 정보를 담은 메일이 발송되었습니다. 메일을 확인하세요.';
|
||||
$lang->msg_invalid_auth_key = '잘못된 계정 인증 요청입니다.<br />아이디/비밀번호 찾기를 다시 하시거나 사이트 관리자에게 계정 정보를 문의해주세요';
|
||||
$lang->msg_success_authed = '인증이 정상적으로 되어 로그인 처리가 되었습니다. 꼭 인증 메일에 표시된 비밀번호를 이용하여 원하시는 비밀번호로 변경하세요.';
|
||||
|
||||
$lang->msg_no_message = '쪽지가 없습니다';
|
||||
$lang->message_received = '쪽지가 왔습니다';
|
||||
|
||||
|
|
@ -171,6 +187,7 @@
|
|||
|
||||
$lang->about_openid = '오픈아이디로 가입시 아이디와 메일등의 기본 정보는 이 사이트에 저장이 되지만 비밀번호와 인증을 위한 처리는 해당 오픈아이디 제공서비스에서 이루어집니다.';
|
||||
$lang->about_openid_leave = '오픈아이디의 탈퇴는 현 사이트에서의 회원 정보를 삭제하는 것입니다.<br />탈퇴 후 로그인하시면 새로 가입하시는 것으로 되어 작성한 글에 대한 권한을 가질 수 없게 됩니다';
|
||||
$lang->about_find_member_account = '아이디/ 비밀번호는 가입시 등록한 메일 주소로 알려드립니다<br />가입할때 등록하신 메일 주소를 입력하시고 "아이디/ 비밀번호 찾기" 버튼을 클릭해주세요.<br />';
|
||||
|
||||
$lang->about_member = "회원을 생성/수정/삭제 할 수 있고 그룹관리나 가입폼 관리등을 할 수 있는 회원 관리 모듈입니다.\n기본으로 생성된 그룹외의 그룹을 생성하여 회원 관리가 가능하고 가입폼관리를 통한 기본 정보외의 추가 정보를 요구받을 수도 있습니다.";
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -53,6 +53,12 @@
|
|||
$lang->current_password = '当前密码';
|
||||
$lang->openid = 'OpenID';
|
||||
|
||||
$lang->webmaster_name = '웹마스터 이름';
|
||||
$lang->webmaster_email = '웹마스터 메일주소';
|
||||
|
||||
$lang->about_webmaster_name = '인증 메일이나 기타 사이트 관리시 사용될 웹마스터의 이름을 입력해주세요. (기본 : webmaster)';
|
||||
$lang->about_webmaster_email = '웹마스터의 메일 주소를 입력해주세요.';
|
||||
|
||||
$lang->search_target_list = array(
|
||||
'user_id' => '用户名',
|
||||
'user_name' => '姓名',
|
||||
|
|
@ -78,6 +84,7 @@
|
|||
$lang->cmd_modify_member_password = '修改密码';
|
||||
$lang->cmd_view_member_info = '查看会员信息';
|
||||
$lang->cmd_leave = '注销';
|
||||
$lang->cmd_find_member_account = 'Find Account Info';
|
||||
|
||||
$lang->cmd_member_list = '会员目录';
|
||||
$lang->cmd_module_config = '基本设置';
|
||||
|
|
@ -97,11 +104,19 @@
|
|||
$lang->cmd_add_friend_group = '添加好友组';
|
||||
$lang->cmd_rename_friend_group = '修改好友组名称';
|
||||
|
||||
$lang->msg_email_not_exists = "Email address doesn't exists";
|
||||
|
||||
$lang->msg_alreay_scrapped = '已收藏的主题!';
|
||||
|
||||
$lang->msg_cart_is_null = '请选择对象。';
|
||||
$lang->msg_checked_file_is_deleted = '已删除%d个附件。';
|
||||
|
||||
$lang->msg_find_account_title = 'Account Info';
|
||||
$lang->msg_find_account_info = '요청하신 계정 정보는 아래와 같습니다';
|
||||
$lang->msg_find_account_comment = '아래 링크를 클릭하시면 위에 적힌 비밀번호로 바뀌게 됩니다.<br />로그인 하신 후 비밀번호를 바꾸어주세요.';
|
||||
$lang->msg_auth_mail_sended = '%s 메일로 인증 정보를 담은 메일이 발송되었습니다. 메일을 확인하세요.';
|
||||
$lang->msg_success_authed = '인증이 정상적으로 되어 로그인 처리가 되었습니다. 꼭 인증 메일에 표시된 비밀번호를 이용하여 원하시는 비밀번호로 변경하세요.';
|
||||
|
||||
$lang->msg_no_message = '没有短消息。';
|
||||
$lang->message_received = '您有新消息。';
|
||||
|
||||
|
|
@ -172,4 +187,5 @@
|
|||
$lang->about_openid_leave = '删除OpenID就等于永久删除站内用户的信息。<br />被删除后的重新登录就等于新会员注册,因此对以前自己写的主题将失去相应权限。';
|
||||
|
||||
$lang->about_member = "可以添加/修改/删除会员及管理用户组或注册表单的会员管理模块。\n此模块不仅可以生成缺省用户组以外的其他用户组来管理会员,并且通过注册表单的管理获得除会员基本信息以外的扩展信息。";
|
||||
$lang->about_find_member_account = '아이디/ 비밀번호는 가입시 등록한 메일 주소로 알려드립니다<br />가입할때 등록하신 메일 주소를 입력하시고 "아이디/ 비밀번호 찾기" 버튼을 클릭해주세요.<br />';
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@
|
|||
**/
|
||||
function procMemberAdminInsertConfig() {
|
||||
// 기본 정보를 받음
|
||||
$args = Context::gets('skin','colorset','enable_openid','enable_join','limit_day','redirect_url','agreement','image_name','image_mark', 'image_name_max_width', 'image_name_max_height','image_mark_max_width','image_mark_max_height');
|
||||
$args = Context::gets('webmaster_name','webmaster_email','skin','colorset','enable_openid','enable_join','limit_day','redirect_url','agreement','image_name','image_mark', 'image_name_max_width', 'image_name_max_height','image_mark_max_width','image_mark_max_height');
|
||||
if(!$args->skin) $args->skin = "default";
|
||||
if(!$args->colorset) $args->colorset = "white";
|
||||
if($args->enable_join!='Y') $args->enable_join = 'N';
|
||||
|
|
|
|||
|
|
@ -60,6 +60,7 @@
|
|||
// 설정 정보를 받아옴 (module model 객체를 이용)
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('member');
|
||||
if(!$config->webmaster_name) $config->webmaster_name = 'webmaster';
|
||||
if(!$config->image_name_max_width) $config->image_name_max_width = 90;
|
||||
if(!$config->image_name_max_height) $config->image_name_max_height = 20;
|
||||
if(!$config->image_mark_max_width) $config->image_mark_max_width = 20;
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
$oModuleController->insertActionForward('member', 'view', 'dispMemberLogout');
|
||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberOwnDocument');
|
||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberScrappedDocument');
|
||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberFindAccount');
|
||||
|
||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberMessages');
|
||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberSendMessage');
|
||||
|
|
@ -133,6 +134,10 @@
|
|||
// member 디렉토리 체크 (2007. 8. 11 추가)
|
||||
if(!is_dir("./files/member_extra_info")) return true;
|
||||
|
||||
// dispMemberFindAccount act의 여부 체크 (2007. 10. 15)
|
||||
$act = $oModuleModel->getActionForward('dispMemberFindAccount');
|
||||
if(!$act) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -145,6 +150,7 @@
|
|||
$oModuleController->insertActionForward('member', 'view', 'dispMemberOwnDocument');
|
||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberScrappedDocument');
|
||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberOpenIDLeave');
|
||||
$oModuleController->insertActionForward('member', 'view', 'dispMemberFindAccount');
|
||||
|
||||
// member 디렉토리 체크
|
||||
FileHandler::makeDir('./files/member_extra_info/image_name');
|
||||
|
|
@ -152,6 +158,8 @@
|
|||
FileHandler::makeDir('./files/member_extra_info/signature');
|
||||
FileHandler::makeDir('./files/member_extra_info/new_message_flags');
|
||||
|
||||
// dispMemberFindAccount act의 여부 체크 (2007. 10. 15)
|
||||
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -892,6 +892,93 @@
|
|||
return new Object(0,'success');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 아이디/ 비밀번호 찾기
|
||||
**/
|
||||
function procMemberFindAccount() {
|
||||
$email_address = Context::get('email_address');
|
||||
if(!$email_address) return new Object(-1, 'msg_invalid_request');
|
||||
|
||||
$oMemberModel = &getModel('member');
|
||||
|
||||
// 메일 주소에 해당하는 회원이 있는지 검사
|
||||
$member_srl = $oMemberModel->getMemberSrlByEmailAddress($email_address);
|
||||
if(!$member_srl) return new Object(-1, 'msg_email_not_exists');
|
||||
|
||||
// 회원의 정보를 가져옴
|
||||
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
|
||||
|
||||
// 인증 DB에 데이터를 넣음
|
||||
$args->user_id = $member_info->user_id;
|
||||
$args->member_srl = $member_info->member_srl;
|
||||
$args->new_password = rand(111111,999999);
|
||||
$args->auth_key = md5( rand(0,999999 ) );
|
||||
|
||||
$output = executeQuery('member.insertAuthMail', $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
// 메일 내용을 구함
|
||||
Context::set('auth_args', $args);
|
||||
Context::set('member_info', $member_info);
|
||||
$oTemplate = &TemplateHandler::getInstance();
|
||||
$content = $oTemplate->compile($this->module_path.'tpl', 'find_member_account_mail');
|
||||
|
||||
// 사이트 웹마스터 정보를 구함
|
||||
$oModuleModel = &getModel('module');
|
||||
$member_config = $oModuleModel->getModuleConfig('member');
|
||||
|
||||
// 메일 발송
|
||||
$oMail = new Mail();
|
||||
$oMail->setTitle( Context::getLang('msg_find_account_title') );
|
||||
$oMail->setContent($content);
|
||||
$oMail->setSender( $member_config->webmaster_name?$member_config->webmaster_name:'webmaster', $member_config->webmaster_email);
|
||||
$oMail->setReceiptor( $member_info->user_name, $member_info->email_address );
|
||||
$oMail->send();
|
||||
|
||||
// 메세지 return
|
||||
$msg = sprintf(Context::getLang('msg_auth_mail_sended'), $member_info->email_address);
|
||||
$this->setMessage($msg);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 아이디/비밀번호 찾기 기능 실행
|
||||
* 메일에 등록된 링크를 선택시 호출되는 method로 비밀번호를 바꾸고 인증을 시켜버림
|
||||
**/
|
||||
function procMemberAuthAccount() {
|
||||
// user_id, authkey 검사
|
||||
$member_srl = Context::get('member_srl');
|
||||
$auth_key = Context::get('auth_key');
|
||||
if(!$member_srl || !$auth_key) return $this->stop('msg_invalid_request');
|
||||
|
||||
// user_id, authkey로 비밀번호 찾기 로그 검사
|
||||
$args->member_srl = $member_srl;
|
||||
$args->auth_key = $auth_key;
|
||||
$output = executeQuery('member.getAuthMail', $args);
|
||||
if(!$output->toBool() || $output->data->auth_key != $auth_key) return $this->stop('msg_invalid_auth_key');
|
||||
|
||||
// 인증 정보가 맞다면 새비밀번호로 비밀번호를 바꾸고 인증 상태로 바꿈
|
||||
$args->password = md5($output->data->new_password);
|
||||
$output = executeQuery('member.updateMemberPassword', $args);
|
||||
if(!$output->toBool()) return $this->stop($output->getMessage());
|
||||
|
||||
// 인증 시킴
|
||||
$oMemberModel = &getModel('member');
|
||||
|
||||
// 회원의 정보를 가져옴
|
||||
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
|
||||
|
||||
// 사용자 정보의 최근 로그인 시간을 기록
|
||||
$output = executeQuery('member.updateLastLogin', $args);
|
||||
$this->setSessionInfo($member_info);
|
||||
|
||||
// 인증 테이블에서 member_srl에 해당하는 모든 값을 지움
|
||||
executeQuery('member.deleteAuthMail',$args);
|
||||
|
||||
// 결과를 통보
|
||||
$this->setTemplatePath($this->module_path.'tpl');
|
||||
$this->setTemplateFile('msg_success_authed');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 서명을 파일로 저장
|
||||
**/
|
||||
|
|
|
|||
|
|
@ -444,5 +444,14 @@
|
|||
$this->setTemplateFile('add_friend_group');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 아이디/ 비밀번호 찾기 기능
|
||||
**/
|
||||
function dispMemberFindAccount() {
|
||||
if(Context::get('is_logged')) return $this->stop('already_logged');
|
||||
|
||||
$this->setTemplateFile('find_member_account');
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
8
modules/member/queries/deleteAuthMail.xml
Normal file
8
modules/member/queries/deleteAuthMail.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<query id="deleteAuthMail" action="delete">
|
||||
<tables>
|
||||
<table name="member_auth_mail" />
|
||||
</tables>
|
||||
<conditions>
|
||||
<condition operation="equal" column="member_srl" var="member_srl" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
12
modules/member/queries/getAuthMail.xml
Normal file
12
modules/member/queries/getAuthMail.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<query id="getAuthMail" action="select">
|
||||
<tables>
|
||||
<table name="member_auth_mail" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="*" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="auth_key" var="auth_key" notnull="notnull" />
|
||||
<condition operation="equal" column="member_srl" var="member_srl" notnull="notnull" pipe="and" />
|
||||
</conditions>
|
||||
</query>
|
||||
12
modules/member/queries/insertAuthMail.xml
Normal file
12
modules/member/queries/insertAuthMail.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<query id="insertAuthMail" action="insert">
|
||||
<tables>
|
||||
<table name="member_auth_mail" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="member_srl" var="member_srl" filter="number" notnull="notnull" />
|
||||
<column name="user_id" var="user_id" notnull="notnull" />
|
||||
<column name="auth_key" var="auth_key" notnull="notnull" minlength="1" maxlength="60" />
|
||||
<column name="new_password" var="new_password" notnull="notnull" minlength="1" maxlength="60" />
|
||||
<column name="regdate" default="curdate()" />
|
||||
</columns>
|
||||
</query>
|
||||
7
modules/member/schemas/member_auth_mail.xml
Normal file
7
modules/member/schemas/member_auth_mail.xml
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
<table name="member_auth_mail">
|
||||
<column name="auth_key" type="varchar" size="60" notnull="notnull" unique="unique_key"/>
|
||||
<column name="member_srl" type="number" size="11" notnull="notnull" unique="unique_key" />
|
||||
<column name="user_id" type="varchar" size="80" notnull="notnull" />
|
||||
<column name="new_password" type="varchar" size="80" notnull="notnull" />
|
||||
<column name="regdate" type="date" index="idx_regdate" />
|
||||
</table>
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
<filter name="find_member_account" module="member" act="procMemberFindAccount">
|
||||
<form>
|
||||
<node target="email_address" required="true" minlength="2" maxlength="255" filter="email" />
|
||||
</form>
|
||||
<parameter />
|
||||
<response callback_func="completeFindMemberAccount">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
</response>
|
||||
</filter>
|
||||
27
modules/member/skins/cozy_simple/find_member_account.html
Normal file
27
modules/member/skins/cozy_simple/find_member_account.html
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{@ $member_title = $lang->cmd_find_member_account}
|
||||
<!--#include("./common_header.html")-->
|
||||
|
||||
<!--%import("filter/find_member_account.xml")-->
|
||||
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, find_member_account)">
|
||||
<input type="hidden" name="mid" value="{$mid}" />
|
||||
<input type="hidden" name="document_srl" value="{$document_srl}" />
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
|
||||
<table cellspacing="0" class="memberInfoTable gap1" title="$lang->msg_leave_member}">
|
||||
<col width="140" />
|
||||
<col />
|
||||
<tr class="first-child">
|
||||
<th scope="row"><label for="cpw">{$lang->email_address}</label></th>
|
||||
<td>
|
||||
<input type="text" name="email_address" class="inputTypeText w400" />
|
||||
<p>{$lang->about_find_member_account}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="help tCenter">
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_find_member_account}" accesskey="s" /></span>
|
||||
</div>
|
||||
</form>
|
||||
<!--#include("./common_footer.html")-->
|
||||
|
|
@ -224,3 +224,8 @@ function doDeleteScrap(document_srl) {
|
|||
params['document_srl'] = document_srl;
|
||||
exec_xml('member', 'procMemberDeleteScrap', params, function() { location.reload(); });
|
||||
}
|
||||
|
||||
/* 비밀번호 찾기 후 */
|
||||
function completeFindMemberAccount(ret_obj, response_tags) {
|
||||
alert(ret_obj['message']);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
<ul class="help">
|
||||
<li class="first-child"><a href="{getUrl('act','dispMemberSignUpForm')}"><img src="./images/common/btn_joinus.gif" alt="{$lang->cmd_signup}" /></a></li>
|
||||
<li><a href="{getUrl('act','dispMemberFindAccount')}">{$lang->cmd_find_member_account}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
10
modules/member/skins/default/filter/find_member_account.xml
Normal file
10
modules/member/skins/default/filter/find_member_account.xml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<filter name="find_member_account" module="member" act="procMemberFindAccount">
|
||||
<form>
|
||||
<node target="email_address" required="true" minlength="2" maxlength="255" filter="email" />
|
||||
</form>
|
||||
<parameter />
|
||||
<response callback_func="completeFindMemberAccount">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
</response>
|
||||
</filter>
|
||||
27
modules/member/skins/default/find_member_account.html
Normal file
27
modules/member/skins/default/find_member_account.html
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{@ $member_title = $lang->cmd_find_member_account}
|
||||
<!--#include("./common_header.html")-->
|
||||
|
||||
<!--%import("filter/find_member_account.xml")-->
|
||||
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, find_member_account)">
|
||||
<input type="hidden" name="mid" value="{$mid}" />
|
||||
<input type="hidden" name="document_srl" value="{$document_srl}" />
|
||||
<input type="hidden" name="page" value="{$page}" />
|
||||
|
||||
<table cellspacing="0" class="memberInfoTable gap1" title="$lang->msg_leave_member}">
|
||||
<col width="140" />
|
||||
<col />
|
||||
<tr class="first-child">
|
||||
<th scope="row"><label for="cpw">{$lang->email_address}</label></th>
|
||||
<td>
|
||||
<input type="text" name="email_address" class="inputTypeText w400" />
|
||||
<p>{$lang->about_find_member_account}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="help tCenter">
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_find_member_account}" accesskey="s" /></span>
|
||||
</div>
|
||||
</form>
|
||||
<!--#include("./common_footer.html")-->
|
||||
|
|
@ -224,3 +224,8 @@ function doDeleteScrap(document_srl) {
|
|||
params['document_srl'] = document_srl;
|
||||
exec_xml('member', 'procMemberDeleteScrap', params, function() { location.reload(); });
|
||||
}
|
||||
|
||||
/* 비밀번호 찾기 후 */
|
||||
function completeFindMemberAccount(ret_obj, response_tags) {
|
||||
alert(ret_obj['message']);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
</form>
|
||||
|
||||
<div class="help tCenter">
|
||||
<a href="{getUrl('act','dispMemberFindAccount')}" class="button"><span>{$lang->cmd_find_member_account}</span></a>
|
||||
<a href="{getUrl('act','dispMemberSignUpForm')}" class="button"><span>{$lang->cmd_signup}</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
13
modules/member/tpl/find_member_account_mail.html
Normal file
13
modules/member/tpl/find_member_account_mail.html
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{$lang->msg_find_account_info}<br />
|
||||
<hr noshade="noshade" />
|
||||
<ul>
|
||||
<li>Site : <a href="{getUrl()}" target="_blank">{getUrl()}</a></li>
|
||||
<li>{$lang->user_id} : {$member_info->user_id}</li>
|
||||
<li>{$lang->user_name} : {$member_info->user_name}</li>
|
||||
<li>{$lang->nick_name} : {$member_info->nick_name}</li>
|
||||
<li>{$lang->email_address} : {$member_info->email_address}</li>
|
||||
<li>{$lang->password} : <span style="color:red">{$auth_args->new_password}</span>
|
||||
</ul>
|
||||
<hr noshade="noshade" />
|
||||
{$lang->msg_find_account_comment}<br />
|
||||
<a href="{getUrl('','module','member','act','procMemberAuthAccount','member_srl',$member_info->member_srl, 'auth_key',$auth_args->auth_key)}" target="_blank">{getUrl('','module','member','act','procMemberAuthAccount','member_srl',$member_info->member_srl,'auth_key',$auth_args->auth_key)}</a>
|
||||
|
|
@ -9,6 +9,20 @@
|
|||
<table cellspacing="0" class="tableType2 gap1">
|
||||
<col width="150" />
|
||||
<col />
|
||||
<tr>
|
||||
<th scope="row">{$lang->webmaster_name}</th>
|
||||
<td>
|
||||
<input type="text" name="webmaster_name" value="{$config->webmaster_name}" size="20" class="inputTypeText" />
|
||||
<p>{$lang->about_webmaster_name}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->webmaster_email}</th>
|
||||
<td>
|
||||
<input type="text" name="webmaster_email" value="{$config->webmaster_email}" size="40" class="inputTypeText" />
|
||||
<p>{$lang->about_webmaster_email}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">{$lang->enable_openid}</th>
|
||||
<td>
|
||||
|
|
|
|||
4
modules/member/tpl/msg_success_authed.html
Normal file
4
modules/member/tpl/msg_success_authed.html
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<script type="text/javascript">
|
||||
alert("{$lang->msg_success_authed}");
|
||||
location.href="{getUrl()}";
|
||||
</script>
|
||||
|
|
@ -25,6 +25,9 @@
|
|||
.box_login ul.option li a.btn { background:url(../images/default/bul_01.gif) no-repeat left; padding-left:10px; margin-left:14px; }
|
||||
.box_login .checkbox { width:15px; height:15px; margin:-1px 0px 0px -1px; margin-right:2px; }
|
||||
.box_login .clear { clear:both; }
|
||||
.box_login ul.extra_option { clear:both; height:40px; }
|
||||
.box_login ul.extra_option li a {text-decoration:none;}
|
||||
.box_login ul.extra_option li a.btn { background:url(../images/default/bul_01.gif) no-repeat left; padding-left:10px; margin-left:20px; }
|
||||
|
||||
.openid_login { clear:both; height:38px; border:3px solid #D5D8DB; background-color:#FFFFFF; margin:0 0 10px 0; }
|
||||
.openid_login .openid_user_id { width:110px; _width:100px; background: url(../images/openid_login_bg.gif) left no-repeat; background-color: #ffffff; background-position: 0 50%; padding:3px 3px 3px 18px; border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; height:16px; line-height:1em; vertical-align:middle; margin-bottom:.5em; color:#666666;}
|
||||
|
|
|
|||
|
|
@ -19,11 +19,14 @@
|
|||
</div>
|
||||
|
||||
<div><input type="submit" value=" " class="submit" /></div>
|
||||
<ul class="option">
|
||||
<li><input type="checkbox" name="remember_user_id" id="chk_remember_user_id" value="Y" class="checkbox" /></li>
|
||||
<li><label for="chk_remember_user_id">{$lang->remember_user_id}</label></li>
|
||||
<li><a href="{getUrl('act','dispMemberSignUpForm')}" class="fc_02 btn">{$lang->cmd_signup}</a></li>
|
||||
</ul>
|
||||
<ul class="option">
|
||||
<li><input type="checkbox" name="remember_user_id" id="chk_remember_user_id" value="Y" class="checkbox" /></li>
|
||||
<li><label for="chk_remember_user_id">{$lang->remember_user_id}</label></li>
|
||||
</ul>
|
||||
<ul class="extra_option">
|
||||
<li><a href="{getUrl('act','dispMemberSignUpForm')}" class="fc_02 btn">{$lang->cmd_signup}</a></li>
|
||||
<li><a href="{getUrl('act','dispMemberFindAccount')}" class="fc_02 btn">{$lang->cmd_find_member_account}</a></li>
|
||||
</ul>
|
||||
</form>
|
||||
<div class="clear"></div>
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
</p>
|
||||
<ul class="help">
|
||||
<li class="first-child"><a href="{getUrl('act','dispMemberSignUpForm')}">{$lang->cmd_signup}</a></li>
|
||||
<!--<li><a href="#">아이디/비밀번호 찾기</a></li>-->
|
||||
<li><a href="{getUrl('act','dispMemberFindAccount')}">{$lang->cmd_find_member_account}</a></li>
|
||||
</ul>
|
||||
</form>
|
||||
</fieldset>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue