mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 01:01:41 +09:00
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
This commit is contained in:
parent
8e4a8dc4ed
commit
72e620a9b2
10 changed files with 119 additions and 6 deletions
|
|
@ -93,15 +93,22 @@
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function procImporterAdminSync() {
|
function procImporterAdminSync() {
|
||||||
|
$oMemberModel = &getModel('member');
|
||||||
|
$member_config = $oMemberModel->getMemberConfig();
|
||||||
|
|
||||||
|
$postFix = ($member_config->identifier == 'email_address') ? 'ByEmail' : '';
|
||||||
|
|
||||||
|
// 계정이 이메일인 경우 이메일 정보로 사용자를 싱크하도록 한다. 이때 변수명은 그대로 user_id를 사용한다.
|
||||||
|
|
||||||
/* DBMS가 CUBRID인 경우 MySQL과 동일한 방법으로는 문서 및 댓글에 대한 사용자 정보를 동기화 할 수 없으므로 예외 처리 합니다.
|
/* DBMS가 CUBRID인 경우 MySQL과 동일한 방법으로는 문서 및 댓글에 대한 사용자 정보를 동기화 할 수 없으므로 예외 처리 합니다.
|
||||||
CUBRID를 사용하지 않는 경우에만 보편적인 기존 질의문을 사용합니다. */
|
CUBRID를 사용하지 않는 경우에만 보편적인 기존 질의문을 사용합니다. */
|
||||||
$db_info = Context::getDBInfo ();
|
$db_info = Context::getDBInfo ();
|
||||||
if ($db_info->db_type != "cubrid") {
|
if ($db_info->db_type != "cubrid") {
|
||||||
$output = executeQuery('importer.updateDocumentSync');
|
$output = executeQuery('importer.updateDocumentSync'.$postFix);
|
||||||
$output = executeQuery('importer.updateCommentSync');
|
$output = executeQuery('importer.updateCommentSync'.$postFix);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$output = executeQueryArray ('importer.getDocumentMemberSrlWithUserID');
|
$output = executeQueryArray ('importer.getDocumentMemberSrlWithUserID'.$postFix);
|
||||||
if (is_array ($output->data) && count ($output->data)) {
|
if (is_array ($output->data) && count ($output->data)) {
|
||||||
$success_count = 0;
|
$success_count = 0;
|
||||||
$error_count = 0;
|
$error_count = 0;
|
||||||
|
|
@ -109,7 +116,7 @@
|
||||||
foreach ($output->data as $val) {
|
foreach ($output->data as $val) {
|
||||||
$args->user_id = $val->user_id;
|
$args->user_id = $val->user_id;
|
||||||
$args->member_srl = $val->member_srl;
|
$args->member_srl = $val->member_srl;
|
||||||
$tmp = executeQuery ('importer.updateDocumentSyncForCUBRID', $args);
|
$tmp = executeQuery ('importer.updateDocumentSyncForCUBRID'.$postFix, $args);
|
||||||
if ($tmp->toBool () === true) {
|
if ($tmp->toBool () === true) {
|
||||||
$success_count++;
|
$success_count++;
|
||||||
}
|
}
|
||||||
|
|
@ -120,7 +127,7 @@
|
||||||
}
|
}
|
||||||
} // documents section
|
} // documents section
|
||||||
|
|
||||||
$output = executeQueryArray ('importer.getCommentMemberSrlWithUserID');
|
$output = executeQueryArray ('importer.getCommentMemberSrlWithUserID'.$postFix);
|
||||||
if (is_array ($output->data) && count ($output->data)) {
|
if (is_array ($output->data) && count ($output->data)) {
|
||||||
$success_count = 0;
|
$success_count = 0;
|
||||||
$error_count = 0;
|
$error_count = 0;
|
||||||
|
|
@ -128,7 +135,7 @@
|
||||||
foreach ($output->data as $val) {
|
foreach ($output->data as $val) {
|
||||||
$args->user_id = $val->user_id;
|
$args->user_id = $val->user_id;
|
||||||
$args->member_srl = $val->member_srl;
|
$args->member_srl = $val->member_srl;
|
||||||
$tmp = executeQuery ('importer.updateCommentSyncForCUBRID', $args);
|
$tmp = executeQuery ('importer.updateCommentSyncForCUBRID'.$postFix, $args);
|
||||||
if ($tmp->toBool () === true) {
|
if ($tmp->toBool () === true) {
|
||||||
$success_count++;
|
$success_count++;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
<query id="getCommentMemberSrlWithUserIDByEmail" action="select">
|
||||||
|
<tables>
|
||||||
|
<table name="member" alias="member" />
|
||||||
|
<table name="comments" alias="comments" />
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="member.member_srl" alias="member_srl" />
|
||||||
|
<column name="member.email_address" alias="user_id" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="equal" column="comments.email_address" default="member.email_address" />
|
||||||
|
</conditions>
|
||||||
|
<groups>
|
||||||
|
<group column="member_srl" />
|
||||||
|
</groups>
|
||||||
|
<navigation>
|
||||||
|
<index var="member_srl" default="member_srl" order="asc" />
|
||||||
|
</navigation>
|
||||||
|
</query>
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
<query id="getDocumentMemberSrlWithUserIDByEmail" action="select">
|
||||||
|
<tables>
|
||||||
|
<table name="member" alias="member" />
|
||||||
|
<table name="documents" alias="documents" />
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="member.member_srl" alias="member_srl" />
|
||||||
|
<column name="member.email_address" alias="user_id" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="equal" column="documents.email_address" default="member.email_address" />
|
||||||
|
</conditions>
|
||||||
|
<groups>
|
||||||
|
<group column="member_srl" />
|
||||||
|
</groups>
|
||||||
|
<navigation>
|
||||||
|
<index var="member_srl" default="member_srl" order="asc" />
|
||||||
|
</navigation>
|
||||||
|
</query>
|
||||||
12
modules/importer/queries/updateCommentSyncByEmail.xml
Normal file
12
modules/importer/queries/updateCommentSyncByEmail.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
<query id="updateCommentSyncByEmail" action="update">
|
||||||
|
<tables>
|
||||||
|
<table name="comments" alias="comments" />
|
||||||
|
<table name="member" alias="member" />
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="comments.member_srl" default="member.member_srl" filter="number" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="equal" column="comments.email_address" default="member.email_address" />
|
||||||
|
</conditions>
|
||||||
|
</query>
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
<query id="updateCommentSyncForCUBRIDByEmail" action="update">
|
||||||
|
<tables>
|
||||||
|
<table name="comments" />
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="member_srl" var="member_srl" filter="number" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="equal" column="email_address" var="user_id" />
|
||||||
|
</conditions>
|
||||||
|
</query>
|
||||||
12
modules/importer/queries/updateDocumentSyncByEmail.xml
Normal file
12
modules/importer/queries/updateDocumentSyncByEmail.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
<query id="updateDocumentSyncByEmail" action="update">
|
||||||
|
<tables>
|
||||||
|
<table name="documents" alias="documents" />
|
||||||
|
<table name="member" alias="member" />
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="documents.member_srl" default="member.member_srl" filter="number" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="equal" column="documents.email_address" default="member.email_address" />
|
||||||
|
</conditions>
|
||||||
|
</query>
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
<query id="updateDocumentSyncForCUBRIDByEmail" action="update">
|
||||||
|
<tables>
|
||||||
|
<table name="documents" />
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<column name="member_srl" var="member_srl" filter="number" />
|
||||||
|
</columns>
|
||||||
|
<conditions>
|
||||||
|
<condition operation="equal" column="email_address" var="user_id" />
|
||||||
|
</conditions>
|
||||||
|
</query>
|
||||||
|
|
@ -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,
|
||||||
<value xml:lang="en"><![CDATA[Member Configuration]]></value>
|
<value xml:lang="en"><![CDATA[Member Configuration]]></value>
|
||||||
<value xml:lang="zh-TW"><![CDATA[會員設定]]></value>
|
<value xml:lang="zh-TW"><![CDATA[會員設定]]></value>
|
||||||
</item>
|
</item>
|
||||||
|
<item name="cmd_member_sync">
|
||||||
|
<value xml:lang="ko"><![CDATA[회원정보 동기화]]></value>
|
||||||
|
</item>
|
||||||
|
<item name="about_member_sync">
|
||||||
|
<value xml:lang="ko"><![CDATA[회원정보와 게시물과 댓글 정보를 동기화 합니다. 데이터가 많은 경우 시간이 오래 소요될 수 있습니다. 이용자가 많은 경우 반드시 서비스를 중단하시고 진행하시기 바랍니다.]]></value>
|
||||||
|
</item>
|
||||||
<item name="msg_success_modify_email_address">
|
<item name="msg_success_modify_email_address">
|
||||||
<value xml:lang="ko"><![CDATA[이메일 주소가 정상적으로 변경되었습니다. 변경된 이메일 주소로 로그인 가능합니다.]]></value>
|
<value xml:lang="ko"><![CDATA[이메일 주소가 정상적으로 변경되었습니다. 변경된 이메일 주소로 로그인 가능합니다.]]></value>
|
||||||
</item>
|
</item>
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form action="./" class="form" ruleset="insertConfig" method="post">
|
<form action="./" class="form" ruleset="insertConfig" method="post">
|
||||||
<input type="hidden" name="module" value="member" />
|
<input type="hidden" name="module" value="member" />
|
||||||
<input type="hidden" name="act" value="procMemberAdminInsertConfig" />
|
<input type="hidden" name="act" value="procMemberAdminInsertConfig" />
|
||||||
|
|
@ -220,6 +221,12 @@
|
||||||
<span class="btn medium"><input type="submit" value="{$lang->cmd_save}" /></span>
|
<span class="btn medium"><input type="submit" value="{$lang->cmd_save}" /></span>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
<h2 class="h2">{$lang->cmd_member_sync}</h2>
|
||||||
|
<div class="form">
|
||||||
|
<span class="btn small"><input type="button" value="{$lang->cmd_member_sync}" class="__sync" /></span>
|
||||||
|
<p class="description">{$lang->about_member_sync}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="modal" id="userDefine">
|
<div class="modal" id="userDefine">
|
||||||
<form action="./" class="fg form" ruleset="insertJoinForm" method="post">
|
<form action="./" class="fg form" ruleset="insertJoinForm" method="post">
|
||||||
<input type="hidden" name="module" value="member" />
|
<input type="hidden" name="module" value="member" />
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue