위젯 검출 정규 표현식을 수정

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2892 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-11-01 10:28:42 +00:00
parent f9896fe51a
commit 90aa62a6ac
993 changed files with 9190 additions and 10457 deletions

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<module version="0.1">
<module version="0.1" category="service">
<title xml:lang="ko">회원</title>
<title xml:lang="zh-CN">会员</title>
<title xml:lang="jp">会員</title>

View file

@ -11,7 +11,9 @@
<action name="dispMemberOpenIDLeave" type="view" standalone="true" />
<action name="dispMemberOwnDocument" type="view" standalone="true" />
<action name="dispMemberScrappedDocument" type="view" standalone="true" />
<action name="dispMemberSavedDocument" type="view" standalone="true" />
<action name="dispMemberFindAccount" type="view" standalone="true" />
<action name="dispSavedDocumentList" type="view" standalone="true" />
<action name="dispMemberMessages" type="view" standalone="true" />
<action name="dispMemberSendMessage" type="view" standalone="true" />
@ -44,8 +46,10 @@
<action name="procMemberModifyPassword" type="controller" standalone="true" />
<action name="procMemberLeave" type="controller" standalone="true" />
<action name="procMemberOpenIDLeave" type="controller" standalone="true" />
<action name="procMemberInsertProfileImage" type="controller" standalone="true" />
<action name="procMemberInsertImageName" type="controller" standalone="true" />
<action name="procMemberInsertImageMark" type="controller" standalone="true" />
<action name="procMemberDeleteProfileImage" type="controller" standalone="true" />
<action name="procMemberDeleteImageName" type="controller" standalone="true" />
<action name="procMemberDeleteImageMark" type="controller" standalone="true" />
@ -56,6 +60,8 @@
<action name="procMemberScrapDocument" type="controller" standalone="true" />
<action name="procMemberDeleteScrap" type="controller" standalone="true" />
<action name="procMemberSaveDocument" type="controller" standalone="true" />
<action name="procMemberDeleteSavedDocument" type="controller" standalone="true" />
<action name="procMemberFindAccount" type="controller" standalone="true" />
<action name="procMemberAuthAccount" type="controller" standalone="true" />

View file

@ -32,6 +32,9 @@
$lang->group_title = 'Group Name';
$lang->group_srl = 'Group Number';
$lang->signature = 'Signature';
$lang->profile_image = '프로필 사진';
$lang->profile_image_max_width = '가로 제한 크기';
$lang->profile_image_max_height = '세로 제한 크기';
$lang->image_name = 'Image Name';
$lang->image_name_max_width = 'Max Width';
$lang->image_name_max_height = 'Max Height';
@ -53,11 +56,11 @@
$lang->current_password = 'Current Password';
$lang->openid = 'OpenID';
$lang->webmaster_name = '웹마스터 이름';
$lang->webmaster_email = '웹마스터 메일주소';
$lang->webmaster_name = "Webmaster's Name";
$lang->webmaster_email = "Webmaster's Email";
$lang->about_webmaster_name = '인증 메일이나 기타 사이트 관리시 사용될 웹마스터의 이름을 입력해주세요. (기본 : webmaster)';
$lang->about_webmaster_email = '웹마스터의 메일 주소를 입력해주세요.';
$lang->about_webmaster_name = "Please input webmaster's name which will be used for authentication mails or other site administration. (default : webmaster)";
$lang->about_webmaster_email = "Please input webmaster's email address.";
$lang->search_target_list = array(
'user_id' => 'ID',
@ -94,6 +97,7 @@
$lang->cmd_manage_form = 'Manage Join Form';
$lang->cmd_view_own_document = 'View Written Articles';
$lang->cmd_view_scrapped_document = 'Scraps';
$lang->cmd_view_saved_document = '저장함 보기';
$lang->cmd_send_email = 'Send Mail';
$lang->cmd_send_message = 'Send Message';
$lang->cmd_reply_message = 'Reply Message';
@ -112,10 +116,11 @@
$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_find_account_info = 'This is requested account info.';
$lang->msg_find_account_comment = 'The password will be modified to above one when you click below link.<br />Please modify the password after login.';
$lang->msg_auth_mail_sended = 'The authentication mail has been sent to %s. Please check your mail.';
$lang->msg_invalid_auth_key = 'This is an invalid request of authentication.<br />Please retry finding account info or contact to administrator.';
$lang->msg_success_authed = 'Your account has been successfully authenticated and logged on. Please modify the password to your own one using the password in the authentication mail.';
$lang->msg_no_message = 'There are no messages';
$lang->message_received = 'You got a new message';
@ -179,13 +184,14 @@
$lang->about_image_name = "Allow users to use image name instead of text name";
$lang->about_image_mark = "Allow users to use mark in front of their names";
$lang->about_profile_image = '사용자의 프로필 이미지를 사용할 수 있게 합니다';
$lang->about_accept_agreement = "I've read the agreement all and agree";
$lang->about_member_default = 'It will be set as default group on join';
$lang->about_openid = 'When you join as OpenID, basic info like ID or email address will be saved on this site, but password and certification management will be done on current OpenID offering service';
$lang->about_openid_leave = '오픈아이디의 탈퇴는 현 사이트에서의 회원 정보를 삭제하는 것입니다.<br />탈퇴 후 로그인하시면 새로 가입하시는 것으로 되어 작성한 글에 대한 권한을 가질 수 없게 됩니다';
$lang->about_openid_leave = 'The secession of OpenID means deleting your member info in this site.<br />If you login after secession, it will be recognized as a new member, so you will no longer have the permission for your ex-written articles.';
$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 />';
$lang->about_find_member_account = 'Your account info will be noticed by registered email address.<br />Please input email address which you have input on registration, and press "Find Account Info" button.<br />';
?>

View file

@ -32,6 +32,9 @@
$lang->group_title = 'Nombre del grupo';
$lang->group_srl = 'Número del grupo';
$lang->signature = 'Firma';
$lang->profile_image = '프로필 사진';
$lang->profile_image_max_width = '가로 제한 크기';
$lang->profile_image_max_height = '세로 제한 크기';
$lang->image_name = 'Nombre de la imagen';
$lang->image_name_max_width = 'Ancho Máximo';
$lang->image_name_max_height = 'Altura Máxima';
@ -94,6 +97,7 @@
$lang->cmd_manage_form = 'Manejo de forma del registro';
$lang->cmd_view_own_document = 'Ver documentos escritos';
$lang->cmd_view_scrapped_document = 'Ver Scraps';
$lang->cmd_view_saved_document = '저장함 보기';
$lang->cmd_send_email = 'Enviar Email';
$lang->cmd_send_message = 'Enviar Mensaje';
$lang->cmd_reply_message = 'Responder el mensaje';
@ -179,6 +183,7 @@
$lang->about_image_name = "Permitir a los usuarios el uso de imagen del nombre en ves del nombre del usuario";
$lang->about_image_mark = "Permitir a los usuarios el uso de imagen de marca delante de sus nombres";
$lang->about_profile_image = '사용자의 프로필 이미지를 사용할 수 있게 합니다';
$lang->about_accept_agreement = "Yo he leído todo el acuerdo y acepto";
$lang->about_member_default = 'Al registrar se configura como grupo predefinido';

View file

@ -32,6 +32,9 @@
$lang->group_title = 'グループタイトル';
$lang->group_srl = 'グループ番号';
$lang->signature = '著名';
$lang->profile_image = '프로필 사진';
$lang->profile_image_max_width = '가로 제한 크기';
$lang->profile_image_max_height = '세로 제한 크기';
$lang->image_name = 'イメージ名';
$lang->image_name_max_width = '横幅制限サイズ';
$lang->image_name_max_height = '立幅制限サイズ';
@ -94,6 +97,7 @@
$lang->cmd_manage_form = '加入フォーム管理';
$lang->cmd_view_own_document = 'プレビュー';
$lang->cmd_view_scrapped_document = 'スクラップ表示';
$lang->cmd_view_saved_document = '저장함 보기';
$lang->cmd_send_email = 'メール送信';
$lang->cmd_send_message = 'メッセージ送信';
$lang->cmd_reply_message = 'メッセージへの返信';
@ -179,6 +183,7 @@
$lang->about_image_name = 'ユーザの名前を文字の代わりにイメージで表示させることができます。';
$lang->about_image_mark = '使用者の名前の前にマークを付けることができます。';
$lang->about_profile_image = '사용자의 프로필 이미지를 사용할 수 있게 합니다';
$lang->about_accept_agreement = '加入規約をすべて読んだ上で同意します。';
$lang->about_member_default = '会員加入時に基本グループとして設定されます。';

View file

@ -32,6 +32,9 @@
$lang->group_title = '그룹제목';
$lang->group_srl = '그룹번호';
$lang->signature = '서명';
$lang->profile_image = '프로필 사진';
$lang->profile_image_max_width = '가로 제한 크기';
$lang->profile_image_max_height = '세로 제한 크기';
$lang->image_name = '이미지 이름';
$lang->image_name_max_width = '가로 제한 크기';
$lang->image_name_max_height = '세로 제한 크기';
@ -66,7 +69,6 @@
'email_address' => '메일주소',
'regdate' => '가입일시',
'last_login' => '최근로그인일시',
'last_login' => '최근로그인일시',
'extra_vars' => '확장변수',
);
@ -95,6 +97,7 @@
$lang->cmd_manage_form = '가입폼관리';
$lang->cmd_view_own_document = '작성글 보기';
$lang->cmd_view_scrapped_document = '스크랩 보기';
$lang->cmd_view_saved_document = '저장함 보기';
$lang->cmd_send_email = '메일 보내기';
$lang->cmd_send_message = '쪽지 보내기';
$lang->cmd_reply_message = '쪽지 답장';
@ -141,6 +144,7 @@
$lang->msg_disallow_message = '쪽지 수신을 거부한 사용자라서 쪽지 발송을 하지 못했습니다';
$lang->msg_insert_group_name = '그룹명을 입력해 주세요';
$lang->msg_not_uploaded_profile_image = '프로필 이미지를 등록할 수가 없습니다';
$lang->msg_not_uploaded_image_name = '이미지 이름을 등록할 수가 없습니다';
$lang->msg_not_uploaded_image_mark = '이미지 마크를 등록할 수가 없습니다';
@ -181,6 +185,7 @@
$lang->about_image_name = '사용자의 이름을 글자 대신 이미지로 사용할 수 있게 합니다';
$lang->about_image_mark = '사용자의 이름앞에 마크를 달 수 있습니다';
$lang->about_profile_image = '사용자의 프로필 이미지를 사용할 수 있게 합니다';
$lang->about_accept_agreement = '약관을 모두 읽었으며 동의합니다';
$lang->about_member_default = '회원가입시 기본 그룹으로 설정됩니다';

View file

@ -32,6 +32,9 @@
$lang->group_title = '用户组标题';
$lang->group_srl = '用户组编号';
$lang->signature = '签名';
$lang->profile_image = '프로필 사진';
$lang->profile_image_max_width = '가로 제한 크기';
$lang->profile_image_max_height = '세로 제한 크기';
$lang->image_name = '昵称图片';
$lang->image_name_max_width = '宽度限制';
$lang->image_name_max_height = '高度限制';
@ -94,6 +97,7 @@
$lang->cmd_manage_form = '注册表单管理';
$lang->cmd_view_own_document = '查看我的帖子';
$lang->cmd_view_scrapped_document = '查看收藏';
$lang->cmd_view_saved_document = '저장함 보기';
$lang->cmd_send_email = '发送邮件';
$lang->cmd_send_message = '发送短消息';
$lang->cmd_reply_message = '回复短消息';
@ -179,6 +183,7 @@
$lang->about_image_name = '用户昵称可以用小图片来替代显示。';
$lang->about_image_mark = '显示在用户昵称前的小图标。';
$lang->about_profile_image = '사용자의 프로필 이미지를 사용할 수 있게 합니다';
$lang->about_accept_agreement = '已阅读全部条款并同意。';
$lang->about_member_default = '将成为注册会员时的默认用户组。';

View file

@ -83,11 +83,12 @@
**/
function procMemberAdminInsertConfig() {
// 기본 정보를 받음
$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');
$args = Context::gets('webmaster_name','webmaster_email','skin','colorset','enable_openid','enable_join','limit_day','redirect_url','agreement','profile_image','profile_image_max_width','profile_image_max_height','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';
if($args->enable_openid!='Y') $args->enable_openid= 'N';
if($args->profile_image !='Y') $args->profile_image = 'N';
if($args->image_name!='Y') $args->image_name = 'N';
if($args->image_mark!='Y') $args->image_mark = 'N';
if(!trim(strip_tags($args->agreement))) $args->agreement = null;

View file

@ -65,6 +65,8 @@
if(!$config->image_name_max_height) $config->image_name_max_height = 20;
if(!$config->image_mark_max_width) $config->image_mark_max_width = 20;
if(!$config->image_mark_max_height) $config->image_mark_max_height = 20;
if(!$config->profile_image_max_width) $config->profile_image_max_width = 80;
if(!$config->profile_image_max_height) $config->profile_image_max_height = 80;
if(!$config->skin) $config->skin = "default";
Context::set('config',$config);
@ -79,7 +81,7 @@
$option->allow_fileupload = false;
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = true;
$option->enable_component = false;
$option->resizable = true;
$option->height = 300;
$editor = $oEditorModel->getEditor(0, $option);
@ -120,7 +122,7 @@
$option->allow_fileupload = false;
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = true;
$option->enable_component = false;
$option->resizable = false;
$option->height = 200;
$editor = $oEditorModel->getEditor($this->member_info->member_srl, $option);

View file

@ -23,6 +23,7 @@
$oModuleController->insertActionForward('member', 'view', 'dispMemberLogout');
$oModuleController->insertActionForward('member', 'view', 'dispMemberOwnDocument');
$oModuleController->insertActionForward('member', 'view', 'dispMemberScrappedDocument');
$oModuleController->insertActionForward('member', 'view', 'dispMemberSavedDocument');
$oModuleController->insertActionForward('member', 'view', 'dispMemberFindAccount');
$oModuleController->insertActionForward('member', 'view', 'dispMemberMessages');
@ -43,8 +44,10 @@
$oModuleController->insertActionForward('member', 'view', 'dispMemberAdminInsertJoinForm');
$oModuleController->insertActionForward('member', 'view', 'dispMemberAdminDeniedIDList');
$oModuleController->insertActionForward('member', 'controller', 'procMemberInsertProfileImage');
$oModuleController->insertActionForward('member', 'controller', 'procMemberInsertImageName');
$oModuleController->insertActionForward('member', 'controller', 'procMemberInsertImageMark');
$oModuleController->insertActionForward('member', 'controller', 'procMemberDeleteProfileImage');
$oModuleController->insertActionForward('member', 'controller', 'procMemberDeleteImageName');
$oModuleController->insertActionForward('member', 'controller', 'procMemberDeleteImageMark');
@ -53,10 +56,13 @@
$args->enable_openid = 'N';
$args->image_name = 'Y';
$args->image_mark = 'Y';
$args->profile_image = 'Y';
$args->image_name_max_width = '90';
$args->image_name_max_height = '20';
$args->image_mark_max_width = '20';
$args->image_mark_max_width = '20';
$args->image_mark_max_height = '20';
$args->profile_image_max_width = '80';
$args->profile_image_max_height = '80';
$oModuleController->insertModuleConfig('member',$args);
// 멤버 컨트롤러 객체 생성
@ -107,6 +113,7 @@
// member 에서 사용할 cache디렉토리 생성
FileHandler::makeDir('./files/member_extra_info/image_name');
FileHandler::makeDir('./files/member_extra_info/image_mark');
FileHandler::makeDir('./files/member_extra_info/profile_image');
FileHandler::makeDir('./files/member_extra_info/signature');
FileHandler::makeDir('./files/member_extra_info/new_message_flags');
@ -138,6 +145,19 @@
$act = $oModuleModel->getActionForward('dispMemberFindAccount');
if(!$act) return true;
// member 디렉토리 체크 (2007. 10. 22 추가)
if(!is_dir("./files/member_extra_info/profile_image")) return true;
// procMemberInsertProfileImage, procMemberDeleteProfileImage act의 여부 체크 (2007. 10. 22)
$act = $oModuleModel->getActionForward('procMemberInsertProfileImage');
if(!$act) return true;
$act = $oModuleModel->getActionForward('procMemberDeleteProfileImage');
if(!$act) return true;
// dispMemberSavedDocument act의 여부 체크 (2007. 10. 29)
$act = $oModuleModel->getActionForward('dispMemberSavedDocument');
if(!$act) return true;
return false;
}
@ -149,16 +169,18 @@
$oModuleController = &getController('module');
$oModuleController->insertActionForward('member', 'view', 'dispMemberOwnDocument');
$oModuleController->insertActionForward('member', 'view', 'dispMemberScrappedDocument');
$oModuleController->insertActionForward('member', 'view', 'dispMemberSavedDocument');
$oModuleController->insertActionForward('member', 'view', 'dispMemberOpenIDLeave');
$oModuleController->insertActionForward('member', 'view', 'dispMemberFindAccount');
$oModuleController->insertActionForward('member', 'controller', 'procMemberInsertProfileImage');
$oModuleController->insertActionForward('member', 'controller', 'procMemberDeleteProfileImage');
// member 디렉토리 체크
FileHandler::makeDir('./files/member_extra_info/image_name');
FileHandler::makeDir('./files/member_extra_info/image_mark');
FileHandler::makeDir('./files/member_extra_info/signature');
FileHandler::makeDir('./files/member_extra_info/new_message_flags');
// dispMemberFindAccount act의 여부 체크 (2007. 10. 15)
FileHandler::makeDir('./files/member_extra_info/profile_image');
return new Object(0, 'success_updated');
}

View file

@ -124,7 +124,18 @@
* @brief 로그아웃
**/
function procMemberLogout() {
// 로그아웃 이전에 trigger 호출 (before)
$logged_info = Context::get('logged_info');
$trigger_output = ModuleHandler::triggerCall('member.doLogout', 'before', $logged_info);
if(!$trigger_output->toBool()) return $trigger_output;
// 세션 정보 파기
$this->destroySessionInfo();
// 로그아웃 이후 trigger 호출 (after)
$trigger_output = ModuleHandler::triggerCall('member.doLogout', 'after', $logged_info);
if(!$trigger_output->toBool()) return $trigger_output;
return new Object();
}
@ -345,6 +356,7 @@
$logged_info = Context::get('logged_info');
$document_srl = (int)Context::get('document_srl');
if(!$document_srl) $document_srl = (int)Context::get('target_srl');
if(!$document_srl) return new Object(-1,'msg_invalid_request');
// 문서 가져오기
@ -389,6 +401,58 @@
return executeQuery('member.deleteScrapDocument', $args);
}
/**
* @brief 게시글 저장
**/
function procMemberSaveDocument() {
// 로그인 정보 체크
if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged');
$logged_info = Context::get('logged_info');
// form 정보를 모두 받으a
$obj = Context::getRequestVars();
// 글의 대상 모듈을 회원 정보로 변경
$obj->module_srl = $logged_info->member_srl;
$oDocumentModel = &getModel('document');
$oDocumentController = &getController('document');
// 이미 존재하는 글인지 체크
$oDocument = $oDocumentModel->getDocument($obj->document_srl, $this->grant->manager);
// 이미 존재하는 경우 수정
if($oDocument->isExists() && $oDocument->document_srl == $obj->document_srl) {
$output = $oDocumentController->updateDocument($oDocument, $obj);
$msg_code = 'success_updated';
// 그렇지 않으면 신규 등록
} else {
$output = $oDocumentController->insertDocument($obj);
$msg_code = 'success_registed';
$obj->document_srl = $output->get('document_srl');
}
$this->setMessage('success_saved');
}
/**
* @brief 저장된 삭제
**/
function procMemberDeleteSavedDocument() {
// 로그인 정보 체크
if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged');
$logged_info = Context::get('logged_info');
$document_srl = (int)Context::get('document_srl');
if(!$document_srl) return new Object(-1,'msg_invalid_request');
// 변수 정리
$oDocumentController = &getController('document');
$oDocumentController->deleteDocument($document_srl, true);
}
/**
* @brief 친구 추가
**/
@ -778,6 +842,55 @@
$this->setMessage('success_leaved');
}
/**
* @brief 프로필 이미지 추가
**/
function procMemberInsertProfileImage() {
// 정상적으로 업로드 된 파일인지 검사
$file = $_FILES['profile_image'];
if(!is_uploaded_file($file['tmp_name'])) return $this->stop('msg_not_uploaded_profile_image');
// 회원 정보를 검사해서 회원번호가 없거나 관리자가 아니고 회원번호가 틀리면 무시
$member_srl = Context::get('member_srl');
if(!$member_srl) return $this->stop('msg_not_uploaded_profile_image');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin != 'Y' && $logged_info->member_srl != $member_srl) return $this->stop('msg_not_uploaded_profile_image');
// 회원 모듈 설정에서 이미지 이름 사용 금지를 하였을 경우 관리자가 아니면 return;
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($logged_info->is_admin != 'Y' && $config->profile_image != 'Y') return $this->stop('msg_not_uploaded_profile_image');
$this->insertProfileImage($member_srl, $file['tmp_name']);
// 페이지 리프레쉬
$this->setRefreshPage();
}
function insertProfileImage($member_srl, $target_file) {
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
// 정해진 사이즈를 구함
$max_width = $config->profile_image_max_width;
if(!$max_width) $max_width = "90";
$max_height = $config->profile_image_max_height;
if(!$max_height) $max_height = "20";
// 저장할 위치 구함
$target_path = sprintf('files/member_extra_info/profile_image/%s/', getNumberingPath($member_srl));
FileHandler::makeDir($target_path);
$target_filename = sprintf('%s%d.gif', $target_path, $member_srl);
// 파일 정보 구함
list($width, $height, $type, $attrs) = @getimagesize($target_file);
// 지정된 사이즈보다 크거나 gif가 아니면 변환
if($width > $max_width || $height > $max_height || $type!=1) FileHandler::createImageFile($target_file, $target_filename, $max_width, $max_height, 'gif');
else @copy($target_file, $target_filename);
}
/**
* @brief 이미지 이름을 추가
@ -828,6 +941,26 @@
if($width > $max_width || $height > $max_height || $type!=1) FileHandler::createImageFile($target_file, $target_filename, $max_width, $max_height, 'gif');
else @copy($target_file, $target_filename);
}
/**
* @brief 프로필 이미지를 삭제
**/
function procMemberDeleteProfileImage() {
$member_srl = Context::get('member_srl');
if(!$member_srl) return new Object(0,'success');
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
if($config->profile_image == 'N') return new Object(0,'success');
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y' || $logged_info->member_srl == $member_srl) {
$oMemberModel = &getModel('member');
$profile_image = $oMemberModel->getProfileImage($member_srl);
@unlink($profile_image->file);
}
return new Object(0,'success');
}
/**
* @brief 이미지 이름을 삭제
@ -1034,6 +1167,12 @@
* @brief 로그인 시킴
**/
function doLogin($user_id, $password = '') {
// 로그인 이전에 trigger 호출 (before)
$trigger_obj->user_id = $user_id;
$trigger_obj->password = $password;
$trigger_output = ModuleHandler::triggerCall('member.doLogin', 'before', $trigger_obj);
if(!$trigger_output->toBool()) return $trigger_output;
// member model 객체 생성
$oMemberModel = &getModel('member');
@ -1085,27 +1224,48 @@
$args->member_srl = $member_info->member_srl;
$output = executeQuery('member.updateLastLogin', $args);
// 사용자의 전용 메뉴 구성
$member_info->menu_list = $this->getMemberMenuList();
// 로그인 성공후 trigger 호출 (after)
$trigger_output = ModuleHandler::triggerCall('member.doLogin', 'after', $member_info);
if(!$trigger_output->toBool()) return $trigger_output;
$this->setSessionInfo($member_info);
return $output;
}
/**
* @brief 로그인 사용자의 전용 메뉴를 구성
**/
function getMemberMenuList() {
$menu_list['dispMemberInfo'] = 'cmd_view_member_info';
$menu_list['dispMemberFriend'] = 'cmd_view_friend';
$menu_list['dispMemberMessages'] = 'cmd_view_message_box';
$menu_list['dispMemberScrappedDocument'] = 'cmd_view_scrapped_document';
$menu_list['dispMemberSavedDocument'] = 'cmd_view_saved_document';
$menu_list['dispMemberOwnDocument'] = 'cmd_view_own_document';
return $menu_list;
}
/**
* @brief 세션 정보 갱싱 또는 생성
**/
function setSessionInfo($member_info) {
if(!$member_info->member_srl) return;
// 오픈아이디인지 체크
// 오픈아이디인지 체크 (일단 아이디 형식으로만 결정)
if(eregi("^([0-9a-z]+)$", $member_info->user_id)) $member_info->is_openid = false;
else $member_info->is_openid = true;
// 로그인 처리
// 로그인 처리를 위한 세션 설정
$_SESSION['is_logged'] = true;
$_SESSION['ipaddress'] = $_SERVER['REMOTE_ADDR'];
$_SESSION['member_srl'] = $member_info->member_srl;
$_SESSION['is_admin'] = false;
// 비밀번호는 세션에 저장되지 않도록 지워줌;;
unset($member_info->password);
// 사용자 그룹 설정
@ -1120,9 +1280,7 @@
}
// 세션에 로그인 사용자 정보 저장
foreach($member_info as $key => $val) {
$_SESSION['logged_info']->{$key} = $val;
}
$_SESSION['logged_info'] = $member_info;
Context::set('is_logged', true);
Context::set('logged_info', $member_info);
@ -1133,6 +1291,10 @@
* @brief member 테이블에 사용자 추가
**/
function insertMember($args, $password_is_hashed = false) {
// trigger 호출 (before)
$output = ModuleHandler::triggerCall('member.insertMember', 'before', $args);
if(!$output->toBool()) return $output;
// 멤버 설정 정보에서 가입약관 부분을 재확인
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('member');
@ -1217,6 +1379,15 @@
}
}
// trigger 호출 (after)
if($output->toBool()) {
$trigger_output = ModuleHandler::triggerCall('member.insertMember', 'after', $args);
if(!$trigger_output->toBool()) {
$oDB->rollback();
return $trigger_output;
}
}
$oDB->commit(true);
$output->add('member_srl', $args->member_srl);
@ -1227,6 +1398,10 @@
* @brief member 정보 수정
**/
function updateMember($args) {
// trigger 호출 (before)
$output = ModuleHandler::triggerCall('member.updateMember', 'before', $args);
if(!$output->toBool()) return $output;
// 모델 객체 생성
$oMemberModel = &getModel('member');
@ -1298,6 +1473,15 @@
}
}
// trigger 호출 (after)
if($output->toBool()) {
$trigger_output = ModuleHandler::triggerCall('member.updateMember', 'after', $args);
if(!$trigger_output->toBool()) {
$oDB->rollback();
return $trigger_output;
}
}
$oDB->commit();
// 세션에 저장
@ -1324,6 +1508,10 @@
* @brief 사용자 삭제
**/
function deleteMember($member_srl) {
// trigger 호출 (before)
$trigger_obj->member_srl = $member_srl;
$output = ModuleHandler::triggerCall('member.deleteMember', 'before', $trigger_obj);
if(!$output->toBool()) return $output;
// 모델 객체 생성
$oMemberModel = &getModel('member');
@ -1335,18 +1523,41 @@
// 관리자의 경우 삭제 불가능
if($member_info->is_admin == 'Y') return new Object(-1, 'msg_cannot_delete_admin');
$oDB = &DB::getInstance();
$oDB->begin();
// member_group_member에서 해당 항목들 삭제
$args->member_srl = $member_srl;
$output = executeQuery('member.deleteMemberGroupMember', $args);
if(!$output->toBool()) return $output;
if(!$output->toBool()) {
$oDB->rollback();
return $output;
}
// member 테이블에서 삭제
$output = executeQuery('member.deleteMember', $args);
if(!$output->toBool()) {
$oDB->rollback();
return $output;
}
// trigger 호출 (after)
if($output->toBool()) {
$trigger_output = ModuleHandler::triggerCall('member.deleteMember', 'after', $trigger_obj);
if(!$trigger_output->toBool()) {
$oDB->rollback();
return $trigger_output;
}
}
$oDB->commit();
// 이름이미지, 이미지마크, 서명 삭제
$this->procMemberDeleteImageName();
$this->procMemberDeleteImageMark();
$this->delSignature($member_srl);
// member 테이블에서 삭제
return executeQuery('member.deleteMember', $args);
return $output;
}
/**
@ -1385,7 +1596,7 @@
}
/**
* @brief 최종 출력물에서 서명을 변경
* @brief 최종 출력물에서 서명을 변경, 프로필 이미지도 같이 적용함
* member_extra_info 애드온에서 요청이
**/
function transSignature($matches) {
@ -1396,28 +1607,15 @@
if(!isset($GLOBALS['_transSignatureList'][$member_srl])) {
$oMemberModel = &getModel('member');
// 서명을 구해옴
$signature = $oMemberModel->getSignature($member_srl);
// 서명이 없으면 빈 내용을 등록
if(!$signature) {
$GLOBALS['_transSignatureList'][$member_srl] = null;
// 서명이 있으면 글의 내용 다음에 추가
} else {
$oContext = &Context::getInstance();
$signature = preg_replace_callback('!<div([^\>]*)editor_component=([^\>]*)>(.*?)\<\/div\>!is', array($oContext, '_transEditorComponent'), $signature);
$signature = preg_replace_callback('!<img([^\>]*)editor_component=([^\>]*?)\>!is', array($oContext, '_transEditorComponent'), $signature);
// 프로필 이미지를 구해옴
$profile_image = $oMemberModel->getProfileImage($member_srl);
if($profile_image->src) $signature = sprintf('<img src="%s" width="%d" height="%d" alt="" class="member_profile_image" />%s', $profile_image->src, $profile_image->width, $profile_image->height, $signature);
// <br> 코드 변환
$signature = preg_replace('/<br([^>\/]*)(\/>|>)/i','<br$1 />', $signature);
// <img ...> 코드를 <img ... /> 코드로 변환
$signature = preg_replace('/<img(.*?)(\/){0,1}>/i','<img$1 />', $signature);
$document = $matches[0].'<div class="member_signature">'.$signature.'</div>';
$GLOBALS['_transSignatureList'][$member_srl] = $document;
}
if($signature) $GLOBALS['_transSignatureList'][$member_srl] = sprintf('<div class="member_signature">%s<div class="clear"></div></div>', $signature);
else $GLOBALS['_transSignatureList'][$member_srl] = null;
}
return $GLOBALS['_transSignatureList'][$member_srl].$matches[0];

View file

@ -24,24 +24,17 @@
**/
function getMemberMenu() {
// 요청된 회원 번호와 현재 사용자의 로그인 정보 구함
$member_srl = Context::get('member_srl');
$member_srl = Context::get('target_srl');
$mid = Context::get('cur_mid');
$logged_info = Context::get('logged_info');
$act = Context::get('cur_act');
// 호출된 모듈의 정보 구함
$oModuleModel = &getModel('module');
$cur_module_info = $oModuleModel->getModuleInfoByMid($mid);
// 자신의 아이디를 클릭한 경우
if($member_srl == $logged_info->member_srl) {
$member_info = $logged_info;
if($member_srl == $logged_info->member_srl) $member_info = $logged_info;
// 다른 사람의 아이디를 클릭한 경우
} else {
// 회원의 정보를 구함
$member_info = $this->getMemberInfoByMemberSrl($member_srl);
}
else $member_info = $this->getMemberInfoByMemberSrl($member_srl);
$member_srl = $member_info->member_srl;
if(!$member_srl) return;
@ -53,6 +46,8 @@
// menu_list 에 "표시할글,target,url" 을 배열로 넣는다
$menu_list = array();
ModuleHandler::triggerCall('member.getMemberMenu', 'before', $menu_list);
// 최고 관리자라면 회원정보 수정 메뉴 만듬
if($logged_info->is_admin == 'Y') {
$menu_str = Context::getLang('cmd_management');
@ -67,14 +62,6 @@
$menu_list[] = sprintf('%s,%s,move_url(\'%s\')', Context::getRequestUri().'/modules/member/tpl/images/icon_view_info.gif', $menu_str, $menu_url);
}
// 게시판이나 블로그등일 경우는 특별 옵션 지정
if($mid && !ereg('Member', $act) && !in_array($cur_module_info->module, array('page', 'opage'))) {
// 아이디로 검색
$menu_str = Context::getLang('cmd_view_own_document');
$menu_url = sprintf('./?mid=%s&amp;search_target=user_id&amp;search_keyword=%s', $mid, $user_id);
$menu_list[] = sprintf('%s,%s,move_url(\'%s\')', Context::getRequestUri().'/modules/member/tpl/images/icon_view_written.gif',$menu_str, $menu_url);
}
// 다른 사람의 아이디를 클릭한 경우
if($member_srl != $logged_info->member_srl) {
@ -91,6 +78,9 @@
// 블로그 보기
if($member_info->blog) $menu_list[] = sprintf("%s,%s,winopen('%s')", Context::getRequestUri().'/modules/member/tpl/images/icon_blog.gif', Context::getLang('blog'), $member_info->blog);
// trigger 호출 (after)
ModuleHandler::triggerCall('member.getMemberMenu', 'after', $menu_list);
// 정보를 저장
$this->add("menu_list", implode("\n",$menu_list));
}
@ -148,6 +138,7 @@
* @brief 사용자 정보 extra_vars와 기타 정보를 알맞게 편집
**/
function arrangeMemberInfo($info) {
$info->profile_image = $this->getProfileImage($info->member_srl);
$info->image_name = $this->getImageName($info->member_srl);
$info->image_mark = $this->getImageMark($info->member_srl);
@ -409,6 +400,20 @@
return false;
}
/**
* @brief 프로필 이미지의 정보를 구함
**/
function getProfileImage($member_srl) {
$image_name_file = sprintf('files/member_extra_info/profile_image/%s%d.gif', getNumberingPath($member_srl), $member_srl);
if(!file_exists($image_name_file)) return;
list($width, $height, $type, $attrs) = getimagesize($image_name_file);
$info->width = $width;
$info->height = $height;
$info->src = Context::getRequestUri().$image_name_file;
$info->file = './'.$image_name_file;
return $info;
}
/**
* @brief 이미지이름의 정보를 구함
**/

View file

@ -10,7 +10,6 @@
var $group_list = NULL; ///< 그룹 목록 정보
var $member_info = NULL; ///< 선택된 사용자의 정보
var $skin = 'default';
var $my_menu = null;
/**
* @brief 초기화
@ -27,16 +26,8 @@
// template path 지정
$tpl_path = sprintf('%sskins/%s', $this->module_path, $skin);
if(!is_dir($tpl_path)) $tpl_path = sprintf('%sskins/%s', $this->module_path, 'default');
$this->setTemplatePath($tpl_path);
// my_menu 변수 설정 (자신의 정보와 관련된 부분, 차후 애드온등에서 변수 조절 가능)
$this->my_menu = array(
'dispMemberInfo' => Context::getLang('cmd_view_member_info'),
'dispMemberMessages' => Context::getLang('cmd_view_message_box'),
'dispMemberFriend' => Context::getLang('cmd_view_friend'),
'dispMemberOwnDocument' => Context::getLang('cmd_view_own_document'),
'dispMemberScrappedDocument' => Context::getLang('cmd_view_scrapped_document'),
);
}
/**
@ -67,8 +58,6 @@
Context::set('member_info', $member_info);
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($member_info));
if($member_info->member_srl == $logged_info->member_srl) Context::set('my_menu', $this->my_menu);
$this->setTemplateFile('member_info');
}
@ -117,15 +106,13 @@
$option->allow_fileupload = false;
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = true;
$option->enable_component = false;
$option->resizable = false;
$option->height = 200;
$editor = $oEditorModel->getEditor($member_info->member_srl, $option);
Context::set('editor', $editor);
}
if($member_info->member_srl == $logged_info->member_srl) Context::set('my_menu', $this->my_menu);
// 템플릿 파일 지정
$this->setTemplateFile('modify_info');
}
@ -151,7 +138,6 @@
$oDocumentAdminView->dispDocumentAdminList();
Context::get('module_srl', $module_srl);
Context::set('my_menu', $this->my_menu);
$this->setTemplateFile('document_list');
}
@ -176,11 +162,34 @@
Context::set('document_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
Context::set('my_menu', $this->my_menu);
$this->setTemplateFile('scrapped_list');
}
/**
* @brief 회원의 저장함 보기
**/
function dispMemberSavedDocument() {
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
// 저장함에 보관된 글을 가져옴 (저장함은 module_srl이 member_srl로 세팅되어 있음)
$logged_info = Context::get('logged_info');
$args->module_srl = $logged_info->member_srl;
$args->page = (int)Context::get('page');
$oDocumentModel = &getModel('document');
$output = $oDocumentModel->getDocumentList($args, true);
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('document_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('saved_list');
}
/**
* @brief 로그인 출력
**/
@ -204,8 +213,6 @@
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
Context::set('member_info',$member_info);
if($member_info->member_srl == $logged_info->member_srl) Context::set('my_menu', $this->my_menu);
// 템플릿 파일 지정
$this->setTemplateFile('modify_password');
}
@ -225,8 +232,6 @@
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
Context::set('member_info',$member_info);
if($member_info->member_srl == $logged_info->member_srl) Context::set('my_menu', $this->my_menu);
// 템플릿 파일 지정
$this->setTemplateFile('leave_form');
}
@ -246,8 +251,6 @@
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
Context::set('member_info',$member_info);
if($member_info->member_srl == $logged_info->member_srl) Context::set('my_menu', $this->my_menu);
// 템플릿 파일 지정
$this->setTemplateFile('openid_leave_form');
}
@ -284,8 +287,6 @@
if($message->message_srl == $message_srl) Context::set('message', $message);
}
Context::set('my_menu', $this->my_menu);
// 목록 추출
$output = $oMemberModel->getMessages($message_type);
@ -299,6 +300,34 @@
$this->setTemplateFile('member_messages');
}
/**
* @brief 저장된 목록을 보여줌
**/
function dispSavedDocumentList() {
$this->setLayoutFile('popup_layout');
$oMemberModel = &getModel('member');
// 로그인 되어 있지 않을 경우 로그인 되어 있지 않다는 메세지 출력
if(!$oMemberModel->isLogged()) return $this->stop('msg_not_logged');
// 저장함에 보관된 글을 가져옴 (저장함은 module_srl이 member_srl로 세팅되어 있음)
$logged_info = Context::get('logged_info');
$args->module_srl = $logged_info->member_srl;
$args->page = (int)Context::get('page');
$args->list_count = 10;
$oDocumentModel = &getModel('document');
$output = $oDocumentModel->getDocumentList($args, true);
Context::set('total_count', $output->total_count);
Context::set('total_page', $output->total_page);
Context::set('page', $output->page);
Context::set('document_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
$this->setTemplateFile('saved_list_popup');
}
/**
* @brief 쪽지 보여줌
**/
@ -391,7 +420,6 @@
Context::set('page', $output->page);
Context::set('friend_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
Context::set('my_menu', $this->my_menu);
$this->setTemplateFile('friends_list');
}

View file

@ -1,49 +0,0 @@
<!--#include("./common_header.html")-->
<!--%import("filter/add_friend.xml")-->
<div class="memberSmallBox w500pop">
<div class="header">
<h3>{$lang->cmd_add_friend}</h3>
</div>
<form action="./" method="get" onsubmit="return procFilter(this, add_friend)">
<input type="hidden" name="target_srl" value="{$target_info->member_srl}" />
<div class="complex">
<table cellspacing="0" class="friend">
<col width="110" />
<col />
<tr>
<th scope="row"><img src="./images/common/txt_id.gif" alt="{$lang->user_id}" /></th>
<td>{$target_info->user_id}</td>
</tr>
<tr>
<th scope="row"><img src="./images/common/txt_name.gif" alt="{$lang->user_name}"/></th>
<td>{$target_info->user_name}</td>
</tr>
<tr>
<th scope="row"><img src="./images/common/txt_nickname.gif" alt="{$lang->nick_name}"/></th>
<td><div class="member_{$target_info->member_srl}">{$target_info->nick_name}</div></td>
</tr>
</table>
<div class="group">
<select name="friend_group_srl" class="fl">
<option value="">{$lang->default_friend_group}</option>
<!--@foreach($friend_group_list as $key => $val)-->
<option value="{$val->friend_group_srl}">{$val->title}</option>
<!--@end-->
</select>
<span class="fr"><a href="{getUrl('act','dispMemberAddFriendGroup')}" onclick="popopen(this.href);return false;"><img src="./images/common/btn_add_group.gif" alt="{$lang->cmd_add_friend_group}" /></a></span>
</div>
</div>
<ul class="help">
<li class="first-child"><input type="image" src="./images/common/btn_ok.gif" title="{$lang->cmd_add_friend}" /></li>
<li><a href="#" onclick="window.close();return false;"><img src="./images/common/btn_cancel2.gif" alt="{$lang->cmd_close}" /></a></li>
</ul>
</form>
</div>
<!--#include("./common_footer.html")-->

View file

@ -1,30 +0,0 @@
<!--#include("./common_header.html")-->
<!--%import("filter/add_friend_group.xml")-->
<div class="memberSmallBox w500pop">
<form action="./" method="get" onsubmit="return procFilter(this, add_friend_group)">
<input type="hidden" name="friend_group_srl" value="{$friend_group->friend_group_srl}" />
<div class="header">
<h3>
<!--@if($friend_group->friend_group_srl)-->
{$lang->cmd_rename_friend_group}
<!--@else-->
{$lang->cmd_add_friend_group}
<!--@end-->
</h3>
</div>
<div class="text">
<p>{$lang->msg_insert_group_name}</p>
<input name="title" type="text" class="inputTypeText" value="{htmlspecialchars($friend_group->title)}"/>
</div>
<ul class="help">
<li class="first-child"><input type="image" src="./images/common/btn_ok.gif" title="{$lang->cmd_add_friend}" /></li>
<li><a href="#" onclick="window.close();return false;"><img src="./images/common/btn_cancel2.gif" alt="{$lang->cmd_close}" /></a></li>
</ul>
</form>
</div>
<!--#include("./common_footer.html")-->

View file

@ -1 +0,0 @@
</div>

View file

@ -1,35 +0,0 @@
<!--%import("js/member.js")-->
<!-- 컬러셋 체크 -->
<!--@if(!$member_config->colorset)-->
{@$member_config->colorset = "red"}
<!--@end-->
<!-- CSS 파일 로드 (컬러셋에 따라서) -->
<!--%import("css/common.css")-->
<!--@if($member_config->colorset == "bluish_green")--> <!--%import("css/bluish_green.css")-->
<!--@elseif($member_config->colorset == "pink")--> <!--%import("css/pink.css")-->
<!--@elseif($member_config->colorset == "blue")--> <!--%import("css/blue.css")-->
<!--@elseif($member_config->colorset == "green")--> <!--%import("css/green.css")-->
<!--@else--> <!--%import("css/red.css")-->
<!--@end-->
<div id="memberModule">
<!--@if($member_title)-->
<div class="boardHeader">
<h3>{$member_title}</h3>
<!--@if($is_logged && $my_menu)-->
<form action="./" method="get" class="member_option">
<input type="hidden" name="mid" value="{$mid}" />
<select name="act">
<!--@foreach($my_menu as $key => $val)-->
<option value="{$key}" <!--@if($key == $act)-->selected="selected"<!--@end-->>{$val}</option>
<!--@end-->
</select>
<input type="image" src="./images/button_go.gif" class="buttonTypeGo"/>
</form>
<!--@end-->
</div>
<!--@end-->

View file

@ -1,33 +0,0 @@
@charset "utf-8";
/* boardHeader */
.boardHeader { position:relative; _width:100%; background:#1187d8 url(../images/blue/bg_top_title.gif) no-repeat 23px top; overflow:hidden;}
.boardList { width:100%; position:relative; border-bottom:2px solid #1187d8; border-collapse:collapse; }
.memberList th.repeat_bg { background:#ffffff url(../images/blue/bg_title_repeat_x.gif) repeat-x left bottom;}
.memberList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/blue/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.messageList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/blue/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.messageList th.author { background:url(../images/blue/bg_title_repeat_x.gif) repeat-x left bottom; text-align:left;}
.messageList { width:100%; position:relative; border-bottom:2px solid #1187d8; border-collapse:collapse; margin-bottom:2.2em;}
.memberList { width:100%; position:relative; border-bottom:2px solid #1187d8; border-collapse:collapse; margin-bottom:2.2em;}
.joinTable.typeA { border-top:2px solid #1187d8; border-collapse:collapse;}
.joinTable.typeB { border-bottom:2px solid #1187d8; background:#f9f9f9;}
.messageList td.recommend { font:bold .8em Tahoma; color:#1187d8; text-align:center;}
.memberInformation .friendNum strong { font:bold 11px Tahoma; color:#1187d8;}
.memberSmallBox .header { position:relative; _width:100%; background:#1187d8; overflow:hidden;}
.memberSmallBox .open_id_help { background:#F7F7F7; border-top:1px solid #1187d8; border-bottom:2px solid #1187d8; overflow:hidden; padding:1.1em; text-align:left; }
.memberSmallBox .help { background:#F7F7F7; border-top:1px solid #1187d8; border-bottom:2px solid #1187d8; overflow:hidden; padding:1.1em; text-align:center; }
.memberInformation .instantMessage li a strong { font:bold 0.75em tahoma; color:#1187d8;}
.boardList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/blue/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.boardList td .replyAndTrackback { font:.8em Tahoma; color:#007ed5; cursor:default; position:relative; top:-.2em;}
.boardList td.recommend { font:bold .8em Tahoma; color:#007ed5; text-align:center;}
.pageNavigation .current { margin-left:-4px; font:bold .8em Tahoma; color:#007ed5; display:inline-block; padding:1px 5px 2px 4px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
.boardRead { position:relative; _width:100%; margin:1em 0 0 0; padding: 0 0 .6em 0; border-bottom:3px solid #1187d8;}
.boardRead .readHeader { width:100%; padding-bottom:.5em; margin-bottom:1em; border-bottom:3px solid #1187d8; overflow:hidden;}
.boardRead .replyAndTrackback li.selected { margin:0; padding:1em 1.1em .7em 1.4em; border:1px solid #EAEAEA; border-bottom:none; background:#FFFFFF; color:#007ed5;}
.boardWrite fieldset.bottomBorder { border-bottom:2px solid #f9f9f9;}
.boardWrite div.title { padding:.5em 0 .65em 0; white-space:nowrap; background:#FFFFFF url(../images/blue/bg_title_norepeat.gif) no-repeat left bottom;}
.boardWrite .option { width:100%; padding:.5em 0 .65em 0; background:#FFFFFF url(../images/blue/bg_title_norepeat.gif) no-repeat left bottom; overflow:hidden;}

View file

@ -1,33 +0,0 @@
@charset "utf-8";
/* boardHeader */
.boardHeader { position:relative; _width:100%; background:#9ab09f url(../images/bluish_green/bg_top_title.gif) no-repeat 23px top; overflow:hidden;}
.boardList { width:100%; position:relative; border-bottom:2px solid #9ab09f; border-collapse:collapse; }
.memberList th.repeat_bg { background:#ffffff url(../images/bluish_green/bg_title_repeat_x.gif) repeat-x left bottom;}
.memberList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/bluish_green/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.memberList { width:100%; position:relative; border-bottom:2px solid #9ab09f; border-collapse:collapse; margin-bottom:2.2em;}
.messageList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/bluish_green/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.messageList th.author { background:url(../images/bluish_green/bg_title_repeat_x.gif) repeat-x left bottom; text-align:left;}
.messageList { width:100%; position:relative; border-bottom:2px solid #9ab09f; border-collapse:collapse; margin-bottom:2.2em;}
.joinTable.typeA { border-top:2px solid #9ab09f; border-collapse:collapse;}
.joinTable.typeB { border-bottom:2px solid #9ab09f; background:#f9f9f9;}
.messageList td.recommend { font:bold .8em Tahoma; color:#9ab09f; text-align:center;}
.memberInformation .friendNum strong { font:bold 11px Tahoma; color:#9ab09f;}
.memberInformation .instantMessage li a strong { font:bold 0.75em tahoma; color:#9ab09f;}
.memberSmallBox .header { position:relative; _width:100%; background:#9ab09f; overflow:hidden;}
.memberSmallBox .open_id_help { background:#F7F7F7; border-top:1px solid #9ab09f; border-bottom:2px solid #9ab09f; overflow:hidden; padding:1.1em; text-align:left; }
.memberSmallBox .help { background:#F7F7F7; border-top:1px solid #9ab09f; border-bottom:2px solid #9ab09f; overflow:hidden; padding:1.1em; text-align:center; }
.boardList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/bluish_green/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.boardList td .replyAndTrackback { font:.8em Tahoma; color:#9ab09f; cursor:default; position:relative; top:-.2em;}
.boardList td.recommend { font:bold .8em Tahoma; color:#9ab09f; text-align:center;}
.pageNavigation .current { margin-left:-4px; font:bold .8em Tahoma; color:#9ab09f; display:inline-block; padding:1px 5px 2px 4px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
.boardRead { position:relative; _width:100%; margin:1em 0 0 0; padding: 0 0 .6em 0; border-bottom:3px solid #9ab09f;}
.boardRead .readHeader { width:100%; padding-bottom:.5em; margin-bottom:1em; border-bottom:3px solid #9ab09f; overflow:hidden;}
.boardRead .replyAndTrackback li.selected { margin:0; padding:1em 1.1em .7em 1.4em; border:1px solid #EAEAEA; border-bottom:none; background:#FFFFFF; color:#9ab09f;}
.boardWrite fieldset.bottomBorder { border-bottom:2px solid #f9f9f9;}
.boardWrite div.title { padding:.5em 0 .65em 0; white-space:nowrap; background:#FFFFFF url(../images/bluish_green/bg_title_norepeat.gif) no-repeat left bottom;}
.boardWrite .option { width:100%; padding:.5em 0 .65em 0; background:#FFFFFF url(../images/bluish_green/bg_title_norepeat.gif) no-repeat left bottom; overflow:hidden;}

View file

@ -1,540 +0,0 @@
@charset "utf-8";
/*
NHN UIT Lab. WebStandardization Team (http://html.nhndesign.com/)
Jeong, Chan Myeong 070601~070630
*/
.memberSmallBox.w400pop { width:400px; margin:0; padding:0;}
.memberSmallBox.w500pop { width:500px; margin:0; padding:0;}
.memberSmallBox.w600pop { width:600px; margin:0; padding:0;}
/* ----- List+Read+Write+Modify | Start ----- */
.boardHeader h3 { float:left; clear:both; padding:1.9em 1.5em 1.8em 1.5em; font-size:1.2em; color:#FFFFFF;}
.boardHeader .member_option { float:right; position:relative; top:3em; right:1em; }
.boardHeader .member_option .buttonTypeGo { vertical-align:bottom; }
/* boardInformation */
.boardInformation { width:100%; clear:both; margin:0 0 .5em 0; background:#EFEFEF; color:#8D8D8D; overflow:hidden;}
.articleNum { float:left; padding:.5em 0 .5em 2.3em; font:.8em Tahoma;}
.articleNum strong { margin:0 0 0 .5em; padding:0 0 0 .7em; font:bold .9em Tahoma; color:#6F6F6F; background:url(../images/common/bar_1x8_c0c0c0.gif) no-repeat left .1em;}
.accountNavigation { float:right; margin:.3em .5em 0 0; overflow:hidden;}
.accountNavigation li { list-style:none; float:left; margin:0 0 0 -.1em; padding:.1em .8em 0 .8em; background:url(../images/common/bar_1x7_c0c0c0.gif) no-repeat left .3em;}
.accountNavigation li a {}
/* boardList */
.boardList tr:first-child td, .boardList tr.first-child td {}
.boardList tr.notice {}
.boardList tr.notice .num { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; font-weight:bold;}
.boardList th a { color:#3e3f3e;}
.boardList th span.on { font-weight:bold;}
.boardList th.num { background-position:-3px bottom; padding:0;}
.boardList th select { height:20px; }
.boardList th.category { padding:0 .2em 0 .5em;}
.boardList th.category.thumbStyle { background-position:-3px bottom !important; border-left:1px solid #ffffff; text-align:left;}
.boardList th:first-child { background-position:-2px bottom;}
.boardList th.first-child { background-position:-2px bottom;}
.boardList th.author {}
.boardList th.title {}
.boardList th.reading { white-space:nowrap;}
.boardList th.recommend { white-space:nowrap;}
.boardList th.reply { white-space:nowrap;}
.boardList th.date {}
.boardList th.check { padding:0;}
.boardList th.user {}
.boardList th.registDate {}
.boardList th.checkDate {}
.boardList th.friendGroup {}
.boardList th.userId {}
.boardList th.userName {}
.boardList th.userNick {}
.boardList th.sendMessage {}
.boardList th.last-child { border-right:1px solid #ffffff;}
.boardList th .sort { padding:0 .2em; vertical-align:middle;}
.boardList th select,
.boardList th input { vertical-align:middle;}
.boardList td { padding:.3em; border-bottom:1px solid #e4e4e2;}
.boardList td.noline { border-bottom:none;}
.boardList td.num { font:.8em Tahoma; color:#999999; padding:.5em .5em .5em 1.5em;}
.boardList td.category {}
.boardList tr.notice td { padding:.3em; white-space:nowrap;}
.boardList tr.notice td img { margin:-.1em .3em 0 0;}
.boardList td.thumb { padding:.5em 0 .5em .5em; width:145px; table-layout:fixed; white-space:nowrap;}
.boardList td.thumb * { vertical-align:middle;}
.boardList td.title.bold { font-size:1em; font-weight:bold;}
.boardList td.title.bold a { position:relative; top:.3em;}
.boardList td.title * { vertical-align:middle;}
.boardList td.title,
.boardList td.title a { color:#444444; text-decoration:none; }
.boardList td.title a:visited { color:#777777;}
.boardList td.title .title_wrap { width:100%; overflow:hidden; white-space:nowrap;}
.boardList td.author { padding:0 .5em 0 1.3em; color:#333333; font:.95em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;}
.boardList td.author a { font-size:1em; color:#333333;}
.boardList td.reading { font:.8em Tahoma; color:#999999; text-align:center;}
.boardList td.reply { font:bold .8em Tahoma; color:#ff6600; text-align:center;}
.boardList td.date { font:.8em Tahoma; color:#999999; text-align:center;}
.boardList td.registDate { font:.8em Tahoma; color:#999999; text-align:center;}
.boardList td.checkDate { font:.8em Tahoma; color:#333333; text-align:center;}
.boardList td.summary { border-top:none; vertical-align:top; color:#666666; line-height:1.25em;}
.boardList td.summary a { color:#666666; text-decoration:none; line-height:inherit;}
.boardList td.summary a:visited { color:#999999;}
.boardList td.check { text-align:center;}
.boardList td.user { color:#333333; font-size:.9em;}
.boardList td.user a { color:#333333;}
.boardList td.userId { font:.9em Tahoma;}
.boardList td.userName {}
.boardList td.userNick { font-size:.9em; color:#999999;}
.boardList td.friendGroup {}
.boardList td.sendMessage { text-align:center; padding:0;}
.boardList td.sendMessage .buttonFixedLeft { position:relative; left:20%; _left:0;}
*:first-child+html .boardList td.sendMessage .buttonFixedLeft { left:0;}
.boardList td input { _margin:-3px;}
.boardList td.title.bold .replyAndTrackback { font:.6em Tahoma; color:#ff6600; cursor:default; position:relative; top:.3em;}
.boardList td .replyAndTrackback strong { font:bold 1em Tahoma;}
.boardList td .thumbnailSmall { margin:0 .3em 0 .3em;}
.boardList td .thumbnailSmall img {}
.boardList td .thumbnailMedium { margin:0 .3em 0 .3em;}
.boardList td .thumbnailMedium img {}
.boardList.thumbnail {}
.boardList.thumbnail td { border-top:none; border-bottom:1px solid #eff0ed; padding:1.5em 0 0 1.5em; overflow:hidden;}
.boardList.thumbnail div.cell { float:left; width:131px; margin:0 1.6em 0 0; padding-bottom:1.5em;}
.boardList.thumbnail div.cell .fix_img { width:131px; height:106px; overflow:hidden;}
.boardList.thumbnail div.title { color:#444444; margin:.5em 0 .2em 0;}
.boardList.thumbnail div.title a { color:#444444;}
.boardList.thumbnail div.nameAndDate { font-size:.9em; color:#999999; margin-bottom:.2em; padding-left:3px;}
.boardList.thumbnail div.nameAndDate a { color:#999999;}
.boardList.thumbnail div.nameAndDate .date { font:.8em Tahoma; color:#999999;}
.boardList.thumbnail div.readAndRecommend { font-size:.9em; color:#666666; padding-left:3px;}
.boardList.thumbnail div.readAndRecommend .num { font:.8em Tahoma;}
.boardList.thumbnail div.readAndRecommend .vr { color:#dddddd;}
.boardList.thumbnail div.readAndRecommend strong.num { font:bold .8em Tahoma; color:#494949;}
/* boardSearch */
.boardSearch { clear:both; text-align:center; margin-top:3em;}
.boardSearch fieldset { display:inline; padding:10px 15px 10px 15px; border:none; background:#F4F4F4; overflow:hidden; }
.boardSearch fieldset legend { overflow:hidden; width:1px; height:1px; font-size:.001em; text-indent:-100em;}
.boardSearch * { vertical-align:middle;}
.boardSearch select { float:left;}
.boardSearch input { float:left; margin:0 .3em; background:#fbfbfb;}
.searchButton ul { overflow:hidden;}
.searchButton li { float:left; margin-right:.3em; list-style:none;}
.buttonTypeGo { border:none; cursor:pointer; background:url(../images/common/buttonTypeInput24.gif) no-repeat; font:.75em Tahoma; text-align:center;}
/* pageNavigation */
.pageNavigation { float:left; display:block; margin:0 0 2em 1.1em; font:bold .8em Tahoma; }
.pageNavigation a, .pageNavigation a:visited, .pageNavigation a:active { margin-left:-4px; font:bold .8em Tahoma; color:#676767; display:inline-block; padding:1px 5px 2px 4px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
.pageNavigation a:hover { text-decoration:none; }
.pageNavigation a.goToFirst,
.pageNavigation a.goToLast { border:none; border-right:1px solid #ffffff; border-left:1px solid #ffffff; z-index:99; padding:1px 5px 3px 4px;}
.pageNavigation a.goToFirst img,
.pageNavigation a.goToLast img { vertical-align:middle;}
.buttonBox { float:right; margin:1.2em 0 0 0; }
/* boardRead */
#blog .boardRead { position:relative; margin:0; _overflow:hidden;}
.boardRead .originalContent { padding:2em 0 2em 0;}
.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 .category { font-size:.9em; color:#999999; white-space:nowrap;}
.boardRead .dateAndModify { font-size:.8em; float:right; white-space:nowrap;}
.boardRead .dateAndModify .date { font-size:.8em; font-family:Tahoma; color:#999999; margin-right:.5em; float:left; position:relative; top:.1em;}
.boardRead .dateAndModify .date strong { font-size:1em; font-family:Tahoma;}
.boardRead .dateAndModify ul { display:inline; margin:0 .4em 0 0;}
.boardRead .dateAndModify ul li { float:left; margin-left:.3em; list-style:none;}
.boardRead dl.uri { float:right; overflow:hidden; margin:0 0 3em .3em;}
.boardRead dl.uri dt { float:left; clear:left; font-size:.9em; margin-right:.3em; color:#999999;}
.boardRead dl.uri dd { clear:right; font-size:.8em; color:#d4d5d0;}
.boardRead dl.uri dd span { font-family:Tahoma; color:#d4d5d0;}
.boardRead .readBody { padding:0 .3em; color:#555555; overflow:hidden; margin-bottom:2em;}
.boardRead .readBody p { margin:1em 0; line-height:1.5em;}
.boardRead .contentBody { width:100%; overflow:hidden; }
.boardRead .userInfo { float:left; white-space:nowrap;}
.boardRead .userInfo .author { padding:0 .3em 0 0; color:#3074a5; margin-right:.3em;}
.boardRead .userInfo .ipaddress { font-size:.9em; font-family:Tahoma; color:#888888; margin-right:.5em; }
/* extraVars list */
.extraVarsList { width:100%; border:1px solid #e0e1db; clear:both; margin-bottom:1em;}
.extraVarsList tr.notice { background:#f8f8f8;}
.extraVarsList tr.notice .num { font-size:.9em; font-weight:bold;}
.extraVarsList tr.bg1 { background:#ffffff}
.extraVarsList tr.bg2 { background:#fbfbfb;}
.extraVarsList th { color:#3e3f3e; font-weight:bold; padding:.8em .5em .5em .5em; border-bottom:1px solid #eff0ed; border-right:1px solid #eff0ed;}
.extraVarsList td { border-bottom:1px solid #eff0ed; padding:.5em .5em .5em 1em;}
.boardRead .readFooter { border-top:1px solid #dfe0db; }
.boardRead .readFooter .tag { margin-bottom:1em; padding:1em 0 0 0; }
.boardRead .readFooter .tag h5 { display:inline; font-size:1em; margin:0 .3em 0 1.8em;}
.boardRead .readFooter .tag ul,
.boardRead .readFooter .tag li { display:inline;}
.boardRead .readFooter .tag a { color:#444444; text-decoration:none;}
.boardRead .readFooter .tag .tagIcon { vertical-align:middle;}
.boardRead .readFooter .fileAttached { padding:1em 1em .8em 0; position:relative; _width:100%; border-bottom:1px solid #dfdfdd; overflow:hidden; background:#f9f9f9;}
.boardRead .readFooter .fileAttached h5 {}
.boardRead .readFooter .fileAttached ul { margin-left:1.8em;}
.boardRead .readFooter .fileAttached li { float:left; margin-right:.75em; line-height:1.6em; color:#888888; white-space:nowrap; list-style:none;}
.boardRead .readFooter .fileAttached li a { font-size:.9em; padding:.1em 0 .1em .2em; white-space:nowrap; position:relative; color:#888888; text-decoration:none; }
.boardRead .readFooter .fileAttached li a:visited { color:#777777;}
.listButton li { list-style:none; clear:both; text-align:right; margin-top:.5em; }
.boardRead .replyAndTrackback { float:left; width:100%; background:url(../images/common/bg_repeat_x_eaeaea.gif) repeat-x left bottom; overflow:hidden;}
.boardRead .replyAndTrackback li { float:left; font-weight:bold; margin:.3em 0 0 0; padding:.7em 1.1em .7em 1.2em; color:#FFFFFF; background:#B8B8B8; list-style:none;}
.boardRead .replyAndTrackback li a { color:#FFFFFF; text-decoration:none; }
.boardRead .replyAndTrackback li strong { padding:0 1.1em 0 0; background:#B8B8B8 url(../images/common/icon_close.gif) no-repeat right .2em;}
.boardRead .replyAndTrackback li.selected a { color:#666666;}
.boardRead .replyAndTrackback li.selected strong { padding:0 1.1em 0 0; background:#FFFFFF url(../images/common/icon_open.gif) no-repeat right .2em;}
.boardRead .replyAndTrackback a#toggleReply { background:url(../images/common/buttonToggleReply.gif) no-repeat right top;}
.boardRead .replyAndTrackback a#toggleTrackback { background:url(../images/common/buttonToggleReply.gif) no-repeat right -13px;}
.boardRead #reply,
.boardRead #trackback { color:#666666; border-left:1px solid #EAEAEA; border-right:1px solid #EAEAEA; border-bottom:1px solid #EAEAEA; padding-top:1em;}
.boardRead #reply { }
.boardRead #trackback { display:none;}
.boardRead .topBorder { border-top:1px solid #EAEAEA; }
.boardRead #reply .contentBox,
.boardRead #trackback .contentBox { line-height:1.25em; color:#676767; clear:both; padding:1em; overflow:hidden;}
.boardRead #reply .top_border,
.boardRead #trackback .top_border { border-top:1px dashed #d8d8d8; }
.boardRead .contentBox .content { width:100%; overflow:hidden; clear:both; margin-bottom:1em; }
.boardRead .contentBox .author { float:left; overflow:hidden; color:#3173a3;}
.boardRead .contentBox .date { float:right; font:.8em Tahoma; color:#cccccc; margin-left:.5em; }
.boardRead .contentBox .replyOption { float:right; display:inline; white-space:nowrap; margin-left:.5em; }
.boardRead .contentBox .replyOption img { vertical-align:middle;}
.boardRead .contentBox .fileAttached { position:relative; _width:100%; overflow:hidden; clear:both; }
.boardRead .contentBox .fileAttached h5 {}
.boardRead .contentBox .fileAttached ul { margin-bottom:.5em;}
.boardRead .contentBox .fileAttached li { float:left; margin-right:.75em; line-height:1.6em; color:#888888; white-space:nowrap; list-style:none;}
.boardRead .contentBox .fileAttached li a { font-size:.9em; padding:.1em 0 .1em .2em; white-space:nowrap; position:relative; color:#888888; text-decoration:none; }
.boardRead .contentBox .fileAttached li a:visited { color:#777777;}
.boardRead .contentBox .title a { color:#676767 ; margin-right:.3em; text-decoration:none;}
.boardRead .contentBox address a { font-size:.9em; color:#3173a3; margin-right:.3em; text-decoration:none; }
.boardRead .contentBox address .trackback_date { font:.8em Tahoma; color:#cccccc; margin-left:.5em; }
.boardRead .indent_box { background-color:#FBFBFB; }
.boardRead .contentBox .indent {padding-left:1.5em; background:url(../images/common/icon_arrow_reply.gif) no-repeat left .1em;}
/* boardEditor */
.boardEditor { padding:.5em 0 1em 0; width:100%; overflow:hidden;}
.boardEditor.reply { padding:.5em 1em 1em 1em; width:auto; overflow:hidden;}
.boardEditor legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em;}
.boardEditor fieldset { _width:100%; border:0px solid #eaeae7; border-top:none;}
.boardEditor .userNameAndPw { position:relative; background:#fbfbfb; border-top:1px solid #eaeae7; border-bottom:1px solid #e1e1e1; padding:.5em 1em; white-space:nowrap;}
.boardEditor .userNameAndPw * { vertical-align:middle;}
.boardEditor .userNameAndPw label { margin-right:.2em; color:#666760;}
.boardEditor .userNameAndPw input { color:#aaaaaa;}
.boardEditor .userNameAndPw .userName { width:6em; margin-right:.8em;}
.boardEditor .userNameAndPw .userPw { width:5em;}
.boardEditor .userNameAndPw .emailAddress { width:6em;}
.boardEditor .userNameAndPw .homePage { width:6em;}
.boardEditor .userNameAndPw .checkSecret { position:absolute; right:2em; top:.7em;}
/* boardWrite */
.boardWrite { width:100%; position:relative;}
.boardWrite .userNameAndPw { margin-bottom:-1px;}
.boardWrite div.title label.title { display:block; float:left; font-weight:bold; padding:.4em 0 0 1.5em; width:9.5em; white-space:nowrap;}
.boardWrite div.title input#title { width:60%;}
.boardWrite .option dt { display:block; float:left; font-weight:bold; padding:.3em 0 0 1.5em; width:9.5em; white-space:nowrap;}
.boardWrite .option dd { float:left; margin-right:1em; padding-top:.2em; _padding-top:.1em;}
.boardWrite .option dd * { vertical-align:middle;}
.boardWrite .inputTypeText { background:#fbfbfb;}
.boardWrite .trackbackURI { clear:both; border-top:1px solid #eff0ed; padding:4px 0 .8em 0;}
.boardWrite .trackbackURI label { display:block; float:left; color:#333333; font-weight:bold; padding:.4em 0 0 1.5em; width:11em;}
.boardWrite .trackbackURI .inputTypeText { width:50%;}
.boardWrite .tag { clear:both; border-top:1px solid #eff0ed; padding:.8em 0;}
.boardWrite .tag label { display:block; float:left; color:#333333; font-weight:bold; padding:.4em 0 0 1.5em; width:11em;}
.boardWrite .tag .inputTypeText { width:50%;}
.boardWrite .tag .help { vertical-align:middle;}
.boardWrite .tag .info { padding:.5em 0 0 .6em; margin-left:14em; font-size:.9em; color:#999999; background:url(../images/common/iconArrowD8.gif) no-repeat left center;}
.boardWrite .extra_vars { clear:both; border-top:1px solid #eff0ed; padding:.8em 0;}
.boardWrite .extra_vars label { display:block; float:left; color:#333333; font-weight:bold; padding:.4em 0 0 1.5em; width:11em;}
.boardWrite .extra_vars .info { clear:both; padding:.5em 0 0 .6em; margin-left:14em; font-size:.9em; color:#999999; background:url(../images/common/iconArrowD8.gif) no-repeat left center;}
.boardWrite .extra_vars ul li { float:left; margin-right:1em; }
/* ----- List+Read+Write+Modify | End ----- */
/* Column Left & Right Common Child */
.boxTypeA { position:relative; border:5px solid #F2F2F2; margin-bottom:.7em;}
.boxTypeB { position:relative; margin-bottom:.7em;}
.boxTypeB h2 { position:relative; padding:7px 0 0 12px; height:21px; _height:20px; background:#f5f5f5; font-size:1em; color:#ef2121; font-family:Tahoma;}
*:first-child+html .boxTypeB h2 { height:20px; color:#ef2121;}
.boxTypeB .toggleMask {position:absolute; top:8px; right:5px; cursor:pointer; width:13px; height:13px; overflow:hidden;}
.boxTypeB .showHide { position:relative;}
.boxTypeB .optionList { position:absolute; top:8px; right:0; overflow:hidden;}
.boxTypeB .optionList li { float:left; padding:0 .5em; margin-left:-1px; background:url(../images/common/line_1x10_e0e0e0.gif) no-repeat left center;}
.boxTypeB .optionList li a { color:#a4a4a4; font-size:.9em;}
.boxTypeB .optionList li.on a { color:#000000;}
.boxTypeB .showAll { color:#737373; font:bold .9em tahoma; white-space:nowrap; display:inline-block; padding:.4em .8em; background:url(../images/common/bar_1x8_c0c0c0.gif) no-repeat right center;}
.boxTypeB .showAll.no_bg { background:none;}
/* Profile */
#blog div#profile { padding:6px; overflow:hidden;}
#blog div#profile img.profile { width:153px; display:block; margin-bottom:1.2em;}
#blog div#profile dl#hello {}
#blog div#profile dl#hello dt { color:#333333; margin-bottom:.5em;}
#blog div#profile dl#hello dt a { color:#333333;}
#blog div#profile dl#hello dd { color:#777777; margin-bottom:1em;}
#blog div#profile ul#admin { overflow:hidden; height:1.2em;}
#blog div#profile ul#admin li { float:left; padding:0 .4em; font:.8em tahoma;}
#blog div#profile ul#admin li a { display:block;}
#blog div#profile ul#admin li.write a {}
#blog div#profile ul#admin li.setup { border-left:1px solid #e3e3e3;}
#blog div#profile ul#admin li.setup a {}
#blog div#profile ul#admin li a { color:#666666;}
/* Category */
#blog div#category {}
#blog div#category #categoryList { padding:1em .8em .5em .8em;}
#blog div#category #categoryList li { position:relative; padding:0 0 0 15px; background:url(../images/common/iconFolderClose.gif) no-repeat 2px top;}
#blog div#category #categoryList li li {}
#blog div#category #categoryList li li li { background:url(../images/common/iconList.gif) no-repeat 5px top;}
#blog div#category #categoryList a { display:block; _display:inline-block; color:#6b6b6b; margin:0 0 6px 5px;}
/* Search Box */
#blog div#searchBox { margin-bottom:.7em; padding:.6em; background:#f5f5f5; overflow:hidden;}
#blog div#searchBox fieldset { border:none;}
#blog div#searchBox fieldset legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em; text-indent:-100em;}
/* Tags */
#blog div#tag { padding-bottom:1em;}
#blog div#tag .tagList { padding:1.2em; overflow:hidden;}
#blog div#tag .tagList li { display:inline; color:#a4a4a4; margin-right:.1em; line-height:1.5em;}
#blog div#tag .tagList li a { color:#a4a4a4;}
#blog div#tag .tagList li.typeA a { color:#717171; font-weight:bold;}
#blog div#tag .tagList li.typeB a { color:#3d3d3d;}
#blog div#tag .tagList li.typeC a { font-weight:bold;}
#blog div#tag .tag_sort { width:100%; border-top:1px dashed #ababab; border-bottom:1px dashed #ababab; text-align:center; overflow:hidden;}
/* Neighbor */
#blog div#neighbor {}
#blog div#neighbor #neighborList { padding:1.2em 1.2em 0 1.2em;}
#blog div#neighbor #neighborList li { padding:0 0 .7em 1.2em; background:url(../images/common/iconPlus2.gif) no-repeat left top;}
#blog div#neighbor #neighborList li img { padding-left:.3em; top:.1em;}
#blog div#neighbor #neighborList li a { display:inline-block; color:#6b6b6b; font-weight:bold;}
#blog div#neighbor #neighborList li ul { display:none; padding:.7em 0 0 0;}
#blog div#neighbor #neighborList li ul li { padding:0 0 .6em .6em; margin-left:-.6em; background:url(../images/common/iconLineBD.gif) no-repeat left 5px;}
#blog div#neighbor #neighborList li ul li a{ font-weight:normal;}
/* Calendar */
#blog div#calendar {}
#blog div#calendar table { width:100%; background:url(../images/common/bg_line_dot_x.gif) repeat-x left top;}
#blog div#calendar table caption { font:bold 1em ; color:#ec1a25; padding:1em;}
#blog div#calendar table caption .mm { font:bold 1em ; color:#555650;}
#blog div#calendar table caption a { padding:.2em;}
#blog div#calendar table caption a img { vertical-align:middle;}
#blog div#calendar table th { padding:.6em 0;}
#blog div#calendar table td { padding:.25em 0;}
#blog div#calendar table th { font:bold .7em tahoma; color:#717171;}
#blog div#calendar table th.sun { color:#000000;}
#blog div#calendar table td { text-align:center;}
#blog div#calendar table td a { font:.7em Tahoma; color:#9a9a9a;}
#blog div#calendar table td.sun { color:#000000;}
#blog div#calendar table td.sun a { color:#000000;}
#blog div#calendar table td.today a { font-weight:bold; color:#54564b;}
#blog div#calendar table td.posted a { text-decoration:underline;}
#blog .boardWrite div.title { border-top:2px solid #ed1b24;}
#blog .write_post h3 {margin:1.5em 1em 1em 1em; font:bold 1.2em ;}
/* ----- Blog | End ----- */
/* ----- Member | Start ----- */
.memberHeader { position:relative; _width:100%; background:#ED2027 url(../images/common/bg_top_title.gif) no-repeat 23px -6px; overflow:hidden;}
.memberHeader h3 { float:left; clear:both; padding:1.2em 0 1em 1.7em; font-size:1.1em; color:#FFFFFF;}
.memberInformation { width:100%; clear:both; margin:0 0 .5em 0; background:#EFEFEF; color:#8D8D8D; overflow:hidden;}
.memberInformation .friendNum { float:left; padding:.7em 0 .7em 2em; background:url(../images/common/iconFriend.gif) no-repeat .5em .4em;}
.memberInformation .addGroup { float:right; margin:.8em 1em .7em 0;}
.memberInformation .addGroup select { _position:relative; _top:5px; }
.memberInformation .instantMessage { float:right; margin:.7em; overflow:hidden;}
.memberInformation .instantMessage li { list-style:none; float:left; margin:0 0 0 -.1em; padding:0 .5em; background:url(../images/common/bar_1x7_c0c0c0.gif) no-repeat left .25em;}
.memberInformation .instantMessage li a { text-decoration:none; white-space:nowrap; color:#666666;}
.memberInformation .instantMessage li.on a { text-decoration:none; background-position:left -14px; font-weight:bold;}
/* 친구목록 */
.memberList th.check { padding:0;}
.memberList th.friendGroup { padding:0 0 0 .3em; text-align:left;}
.memberList th.friendGroup img.go_button { vertical-align:middle; }
.memberList th select,
.memberList th input { vertical-align:middle;}
.memberList td { padding:.3em; border-bottom:1px solid #e4e4e2;}
.memberList td.noline { border-bottom:none;}
.memberList td.check { text-align:center;}
.memberList td.friendGroup { }
.memberList td.userId { text-align:center; font:.9em Tahoma;}
.memberList td.userName { text-align:center;}
.memberList td.userNick { text-align:center; color:#999999;}
.memberList td.registDate { text-align:center; font:.8em Tahoma;}
.memberList td.sendMessage { text-align:center;}
.memberSmallBox { margin:0 auto 1em auto;}
.memberSmallBox.w400 { width:400px;}
.memberSmallBox.w298 { width:298px;}
.memberSmallBox.w498 { width:498px;}
.memberSmallBox .header h3 { font-size:1.2em; color:#FFFFFF; padding:1em 2em .8em 1em; background:none;border:none;}
.memberSmallBox .login { position:relative; border:none; padding:2.4em 0 2em 2.3em;}
.memberSmallBox .login legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em; text-indent:-100em;}
.memberSmallBox .login dl { overflow:hidden; width:212px; float:left; text-align:right;}
.memberSmallBox .login dl dt { float:left; width:105px; color:#54564b; height:22px; padding-top:5px;}
.memberSmallBox .login dl dd { float:left; width:105px; height:27px;}
.memberSmallBox .login dl dd input { width:90px;}
.memberSmallBox .login dl dd input.openid_user_id { background: url(../images/openid_input_bg.gif) left no-repeat; padding-left:18px; width:72px;}
.memberSmallBox .login .loginButton { display:block; float:left; margin-top:27px; _margin-top:28px;}
.memberSmallBox .login .loginOpenIDButton { display:block; float:left; }
*:first-child+html .memberSmallBox .login .loginButton { margin-top:28px;}
.memberSmallBox .login .keep { float:left; clear:both; white-space:nowrap; position:relative; left:115px; _left:110px;}
*:first-child+html .memberSmallBox .login .keep { left:52px;}
.memberSmallBox .login .keep input { vertical-align:middle;}
.memberSmallBox .login .keep label { font-size:11px; color:#999999;}
.memberSmallBox .help li { display:inline; padding:0 .3em 0 .7em; background:url(../images/common/bar_1x7_c0c0c0.gif) no-repeat left center;}
.memberSmallBox .help li:first-child { background:none;}
.memberSmallBox .help li.first-child { _background:none;}
.memberSmallBox .help li a { font-size:11px; color:#54564b;}
.memberSmallBox .text { color:#54564b; text-align:center; padding:4.25em 2em 4.8em 2em;}
.memberSmallBox .text p { margin-bottom:.5em;}
.memberSmallBox .button img { vertical-align:top;}
.memberSmallBox.w400 .button ul { position:absolute; left:279px; }
.memberSmallBox.w298 .button ul { position:absolute; left:110px; }
.memberSmallBox.w498 .button ul { position:absolute; left:220px; }
.memberSmallBox .button ul li { float:left; margin-right:.3em;}
.memberSmallBox .complex { padding:1.5em 2em 2em 2em;}
.memberSmallBox .friend { width:100%;}
.memberSmallBox .friend th { width:7em; padding:.9em; border-bottom:1px solid #e4e5e0;}
.memberSmallBox .friend td { padding:.9em; border-bottom:1px solid #e4e5e0; background:url(../images/common/bar_1x18_e4e5e0.gif) no-repeat left bottom;}
.memberSmallBox .leftHeaderType { border-top:1px solid #e0e1db; border-left:1px solid #e0e1db; width:100%;}
.memberSmallBox .leftHeaderType th,
.memberSmallBox .leftHeaderType td { border-right:1px solid #e0e1db; border-bottom:1px solid #e0e1db; padding:.8em 1em .6em 1em;}
.memberSmallBox .leftHeaderType th { color:#333333; text-align:left; background:#f5f5f3;}
.memberSmallBox .leftHeaderType td { color:#444444;}
.memberSmallBox .inputTypeText { background:#fbfbfb;}
.memberSmallBox .group { overflow:hidden; padding:.5em 0; margin-top:.7em;}
.memberSmallBox .group select { float:left; width:180px; margin-top:1px;}
.memberSmallBox .pwModify { border:none;}
.memberSmallBox .pwModify legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em; text-indent:-100em;}
.memberSmallBox .pwModify input { width:9em;}
.memberSmallBox .pwModify br { display:block; margin-bottom:.2em}
.memberSmallBox .pwModify p { text-align:center; margin-top:1em; color:#54564b;}
/* messageList */
.messageList tr.notice .num { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; font-weight:bold;}
.messageList th:first-child,
.messageList th.first-child { background-position:-3px bottom;}
.messageList th.check { padding:0;}
.messageList th select,
.messageList th input { vertical-align:middle;}
.messageList th img.go_button { vertical-align:middle; }
.messageList td { padding:.3em; border-bottom:1px solid #EFEFEF;}
.messageList td.noline { border-bottom:none;}
.messageList td.category {}
.messageList tr.notice td { padding:.7em .7em .7em .9em; white-space:nowrap;}
.messageList tr.notice td img { margin:-.1em .3em 0 0;}
.messageList td.thumb { padding:.5em 0 .5em .5em; width:145px; table-layout:fixed; white-space:nowrap;}
.messageList td.thumb * { vertical-align:middle;}
.messageList td.title {}
.messageList td.title.bold { font-size:1em; font-weight:bold;}
.messageList td.title.bold a { position:relative; top:.3em;}
.messageList td.title * { vertical-align:middle;}
.messageList td.title,
.messageList td.title a { color:#444444; text-decoration:none;}
.messageList td.title a:visited { color:#777777;}
.messageList td.author { padding:0 .5em 0 1.3em; color:#333333; font:.95em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;}
.messageList td.author a { font-size:1em; color:#333333;}
.messageList td.reading { font:.8em Tahoma; color:#999999; text-align:center;}
.messageList td.reply { font:bold .8em Tahoma; color:#ff6600; text-align:center;}
.messageList td.date { font:.8em Tahoma; color:#999999; text-align:center;}
.messageList td.registDate { font:.8em Tahoma; color:#999999; text-align:center;}
.messageList td.checkDate { font:.8em Tahoma; color:#333333; text-align:center;}
.messageList td.summary { border-top:none; vertical-align:top; color:#666666; line-height:1.25em;}
.messageList td.summary a { color:#666666; text-decoration:none; line-height:inherit;}
.messageList td.summary a:visited { color:#999999;}
.messageList td.check { text-align:center;}
.messageList td.user { color:#333333; font-size:.9em;}
.messageList td.user a { color:#333333;}
.messageList td.userId { font:.9em Tahoma;}
.messageList td.userNick { font-size:.9em; color:#999999;}
.messageList td.sendMessage { text-align:center; padding:0;}
.messageList td.sendMessage .buttonFixedLeft { position:relative; left:20%; _left:0;}
.readMessage { margin-bottom:2em;}
.readMessage .messageHeader { padding:1.5em; height:1em; overflow:hidden;}
.readMessage .messageHeader h4 { float:left; padding-left:.5em; font-size:1em; background:url(../images/common/iconArrow99.gif) no-repeat left .3em;}
.readMessage .messageHeader address { float:right; white-space:nowrap;}
.readMessage .messageHeader address em { font-size:.9em; font-style:normal; color:#333333; margin-right:.3em;}
.readMessage .messageHeader address em a { color:#333333;}
.readMessage .messageHeader address .date { font:.8em Tahoma; color:#999999;}
.readMessage .messageBody { border:1px solid #e0e1db; margin:0 1.5em 1.5em 1.5em; padding:1em; position:relative; color:#666666;}
.readMessage .deleteOrKeep { padding:.5em 0; overflow:hidden; background:#f5f5f3; border-top:1px solid #eaebe7; _width:100%;}
.readMessage .deleteOrKeep li { position:relative; left:40%; float:left; margin-right:.5em;}
.joinTable { margin-bottom:1em; }
.joinTable.typeC { border-top:2px solid #ee2b33; border-bottom:2px solid #ee2b33; border-collapse:collapse;}
.joinTable.typeB caption { border-top:1px dashed #919191; background:#f9f9f9;}
.joinTable { width:100%;}
.joinTable caption { padding:2em 0 .5em 1.5em; font-weight:bold; text-align:left; background:url(../images/common/iconH3.gif) no-repeat .5em 2em;}
.joinTable th,
.joinTable td { padding:.7em .5em .7em 1.5em; text-align:left; border-top:1px solid #eff0eb;}
.joinTable td { background:url(../images/common/bar_1x18_e4e5e0.gif) no-repeat left bottom;}
.joinTable th { width:10em;}
.joinTable td textarea { width:40em; height:4.5em; border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; line-height:1em; background:#fbfbfb; vertical-align:middle; float:left; margin-right:.5em; margin-bottom:.5em; color:#666666; overflow:auto;}
.joinTable td input { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; height:1em; line-height:1em; background:#fbfbfb; vertical-align:middle; float:left; margin-right:.5em; margin-bottom:.5em; color:#666666;}
.joinTable td input.radio,
.joinTable td input.check { border:none; padding:0; margin:0; background:none; margin-top:.4em;}
.joinTable td input.w4em { width:4em;}
.joinTable td input.w2em { width:2em;}
.joinTable td select { float:left; margin-right:.5em;}
.joinTable td .fl { margin-right:.5em;}
.joinTable td br { clear:both;}
.joinTable td p { float:left; font-size:.9em; color:#999999; padding-top:.5em; margin-right:.5em;}
.extendDesc { clear:both; margin-top:0; font-size:.9em; color:#999999; }
.joinTable td label { float:left; color:#3f4040; padding-top:.3em; margin-right:.5em;}
.joinTable td a { color:#333333;}
.joinTable li { list-style:none; display:block; white-space:nowrap; float:left; padding-right:1em;}
.joinTable .no_line { border:none;}
.join_button { margin:1em 0 0 0; text-align:center;}
.joinTable .add_info { padding:2.5em .5em .7em 1.5em; background:#f9f9f9; border-top:1px dashed #919191;}
.buttonTypeWrite.join { margin-top:1.2em;}
/* ----- Member | End ----- */
.memberSmallBox .inputPassword { position:relative; border:none; padding:2em 2em 1.5em 2em;}
.memberSmallBox .inputPassword .inputTypeText { float:left; margin-right:.5em; width:8em;}
.memberSmallBox .inputPassword legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em; text-indent:-100em;}
/* member info */
.memberInfoTable { width:100%; border:1px solid #e0e1db; margin-bottom:10px;}
.memberInfoTable caption { padding:2em 0 .5em 1.5em; font-weight:bold; text-align:left; background:url(../images/common/iconH3.gif) no-repeat .5em 2em;}
.memberInfoTable tr.first-child th, .memberInfoTable tr.first-child td { border-top:none;}
.memberInfoTable th, .memberInfoTable td { border-top:1px solid #eaebe7; padding:.5em;}
.memberInfoTable th { background:#f5f5f3; text-align:left; padding:.5em 1em;}
.memberInfoTable td { border-left:1px solid #eaebe7;}
.memberInfoTable td input { border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:3px; height:1em; line-height:1em; background:#fbfbfb; vertical-align:middle; float:left; margin-right:.5em; margin-bottom:.5em; color:#666666;}
.memberInfoTable td input.radio, .memberInfoTable td input.check { border:none; padding:0; margin:0; background:none; margin-top:.4em;}
.memberInfoTable td input.w4em { width:4em;}
.memberInfoTable td input.w2em { width:2em;}
.memberInfoTable td select { float:left; margin-right:.5em;}
.memberInfoTable td .fl { margin-right:.5em;}
.memberInfoTable td br { clear:both;}
.memberInfoTable td p { float:left; font-size:.9em; color:#999999; padding-top:.5em; margin-right:.5em;}
.memberInfoTable td label { float:left; color:#3f4040; padding-top:.3em; margin-right:.5em;}
.memberInfoTable td .checkbox { border:none; }
.agreementBox { border:1px solid #AAAAAA; margin:.5em 0 0 0; padding:1em; border-bottom:none; height:200px; overflow-y:scroll;}
.agreementButton { background-color:#EEEEEE; padding:1em; border:1px solid #AAAAAA; border-top:none; margin-bottom:1em; }

View file

@ -1,34 +0,0 @@
@charset "utf-8";
/* boardHeader */
.boardHeader { position:relative; _width:100%; background:#8dc63f url(../images/green/bg_top_title.gif) no-repeat 23px top; overflow:hidden;}
.boardList { width:100%; position:relative; border-bottom:2px solid #8dc63f; border-collapse:collapse; }
.memberList th.repeat_bg { background:#ffffff url(../images/green/bg_title_repeat_x.gif) repeat-x left bottom;}
.memberList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/green/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.messageList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/green/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.messageList th.author { background:url(../images/green/bg_title_repeat_x.gif) repeat-x left bottom; text-align:left;}
.messageList { width:100%; position:relative; border-bottom:2px solid #8dc63f; border-collapse:collapse; margin-bottom:2.2em;}
.memberList { width:100%; position:relative; border-bottom:2px solid #8dc63f; border-collapse:collapse; margin-bottom:2.2em;}
.joinTable.typeA { border-top:2px solid #8dc63f; border-collapse:collapse;}
.joinTable.typeB { border-bottom:2px solid #8dc63f; background:#f9f9f9;}
.messageList td.recommend { font:bold .8em Tahoma; color:#8dc63f; text-align:center;}
.memberInformation .friendNum strong { font:bold 11px Tahoma; color:#8dc63f;}
.memberInformation .instantMessage li a strong { font:bold 0.75em tahoma; color:#8dc63f;}
.memberSmallBox .header { position:relative; _width:100%; background:#8dc63f; overflow:hidden;}
.memberSmallBox .open_id_help { background:#F7F7F7; border-top:1px solid #8dc63f; border-bottom:2px solid #8dc63f; overflow:hidden; padding:1.1em; text-align:left; }
.memberSmallBox .help { background:#F7F7F7; border-top:1px solid #8dc63f; border-bottom:2px solid #8dc63f; overflow:hidden; padding:1.1em; text-align:center; }
.boardList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/green/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.boardList td .replyAndTrackback { font:.8em Tahoma; color:#27a939; cursor:default; position:relative; top:-.2em;}
.boardList td.recommend { font:bold .8em Tahoma; color:#27a939; text-align:center;}
.pageNavigation .current { margin-left:-4px; font:bold .8em Tahoma; color:#27a939; display:inline-block; padding:1px 5px 2px 4px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
.boardRead { position:relative; _width:100%; margin:1em 0 0 0; padding: 0 0 .6em 0; border-bottom:3px solid #8dc63f;}
.boardRead .readHeader { width:100%; padding-bottom:.5em; margin-bottom:1em; border-bottom:3px solid #8dc63f; overflow:hidden;}
.boardRead .replyAndTrackback li.selected { margin:0; padding:1em 1.1em .7em 1.4em; border:1px solid #EAEAEA; border-bottom:none; background:#FFFFFF; color:#8dc63f;}
.boardWrite fieldset.bottomBorder { border-bottom:2px solid #8dc63f;}
.boardWrite div.title { padding:.5em 0 .65em 0; white-space:nowrap; background:#FFFFFF url(../images/green/bg_title_norepeat.gif) no-repeat left bottom;}
.boardWrite .option { width:100%; padding:.5em 0 .65em 0; background:#FFFFFF url(../images/green/bg_title_norepeat.gif) no-repeat left bottom; overflow:hidden;}

View file

@ -1,33 +0,0 @@
@charset "utf-8";
/* boardHeader */
.boardHeader { position:relative; _width:100%; background:#f70795 url(../images/pink/bg_top_title.gif) no-repeat 23px top; overflow:hidden;}
.boardList { width:100%; position:relative; border-bottom:2px solid #f70795; border-collapse:collapse; }
.memberList th.repeat_bg { background:#ffffff url(../images/pink/bg_title_repeat_x.gif) repeat-x left bottom;}
.memberList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/pink/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.memberList { width:100%; position:relative; border-bottom:2px solid #f70795; border-collapse:collapse; margin-bottom:2.2em;}
.messageList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/pink/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.messageList th.author { background:url(../images/pink/bg_title_repeat_x.gif) repeat-x left bottom; text-align:left;}
.messageList { width:100%; position:relative; border-bottom:2px solid #f70795; border-collapse:collapse; margin-bottom:2.2em;}
.joinTable.typeA { border-top:2px solid #f70795; border-collapse:collapse;}
.joinTable.typeB { border-bottom:2px solid #f70795; background:#f9f9f9;}
.messageList td.recommend { font:bold .8em Tahoma; color:#f70795; text-align:center;}
.memberInformation .friendNum strong { font:bold 11px Tahoma; color:#f70795;}
.memberInformation .instantMessage li a strong { font:bold 0.75em tahoma; color:#f70795;}
.memberSmallBox .header { position:relative; _width:100%; background:#f70795; overflow:hidden;}
.memberSmallBox .open_id_help { background:#F7F7F7; border-top:1px solid #f70795; border-bottom:2px solid #f70795; overflow:hidden; padding:1.1em; text-align:left; }
.memberSmallBox .help { background:#F7F7F7; border-top:1px solid #f70795; border-bottom:2px solid #f70795; overflow:hidden; padding:1.1em; text-align:center; }
.boardList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/pink/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.boardList td .replyAndTrackback { font:.8em Tahoma; color:#f70795; cursor:default; position:relative; top:-.2em;}
.boardList td.recommend { font:bold .8em Tahoma; color:#f70795; text-align:center;}
.pageNavigation .current { margin-left:-4px; font:bold .8em Tahoma; color:#f70795; display:inline-block; padding:1px 5px 2px 4px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
.boardRead { position:relative; _width:100%; margin:1em 0 0 0; padding: 0 0 .6em 0; border-bottom:3px solid #f70795;}
.boardRead .readHeader { width:100%; padding-bottom:.5em; margin-bottom:1em; border-bottom:3px solid #f70795; overflow:hidden;}
.boardRead .replyAndTrackback li.selected { margin:0; padding:1em 1.1em .7em 1.4em; border:1px solid #EAEAEA; border-bottom:none; background:#FFFFFF; color:#f70795;}
.boardWrite fieldset.bottomBorder { border-bottom:2px solid #f9f9f9;}
.boardWrite div.title { padding:.5em 0 .65em 0; white-space:nowrap; background:#FFFFFF url(../images/pink/bg_title_norepeat.gif) no-repeat left bottom;}
.boardWrite .option { width:100%; padding:.5em 0 .65em 0; background:#FFFFFF url(../images/pink/bg_title_norepeat.gif) no-repeat left bottom; overflow:hidden;}

View file

@ -1,33 +0,0 @@
@charset "utf-8";
/* boardHeader */
.boardHeader { position:relative; _width:100%; background:#ED2027 url(../images/red/bg_top_title.gif) no-repeat 23px top; overflow:hidden;}
.boardList { width:100%; position:relative; border-bottom:2px solid #ed2a32; border-collapse:collapse; }
.memberList th.repeat_bg { background:#ffffff url(../images/red/bg_title_repeat_x.gif) repeat-x left bottom;}
.memberList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/red/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.memberList { width:100%; position:relative; border-bottom:2px solid #ED2A32; border-collapse:collapse; margin-bottom:2.2em;}
.messageList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/red/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.messageList th.author { background:url(../images/red/bg_title_repeat_x.gif) repeat-x left bottom; text-align:left;}
.messageList { width:100%; position:relative; border-bottom:2px solid #ed2a32; border-collapse:collapse; margin-bottom:2.2em;}
.joinTable.typeA { border-top:2px solid #ee1b24; border-collapse:collapse;}
.joinTable.typeB { border-bottom:2px solid #ee1b24; background:#f9f9f9;}
.messageList td.recommend { font:bold .8em Tahoma; color:#ec2127; text-align:center;}
.memberInformation .friendNum strong { font:bold 11px Tahoma; color:#ec2127;}
.memberInformation .instantMessage li a strong { font:bold 0.75em tahoma; color:#ee202a;}
.memberSmallBox .header { position:relative; _width:100%; background:#ed2027; overflow:hidden;}
.memberSmallBox .open_id_help { background:#F7F7F7; border-top:1px solid #ed2a32; border-bottom:2px solid #ee2b33; overflow:hidden; padding:1.1em; text-align:left; }
.memberSmallBox .help { background:#F7F7F7; border-top:1px solid #ed2a32; border-bottom:2px solid #ee2b33; overflow:hidden; padding:1.1em; text-align:center; }
.boardList th {padding:1.2em .5em 1.1em .6em; background:#ffffff url(../images/red/bg_title.gif) no-repeat left bottom; white-space:nowrap;}
.boardList td .replyAndTrackback { font:.8em Tahoma; color:#ed1f29; cursor:default; position:relative; top:-.2em;}
.boardList td.recommend { font:bold .8em Tahoma; color:#ec2127; text-align:center;}
.pageNavigation .current { margin-left:-4px; font:bold .8em Tahoma; color:#ff6600; display:inline-block; padding:1px 5px 2px 4px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; }
.boardRead { position:relative; _width:100%; margin:1em 0 0 0; padding: 0 0 .6em 0; border-bottom:3px solid #ed2228;}
.boardRead .readHeader { width:100%; padding-bottom:.5em; margin-bottom:1em; border-bottom:3px solid #ee202a; overflow:hidden;}
.boardRead .replyAndTrackback li.selected { margin:0; padding:1em 1.1em .7em 1.4em; border:1px solid #EAEAEA; border-bottom:none; background:#FFFFFF; color:#eb1c22;}
.boardWrite fieldset.bottomBorder { border-bottom:2px solid #ed1b24;}
.boardWrite div.title { padding:.5em 0 .65em 0; white-space:nowrap; background:#FFFFFF url(../images/red/bg_title_norepeat.gif) no-repeat left bottom;}
.boardWrite .option { width:100%; padding:.5em 0 .65em 0; background:#FFFFFF url(../images/red/bg_title_norepeat.gif) no-repeat left bottom; overflow:hidden;}

View file

@ -1,78 +0,0 @@
{@ $member_title = $lang->cmd_view_own_document }
<!--#include("./common_header.html")-->
<!-- 정보 -->
<div class="memberInformation">
<span class="friendNum">Total : <strong>{number_format($total_count)}</strong>, </span>
<span class="friendNum">Page <strong>{number_format($page)}</strong>/{number_format($total_page)}</span>
</div>
<!-- 목록 -->
<table cellspacing="0" class="messageList">
<col width="50" />
<col />
<col width="80" />
<col width="80" />
<col width="80" />
<thead>
<tr>
<th scope="col">{$lang->no}</th>
<th scope="col">
<div class="nowrap tLeft">
<select name="module_srl" class="mid_list" id="selected_module_srl">
<option value="">{$lang->total}</option>
<!--@foreach($mid_list as $key => $val)-->
<option value="{$val->module_srl}" <!--@if($module_srl == $val->module_srl)-->selected="selected"<!--@end-->>{$val->browser_title}</option>
<!--@end-->
</select>
<a href="#" onclick="location.href=current_url.setQuery('selected_module_srl',xGetElementById('selected_module_srl').options[xGetElementById('selected_module_srl').selectedIndex].value);return false;"><img src="./images/button_go.gif" border="0" alt="" class="go_button" /></a>
</div>
</th>
<th scope="col">{$lang->readed_count}</th>
<th scope="col">{$lang->voted_count}</th>
<th scope="col">{$lang->date}</th>
</tr>
</thead>
<tbody>
<!--@foreach($document_list as $no => $oDocument)-->
<tr class="bg{($no+1)%2+1}">
<td class="checkDate">{$no}</td>
<td class="title">
<a href="{getUrl('','mid',$module_list[$oDocument->get('module_srl')]->mid)}" onclick="window.open(this.href);return false">{htmlspecialchars($module_list[$oDocument->get('module_srl')]->browser_title)}</a> -
<a href="{getUrl('','document_srl',$oDocument->document_srl)}" onclick="window.open(this.href);return false;">{$oDocument->getTitleText()}</a>
<!--@if($oDocument->getCommentCount())-->
[{$oDocument->getCommentCount()}]
<!--@end-->
<!--@if($oDocument->getTrackbackCount())-->
[{$oDocument->getTrackbackCount()}]
<!--@end-->
</td>
<td class="reading">{$oDocument->get('readed_count')}</td>
<td class="recommend">{$oDocument->get('voted_count')}</td>
<td class="registDate">{$oDocument->getRegdate("Y-m-d")}</td>
</tr>
<!--@end-->
</tbody>
</table>
<!-- 버튼 -->
<div class="fr">
<a href="{getUrl('act','','selected_module_srl','')}" class="button"><span>{$lang->cmd_back}</span></a>
</div>
<!-- 페이지 네비게이션 -->
<div class="pageNavigation">
<a href="{getUrl('page','','module_srl','')}" class="goToFirst"><img src="./images/bottomGotoFirst.gif" alt="{$lang->first_page}" width="7" height="5" /></a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
<span class="current">{$page_no}</span>
<!--@else-->
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="goToLast"><img src="./images/bottomGotoLast.gif" alt="{$lang->last_page}" width="7" height="5" /></a>
</div>
<!--#include("./common_footer.html")-->

View file

@ -1,9 +0,0 @@
<filter name="add_friend" module="member" act="procMemberAddFriend" confirm_msg_code="confirm_submit">
<form />
<parameter />
<response callback_func="completeAddFriend">
<tag name="error" />
<tag name="message" />
<tag name="member_srl" />
</response>
</filter>

View file

@ -1,10 +0,0 @@
<filter name="add_friend_group" module="member" act="procMemberAddFriendGroup" confirm_msg_code="confirm_submit">
<form>
<node target="title" required="true" minlength="1" maxlength="240" />
</form>
<parameter />
<response callback_func="completeAddFriendGroup">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1 +0,0 @@
<filter name="delete_checked_friend" module="member" act="procMemberDeleteFriend" confirm_msg_code="confirm_delete" />

View file

@ -1 +0,0 @@
<filter name="delete_checked_message" module="member" act="procMemberDeleteMessages" confirm_msg_code="confirm_delete" />

View file

@ -1 +0,0 @@
<filter name="delete_friend_group" module="member" act="procMemberDeleteFriendGroup" confirm_msg_code="confirm_delete" />

View file

@ -1,2 +0,0 @@
<filter name="delete_image_mark" module="member" act="procMemberDeleteImageMark" confirm_msg_code="confirm_delete" />

View file

@ -1 +0,0 @@
<filter name="delete_image_name" module="member" act="procMemberDeleteImageName" confirm_msg_code="confirm_delete" />

View file

@ -1,10 +0,0 @@
<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>

View file

@ -1,12 +0,0 @@
<filter name="leave_member" module="member" act="procMemberLeave" confirm_msg_code="confirm_leave">
<form>
<node target="password" required="true" maxlength="20" />
</form>
<parameter>
<param name="password" target="password" />
</parameter>
<response callback_func="completeLeave">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,11 +0,0 @@
<filter name="login" module="member" act="procMemberLogin">
<form>
<node target="user_id" required="true" filter="user_id"/>
<node target="password" required="true" />
</form>
<parameter />
<response callback_func="completeLogin">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,7 +0,0 @@
<filter name="logout" module="member" act="procMemberLogout">
<form />
<response callback_func="completeLogout">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,23 +0,0 @@
<filter name="modify_info" module="member" act="procMemberModifyInfo" extend_filter="member.getJoinFormList" confirm_msg_code="confirm_submit">
<form>
<node target="user_name" required="true" minlength="2" maxlength="80"/>
<node target="nick_name" required="true" minlength="2" maxlength="20"/>
<node target="email_address" required="true" minlength="1" maxlength="200" filter="email"/>
</form>
<parameter>
<param name="accept_agreement" target="accept_agreement" />
<param name="user_name" target="user_name" />
<param name="nick_name" target="nick_name" />
<param name="homepage" target="homepage" />
<param name="blog" target="blog" />
<param name="birthday" target="birthday" />
<param name="allow_mailing" target="allow_mailing" />
<param name="allow_message" target="allow_message" />
<param name="email_address" target="email_address" />
<param name="signature" target="signature" />
</parameter>
<response callback_func="completeModify">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,15 +0,0 @@
<filter name="modify_password" module="member" act="procMemberModifyPassword" confirm_msg_code="confirm_submit">
<form>
<node target="current_password" required="true" minlength="1" maxlength="50" />
<node target="password1" required="true" minlength="6" maxlength="20" />
<node target="password2" required="true" minlength="6" maxlength="20" equalto="password1" />
</form>
<parameter>
<param name="current_password" target="current_password" />
<param name="password" target="password1" />
</parameter>
<response callback_func="completeModify">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1 +0,0 @@
<filter name="move_friend" module="member" act="procMemberMoveFriend" confirm_msg_code="confirm_move" />

View file

@ -1,8 +0,0 @@
<filter name="openid_leave_member" module="member" act="procMemberOpenIDLeave" confirm_msg_code="confirm_leave">
<form />
<parameter />
<response callback_func="completeLeave">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,10 +0,0 @@
<filter name="openid_login" module="member" act="procMemberOpenIDLogin">
<form>
<node target="user_id" required="true" />
</form>
<parameter />
<response callback_func="completeOpenIDLogin">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,12 +0,0 @@
<filter name="send_message" module="member" act="procMemberSendMessage" confirm_msg_code="confirm_submit">
<form>
<node target="title" required="true" minlength="1" maxlength="240" />
<node target="content" required="true" minlength="1" />
</form>
<parameter />
<response callback_func="completeSendMessage">
<tag name="error" />
<tag name="message" />
<tag name="redirect_url" />
</response>
</filter>

View file

@ -1,28 +0,0 @@
<filter name="signup" module="member" act="procMemberInsert" extend_filter="member.getJoinFormList" confirm_msg_code="confirm_submit">
<form>
<node target="user_id" required="true" minlength="2" maxlength="80" filter="userid" />
<node target="password1" required="true" minlength="6" maxlength="20" />
<node target="password2" required="true" minlength="6" maxlength="20" equalto="password1" />
<node target="user_name" required="true" minlength="2" maxlength="20" />
<node target="nick_name" required="true" minlength="2" maxlength="20" />
<node target="email_address" required="true" minlength="1" maxlength="200" filter="email"/>
</form>
<parameter>
<param name="accept_agreement" target="accept_agreement" />
<param name="member_srl" target="member_srl" />
<param name="user_id" target="user_id" />
<param name="password" target="password1" />
<param name="user_name" target="user_name" />
<param name="nick_name" target="nick_name" />
<param name="homepage" target="homepage" />
<param name="blog" target="blog" />
<param name="birthday" target="birthday" />
<param name="allow_mailing" target="allow_mailing" />
<param name="email_address" target="email_address" />
</parameter>
<response callback_func="completeInsert">
<tag name="error" />
<tag name="message" />
<tag name="redirect_url" />
</response>
</filter>

View file

@ -1,29 +0,0 @@
{@ $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 rowspan="2" scope="row"><label for="cpw">{$lang->email_address}</label></th>
<td>
<input type="text" name="email_address" class="inputTypeText w400" />
</td>
</tr>
<tr>
<td><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")-->

View file

@ -1,103 +0,0 @@
{@ $member_title = $lang->cmd_view_friend }
<!--#include("./common_header.html")-->
<!--%import("filter/delete_checked_friend.xml")-->
<!--%import("filter/delete_friend_group.xml")-->
<!--%import("filter/move_friend.xml")-->
<form id="fo_friend_list" action="./" method="get" onsubmit="return procFilter(this, delete_checked_friend)">
<div class="memberInformation">
<span class="friendNum"><img src="./images/common/txt3_total_friend.gif" alt="{$lang->friend}" /> <strong>{$total_count}</strong></span>
<span class="addGroup fr">
<select name="friend_group_list" id="friend_group_list">
<!--@foreach($friend_group_list as $key => $val)-->
<option value="{$val->friend_group_srl}" <!--@if($val->friend_group_srl == $friend_group_srl)-->selected="selected"<!--@end--> >{$val->title}</option>
<!--@end-->
</select>
<a href="#" onclick="doRenameFriendGroup();return false;" class="button"><span>{$lang->cmd_modify}</span></a>
<a href="#" onclick="doDeleteFriendGroup();return false;" class="button"><span>{$lang->cmd_delete}</span></a>
<a href="{getUrl('module','member','act','dispMemberAddFriendGroup')}" onclick="popopen(this.href);return false;" class="button"><span>{$lang->cmd_add_friend_group}</span></a>
</span>
</div>
<table cellspacing="0" class="memberList">
<col width="40" />
<col width="150" />
<col />
<col />
<col />
<col width="80" />
<col width="90" />
<thead>
<tr>
<th scope="col" class="check first-child"><input name="check_all" type="checkbox" onclick="doCheckAll(this, 'fo_friend_list');" /></th>
<th scope="col" class="friendGroup repeat_bg">
<select name="jumpMenu" id="jumpMenu">
<option value="">{$lang->default_friend_group}</option>
<!--@foreach($friend_group_list as $key => $val)-->
<option value="{$val->friend_group_srl}" <!--@if($val->friend_group_srl == $friend_group_srl)-->selected="selected"<!--@end--> >{$val->title}</option>
<!--@end-->
</select>
<a href="#" onclick="doJumpFriendGroup(); return false;"><img src="./images/button_go.gif" class="go_button" alt="GO"/></a>
</th>
<th scope="col" class="userId"><img src="./images/common/txt_id.gif" alt="{$lang->user_id}" /></th>
<th scope="col" class="userName"><img src="./images/common/txt_name.gif" alt="{$lang->user_name}" /></th>
<th scope="col" class="userNick"><img src="./images/common/txt_nickname.gif" alt="{$lang->nick_name}" /></th>
<th scope="col" class="registDate"><img src="./images/common/txt_date.gif" alt="{$lang->regdate}" /></th>
<th scope="col" class="sendMessage"><img src="./images/common/txt_sand.gif" alt="{$lang->cmd_send_message}" /></th>
</tr>
</thead>
<tbody>
<!--@foreach($friend_list as $no => $val)-->
<tr class="bg{($no+1)%2+1}">
<td class="check"><input type="checkbox" name="friend_srl_list" value="{$val->friend_srl}" /></td>
<td class="friendGroup">{$val->group_title?$val->group_title:"&nbsp;"}</td>
<td class="userId">{$val->user_id}</td>
<td class="userName">{$val->user_name}</td>
<td class="userNick"><div class="member_{$val->target_srl}">{$val->nick_name}</div></td>
<td class="registDate">{zdate($val->regdate,"Y-m-d")}</td>
<td class="sendMessage"><a href="{getUrl('module','member','act','dispMemberSendMessage','receiver_srl',$val->target_srl)}" onclick="popopen(this.href,'sendMessage');return false"><img src="./images/common/btn_sand2.gif" alt="{$lang->cmd_send_message}" /></a></td>
</tr>
<!--@end-->
</tbody>
</table>
<!-- 페이지 네비게이션 -->
<div class="pageNavigation">
<a href="{getUrl('page','','document_srl','')}" class="goToFirst"><img src="./images/{$colorset}/bottomGotoFirst.gif" alt="{$lang->first_page}" width="7" height="5" /></a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
<span class="current">{$page_no}</span>
<!--@else-->
<a href="{getUrl('page',$page_no,'document_srl','')}">{$page_no}</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page,'document_srl','')}" class="goToLast"><img src="./images/{$colorset}/bottomGotoLast.gif" alt="{$lang->last_page}" width="7" height="5" /></a>
</div>
<div class="fl memberSelect">
<select name="target_friend_group_srl">
<!--@foreach($friend_group_list as $key => $val)-->
<option value="{$val->friend_group_srl}">{$val->title}</option>
<!--@end-->
</select>
</div>
<div class="fl">
<a href="#" onclick="doMoveFriend();return false;" class="button"><span>{$lang->cmd_move}</span></a>
<span class="button"><input type="submit" value="{$lang->cmd_delete}" /></span>
</div>
<div class="fr">
<a href="{getUrl('act','','message_type','','friend_gruop_srl','')}" class="button"><span>{$lang->cmd_back}</span></a>
</div>
</form>
<!-- 그룹 삭제를 위한 빈 form -->
<form action="./" method="get" id="for_delete_group">
<input type="hidden" name="friend_group_srl" value="" />
</form>
<!--#include("./common_footer.html")-->

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 598 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1,016 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 944 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 906 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 789 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 925 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 753 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 599 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 376 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 501 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 811 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 610 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 729 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 B

Some files were not shown because too many files have changed in this diff Show more