diff --git a/addons/member_extra_info/conf/info.xml b/addons/member_extra_info/conf/info.xml index 6a41019fc..784126d93 100644 --- a/addons/member_extra_info/conf/info.xml +++ b/addons/member_extra_info/conf/info.xml @@ -1,12 +1,12 @@ - - 사용자 추가 정보 및 커뮤니케이션 기능 활성화 - 会員情報・コミュニティアドオン - 用户扩展信息 - Activation of Member's Additional Information and Communication Function. - Die Aktivierung der Mitglied's weitere Informations-und Kommunikations-Funktion. - Addon para activar la función de la Información addcional del usuario y de la comunicación. - Аддон для предоставления дополнительной информации о пользователях и коммуникации + + 회원 확장 정보 출력 + 회원 확장 정보 출력 + 회원 확장 정보 출력 + 회원 확장 정보 출력 + 회원 확장 정보 출력 + 회원 확장 정보 출력 + 회원 확장 정보 출력 제로 Zero @@ -16,74 +16,32 @@ zero zero - 사용자의 정보중 이미지이름, 이미지마크, 서명등을 화면에 출력해주는 애드온입니다. - 이런 정보들을 사용하지 않을 경우를 대비하여 별도의 애드온으로 빼어서 실행시간을 줄여줍니다. + 회원이 등록한 이미지이름, 이미지마크, 서명등을 화면에 출력하는 애드온입니다. 이미지이름, 이미지마크, 서명등을 노출하고 싶다면 이 애드온을 활성화 시키세요. - 1. 출력되기 직전 &lt;div class="member_회원번호"&gt;....&lt;/div&gt; 로 정의가 된 부분을 찾아 회원번호를 구해서 이미지이름, 이미지마크가 있는지를 확인하여 있으면 내용을 변경해버립니다. - 2. 출력되기 직전 &lt;div class="document_번호"&gt;...&lt;/div&gt;로 정의된 곳을 찾아 글의 내용이라 판단, 하단에 서명을 추가합니다. - 3. 새로운 쪽지가 왔을 경우 팝업으로 띄움 - 4. MemberModel::getMemberMenu 호출시 대상이 회원일 경우 쪽지 보내기 기능 추가합니다. - 5. MemberModel::getMemberMenu 호출시 친구 등록 메뉴를 추가합니다. - 会員情報のイメージ名、イメージマーク、署名などを画面に表示するアドオンです。 - このような情報を使用しない場合、アドオンを「使用」に設定すれば、実行時間を少なくします。 - イメージ名、イメージマーク、署名などを表示させたい時は、このアドオンを「使用」に設定して下さい。 - 1. 出力の直前 <div class="member_会員番号">....</div> に定義された部分を探し、会員番号をチェックしてイメージ名、イメージマークがあるかを確認します。あった場合は内容を変更します。 - 2. 出力の直前 <div class="document_番号">...</div>に定義された部分を探し、書込みの内容だと判断して、下段に署名を追加します。 - 3. 新しいメッセージが来た場合ポップアップで表示します。 - 4. MemberModel::getMemberMenu を呼出す時、相手が会員の場合はメッセージ送信の機能を追加します。 - 5. MemberModel::getMemberMenu を呼出す時、友達登録メニュを追加します。 + 회원이 등록한 이미지이름, 이미지마크, 서명등을 화면에 출력하는 애드온입니다. + 이미지이름, 이미지마크, 서명등을 노출하고 싶다면 이 애드온을 활성화 시키세요. - 此插件将把用户信息中的昵称图片,用户图标,签名等信息显示到页面当中。 - 因部分用户不使用此项功能或为了考虑页面载入速度,以插件形式提供此项功能。 - 要想使用会员扩展信息请激活此插件。 - 1. 显示之前先查找定义为 &lt;div class="member_会员编号"&gt;....&lt;/div&gt; 的部分获得会员编号后,再以会员编号确认有没有昵称图片/用户图标,有的话即可更新相关内容。 - 2. 显示之前先查找定义为 &lt;div class="document_编号"&gt;...&lt;/div&gt;的部分判断此处为主题内容后,在此处下方添加个人签名。 - 3. 收到新消息时,用弹出窗口显示。 - 4. 呼出MemberModel::getMemberMenu时,如对方是会员,就添加[发送短消息]功能。 - 5. 呼出MemberModel::getMemberMenu时,添加[加为好友]菜单。 + 회원이 등록한 이미지이름, 이미지마크, 서명등을 화면에 출력하는 애드온입니다. + 이미지이름, 이미지마크, 서명등을 노출하고 싶다면 이 애드온을 활성화 시키세요. - Among other information about users, this addon displays image name, image mark, and signature. - This addon is normally turned off to reduce loading time. - To display image name, image mark, and the signature, please turn on this addon. - 1. Right before displaying, this addon will seek for the unique key of the member from &lt;div class="member_{unique key of member}"&gt;....&lt;/div&gt; and will replace the content with the image name and/or image mark if they exist. - 2. Right before displaying, this addon will search for &lt;div class="document_{unique key of document}"&gt;...&lt;/div&gt; and will display the signature in the bottom of the article. - 3. When a new msessage is arrived, this will display the message in the popup window. - 4. This makes available to send a message if the target is a member when MemberModel::getMemberMenu is called. - 5. This adds a menu for registering as a friend when MemberModel::getMemberMenu is called. + 회원이 등록한 이미지이름, 이미지마크, 서명등을 화면에 출력하는 애드온입니다. + 이미지이름, 이미지마크, 서명등을 노출하고 싶다면 이 애드온을 활성화 시키세요. - Unter anderem Informationen über Benutzer, dieses Addon zeigt Bild Name, Bild-Marke, und Unterschrift. -Dieses Addon ist normalerweise ausgeschaltet zu verringern Ladezeit. -So zeigen Sie Image-Namen-, Bild-Marke, und die Unterschrift, wenden Sie sich bitte in diesem Addon. - 1. Recht vor Anzeigen, dieses Addon wird sich für den eindeutigen Schlüssel des Mitglieds aus < div class = "member_ (eindeutigen Schlüssel zu den Mitgliedern)" > ....< / div > und ersetzen wird der Inhalt mit den Image-Namen und / oder Bild-Marke, wenn sie vorhanden sind. - 2. Recht vor Anzeigen, dieses Addon wird nach < div class = "document_ (eindeutigen Schlüssel des Dokuments)" ... > < / div > und die Anzeige der Signatur in der unteren der Artikel. - 3. Wenn eine neue msessage ist angekommen, dieser wird die Nachricht in einem Popup-Fenster. - 4. Dies stellt eine Nachricht zu senden, wenn das Ziel ist Mitglied bei MemberModel:: getMemberMenu aufgerufen. - 5. Dadurch wird ein Menü für die Eintragung als Freund, wenn MemberModel:: getMemberMenu aufgerufen. + 회원이 등록한 이미지이름, 이미지마크, 서명등을 화면에 출력하는 애드온입니다. + 이미지이름, 이미지마크, 서명등을 노출하고 싶다면 이 애드온을 활성화 시키세요. - Addon que permite mostrar en la pantalla las informaciones del usuario, la imagen del nombre, Imagen de marca y la firma . - En caso de no usar estas informaciones, esta forma de usar separadamente en addon permite reducir el tiempo de ejecución. - Deberá activar este addon si desea mostrar informaciones adicionales. - 1. Justo antes de mostrar la información del usuario, este addon buscará la definición "<div class="member_Número del usuario">....</div>", si la encuentra, reemplazará la imagen del nombre y/o la imagen de marca. - 2. Justo antes de mostrar, este addon va a localizar la definición "<div class="document_Número de documento">...</div> e insertará la firma en la parte final del documento. - 3. Si ha llegado un nuevo mensaje, aprarecerá una ventana popup. - 4. Se activa la función "Enviar Mensajes" si la persona que envió la nota es usuario al comprobar en MemberModel::getMemberMenu. - 5. Agrega el menú "Ägregar Amigo" al llamar MemberModel::getMemberMenu. + 회원이 등록한 이미지이름, 이미지마크, 서명등을 화면에 출력하는 애드온입니다. + 이미지이름, 이미지마크, 서명등을 노출하고 싶다면 이 애드온을 활성화 시키세요. - Среди другой информации о пользователях, этот аддон показывает имя изображения, марку изображения и подпись. - В случае, если Вы не используете эту информацию, это стоит в стороне от базовой информации, так что время выполнения будет снижено. - Чтобы отображать имя изображения, марку изображения и подпись, пожалуйста, включите этот аддон. - 1. Прямо перед отображением информации пользователя, это создаст уникальный ключ члена из определения "&lt;div class="член_{уникальный ключ члена}"&gt;....&lt;/div&gt;" и заменит имя изображения и/или марку изображения, если они существуют. - 2. Прямо перед отображением, это должно найти определение "&lt;div class="документ_{уникальный ключ документа}"&gt;...&lt;/div&gt;" и вставить подпись внизу. - 3. Когда будет получено новое сообщение, оно всплывет. - 4. Это позволяет отправить сообщение, если назначение является членом, когда MemberModel::getMemberMenu вызывается. - 5. Это добавляет меню для регистрации как друга, когда MemberModel::getMemberMenu вызывается. + 회원이 등록한 이미지이름, 이미지마크, 서명등을 화면에 출력하는 애드온입니다. + 이미지이름, 이미지마크, 서명등을 노출하고 싶다면 이 애드온을 활성화 시키세요. diff --git a/addons/member_extra_info/lang/en.lang.php b/addons/member_extra_info/lang/en.lang.php deleted file mode 100644 index cc9cce249..000000000 --- a/addons/member_extra_info/lang/en.lang.php +++ /dev/null @@ -1,3 +0,0 @@ -alert_new_message_arrived = 'You have a new message. Do you want to check now?'; -?> diff --git a/addons/member_extra_info/lang/es.lang.php b/addons/member_extra_info/lang/es.lang.php deleted file mode 100644 index 51933d3f8..000000000 --- a/addons/member_extra_info/lang/es.lang.php +++ /dev/null @@ -1,3 +0,0 @@ -alert_new_message_arrived = 'Usted tiene un nuevo mensaje. Quiere comprobar ahora?'; -?> diff --git a/addons/member_extra_info/lang/ge.lang.php b/addons/member_extra_info/lang/ge.lang.php deleted file mode 100644 index d9b9dcb81..000000000 --- a/addons/member_extra_info/lang/ge.lang.php +++ /dev/null @@ -1,3 +0,0 @@ -alert_new_message_arrived = 'Sie haben eine neue Nachricht. Wollen Sie jetzt prüfen, ob?'; -?> diff --git a/addons/member_extra_info/lang/jp.lang.php b/addons/member_extra_info/lang/jp.lang.php deleted file mode 100644 index 3a5dfc9c6..000000000 --- a/addons/member_extra_info/lang/jp.lang.php +++ /dev/null @@ -1,3 +0,0 @@ -alert_new_message_arrived = '新しいメッセージが届きました。確認しますか。'; -?> diff --git a/addons/member_extra_info/lang/ko.lang.php b/addons/member_extra_info/lang/ko.lang.php deleted file mode 100644 index 5dc594d0d..000000000 --- a/addons/member_extra_info/lang/ko.lang.php +++ /dev/null @@ -1,3 +0,0 @@ -alert_new_message_arrived = '새로운 메세지가 도착하였습니다. 확인하시겠습니까?'; -?> diff --git a/addons/member_extra_info/lang/ru.lang.php b/addons/member_extra_info/lang/ru.lang.php deleted file mode 100644 index e181b5e69..000000000 --- a/addons/member_extra_info/lang/ru.lang.php +++ /dev/null @@ -1,9 +0,0 @@ - | translation by Maslennikov Evgeny aka X-[Vr]bL1s5 | e-mail: x-bliss[a]tut.by; ICQ: 225035467; - * @brief Russian basic language pack for Zeroboard XE - **/ - - $lang->alert_new_message_arrived = 'У Вас есть новые сообщения. Хотите проверить сейчас?'; -?> diff --git a/addons/member_extra_info/lang/zh-CN.lang.php b/addons/member_extra_info/lang/zh-CN.lang.php deleted file mode 100644 index 497b4ef68..000000000 --- a/addons/member_extra_info/lang/zh-CN.lang.php +++ /dev/null @@ -1,3 +0,0 @@ -alert_new_message_arrived = '您有新消息。要确认吗?'; -?> diff --git a/addons/member_extra_info/member_extra_info.addon.php b/addons/member_extra_info/member_extra_info.addon.php index 42dc88cc6..59c4fd797 100644 --- a/addons/member_extra_info/member_extra_info.addon.php +++ b/addons/member_extra_info/member_extra_info.addon.php @@ -4,22 +4,14 @@ /** * @file image_name.addon.php * @author zero (zero@nzeo.com) - * @brief 사용자의 이미지이름/ 이미지마크나 커뮤니케이션 기능을 추가시킴 - * - * 1. 출력되기 직전
....
로 정의가 된 부분을 찾아 회원번호를 구해서 - * 이미지이름, 이미지마크가 있는지를 확인하여 있으면 내용을 변경해버립니다. - * - * 3. 새로운 쪽지가 왔을 경우 팝업으로 띄움 - * - * 4. MemberModel::getMemberMenu 호출시 대상이 회원일 경우 쪽지 보내기 기능 추가합니다. - * - * 5. MemberModel::getMemberMenu 호출시 친구 등록 메뉴를 추가합니다. + * @brief 사용자의 이미지이름/ 이미지마크등을 출력 * + *
....
로 정의가 된 부분을 찾아 회원번호를 구해서 + * 이미지이름, 이미지마크가 있는지를 확인하여 있으면 내용을 변경해버립니다. **/ /** - * 1,2 기능 수행 : 출력되기 바로 직전일 경우에 이미지이름/이미지마크등을 변경 - * 조건 : called_position == 'before_display_content' + * 출력되기 바로 직전일 경우에 이미지이름/이미지마크등을 변경 **/ if($called_position == "before_display_content") { @@ -29,88 +21,5 @@ // 1. 출력문서중에서
content
를 찾아 MemberController::transImageName() 를 이용하여 이미지이름/마크로 변경 $output = preg_replace_callback('!<(div|span)([^\>]*)member_([0-9]+)([^\>]*)>(.*?)\<\/(div|span)\>!is', 'memberTransImageName', $output); - - /** - * 3 기능 수행 : 시작할때 새쪽지가 왔는지 검사 - * 조건 : called_position = 'before_module_init', module != 'member' - **/ - } elseif($called_position == 'before_module_init' && $this->module != 'member' && Context::get('is_logged') ) { - - // 로그인된 사용자 정보를 구함 - $logged_info = Context::get('logged_info'); - - // 회원 로그인 정보중에서 쪽지등의 메뉴를 추가 - $logged_info->menu_list['dispMemberFriend'] = 'cmd_view_friend'; - $logged_info->menu_list['dispMemberMessages'] = 'cmd_view_message_box'; - Context::set('logged_info', $logged_info); - $_SESSION['logged_info'] = $logged_info; - - $flag_path = './files/member_extra_info/new_message_flags/'.getNumberingPath($logged_info->member_srl); - $flag_file = sprintf('%s%s', $flag_path, $logged_info->member_srl); - - // 새로운 쪽지에 대한 플래그가 있으면 쪽지 보기 팝업 띄움 - if(file_exists($flag_file)) { - @unlink($flag_file); - Context::loadLang('./addons/member_extra_info/lang'); - $script = sprintf('', Context::getLang('alert_new_message_arrived'), Context::getRequestUri().'?module=member&act=dispMemberNewMessage'); - Context::addHtmlHeader( $script ); - } - - /** - * 4,5 기능 수행 : 사용자 이름을 클릭시 요청되는 MemberModel::getMemberMenu 후에 $menu_list에 쪽지 발송, 친구추가등의 링크 추가 - * 조건 : called_position == 'after_module_proc', module = 'member', act = 'getMemberMenu' - **/ - } elseif($called_position == 'after_module_proc' && $this->module == 'member' && $this->act == 'getMemberMenu') { - // 비로그인 사용자라면 패스 - if(!Context::get('is_logged')) return; - - // 로그인된 사용자 정보를 구함 - $logged_info = Context::get('logged_info'); - $member_srl = Context::get('target_srl'); - - // 템플릿에서 사용되기 전의 menu_list를 가져옴 - $menu_list = $this->get('menu_list'); - - // 자신이라면 쪽지함 보기 기능 추가 - if($logged_info->member_srl == $member_srl) { - - // 4. 자신의 쪽지함 보기 기능 추가 - $menu_str = Context::getLang('cmd_view_message_box'); - $menu_link = "current_url.setQuery('act','dispMemberMessages').setQuery('message_type','')"; - $menu_list .= sprintf("\n%s,%s,move_url(%s,'Y')", Context::getRequestUri().'/modules/member/tpl/images/icon_message_box.gif', $menu_str, $menu_link); - - // 5. 친구 목록 보기 - $menu_str = Context::getLang('cmd_view_friend'); - $menu_link = "current_url.setQuery('act','dispMemberFriend')"; - $menu_list .= sprintf("\n%s,%s,move_url(%s,'Y')", Context::getRequestUri().'/modules/member/tpl/images/icon_friend_box.gif',$menu_str, $menu_link); - - - // 아니라면 쪽지 발송, 친구 등록 추가 - } else { - - // 대상 회원의 정보를 가져옴 - $target_member_info = $this->getMemberInfoByMemberSrl($member_srl); - if(!$target_member_info->member_srl) return; - - // 로그인된 사용자 정보를 구함 - $logged_info = Context::get('logged_info'); - - // 4. 쪽지 발송 메뉴를 만듬 - if( $logged_info->is_admin == 'Y' || $target_member_info->allow_message =='Y' || ($target_member_info->allow_message == 'F' && $this->isFriend($member_srl))) { - $menu_str = Context::getLang('cmd_send_message'); - $menu_link = sprintf('%s?module=member&act=dispMemberSendMessage&receiver_srl=%s',Context::getRequestUri(),$member_srl); - $menu_list .= sprintf("\n%s,%s,popopen('%s','sendMessage')", Context::getRequestUri().'/modules/member/tpl/images/icon_write_message.gif', $menu_str, $menu_link); - } - - // 5. 친구 등록 메뉴를 만듬 (이미 등록된 친구가 아닐 경우) - if(!$this->isAddedFriend($member_srl)) { - $menu_str = Context::getLang('cmd_add_friend'); - $menu_link = sprintf('%s?module=member&act=dispMemberAddFriend&target_srl=%s',Context::getRequestUri(),$member_srl); - $menu_list .= sprintf("\n%s,%s,popopen('%s','addFriend')", Context::getRequestUri().'/modules/member/tpl/images/icon_add_friend.gif', $menu_str, $menu_link); - } - } - - // 템플릿에 적용되게 하기 위해 module의 variables에 재등록 - $this->add('menu_list', $menu_list); } ?> diff --git a/modules/comment/comment.item.php b/modules/comment/comment.item.php index 01e6260f4..afd245246 100644 --- a/modules/comment/comment.item.php +++ b/modules/comment/comment.item.php @@ -121,8 +121,8 @@ $sender_member_srl = $logged_info->member_srl; // 쪽지 발송 - $oMemberController = &getController('member'); - $oMemberController->sendMessage($sender_member_srl, $receiver_srl, $title, $content, false); + $oCommunicationController = &getController('communication'); + $oCommunicationController->sendMessage($sender_member_srl, $receiver_srl, $title, $content, false); } function isExistsHomepage() { diff --git a/modules/communication/communication.admin.controller.php b/modules/communication/communication.admin.controller.php new file mode 100644 index 000000000..4ef9c0c43 --- /dev/null +++ b/modules/communication/communication.admin.controller.php @@ -0,0 +1,35 @@ +skin) $args->skin = "default"; + if(!$args->colorset) $args->colorset = "white"; + if(!$args->editor_skin) $args->editor_skin = "default"; + + // module Controller 객체 생성하여 입력 + $oModuleController = &getController('module'); + $output = $oModuleController->insertModuleConfig('communication',$args); + + return $output; + } + + } +?> diff --git a/modules/communication/communication.admin.model.php b/modules/communication/communication.admin.model.php new file mode 100644 index 000000000..d0bd06ffe --- /dev/null +++ b/modules/communication/communication.admin.model.php @@ -0,0 +1,40 @@ +loadSkinInfo($this->module_path, $skin); + Context::set('skin_info', $skin_info); + + $oModuleModel = &getModel('module'); + $communication_config = $oModuleModel->getModuleConfig('communication'); + if(!$communication_config->colorset) $communication_config->colorset = "white"; + Context::set('communication_config', $communication_config); + + $oTemplate = &TemplateHandler::getInstance(); + $tpl = $oTemplate->compile($this->module_path.'tpl', 'colorset_list'); + } + + $this->add('tpl', $tpl); + } + + } +?> diff --git a/modules/communication/communication.admin.view.php b/modules/communication/communication.admin.view.php new file mode 100644 index 000000000..315a6efd7 --- /dev/null +++ b/modules/communication/communication.admin.view.php @@ -0,0 +1,40 @@ +getConfig() ); + + // 에디터 스킨 목록을 구함 + Context::set('editor_skin_list', $oEditorModel->getEditorSkinList() ); + + // 커뮤니케이션 스킨 목록을 구함 + Context::set('communication_skin_list', $oModuleModel->getSkins($this->module_path) ); + + // template 지정 + $this->setTemplatePath($this->module_path.'tpl'); + $this->setTemplateFile('index'); + } + + } +?> diff --git a/modules/communication/communication.class.php b/modules/communication/communication.class.php new file mode 100644 index 000000000..73d8d6a99 --- /dev/null +++ b/modules/communication/communication.class.php @@ -0,0 +1,71 @@ +insertActionForward('communication', 'view', 'dispCommunicationAdminConfig'); + + $oModuleController->insertActionForward('communication', 'view', 'dispCommunicationMessages'); + $oModuleController->insertActionForward('communication', 'view', 'dispCommunicationFriend'); + + return new Object(); + } + + /** + * @brief 설치가 이상이 없는지 체크하는 method + **/ + function checkUpdate() { + if(!is_dir("./files/member_extra_info/new_message_flags")) return true; + + $oModuleModel = &getModel('module'); + + if(!$oModuleModel->getActionForward('dispCommunicationAdminConfig')) return true; + + if(!$oModuleModel->getActionForward('dispCommunicationMessages')) return true; + if(!$oModuleModel->getActionForward('dispCommunicationFriend')) return true; + + return false; + } + + /** + * @brief 업데이트 실행 + **/ + function moduleUpdate() { + if(!is_dir("./files/member_extra_info/new_message_flags")) + FileHandler::makeDir('./files/member_extra_info/new_message_flags'); + + $oModuleModel = &getModel('module'); + $oModuleController = &getController('module'); + + if(!$oModuleModel->getActionForward('dispCommunicationAdminConfig')) + $oModuleController->insertActionForward('communication', 'view', 'dispCommunicationAdminConfig'); + + if(!$oModuleModel->getActionForward('dispCommunicationMessages')) + $oModuleController->insertActionForward('communication', 'view', 'dispCommunicationMessages'); + + if(!$oModuleModel->getActionForward('dispCommunicationFriend')) + $oModuleController->insertActionForward('communication', 'view', 'dispCommunicationFriend'); + + return new Object(0, 'success_updated'); + } + + /** + * @brief 캐시 파일 재생성 + **/ + function recompileCache() { + } + } +?> diff --git a/modules/communication/communication.controller.php b/modules/communication/communication.controller.php new file mode 100644 index 000000000..a2f4ce821 --- /dev/null +++ b/modules/communication/communication.controller.php @@ -0,0 +1,413 @@ +allow_message = Context::get('allow_message'); + if(!in_array($args->allow_message, array('Y','N','F'))) $args->allow_message = 'Y'; + + $logged_info = Context::get('logged_info'); + $args->member_srl = $logged_info->member_srl; + + $output = executeQuery('communication.updateAllowMessage', $args); + + return $output; + } + + /** + * @brief 쪽지 발송 + **/ + function procCommunicationSendMessage() { + // 로그인 정보 체크 + if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + $logged_info = Context::get('logged_info'); + + // 변수 검사 + $receiver_srl = Context::get('receiver_srl'); + if(!$receiver_srl) return new Object(-1, 'msg_not_exists_member'); + + $title = trim(Context::get('title')); + if(!$title) return new Object(-1, 'msg_title_is_null'); + + $content = trim(Context::get('content')); + if(!$content) return new Object(-1, 'msg_content_is_null'); + + $send_mail = Context::get('send_mail'); + if($send_mail != 'Y') $send_mail = 'N'; + + // 받을 회원이 있는지에 대한 검사 + $oMemberModel = &getModel('member'); + $receiver_member_info = $oMemberModel->getMemberInfoByMemberSrl($receiver_srl); + if($receiver_member_info->member_srl != $receiver_srl) return new Object(-1, 'msg_not_exists_member'); + + // 받을 회원의 쪽지 수신여부 검사 (최고관리자이면 패스) + if($logged_info->is_admin != 'Y') { + if($receiver_member_info->allow_message == 'F') { + if(!$oCommunicationModel->isFriend($receiver_member_info->member_srl)) return new object(-1, 'msg_allow_message_to_friend'); + } elseif($receiver_member_info->allow_messge == 'N') { + return new object(-1, 'msg_disallow_message'); + } + } + + // 쪽지 발송 + $output = $this->sendMessage($logged_info->member_srl, $receiver_srl, $title, $content); + + // 메일로도 발송 + if($output->toBool() && $send_mail == 'Y') { + $view_url = Context::getRequestUri(); + $content = sprintf("%s

From : %s",$content, $view_url, $view_url); + $oMail = new Mail(); + $oMail->setTitle($title); + $oMail->setContent($content); + $oMail->setSender($logged_info->user_name, $logged_info->email_address); + $oMail->setReceiptor($receiver_member_info->user_name, $receiver_member_info->email_address); + $oMail->send(); + } + + return $output; + } + + function sendMessage($sender_srl, $receiver_srl, $title, $content, $sender_log = true) { + $content = removeHackTag($content); + + // 보내는 사용자의 쪽지함에 넣을 쪽지 + $sender_args->sender_srl = $sender_srl; + $sender_args->receiver_srl = $receiver_srl; + $sender_args->message_type = 'S'; + $sender_args->title = $title; + $sender_args->content = $content; + $sender_args->readed = 'N'; + $sender_args->regdate = date("YmdHis"); + $sender_args->related_srl = getNextSequence(); + $sender_args->message_srl = getNextSequence(); + $sender_args->list_order = getNextSequence()*-1; + + // 받는 회원의 쪽지함에 넣을 쪽지 + $receiver_args->message_srl = $sender_args->related_srl; + $receiver_args->related_srl = 0; + $receiver_args->list_order = $sender_args->related_srl*-1; + $receiver_args->sender_srl = $sender_srl; + if(!$receiver_args->sender_srl) $receiver_args->sender_srl = $receiver_srl; + $receiver_args->receiver_srl = $receiver_srl; + $receiver_args->message_type = 'R'; + $receiver_args->title = $title; + $receiver_args->content = $content; + $receiver_args->readed = 'N'; + $receiver_args->regdate = date("YmdHis"); + + $oDB = &DB::getInstance(); + $oDB->begin(); + + // 발송하는 회원의 쪽지함에 넣을 쪽지 + if($sender_srl && $sender_log) { + $output = executeQuery('communication.sendMessage', $sender_args); + if(!$output->toBool()) { + $oDB->rollback(); + return $output; + } + } + + // 받을 회원의 쪽지함에 넣을 쪽지 + $output = executeQuery('communication.sendMessage', $receiver_args); + if(!$output->toBool()) { + $oDB->rollback(); + return $output; + } + + // 받는 회원의 쪽지 발송 플래그 생성 (파일로 생성) + $flag_path = './files/member_extra_info/new_message_flags/'.getNumberingPath($receiver_srl); + FileHandler::makeDir($flag_path); + $flag_file = sprintf('%s%s', $flag_path, $receiver_srl); + FileHandler::writeFile($flag_file,'1'); + + $oDB->commit(); + + return new Object(0,'success_sended'); + } + + /** + * @brief 특정 쪽지를 보관함으로 보냄 + **/ + function procCommunicationStoreMessage() { + // 로그인 정보 체크 + if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + $logged_info = Context::get('logged_info'); + + // 변수 체크 + $message_srl = Context::get('message_srl'); + if(!$message_srl) return new Object(-1,'msg_invalid_request'); + + // 쪽지를 가져옴 + $oCommunicationModel = &getModel('communication'); + $message = $oCommunicationModel->getSelectedMessage($message_srl); + if(!$message || $message->message_type != 'R') return new Object(-1,'msg_invalid_request'); + + $args->message_srl = $message_srl; + $args->receiver_srl = $logged_info->member_srl; + $output = executeQuery('communication.setMessageStored', $args); + if(!$output->toBool()) return $output; + + $this->setMessage('success_registed'); + } + + /** + * @brief 쪽지 삭제 + **/ + function procCommunicationDeleteMessage() { + // 로그인 정보 체크 + if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + $logged_info = Context::get('logged_info'); + $member_srl = $logged_info->member_srl; + + // 변수 체크 + $message_srl = Context::get('message_srl'); + if(!$message_srl) return new Object(-1,'msg_invalid_request'); + + // 쪽지를 가져옴 + $oCommunicationModel = &getModel('communication'); + $message = $oCommunicationModel->getSelectedMessage($message_srl); + if(!$message) return new Object(-1,'msg_invalid_request'); + + // 발송인+type=S or 수신인+type=R 검사 + if($message->sender_srl == $member_srl && $message->message_type == 'S') { + if(!$message_srl) return new Object(-1, 'msg_invalid_request'); + } elseif($message->receiver_srl == $member_srl && $message->message_type == 'R') { + if(!$message_srl) return new Object(-1, 'msg_invalid_request'); + } + + // 삭제 + $args->message_srl = $message_srl; + $output = executeQuery('communication.deleteMessage', $args); + if(!$output->toBool()) return $output; + + $this->setMessage('success_deleted'); + } + + /** + * @brief 선택된 다수의 쪽지 삭제 + **/ + function procCommunicationDeleteMessages() { + // 로그인 정보 체크 + if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + $logged_info = Context::get('logged_info'); + $member_srl = $logged_info->member_srl; + + // 변수 체크 + $message_srl_list = trim(Context::get('message_srl_list')); + if(!$message_srl_list) return new Object(-1, 'msg_cart_is_null'); + + $message_srl_list = explode('|@|', $message_srl_list); + if(!count($message_srl_list)) return new Object(-1, 'msg_cart_is_null'); + + $message_type = Context::get('message_type'); + if(!$message_type || !in_array($message_type, array('R','S','T'))) return new Object(-1, 'msg_invalid_request'); + + $message_count = count($message_srl_list); + $target = array(); + for($i=0;$i<$message_count;$i++) { + $message_srl = (int)trim($message_srl_list[$i]); + if(!$message_srl) continue; + $target[] = $message_srl; + } + if(!count($target)) return new Object(-1,'msg_cart_is_null'); + + // 삭제 + $args->message_srls = implode(',',$target); + $args->message_type = $message_type; + + if($message_type == 'S') $args->sender_srl = $member_srl; + else $args->receiver_srl = $member_srl; + + $output = executeQuery('communication.deleteMessages', $args); + if(!$output->toBool()) return $output; + + $this->setMessage('success_deleted'); + } + + /** + * @brief 친구 추가 + **/ + function procCommunicationAddFriend() { + // 로그인 정보 체크 + if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + $logged_info = Context::get('logged_info'); + + $target_srl = (int)trim(Context::get('target_srl')); + if(!$target_srl) return new Object(-1,'msg_invalid_request'); + + // 변수 정리 + $args->friend_srl = getNextSequence(); + $args->list_order = $args->friend_srl * -1; + $args->friend_group_srl = Context::get('friend_group_srl'); + $args->member_srl = $logged_info->member_srl; + $args->target_srl = $target_srl; + $output = executeQuery('communication.addFriend', $args); + if(!$output->toBool()) return $output; + + $this->add('member_srl', $target_srl); + $this->setMessage('success_registed'); + } + + /** + * @brief 등록된 친구의 그룹 이동 + **/ + function procCommunicationMoveFriend() { + // 로그인 정보 체크 + if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + $logged_info = Context::get('logged_info'); + + // 변수 체크 + $friend_srl_list = trim(Context::get('friend_srl_list')); + if(!$friend_srl_list) return new Object(-1, 'msg_cart_is_null'); + + $friend_srl_list = explode('|@|', $friend_srl_list); + if(!count($friend_srl_list)) return new Object(-1, 'msg_cart_is_null'); + + $friend_count = count($friend_srl_list); + $target = array(); + for($i=0;$i<$friend_count;$i++) { + $friend_srl = (int)trim($friend_srl_list[$i]); + if(!$friend_srl) continue; + $target[] = $friend_srl; + } + if(!count($target)) return new Object(-1,'msg_cart_is_null'); + + // 변수 정리 + $args->friend_srls = implode(',',$target); + $args->member_srl = $logged_info->member_srl; + $args->friend_group_srl = Context::get('target_friend_group_srl'); + + $output = executeQuery('communication.moveFriend', $args); + if(!$output->toBool()) return $output; + + $this->setMessage('success_moved'); + } + + /** + * @brief 친구 삭제 + **/ + function procCommunicationDeleteFriend() { + // 로그인 정보 체크 + if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + $logged_info = Context::get('logged_info'); + $member_srl = $logged_info->member_srl; + + // 변수 체크 + $friend_srl_list = trim(Context::get('friend_srl_list')); + if(!$friend_srl_list) return new Object(-1, 'msg_cart_is_null'); + + $friend_srl_list = explode('|@|', $friend_srl_list); + if(!count($friend_srl_list)) return new Object(-1, 'msg_cart_is_null'); + + $friend_count = count($friend_srl_list); + $target = array(); + for($i=0;$i<$friend_count;$i++) { + $friend_srl = (int)trim($friend_srl_list[$i]); + if(!$friend_srl) continue; + $target[] = $friend_srl; + } + if(!count($target)) return new Object(-1,'msg_cart_is_null'); + + // 삭제 + $args->friend_srls = implode(',',$target); + $args->member_srl = $logged_info->member_srl; + $output = executeQuery('communication.deleteFriend', $args); + if(!$output->toBool()) return $output; + + $this->setMessage('success_deleted'); + } + + /** + * @brief 친구 그룹 추가 + **/ + function procCommunicationAddFriendGroup() { + // 로그인 정보 체크 + if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + $logged_info = Context::get('logged_info'); + + // 변수 정리 + $args->friend_group_srl = trim(Context::get('friend_group_srl')); + $args->member_srl = $logged_info->member_srl; + $args->title = Context::get('title'); + if(!$args->title) return new Object(-1, 'msg_invalid_request'); + + // friend_group_srl이 있으면 수정 + if($args->friend_group_srl) { + $output = executeQuery('communication.renameFriendGroup', $args); + $msg_code = 'success_updated'; + + // 아니면 입력 + } else { + $output = executeQuery('communication.addFriendGroup', $args); + $msg_code = 'success_registed'; + } + + if(!$output->toBool()) return $output; + + $this->setMessage($msg_code); + } + + /** + * @brief 친구 그룹 이름 변경 + **/ + function procCommunicationRenameFriendGroup() { + // 로그인 정보 체크 + if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + $logged_info = Context::get('logged_info'); + + // 변수 정리 + $args->friend_group_srl= Context::get('friend_group_srl'); + $args->member_srl = $logged_info->member_srl; + $args->title = Context::get('title'); + if(!$args->title) return new Object(-1, 'msg_invalid_request'); + + $output = executeQuery('communication.renameFriendGroup', $args); + if(!$output->toBool()) return $output; + + $this->setMessage('success_updated'); + } + + /** + * @brief 친구 그룹 삭제 + **/ + function procCommunicationDeleteFriendGroup() { + // 로그인 정보 체크 + if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); + $logged_info = Context::get('logged_info'); + + // 변수 정리 + $args->friend_group_srl = Context::get('friend_group_srl'); + $args->member_srl = $logged_info->member_srl; + $output = executeQuery('communication.deleteFriendGroup', $args); + if(!$output->toBool()) return $output; + + $this->setMessage('success_deleted'); + } + + /** + * @brief 특정 쪽지의 상태를 읽은 상태로 변경 + **/ + function setMessageReaded($message_srl) { + $args->message_srl = $message_srl; + $args->related_srl = $message_srl; + return executeQuery('communication.setMessageReaded', $args); + } + + } +?> diff --git a/modules/communication/communication.model.php b/modules/communication/communication.model.php new file mode 100644 index 000000000..f79e6b113 --- /dev/null +++ b/modules/communication/communication.model.php @@ -0,0 +1,189 @@ +getModuleConfig('communication'); + + if(!$communication_config->skin) $communication_config->skin = 'default'; + if(!$communication_config->colorset) $communication_config->colorset = 'white'; + if(!$communication_config->editor_skin) $communication_config->editor_skin = 'default'; + + return $communication_config; + } + + /** + * @brief 쪽지 내용을 가져옴 + **/ + function getSelectedMessage($message_srl) { + $logged_info = Context::get('logged_info'); + + $args->message_srl = $message_srl; + $output = executeQuery('communication.getMessage',$args); + $message = $output->data; + if(!$message) return ; + + // 보낸 쪽지일 경우 받는 사람 정보를 구함 + $oMemberModel = &getModel('member'); + if($message->sender_srl == $logged_info->member_srl && $message->message_type == 'S') $member_info = $oMemberModel->getMemberInfoByMemberSrl($message->receiver_srl); + + // 보관/받은 쪽지일 경우 보낸 사람 정보를 구함 + else $member_info = $oMemberModel->getMemberInfoByMemberSrl($message->sender_srl); + + if($member_info) { + foreach($member_info as $key => $val) { + if($key != 'regdate') $message->{$key} = $val; + } + } + + // 받은 쪽지이고 아직 읽지 않았을 경우 읽은 상태로 변경 + if($message->message_type == 'R' && $message->readed != 'Y') { + $oCommunicationController = &getController('communication'); + $oCommunicationController->setMessageReaded($message_srl); + } + + + return $message; + } + + /** + * @brief 새 쪽지를 가져옴 + **/ + function getNewMessage() { + $logged_info = Context::get('logged_info'); + $args->receiver_srl = $logged_info->member_srl; + $args->readed = 'N'; + + $output = executeQuery('communication.getNewMessage', $args); + if(!count($output->data)) return; + $message = array_pop($output->data); + + $oCommunicationController = &getController('communication'); + $oCommunicationController->setMessageReaded($message->message_srl); + + return $message; + } + + /** + * @brief 쪽지 목록 가져오기 + * type = R : 받은 쪽지 + * type = S : 보낸 쪽지 + * type = T : 보관함 + **/ + function getMessages($message_type = "R") { + $logged_info = Context::get('logged_info'); + + switch($message_type) { + case 'R' : + $args->member_srl = $logged_info->member_srl; + $args->message_type = 'R'; + $query_id = 'communication.getReceivedMessages'; + break; + case 'T' : + $args->member_srl = $logged_info->member_srl; + $args->message_type = 'T'; + $query_id = 'communication.getStoredMessages'; + break; + default : + $args->member_srl = $logged_info->member_srl; + $args->message_type = 'S'; + $query_id = 'communication.getSendedMessages'; + break; + + } + + // 기타 변수들 정리 + $args->sort_index = 'message.list_order'; + $args->page = Context::get('page'); + $args->list_count = 20; + $args->page_count = 10; + return executeQuery($query_id, $args); + } + + /** + * @brief 친구 목록 가져오기 + **/ + function getFriends($friend_group_srl = 0) { + $logged_info = Context::get('logged_info'); + + $args->friend_group_srl = $friend_group_srl; + $args->member_srl = $logged_info->member_srl; + + // 기타 변수들 정리 + $args->page = Context::get('page'); + $args->sort_index = 'friend.list_order'; + $args->list_count = 10; + $args->page_count = 10; + $output = executeQuery('communication.getFriends', $args); + return $output; + } + + /** + * @brief 이미 친구로 등록되었는지 검사 + **/ + function isAddedFriend($member_srl) { + $logged_info = Context::get('logged_info'); + + $args->member_srl = $logged_info->member_srl; + $args->target_srl = $member_srl; + $output = executeQuery('communication.isAddedFriend', $args); + return $output->data->count; + } + + /** + * @brief 특정 친구 그룹 가져오기 + **/ + function getFriendGroupInfo($friend_group_srl) { + $logged_info = Context::get('logged_info'); + + $args->member_srl = $logged_info->member_srl; + $args->friend_group_srl = $friend_group_srl; + + $output = executeQuery('communication.getFriendGroup', $args); + return $output->data; + } + + /** + * @brief 그룹 목록 가져오기 + **/ + function getFriendGroups() { + $logged_info = Context::get('logged_info'); + $args->member_srl = $logged_info->member_srl; + + $output = executeQuery('communication.getFriendGroups', $args); + $group_list = $output->data; + if(!$group_list) return; + + if(!is_array($group_list)) $group_list = array($group_list); + return $group_list; + } + + /** + * @brief 특정 회원의 친구 목록에 포함되어 있는지를 확인 + **/ + function isFriend($target_srl) { + $logged_info = Context::get('logged_info'); + + $args->member_srl = $target_srl; + $args->target_srl = $logged_info->member_srl; + $output = executeQuery('communication.isAddedFriend', $args); + if($output->data->count) return true; + return false; + } + } +?> diff --git a/modules/communication/communication.view.php b/modules/communication/communication.view.php new file mode 100644 index 000000000..bfb8a0d9b --- /dev/null +++ b/modules/communication/communication.view.php @@ -0,0 +1,221 @@ +communication_config = $oCommunicationModel->getConfig(); + $skin = $this->communication_config->skin; + + Context::set('communication_config', $this->communication_config); + + $tpl_path = sprintf('%sskins/%s', $this->module_path, $skin); + $this->setTemplatePath($tpl_path); + } + + /** + * @brief 쪽지함 출력 + **/ + function dispCommunicationMessages() { + // 로그인이 되어 있지 않으면 오류 표시 + if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); + $logged_info = Context::get('logged_info'); + + // 변수 설정 + $message_srl = Context::get('message_srl'); + $message_type = Context::get('message_type'); + if(!in_array($message_type, array('R','S','T'))) { + $message_type = 'R'; + Context::set('message_type', $message_type); + } + + $oCommunicationModel = &getModel('communication'); + + // message_srl이 있으면 내용 추출 + if($message_srl) { + $message = $oCommunicationModel->getSelectedMessage($message_srl); + if($message->message_srl == $message_srl && ($message->receiver_srl == $logged_info->member_srl || $message->sender_srl == $logged_info->member_srl) ) Context::set('message', $message); + } + + // 목록 추출 + $output = $oCommunicationModel->getMessages($message_type); + + // 템플릿에 쓰기 위해서 context::set + Context::set('total_count', $output->total_count); + Context::set('total_page', $output->total_page); + Context::set('page', $output->page); + Context::set('message_list', $output->data); + Context::set('page_navigation', $output->page_navigation); + + $this->setTemplateFile('messages'); + } + + /** + * @brief 새 쪽지 보여줌 + **/ + function dispCommunicationNewMessage() { + $this->setLayoutFile('popup_layout'); + + // 로그인이 되어 있지 않으면 오류 표시 + if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); + $logged_info = Context::get('logged_info'); + + $oCommunicationModel = &getModel('communication'); + + // 새 쪽지를 가져옴 + $message = $oCommunicationModel->getNewMessage(); + if($message) Context::set('message', $message); + + // 플래그 삭제 + $flag_path = './files/communication_extra_info/new_message_flags/'.getNumberingPath($logged_info->member_srl); + $flag_file = sprintf('%s%s', $flag_path, $logged_info->member_srl); + @unlink($flag_file); + + $this->setTemplateFile('new_message'); + } + + /** + * @brief 쪽지 발송 출력 + **/ + function dispCommunicationSendMessage() { + $this->setLayoutFile("popup_layout"); + $oCommunicationModel = &getModel('communication'); + $oMemberModel = &getModel('member'); + + // 로그인이 되어 있지 않으면 오류 표시 + if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); + $logged_info = Context::get('logged_info'); + + // 쪽지 받을 사용자 정보 구함 + $receiver_srl = Context::get('receiver_srl'); + if(!$receiver_srl || $logged_info->member_srl == $receiver_srl) return $this->stop('msg_not_logged'); + + // 답글 쪽지일 경우 원본 메세지의 글번호를 구함 + $message_srl = Context::get('message_srl'); + if($message_srl) { + $source_message = $oCommunicationModel->getSelectedMessage($message_srl); + if($source_message->message_srl == $message_srl && $source_message->sender_srl == $receiver_srl) { + $source_message->title = "[re] ".$source_message->title; + $source_message->content = "\r\n
\r\n
".trim($source_message->content)."
"; + Context::set('source_message', $source_message); + } + } + + $receiver_info = $oMemberModel->getMemberInfoByMemberSrl($receiver_srl); + Context::set('receiver_info', $receiver_info); + + // 에디터 모듈의 getEditor를 호출하여 서명용으로 세팅 + $oEditorModel = &getModel('editor'); + $option->primary_key_name = 'receiver_srl'; + $option->content_key_name = 'content'; + $option->allow_fileupload = false; + $option->enable_autosave = false; + $option->enable_default_component = false; + $option->enable_component = false; + $option->resizable = false; + $option->disable_html = true; + $option->height = 300; + $option->skin = $this->communication_config->editor_skin; + $editor = $oEditorModel->getEditor($logged_info->member_srl, $option); + Context::set('editor', $editor); + + $this->setTemplateFile('send_message'); + } + + /** + * @brief 친구 목록 보기 + **/ + function dispCommunicationFriend() { + // 로그인이 되어 있지 않으면 오류 표시 + if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); + + $oCommunicationModel = &getModel('communication'); + + // 그룹 목록을 가져옴 + $tmp_group_list = $oCommunicationModel->getFriendGroups(); + $group_count = count($tmp_group_list); + for($i=0;$i<$group_count;$i++) $friend_group_list[$tmp_group_list[$i]->friend_group_srl] = $tmp_group_list[$i]; + Context::set('friend_group_list', $friend_group_list); + + // 친구 목록을 가져옴 + $friend_group_srl = Context::get('friend_group_srl'); + $output = $oCommunicationModel->getFriends($friend_group_srl); + $friend_count = count($output->data); + if($friend_count) { + foreach($output->data as $key => $val) { + $group_srl = $val->friend_group_srl; + $group_title = $friend_group_list[$group_srl]->title; + if(!$group_title) $group_title = Context::get('default_friend_group'); + $output->data[$key]->group_title = $group_title; + } + } + + // 템플릿에 쓰기 위해서 context::set + Context::set('total_count', $output->total_count); + Context::set('total_page', $output->total_page); + Context::set('page', $output->page); + Context::set('friend_list', $output->data); + Context::set('page_navigation', $output->page_navigation); + + $this->setTemplateFile('friends'); + } + + /** + * @brief 친구 추가 + **/ + function dispCommunicationAddFriend() { + $this->setLayoutFile("popup_layout"); + + // 로그인이 되어 있지 않으면 오류 표시 + if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); + $logged_info = Context::get('logged_info'); + + $target_srl = Context::get('target_srl'); + if(!$target_srl) return $this->stop('msg_invalid_request'); + + // 대상 회원의 정보를 구함 + $oMemberModel = &getModel('member'); + $oCommunicationModel = &getModel('communication'); + $communication_info = $oMemberModel->getMemberInfoByMemberSrl($target_srl); + if($communication_info->member_srl != $target_srl) return $this->stop('msg_invalid_request'); + Context::set('target_info', $communication_info); + + // 그룹의 목록을 구함 + $friend_group_list = $oCommunicationModel->getFriendGroups(); + Context::set('friend_group_list', $friend_group_list); + + $this->setTemplateFile('add_friend'); + } + + /** + * @brief 친구 그룹 추가 + **/ + function dispCommunicationAddFriendGroup() { + $this->setLayoutFile("popup_layout"); + + // 로그인이 되어 있지 않으면 오류 표시 + if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); + $logged_info = Context::get('logged_info'); + + // 그룹 번호가 넘어오면 수정모드로.. + $friend_group_srl = Context::get('friend_group_srl'); + if($friend_group_srl) { + $oCommunicationModel = &getModel('communication'); + $friend_group = $oCommunicationModel->getFriendGroupInfo($friend_group_srl); + if($friend_group->friend_group_srl == $friend_group_srl) Context::set('friend_group', $friend_group); + } + + $this->setTemplateFile('add_friend_group'); + } + + } +?> diff --git a/modules/communication/conf/info.xml b/modules/communication/conf/info.xml new file mode 100644 index 000000000..d2c888b3c --- /dev/null +++ b/modules/communication/conf/info.xml @@ -0,0 +1,8 @@ + + + 커뮤니케이션 + + 제로 + 회원들간의 쪽지, 친구기능을 담당하는 모듈입니다. + + diff --git a/modules/communication/conf/module.xml b/modules/communication/conf/module.xml new file mode 100644 index 000000000..8f6a0b3a1 --- /dev/null +++ b/modules/communication/conf/module.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/communication/lang/en.lang.php b/modules/communication/lang/en.lang.php new file mode 100644 index 000000000..8048c384e --- /dev/null +++ b/modules/communication/lang/en.lang.php @@ -0,0 +1,48 @@ +communication = 'Communication'; + $lang->about_communication = '회원간의 쪽지나 친구 관리등 커뮤니케이션 기능을 수행하는 모듈입니다'; + + $lang->allow_message = 'Receive Messages'; + $lang->allow_message_type = array( + 'Y' => 'Receive All', + 'N' => 'Reject All', + 'F' => 'Only Friends', + ); + + $lang->message_box = array( + 'R' => 'Received', + 'S' => 'Sent', + 'T' => 'Mailbox', + ); + $lang->readed_date = "Read Date"; + + $lang->sender = 'Sender'; + $lang->receiver = 'Receiver'; + $lang->friend_group = 'Friend Group'; + $lang->default_friend_group = 'Unassigned Group'; + + $lang->cmd_send_message = 'Send Message'; + $lang->cmd_reply_message = 'Reply Message'; + $lang->cmd_view_friend = 'Friends'; + $lang->cmd_add_friend = 'Add to Friends'; + $lang->cmd_view_message_box = 'Message Box'; + $lang->cmd_store = "Save"; + $lang->cmd_add_friend_group = 'Add Friend Group'; + $lang->cmd_rename_friend_group = 'Modify Friend Group Name'; + + $lang->msg_no_message = 'There is no message'; + $lang->message_received = 'You have a new message'; + + $lang->msg_title_is_null = 'Please input the title of message'; + $lang->msg_content_is_null = 'Please input the content'; + $lang->msg_allow_message_to_friend = "Failed to send because receiver only allows friends' messages"; + $lang->msg_disallow_message = 'Failed to send because receiver rejects message reception'; + + $lang->about_allow_message = 'You can decide message reception'; +?> diff --git a/modules/communication/lang/es.lang.php b/modules/communication/lang/es.lang.php new file mode 100644 index 000000000..e67c51aa8 --- /dev/null +++ b/modules/communication/lang/es.lang.php @@ -0,0 +1,49 @@ +communication = 'Communication'; + $lang->about_communication = '회원간의 쪽지나 친구 관리등 커뮤니케이션 기능을 수행하는 모듈입니다'; + + $lang->allow_message = 'Permitir la recepción del mensaje'; + $lang->allow_message_type = array( + 'Y' => 'Recibir todo', + 'N' => 'Rechazar', + 'F' => 'Sólo amigos', + ); + + $lang->message_box = array( + 'R' => 'Recibido', + 'S' => 'Enviado', + 'T' => 'Buzon de Email', + ); + + $lang->readed_date = "Fecha Leído"; + + $lang->sender = 'Remitente'; + $lang->receiver = 'Receptor'; + $lang->friend_group = 'Grupo de amigos'; + $lang->default_friend_group = 'Grupo desasignado'; + + $lang->cmd_send_message = 'Enviar Mensaje'; + $lang->cmd_reply_message = 'Responder el mensaje'; + $lang->cmd_view_friend = 'Amigos'; + $lang->cmd_add_friend = 'Registrar como Amigo'; + $lang->cmd_view_message_box = 'Buzón de mensajes'; + $lang->cmd_store = "Guardar"; + $lang->cmd_add_friend_group = 'agregar grupo de amigos'; + $lang->cmd_rename_friend_group = 'Cambiar el nombre del grupo de amigos'; + + $lang->msg_no_message = 'No hay mensajes'; + $lang->message_received = 'Usted ha recibido un mensaje'; + + $lang->msg_title_is_null = 'Por favor ingresar el título de la nota'; + $lang->msg_content_is_null = 'Por favor ingresar el contenido'; + $lang->msg_allow_message_to_friend = "Falló el envío por permitir sólo mensajes de sus amigos"; + $lang->msg_disallow_message = 'Falló el envío por ser usuario rechazado para recibir mensajes'; + + $lang->about_allow_message = 'Usted puede decidir la recepción del mensaje'; +?> diff --git a/modules/communication/lang/jp.lang.php b/modules/communication/lang/jp.lang.php new file mode 100644 index 000000000..0ee50758a --- /dev/null +++ b/modules/communication/lang/jp.lang.php @@ -0,0 +1,49 @@ +communication = '커뮤니케이션'; + $lang->about_communication = '회원간의 쪽지나 친구 관리등 커뮤니케이션 기능을 수행하는 모듈입니다'; + + $lang->allow_message = 'メッセージの受信'; + $lang->allow_message_type = array( + 'Y' => '全て受信', + 'N' => '全て受信しない', + 'F' => '友達からのみ受信する', + ); + + $lang->message_box = array( + 'R' => 'メッセージ受信ボックス', + 'S' => 'メッセージ送信ボックス', + 'T' => '保存ボックス', + ); + + $lang->readed_date = "開封時間"; + + $lang->sender = '送信者'; + $lang->receiver = '受信者'; + $lang->friend_group = '友達グループ'; + $lang->default_friend_group = 'グループ未指定'; + + $lang->cmd_send_message = 'メッセージ送信'; + $lang->cmd_reply_message = 'メッセージ返信'; + $lang->cmd_view_friend = '友達表示'; + $lang->cmd_add_friend = '友達登録'; + $lang->cmd_view_message_box = 'メッセージ表示'; + $lang->cmd_store = "保存"; + $lang->cmd_add_friend_group = '友達グループ追加'; + $lang->cmd_rename_friend_group = '友達グループ名変更'; + + $lang->msg_no_message = 'メッセージがありません。'; + $lang->message_received = 'メッセージが届きました。'; + + $lang->msg_title_is_null = 'メッセージのタイトルを入力してください。'; + $lang->msg_content_is_null = '内容を入力してください。'; + $lang->msg_allow_message_to_friend = '友達からのみメッセージを受信できるように設定したユーザであるため、送信できませんでした。'; + $lang->msg_disallow_message = 'メッセージの受信を拒否している受信者であるため、送信できませんでした。'; + + $lang->about_allow_message = 'メッセージを受信するかを設定します。'; +?> diff --git a/modules/communication/lang/ko.lang.php b/modules/communication/lang/ko.lang.php new file mode 100644 index 000000000..387580adc --- /dev/null +++ b/modules/communication/lang/ko.lang.php @@ -0,0 +1,48 @@ +communication = '커뮤니케이션'; + $lang->about_communication = '회원간의 쪽지나 친구 관리등 커뮤니케이션 기능을 수행하는 모듈입니다'; + + $lang->allow_message = '쪽지 수신 허용'; + $lang->allow_message_type = array( + 'Y' => '전체 수신', + 'N' => '거부', + 'F' => '친구만 허용', + ); + + $lang->message_box = array( + 'R' => '받은 쪽지함', + 'S' => '보낸 쪽지함', + 'T' => '보관함', + ); + + $lang->readed_date = "읽은 시간"; + + $lang->sender = '보낸이'; + $lang->receiver = '받는이'; + $lang->friend_group = '친구 그룹'; + $lang->default_friend_group = '그룹 미지정'; + + $lang->cmd_send_message = '쪽지 보내기'; + $lang->cmd_reply_message = '쪽지 답장'; + $lang->cmd_view_friend = '친구 보기'; + $lang->cmd_add_friend = '친구 등록'; + $lang->cmd_view_message_box = '쪽지함 보기'; + $lang->cmd_store = "보관"; + $lang->cmd_add_friend_group = '친구 그룹 추가'; + $lang->cmd_rename_friend_group = '친구 그룹 이름 변경'; + + $lang->msg_no_message = '쪽지가 없습니다'; + $lang->message_received = '쪽지가 왔습니다'; + + $lang->msg_title_is_null = '쪽지 제목을 입력해주세요'; + $lang->msg_content_is_null = '내용을 입력해주세요'; + $lang->msg_allow_message_to_friend = '친구에게만 쪽지 수신을 허용한 사용자라서 쪽지 발송을 하지 못했습니다'; + $lang->msg_disallow_message = '쪽지 수신을 거부한 사용자라서 쪽지 발송을 하지 못했습니다'; + $lang->about_allow_message = '쪽지 수신 여부를 결정할 수 있습니다'; +?> diff --git a/modules/communication/lang/ru.lang.php b/modules/communication/lang/ru.lang.php new file mode 100644 index 000000000..275cad728 --- /dev/null +++ b/modules/communication/lang/ru.lang.php @@ -0,0 +1,50 @@ + | translation by Maslennikov Evgeny aka X-[Vr]bL1s5 | e-mail: x-bliss[a]tut.by; ICQ: 225035467; + * @brief Russian basic language pack for Zeroboard XE + **/ + + $lang->communication = 'Communication'; + $lang->about_communication = '회원간의 쪽지나 친구 관리등 커뮤니케이션 기능을 수행하는 모듈입니다'; + + $lang->allow_message = 'Разрешить прием сообщений'; + $lang->allow_message_type = array( + 'Y' => 'Принимать все', + 'N' => 'Отклонять все', + 'F' => 'Только друзья', + ); + + + $lang->message_box = array( + 'R' => 'Принятые', + 'S' => 'Отправленные', + 'T' => 'Почтовый ящик', + ); + + $lang->readed_date = "Дата прочтения"; + + $lang->sender = 'Отправитель'; + $lang->receiver = 'Получатель'; + $lang->friend_group = 'Группа друзей'; + $lang->default_friend_group = 'Неприсвоенная группа'; + + $lang->cmd_send_message = 'Отправить сообщение'; + $lang->cmd_reply_message = 'Ответить'; + $lang->cmd_view_friend = 'Дзузья'; + $lang->cmd_add_friend = 'Сделать другом'; + $lang->cmd_view_message_box = 'Ящик сообщений'; + $lang->cmd_store = "Сохранить"; + $lang->cmd_add_friend_group = 'Добавить группу друзей'; + $lang->cmd_rename_friend_group = 'Изменить имя группы друзей'; + + $lang->msg_no_message = 'Нет сообщений'; + $lang->message_received = 'Новое сообщение'; + + $lang->msg_title_is_null = 'Пожалуйста, введите тему сообщения'; + $lang->msg_content_is_null = 'Пожалуйста, введите содержание'; + $lang->msg_allow_message_to_friend = "Отправка провалена, поскольку получатель принимает сообщения только от друзей"; + $lang->msg_disallow_message = 'Отправка провалена, поскольку получатель отклоняет прием сообщений'; + + $lang->about_allow_message = 'Вы можете определить политику принятия сообщений'; +?> diff --git a/modules/communication/lang/zh-CN.lang.php b/modules/communication/lang/zh-CN.lang.php new file mode 100644 index 000000000..4cd6b4b72 --- /dev/null +++ b/modules/communication/lang/zh-CN.lang.php @@ -0,0 +1,49 @@ +communication = '커뮤니케이션'; + $lang->about_communication = '회원간의 쪽지나 친구 관리등 커뮤니케이션 기능을 수행하는 모듈입니다'; + + $lang->allow_message = '允许接收短消息'; + $lang->allow_message_type = array( + 'Y' => '全部接收', + 'N' => '拒收', + 'F' => '只允许好友', + ); + + $lang->message_box = array( + 'R' => '收件箱', + 'S' => '发件箱', + 'T' => '保管箱', + ); + + $lang->readed_date = "阅读日期"; + + $lang->sender = '寄件人'; + $lang->receiver = '收件人'; + $lang->friend_group = '好友组'; + $lang->default_friend_group = '组未指定'; + + $lang->cmd_send_message = '发送短消息'; + $lang->cmd_reply_message = '回复短消息'; + $lang->cmd_view_friend = '查看好友'; + $lang->cmd_add_friend = '加为好友'; + $lang->cmd_view_message_box = '查看短信箱'; + $lang->cmd_store = "保管"; + $lang->cmd_add_friend_group = '添加好友组'; + $lang->cmd_rename_friend_group = '修改好友组名称'; + + $lang->msg_no_message = '没有短消息。'; + $lang->message_received = '您有新消息。'; + + $lang->msg_title_is_null = '请输入短消息标题。'; + $lang->msg_content_is_null = '请输入内容。'; + $lang->msg_allow_message_to_friend = '因其为只允许接收好友短消息的用户,所以不能发送短消息。'; + $lang->msg_disallow_message = '因其为拒绝接收短消息的用户,所以不能发送短消息。'; + + $lang->about_allow_message = '可以选择短消息接收与否。'; +?> diff --git a/modules/member/queries/addFriend.xml b/modules/communication/queries/addFriend.xml similarity index 100% rename from modules/member/queries/addFriend.xml rename to modules/communication/queries/addFriend.xml diff --git a/modules/member/queries/addFriendGroup.xml b/modules/communication/queries/addFriendGroup.xml similarity index 100% rename from modules/member/queries/addFriendGroup.xml rename to modules/communication/queries/addFriendGroup.xml diff --git a/modules/member/queries/deleteFriend.xml b/modules/communication/queries/deleteFriend.xml similarity index 100% rename from modules/member/queries/deleteFriend.xml rename to modules/communication/queries/deleteFriend.xml diff --git a/modules/member/queries/deleteFriendGroup.xml b/modules/communication/queries/deleteFriendGroup.xml similarity index 100% rename from modules/member/queries/deleteFriendGroup.xml rename to modules/communication/queries/deleteFriendGroup.xml diff --git a/modules/member/queries/deleteMessage.xml b/modules/communication/queries/deleteMessage.xml similarity index 100% rename from modules/member/queries/deleteMessage.xml rename to modules/communication/queries/deleteMessage.xml diff --git a/modules/member/queries/deleteMessages.xml b/modules/communication/queries/deleteMessages.xml similarity index 100% rename from modules/member/queries/deleteMessages.xml rename to modules/communication/queries/deleteMessages.xml diff --git a/modules/member/queries/getFriendGroup.xml b/modules/communication/queries/getFriendGroup.xml similarity index 100% rename from modules/member/queries/getFriendGroup.xml rename to modules/communication/queries/getFriendGroup.xml diff --git a/modules/member/queries/getFriendGroups.xml b/modules/communication/queries/getFriendGroups.xml similarity index 100% rename from modules/member/queries/getFriendGroups.xml rename to modules/communication/queries/getFriendGroups.xml diff --git a/modules/member/queries/getFriends.xml b/modules/communication/queries/getFriends.xml similarity index 100% rename from modules/member/queries/getFriends.xml rename to modules/communication/queries/getFriends.xml diff --git a/modules/member/queries/getMessage.xml b/modules/communication/queries/getMessage.xml similarity index 100% rename from modules/member/queries/getMessage.xml rename to modules/communication/queries/getMessage.xml diff --git a/modules/member/queries/getNewMessage.xml b/modules/communication/queries/getNewMessage.xml similarity index 100% rename from modules/member/queries/getNewMessage.xml rename to modules/communication/queries/getNewMessage.xml diff --git a/modules/member/queries/getReceivedMessages.xml b/modules/communication/queries/getReceivedMessages.xml similarity index 100% rename from modules/member/queries/getReceivedMessages.xml rename to modules/communication/queries/getReceivedMessages.xml diff --git a/modules/member/queries/getSendedMessages.xml b/modules/communication/queries/getSendedMessages.xml similarity index 100% rename from modules/member/queries/getSendedMessages.xml rename to modules/communication/queries/getSendedMessages.xml diff --git a/modules/member/queries/getStoredMessages.xml b/modules/communication/queries/getStoredMessages.xml similarity index 100% rename from modules/member/queries/getStoredMessages.xml rename to modules/communication/queries/getStoredMessages.xml diff --git a/modules/member/queries/isAddedFriend.xml b/modules/communication/queries/isAddedFriend.xml similarity index 100% rename from modules/member/queries/isAddedFriend.xml rename to modules/communication/queries/isAddedFriend.xml diff --git a/modules/member/queries/moveFriend.xml b/modules/communication/queries/moveFriend.xml similarity index 100% rename from modules/member/queries/moveFriend.xml rename to modules/communication/queries/moveFriend.xml diff --git a/modules/member/queries/renameFriendGroup.xml b/modules/communication/queries/renameFriendGroup.xml similarity index 100% rename from modules/member/queries/renameFriendGroup.xml rename to modules/communication/queries/renameFriendGroup.xml diff --git a/modules/member/queries/sendMessage.xml b/modules/communication/queries/sendMessage.xml similarity index 100% rename from modules/member/queries/sendMessage.xml rename to modules/communication/queries/sendMessage.xml diff --git a/modules/member/queries/setMessageReaded.xml b/modules/communication/queries/setMessageReaded.xml similarity index 100% rename from modules/member/queries/setMessageReaded.xml rename to modules/communication/queries/setMessageReaded.xml diff --git a/modules/member/queries/setMessageStored.xml b/modules/communication/queries/setMessageStored.xml similarity index 100% rename from modules/member/queries/setMessageStored.xml rename to modules/communication/queries/setMessageStored.xml diff --git a/modules/member/queries/updateAllowMessage.xml b/modules/communication/queries/updateAllowMessage.xml similarity index 100% rename from modules/member/queries/updateAllowMessage.xml rename to modules/communication/queries/updateAllowMessage.xml diff --git a/modules/member/schemas/member_friend.xml b/modules/communication/schemas/member_friend.xml similarity index 100% rename from modules/member/schemas/member_friend.xml rename to modules/communication/schemas/member_friend.xml diff --git a/modules/member/schemas/member_friend_group.xml b/modules/communication/schemas/member_friend_group.xml similarity index 100% rename from modules/member/schemas/member_friend_group.xml rename to modules/communication/schemas/member_friend_group.xml diff --git a/modules/member/schemas/member_message.xml b/modules/communication/schemas/member_message.xml similarity index 100% rename from modules/member/schemas/member_message.xml rename to modules/communication/schemas/member_message.xml diff --git a/modules/member/skins/default/add_friend.html b/modules/communication/skins/default/add_friend.html similarity index 89% rename from modules/member/skins/default/add_friend.html rename to modules/communication/skins/default/add_friend.html index e9344dc4a..385054afa 100644 --- a/modules/member/skins/default/add_friend.html +++ b/modules/communication/skins/default/add_friend.html @@ -34,7 +34,7 @@ - {$lang->cmd_add_friend_group} + {$lang->cmd_add_friend_group} diff --git a/modules/member/skins/default/add_friend_group.html b/modules/communication/skins/default/add_friend_group.html similarity index 100% rename from modules/member/skins/default/add_friend_group.html rename to modules/communication/skins/default/add_friend_group.html diff --git a/modules/communication/skins/default/common_footer.html b/modules/communication/skins/default/common_footer.html new file mode 100644 index 000000000..04f5b8449 --- /dev/null +++ b/modules/communication/skins/default/common_footer.html @@ -0,0 +1 @@ + diff --git a/modules/communication/skins/default/common_header.html b/modules/communication/skins/default/common_header.html new file mode 100644 index 000000000..e00686ee9 --- /dev/null +++ b/modules/communication/skins/default/common_header.html @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + +
+ + +
+

{$member_title}

+ + +
+ + + +
+ +
+ diff --git a/modules/communication/skins/default/css/black.css b/modules/communication/skins/default/css/black.css new file mode 100644 index 000000000..554df1971 --- /dev/null +++ b/modules/communication/skins/default/css/black.css @@ -0,0 +1,54 @@ +@charset "utf-8"; +.boardHeader h3 { margin:0; padding:0; float:left; clear:both; font-size:1.2em; padding:1em 2em .7em 1.2em; border:none; border-left:1px solid #e1e1dd; border-bottom:3px solid #fe3614; background:url(../images/common/lineH3.gif) no-repeat right bottom;} + +.memberSmallBox .header h3 { margin:0; border:none; float:left; clear:both; font-size:1.2em; padding:.8em 2em .6em 1.2em; border:none; border-bottom:3px solid #fe3614; background:url(../images/common/lineH3.gif) no-repeat right bottom;} + +/* button */ +a.button, span.button, del.button, +a.button span, span.button button, span.button input, del.button span{ + background-image:url(../images/black/form_buttons.png); + _background-image:url(../images/black/form_buttons.gif); +} + + +del.button span, +a.button, span.button, del.button, +a.button span, span.button button, span.button input, del.button span{ + color:#FFFFFF; +} + +.inputTypeText { background-color:transparent !important; color:#AAAAAA !important; } +.inputTypeText:hover, .inputTypeText:focus { background-color:transparent; color:#AAAAAA; } + +/* replace color */ +.memberSmallBox { border:1px solid #888888; } +.memberSmallBox .header { background:transparent url("../images/black/bgH3.gif) no-repeat left bottom; } +.memberSmallBox .header h3 { background:transparent url("../images/black/lineH3.gif") no-repeat right bottom; color:#888888; border-bottom:3px solid #888888; } +.memberSmallBox .openid_user_id { color:#AAAAAA; background:transparent url("../images/black/openid_input_bg.gif") no-repeat left 50% !important; } +.memberSmallBox .help { background-color:transparent; } + +.memberInfoTable tr.first-child th, .memberInfoTable tr.first-child td { background-color:transparent; color:#AAAAAA; } +.memberInfoTable tr th, .memberInfoTable tr td { background-color:transparent; color:#AAAAAA; } +.memberInfoTable td input { background-color:transparent; color:#AAAAAA; } +.memberInfoTable caption { color:#AAAAAA; } +div.checkValue { color:#BBBBBB !important; } + +.boardHeader { border:1px solid #888888; } +.boardHeader { background:transparent url("../images/black/bgH3.gif) no-repeat left bottom; } +.boardHeader h3 { border:none; background:transparent url("../images/black/lineH3.gif") no-repeat right bottom; color:#888888; border-bottom:3px solid #888888; } + +table.list { border:1px solid #000000 !important; } +table.list th { background:#282829 url("../images/black/lineBoardListTh.gif") no-repeat left bottom; border:1px solid #444444 !important; color:#AAAAAA; } +table.list tr { background-color:transparent !important; } +table.list tr td.title { color:#BBBBBB !important; } +table.list tr td.title a { color:#BBBBBB !important; } +table.list tr td { border-top:1px solid #888888 !important; } +table .list tr td, table.list tr td * { color:#BBBBBB; } + +.pageNavigation a { border:none !important; } +.pageNavigation .current { border:none !important; color:#EEEEEE; } + +.memberSmallBox .leftHeaderType th { background:transparent; color:#AAAAAA; } +.memberSmallBox .leftHeaderType td { color:#AAAAAA; } + +#popup_content { background-color:#000000; } diff --git a/modules/communication/skins/default/css/common.css b/modules/communication/skins/default/css/common.css new file mode 100644 index 000000000..d683fe0c1 --- /dev/null +++ b/modules/communication/skins/default/css/common.css @@ -0,0 +1,175 @@ +@charset "utf-8"; + +/* common */ +.memberSmallBox { border:1px solid #e0e1db; margin:5em auto 1em auto;} +.memberSmallBox fieldset { border:0; margin:0; } + +.memberSmallBox.w400 { width:400px;} +.memberSmallBox.w500 { width:500px;} + +.memberSmallBox.w400pop { width:400px; margin:0; padding:0;} +.memberSmallBox.w500pop { width:500px; margin:0; padding:0;} +.memberSmallBox.w600pop { width:600px; margin:0; padding:0;} + +.memberSmallBox .header { position:relative; _width:100%; background:#ffffff url(../images/common/bgH3.gif) no-repeat left bottom; overflow:hidden;} + +.boardInformation { font:normal 11px Tahoma; width:100%; clear:both; margin:1em 0 .5em 0; overflow:hidden; color:#666666; height:28px;} +.boardInformation strong { font:bold 11px Tahoma; color:#ff6600;} + +.boardHeader { position:relative; _width:100%; border-top:1px solid #e1e1dd; border-bottom:none; background:#ffffff url(../images/common/bgH3.gif) no-repeat right bottom; overflow:hidden;} +.boardHeader .member_option { float:right; position:relative; top:1em; right:1em; } +.boardHeader select { vertical-align:bottom; } +.boardHeader input { vertical-align:bottom; _padding-bottom:1px;} +.boardHeader .essential { position:absolute; top:1.5em; right:1em; color:#54564b; font-size:.9em;} +.boardHeader .essential:first-letter { color:#ff0000;} + +/* list */ +.list { width:100%; border:1px solid #e0e1db; table-layout:fixed;} +.list tr:first-child td, .list tr.first-child td { border-top:1px solid #e0e1db; white-space:nowrap;} +.list tr.bg1 { background:#ffffff} +.list tr.bg2 { background:#fbfbfb;} +.list th { color:#3e3f3e; font-weight:white; border-bottom:1px solid #ffffff; padding:.5em .2em .5em .2em; background:#ffffff url(../images/common/lineBoardListTh.gif) no-repeat left bottom; white-space:nowrap;} +.list th a { color:#3e3f3e;} +.list th:first-child, .list th.first-child { background-position:-3px bottom; border-left:1px solid #ffffff;} +.list th.check { padding:0;} +.list th select, .list th input { vertical-align:middle;} +.list td { border-top:1px solid #eff0ed; padding:.5em; text-align:center; height:35px;} +.list td.registDate { font:.8em Tahoma; color:#999999; text-align:center;} +.list td.num { font:.8em Tahoma; color:#999999; text-align:center;} +.list td.check { text-align:center;} +.list td.user { color:#333333; font-size:.9em; text-align:left;} +.list td.user a { color:#333333;} +.list td.userId { font:.9em Tahoma;} +.list td.userNick { font-size:.9em; color:#999999;} +.list td.sendMessage { text-align:center; padding:0;} +.list td.sendMessage .buttonFixedLeft { float:left; position:relative; margin-left:1em;} +.list td input { _margin:-3px;} +.list td.title { text-align:left; } +.list td.title.bold { font-size:1.2em; font-weight:bold;} +.list td.title.bold a { position:relative; top:.3em;} +.list td.title * { vertical-align:middle;} +.list td.title, .list td.title a { color:#444444; text-decoration:none;} +.list td.title a:visited { color:#777777; text-decoration:none;} +.list td.checkDate { font:.8em Tahoma; color:#333333; text-align:center;} +.list td.subject { font-size:1em; text-align:left; color:#555555; } +.list td.subject a { text-decoration:none; color:#555555; } +.memberSelect { margin-top:2px; } + +.saved_content { margin-top:1em; padding-top:1em; border-top:1px dotted #DDDDDD; } + +/* login */ +.memberSmallBox .login { border:none; padding:2em 0 1.5em 2em;} +.memberSmallBox .login legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em; text-indent:-100em;} +.memberSmallBox .login dl { margin:0; padding:0; overflow:hidden; float:left; margin-right:10px; width:250px;} +.memberSmallBox .login dl dt { margin:0; padding:0; width:100px; clear:left; float:left; color:#54564b; height:24px; padding-top:3px;} +.memberSmallBox .login dl dd { margin:0; padding:0; float:left; height:27px; width:150px; } +.memberSmallBox .login .keep { clear:both; white-space:nowrap; margin-left:100px;} +.memberSmallBox .login .keep input { vertical-align:middle;} +.memberSmallBox .login .keep label { margin:0; padding:0; font-size:11px; color:#999999;} +.memberSmallBox .openid_user_id { background: url(../images/openid_input_bg.gif) left no-repeat; background-color: #ffffff; background-position: 0 50%; padding:3px 3px 3px 18px; border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; line-height:1em; vertical-align:middle; color:#666666; width:120px;} +.memberSmallBox .help { background:#f5f5f3; color:#666666; border-top:1px solid #eaebe7; overflow:hidden; padding:1.1em; } + +/* logout */ +.memberSmallBox .text { color:#54564b; text-align:center; padding:4em 2em 5em 2em;} +.memberSmallBox .text p { margin:0; padding:0; margin-bottom:.5em;} + +/* friend */ +.friendNum { float:left; background:url(../images/common/iconFriend.gif) no-repeat .5em .4em; padding:.4em 0 0 2em;} +.friendNum strong { font:bold 11px Tahoma; color:#ff6600;} + +/* message */ +.readMessage { border:1px solid #e0e1db; border-top:none; margin-bottom:2em;} +.readMessage .messageHeader { padding:1.5em; height:1em; overflow:hidden;} +.readMessage .messageHeader h4 { margin:0; padding:0; 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:1em; font-style:white; color:#333333; margin-right:.3em; float:left;} +.readMessage .messageHeader address em a { color:#333333;} +.readMessage .messageHeader address .date { font:.8em Tahoma; color:#999999; margin-left:10px;} +.readMessage .messageBody { border:1px solid #e0e1db; margin:0 1.5em 1.5em 1.5em; padding:1em; color:#666666;} +.readMessage .deleteOrKeep { padding:.5em 0; overflow:hidden; background:#f5f5f3; border-top:1px solid #eaebe7; _width:100%;} +.messageSetup { float:left; overflow:hidden; } +.instantMessage { float:right; overflow:hidden;} +.instantMessage li { float:left; padding:0 .8em 0 .8em; margin-left:-1px; background:url(../images/common/line_1x10_e0e0e0.gif) no-repeat left center; list-style:none; } +.instantMessage li a { text-decoration:none; display:block; float:left; height:1em; height:1.1em; overflow:hidden; font-size:1em; white-space:nowrap; color:#666666; padding-left:1.8em; background:url(../images/common/iconInstantMessage.gif) no-repeat left top;} +.instantMessage li.on a { background-position:left -14px; font-weight:bold;} +.instantMessage li a strong { color:#ff6600;} + +/* 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; 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 { margin-right:.5em;} +.memberInfoTable td checkbox { border:0; } +.memberInfoTable td .fl { margin-right:.5em;} +.memberInfoTable td br { clear:both;} +.memberInfoTable td p { clear:both; margin:0; padding:0; font-size:.9em; color:#999999; padding-top:.5em; margin-right:.5em;} +.memberInfoTable td label { color:#3f4040; padding-top:.3em; margin-right:.5em;} +.memberInfoTable td ul { list-style:none; } +.memberInfoTable td .checkbox { border:none; } + +/* 아이디, 이름, 이메일 주소 중복 체크후 중복되면 출력되는 메세지의 className */ +.memberInfoTable td .checkValue { margin-top:5px; font-weight:bold; color:#444444; } + +/* modify/ insert member info */ +.memberImage { clear:both; } +.memberImage .info { margin-bottom:1.5em; float:left; margin-right:1em;} +.memberImage .form { float:left; } +.memberImage .form input { height:1.5em; margin:0 .3em 0 0; padding:0;} + +.checkbox li { float:left; margin-right:2em; } +.checkbox li input { border:none; } + +.display_date { cursor:pointer; width:80px; float:left; border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; height:1em; padding:3px; } + +.krZip .address2 { clear:both; margin-top:10px;} + +.extendDesc { clear:both; margin-top:0; font-size:.9em; color:#999999; } + +.extendPublic { clear:both; margin-top:5px; padding:0; font-size:.9em; color:#999999; } +.extendPublic input { padding:0; margin:0; } + +.publicItem { display:block; margin-top:5px;} +.publicItem input { margin:0; padding:0;} +.publicItem label { font-weight:normal; margin:0; padding:0; color:#666666;} +span.publicItem { display:inline; margin:0; font-weight:normal; color:#666666; } +span.privateItem { display:inline; margin:0; font-weight:normal; color:#666666; } + +.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;} + +/* popup common */ +.memberSmallBox .complex { padding:1.5em 2em 2em 2em;} +.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 .group { border:1px solid #e0e1db; border-width:1px 0; overflow:hidden; padding:.5em 0; margin-top:.7em; height:23px;} +.memberSmallBox .group select { width:11em; margin-top:1px;} +.memberSmallBox .editor { margin:10px 0 0 0; _height:400px; } + +/* password change */ +.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 { margin:0; padding:0; text-align:center; margin-top:1em; color:#54564b;} + +/* pageNavigation */ +.pageNavigation { position:relative; display:block; padding:1.5em 0 2em 0; text-align:center; font:bold .8em Tahoma; } +.pageNavigation a { position:relative; margin-left:-4px; font:bold 1em Tahoma; color:#666666; display:inline-block; padding:1px 7px 2px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; } +.pageNavigation a:hover { background:#F7F7F7; text-decoration:none; } +.pageNavigation a:visited { color:#999999;} +.pageNavigation a.goToFirst { border:none; border-right:1px solid #ffffff; border-left:1px solid #ffffff; z-index:99; vertical-align:top; padding:0px 7px 4px 6px;} +.pageNavigation a.goToLast { border:none; border-right:1px solid #ffffff; border-left:1px solid #ffffff; z-index:99; vertical-align:top; padding:0px 7px 4px 6px;} +.pageNavigation a.goToFirst img, .pageNavigation a.goToLast img { display:inline-block; padding:2px 0; position:relative; top:2px; _top:1px;} +.pageNavigation .current { position:relative; margin-left:-4px; font:bold 1em Tahoma; color:#ff6600; display:inline-block; padding:1px 7px 1px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; } + +/* Own Document */ +img.button_go { position:relative; bottom:-4px; } diff --git a/modules/communication/skins/default/css/cyan.css b/modules/communication/skins/default/css/cyan.css new file mode 100644 index 000000000..b7a0567ae --- /dev/null +++ b/modules/communication/skins/default/css/cyan.css @@ -0,0 +1,4 @@ +@charset "utf-8"; +.boardHeader h3 { margin:0; padding:0; float:left; clear:both; font-size:1.2em; padding:1em 2em .7em 1.2em; border-left:1px solid #d1d9db; border-bottom:3px solid #2895c0; background:url(../images/common/lineH3.gif) no-repeat right bottom;} + +.memberSmallBox .header h3 { margin:0; border:none; float:left; clear:both; font-size:1.2em; padding:.8em 2em .6em 1.2em; border-bottom:3px solid #2895c0; background:url(../images/common/lineH3.gif) no-repeat right bottom;} diff --git a/modules/communication/skins/default/css/green.css b/modules/communication/skins/default/css/green.css new file mode 100644 index 000000000..68325b48a --- /dev/null +++ b/modules/communication/skins/default/css/green.css @@ -0,0 +1,4 @@ +@charset "utf-8"; +.boardHeader h3 { margin:0; padding:0; float:left; clear:both; font-size:1.2em; padding:1em 2em .7em 1.2em; border-left:1px solid #d0dbd1; border-bottom:3px solid #38b549; background:url(../images/common/lineH3.gif) no-repeat right bottom;} + +.memberSmallBox .header h3 { margin:0; border:none; float:left; clear:both; font-size:1.2em; padding:.8em 2em .6em 1.2em; border-bottom:3px solid #38b549; background:url(../images/common/lineH3.gif) no-repeat right bottom;} diff --git a/modules/communication/skins/default/css/purple.css b/modules/communication/skins/default/css/purple.css new file mode 100644 index 000000000..79dd2e074 --- /dev/null +++ b/modules/communication/skins/default/css/purple.css @@ -0,0 +1,4 @@ +@charset "utf-8"; +.boardHeader h3 { margin:0; padding:0; float:left; clear:both; font-size:1.2em; padding:1em 2em .7em 1.2em; border-left:1px solid #d1d9db; border-bottom:3px solid #ac19a9; background:url(../images/common/lineH3.gif) no-repeat right bottom;} + +.memberSmallBox .header h3 { margin:0; border:none; float:left; clear:both; font-size:1.2em; padding:.8em 2em .6em 1.2em; border-bottom:3px solid #ac19a9; background:url(../images/common/lineH3.gif) no-repeat right bottom;} diff --git a/modules/communication/skins/default/css/red.css b/modules/communication/skins/default/css/red.css new file mode 100644 index 000000000..12c08b486 --- /dev/null +++ b/modules/communication/skins/default/css/red.css @@ -0,0 +1,4 @@ +@charset "utf-8"; +.boardHeader h3 { margin:0; padding:0; float:left; clear:both; font-size:1.2em; padding:1em 2em .7em 1.2em; border-left:1px solid #e1e1dd; border-bottom:3px solid #fe3614; background:url(../images/common/lineH3.gif) no-repeat right bottom;} + +.memberSmallBox .header h3 { margin:0; border:none; float:left; clear:both; font-size:1.2em; padding:.8em 2em .6em 1.2em; border-bottom:3px solid #fe3614; background:url(../images/common/lineH3.gif) no-repeat right bottom;} diff --git a/modules/communication/skins/default/css/white.css b/modules/communication/skins/default/css/white.css new file mode 100644 index 000000000..a78b5fbdc --- /dev/null +++ b/modules/communication/skins/default/css/white.css @@ -0,0 +1,5 @@ +@charset "utf-8"; +.boardHeader h3 { margin:0; padding:0; float:left; clear:both; font-size:1.2em; padding:1em 2em .7em 1.2em; border:none; border-left:1px solid #e1e1dd; border-bottom:3px solid #fe3614; background:url(../images/common/lineH3.gif) no-repeat right bottom;} + +.memberSmallBox .header h3 { margin:0; border:none; float:left; clear:both; font-size:1.2em; padding:.8em 2em .6em 1.2em; border:none; border-bottom:3px solid #fe3614; background:url(../images/common/lineH3.gif) no-repeat right bottom;} + diff --git a/modules/member/skins/default/filter/add_friend.xml b/modules/communication/skins/default/filter/add_friend.xml similarity index 63% rename from modules/member/skins/default/filter/add_friend.xml rename to modules/communication/skins/default/filter/add_friend.xml index 9f48f408d..b1ec11d0d 100644 --- a/modules/member/skins/default/filter/add_friend.xml +++ b/modules/communication/skins/default/filter/add_friend.xml @@ -1,4 +1,4 @@ - +
diff --git a/modules/member/skins/default/filter/add_friend_group.xml b/modules/communication/skins/default/filter/add_friend_group.xml similarity index 66% rename from modules/member/skins/default/filter/add_friend_group.xml rename to modules/communication/skins/default/filter/add_friend_group.xml index 2db9891e2..cadf2644f 100644 --- a/modules/member/skins/default/filter/add_friend_group.xml +++ b/modules/communication/skins/default/filter/add_friend_group.xml @@ -1,4 +1,4 @@ - + diff --git a/modules/communication/skins/default/filter/delete_checked_friend.xml b/modules/communication/skins/default/filter/delete_checked_friend.xml new file mode 100644 index 000000000..4d1466994 --- /dev/null +++ b/modules/communication/skins/default/filter/delete_checked_friend.xml @@ -0,0 +1 @@ + diff --git a/modules/communication/skins/default/filter/delete_checked_message.xml b/modules/communication/skins/default/filter/delete_checked_message.xml new file mode 100644 index 000000000..1d21f33c8 --- /dev/null +++ b/modules/communication/skins/default/filter/delete_checked_message.xml @@ -0,0 +1 @@ + diff --git a/modules/communication/skins/default/filter/delete_friend_group.xml b/modules/communication/skins/default/filter/delete_friend_group.xml new file mode 100644 index 000000000..5d269abaa --- /dev/null +++ b/modules/communication/skins/default/filter/delete_friend_group.xml @@ -0,0 +1 @@ + diff --git a/modules/communication/skins/default/filter/move_friend.xml b/modules/communication/skins/default/filter/move_friend.xml new file mode 100644 index 000000000..8b1eef8cd --- /dev/null +++ b/modules/communication/skins/default/filter/move_friend.xml @@ -0,0 +1 @@ + diff --git a/modules/member/skins/default/filter/send_message.xml b/modules/communication/skins/default/filter/send_message.xml similarity index 74% rename from modules/member/skins/default/filter/send_message.xml rename to modules/communication/skins/default/filter/send_message.xml index 2756c3398..418965112 100644 --- a/modules/member/skins/default/filter/send_message.xml +++ b/modules/communication/skins/default/filter/send_message.xml @@ -1,4 +1,4 @@ - +
diff --git a/modules/communication/skins/default/filter/update_allow_message.xml b/modules/communication/skins/default/filter/update_allow_message.xml new file mode 100644 index 000000000..d005b43f5 --- /dev/null +++ b/modules/communication/skins/default/filter/update_allow_message.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/modules/member/skins/default/friends_list.html b/modules/communication/skins/default/friends.html similarity index 95% rename from modules/member/skins/default/friends_list.html rename to modules/communication/skins/default/friends.html index 15e8326d3..adbde9474 100644 --- a/modules/member/skins/default/friends_list.html +++ b/modules/communication/skins/default/friends.html @@ -1,5 +1,7 @@ {@ $member_title = $lang->cmd_view_friend } + + @@ -16,7 +18,7 @@ {$lang->cmd_modify} {$lang->cmd_delete} - {$lang->cmd_add_friend_group} + {$lang->cmd_add_friend_group}
diff --git a/modules/communication/skins/default/images/black/bgH3.gif b/modules/communication/skins/default/images/black/bgH3.gif new file mode 100755 index 000000000..4e85c1b68 Binary files /dev/null and b/modules/communication/skins/default/images/black/bgH3.gif differ diff --git a/modules/communication/skins/default/images/black/form_buttons.gif b/modules/communication/skins/default/images/black/form_buttons.gif new file mode 100755 index 000000000..965325573 Binary files /dev/null and b/modules/communication/skins/default/images/black/form_buttons.gif differ diff --git a/modules/communication/skins/default/images/black/form_buttons.png b/modules/communication/skins/default/images/black/form_buttons.png new file mode 100755 index 000000000..ccc6d2f1f Binary files /dev/null and b/modules/communication/skins/default/images/black/form_buttons.png differ diff --git a/modules/communication/skins/default/images/black/lineBoardListTh.gif b/modules/communication/skins/default/images/black/lineBoardListTh.gif new file mode 100755 index 000000000..0e78f40a2 Binary files /dev/null and b/modules/communication/skins/default/images/black/lineBoardListTh.gif differ diff --git a/modules/communication/skins/default/images/black/lineH3.gif b/modules/communication/skins/default/images/black/lineH3.gif new file mode 100755 index 000000000..18d85c0b2 Binary files /dev/null and b/modules/communication/skins/default/images/black/lineH3.gif differ diff --git a/modules/communication/skins/default/images/black/openid_input_bg.gif b/modules/communication/skins/default/images/black/openid_input_bg.gif new file mode 100755 index 000000000..ae9940666 Binary files /dev/null and b/modules/communication/skins/default/images/black/openid_input_bg.gif differ diff --git a/modules/communication/skins/default/images/blank.gif b/modules/communication/skins/default/images/blank.gif new file mode 100644 index 000000000..35d42e808 Binary files /dev/null and b/modules/communication/skins/default/images/blank.gif differ diff --git a/modules/communication/skins/default/images/bottomGotoFirst.gif b/modules/communication/skins/default/images/bottomGotoFirst.gif new file mode 100644 index 000000000..e0297fecb Binary files /dev/null and b/modules/communication/skins/default/images/bottomGotoFirst.gif differ diff --git a/modules/communication/skins/default/images/bottomGotoLast.gif b/modules/communication/skins/default/images/bottomGotoLast.gif new file mode 100644 index 000000000..0a7141d0d Binary files /dev/null and b/modules/communication/skins/default/images/bottomGotoLast.gif differ diff --git a/modules/communication/skins/default/images/button_go.gif b/modules/communication/skins/default/images/button_go.gif new file mode 100755 index 000000000..895d1a078 Binary files /dev/null and b/modules/communication/skins/default/images/button_go.gif differ diff --git a/modules/communication/skins/default/images/common/bgH3.gif b/modules/communication/skins/default/images/common/bgH3.gif new file mode 100644 index 000000000..0d07bb456 Binary files /dev/null and b/modules/communication/skins/default/images/common/bgH3.gif differ diff --git a/modules/communication/skins/default/images/common/bottomGotoFirst.gif b/modules/communication/skins/default/images/common/bottomGotoFirst.gif new file mode 100644 index 000000000..e0297fecb Binary files /dev/null and b/modules/communication/skins/default/images/common/bottomGotoFirst.gif differ diff --git a/modules/communication/skins/default/images/common/bottomGotoLast.gif b/modules/communication/skins/default/images/common/bottomGotoLast.gif new file mode 100644 index 000000000..0a7141d0d Binary files /dev/null and b/modules/communication/skins/default/images/common/bottomGotoLast.gif differ diff --git a/modules/communication/skins/default/images/common/buttonTypeInput24.gif b/modules/communication/skins/default/images/common/buttonTypeInput24.gif new file mode 100644 index 000000000..0dcfc0e3d Binary files /dev/null and b/modules/communication/skins/default/images/common/buttonTypeInput24.gif differ diff --git a/modules/communication/skins/default/images/common/iconAdd.gif b/modules/communication/skins/default/images/common/iconAdd.gif new file mode 100644 index 000000000..f2bdb7868 Binary files /dev/null and b/modules/communication/skins/default/images/common/iconAdd.gif differ diff --git a/modules/communication/skins/default/images/common/iconArrow99.gif b/modules/communication/skins/default/images/common/iconArrow99.gif new file mode 100644 index 000000000..15c36291e Binary files /dev/null and b/modules/communication/skins/default/images/common/iconArrow99.gif differ diff --git a/modules/communication/skins/default/images/common/iconCheck.gif b/modules/communication/skins/default/images/common/iconCheck.gif new file mode 100644 index 000000000..c4fb37ae0 Binary files /dev/null and b/modules/communication/skins/default/images/common/iconCheck.gif differ diff --git a/modules/communication/skins/default/images/common/iconFriend.gif b/modules/communication/skins/default/images/common/iconFriend.gif new file mode 100644 index 000000000..1daf6c66d Binary files /dev/null and b/modules/communication/skins/default/images/common/iconFriend.gif differ diff --git a/modules/communication/skins/default/images/common/iconH3.gif b/modules/communication/skins/default/images/common/iconH3.gif new file mode 100644 index 000000000..8ea0cec82 Binary files /dev/null and b/modules/communication/skins/default/images/common/iconH3.gif differ diff --git a/modules/communication/skins/default/images/common/iconInstantMessage.gif b/modules/communication/skins/default/images/common/iconInstantMessage.gif new file mode 100644 index 000000000..d63a69506 Binary files /dev/null and b/modules/communication/skins/default/images/common/iconInstantMessage.gif differ diff --git a/modules/communication/skins/default/images/common/iconInstantMessage2.gif b/modules/communication/skins/default/images/common/iconInstantMessage2.gif new file mode 100644 index 000000000..380548e91 Binary files /dev/null and b/modules/communication/skins/default/images/common/iconInstantMessage2.gif differ diff --git a/modules/communication/skins/default/images/common/lineBoardListTh.gif b/modules/communication/skins/default/images/common/lineBoardListTh.gif new file mode 100644 index 000000000..6d891d82c Binary files /dev/null and b/modules/communication/skins/default/images/common/lineBoardListTh.gif differ diff --git a/modules/communication/skins/default/images/common/lineH3.gif b/modules/communication/skins/default/images/common/lineH3.gif new file mode 100644 index 000000000..fe42fe378 Binary files /dev/null and b/modules/communication/skins/default/images/common/lineH3.gif differ diff --git a/modules/communication/skins/default/images/common/line_1x10_e0e0e0.gif b/modules/communication/skins/default/images/common/line_1x10_e0e0e0.gif new file mode 100644 index 000000000..6a848dd58 Binary files /dev/null and b/modules/communication/skins/default/images/common/line_1x10_e0e0e0.gif differ diff --git a/modules/communication/skins/default/images/openid_input_bg.gif b/modules/communication/skins/default/images/openid_input_bg.gif new file mode 100644 index 000000000..cde836c89 Binary files /dev/null and b/modules/communication/skins/default/images/openid_input_bg.gif differ diff --git a/modules/communication/skins/default/js/communication.js b/modules/communication/skins/default/js/communication.js new file mode 100644 index 000000000..b69db7182 --- /dev/null +++ b/modules/communication/skins/default/js/communication.js @@ -0,0 +1,101 @@ +/* 쪽지 발송 */ +function completeSendMessage(ret_obj) { + alert(ret_obj['message']); + window.close(); +} + +function doSendMessage(member_srl, message_srl) { + if(typeof(message_srl)=='undefined') message_srl = 0; + var url = current_url.setQuery('module','communication').setQuery('act','dispCommunicationSendMessage').setQuery('receiver_srl',member_srl).setQuery('message_srl',message_srl); + popopen(url, 'sendMessage'); +} + +/* 쪽지 모두 선택 */ +function doCheckAll(obj, fo_id) { + var fo_obj = xGetElementById(fo_id); + for(var i=0; i + + diff --git a/modules/member/skins/default/member_new_message.html b/modules/communication/skins/default/new_message.html similarity index 100% rename from modules/member/skins/default/member_new_message.html rename to modules/communication/skins/default/new_message.html diff --git a/modules/communication/skins/default/screenshot/black.gif b/modules/communication/skins/default/screenshot/black.gif new file mode 100755 index 000000000..06ccb4a32 Binary files /dev/null and b/modules/communication/skins/default/screenshot/black.gif differ diff --git a/modules/communication/skins/default/screenshot/cyan.gif b/modules/communication/skins/default/screenshot/cyan.gif new file mode 100644 index 000000000..bae2fa162 Binary files /dev/null and b/modules/communication/skins/default/screenshot/cyan.gif differ diff --git a/modules/communication/skins/default/screenshot/green.gif b/modules/communication/skins/default/screenshot/green.gif new file mode 100644 index 000000000..126923f68 Binary files /dev/null and b/modules/communication/skins/default/screenshot/green.gif differ diff --git a/modules/communication/skins/default/screenshot/purple.gif b/modules/communication/skins/default/screenshot/purple.gif new file mode 100644 index 000000000..1b5e0d717 Binary files /dev/null and b/modules/communication/skins/default/screenshot/purple.gif differ diff --git a/modules/communication/skins/default/screenshot/red.gif b/modules/communication/skins/default/screenshot/red.gif new file mode 100644 index 000000000..c9fd68653 Binary files /dev/null and b/modules/communication/skins/default/screenshot/red.gif differ diff --git a/modules/communication/skins/default/screenshot/white.gif b/modules/communication/skins/default/screenshot/white.gif new file mode 100644 index 000000000..c9fd68653 Binary files /dev/null and b/modules/communication/skins/default/screenshot/white.gif differ diff --git a/modules/member/skins/default/send_message.html b/modules/communication/skins/default/send_message.html similarity index 100% rename from modules/member/skins/default/send_message.html rename to modules/communication/skins/default/send_message.html diff --git a/modules/communication/skins/default/skin.xml b/modules/communication/skins/default/skin.xml new file mode 100644 index 000000000..a3ad1b760 --- /dev/null +++ b/modules/communication/skins/default/skin.xml @@ -0,0 +1,91 @@ + + + 기본 스킨 + 기본 스킨 + 기본 스킨 + Default Skin + Por defecto piel + 기본 스킨 + + (주)NHN + (株)NHN + (株)NHN + NHN Corp + NHN Corp + NHN Корп + + 디자인 : 서기정 (http://blog.naver.com/addcozy) + HTML/CSS : 정찬명 (http://naradesign.net) + + + 设计 : Ki-Jeong Seo (http://blog.naver.com/addcozy) + HTML/CSS : Chan-Myung Jeong (http://naradesign.net) + + + デザイン:ソギジョン (http://blog.naver.com/addcozy) + HTML/CSS:ジョンチャンミョン (http://naradesign.net) + + + Design : Ki-Jeong Seo (http://blog.naver.com/addcozy) + HTML/CSS : Chan-Myung Jeong (http://naradesign.net) + + + Diseño: Ki-Jeong Seo (http://blog.naver.com/addcozy) + HTML / CSS: Jeong Chan-Myung (http://naradesign.net) + + + Дизайн: Ги Чен Се (http://blog.naver.com/addcozy) + HTML / CSS: Чен-Чен Мен (http://naradesign.net) + + + + + 기본 + 默认 + デフォルト + default + Por defecto + умолчанию + + + 청록색 + 青緑 + 青绿色 + cyan + Cian + бирюзовый + + + 초록색 + + 绿色 + green + Verde + зеленый + + + 빨간색 + + 红色 + red + Roja + красный + + + 보라색 + + 紫色 + purple + Púrpura + Лиловый + + + 검은색 + + Black + Черного + Negro + 黑色 + + + diff --git a/modules/communication/tpl/colorset_list.html b/modules/communication/tpl/colorset_list.html new file mode 100644 index 000000000..84223d3b7 --- /dev/null +++ b/modules/communication/tpl/colorset_list.html @@ -0,0 +1,16 @@ + + + {@ $_img_info = getImageSize($val->screenshot); $_height = $_img_info[1]+40; $_width = $_img_info[0]+20; $_talign = "center"; } + + {@ $_width = 200; $_height = 20; $_talign = "left"; } + +
+ colorset==$val->name)-->checked="checked"/> + + +
+ {$val->title} + +
+
+ diff --git a/modules/communication/tpl/filter/insert_config.xml b/modules/communication/tpl/filter/insert_config.xml new file mode 100644 index 000000000..7e6539233 --- /dev/null +++ b/modules/communication/tpl/filter/insert_config.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/modules/member/tpl/images/icon_add_friend.gif b/modules/communication/tpl/images/icon_add_friend.gif similarity index 100% rename from modules/member/tpl/images/icon_add_friend.gif rename to modules/communication/tpl/images/icon_add_friend.gif diff --git a/modules/member/tpl/images/icon_friend_box.gif b/modules/communication/tpl/images/icon_friend_box.gif similarity index 100% rename from modules/member/tpl/images/icon_friend_box.gif rename to modules/communication/tpl/images/icon_friend_box.gif diff --git a/modules/member/tpl/images/icon_message_box.gif b/modules/communication/tpl/images/icon_message_box.gif similarity index 100% rename from modules/member/tpl/images/icon_message_box.gif rename to modules/communication/tpl/images/icon_message_box.gif diff --git a/modules/member/tpl/images/icon_write_message.gif b/modules/communication/tpl/images/icon_write_message.gif similarity index 100% rename from modules/member/tpl/images/icon_write_message.gif rename to modules/communication/tpl/images/icon_write_message.gif diff --git a/modules/communication/tpl/index.html b/modules/communication/tpl/index.html new file mode 100644 index 000000000..767a766ae --- /dev/null +++ b/modules/communication/tpl/index.html @@ -0,0 +1,52 @@ + + + +

{$lang->communication} {$lang->cmd_management}

+ +
{nl2br($lang->about_communication)}
+ + + + + + + + + + + + + + + + + + + + + + + + + +
{$lang->editor_skin} + +
{$lang->skin} + +
{$lang->colorset}
+ +
+ + + + diff --git a/modules/communication/tpl/js/communication_admin.js b/modules/communication/tpl/js/communication_admin.js new file mode 100644 index 000000000..7b888cd66 --- /dev/null +++ b/modules/communication/tpl/js/communication_admin.js @@ -0,0 +1,16 @@ +/* 스킨 컬러셋 구해옴 */ +function doGetSkinColorset(skin) { + var params = new Array(); + params['skin'] = skin; + + var response_tags = new Array('error','message','tpl'); + exec_xml('communication', 'getCommunicationAdminColorset', params, doDisplaySkinColorset, response_tags); +} + +function doDisplaySkinColorset(ret_obj) { + var tpl = ret_obj["tpl"]; + var old_height = xHeight("communication_colorset"); + xInnerHtml("communication_colorset", tpl); + var new_height = xHeight("communication_colorset"); +} + diff --git a/modules/document/document.admin.controller.php b/modules/document/document.admin.controller.php index 19ef9133b..016250d3d 100644 --- a/modules/document/document.admin.controller.php +++ b/modules/document/document.admin.controller.php @@ -68,7 +68,7 @@ // 쪽지 발송 if($message_content) { - $oMemberController = &getController('member'); + $oCommunicationController = &getController('communication'); $oDocumentModel = &getModel('document'); $logged_info = Context::get('logged_info'); @@ -83,9 +83,9 @@ if($type=='move') $purl = sprintf("%s", $oDocument->getPermanentUrl(), $oDocument->getPermanentUrl()); else $purl = ""; - $content .= sprintf("
%s

%s
%s
%s",$message_content, $purl, $oDocument->getTitleText(), $oDocument->getContent()); + $content .= sprintf("
%s

%s
%s
%s",$message_content, $purl, $oDocument->getTitleText(), $oDocument->getContent(false, false, false)); - $oMemberController->sendMessage($sender_member_srl, $oDocument->get('member_srl'), $title, $content, false); + $oCommunicationController->sendMessage($sender_member_srl, $oDocument->get('member_srl'), $title, $content, false); } } diff --git a/modules/document/document.item.php b/modules/document/document.item.php index 6fb839cee..6f53276d9 100644 --- a/modules/document/document.item.php +++ b/modules/document/document.item.php @@ -167,8 +167,8 @@ $sender_member_srl = $logged_info->member_srl; // 쪽지 발송 - $oMemberController = &getController('member'); - $oMemberController->sendMessage($sender_member_srl, $receiver_srl, $title, $content, false); + $oCommunicationController = &getController('communication'); + $oCommunicationController->sendMessage($sender_member_srl, $receiver_srl, $title, $content, false); } function isExistsHomepage() { diff --git a/modules/editor/editor.model.php b/modules/editor/editor.model.php index 1d6ec60de..9250aa6ab 100644 --- a/modules/editor/editor.model.php +++ b/modules/editor/editor.model.php @@ -365,6 +365,13 @@ return $this->loaded_component_list[$component][$editor_sequence]; } + /** + * @brief editor skin 목록을 return + **/ + function getEditorSkinList() { + return FileHandler::readDir('./modules/editor/skins'); + } + /** * @brief component 목록을 return (DB정보 보함) **/ diff --git a/modules/importer/importer.admin.controller.php b/modules/importer/importer.admin.controller.php index 24cd0fecd..5789f5563 100644 --- a/modules/importer/importer.admin.controller.php +++ b/modules/importer/importer.admin.controller.php @@ -366,7 +366,7 @@ $sender_args->message_srl = getNextSequence(); $sender_args->list_order = $sender_args->message_srl * -1; - $output = executeQuery('member.sendMessage', $sender_args); + $output = executeQuery('communication.sendMessage', $sender_args); if($output->toBool()) { // 받는 회원의 쪽지함에 넣을 쪽지 $receiver_args->message_srl = $sender_args->related_srl; @@ -380,7 +380,7 @@ $receiver_args->readed = $obj->readed; $receiver_args->regdate = $obj->regdate; $receiver_args->readed_date = $obj->readed_date; - $output = executeQuery('member.sendMessage', $receiver_args); + $output = executeQuery('communication.sendMessage', $receiver_args); } } diff --git a/modules/member/conf/module.xml b/modules/member/conf/module.xml index 39bb3bd74..97e757fbd 100644 --- a/modules/member/conf/module.xml +++ b/modules/member/conf/module.xml @@ -15,14 +15,6 @@ - - - - - - - - @@ -55,12 +47,6 @@ - - - - - - @@ -69,14 +55,6 @@ - - - - - - - - diff --git a/modules/member/lang/en.lang.php b/modules/member/lang/en.lang.php index e7cecb738..3c0030f3d 100644 --- a/modules/member/lang/en.lang.php +++ b/modules/member/lang/en.lang.php @@ -21,12 +21,6 @@ $lang->invalid_user_id= "You have entered an invalid ID"; $lang->invalid_password = 'You have entered an invalid password'; $lang->allow_mailing = 'Join Mailing'; - $lang->allow_message = 'Receive Messages'; - $lang->allow_message_type = array( - 'Y' => 'Receive All', - 'N' => 'Reject All', - 'F' => 'Only Friends', - ); $lang->denied = 'Prohibited'; $lang->is_admin = 'Superadmin Permission'; $lang->group = 'Assigned Group'; @@ -55,10 +49,6 @@ $lang->redirect_url = 'URL after Join'; $lang->agreement = 'Member Join Agreement'; $lang->accept_agreement = 'Agree'; - $lang->sender = 'Sender'; - $lang->receiver = 'Receiver'; - $lang->friend_group = 'Friend Group'; - $lang->default_friend_group = 'Unassigned Group'; $lang->member_info = 'Member Info'; $lang->current_password = 'Current Password'; $lang->openid = 'OpenID'; @@ -80,14 +70,6 @@ 'extra_vars' => 'Extra Vars', ); - $lang->message_box = array( - 'R' => 'Received', - 'S' => 'Sent', - 'T' => 'Mailbox', - ); - - $lang->readed_date = "Read Date"; - $lang->cmd_login = 'Login'; $lang->cmd_logout = 'Logout'; $lang->cmd_signup = 'Join'; @@ -107,14 +89,6 @@ $lang->cmd_view_scrapped_document = 'Scraps'; $lang->cmd_view_saved_document = 'Saved Articles'; $lang->cmd_send_email = 'Send Mail'; - $lang->cmd_send_message = 'Send Message'; - $lang->cmd_reply_message = 'Reply Message'; - $lang->cmd_view_friend = 'Friends'; - $lang->cmd_add_friend = 'Add to Friends'; - $lang->cmd_view_message_box = 'Message Box'; - $lang->cmd_store = "Save"; - $lang->cmd_add_friend_group = 'Add Friend Group'; - $lang->cmd_rename_friend_group = 'Modify Friend Group Name'; $lang->msg_email_not_exists = "You have entered an invalid email address"; @@ -135,9 +109,6 @@ $lang->msg_success_authed = 'Your account has been successfully certificated and logged on.\n Please modify the password to your own one with the password in the mail.'; $lang->msg_success_confirmed = 'The autentication completed successfully.'; - $lang->msg_no_message = 'There is no message'; - $lang->message_received = 'You have a new message'; - $lang->msg_new_member = 'Add Member'; $lang->msg_update_member = 'Modify Member Info'; $lang->msg_leave_member = 'Leave'; @@ -151,10 +122,6 @@ $lang->msg_signup_disabled = 'You are not able to sign up'; $lang->msg_already_logged = 'You have already signed up'; $lang->msg_not_logged = 'Please login first'; - $lang->msg_title_is_null = 'Please input the title of message'; - $lang->msg_content_is_null = 'Please input the content'; - $lang->msg_allow_message_to_friend = "Failed to send because receiver only allows friends' messages"; - $lang->msg_disallow_message = 'Failed to send because receiver rejects message reception'; $lang->msg_insert_group_name = 'Please input the name of group'; $lang->msg_check_group = 'Please select the group'; @@ -177,7 +144,6 @@ $lang->about_blog_url = 'Please input if you have your blogs'; $lang->about_birthday = 'Please input your birth date'; $lang->about_allow_mailing = "If you don't join mailing, you will not able to receive group mail"; - $lang->about_allow_message = 'You can decide message reception'; $lang->about_denied = 'Check to prohibit the ID'; $lang->about_is_admin = 'Check to give Superadmin permission'; $lang->about_description = "Administrator's memo about members"; diff --git a/modules/member/lang/es.lang.php b/modules/member/lang/es.lang.php index 4ce3d9004..aba95e29b 100644 --- a/modules/member/lang/es.lang.php +++ b/modules/member/lang/es.lang.php @@ -2,7 +2,7 @@ /** * @file es.lang.php * @author zero (zero@nzeo.com) - * @brief English Language Pack (Only Basic Things) + * @brief Spanish Language Pack (Only Basic Things) **/ $lang->member = 'Usuario'; @@ -21,12 +21,6 @@ $lang->invalid_user_id= "Este ID no existe"; $lang->invalid_password = 'Contraseña incorrecta'; $lang->allow_mailing = 'Registro del envío de mail'; - $lang->allow_message = 'Permitir la recepción del mensaje'; - $lang->allow_message_type = array( - 'Y' => 'Recibir todo', - 'N' => 'Rechazar', - 'F' => 'Sólo amigos', - ); $lang->denied = 'Prohibido'; $lang->is_admin = 'Atribución del administrador superior'; $lang->group = 'Grupo asignado'; @@ -54,10 +48,6 @@ $lang->redirect_url = 'URL luego del registro'; $lang->agreement = 'Acuerdo del registro del usuario'; $lang->accept_agreement = 'Acepto'; - $lang->sender = 'Remitente'; - $lang->receiver = 'Receptor'; - $lang->friend_group = 'Grupo de amigos'; - $lang->default_friend_group = 'Grupo desasignado'; $lang->member_info = 'Información del Usuario'; $lang->current_password = 'Contraseña actual'; $lang->openid = 'OpenID'; @@ -79,13 +69,6 @@ 'extra_vars' => 'Variables Extra', ); - $lang->message_box = array( - 'R' => 'Recibido', - 'S' => 'Enviado', - 'T' => 'Buzon de Email', - ); - - $lang->readed_date = "Fecha Leído"; $lang->cmd_login = 'Conectar'; $lang->cmd_logout = 'Desconectar'; @@ -106,14 +89,6 @@ $lang->cmd_view_scrapped_document = 'Ver Scraps'; $lang->cmd_view_saved_document = 'Ver artículos guardados'; $lang->cmd_send_email = 'Enviar Email'; - $lang->cmd_send_message = 'Enviar Mensaje'; - $lang->cmd_reply_message = 'Responder el mensaje'; - $lang->cmd_view_friend = 'Amigos'; - $lang->cmd_add_friend = 'Registrar como Amigo'; - $lang->cmd_view_message_box = 'Buzón de mensajes'; - $lang->cmd_store = "Guardar"; - $lang->cmd_add_friend_group = 'agregar grupo de amigos'; - $lang->cmd_rename_friend_group = 'Cambiar el nombre del grupo de amigos'; $lang->msg_email_not_exists = "Email address doesn't exists"; @@ -134,9 +109,6 @@ $lang->msg_success_authed = 'Esto no es válido solicitud de autenticación.
Por favor, inténtelo encontrar información de la cuenta o póngase en contacto con el administrador.'; $lang->msg_success_confirmed = '가입 인증이 정상적으로 처리 되었습니다.'; - $lang->msg_no_message = 'No hay mensajes'; - $lang->message_received = 'Usted ha recibido un mensaje'; - $lang->msg_new_member = 'Agregar usuario'; $lang->msg_update_member = 'Modificar información del usuario'; $lang->msg_leave_member = 'Dejar de ser usuario'; @@ -150,10 +122,6 @@ $lang->msg_signup_disabled = 'Usted no puede ser registrado'; $lang->msg_already_logged = 'Usted ya ha sido registrado'; $lang->msg_not_logged = 'Por favor conectese primero'; - $lang->msg_title_is_null = 'Por favor ingresar el título de la nota'; - $lang->msg_content_is_null = 'Por favor ingresar el contenido'; - $lang->msg_allow_message_to_friend = "Falló el envío por permitir sólo mensajes de sus amigos"; - $lang->msg_disallow_message = 'Falló el envío por ser usuario rechazado para recibir mensajes'; $lang->msg_insert_group_name = 'Por favor ingresar el nombre del grupo'; $lang->msg_check_group = 'Introduce nombre de grupo'; @@ -175,7 +143,6 @@ $lang->about_blog_url = 'Ingresar su blog, si es que lo tiene'; $lang->about_birthday = 'Ingresar su fecha de nacimiento'; $lang->about_allow_mailing = "Si usted no se ha registrado el envío de email, usted no podrá recibir el email del grupo"; - $lang->about_allow_message = 'Usted puede decidir la recepción del mensaje'; $lang->about_denied = 'Si selecciona esta opción prohibirá el uso del ID'; $lang->about_is_admin = 'Si selecciona esta opción para obtener la atribución del administrador superior'; $lang->about_description = "Nota del administrador acerca de los usuarios"; diff --git a/modules/member/lang/jp.lang.php b/modules/member/lang/jp.lang.php index ef542bf92..87bf24b48 100644 --- a/modules/member/lang/jp.lang.php +++ b/modules/member/lang/jp.lang.php @@ -21,12 +21,6 @@ $lang->invalid_user_id= '存在しないユーザIDです。'; $lang->invalid_password = '無効なパスワードです。'; $lang->allow_mailing = 'メーリングリスト'; - $lang->allow_message = 'メッセージの受信'; - $lang->allow_message_type = array( - 'Y' => '全て受信', - 'N' => '全て受信しない', - 'F' => '友達からのみ受信する', - ); $lang->denied = '使用中止'; $lang->is_admin = '最高管理権限'; $lang->group = '所属グループ'; @@ -55,10 +49,6 @@ $lang->redirect_url = '加入後表示するページ'; $lang->agreement = '会員加入規約'; $lang->accept_agreement = '規約に同意する'; - $lang->sender = '送信者'; - $lang->receiver = '受信者'; - $lang->friend_group = '友達グループ'; - $lang->default_friend_group = 'グループ未指定'; $lang->member_info = '会員情報'; $lang->current_password = '現在のパスワード'; $lang->openid = 'OpenID'; @@ -80,14 +70,6 @@ 'extra_vars' => '拡張変数', ); - $lang->message_box = array( - 'R' => 'メッセージ受信ボックス', - 'S' => 'メッセージ送信ボックス', - 'T' => '保存ボックス', - ); - - $lang->readed_date = "開封時間"; - $lang->cmd_login = 'ログイン'; $lang->cmd_logout = 'ログアウト'; $lang->cmd_signup = '会員加入'; @@ -107,14 +89,6 @@ $lang->cmd_view_scrapped_document = 'スクラップ表示'; $lang->cmd_view_saved_document = '保存ドキュメント表示'; $lang->cmd_send_email = 'メール送信'; - $lang->cmd_send_message = 'メッセージ送信'; - $lang->cmd_reply_message = 'メッセージ返信'; - $lang->cmd_view_friend = '友達表示'; - $lang->cmd_add_friend = '友達登録'; - $lang->cmd_view_message_box = 'メッセージ表示'; - $lang->cmd_store = "保存"; - $lang->cmd_add_friend_group = '友達グループ追加'; - $lang->cmd_rename_friend_group = '友達グループ名変更'; $lang->msg_email_not_exists = "メールアドレスがありません。"; @@ -135,9 +109,6 @@ $lang->msg_success_authed = '認証が正常に行われ、ログインできました。\n必ず認証メールに記載されたパスワードを利用してお好みのパスワードに変更してください。.'; $lang->msg_success_confirmed = '가입 인증이 정상적으로 처리 되었습니다.'; - $lang->msg_no_message = 'メッセージがありません。'; - $lang->message_received = 'メッセージが届きました。'; - $lang->msg_new_member = '会員追加'; $lang->msg_update_member = '会員情報修正'; $lang->msg_leave_member = '会員脱会'; @@ -151,10 +122,6 @@ $lang->msg_signup_disabled = '会員に加入することができません。'; $lang->msg_already_logged = '既に会員に加入されています。'; $lang->msg_not_logged = 'ログインしていません。'; - $lang->msg_title_is_null = 'メッセージのタイトルを入力してください。'; - $lang->msg_content_is_null = '内容を入力してください。'; - $lang->msg_allow_message_to_friend = '友達からのみメッセージを受信できるように設定したユーザであるため、送信できませんでした。'; - $lang->msg_disallow_message = 'メッセージの受信を拒否している受信者であるため、送信できませんでした。'; $lang->msg_insert_group_name = 'グループ名を入力してください。'; $lang->msg_check_group = 'グループを選択してください。'; @@ -177,7 +144,6 @@ $lang->about_blog_url = '運用しているブログがあれば入力してください。'; $lang->about_birthday = '生年月日を入力してください。'; $lang->about_allow_mailing = 'メーリングリストにチェックされていない場合は、全体メールの送信時にメールを受け取りません。'; - $lang->about_allow_message = 'メッセージを受信するかを設定します。'; $lang->about_denied = 'チェックするとユーザIDを使用できないようにします。'; $lang->about_is_admin = 'チェックすると最高管理者権限が取得できます。'; $lang->about_description = '会員に対する管理者のメモ帳です。'; diff --git a/modules/member/lang/ko.lang.php b/modules/member/lang/ko.lang.php index 02e3a59b0..0908b9712 100644 --- a/modules/member/lang/ko.lang.php +++ b/modules/member/lang/ko.lang.php @@ -21,12 +21,6 @@ $lang->invalid_user_id= '존재하지 않는 사용자 아이디입니다'; $lang->invalid_password = '잘못된 비밀번호입니다'; $lang->allow_mailing = '메일링 가입'; - $lang->allow_message = '쪽지 수신 허용'; - $lang->allow_message_type = array( - 'Y' => '전체 수신', - 'N' => '거부', - 'F' => '친구만 허용', - ); $lang->denied = '사용중지'; $lang->is_admin = '최고관리 권한'; $lang->group = '소속 그룹'; @@ -55,10 +49,6 @@ $lang->redirect_url = '회원 가입후 이동할 페이지'; $lang->agreement = '회원 가입 약관'; $lang->accept_agreement = '약관동의'; - $lang->sender = '보낸이'; - $lang->receiver = '받는이'; - $lang->friend_group = '친구 그룹'; - $lang->default_friend_group = '그룹 미지정'; $lang->member_info = '회원 정보'; $lang->current_password = '현재 비밀번호'; $lang->openid = 'OpenID'; @@ -80,14 +70,6 @@ 'extra_vars' => '확장변수', ); - $lang->message_box = array( - 'R' => '받은 쪽지함', - 'S' => '보낸 쪽지함', - 'T' => '보관함', - ); - - $lang->readed_date = "읽은 시간"; - $lang->cmd_login = '로그인'; $lang->cmd_logout = '로그아웃'; $lang->cmd_signup = '회원 가입'; @@ -107,20 +89,12 @@ $lang->cmd_view_scrapped_document = '스크랩 보기'; $lang->cmd_view_saved_document = '저장함 보기'; $lang->cmd_send_email = '메일 보내기'; - $lang->cmd_send_message = '쪽지 보내기'; - $lang->cmd_reply_message = '쪽지 답장'; - $lang->cmd_view_friend = '친구 보기'; - $lang->cmd_add_friend = '친구 등록'; - $lang->cmd_view_message_box = '쪽지함 보기'; - $lang->cmd_store = "보관"; - $lang->cmd_add_friend_group = '친구 그룹 추가'; - $lang->cmd_rename_friend_group = '친구 그룹 이름 변경'; $lang->msg_email_not_exists = '이메일 주소가 존재하지 않습니다'; $lang->msg_alreay_scrapped = '이미 스크랩된 게시물입니다'; - $lang->msg_cart_is_null = '대상을 선택해주세요'; + $lang->msg_cart_is_null = '대상을 선택해주세요'; $lang->msg_checked_file_is_deleted = '%d개의 첨부파일이 삭제되었습니다'; $lang->msg_find_account_title = '아이디/ 비밀번호 정보입니다'; @@ -135,9 +109,6 @@ $lang->msg_success_authed = '인증이 정상적으로 되어 로그인 처리가 되었습니다.\n꼭 인증 메일에 표시된 비밀번호를 이용하여 원하시는 비밀번호로 변경하세요.'; $lang->msg_success_confirmed = '가입 인증이 정상적으로 처리 되었습니다.'; - $lang->msg_no_message = '쪽지가 없습니다'; - $lang->message_received = '쪽지가 왔습니다'; - $lang->msg_new_member = '회원 추가'; $lang->msg_update_member = '회원 정보 수정'; $lang->msg_leave_member = '회원 탈퇴'; @@ -151,10 +122,6 @@ $lang->msg_signup_disabled = '회원 가입을 하실 수 없습니다'; $lang->msg_already_logged = '이미 회원 가입을 하신 상태입니다'; $lang->msg_not_logged = '로그인을 하지 않으셨습니다'; - $lang->msg_title_is_null = '쪽지 제목을 입력해주세요'; - $lang->msg_content_is_null = '내용을 입력해주세요'; - $lang->msg_allow_message_to_friend = '친구에게만 쪽지 수신을 허용한 사용자라서 쪽지 발송을 하지 못했습니다'; - $lang->msg_disallow_message = '쪽지 수신을 거부한 사용자라서 쪽지 발송을 하지 못했습니다'; $lang->msg_insert_group_name = '그룹명을 입력해 주세요'; $lang->msg_check_group = '그룹을 선택해 주세요'; @@ -177,7 +144,6 @@ $lang->about_blog_url = '운영하는 블로그가 있을 경우 입력해주세요'; $lang->about_birthday = '생년월일을 입력해주세요'; $lang->about_allow_mailing = '메일링 가입이 체크되지 않으면 단체메일 발송시 메일을 받지 않습니다'; - $lang->about_allow_message = '쪽지 수신 여부를 결정할 수 있습니다'; $lang->about_denied = '체크시 아이디를 사용할 수 없도록 합니다'; $lang->about_is_admin = '체크시 최고 관리자 권한을 가지게 됩니다'; $lang->about_description = '회원에 대한 관리자 메모입니다'; diff --git a/modules/member/lang/ru.lang.php b/modules/member/lang/ru.lang.php index 462969f6f..9f817ef3a 100644 --- a/modules/member/lang/ru.lang.php +++ b/modules/member/lang/ru.lang.php @@ -21,12 +21,6 @@ $lang->invalid_user_id= "Указанный ID не существует"; $lang->invalid_password = 'Неверный пароль'; $lang->allow_mailing = 'Присоединиться к списку рассылки'; - $lang->allow_message = 'Разрешить прием сообщений'; - $lang->allow_message_type = array( - 'Y' => 'Принимать все', - 'N' => 'Отклонять все', - 'F' => 'Только друзья', - ); $lang->denied = 'Отказано'; $lang->is_admin = 'Суперадминистративные права'; $lang->group = 'Присвоенная группа'; @@ -54,10 +48,6 @@ $lang->redirect_url = 'URL после регистрации'; $lang->agreement = 'Пользовательское соглашение о регистрации'; $lang->accept_agreement = 'Согласен'; - $lang->sender = 'Отправитель'; - $lang->receiver = 'Получатель'; - $lang->friend_group = 'Группа друзей'; - $lang->default_friend_group = 'Неприсвоенная группа'; $lang->member_info = 'Пользовательская информация'; $lang->current_password = 'Текущий пароль'; $lang->openid = 'OpenID'; @@ -78,13 +68,6 @@ 'extra_vars' => 'Экстра перем.', ); - $lang->message_box = array( - 'R' => 'Принятые', - 'S' => 'Отправленные', - 'T' => 'Почтовый ящик', - ); - - $lang->readed_date = "Дата прочтения"; $lang->cmd_login = 'Войти'; $lang->cmd_logout = 'Выйти'; @@ -105,14 +88,6 @@ $lang->cmd_view_scrapped_document = 'Черновики'; $lang->cmd_view_saved_document = 'Просмотреть сохраненные статьи'; $lang->cmd_send_email = 'Отправить почту'; - $lang->cmd_send_message = 'Отправить сообщение'; - $lang->cmd_reply_message = 'Ответить'; - $lang->cmd_view_friend = 'Дзузья'; - $lang->cmd_add_friend = 'Сделать другом'; - $lang->cmd_view_message_box = 'Ящик сообщений'; - $lang->cmd_store = "Сохранить"; - $lang->cmd_add_friend_group = 'Добавить группу друзей'; - $lang->cmd_rename_friend_group = 'Изменить имя группы друзей'; $lang->msg_email_not_exists = "Email адрес не существует"; @@ -133,8 +108,6 @@ $lang->msg_success_authed = 'Ваш аккаунт был успешно аутентифицирован.\nВход произведен. Пожалуйста, измените пароль на Ваш собственный.'; $lang->msg_success_confirmed = '가입 인증이 정상적으로 처리 되었습니다.'; - $lang->msg_no_message = 'Нет сообщений'; - $lang->message_received = 'Новое сообщение'; $lang->msg_new_member = 'Добавить пользователя'; $lang->msg_update_member = 'Изменить информацию пользователя'; @@ -149,10 +122,6 @@ $lang->msg_signup_disabled = 'Вы не можете зарегистрироваться'; $lang->msg_already_logged = 'Вы уже зарегистрированы'; $lang->msg_not_logged = 'Пожалуйста, сначала войдите'; - $lang->msg_title_is_null = 'Пожалуйста, введите тему сообщения'; - $lang->msg_content_is_null = 'Пожалуйста, введите содержание'; - $lang->msg_allow_message_to_friend = "Отправка провалена, поскольку получатель принимает сообщения только от друзей"; - $lang->msg_disallow_message = 'Отправка провалена, поскольку получатель отклоняет прием сообщений'; $lang->msg_insert_group_name = 'Пожалуйста, введите имя группы'; $lang->msg_check_group = 'Введите имя группы'; @@ -174,7 +143,6 @@ $lang->about_blog_url = 'Пожалуйста, введите, если у Вас есть блог'; $lang->about_birthday = 'Пожалуйста, введите Вашу дату рождения'; $lang->about_allow_mailing = "Если Вы не присоединитесь к списку рассылки, Вы не сможете получать почтовые сообщения, направленные Вашей группе"; - $lang->about_allow_message = 'Вы можете определить политику принятия сообщений'; $lang->about_denied = 'Запретить ID'; $lang->about_is_admin = 'Наделить Суперадминистративными правами'; $lang->about_description = "Заметки администратора о пользователях"; diff --git a/modules/member/lang/zh-CN.lang.php b/modules/member/lang/zh-CN.lang.php index 23d3a637e..4814d6673 100644 --- a/modules/member/lang/zh-CN.lang.php +++ b/modules/member/lang/zh-CN.lang.php @@ -21,12 +21,6 @@ $lang->invalid_user_id= '该用户名不存在,请检查您的输入是否有误!'; $lang->invalid_password = '您的密码不正确!'; $lang->allow_mailing = '接收邮件'; - $lang->allow_message = '允许接收短消息'; - $lang->allow_message_type = array( - 'Y' => '全部接收', - 'N' => '拒收', - 'F' => '只允许好友', - ); $lang->denied = '禁止使用'; $lang->is_admin = '最高管理权限'; $lang->group = '用户组'; @@ -55,10 +49,6 @@ $lang->redirect_url = '注册会员后页面转向'; $lang->agreement = '会员注册条款'; $lang->accept_agreement = '同意条款'; - $lang->sender = '寄件人'; - $lang->receiver = '收件人'; - $lang->friend_group = '好友组'; - $lang->default_friend_group = '组未指定'; $lang->member_info = '会员信息'; $lang->current_password = '当前密码'; $lang->openid = 'OpenID'; @@ -80,13 +70,6 @@ 'extra_vars' => '扩展变数', ); - $lang->message_box = array( - 'R' => '收件箱', - 'S' => '发件箱', - 'T' => '保管箱', - ); - - $lang->readed_date = "阅读日期"; $lang->cmd_login = '登录'; $lang->cmd_logout = '退出'; @@ -107,14 +90,6 @@ $lang->cmd_view_scrapped_document = '查看收藏'; $lang->cmd_view_saved_document = '查看临时保存箱'; $lang->cmd_send_email = '发送邮件'; - $lang->cmd_send_message = '发送短消息'; - $lang->cmd_reply_message = '回复短消息'; - $lang->cmd_view_friend = '查看好友'; - $lang->cmd_add_friend = '加为好友'; - $lang->cmd_view_message_box = '查看短信箱'; - $lang->cmd_store = "保管"; - $lang->cmd_add_friend_group = '添加好友组'; - $lang->cmd_rename_friend_group = '修改好友组名称'; $lang->msg_email_not_exists = "没有找到您输入的Email地址。"; @@ -135,9 +110,6 @@ $lang->msg_success_authed = '新的注册信息已得到认证。请用邮件中的新密码修改您要想使用的密码。'; $lang->msg_success_confirmed = '注册信息已成功激活!'; - $lang->msg_no_message = '没有短消息。'; - $lang->message_received = '您有新消息。'; - $lang->msg_new_member = '会员注册'; $lang->msg_update_member = '修改会员信息'; $lang->msg_leave_member = '注销会员'; @@ -151,10 +123,6 @@ $lang->msg_signup_disabled = '不能注册会员'; $lang->msg_already_logged = '您是注册会员。'; $lang->msg_not_logged = '您还没有登录。'; - $lang->msg_title_is_null = '请输入短消息标题。'; - $lang->msg_content_is_null = '请输入内容。'; - $lang->msg_allow_message_to_friend = '因其为只允许接收好友短消息的用户,所以不能发送短消息。'; - $lang->msg_disallow_message = '因其为拒绝接收短消息的用户,所以不能发送短消息。'; $lang->msg_insert_group_name = '请输入组名称'; $lang->msg_check_group = '请选择组'; @@ -177,7 +145,6 @@ $lang->about_blog_url = '请输入博客地址。'; $lang->about_birthday = '请输入您的出生年月日。'; $lang->about_allow_mailing = '如不选择此项,以后不能接收站内发送的重要信息。'; - $lang->about_allow_message = '可以选择短消息接收与否。'; $lang->about_denied = '选择时不能使用此用户名。'; $lang->about_is_admin = '选择时将具有最高管理权限。'; $lang->about_description = '管理员对会员的笔记。'; diff --git a/modules/member/member.admin.view.php b/modules/member/member.admin.view.php index bf03a1cd9..e84a1d3ee 100644 --- a/modules/member/member.admin.view.php +++ b/modules/member/member.admin.view.php @@ -77,19 +77,19 @@ if(!$config->profile_image_max_height) $config->profile_image_max_height = 80; if(!$config->skin) $config->skin = "default"; if(!$config->editor_skin) $config->editor_skin = "default"; - - // 에디터 스킨 목록을 구함 - $editor_skin_list = FileHandler::readDir('./modules/editor/skins'); - Context::set('editor_skin_list', $editor_skin_list); - Context::set('config',$config); // 회원 관리 모듈의 스킨 목록을 구함 $skin_list = $oModuleModel->getSkins($this->module_path); Context::set('skin_list', $skin_list); - // 에디터를 받음 + // 에디터 모델 객체 생성 $oEditorModel = &getModel('editor'); + + // 에디터 스킨 목록을 구함 + Context::set('editor_skin_list', $oEditorModel->getEditorSkinList()); + + // 에디터를 받음 $option->primary_key_name = 'temp_srl'; $option->content_key_name = 'agreement'; $option->allow_fileupload = false; diff --git a/modules/member/member.class.php b/modules/member/member.class.php index 560882f67..55e1964ae 100644 --- a/modules/member/member.class.php +++ b/modules/member/member.class.php @@ -50,14 +50,6 @@ $oModuleController->insertActionForward('member', 'view', 'dispMemberSavedDocument'); $oModuleController->insertActionForward('member', 'view', 'dispMemberFindAccount'); - $oModuleController->insertActionForward('member', 'view', 'dispMemberMessages'); - $oModuleController->insertActionForward('member', 'view', 'dispMemberSendMessage'); - $oModuleController->insertActionForward('member', 'view', 'dispMemberNewMessage'); - - $oModuleController->insertActionForward('member', 'view', 'dispMemberFriend'); - $oModuleController->insertActionForward('member', 'view', 'dispMemberAddFriend'); - $oModuleController->insertActionForward('member', 'view', 'dispMemberAddFriendGroup'); - $oModuleController->insertActionForward('member', 'view', 'dispMemberAdminList'); $oModuleController->insertActionForward('member', 'view', 'dispMemberAdminConfig'); $oModuleController->insertActionForward('member', 'view', 'dispMemberAdminInsert'); @@ -151,7 +143,6 @@ 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'); return new Object(); } @@ -222,7 +213,6 @@ 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'); FileHandler::makeDir('./files/member_extra_info/profile_image'); // DB 필드 추가 diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 7a5ccde5a..28a40ce36 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -152,233 +152,6 @@ return $output; } - /** - * @brief 쪽지함 설정 변경 - **/ - function procMemberUpdateAllowMessage() { - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); - - $args->allow_message = Context::get('allow_message'); - if(!in_array($args->allow_message, array('Y','N','F'))) $args->allow_message = 'Y'; - - $logged_info = Context::get('logged_info'); - $args->member_srl = $logged_info->member_srl; - - $output = executeQuery('member.updateAllowMessage', $args); - - return $output; - } - - /** - * @brief 쪽지 발송 - **/ - function procMemberSendMessage() { - // 로그인 정보 체크 - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); - $logged_info = Context::get('logged_info'); - - // 변수 검사 - $receiver_srl = Context::get('receiver_srl'); - if(!$receiver_srl) return new Object(-1, 'msg_not_exists_member'); - - $title = trim(Context::get('title')); - if(!$title) return new Object(-1, 'msg_title_is_null'); - - $content = trim(Context::get('content')); - if(!$content) return new Object(-1, 'msg_content_is_null'); - - $send_mail = Context::get('send_mail'); - if($send_mail != 'Y') $send_mail = 'N'; - - // 받을 회원이 있는지에 대한 검사 - $oMemberModel = &getModel('member'); - $receiver_member_info = $oMemberModel->getMemberInfoByMemberSrl($receiver_srl); - if($receiver_member_info->member_srl != $receiver_srl) return new Object(-1, 'msg_not_exists_member'); - - // 받을 회원의 쪽지 수신여부 검사 (최고관리자이면 패스) - if($logged_info->is_admin != 'Y') { - if($receiver_member_info->allow_message == 'F') { - if(!$oMemberModel->isFriend($receiver_member_info->member_srl)) return new object(-1, 'msg_allow_message_to_friend'); - } elseif($receiver_member_info->allow_messge == 'N') { - return new object(-1, 'msg_disallow_message'); - } - } - - // 쪽지 발송 - $output = $this->sendMessage($logged_info->member_srl, $receiver_srl, $title, $content); - - // 메일로도 발송 - if($output->toBool() && $send_mail == 'Y') { - $view_url = Context::getRequestUri(); - $content = sprintf("%s

From : %s",$content, $view_url, $view_url); - $oMail = new Mail(); - $oMail->setTitle($title); - $oMail->setContent($content); - $oMail->setSender($logged_info->user_name, $logged_info->email_address); - $oMail->setReceiptor($receiver_member_info->user_name, $receiver_member_info->email_address); - $oMail->send(); - } - - return $output; - } - - function sendMessage($sender_srl, $receiver_srl, $title, $content, $sender_log = true) { - $content = removeHackTag($content); - - // 보내는 사용자의 쪽지함에 넣을 쪽지 - $sender_args->sender_srl = $sender_srl; - $sender_args->receiver_srl = $receiver_srl; - $sender_args->message_type = 'S'; - $sender_args->title = $title; - $sender_args->content = $content; - $sender_args->readed = 'N'; - $sender_args->regdate = date("YmdHis"); - $sender_args->related_srl = getNextSequence(); - $sender_args->message_srl = getNextSequence(); - $sender_args->list_order = getNextSequence()*-1; - - // 받는 회원의 쪽지함에 넣을 쪽지 - $receiver_args->message_srl = $sender_args->related_srl; - $receiver_args->related_srl = 0; - $receiver_args->list_order = $sender_args->related_srl*-1; - $receiver_args->sender_srl = $sender_srl; - if(!$receiver_args->sender_srl) $receiver_args->sender_srl = $receiver_srl; - $receiver_args->receiver_srl = $receiver_srl; - $receiver_args->message_type = 'R'; - $receiver_args->title = $title; - $receiver_args->content = $content; - $receiver_args->readed = 'N'; - $receiver_args->regdate = date("YmdHis"); - - $oDB = &DB::getInstance(); - $oDB->begin(); - - // 발송하는 회원의 쪽지함에 넣을 쪽지 - if($sender_srl && $sender_log) { - $output = executeQuery('member.sendMessage', $sender_args); - if(!$output->toBool()) { - $oDB->rollback(); - return $output; - } - } - - // 받을 회원의 쪽지함에 넣을 쪽지 - $output = executeQuery('member.sendMessage', $receiver_args); - if(!$output->toBool()) { - $oDB->rollback(); - return $output; - } - - // 받는 회원의 쪽지 발송 플래그 생성 (파일로 생성) - $flag_path = './files/member_extra_info/new_message_flags/'.getNumberingPath($receiver_srl); - FileHandler::makeDir($flag_path); - $flag_file = sprintf('%s%s', $flag_path, $receiver_srl); - FileHandler::writeFile($flag_file,'1'); - - $oDB->commit(); - - return new Object(0,'success_sended'); - } - - /** - * @brief 특정 쪽지를 보관함으로 보냄 - **/ - function procMemberStoreMessage() { - // 로그인 정보 체크 - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); - $logged_info = Context::get('logged_info'); - - // 변수 체크 - $message_srl = Context::get('message_srl'); - if(!$message_srl) return new Object(-1,'msg_invalid_request'); - - // 쪽지를 가져옴 - $oMemberModel = &getModel('member'); - $message = $oMemberModel->getSelectedMessage($message_srl); - if(!$message || $message->message_type != 'R') return new Object(-1,'msg_invalid_request'); - - $args->message_srl = $message_srl; - $args->receiver_srl = $logged_info->member_srl; - $output = executeQuery('member.setMessageStored', $args); - if(!$output->toBool()) return $output; - - $this->setMessage('success_registed'); - } - - /** - * @brief 쪽지 삭제 - **/ - function procMemberDeleteMessage() { - // 로그인 정보 체크 - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); - $logged_info = Context::get('logged_info'); - $member_srl = $logged_info->member_srl; - - // 변수 체크 - $message_srl = Context::get('message_srl'); - if(!$message_srl) return new Object(-1,'msg_invalid_request'); - - // 쪽지를 가져옴 - $oMemberModel = &getModel('member'); - $message = $oMemberModel->getSelectedMessage($message_srl); - if(!$message) return new Object(-1,'msg_invalid_request'); - - // 발송인+type=S or 수신인+type=R 검사 - if($message->sender_srl == $member_srl && $message->message_type == 'S') { - if(!$message_srl) return new Object(-1, 'msg_invalid_request'); - } elseif($message->receiver_srl == $member_srl && $message->message_type == 'R') { - if(!$message_srl) return new Object(-1, 'msg_invalid_request'); - } - - // 삭제 - $args->message_srl = $message_srl; - $output = executeQuery('member.deleteMessage', $args); - if(!$output->toBool()) return $output; - - $this->setMessage('success_deleted'); - } - - /** - * @brief 선택된 다수의 쪽지 삭제 - **/ - function procMemberDeleteMessages() { - // 로그인 정보 체크 - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); - $logged_info = Context::get('logged_info'); - $member_srl = $logged_info->member_srl; - - // 변수 체크 - $message_srl_list = trim(Context::get('message_srl_list')); - if(!$message_srl_list) return new Object(-1, 'msg_cart_is_null'); - - $message_srl_list = explode('|@|', $message_srl_list); - if(!count($message_srl_list)) return new Object(-1, 'msg_cart_is_null'); - - $message_type = Context::get('message_type'); - if(!$message_type || !in_array($message_type, array('R','S','T'))) return new Object(-1, 'msg_invalid_request'); - - $message_count = count($message_srl_list); - $target = array(); - for($i=0;$i<$message_count;$i++) { - $message_srl = (int)trim($message_srl_list[$i]); - if(!$message_srl) continue; - $target[] = $message_srl; - } - if(!count($target)) return new Object(-1,'msg_cart_is_null'); - - // 삭제 - $args->message_srls = implode(',',$target); - $args->message_type = $message_type; - - if($message_type == 'S') $args->sender_srl = $member_srl; - else $args->receiver_srl = $member_srl; - - $output = executeQuery('member.deleteMessages', $args); - if(!$output->toBool()) return $output; - - $this->setMessage('success_deleted'); - } - /** * @brief 스크랩 기능 **/ @@ -493,175 +266,6 @@ $oDocumentController->deleteDocument($document_srl, true); } - /** - * @brief 친구 추가 - **/ - function procMemberAddFriend() { - // 로그인 정보 체크 - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); - $logged_info = Context::get('logged_info'); - - $target_srl = (int)trim(Context::get('target_srl')); - if(!$target_srl) return new Object(-1,'msg_invalid_request'); - - // 변수 정리 - $args->friend_srl = getNextSequence(); - $args->list_order = $args->friend_srl * -1; - $args->friend_group_srl = Context::get('friend_group_srl'); - $args->member_srl = $logged_info->member_srl; - $args->target_srl = $target_srl; - $output = executeQuery('member.addFriend', $args); - if(!$output->toBool()) return $output; - - $this->add('member_srl', $target_srl); - $this->setMessage('success_registed'); - } - - /** - * @brief 등록된 친구의 그룹 이동 - **/ - function procMemberMoveFriend() { - // 로그인 정보 체크 - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); - $logged_info = Context::get('logged_info'); - - // 변수 체크 - $friend_srl_list = trim(Context::get('friend_srl_list')); - if(!$friend_srl_list) return new Object(-1, 'msg_cart_is_null'); - - $friend_srl_list = explode('|@|', $friend_srl_list); - if(!count($friend_srl_list)) return new Object(-1, 'msg_cart_is_null'); - - $friend_count = count($friend_srl_list); - $target = array(); - for($i=0;$i<$friend_count;$i++) { - $friend_srl = (int)trim($friend_srl_list[$i]); - if(!$friend_srl) continue; - $target[] = $friend_srl; - } - if(!count($target)) return new Object(-1,'msg_cart_is_null'); - - // 변수 정리 - $args->friend_srls = implode(',',$target); - $args->member_srl = $logged_info->member_srl; - $args->friend_group_srl = Context::get('target_friend_group_srl'); - - $output = executeQuery('member.moveFriend', $args); - if(!$output->toBool()) return $output; - - $this->setMessage('success_moved'); - } - - /** - * @brief 친구 삭제 - **/ - function procMemberDeleteFriend() { - // 로그인 정보 체크 - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); - $logged_info = Context::get('logged_info'); - $member_srl = $logged_info->member_srl; - - // 변수 체크 - $friend_srl_list = trim(Context::get('friend_srl_list')); - if(!$friend_srl_list) return new Object(-1, 'msg_cart_is_null'); - - $friend_srl_list = explode('|@|', $friend_srl_list); - if(!count($friend_srl_list)) return new Object(-1, 'msg_cart_is_null'); - - $friend_count = count($friend_srl_list); - $target = array(); - for($i=0;$i<$friend_count;$i++) { - $friend_srl = (int)trim($friend_srl_list[$i]); - if(!$friend_srl) continue; - $target[] = $friend_srl; - } - if(!count($target)) return new Object(-1,'msg_cart_is_null'); - - // 삭제 - $args->friend_srls = implode(',',$target); - $args->member_srl = $logged_info->member_srl; - $output = executeQuery('member.deleteFriend', $args); - if(!$output->toBool()) return $output; - - $this->setMessage('success_deleted'); - } - - /** - * @brief 친구 그룹 추가 - **/ - function procMemberAddFriendGroup() { - // 로그인 정보 체크 - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); - $logged_info = Context::get('logged_info'); - - // 변수 정리 - $args->friend_group_srl = trim(Context::get('friend_group_srl')); - $args->member_srl = $logged_info->member_srl; - $args->title = Context::get('title'); - if(!$args->title) return new Object(-1, 'msg_invalid_request'); - - // friend_group_srl이 있으면 수정 - if($args->friend_group_srl) { - $output = executeQuery('member.renameFriendGroup', $args); - $msg_code = 'success_updated'; - - // 아니면 입력 - } else { - $output = executeQuery('member.addFriendGroup', $args); - $msg_code = 'success_registed'; - } - - if(!$output->toBool()) return $output; - - $this->setMessage($msg_code); - } - - /** - * @brief 친구 그룹 이름 변경 - **/ - function procMemberRenameFriendGroup() { - // 로그인 정보 체크 - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); - $logged_info = Context::get('logged_info'); - - // 변수 정리 - $args->friend_group_srl= Context::get('friend_group_srl'); - $args->member_srl = $logged_info->member_srl; - $args->title = Context::get('title'); - if(!$args->title) return new Object(-1, 'msg_invalid_request'); - - $output = executeQuery('member.renameFriendGroup', $args); - if(!$output->toBool()) return $output; - - $this->setMessage('success_updated'); - } - - /** - * @brief 친구 그룹 삭제 - **/ - function procMemberDeleteFriendGroup() { - // 로그인 정보 체크 - if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged'); - $logged_info = Context::get('logged_info'); - - // 변수 정리 - $args->friend_group_srl = Context::get('friend_group_srl'); - $args->member_srl = $logged_info->member_srl; - $output = executeQuery('member.deleteFriendGroup', $args); - if(!$output->toBool()) return $output; - - $this->setMessage('success_deleted'); - } - - /** - * @brief 특정 쪽지의 상태를 읽은 상태로 변경 - **/ - function setMessageReaded($message_srl) { - $args->message_srl = $message_srl; - $args->related_srl = $message_srl; - return executeQuery('member.setMessageReaded', $args); - } - /** * @brief 회원 가입시 특정 항목들에 대한 값 체크 **/ diff --git a/modules/member/member.model.php b/modules/member/member.model.php index e107e1a28..006a033d0 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -496,163 +496,6 @@ return $GLOBALS['__member_info__']['signature'][$member_srl]; } - /** - * @brief 쪽지 내용을 가져옴 - **/ - function getSelectedMessage($message_srl) { - $logged_info = Context::get('logged_info'); - - $args->message_srl = $message_srl; - $output = executeQuery('member.getMessage',$args); - $message = $output->data; - if(!$message) return ; - - // 보낸 쪽지일 경우 받는 사람 정보를 구함 - if($message->sender_srl == $logged_info->member_srl && $message->message_type == 'S') $member_info = $this->getMemberInfoByMemberSrl($message->receiver_srl); - - // 보관/받은 쪽지일 경우 보낸 사람 정보를 구함 - else $member_info = $this->getMemberInfoByMemberSrl($message->sender_srl); - - if($member_info) { - foreach($member_info as $key => $val) { - if($key != 'regdate') $message->{$key} = $val; - } - } - - // 받은 쪽지이고 아직 읽지 않았을 경우 읽은 상태로 변경 - if($message->message_type == 'R' && $message->readed != 'Y') { - $oMemberController = &getController('member'); - $oMemberController->setMessageReaded($message_srl); - } - - - return $message; - } - - /** - * @brief 새 쪽지를 가져옴 - **/ - function getNewMessage() { - $logged_info = Context::get('logged_info'); - $args->receiver_srl = $logged_info->member_srl; - $args->readed = 'N'; - - $output = executeQuery('member.getNewMessage', $args); - if(!count($output->data)) return; - $message = array_pop($output->data); - - $oMemberController = &getController('member'); - $oMemberController->setMessageReaded($message->message_srl); - - return $message; - } - - /** - * @brief 쪽지 목록 가져오기 - * type = R : 받은 쪽지 - * type = S : 보낸 쪽지 - * type = T : 보관함 - **/ - function getMessages($message_type = "R") { - $logged_info = Context::get('logged_info'); - - switch($message_type) { - case 'R' : - $args->member_srl = $logged_info->member_srl; - $args->message_type = 'R'; - $query_id = 'member.getReceivedMessages'; - break; - case 'T' : - $args->member_srl = $logged_info->member_srl; - $args->message_type = 'T'; - $query_id = 'member.getStoredMessages'; - break; - default : - $args->member_srl = $logged_info->member_srl; - $args->message_type = 'S'; - $query_id = 'member.getSendedMessages'; - break; - - } - - // 기타 변수들 정리 - $args->sort_index = 'message.list_order'; - $args->page = Context::get('page'); - $args->list_count = 20; - $args->page_count = 10; - return executeQuery($query_id, $args); - } - - /** - * @brief 친구 목록 가져오기 - **/ - function getFriends($friend_group_srl = 0) { - $logged_info = Context::get('logged_info'); - - $args->friend_group_srl = $friend_group_srl; - $args->member_srl = $logged_info->member_srl; - - // 기타 변수들 정리 - $args->page = Context::get('page'); - $args->sort_index = 'friend.list_order'; - $args->list_count = 10; - $args->page_count = 10; - return executeQuery('member.getFriends', $args); - } - - /** - * @brief 이미 친구로 등록되었는지 검사 - **/ - function isAddedFriend($member_srl) { - $logged_info = Context::get('logged_info'); - - $args->member_srl = $logged_info->member_srl; - $args->target_srl = $member_srl; - $output = executeQuery('member.isAddedFriend', $args); - return $output->data->count; - } - - /** - * @brief 특정 친구 그룹 가져오기 - **/ - function getFriendGroupInfo($friend_group_srl) { - $logged_info = Context::get('logged_info'); - - $args->member_srl = $logged_info->member_srl; - $args->friend_group_srl = $friend_group_srl; - - $output = executeQuery('member.getFriendGroup', $args); - return $output->data; - } - - /** - * @brief 그룹 목록 가져오기 - **/ - function getFriendGroups() { - $logged_info = Context::get('logged_info'); - $args->member_srl = $logged_info->member_srl; - - $output = executeQuery('member.getFriendGroups', $args); - $group_list = $output->data; - if(!$group_list) return; - - if(!is_array($group_list)) $group_list = array($group_list); - return $group_list; - } - - /** - * @brief 특정 회원의 친구 목록에 포함되어 있는지를 확인 - **/ - function isFriend($target_srl) { - $logged_info = Context::get('logged_info'); - - $args->member_srl = $target_srl; - $args->target_srl = $logged_info->member_srl; - $output = executeQuery('member.isAddedFriend', $args); - if($output->data->count) return true; - return false; - } - /** * @brief 입력된 plain text 비밀번호와 DB에 저장된 비밀번호와의 비교 **/ diff --git a/modules/member/member.view.php b/modules/member/member.view.php index 09e222014..acb890d87 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -271,43 +271,6 @@ $this->setTemplateFile('logout'); } - /** - * @brief 쪽지함 출력 - **/ - function dispMemberMessages() { - // 로그인이 되어 있지 않으면 오류 표시 - if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); - $logged_info = Context::get('logged_info'); - - // 변수 설정 - $message_srl = Context::get('message_srl'); - $message_type = Context::get('message_type'); - if(!in_array($message_type, array('R','S','T'))) { - $message_type = 'R'; - Context::set('message_type', $message_type); - } - - $oMemberModel = &getModel('member'); - - // message_srl이 있으면 내용 추출 - if($message_srl) { - $message = $oMemberModel->getSelectedMessage($message_srl); - if($message->message_srl == $message_srl && ($message->receiver_srl == $logged_info->member_srl || $message->sender_srl == $logged_info->member_srl) ) Context::set('message', $message); - } - - // 목록 추출 - $output = $oMemberModel->getMessages($message_type); - - // 템플릿에 쓰기 위해서 context::set - Context::set('total_count', $output->total_count); - Context::set('total_page', $output->total_page); - Context::set('page', $output->page); - Context::set('message_list', $output->data); - Context::set('page_navigation', $output->page_navigation); - - $this->setTemplateFile('member_messages'); - } - /** * @brief 저장된 글 목록을 보여줌 **/ @@ -336,163 +299,6 @@ $this->setTemplateFile('saved_list_popup'); } - /** - * @brief 새 쪽지 보여줌 - **/ - function dispMemberNewMessage() { - $this->setLayoutFile('popup_layout'); - - // 로그인이 되어 있지 않으면 오류 표시 - if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); - $logged_info = Context::get('logged_info'); - - $oMemberModel = &getModel('member'); - - // 새 쪽지를 가져옴 - $message = $oMemberModel->getNewMessage(); - if($message) Context::set('message', $message); - - // 플래그 삭제 - $flag_path = './files/member_extra_info/new_message_flags/'.getNumberingPath($logged_info->member_srl); - $flag_file = sprintf('%s%s', $flag_path, $logged_info->member_srl); - @unlink($flag_file); - - $this->setTemplateFile('member_new_message'); - } - - /** - * @brief 쪽지 발송 출력 - **/ - function dispMemberSendMessage() { - $this->setLayoutFile("popup_layout"); - $oMemberModel = &getModel('member'); - - // 로그인이 되어 있지 않으면 오류 표시 - if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); - $logged_info = Context::get('logged_info'); - - // 쪽지 받을 사용자 정보 구함 - $receiver_srl = Context::get('receiver_srl'); - if(!$receiver_srl || $logged_info->member_srl == $receiver_srl) return $this->stop('msg_not_logged'); - - // 답글 쪽지일 경우 원본 메세지의 글번호를 구함 - $message_srl = Context::get('message_srl'); - if($message_srl) { - $source_message = $oMemberModel->getSelectedMessage($message_srl); - if($source_message->message_srl == $message_srl && $source_message->sender_srl == $receiver_srl) { - $source_message->title = "[re] ".$source_message->title; - $source_message->content = "\r\n
\r\n
".trim($source_message->content)."
"; - Context::set('source_message', $source_message); - } - } - - $receiver_info = $oMemberModel->getMemberInfoByMemberSrl($receiver_srl); - Context::set('receiver_info', $receiver_info); - - // 에디터 모듈의 getEditor를 호출하여 서명용으로 세팅 - $oEditorModel = &getModel('editor'); - $option->primary_key_name = 'receiver_srl'; - $option->content_key_name = 'content'; - $option->allow_fileupload = false; - $option->enable_autosave = false; - $option->enable_default_component = false; - $option->enable_component = false; - $option->resizable = false; - $option->disable_html = true; - $option->height = 300; - $option->skin = $this->member_config->editor_skin; - $editor = $oEditorModel->getEditor($logged_info->member_srl, $option); - Context::set('editor', $editor); - - $this->setTemplateFile('send_message'); - } - - /** - * @brief 친구 목록 보기 - **/ - function dispMemberFriend() { - // 로그인이 되어 있지 않으면 오류 표시 - if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); - - $oMemberModel = &getModel('member'); - - // 그룹 목록을 가져옴 - $tmp_group_list = $oMemberModel->getFriendGroups(); - $group_count = count($tmp_group_list); - for($i=0;$i<$group_count;$i++) $friend_group_list[$tmp_group_list[$i]->friend_group_srl] = $tmp_group_list[$i]; - Context::set('friend_group_list', $friend_group_list); - - // 친구 목록을 가져옴 - $friend_group_srl = Context::get('friend_group_srl'); - $output = $oMemberModel->getFriends($friend_group_srl); - $friend_count = count($output->data); - if($friend_count) { - foreach($output->data as $key => $val) { - $group_srl = $val->friend_group_srl; - $group_title = $friend_group_list[$group_srl]->title; - if(!$group_title) $group_title = Context::get('default_friend_group'); - $output->data[$key]->group_title = $group_title; - } - } - - // 템플릿에 쓰기 위해서 context::set - Context::set('total_count', $output->total_count); - Context::set('total_page', $output->total_page); - Context::set('page', $output->page); - Context::set('friend_list', $output->data); - Context::set('page_navigation', $output->page_navigation); - - $this->setTemplateFile('friends_list'); - } - - /** - * @brief 친구 추가 - **/ - function dispMemberAddFriend() { - $this->setLayoutFile("popup_layout"); - - // 로그인이 되어 있지 않으면 오류 표시 - if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); - $logged_info = Context::get('logged_info'); - - $target_srl = Context::get('target_srl'); - if(!$target_srl) return $this->stop('msg_invalid_request'); - - // 대상 회원의 정보를 구함 - $oMemberModel = &getModel('member'); - $member_info = $oMemberModel->getMemberInfoByMemberSrl($target_srl); - if($member_info->member_srl != $target_srl) return $this->stop('msg_invalid_request'); - Context::set('target_info', $member_info); - - // 그룹의 목록을 구함 - $friend_group_list = $oMemberModel->getFriendGroups(); - Context::set('friend_group_list', $friend_group_list); - - $this->setTemplateFile('add_friend'); - } - - /** - * @brief 친구 그룹 추가 - **/ - function dispMemberAddFriendGroup() { - $this->setLayoutFile("popup_layout"); - - // 로그인이 되어 있지 않으면 오류 표시 - if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); - $logged_info = Context::get('logged_info'); - - // 그룹 번호가 넘어오면 수정모드로.. - $friend_group_srl = Context::get('friend_group_srl'); - if($friend_group_srl) { - $oMemberModel = &getModel('member'); - $friend_group = $oMemberModel->getFriendGroupInfo($friend_group_srl); - if($friend_group->friend_group_srl == $friend_group_srl) Context::set('friend_group', $friend_group); - } - - - $this->setTemplateFile('add_friend_group'); - } - /** * @brief 아이디/ 비밀번호 찾기 기능 **/ diff --git a/modules/member/skins/default/filter/delete_checked_friend.xml b/modules/member/skins/default/filter/delete_checked_friend.xml deleted file mode 100644 index 7fda453f2..000000000 --- a/modules/member/skins/default/filter/delete_checked_friend.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/modules/member/skins/default/filter/delete_checked_message.xml b/modules/member/skins/default/filter/delete_checked_message.xml deleted file mode 100644 index 93c79a67c..000000000 --- a/modules/member/skins/default/filter/delete_checked_message.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/modules/member/skins/default/filter/delete_friend_group.xml b/modules/member/skins/default/filter/delete_friend_group.xml deleted file mode 100644 index b6246a07f..000000000 --- a/modules/member/skins/default/filter/delete_friend_group.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/modules/member/skins/default/filter/move_friend.xml b/modules/member/skins/default/filter/move_friend.xml deleted file mode 100644 index de31a8025..000000000 --- a/modules/member/skins/default/filter/move_friend.xml +++ /dev/null @@ -1 +0,0 @@ - diff --git a/modules/member/skins/default/js/member.js b/modules/member/skins/default/js/member.js index 5ced64d67..4efd8d070 100644 --- a/modules/member/skins/default/js/member.js +++ b/modules/member/skins/default/js/member.js @@ -126,109 +126,6 @@ function doDeleteImageMark(member_srl) { procFilter(fo_obj, delete_image_mark); } - -/* 쪽지 발송 */ -function completeSendMessage(ret_obj) { - alert(ret_obj['message']); - window.close(); -} - -function doSendMessage(member_srl, message_srl) { - if(typeof(message_srl)=='undefined') message_srl = 0; - var url = current_url.setQuery('module','member').setQuery('act','dispMemberSendMessage').setQuery('receiver_srl',member_srl).setQuery('message_srl',message_srl); - popopen(url, 'sendMessage'); -} - -/* 쪽지 모두 선택 */ -function doCheckAll(obj, fo_id) { - var fo_obj = xGetElementById(fo_id); - for(var i=0; i