diff --git a/addons/member_extra_info/member_extra_info.addon.php b/addons/member_extra_info/member_extra_info.addon.php index cb027c488..55c0ebe50 100644 --- a/addons/member_extra_info/member_extra_info.addon.php +++ b/addons/member_extra_info/member_extra_info.addon.php @@ -75,7 +75,7 @@ // 4. 자신의 쪽지함 보기 기능 추가 $menu_str = Context::getLang('cmd_view_message_box'); - $menu_link = "current_url.setQuery('act','dispMemberMessages')"; + $menu_link = "current_url.setQuery('act','dispMemberMessages').setQuery('message_type','')"; $menu_list .= sprintf("\n%s,%s,move_url(%s,'Y')", Context::getRequestUri().'/modules/member/tpl/images/icon_message_box.gif', $menu_str, $menu_link); // 5. 친구 목록 보기 diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 52f368ee0..5b9577b42 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -167,6 +167,8 @@ if(file_exists($db_config_file)) @include($db_config_file); if(!$db_info->time_zone) $db_info->time_zone = date("O"); + if(!$db_info->use_optimizer || $db_info->use_optimizer != 'N') $db_info->use_optimizer = 'Y'; + else $db_info->use_optimizer = 'N'; $this->_setDBInfo($db_info); @@ -364,8 +366,6 @@ return $obj->str; } - - /** * @brief response method를 강제로 지정 (기본으로는 request method를 이용함) * diff --git a/classes/mail/Mail.class.php b/classes/mail/Mail.class.php new file mode 100644 index 000000000..cbd3dcd3b --- /dev/null +++ b/classes/mail/Mail.class.php @@ -0,0 +1,113 @@ +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 ''; + } + } +?> diff --git a/classes/optimizer/Optimizer.class.php b/classes/optimizer/Optimizer.class.php index 3f0f15d5e..fd8d460c9 100644 --- a/classes/optimizer/Optimizer.class.php +++ b/classes/optimizer/Optimizer.class.php @@ -26,6 +26,11 @@ * @brief optimize 대상 파일을 받아서 처리 후 optimize 된 파일이름을 return **/ function getOptimizedFiles($source_files, $type = "js") { + if(!is_array($source_files) || !count($source_files)) return; + + // $source_files의 역슬래쉬 경로를 슬래쉬로 변경 (윈도우즈 대비) + foreach($source_files as $key => $file) $source_files[$key] = str_replace("\\","/",$file); + // 관리자 설정시 설정이 되어 있지 않으면 패스 $db_info = Context::getDBInfo(); if($db_info->use_optimizer == 'N') return $source_files; @@ -69,11 +74,9 @@ function doOptimizedFile($filename, $targets, $type) { if(!file_exists($filename)) return $this->makeOptimizedFile($filename, $targets, $type); - $file_count = count($targets); - $mtime = filemtime($filename); - for($i=0;$i<$file_count;$i++) { - if($mtime < filemtime($targets[$i])) return $this->makeOptimizedFile($filename, $targets, $type); + foreach($targets as $file) { + if($mtime < filemtime($file)) return $this->makeOptimizedFile($filename, $targets, $type); } } @@ -85,9 +88,7 @@ * 실제 css나 js의 내용을 합친 것을 구함 **/ // 대상 파일의 내용을 구해오고 css 파일일 경우 url()내의 경로를 변경 - $file_count = count($targets); - for($i=0;$i<$file_count;$i++) { - $file = $targets[$i]; + foreach($targets as $file) { $str = FileHandler::readFile($file); $str = Context::convertEncodingStr($str); @@ -108,8 +109,6 @@ * 압축을 지원하고 캐시 타임을 제대로 이용하기 위한 헤더 파일 구함 **/ // php의 헤더파일 생성 - $modified_time = gmdate("D, d M Y H:i:s"); - // gzip 압축 체크 if($type!="css" && Context::isGzEnabled()) $gzip_header = 'header("Content-Encoding: gzip");'; @@ -120,10 +119,15 @@ $header_buff = << diff --git a/common/css/default.css b/common/css/default.css index eb63d00a0..f9667221b 100644 --- a/common/css/default.css +++ b/common/css/default.css @@ -20,6 +20,7 @@ IE7 & IE6 & Below .tRight { text-align:right; } .tLeft { text-align:left; } .gap1 { margin-top:.8em; } +.nowrap { white-space:nowrap; } /* default.css - Type Selector Definition */ * { margin:0; padding:0; } diff --git a/common/js/xml_js_filter.js b/common/js/xml_js_filter.js index f54adaaeb..0844dc418 100644 --- a/common/js/xml_js_filter.js +++ b/common/js/xml_js_filter.js @@ -23,7 +23,7 @@ function filterAlertMessage(ret_obj) { var redirect_url = ret_obj["redirect_url"]; var url = location.href; - if(url.substr(-1)=="#") url = url.substr(0,url.length-1); + if(url.substr(url.length-1,1)=="#") url = url.substr(0,url.length-1); if(typeof(message)!="undefined"&&message&&message!="success") alert(message); diff --git a/common/lang/zh-CN.lang.php b/common/lang/zh-CN.lang.php index 87be111d4..a95f91c3f 100644 --- a/common/lang/zh-CN.lang.php +++ b/common/lang/zh-CN.lang.php @@ -37,6 +37,7 @@ $lang->cmd_select = '选择'; $lang->cmd_select_all = '全部选择'; $lang->cmd_unselect_all = '全部解除'; + $lang->cmd_reverse_all = "反选"; $lang->cmd_close_all = '全部折叠'; $lang->cmd_open_all = '全部展开'; $lang->cmd_reload = '从新载入'; diff --git a/config/config.inc.php b/config/config.inc.php index 453cfab53..02abfd2b7 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -14,7 +14,7 @@ * 이 내용은 제로보드XE의 버전을 관리자 페이지에 표시하기 위한 용도이며 * config.inc.php의 수정이 없더라도 공식 릴리즈시에 수정되어 함께 배포되어야 함 **/ - define('__ZBXE_VERSION__', '0.2.1'); + define('__ZBXE_VERSION__', '0.2.2'); /** * @brief 디버깅 메세지 출력 @@ -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__; /** diff --git a/modules/board/skins/xe_gallery/css/common.css b/modules/board/skins/xe_gallery/css/common.css index ecf8347b9..42dcb875f 100644 --- a/modules/board/skins/xe_gallery/css/common.css +++ b/modules/board/skins/xe_gallery/css/common.css @@ -77,7 +77,7 @@ Jeong, Chan Myeong 070601~070630 .boardList td .thumbnailMedium img { border:1px solid #e0e1db; padding:3px;} .thumbnailBox { border-top:none; border-bottom:1px solid #eff0ed; padding:1.5em 0 0 1.5em; overflow:hidden; padding-bottom:1em;} -.thumbnailBox div.cell { display:block; float:left; overflow:hidden; margin-bottom:1em;} +.thumbnailBox div.cell { display:block; float:left; overflow:hidden; margin-bottom:1em; margin-right:1em;} .thumbnailBox div.cell img.thumb { padding:2px; border:1px solid #e0e1db; display:block; margin-bottom:1em; margin-left:auto;margin-right:auto;} .thumbnailBox div.title { color:#3B96C0; margin-bottom:.2em; overflow:hidden; white-space:nowrap; text-align:center;} .thumbnailBox div.title a { color:#3B96C0; text-decoration:none;} @@ -130,7 +130,7 @@ Jeong, Chan Myeong 070601~070630 .boardRead .titleAndCategory { float:left;} .boardRead .titleAndCategory h4 { font-size:1.4em; display:inline; padding-left:.2em;} .boardRead .titleAndCategory .vr { font-size:.9em; margin:0 .3em; color:#c5c7c0;} -.boardRead .titleAndCategory .cotegory { font-size:.9em; color:#999999; white-space:nowrap;} +.boardRead .titleAndCategory .category { font-size:.9em; color:#999999; white-space:nowrap;} .boardRead .dateAndModify { float:right; white-space:nowrap; font-size:.8em; color:#999999; position:relative;} .boardRead .dateAndModify strong { font-size:1em; font-family:Tahoma;} diff --git a/modules/board/skins/xe_gallery/list.html b/modules/board/skins/xe_gallery/list.html index 30df0eec9..583a44bb3 100644 --- a/modules/board/skins/xe_gallery/list.html +++ b/modules/board/skins/xe_gallery/list.html @@ -93,7 +93,7 @@ -{@ $height = $module_info->thumbnail_height + 40; } +{@ $height = $module_info->thumbnail_height + 50; } {@ $height += 20 } {@ $height += 25 } {@ $height += 25 } @@ -101,50 +101,53 @@
- - +
-
- - - - - + + -
- - {$category_list[$document->get('category_srl')]->title}
+
+ + + + - - isCarted())-->checked="checked" /> - +
+ + {$category_list[$document->get('category_srl')]->title}
+ - {$document->getTitleText($module_info->subject_cut_size)} + + isCarted())-->checked="checked" /> + - - ({$document->getCommentCount()}) - + {$document->getTitleText($module_info->subject_cut_size)} - - [{$document->getTrackbackCount()}] - + + ({$document->getCommentCount()}) + -
-
{$document->getNickName()}
-
{$document->getRegdate('Y.m.d')}
+ + [{$document->getTrackbackCount()}] + + +
+
{$document->getNickName()}
+
{$document->getRegdate('Y.m.d')}
+
+
+
+ {$lang->readed_count} {$document->get('readed_count')} + +
+ {$lang->voted_count} {$document->get('voted_count')} +
-
- {$lang->readed_count} {$document->get('readed_count')} - - | - {$lang->voted_count} {$document->get('voted_count')} - -
+ +
- -
diff --git a/modules/board/skins/xe_gallery/skin.xml b/modules/board/skins/xe_gallery/skin.xml index a24f95e64..85cae8c02 100644 --- a/modules/board/skins/xe_gallery/skin.xml +++ b/modules/board/skins/xe_gallery/skin.xml @@ -117,18 +117,24 @@ 썸네일 생성 방법 + 缩略图生成方式 썸네일 생성 방법을 선택할 수 있습니다. (crop : 꽉 채우기, ratio : 비율 맞추기) + 可以选择缩略图生成方式。 (crop : 裁减, ratio : 比例) crop ratio 썸네일 가로크기 + 缩略图宽度 썸네일의 가로 크기를 지정할 수 있습니다. (기본 100px) + 可以指定缩略图宽度。 (默认为 100px) 100 썸네일 세로크기 + 缩略图高度 썸네일의 세로 크기를 지정할 수 있습니다. (기본 100px) + 可以指定缩略图高度。 (默认为 100px) 100 diff --git a/modules/board/skins/xe_list/css/common.css b/modules/board/skins/xe_list/css/common.css index 124ae6ee2..6c899bada 100644 --- a/modules/board/skins/xe_list/css/common.css +++ b/modules/board/skins/xe_list/css/common.css @@ -130,7 +130,7 @@ Jeong, Chan Myeong 070601~070630 .boardRead .titleAndCategory { float:left;} .boardRead .titleAndCategory h4 { font-size:1.4em; display:inline; padding-left:.2em;} .boardRead .titleAndCategory .vr { font-size:.9em; margin:0 .3em; color:#c5c7c0;} -.boardRead .titleAndCategory .cotegory { font-size:.9em; color:#999999; white-space:nowrap;} +.boardRead .titleAndCategory .category { font-size:.9em; color:#999999; white-space:nowrap;} .boardRead .dateAndModify { float:right; white-space:nowrap; font-size:.8em; color:#999999; position:relative;} .boardRead .dateAndModify strong { font-size:1em; font-family:Tahoma;} diff --git a/modules/board/skins/xe_webzine/css/common.css b/modules/board/skins/xe_webzine/css/common.css index d86931918..28d46538d 100644 --- a/modules/board/skins/xe_webzine/css/common.css +++ b/modules/board/skins/xe_webzine/css/common.css @@ -135,7 +135,7 @@ Jeong, Chan Myeong 070601~070630 .boardRead .titleAndCategory { float:left;} .boardRead .titleAndCategory h4 { font-size:1.4em; display:inline; padding-left:.2em;} .boardRead .titleAndCategory .vr { font-size:.9em; margin:0 .3em; color:#c5c7c0;} -.boardRead .titleAndCategory .cotegory { font-size:.9em; color:#999999; white-space:nowrap;} +.boardRead .titleAndCategory .category { font-size:.9em; color:#999999; white-space:nowrap;} .boardRead .dateAndModify { float:right; white-space:nowrap; font-size:.8em; color:#999999; position:relative;} .boardRead .dateAndModify strong { font-size:1em; font-family:Tahoma;} diff --git a/modules/board/skins/xe_webzine/skin.xml b/modules/board/skins/xe_webzine/skin.xml index 222e38df0..66b5ebabd 100644 --- a/modules/board/skins/xe_webzine/skin.xml +++ b/modules/board/skins/xe_webzine/skin.xml @@ -126,18 +126,24 @@ 썸네일 생성 방법 + 缩略图生成方式 썸네일 생성 방법을 선택할 수 있습니다. (crop : 꽉 채우기, ratio : 비율 맞추기) + 可以选择缩略图生成方式。 (crop : 裁减, ratio : 比例) crop ratio 썸네일 가로크기 + 缩略图宽度 썸네일의 가로 크기를 지정할 수 있습니다. (기본 100px) + 可以指定缩略图宽度。 (默认为 100px) 100 썸네일 세로크기 + 缩略图高度 썸네일의 세로 크기를 지정할 수 있습니다. (기본 100px) + 可以指定缩略图高度。 (默认为 100px) 100 diff --git a/modules/comment/comment.controller.php b/modules/comment/comment.controller.php index 95d4594b8..e8276a636 100644 --- a/modules/comment/comment.controller.php +++ b/modules/comment/comment.controller.php @@ -34,7 +34,6 @@ // document model 객체 생성 $oDocumentModel = &getModel('document'); - // 원본글을 가져옴 if(!$manual_inserted) { $oDocument = $oDocumentModel->getDocument($document_srl); diff --git a/modules/document/document.admin.controller.php b/modules/document/document.admin.controller.php index e67204922..2452a5319 100644 --- a/modules/document/document.admin.controller.php +++ b/modules/document/document.admin.controller.php @@ -213,6 +213,8 @@ $obj->document_srl = getNextSequence(); $obj->category_srl = $category_srl; $obj->password_is_hashed = true; + $obj->comment_count = 0; + $obj->trackback_count = 0; // 첨부파일 미리 등록 if($oDocument->hasUploadedFiles()) { diff --git a/modules/document/document.item.php b/modules/document/document.item.php index 128abc5aa..c4519e91b 100644 --- a/modules/document/document.item.php +++ b/modules/document/document.item.php @@ -213,7 +213,7 @@ } function getSummary($str_size = 50) { - $content = htmlspecialchars(strip_tags($this->getContent())); + $content = htmlspecialchars(strip_tags(str_replace(" "," ",$this->getContent()))); return cut_str($content, $str_size, '...'); } diff --git a/modules/document/lang/zh-CN.lang.php b/modules/document/lang/zh-CN.lang.php index 0dddc1374..e8ff9af6b 100644 --- a/modules/document/lang/zh-CN.lang.php +++ b/modules/document/lang/zh-CN.lang.php @@ -5,11 +5,11 @@ * @brief 文章(document)模块语言包 **/ - $lang->document_list = 'Document list'; - $lang->thumbnail_type = 'Thumbnail Type'; - $lang->thumbnail_crop = 'Crop'; - $lang->thumbnail_ratio = 'Ratio'; - $lang->cmd_delete_all_thumbnail = 'Delete all thumbnails'; + $lang->document_list = '主题目录'; + $lang->thumbnail_type = '缩略图生成方式'; + $lang->thumbnail_crop = '裁减'; + $lang->thumbnail_ratio = '比例'; + $lang->cmd_delete_all_thumbnail = '删除全部缩略图'; $lang->move_target_module = "移动目标模块"; $lang->cmd_toggle_checked_document = '反选'; diff --git a/modules/editor/components/quotation/quotation.class.php b/modules/editor/components/quotation/quotation.class.php index 2e60de13d..00857a86c 100644 --- a/modules/editor/components/quotation/quotation.class.php +++ b/modules/editor/components/quotation/quotation.class.php @@ -75,6 +75,9 @@ if($use_folder == "Y") { $folder_id = rand(1000000,9999999); + $folder_opener = str_replace("&","&",$folder_opener); + $folder_closer = str_replace("&","&",$folder_closer); + if($bold == "Y") $class = "bold"; switch($color) { case "red" : diff --git a/modules/editor/components/quotation/tpl/popup.js b/modules/editor/components/quotation/tpl/popup.js index 73c24bf22..971c6050e 100644 --- a/modules/editor/components/quotation/tpl/popup.js +++ b/modules/editor/components/quotation/tpl/popup.js @@ -15,8 +15,8 @@ function getQuotation() { var use_folder = node.getAttribute("use_folder"); var folder_opener = node.getAttribute("folder_opener"); var folder_closer = node.getAttribute("folder_closer"); - if(folder_opener) folder_opener = folder_opener.replace(/&/g,'&').replace(/>/g,'>').replace(/</,'<').replace(/"/,'"'); - if(folder_closer) folder_closer = folder_closer.replace(/&/g,'&').replace(/>/g,'>').replace(/</,'<').replace(/"/,'"'); + if(folder_opener) folder_opener = folder_opener.replace(/>/g,'>').replace(/</,'<').replace(/"/,'"'); + if(folder_closer) folder_closer = folder_closer.replace(/>/g,'>').replace(/</,'<').replace(/"/,'"'); var bold = node.getAttribute("bold"); var color = node.getAttribute("color"); var margin = node.getAttribute("margin"); @@ -86,8 +86,8 @@ function insertQuotation() { var folder_closer = xGetElementById("quotation_closer").value; if(!folder_opener||!folder_closer) use_folder = "N"; - folder_opener = folder_opener.replace(/&/g,'&').replace(/>/g,'>').replace(//g,'>').replace(//g,'>').replace(//g,'>').replace(/ + @@ -56,6 +57,9 @@ + + + diff --git a/modules/member/lang/en.lang.php b/modules/member/lang/en.lang.php index b9bb655b1..f1cc5c55a 100644 --- a/modules/member/lang/en.lang.php +++ b/modules/member/lang/en.lang.php @@ -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 = '아래 링크를 클릭하시면 위에 적힌 비밀번호로 바뀌게 됩니다.
로그인 하신 후 비밀번호를 바꾸어주세요.'; + $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 = '오픈아이디의 탈퇴는 현 사이트에서의 회원 정보를 삭제하는 것입니다.
탈퇴 후 로그인하시면 새로 가입하시는 것으로 되어 작성한 글에 대한 권한을 가질 수 없게 됩니다'; $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 = '아이디/ 비밀번호는 가입시 등록한 메일 주소로 알려드립니다
가입할때 등록하신 메일 주소를 입력하시고 "아이디/ 비밀번호 찾기" 버튼을 클릭해주세요.
'; ?> diff --git a/modules/member/lang/es.lang.php b/modules/member/lang/es.lang.php index 74a40dd24..826813505 100644 --- a/modules/member/lang/es.lang.php +++ b/modules/member/lang/es.lang.php @@ -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 = '아래 링크를 클릭하시면 위에 적힌 비밀번호로 바뀌게 됩니다.
로그인 하신 후 비밀번호를 바꾸어주세요.'; + $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 = '오픈아이디의 탈퇴는 현 사이트에서의 회원 정보를 삭제하는 것입니다.
탈퇴 후 로그인하시면 새로 가입하시는 것으로 되어 작성한 글에 대한 권한을 가질 수 없게 됩니다'; $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 = '아이디/ 비밀번호는 가입시 등록한 메일 주소로 알려드립니다
가입할때 등록하신 메일 주소를 입력하시고 "아이디/ 비밀번호 찾기" 버튼을 클릭해주세요.
'; ?> diff --git a/modules/member/lang/jp.lang.php b/modules/member/lang/jp.lang.php index 92eb3dfec..3fb560882 100644 --- a/modules/member/lang/jp.lang.php +++ b/modules/member/lang/jp.lang.php @@ -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 = '아래 링크를 클릭하시면 위에 적힌 비밀번호로 바뀌게 됩니다.
로그인 하신 후 비밀번호를 바꾸어주세요.'; + $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 = '오픈아이디의 탈퇴는 현 사이트에서의 회원 정보를 삭제하는 것입니다.
탈퇴 후 로그인하시면 새로 가입하시는 것으로 되어 작성한 글에 대한 권한을 가질 수 없게 됩니다'; $lang->about_member = "会員の作成・修正・削除することができ、グループの管理、加入フォームの管理などが行える会員管理モジュールです。デフォルトで作成されたグループにグループを追加作成して会員管理ができるようにし、加入フォーム管理では基本情報の他、フォームの入力情報を追加することができます。"; + $lang->about_find_member_account = '아이디/ 비밀번호는 가입시 등록한 메일 주소로 알려드립니다
가입할때 등록하신 메일 주소를 입력하시고 "아이디/ 비밀번호 찾기" 버튼을 클릭해주세요.
'; ?> diff --git a/modules/member/lang/ko.lang.php b/modules/member/lang/ko.lang.php index 8dd6744b6..03dbaa64e 100644 --- a/modules/member/lang/ko.lang.php +++ b/modules/member/lang/ko.lang.php @@ -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 = '아래 링크를 클릭하시면 위에 적힌 비밀번호로 바뀌게 됩니다.
로그인 하신 후 비밀번호를 바꾸어주세요.'; + $lang->msg_auth_mail_sended = '%s 메일로 인증 정보를 담은 메일이 발송되었습니다. 메일을 확인하세요.'; + $lang->msg_invalid_auth_key = '잘못된 계정 인증 요청입니다.
아이디/비밀번호 찾기를 다시 하시거나 사이트 관리자에게 계정 정보를 문의해주세요'; + $lang->msg_success_authed = '인증이 정상적으로 되어 로그인 처리가 되었습니다. 꼭 인증 메일에 표시된 비밀번호를 이용하여 원하시는 비밀번호로 변경하세요.'; + $lang->msg_no_message = '쪽지가 없습니다'; $lang->message_received = '쪽지가 왔습니다'; @@ -171,6 +187,7 @@ $lang->about_openid = '오픈아이디로 가입시 아이디와 메일등의 기본 정보는 이 사이트에 저장이 되지만 비밀번호와 인증을 위한 처리는 해당 오픈아이디 제공서비스에서 이루어집니다.'; $lang->about_openid_leave = '오픈아이디의 탈퇴는 현 사이트에서의 회원 정보를 삭제하는 것입니다.
탈퇴 후 로그인하시면 새로 가입하시는 것으로 되어 작성한 글에 대한 권한을 가질 수 없게 됩니다'; + $lang->about_find_member_account = '아이디/ 비밀번호는 가입시 등록한 메일 주소로 알려드립니다
가입할때 등록하신 메일 주소를 입력하시고 "아이디/ 비밀번호 찾기" 버튼을 클릭해주세요.
'; $lang->about_member = "회원을 생성/수정/삭제 할 수 있고 그룹관리나 가입폼 관리등을 할 수 있는 회원 관리 모듈입니다.\n기본으로 생성된 그룹외의 그룹을 생성하여 회원 관리가 가능하고 가입폼관리를 통한 기본 정보외의 추가 정보를 요구받을 수도 있습니다."; ?> diff --git a/modules/member/lang/zh-CN.lang.php b/modules/member/lang/zh-CN.lang.php index 9e8303efc..fe327c3dc 100644 --- a/modules/member/lang/zh-CN.lang.php +++ b/modules/member/lang/zh-CN.lang.php @@ -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 = '아래 링크를 클릭하시면 위에 적힌 비밀번호로 바뀌게 됩니다.
로그인 하신 후 비밀번호를 바꾸어주세요.'; + $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就等于永久删除站内用户的信息。
被删除后的重新登录就等于新会员注册,因此对以前自己写的主题将失去相应权限。'; $lang->about_member = "可以添加/修改/删除会员及管理用户组或注册表单的会员管理模块。\n此模块不仅可以生成缺省用户组以外的其他用户组来管理会员,并且通过注册表单的管理获得除会员基本信息以外的扩展信息。"; + $lang->about_find_member_account = '아이디/ 비밀번호는 가입시 등록한 메일 주소로 알려드립니다
가입할때 등록하신 메일 주소를 입력하시고 "아이디/ 비밀번호 찾기" 버튼을 클릭해주세요.
'; ?> diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index 803332599..101df22c5 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -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'; diff --git a/modules/member/member.admin.view.php b/modules/member/member.admin.view.php index a11f18e88..0d3a9ac5c 100644 --- a/modules/member/member.admin.view.php +++ b/modules/member/member.admin.view.php @@ -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; diff --git a/modules/member/member.class.php b/modules/member/member.class.php index 98b2b6a18..5f0458c88 100644 --- a/modules/member/member.class.php +++ b/modules/member/member.class.php @@ -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'); } diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 3a90c3d93..7520627b3 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -159,7 +159,19 @@ } // 쪽지 발송 - return $this->sendMessage($logged_info->member_srl, $receiver_srl, $title, $content); + $output = $this->sendMessage($logged_info->member_srl, $receiver_srl, $title, $content); + + // 메일로도 발송 + if($output->toBool()) { + $oMail = new Mail(); + $oMail->setTitle($title); + $oMail->setContent($content); + $oMail->setSender($logged_info->user_name, $logged_info->email_address); + $oMail->setReceiptor($receiver_member_info->user_name, $receiver_member_info->email_address); + $oMail->send(); + } + + return $output; } function sendMessage($sender_srl, $receiver_srl, $title, $content, $sender_log = true) { @@ -892,6 +904,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 서명을 파일로 저장 **/ @@ -1270,16 +1369,14 @@ if(!$image_name && !$image_mark) return $matches[0]; if($image_name->width) { - if($image_mark->height && $image_mark->height > $image_name->height) $top_margin = ($image_mark->height - $image_name->height)/2; - else $top_margin = 0; - $text = sprintf('id: %s', Context::getRequestUri().$image_name->file, htmlspecialchars(strip_tags($matches[5])), htmlspecialchars(strip_tags($matches[5])), $image_name->width, $image_name->height, $top_margin); + $text = sprintf('id: %s', Context::getRequestUri().$image_name->file, htmlspecialchars(strip_tags($matches[5])), htmlspecialchars(strip_tags($matches[5])), $image_name->width, $image_name->height); } if($image_mark->width) { - $matches[0] = str_replace('<'.$matches[6], sprintf('<%s style="cursor:pointer;background:url(%s) no-repeat left;padding-left:%dpx; height:%dpx" ', $matches[1],Context::getRequestUri().$image_mark->file, $image_mark->width+2, $image_mark->height), $matches[0] ); + $text = sprintf('id: %s%s', Context::getRequestUri().$image_mark->file, htmlspecialchars(strip_tags($matches[5])), htmlspecialchars(strip_tags($matches[5])), $image_mark->width, $image_mark->height, $text); } - $output = str_replace('>'.$matches[5].'<', '>'.$text.'<', $matches[0]); - return $output; + + return sprintf('%s',$member_srl, $text); } /** diff --git a/modules/member/member.view.php b/modules/member/member.view.php index 29804ba6d..0108c943b 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -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'); + } + } ?> diff --git a/modules/member/queries/deleteAuthMail.xml b/modules/member/queries/deleteAuthMail.xml new file mode 100644 index 000000000..c5138d55e --- /dev/null +++ b/modules/member/queries/deleteAuthMail.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/modules/member/queries/getAuthMail.xml b/modules/member/queries/getAuthMail.xml new file mode 100644 index 000000000..8e648e2a0 --- /dev/null +++ b/modules/member/queries/getAuthMail.xml @@ -0,0 +1,12 @@ + + +
+ + + + + + + + + diff --git a/modules/member/queries/insertAuthMail.xml b/modules/member/queries/insertAuthMail.xml new file mode 100644 index 000000000..fcf065f52 --- /dev/null +++ b/modules/member/queries/insertAuthMail.xml @@ -0,0 +1,12 @@ + + +
+ + + + + + + + + diff --git a/modules/member/schemas/member_auth_mail.xml b/modules/member/schemas/member_auth_mail.xml new file mode 100644 index 000000000..52cbf1fff --- /dev/null +++ b/modules/member/schemas/member_auth_mail.xml @@ -0,0 +1,7 @@ +
+ + + + + +
diff --git a/modules/member/skins/cozy_simple/filter/find_member_account.xml b/modules/member/skins/cozy_simple/filter/find_member_account.xml new file mode 100644 index 000000000..be9c99cbb --- /dev/null +++ b/modules/member/skins/cozy_simple/filter/find_member_account.xml @@ -0,0 +1,10 @@ + +
+ + + + + + + +
diff --git a/modules/member/skins/cozy_simple/find_member_account.html b/modules/member/skins/cozy_simple/find_member_account.html new file mode 100644 index 000000000..66660d061 --- /dev/null +++ b/modules/member/skins/cozy_simple/find_member_account.html @@ -0,0 +1,27 @@ +{@ $member_title = $lang->cmd_find_member_account} + + + + +
+ + + + + + + + + + + +
+ +

{$lang->about_find_member_account}

+
+ +
+ +
+
+ diff --git a/modules/member/skins/cozy_simple/js/member.js b/modules/member/skins/cozy_simple/js/member.js index 92b4c3d45..5fad2171f 100644 --- a/modules/member/skins/cozy_simple/js/member.js +++ b/modules/member/skins/cozy_simple/js/member.js @@ -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']); +} diff --git a/modules/member/skins/cozy_simple/login_form.html b/modules/member/skins/cozy_simple/login_form.html index 02574c7a7..f63322bf5 100644 --- a/modules/member/skins/cozy_simple/login_form.html +++ b/modules/member/skins/cozy_simple/login_form.html @@ -29,6 +29,7 @@
diff --git a/modules/member/skins/default/filter/find_member_account.xml b/modules/member/skins/default/filter/find_member_account.xml new file mode 100644 index 000000000..be9c99cbb --- /dev/null +++ b/modules/member/skins/default/filter/find_member_account.xml @@ -0,0 +1,10 @@ + +
+ + + + + + + +
diff --git a/modules/member/skins/default/find_member_account.html b/modules/member/skins/default/find_member_account.html new file mode 100644 index 000000000..66660d061 --- /dev/null +++ b/modules/member/skins/default/find_member_account.html @@ -0,0 +1,27 @@ +{@ $member_title = $lang->cmd_find_member_account} + + + + +
+ + + + + + + + + + + +
+ +

{$lang->about_find_member_account}

+
+ +
+ +
+
+ diff --git a/modules/member/skins/default/js/member.js b/modules/member/skins/default/js/member.js index 92b4c3d45..5fad2171f 100644 --- a/modules/member/skins/default/js/member.js +++ b/modules/member/skins/default/js/member.js @@ -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']); +} diff --git a/modules/member/skins/default/login_form.html b/modules/member/skins/default/login_form.html index f38bbf270..5e59f03b2 100644 --- a/modules/member/skins/default/login_form.html +++ b/modules/member/skins/default/login_form.html @@ -28,6 +28,7 @@
diff --git a/modules/member/tpl/find_member_account_mail.html b/modules/member/tpl/find_member_account_mail.html new file mode 100644 index 000000000..ecd122555 --- /dev/null +++ b/modules/member/tpl/find_member_account_mail.html @@ -0,0 +1,13 @@ +{$lang->msg_find_account_info}
+
+ +
+{$lang->msg_find_account_comment}
+{getUrl('','module','member','act','procMemberAuthAccount','member_srl',$member_info->member_srl,'auth_key',$auth_args->auth_key)} diff --git a/modules/member/tpl/member_config.html b/modules/member/tpl/member_config.html index 9c32888a0..b96dc0f03 100644 --- a/modules/member/tpl/member_config.html +++ b/modules/member/tpl/member_config.html @@ -9,6 +9,20 @@ + + + + + + + +
{$lang->webmaster_name} + +

{$lang->about_webmaster_name}

+
{$lang->webmaster_email} + +

{$lang->about_webmaster_email}

+
{$lang->enable_openid} diff --git a/modules/member/tpl/msg_success_authed.html b/modules/member/tpl/msg_success_authed.html new file mode 100644 index 000000000..776c0c8e0 --- /dev/null +++ b/modules/member/tpl/msg_success_authed.html @@ -0,0 +1,4 @@ + diff --git a/modules/point/point.controller.php b/modules/point/point.controller.php index 704d4d108..f48906500 100644 --- a/modules/point/point.controller.php +++ b/modules/point/point.controller.php @@ -64,6 +64,8 @@ $point = $this->oPointModel->getPoint($member_srl); $level = $this->oPointModel->getLevel($point, $this->config->level_step); + $text = $matches[5]; + $src = sprintf("modules/point/icons/%s/%d.gif", $this->config->level_icon, $level); if(!$this->icon_width) { $info = getimagesize($src); @@ -78,8 +80,11 @@ } } - $code = sprintf('<%s title="%s:%s%s %s, %s:%s/%s" style="cursor:pointer;background:url(%s) no-repeat left;padding-left:%dpx; height:%dpx">%s ', $matches[6], Context::getLang('point'), $point, $this->config->point_name, $per?"(".$per."%)":"", Context::getLang('level'), $level, $this->config->max_level, Context::getRequestUri().$src, $this->icon_width+2, $this->icon_height, $matches[0], $matches[6]); - $this->member_code[$member_srl] = $code; + $title = sprintf("%s:%s%s %s, %s:%s/%s", Context::getLang('point'), $point, $this->config->point_name, $per?"(".$per."%)":"", Context::getLang('level'), $level, $this->config->max_level); + + $text = sprintf('%s%s', $member_srl, Context::getRequestUri().$src, $this->icon_width+2, $this->icon_height, $title, $title, $text); + + $this->member_code[$member_srl] = $text; return $this->member_code[$member_srl]; } diff --git a/modules/poll/lang/zh-CN.lang.php b/modules/poll/lang/zh-CN.lang.php index ae2bc1319..fe29922cf 100644 --- a/modules/poll/lang/zh-CN.lang.php +++ b/modules/poll/lang/zh-CN.lang.php @@ -13,7 +13,7 @@ $lang->cmd_poll_list = '查看目录'; $lang->cmd_delete_checked_poll = '删除所选项目'; $lang->cmd_apply_poll = '参与投票'; - $lang->cmd_view_result = 'Preview result'; + $lang->cmd_view_result = '查看结果'; $lang->cmd_delete_checked_poll = '删除所选'; $lang->success_poll = '感谢您参与投票。'; diff --git a/modules/poll/poll.controller.php b/modules/poll/poll.controller.php index 204d0d539..7dff117b9 100644 --- a/modules/poll/poll.controller.php +++ b/modules/poll/poll.controller.php @@ -112,6 +112,7 @@ } // 작성자의 정보를 로그로 남김 + /* $log_args->poll_srl = $poll_srl; $log_args->member_srl = $member_srl; $output = executeQuery('poll.insertPollLog', $log_args); @@ -119,6 +120,7 @@ $oDB->rollback(); return $output; } + */ $oDB->commit(); diff --git a/widgets/counter_status/conf/info.xml b/widgets/counter_status/conf/info.xml index bb75a6d9a..ade15b481 100644 --- a/widgets/counter_status/conf/info.xml +++ b/widgets/counter_status/conf/info.xml @@ -8,8 +8,8 @@ 제로 Zero - zero - zero + zero + zero zero 기본 카운터 모듈을 이용하여 전체, 어제, 오늘의 접속현황을 표시합니다. @@ -22,8 +22,8 @@ This widget displays the number of people who have visited yesterday and today by using the basic counter module. It will also display the total count. To get this, the counter module should be installed and the counter add-on should be turned on. - - + + Este widget de contador básico muestra los números de las personas visitadas en el día de ayer, hoy, y el total. Debe instalar el módulo del contador y debe activar el addon del contador. diff --git a/widgets/login_info/skins/default/css/default.css b/widgets/login_info/skins/default/css/default.css index a3ccd1e0a..dc2fad50e 100644 --- a/widgets/login_info/skins/default/css/default.css +++ b/widgets/login_info/skins/default/css/default.css @@ -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;} diff --git a/widgets/login_info/skins/default/login_form.html b/widgets/login_info/skins/default/login_form.html index de787e6de..744d38a88 100644 --- a/widgets/login_info/skins/default/login_form.html +++ b/widgets/login_info/skins/default/login_form.html @@ -19,11 +19,14 @@
- +
    +
  • +
  • +
+
diff --git a/widgets/login_info/skins/default/login_info.html b/widgets/login_info/skins/default/login_info.html index 40920a4f4..4eb83e653 100644 --- a/widgets/login_info/skins/default/login_info.html +++ b/widgets/login_info/skins/default/login_info.html @@ -14,7 +14,7 @@ - + diff --git a/widgets/login_info/skins/xe_official/css/black.css b/widgets/login_info/skins/xe_official/css/black.css index b4d61ccd9..b61690c7e 100644 --- a/widgets/login_info/skins/xe_official/css/black.css +++ b/widgets/login_info/skins/xe_official/css/black.css @@ -1,42 +1,42 @@ -#login { border:2px solid #515151; width:196px; position:relative; _padding-top:2px; display:block;} -*:first-child+html body#black #login { padding-top:2px;} -#login legend { display:block; width:0; height:0; overflow:hidden; font-size:0;} -#login form { position:relative; border:1px solid #6b6b6b; padding:11px 11px 7px 11px; width:172px;} -#login form .idpwWrap { overflow:hidden; clear:both; width:172px;} -#login form .idpw { float:left; width:110px;} -#login form .idpw input { border:1px solid #6b6b6b; color:#cbcbcb; width:105px; background:#515151; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma;} -#login form .login { float:right;} -#login form p.save { clear:both; padding:.3em 0;} -#login form p.save input { vertical-align:middle; _margin:-3px;} -*:first-child+html body#black #login form p input { margin:-3px; } -#login form p.save label { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#818181;} -#login form ul.help { border-top:1px solid #515151; overflow:hidden; padding:.5em 0 0 0; white-space:nowrap;} -#login form ul.help li { list-style:none; float:left; display:block; padding:0 3px 0 7px; background:url(../images/black/vrType1.gif) no-repeat left center;} -#login form ul.help li.first-child { background:none; padding-left:0;} -#login form ul.help li a { color:#818181; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; white-space:nowrap; text-decoration:none;} -#login form ul.help li a:hover { text-decoration:underline;} -#login form ul.help li.first-child a { color:#cbcbcb;} -#login form .userName { width:172px; overflow:hidden; border-bottom:1px solid #515151; padding:0 0 6px 0; margin-top:-5px;} -#login form .userName strong { color:#cbcbcb; float:left; padding:4px 0 0 2px; font:bold .9em Tahoma;} -#login form .userName a { float:right;} -#login form ul.userMenu { padding:0 0 6px 4px; overflow:hidden; margin-top:10px;} -#login form ul.userMenu li { list-style:none; color:#cbcbcb; list-style:none;padding-left:10px; background:url(../images/black/bulletFF1A00.gif) no-repeat left 4px; height:18px; } -#login form ul.userMenu li a { color:#cbcbcb;text-decoration:none;} -#login form ul.userMenu li a:hover {text-decoration:underline;} -#login form p.latestLogin { color:#818181; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;} -#login form p.latestLogin span { font:1em Tahoma;} +.login_black { border:2px solid #515151; width:196px; position:relative; _padding-top:2px; display:block;} +*:first-child+html body#black .login_black { padding-top:2px;} +.login_black legend { display:block; width:0; height:0; overflow:hidden; font-size:0;} +.login_black form { position:relative; border:1px solid #6b6b6b; padding:11px 11px 7px 11px; width:172px;} +.login_black form .idpwWrap { overflow:hidden; clear:both; width:172px;} +.login_black form .idpw { float:left; width:110px;} +.login_black form .idpw input { border:1px solid #6b6b6b; color:#cbcbcb; width:105px; background:#515151; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma;} +.login_black form .login { float:right;} +.login_black form p.save { clear:both; padding:.3em 0;} +.login_black form p.save input { vertical-align:middle; _margin:-3px;} +*:first-child+html body#black .login_black form p input { margin:-3px; } +.login_black form p.save label { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#818181;} +.login_black form ul.help { border-top:1px solid #515151; overflow:hidden; padding:.5em 0 0 0; white-space:nowrap;} +.login_black form ul.help li { list-style:none; float:left; display:block; padding:0 3px 0 7px; background:url(../images/black/vrType1.gif) no-repeat left center;} +.login_black form ul.help li.first-child { background:none; padding-left:0;} +.login_black form ul.help li a { color:#818181; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; white-space:nowrap; text-decoration:none;} +.login_black form ul.help li a:hover { text-decoration:underline;} +.login_black form ul.help li.first-child a { color:#cbcbcb;} +.login_black form .userName { position:relative; width:172px; overflow:hidden; border-bottom:1px solid #515151; padding:0 0 6px 0; margin-top:-5px;} +.login_black form .userName strong { color:#cbcbcb; padding:4px 0 0 2px; font:bold .9em Tahoma;} +.login_black form .userName a { position:relative; top:5px; right:0px; } +.login_black form ul.userMenu { padding:0 0 6px 4px; overflow:hidden; margin-top:10px;} +.login_black form ul.userMenu li { list-style:none; color:#cbcbcb; list-style:none;padding-left:10px; background:url(../images/black/bulletFF1A00.gif) no-repeat left 4px; height:18px; } +.login_black form ul.userMenu li a { color:#cbcbcb;text-decoration:none;} +.login_black form ul.userMenu li a:hover {text-decoration:underline;} +.login_black form p.latestLogin { color:#818181; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;} +.login_black form p.latestLogin span { font:1em Tahoma;} img.login_mask { width:201px; height:5px; background:#3d3d3d; display:block;} -#openid_login { border:2px solid #515151; width:196px; position:relative; _padding-top:2px; display:block;} -*:first-child+html body#black #openid_login { padding-top:2px;} -#openid_login legend { display:block; width:0; height:0; overflow:hidden; font-size:0;} -#openid_login form { position:relative; border:1px solid #6b6b6b; padding:11px 11px 7px 11px; width:172px;} -#openid_login form .idpwWrap { overflow:hidden; clear:both; width:172px;} -#openid_login form .idpw { float:left;} -#openid_login form .idpw p { margin-bottom:5px; background: url(../images/openid_login_bg.gif) left no-repeat; padding-left:18px; font-size:.9em Tahoma;color:#999999} -#openid_login form .idpw input { border:1px solid #6b6b6b; color:#cbcbcb; width:105px; background:#515151; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma;} -#openid_login form .login { float:right;} -#openid_login form p.save { clear:both; padding:.3em 0;} -#openid_login form p.save input { vertical-align:middle; _margin:-3px;} -*:first-child+html body #openid_login form p input { margin:-3px; } +.openid_login_black { border:2px solid #515151; width:196px; position:relative; _padding-top:2px; display:block;} +*:first-child+html body#black .openid_login_black { padding-top:2px;} +.openid_login_black legend { display:block; width:0; height:0; overflow:hidden; font-size:0;} +.openid_login_black form { position:relative; border:1px solid #6b6b6b; padding:11px 11px 7px 11px; width:172px;} +.openid_login_black form .idpwWrap { overflow:hidden; clear:both; width:172px;} +.openid_login_black form .idpw { float:left;} +.openid_login_black form .idpw p { margin-bottom:5px; background: url(../images/openid_login_bg.gif) left no-repeat; padding-left:18px; font-size:.9em Tahoma;color:#999999} +.openid_login_black form .idpw input { border:1px solid #6b6b6b; color:#cbcbcb; width:105px; background:#515151; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma;} +.openid_login_black form .login { float:right;} +.openid_login_black form p.save { clear:both; padding:.3em 0;} +.openid_login_black form p.save input { vertical-align:middle; _margin:-3px;} +*:first-child+html body .openid_login_black form p input { margin:-3px; } diff --git a/widgets/login_info/skins/xe_official/css/default.css b/widgets/login_info/skins/xe_official/css/default.css index 18913b72b..02447070e 100644 --- a/widgets/login_info/skins/xe_official/css/default.css +++ b/widgets/login_info/skins/xe_official/css/default.css @@ -1,42 +1,42 @@ -#login { border:2px solid #d9d9d9; width:196px; position:relative; _padding-top:2px; display:block;} -*:first-child+html body #login { padding-top:2px;} -#login legend { display:block; width:0; height:0; overflow:hidden; font-size:0;} -#login form { position:relative; border:1px solid #cacaca; padding:11px 11px 7px 11px; width:172px;} -#login form .idpwWrap { overflow:hidden; clear:both; width:172px;} -#login form .idpw { float:left; width:110px; } -#login form .idpw input { border:1px solid #c9c9c9; color:#282828; width:105px; background:#fbfbfb; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma;} -#login form .login { float:right;} -#login form p.save { clear:both; padding:.3em 0;} -#login form p.save input { vertical-align:middle; _margin:-3px;} -*:first-child+html body #login form p input { margin:-3px; } -#login form p.save label { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#999999;} -#login form ul.help { border-top:1px solid #e4e4e4; overflow:hidden; padding:.5em 0 0 0; white-space:nowrap;} -#login form ul.help li { float:left; display:block; padding:0 3px 0 7px; background:url(../images/default/vrType1.gif) no-repeat left center;} -#login form ul.help li.first-child { background:none; padding-left:0;} -#login form ul.help li a { color:#999999; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; white-space:nowrap; text-decoration:none; } -#login form ul.help li.first-child a { color:#54564b; text-decoration:none;} -#login form ul.help li a:hover { text-decoration:underline; } -#login form .userName { width:172px; overflow:hidden; border-bottom:1px solid #e4e4e4; padding:0 0 6px 0; margin-top:-5px;} -#login form .userName strong { color:#282828; float:left; padding:4px 0 0 2px; font:bold .9em Tahoma;} -#login form .userName a { float:right;} -#login form ul.userMenu { padding:0 0 6px 4px; overflow:hidden; margin-top:10px;} -#login form ul.userMenu li { list-style:none; padding-left:10px; background:url(../images/default/bulletFF1A00.gif) no-repeat left 4px; height:18px; } -#login form ul.userMenu li a { color:#54564b; text-decoration:none;} -#login form ul.userMenu li a:hover { text-decoration:underline;} -#login form p.latestLogin { color:#999999; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;} -#login form p.latestLogin span { font:1em Tahoma;} +.login_default { border:2px solid #d9d9d9; width:196px; position:relative; _padding-top:2px; display:block;} +*:first-child+html body .login_default { padding-top:2px;} +.login_default legend { display:block; width:0; height:0; overflow:hidden; font-size:0;} +.login_default form { position:relative; border:1px solid #cacaca; padding:11px 11px 7px 11px; width:172px;} +.login_default form .idpwWrap { overflow:hidden; clear:both; width:172px;} +.login_default form .idpw { float:left; width:110px; } +.login_default form .idpw input { border:1px solid #c9c9c9; color:#282828; width:105px; background:#fbfbfb; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma;} +.login_default form .login { float:right;} +.login_default form p.save { clear:both; padding:.3em 0;} +.login_default form p.save input { vertical-align:middle; _margin:-3px;} +*:first-child+html body .login_default form p input { margin:-3px; } +.login_default form p.save label { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#999999;} +.login_default form ul.help { border-top:1px solid #e4e4e4; overflow:hidden; padding:.5em 0 0 0; white-space:nowrap;} +.login_default form ul.help li { float:left; display:block; padding:0 3px 0 7px; background:url(../images/default/vrType1.gif) no-repeat left center;} +.login_default form ul.help li.first-child { background:none; padding-left:0;} +.login_default form ul.help li a { color:#999999; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; white-space:nowrap; text-decoration:none; } +.login_default form ul.help li.first-child a { color:#54564b; text-decoration:none;} +.login_default form ul.help li a:hover { text-decoration:underline; } +.login_default form .userName { position:relative; width:172px; overflow:hidden; border-bottom:1px solid #e4e4e4; padding:0 0 6px 0; margin-top:-5px;} +.login_default form .userName strong { color:#282828; padding:4px 0 0 2px; font:bold .9em Tahoma;} +.login_default form .userName a { position:relative; top:5px; right:0px; } +.login_default form ul.userMenu { padding:0 0 6px 4px; overflow:hidden; margin-top:10px;} +.login_default form ul.userMenu li { list-style:none; padding-left:10px; background:url(../images/default/bulletFF1A00.gif) no-repeat left 4px; height:18px; } +.login_default form ul.userMenu li a { color:#54564b; text-decoration:none;} +.login_default form ul.userMenu li a:hover { text-decoration:underline;} +.login_default form p.latestLogin { color:#999999; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;} +.login_default form p.latestLogin span { font:1em Tahoma;} img.login_mask { width:201px; height:5px; background:#ffffff; display:block;} -#openid_login { border:2px solid #d9d9d9; width:196px; position:relative; _padding-top:2px; display:block; } -*:first-child+html body #openid_login { padding-top:2px;} -#openid_login legend { display:block; width:0; height:0; overflow:hidden; font-size:0;} -#openid_login form { position:relative; border:1px solid #cacaca; padding:11px 11px 7px 11px; width:172px; } -#openid_login form .idpwWrap { overflow:hidden; clear:both; width:172px;} -#openid_login form .idpw { float:left;} -#openid_login form .idpw p { margin-bottom:5px; background: url(../images/openid_login_bg.gif) left no-repeat; padding-left:18px; font-size:.9em Tahoma;color:#999999} -#openid_login form .idpw input { border:1px solid #c9c9c9; color:#282828; width:105px; background:#fbfbfb; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma; } -#openid_login form .login { float:right;} -#openid_login form p.save { clear:both; padding:.3em 0;} -#openid_login form p.save input { vertical-align:middle; _margin:-3px;} -*:first-child+html body #openid_login form p input { margin:-3px; } -#openid_login form p.save label { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#999999;} +.openid_login_default { border:2px solid #d9d9d9; width:196px; position:relative; _padding-top:2px; display:block; } +*:first-child+html body .openid_login_default { padding-top:2px;} +.openid_login_default legend { display:block; width:0; height:0; overflow:hidden; font-size:0;} +.openid_login_default form { position:relative; border:1px solid #cacaca; padding:11px 11px 7px 11px; width:172px; } +.openid_login_default form .idpwWrap { overflow:hidden; clear:both; width:172px;} +.openid_login_default form .idpw { float:left;} +.openid_login_default form .idpw p { margin-bottom:5px; background: url(../images/openid_login_bg.gif) left no-repeat; padding-left:18px; font-size:.9em Tahoma;color:#999999} +.openid_login_default form .idpw input { border:1px solid #c9c9c9; color:#282828; width:105px; background:#fbfbfb; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma; } +.openid_login_default form .login { float:right;} +.openid_login_default form p.save { clear:both; padding:.3em 0;} +.openid_login_default form p.save input { vertical-align:middle; _margin:-3px;} +*:first-child+html body .openid_login_default form p input { margin:-3px; } +.openid_login_default form p.save label { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#999999;} diff --git a/widgets/login_info/skins/xe_official/css/white.css b/widgets/login_info/skins/xe_official/css/white.css index fb5c2eea2..656bcc66f 100644 --- a/widgets/login_info/skins/xe_official/css/white.css +++ b/widgets/login_info/skins/xe_official/css/white.css @@ -1,38 +1,38 @@ -#login { border:2px solid #d9d9d9; width:196px; position:relative; _padding-top:2px; display:block;} -*:first-child+html body#white #login { padding-top:2px;} -#login legend { display:block; width:0; height:0; overflow:hidden; font-size:0;} -#login form { position:relative; border:1px solid #cacaca; padding:11px 11px 7px 11px; width:172px;} -#login form .idpwWrap { overflow:hidden; clear:both; width:172px;} -#login form .idpw { float:left; width:110px;} -#login form .idpw input { border:1px solid #c9c9c9; color:#282828; width:105px; background:#fbfbfb; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma;} -#login form .login { float:right;} -#login form p.save { clear:both; padding:.3em 0;} -#login form p.save input { vertical-align:middle; _margin:-3px;} -*:first-child+html body#white #login form p input { margin:-3px; } -#login form p.save label { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#999999;} -#login form ul.help { border-top:1px solid #e4e4e4; overflow:hidden; padding:.5em 0 0 0; white-space:nowrap;} -#login form ul.help li { list-style:none; float:left; display:block; padding:0 3px 0 7px; background:url(../images/white/vrType1.gif) no-repeat left center;} -#login form ul.help li.first-child { background:none; padding-left:0;} -#login form ul.help li a { color:#999999; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; white-space:nowrap; text-decoration:none; } -#login form ul.help li a:hover { text-decoration:underline; } -#login form ul.help li.first-child a { color:#54564b;} -#login form .userName { width:172px; overflow:hidden; border-bottom:1px solid #e4e4e4; padding:0 0 6px 0; margin-top:-5px;} -#login form .userName strong { color:#282828; float:left; padding:4px 0 0 2px; font:bold .9em Tahoma;} -#login form .userName a { float:right; text-decoration:none; } -#login form ul.userMenu { padding:0 0 6px 4px; overflow:hidden; margin-top:10px;} -#login form ul.userMenu li { list-style:none; padding-left:10px; background:url(../images/white/bulletFF1A00.gif) no-repeat left 4px; height:18px; } -#login form ul.userMenu li a { color:#54564b; text-decoration:none; } -#login form ul.userMenu li a:hover { text-decoration:underline; } -#login form p.latestLogin { color:#999999; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;} -#login form p.latestLogin span { font:1em Tahoma;} +.login_white { border:2px solid #d9d9d9; width:196px; position:relative; _padding-top:2px; display:block;} +*:first-child+html body#white .login_white { padding-top:2px;} +.login_white legend { display:block; width:0; height:0; overflow:hidden; font-size:0;} +.login_white form { position:relative; border:1px solid #cacaca; padding:11px 11px 7px 11px; width:172px;} +.login_white form .idpwWrap { overflow:hidden; clear:both; width:172px;} +.login_white form .idpw { float:left; width:110px;} +.login_white form .idpw input { border:1px solid #c9c9c9; color:#282828; width:105px; background:#fbfbfb; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma;} +.login_white form .login { float:right;} +.login_white form p.save { clear:both; padding:.3em 0;} +.login_white form p.save input { vertical-align:middle; _margin:-3px;} +*:first-child+html body#white .login_white form p input { margin:-3px; } +.login_white form p.save label { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#999999;} +.login_white form ul.help { border-top:1px solid #e4e4e4; overflow:hidden; padding:.5em 0 0 0; white-space:nowrap;} +.login_white form ul.help li { list-style:none; float:left; display:block; padding:0 3px 0 7px; background:url(../images/white/vrType1.gif) no-repeat left center;} +.login_white form ul.help li.first-child { background:none; padding-left:0;} +.login_white form ul.help li a { color:#999999; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; white-space:nowrap; text-decoration:none; } +.login_white form ul.help li a:hover { text-decoration:underline; } +.login_white form ul.help li.first-child a { color:#54564b;} +.login_white form .userName { position:relative; width:172px; overflow:hidden; border-bottom:1px solid #e4e4e4; padding:0 0 6px 0; margin-top:-5px;} +.login_white form .userName strong { color:#282828; padding:4px 0 0 2px; font:bold .9em Tahoma;} +.login_white form .userName a { position:relative; top:5px; right:0px; } +.login_white form ul.userMenu { padding:0 0 6px 4px; overflow:hidden; margin-top:10px;} +.login_white form ul.userMenu li { list-style:none; padding-left:10px; background:url(../images/white/bulletFF1A00.gif) no-repeat left 4px; height:18px; } +.login_white form ul.userMenu li a { color:#54564b; text-decoration:none; } +.login_white form ul.userMenu li a:hover { text-decoration:underline; } +.login_white form p.latestLogin { color:#999999; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;} +.login_white form p.latestLogin span { font:1em Tahoma;} img.login_mask { width:201px; height:5px; background:#ffffff; display:block;} -#openid_login { border:2px solid #d9d9d9; width:196px; position:relative; _padding-top:2px; display:block; } -*:first-child+html body #openid_login { padding-top:2px;} -#openid_login legend { display:block; width:0; height:0; overflow:hidden; font-size:0;} -#openid_login form { position:relative; border:1px solid #cacaca; padding:11px 11px 7px 11px; width:172px; } -#openid_login form .idpwWrap { overflow:hidden; clear:both; width:172px;} -#openid_login form .idpw { float:left;} -#openid_login form .idpw p { margin-bottom:5px; background: url(../images/openid_login_bg.gif) left no-repeat; padding-left:18px; font-size:.9em Tahoma;color:#999999} -#openid_login form .idpw input { border:1px solid #c9c9c9; color:#282828; width:105px; background:#fbfbfb; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma; } -#openid_login form .login { float:right;} +.openid_login_white { border:2px solid #d9d9d9; width:196px; position:relative; _padding-top:2px; display:block; } +*:first-child+html body .openid_login_white { padding-top:2px;} +.openid_login_white legend { display:block; width:0; height:0; overflow:hidden; font-size:0;} +.openid_login_white form { position:relative; border:1px solid #cacaca; padding:11px 11px 7px 11px; width:172px; } +.openid_login_white form .idpwWrap { overflow:hidden; clear:both; width:172px;} +.openid_login_white form .idpw { float:left;} +.openid_login_white form .idpw p { margin-bottom:5px; background: url(../images/openid_login_bg.gif) left no-repeat; padding-left:18px; font-size:.9em Tahoma;color:#999999} +.openid_login_white form .idpw input { border:1px solid #c9c9c9; color:#282828; width:105px; background:#fbfbfb; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma; } +.openid_login_white form .login { float:right;} diff --git a/widgets/login_info/skins/xe_official/js/login.js b/widgets/login_info/skins/xe_official/js/login.js index 37f18288a..c864ddc5d 100644 --- a/widgets/login_info/skins/xe_official/js/login.js +++ b/widgets/login_info/skins/xe_official/js/login.js @@ -34,14 +34,14 @@ function completeOpenIDLogin(ret_obj, response_tags) { /* 오픈 아이디 폼 변환 */ function toggleLoginForm(obj) { - if(xGetElementById('login').style.display != "none") { - xGetElementById('login').style.display = "none"; - xGetElementById('openid_login').style.display = "block"; - xGetElementById('use_open_id_2').checked = true; - } else { - xGetElementById('openid_login').style.display = "none"; - xGetElementById('login').style.display = "block"; - xGetElementById('use_open_id').checked = false; - xGetElementById('use_open_id_2').checked = false; - } + if(xGetElementById('login').style.display != "none") { + xGetElementById('login').style.display = "none"; + xGetElementById('openid_login').style.display = "block"; + xGetElementById('use_open_id_2').checked = true; + } else { + xGetElementById('openid_login').style.display = "none"; + xGetElementById('login').style.display = "block"; + xGetElementById('use_open_id').checked = false; + xGetElementById('use_open_id_2').checked = false; + } } diff --git a/widgets/login_info/skins/xe_official/login_form.html b/widgets/login_info/skins/xe_official/login_form.html index 1171d6adb..7664169d0 100644 --- a/widgets/login_info/skins/xe_official/login_form.html +++ b/widgets/login_info/skins/xe_official/login_form.html @@ -11,7 +11,7 @@ -
+ -