From 72e620a9b2feaf3ac06ffe6a102b93f23bcdbfc6 Mon Sep 17 00:00:00 2001 From: devjin Date: Tue, 7 Aug 2012 05:20:57 +0000 Subject: [PATCH] issue 1118 add a function that sync member info and document/comment in member configuration page. git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@10990 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- .../importer/importer.admin.controller.php | 19 +++++++++++++------ .../getCommentMemberSrlWithUserIDByEmail.xml | 19 +++++++++++++++++++ .../getDocumentMemberSrlWithUserIDByEmail.xml | 19 +++++++++++++++++++ .../queries/updateCommentSyncByEmail.xml | 12 ++++++++++++ .../updateCommentSyncForCUBRIDByEmail.xml | 11 +++++++++++ .../queries/updateDocumentSyncByEmail.xml | 12 ++++++++++++ .../updateDocumentSyncForCUBRIDByEmail.xml | 11 +++++++++++ modules/member/lang/lang.xml | 6 ++++++ modules/member/tpl/js/member_admin_config.js | 9 +++++++++ modules/member/tpl/member_config.html | 7 +++++++ 10 files changed, 119 insertions(+), 6 deletions(-) create mode 100644 modules/importer/queries/getCommentMemberSrlWithUserIDByEmail.xml create mode 100644 modules/importer/queries/getDocumentMemberSrlWithUserIDByEmail.xml create mode 100644 modules/importer/queries/updateCommentSyncByEmail.xml create mode 100644 modules/importer/queries/updateCommentSyncForCUBRIDByEmail.xml create mode 100644 modules/importer/queries/updateDocumentSyncByEmail.xml create mode 100644 modules/importer/queries/updateDocumentSyncForCUBRIDByEmail.xml diff --git a/modules/importer/importer.admin.controller.php b/modules/importer/importer.admin.controller.php index 59acd4cc8..53e436997 100644 --- a/modules/importer/importer.admin.controller.php +++ b/modules/importer/importer.admin.controller.php @@ -93,15 +93,22 @@ * @return void */ function procImporterAdminSync() { + $oMemberModel = &getModel('member'); + $member_config = $oMemberModel->getMemberConfig(); + + $postFix = ($member_config->identifier == 'email_address') ? 'ByEmail' : ''; + + // 계정이 이메일인 경우 이메일 정보로 사용자를 싱크하도록 한다. 이때 변수명은 그대로 user_id를 사용한다. + /* DBMS가 CUBRID인 경우 MySQL과 동일한 방법으로는 문서 및 댓글에 대한 사용자 정보를 동기화 할 수 없으므로 예외 처리 합니다. CUBRID를 사용하지 않는 경우에만 보편적인 기존 질의문을 사용합니다. */ $db_info = Context::getDBInfo (); if ($db_info->db_type != "cubrid") { - $output = executeQuery('importer.updateDocumentSync'); - $output = executeQuery('importer.updateCommentSync'); + $output = executeQuery('importer.updateDocumentSync'.$postFix); + $output = executeQuery('importer.updateCommentSync'.$postFix); } else { - $output = executeQueryArray ('importer.getDocumentMemberSrlWithUserID'); + $output = executeQueryArray ('importer.getDocumentMemberSrlWithUserID'.$postFix); if (is_array ($output->data) && count ($output->data)) { $success_count = 0; $error_count = 0; @@ -109,7 +116,7 @@ foreach ($output->data as $val) { $args->user_id = $val->user_id; $args->member_srl = $val->member_srl; - $tmp = executeQuery ('importer.updateDocumentSyncForCUBRID', $args); + $tmp = executeQuery ('importer.updateDocumentSyncForCUBRID'.$postFix, $args); if ($tmp->toBool () === true) { $success_count++; } @@ -120,7 +127,7 @@ } } // documents section - $output = executeQueryArray ('importer.getCommentMemberSrlWithUserID'); + $output = executeQueryArray ('importer.getCommentMemberSrlWithUserID'.$postFix); if (is_array ($output->data) && count ($output->data)) { $success_count = 0; $error_count = 0; @@ -128,7 +135,7 @@ foreach ($output->data as $val) { $args->user_id = $val->user_id; $args->member_srl = $val->member_srl; - $tmp = executeQuery ('importer.updateCommentSyncForCUBRID', $args); + $tmp = executeQuery ('importer.updateCommentSyncForCUBRID'.$postFix, $args); if ($tmp->toBool () === true) { $success_count++; } diff --git a/modules/importer/queries/getCommentMemberSrlWithUserIDByEmail.xml b/modules/importer/queries/getCommentMemberSrlWithUserIDByEmail.xml new file mode 100644 index 000000000..d7c9f837d --- /dev/null +++ b/modules/importer/queries/getCommentMemberSrlWithUserIDByEmail.xml @@ -0,0 +1,19 @@ + + + +
+ + + + + + + + + + + + + + + diff --git a/modules/importer/queries/getDocumentMemberSrlWithUserIDByEmail.xml b/modules/importer/queries/getDocumentMemberSrlWithUserIDByEmail.xml new file mode 100644 index 000000000..87e09d208 --- /dev/null +++ b/modules/importer/queries/getDocumentMemberSrlWithUserIDByEmail.xml @@ -0,0 +1,19 @@ + + +
+
+ + + + + + + + + + + + + + + diff --git a/modules/importer/queries/updateCommentSyncByEmail.xml b/modules/importer/queries/updateCommentSyncByEmail.xml new file mode 100644 index 000000000..2151ec2e4 --- /dev/null +++ b/modules/importer/queries/updateCommentSyncByEmail.xml @@ -0,0 +1,12 @@ + + +
+
+ + + + + + + + diff --git a/modules/importer/queries/updateCommentSyncForCUBRIDByEmail.xml b/modules/importer/queries/updateCommentSyncForCUBRIDByEmail.xml new file mode 100644 index 000000000..d400ddcde --- /dev/null +++ b/modules/importer/queries/updateCommentSyncForCUBRIDByEmail.xml @@ -0,0 +1,11 @@ + + +
+ + + + + + + + diff --git a/modules/importer/queries/updateDocumentSyncByEmail.xml b/modules/importer/queries/updateDocumentSyncByEmail.xml new file mode 100644 index 000000000..e1eb276e2 --- /dev/null +++ b/modules/importer/queries/updateDocumentSyncByEmail.xml @@ -0,0 +1,12 @@ + + +
+
+ + + + + + + + diff --git a/modules/importer/queries/updateDocumentSyncForCUBRIDByEmail.xml b/modules/importer/queries/updateDocumentSyncForCUBRIDByEmail.xml new file mode 100644 index 000000000..d3207b092 --- /dev/null +++ b/modules/importer/queries/updateDocumentSyncForCUBRIDByEmail.xml @@ -0,0 +1,11 @@ + + +
+ + + + + + + + diff --git a/modules/member/lang/lang.xml b/modules/member/lang/lang.xml index 2526066bb..dec772a5f 100644 --- a/modules/member/lang/lang.xml +++ b/modules/member/lang/lang.xml @@ -2442,6 +2442,12 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới, + + + + + + diff --git a/modules/member/tpl/js/member_admin_config.js b/modules/member/tpl/js/member_admin_config.js index f7b679b7d..b888e1a0f 100644 --- a/modules/member/tpl/js/member_admin_config.js +++ b/modules/member/tpl/js/member_admin_config.js @@ -192,4 +192,13 @@ jQuery(function($){ } }); + $('.__sync').click(function (){ + exec_xml( + 'importer', // module + 'procImporterAdminSync', // act + null, + function(ret){if(ret && (!ret.error || ret.error == '0'))alert(ret.message);}, // callback + resp = ['error','message'] // response tags + ); + }); }); diff --git a/modules/member/tpl/member_config.html b/modules/member/tpl/member_config.html index ab1f0bfb0..a62239394 100644 --- a/modules/member/tpl/member_config.html +++ b/modules/member/tpl/member_config.html @@ -8,6 +8,7 @@

{$XE_VALIDATOR_MESSAGE}

+ @@ -220,6 +221,12 @@ +

{$lang->cmd_member_sync}

+
+ +

{$lang->about_member_sync}

+
+