diff --git a/modules/member/conf/module.xml b/modules/member/conf/module.xml
index 0407bba37..0c7b61032 100644
--- a/modules/member/conf/module.xml
+++ b/modules/member/conf/module.xml
@@ -21,12 +21,12 @@
-
-
+
+
-
+
-
+
@@ -34,6 +34,7 @@
+
@@ -43,7 +44,7 @@
-
+
@@ -66,7 +67,7 @@
-
+
@@ -76,13 +77,15 @@
+
+
-
diff --git a/modules/member/lang/lang.xml b/modules/member/lang/lang.xml
index 19ad5122e..504e9e384 100644
--- a/modules/member/lang/lang.xml
+++ b/modules/member/lang/lang.xml
@@ -2267,4 +2267,34 @@ Bạn có thể quản lý thành viên bằng cách tạo những nhóm mới,
-
-
\ No newline at end of file
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+ %s개의 금지아이디가 있습니다.]]>
+
+
diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php
index ace8ca347..289226572 100644
--- a/modules/member/member.admin.controller.php
+++ b/modules/member/member.admin.controller.php
@@ -17,7 +17,7 @@
* @brief Add a user (Administrator)
**/
function procMemberAdminInsert() {
- if(Context::getRequestMethod() == "GET") return new Object(-1, "msg_invalid_request");
+ // if(Context::getRequestMethod() == "GET") return new Object(-1, "msg_invalid_request");
// Extract the necessary information in advance
$args = Context::gets('member_srl','user_id','user_name','nick_name','homepage','blog','birthday','email_address','password','allow_mailing','allow_message','denied','is_admin','description','group_srl_list','limit_date');
// Remove some unnecessary variables from all the vars
@@ -27,6 +27,7 @@
if(!isset($args->limit_date)) $args->limit_date = "";
// Add extra vars after excluding necessary information from all the requested arguments
$extra_vars = delObjectVars($all_args, $args);
+ debugPrint($extra_vars);
$args->extra_vars = serialize($extra_vars);
// Check if an original member exists having the member_srl
if($args->member_srl) {
@@ -48,6 +49,7 @@
$output = $oMemberController->updateMember($args);
$msg_code = 'success_updated';
}
+ debugPrint($msg_code);
if(!$output->toBool()) return $output;
// Save Signature
@@ -79,10 +81,169 @@
$this->setMessage("success_deleted");
}
+ function procMemberAdminInsertConfig(){
+ $input_args = Context::gets(
+ 'enable_join',
+ 'enable_confirm',
+ 'webmaster_name',
+ 'webmaster_email',
+ 'limit_day',
+ 'change_password_date',
+ 'agreement',
+ 'after_login_url',
+ 'after_logout_url',
+ 'redirect_url',
+ 'skin',
+ 'colorset',
+ 'profile_image', 'profile_image_max_width', 'profile_image_max_height',
+ 'image_name', 'image_name_max_width', 'image_name_max_height',
+ 'image_mark', 'image_mark_max_width', 'image_mark_max_height'
+ );
+
+ $list_order = Context::get('list_order');
+ $usable_list = Context::get('usable_list');
+ $denied_id = Context::get('denied_id');
+ $all_args = Context::getRequestVars();
+
+ $oModuleController = &getController('module');
+ $oMemberModel = &getModel('member');
+
+ // default setting start
+ if($input_args->enable_join != 'Y'){
+ $args->enable_join = 'N';
+ }else{
+ $args = $input_args;
+ $args->enable_join = 'Y';
+ if($args->enable_confirm !='Y') $args->enable_confirm = 'N';
+ $args->limit_day = (int)$args->limit_day;
+ if(!$args->change_password_date) $args->change_password_date = 0;
+ if(!trim(strip_tags($args->agreement))) $args->agreement = null;
+ if(!trim(strip_tags($args->after_login_url))) $args->after_login_url = null;
+ if(!trim(strip_tags($args->after_logout_url))) $args->after_logout_url = null;
+ if(!trim(strip_tags($args->redirect_url))) $args->redirect_url = null;
+
+ if(!$args->skin) $args->skin = "default";
+ if(!$args->colorset) $args->colorset = "white";
+
+ if($args->profile_image !='Y') $args->profile_image = 'N';
+ if($args->image_name !='Y') $args->image_name = 'N';
+ if($args->image_mark !='Y') $args->image_mark = 'N';
+ if($args->signature!='Y') $args->signature = 'N';
+
+ // signupForm
+ global $lang;
+ $signupForm = array();
+ $items = array('user_id', 'password', 'user_name', 'nick_name', 'email_address', 'find_account_question', 'homepage', 'blog', 'birthday', 'signature', 'profile_image', 'image_name', 'image_mark', 'profile_image_max_width', 'profile_image_max_height', 'image_name_max_width', 'image_name_max_height', 'image_mark_max_width', 'image_mark_max_height');
+ $mustRequireds = array('email_address', 'password', 'find_account_question');
+ $extendItems = $oMemberModel->getJoinFormList();
+ foreach($list_order as $key){
+ unset($signupItem);
+ $signupItem->isDefaultForm = in_array($key, $items);
+
+ $signupItem->name = $key;
+ $signupItem->title = $lang->{$key};
+ $signupItem->mustRequired = in_array($key, $mustRequireds);
+ $signupItem->imageType = (strpos($key, 'image') !== false);
+ $signupItem->required = ($all_args->{$key} == 'required');
+ $signupItem->isUse = in_array($key, $usable_list);
+
+ if ($signupItem->imageType){
+ $signupItem->max_width = $all_args->{$key.'_max_width'};
+ $signupItem->max_height = $all_args->{$key.'_max_height'};
+ }
+
+ // set extends form
+ if (!$signupItem->isDefaultForm){
+ $extendItem = $extendItems[$all_args->{$key.'_member_join_form_srl'}];
+ $signupItem->type = $extendItem->type;
+ $signupItem->member_join_form_srl = $extendItem->member_join_form_srl;
+ $signupItem->title = $extendItem->column_title;
+ $signupItem->description = $extendItem->description;
+
+ // check usable value change, required/option
+ if ($signupItem->isUse != ($extendItem->is_active == 'Y') || $signupItem->required != ($extendItem->required == 'Y')){
+ unset($update_args);
+ $update_args->member_join_form_srl = $extendItem->member_join_form_srl;
+ $update_args->is_active = $signupItem->isUse?'Y':'N';
+ $update_args->required = $signupItem->required?'Y':'N';
+
+ $update_output = executeQuery('member.updateJoinForm', $update_args);
+ }
+ unset($extendItem);
+ }
+ $signupForm[] = $signupItem;
+ }
+ $args->signupForm = $signupForm;
+
+ // create Ruleset
+ $this->_createSignupRuleset($signupForm);
+
+ if ($denied_id){
+ $denied_id = explode("\r\n", $denied_id);
+ $denied_list = $oMemberModel->getDeniedIDs();
+ $deniedIDs = array();
+ foreach($denied_list as $denied_info){
+ $deniedIDs[] = $denied_info->user_id;
+ }
+
+ $add_list = array_diff($denied_id, $deniedIDs);
+ $delete_list = array_diff($deniedIDs, $denied_id);
+
+ $oDB = &DB::getInstance();
+ $oDB->begin();
+
+ foreach($add_list as $user_id){
+ $output = $this->insertDeniedID($user_id, '');
+ if(!$output->toBool()){
+ $oDB->rollback();
+ return $output;
+ }
+ }
+
+ foreach($delete_list as $user_id){
+ $output = $this->deleteDeniedID($user_id);
+ if(!$output->toBool()){
+ $oDB->rollback();
+ return $output;
+ }
+ }
+ $oDB->commit();
+
+ }
+ }
+ $output = $oModuleController->updateModuleConfig('member', $args);
+ // default setting end
+
+ if($output->toBool() && !in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
+ $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMemberAdminConfig');
+ $this->setRedirectUrl($returnUrl);
+ return;
+ }
+ }
+
+ function _createSignupRuleset($signupForm){
+ $xml_file = './files/ruleset/insertMember.xml';
+ $buff = ''
+ .''
+ .''
+ .''
+ .'%s'
+ .'';
+
+ $fields = array();
+ foreach($signupForm as $formInfo){
+ if ($formInfo->required || $formInfo->mustRequired && $formInfo->name != 'password')
+ $fields[] = sprintf('', $formInfo->name);
+ }
+
+ $xml_buff = sprintf($buff, implode('', $fields));
+ FileHandler::writeFile($xml_file, $xml_buff);
+ }
+
/**
* @brief Add information for member administration
**/
- function procMemberAdminInsertConfig() {
+ function _procMemberAdminInsertConfig() {
// Get the basic information
$args = Context::gets(
'webmaster_name', 'webmaster_email',
@@ -193,11 +354,10 @@
$args->column_type = Context::get('column_type');
$args->column_name = strtolower(Context::get('column_name'));
$args->column_title = Context::get('column_title');
- $args->default_value = explode('|@|', Context::get('default_value'));
- $args->is_active = Context::get('is_active');
- if(!in_array(strtoupper($args->is_active), array('Y','N'))) $args->is_active = 'N';
+ $args->default_value = explode("\n", str_replace("\r", '', Context::get('default_value')));
$args->required = Context::get('required');
- if(!in_array(strtoupper($args->required), array('Y','N'))) $args->required = 'N';
+ $args->is_active = (isset($args->required));
+ if(!in_array(strtoupper($args->required), array('Y','N')))$args->required = 'N';
$args->description = Context::get('description');
// Default values
if(in_array($args->column_type, array('checkbox','select','radio')) && count($args->default_value) ) {
@@ -206,8 +366,10 @@
$args->default_value = '';
}
// Fix if member_join_form_srl exists. Add if not exists.
- if(!$args->member_join_form_srl){
- $args->list_order = getNextSequence();
+ $isInsert;
+ if(!$args->member_join_form_srl){
+ $isInsert = true;
+ $args->list_order = $args->member_join_form_srl = getNextSequence();
$output = executeQuery('member.insertJoinForm', $args);
}else{
$output = executeQuery('member.updateJoinForm', $args);
@@ -215,16 +377,56 @@
if(!$output->toBool()) return $output;
- $this->add('act','dispJoinForm');
+ // memberConfig update
+ $signupItem->name = $args->column_name;
+ $signupItem->title = $args->column_title;
+ $signupItem->type = $args->column_type;
+ $signupItem->member_join_form_srl = $args->member_join_form_srl;
+ $signupItem->required = ($args->required == 'Y');
+ $signupItem->isUse = ($args->is_active == 'Y');
+ $signupItem->description = $args->description;
+
+ $oMemberModel = &getModel('member');
+ $config = $oMemberModel->getMemberConfig();
+
+ if($isInsert){
+ $config->signupForm[] = $signupItem;
+ }else{
+ foreach($config->signupForm as $key=>$val){
+ if ($val->member_join_form_srl == $signupItem->member_join_form_srl){
+ $config->signupForm[$key] = $signupItem;
+ }
+ }
+ }
+ $oModuleController = &getController('module');
+ $output = $oModuleController->updateModuleConfig('member', $config);
+
$this->setMessage('success_registed');
if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMemberAdminJoinFormList');
- header('location:'.$returnUrl);
+ $this->setRedirectUrl($returnUrl);
return;
}
}
+ function procMemberAdminDeleteJoinForm(){
+ $member_join_form_srl = Context::get('member_join_form_srl');
+ $this->deleteJoinForm($member_join_form_srl);
+
+ $oMemberModel = &getModel('member');
+ $config = $oMemberModel->getMemberConfig();
+
+ foreach($config->signupForm as $key=>$val){
+ if ($val->member_join_form_srl == $member_join_form_srl){
+ unset($config->signupForm[$key]);
+ break;
+ }
+ }
+ $oModuleController = &getController('module');
+ $output = $oModuleController->updateModuleConfig('member', $config);
+ }
+
/**
* @brief Move up/down the member join form and modify it
**/
@@ -253,6 +455,76 @@
$this->setMessage($msg_code);
}
+ /**
+ * selected member manager layer in dispAdminList
+ **/
+ function procMemberAdminSelectedMemberManage(){
+ $var = Context::getRequestVars();
+ $groups = $var->groups;
+ $members = $var->member_srls;
+
+ $oDB = &DB::getInstance();
+ $oDB->begin();
+
+ $oMemberController = &getController('member');
+ foreach($members as $key=>$member_srl){
+ unset($args);
+ $args->member_srl = $member_srl;
+ switch($var->type){
+ case 'modify':{
+ if (count($groups) > 0){
+ $args->site_srl = 0;
+ // One of its members to delete all the group
+ $output = executeQuery('member.deleteMemberGroupMember', $args);
+ if(!$output->toBool()) {
+ $oDB->rollback();
+ return $output;
+ }
+ // Enter one of the loop a
+ foreach($groups as $group_srl) {
+ $output = $oMemberController->addMemberToGroup($args->member_srl,$group_srl);
+ if(!$output->toBool()) {
+ $oDB->rollback();
+ return $output;
+ }
+ }
+ }
+ if ($var->denied){
+ $args->denied = $var->denied;
+ $output = executeQuery('member.updateMemberDeniedInfo', $args);
+ if(!$output->toBool()) {
+ $oDB->rollback();
+ return $output;
+ }
+ }
+ break;
+ }
+ case 'delete':{
+ }
+ }
+ }
+
+ $message = $var->message;
+ // Send a message
+ if($message) {
+ $oCommunicationController = &getController('communication');
+
+ $logged_info = Context::get('logged_info');
+ $title = cut_str($message,10,'...');
+ $sender_member_srl = $logged_info->member_srl;
+
+ foreach($members as $member_srl){
+ $oCommunicationController->sendMessage($sender_member_srl, $member_srl, $title, $message, false);
+ }
+ }
+
+ if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) {
+ $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMemberAdminList');
+ $this->setRedirectUrl($returnUrl);
+ return;
+ }
+ }
+
/**
* @brief Delete the selected members
*/
diff --git a/modules/member/member.admin.model.php b/modules/member/member.admin.model.php
index cfe7a658e..02639765f 100644
--- a/modules/member/member.admin.model.php
+++ b/modules/member/member.admin.model.php
@@ -159,5 +159,30 @@
return count($output->data);
}
+
+ /**
+ * @brief Return add join Form
+ **/
+ function getMemberAdminInsertJoinForm() {
+ $member_join_form_srl = Context::get('member_join_form_srl');
+
+ $args->member_join_form_srl = $member_join_form_srl;
+ $output = executeQuery('member.getJoinForm', $args);
+
+ if($output->toBool() && $output->data){
+ $formInfo = $output->data;
+ $default_value = $formInfo->default_value;
+ if ($default_value){
+ $default_value = unserialize($default_value);
+ Context::set('default_value', $default_value);
+ }
+ Context::set('formInfo', $output->data);
+ }
+
+ $oTemplate = &TemplateHandler::getInstance();
+ $tpl = $oTemplate->compile($this->module_path.'tpl', 'insert_join_form');
+
+ $this->add('tpl', str_replace("\n"," ",$tpl));
+ }
}
?>
diff --git a/modules/member/member.admin.view.php b/modules/member/member.admin.view.php
index 00b34685d..67a332f56 100644
--- a/modules/member/member.admin.view.php
+++ b/modules/member/member.admin.view.php
@@ -60,10 +60,55 @@
* @brief default configuration for member management
**/
function dispMemberAdminConfig() {
+ global $lang;
// retrieve configuration via module model instance
$oModuleModel = &getModel('module');
$oMemberModel = &getModel('member');
$config = $oMemberModel->getMemberConfig();
+
+ // Get join form list which is additionally set
+ $extendItems = $oMemberModel->getJoinFormList();
+
+ // check signup form ordering info
+ if (!$config->signupForm || !is_array($config->signupForm)){
+ $items = array('user_id', 'password', 'user_name', 'nick_name', 'email_address', 'find_account_question', 'homepage', 'blog', 'birthday', 'signature', 'profile_image', 'image_name', 'image_mark');
+ $mustRequireds = array('email_address', 'password', 'find_account_question');
+ $orgRequireds = array('email_address', 'password', 'find_account_question', 'user_id', 'nick_name', 'user_name');
+ $orgUse = array('email_address', 'password', 'find_account_question', 'user_id', 'nick_name', 'user_name', 'homepage', 'blog', 'birthday');
+ $list_order = array();
+ foreach($items as $key){
+ unset($signupItem);
+ $signupItem->isDefaultForm = true;
+ $signupItem->name = $key;
+ $signupItem->title = $lang->{$key};
+ $signupItem->mustRequired = in_array($key, $mustRequireds);
+ $signupItem->imageType = (strpos($key, 'image') !== false);
+ $signupItem->required = in_array($key, $orgRequireds);
+ $signupItem->isUse = ($config->{$key} == 'Y') || in_array($key, $orgUse);
+ if ($signupItem->imageType){
+ $signupItem->max_width = $config->{$key.'_max_width'};
+ $signupItem->max_height = $config->{$key.'_max_height'};
+ }
+ $list_order[] = $signupItem;
+ }
+ foreach($extendItems as $form_srl=>$item_info){
+ unset($signupItem);
+ $signupItem->name = $item_info->column_name;
+ $signupItem->title = $item_info->column_title;
+ $signupItem->type = $item_info->column_type;
+ $signupItem->member_join_form_srl = $form_srl;
+ $signupItem->mustRequired = in_array($key, $mustRequireds);
+ $signupItem->required = ($item_info->required == 'Y');
+ $signupItem->isUse = ($item_info->is_active == 'Y');
+ $signupItem->description = $item_info->description;
+ if ($signupItem->imageType){
+ $signupItem->max_width = $config->{$key.'_max_width'};
+ $signupItem->max_height = $config->{$key.'_max_height'};
+ }
+ $list_order[] = $signupItem;
+ }
+ $config->signupForm = $list_order;
+ }
Context::set('config',$config);
// list of skins for member module
@@ -86,6 +131,14 @@
$editor = $oEditorModel->getEditor(0, $option);
Context::set('editor', $editor);
+ // get denied ID list
+ $denied_list = $oMemberModel->getDeniedIDs();
+ $deniedIDs = array();
+ foreach($denied_list as $denied_info){
+ $deniedIDs[] = $denied_info->user_id;
+ }
+ Context::set('deniedIDs', $deniedIDs);
+
$this->setTemplateFile('member_config');
}
@@ -97,7 +150,11 @@
$oModuleModel = &getModel('module');
$member_config = $oModuleModel->getModuleConfig('member');
Context::set('member_config', $member_config);
- Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->memberInfo));
+ $extendForm = $oMemberModel->getCombineJoinForm($this->memberInfo);
+ Context::set('extend_form_list', $extendForm);
+
+ $memberInfo = get_object_vars(Context::get('member_info'));
+ Context::set('memberInfo', $memberInfo);
$this->setTemplateFile('member_info');
}
@@ -107,14 +164,14 @@
function dispMemberAdminInsert() {
// retrieve extend form
$oMemberModel = &getModel('member');
- Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($this->memberInfo));
+ $extend_form_list = $oMemberModel->getCombineJoinForm($this->memberInfo);
$memberInfo = Context::get('member_info');
$memberInfo->signature = $oMemberModel->getSignature($this->memberInfo->member_srl);
Context::set('member_info', $memberInfo);
// get an editor for the signature
- if($this->memberInfo->member_srl) {
+ if($memberInfo->member_srl) {
$oEditorModel = &getModel('editor');
$option->primary_key_name = 'member_srl';
$option->content_key_name = 'signature';
@@ -128,6 +185,185 @@
Context::set('editor', $editor);
}
+ $memberInfo = get_object_vars($memberInfo);
+
+ $member_config = $oMemberModel->getMemberConfig();
+ $formTags = array();
+ global $lang;
+ foreach($member_config->signupForm as $no=>$formInfo){
+ if (!$formInfo->isUse)continue;
+ unset($formTag);
+ $inputTag = '';
+ $formTag->title = $formInfo->title;
+ if ($formInfo->required || $formInfo->mustRequired && $formInfo->name != 'password') $formTag->title = '* '.$formTag->title;
+ $formTag->name = $formInfo->name;
+ if($formInfo->isDefaultForm){
+ if($formInfo->imageType){
+ if($formInfo->name == 'profile_image'){
+ $target = $memberInfo['profile_image'];
+ $functionName = 'doDeleteProfileImage';
+ }elseif($formInfo->name == 'image_name'){
+ $target = $memberInfo['image_name'];
+ $functionName = 'doDeleteImageName';
+ }elseif($formInfo->name == 'image_mark'){
+ $target = $memberInfo['image_mark'];
+ $functionName = 'doDeleteImageMark';
+ }
+ if($target->src){
+ $inputTag = sprintf('
'
+ ,$target->src
+ ,$formInfo->title
+ ,$functionName
+ ,$memberInfo['member_srl']
+ ,$lang->cmd_delete);
+ }
+ $inputTag .= sprintf(' %s : %dpx, %s : %dpx
'
+ ,$formInfo->name
+ ,$formInfo->name
+ ,$lang->{$formInfo->name.'_max_width'}
+ ,$member_config->{$formInfo->name.'_max_width'}
+ ,$lang->{$formInfo->name.'_max_height'}
+ ,$member_config->{$formInfo->name.'_max_height'});
+ }//end imageType
+ elseif($formInfo->name == 'birthday'){
+ $inputTag = sprintf(''
+ ,$memberInfo['birthday']
+ ,zdate($memberInfo['birthday'], 'Y-m-d', false)
+ ,$lang->cmd_delete);
+ }elseif($formInfo->name == 'password'){
+ $inputTag = sprintf(''
+ ,$formInfo->name);
+ }elseif($formInfo->name == 'find_account_question'){
+ $inputTag = '';
+ $optionTag = array();
+ foreach($lang->find_account_question_items as $key=>$val){
+ if($key == $memberInfo['find_account_question']) $selected = 'selected="selected"';
+ else $selected = '';
+ $optionTag[] = sprintf(''
+ ,$key
+ ,$selected
+ ,$val);
+ }
+ $inputTag = sprintf($inputTag, implode('', $optionTag));
+ $inputTag .= '';
+ }else{
+ $inputTag = sprintf(''
+ ,$formInfo->name
+ ,$memberInfo[$formInfo->name]);
+ }
+ }//end isDefaultForm
+ else{
+ $extendForm = $extend_form_list[$formInfo->member_join_form_srl];
+ if($extendForm->column_type == 'text' || $extendForm->column_type == 'homepage' || $extendForm->column_type == 'email_address'){
+ $inputTag = sprintf(''
+ ,$formInfo->name
+ ,$extendForm->value);
+ }elseif($extendForm->column_type == 'tel'){
+ $inputTag = sprintf('--'
+ ,$formInfo->name
+ ,$extendForm->value[0]
+ ,$formInfo->name
+ ,$extendForm->value[1]
+ ,$formInfo->name
+ ,$extendForm->value[2]);
+ }elseif($extendForm->column_type == 'textarea'){
+ $inputTag = sprintf(''
+ ,$formInfo->name
+ ,$extendForm->value);
+
+ }elseif($extendForm->column_type == 'checkbox'){
+ if($extendForm->default_value){
+ foreach($extendForm->default_value as $v){
+ if(is_array($extendForm->value) && in_array($v, $extendForm->value))$checked = 'checked="checked"';
+ $inputTag .= sprintf(''
+ ,$extendForm->column_name
+ ,$extendForm->column_name
+ ,htmlspecialchars($v)
+ ,$checked
+ ,$extendForm->column_name
+ ,$v);
+ }
+ }
+ }elseif($extendForm->column_type == 'radio'){
+ if($extendForm->default_value){
+ $inputTag = '';
+ $optionTag = array();
+ foreach($extendForm->default_value as $v){
+ if($extendForm->value == $v)$checked = 'checked="checked"';
+ else $checked = '';
+ $optionTag[] = sprintf('%s'
+ ,$extendForm->column_name
+ ,$v
+ ,$checked
+ ,$v);
+ }
+ $inputTag = sprintf($inputTag, implode('', $optionTag));
+ }
+ }elseif($extendForm->column_type == 'select'){
+ $inputTag = '';
+ $optionTag = array();
+ if($extendForm->default_value){
+ foreach($extendForm->default_value as $v){
+ if($v == $extendForm->value) $selected = 'selected="selected"';
+ else $selected = '';
+ $optionTag[] = sprintf(''
+ ,$v
+ ,$selected
+ ,$v);
+ }
+ }
+ $inputTag = sprintf($inputTag, implode('', $optionTag));
+ }elseif($extendForm->column_type == 'kr_zip'){
+ $content = <<
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+EOD;
+ $inputTag = sprintf($content
+ ,$extendForm->column_name, $extendForm->value[0]?'style="display:none"':''
+ ,$extendForm->column_name, $lang->msg_kr_address
+ ,$extendForm->column_name
+ ,$lang->cmd_search
+ ,$extendForm->column_name
+ ,$extendForm->column_name, $extendForm->column_name
+ ,$lang->cmd_search_again
+ ,$extendForm->column_name, $lang->msg_kr_address_etc
+ ,$extendForm->column_name, $extendForm->column_name, $extendForm->value[1]
+ ,$extendForm->column_name);
+ }elseif($extendForm->column_type == 'jp_zip'){
+ $inputTag = sprintf(''
+ ,$extendForm->column_name
+ ,$extendForm->value);
+ }elseif($extendForm->column_type == 'date'){
+ $inputTag = sprintf(''
+ ,$extendForm->column_name
+ ,$extendForm->column_name
+ ,$extendForm->value
+ ,zdate($extendForm->value, 'Y-m-d')
+ ,$lang->cmd_delete);
+ }
+
+ if($extendForm->description)
+ $inputTag .= ''.htmlspecialchars($extendForm->description).'
';
+ }
+ $formTag->inputTag = $inputTag;
+ $formTags[] = $formTag;
+ }
+ Context::set('formTags', $formTags);
$this->setTemplateFile('insert_member');
}
diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php
index ac2670235..4c0c5cd35 100644
--- a/modules/member/member.controller.php
+++ b/modules/member/member.controller.php
@@ -506,6 +506,9 @@
// Execute insert or update depending on the value of member_srl
$output = $this->insertMember($args);
if(!$output->toBool()) return $output;
+
+ // insert ProfileImage, ImageName, ImageMark
+ debugPrint($all_args);
// If a virtual site, join the site
$site_module_info = Context::get('site_module_info');
if($site_module_info->site_srl > 0) {
diff --git a/modules/member/member.model.php b/modules/member/member.model.php
index 2a9497c0d..283ae91d8 100644
--- a/modules/member/member.model.php
+++ b/modules/member/member.model.php
@@ -509,6 +509,12 @@
return $this->denied_id_list;
}
+ function getDeniedIDs(){
+ $output = executeQueryArray('member.getDeniedIDs');
+ if(!$output->toBool()) return array();
+ return $output->data;
+ }
+
/**
* @brief Verify if ID is denied
**/
diff --git a/modules/member/queries/getDeniedIDs.xml b/modules/member/queries/getDeniedIDs.xml
new file mode 100644
index 000000000..e367ab393
--- /dev/null
+++ b/modules/member/queries/getDeniedIDs.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/modules/member/queries/updateMemberDeniedInfo.xml b/modules/member/queries/updateMemberDeniedInfo.xml
new file mode 100644
index 000000000..4725a459d
--- /dev/null
+++ b/modules/member/queries/updateMemberDeniedInfo.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/member/ruleset/insertConfig.xml b/modules/member/ruleset/insertConfig.xml
index 6051d7ad8..58503c1cf 100644
--- a/modules/member/ruleset/insertConfig.xml
+++ b/modules/member/ruleset/insertConfig.xml
@@ -4,5 +4,6 @@
+
diff --git a/modules/member/ruleset/updateMemberWithSeletecdMemberManage.xml b/modules/member/ruleset/updateSeletedMemberInfo.xml
similarity index 100%
rename from modules/member/ruleset/updateMemberWithSeletecdMemberManage.xml
rename to modules/member/ruleset/updateSeletedMemberInfo.xml
diff --git a/modules/member/tpl/insert_join_form.html b/modules/member/tpl/insert_join_form.html
index 85479a367..420033769 100644
--- a/modules/member/tpl/insert_join_form.html
+++ b/modules/member/tpl/insert_join_form.html
@@ -1,89 +1,52 @@
-
-
-
-
{$XE_VALIDATOR_MESSAGE}
-
-
+
+ {$lang->cmd_input_extend_form}
+
+
+
+
diff --git a/modules/member/tpl/insert_member.html b/modules/member/tpl/insert_member.html
index 76de22e1e..6144dd42d 100644
--- a/modules/member/tpl/insert_member.html
+++ b/modules/member/tpl/insert_member.html
@@ -1,277 +1,89 @@
-
-
-
-
+
+
-
-
-
-
+
+
+
-
-
-
+
+
+
+
+
diff --git a/modules/member/tpl/member_info.html b/modules/member/tpl/member_info.html
index dcbce5e9d..765483191 100644
--- a/modules/member/tpl/member_info.html
+++ b/modules/member/tpl/member_info.html
@@ -1,188 +1,79 @@
-
-
-
-
+
+
User Detail
+
+
+
+
+{@$title = $formInfo->title}
+{@$value = $memberInfo[$formInfo->name]}
+
+ {@$value = $lang->find_account_question_items[$value].' : '.$memberInfo['find_account_answer']}
+
+ {@$target = $memberInfo['profile_image']}
+ {@$value = '
'}
+
+ {@$target = $memberInfo['image_name']}
+ {@$value = '
'}
+
+ {@$target = $memberInfo['image_mark']}
+ {@$value = '
'}
+
+
+{@$title = $extend_form_list[$formInfo->member_join_form_srl]->column_title}
+{@$orgValue = $extend_form_list[$formInfo->member_join_form_srl]->value}
+
+ {@$value = htmlspecialchars($orgValue[0])}
+ -
+ {@$value .= htmlspecialchars($orgValue[1])}
+ -
+ {@$value .= htmlspecialchars($orgValue[2])}
+
+ {@$value = htmlspecialchars($orgValue[0])}
{@$value .= htmlspecialchars($orgValue[1])}
+
+ {@$value = htmlspecialchars(implode(", ",$orgValue))}
+
+ {@$value = zdate($orgValue, "Y-m-d")}
+
+ {@$value = nl2br(htmlspecialchars($orgValue))}
+
+
-
-
-
-
-
- {$lang->user_id} |
- {htmlspecialchars($member_info->user_id)} |
-
-
- {$lang->user_name} |
- {htmlspecialchars($member_info->user_name)} |
-
-
- {$lang->nick_name} |
- {htmlspecialchars($member_info->nick_name)} |
-
-
- {$lang->profile_image} |
-
-
-
- {$lang->cmd_delete}
-
-
-
- |
-
-
- |
-
- {$lang->profile_image_max_width} : {$member_config->profile_image_max_width}px, {$lang->profile_image_max_height} : {$member_config->profile_image_max_height}px
- |
-
-
- {$lang->image_name} |
-
-
-
- {$lang->cmd_delete}
-
-
-
- |
-
-
- |
-
- {$lang->image_name_max_width} : {$member_config->image_name_max_width}px, {$lang->image_name_max_height} : {$member_config->image_name_max_height}px
- |
-
-
- {$lang->image_mark} |
-
-
-
- {$lang->cmd_delete}
-
-
-
- |
-
-
- |
-
- {$lang->image_mark_max_width} : {$member_config->image_mark_max_width}px, {$lang->image_mark_max_height} : {$member_config->image_mark_max_height}px
- |
-
-
- {$lang->email_address} |
- {htmlspecialchars($member_info->email_address)} |
-
-
- {$lang->homepage} |
- {htmlspecialchars($member_info->homepage)} |
-
-
- {$lang->blog} |
- {htmlspecialchars($member_info->blog)} |
-
-
- {$lang->birthday} |
- {zdate($member_info->birthday,'Y-m-d')} |
-
-
- {$lang->allow_mailing} |
- {$member_info->allow_mailing} |
-
-
- {$lang->allow_message} |
- {$lang->allow_message_type[$member_info->allow_message]} |
-
-
- {$lang->signature} |
- {$member_info->signature} |
-
-
- {$lang->denied} |
- {$member_info->denied} |
-
-
- {$lang->limit_date} |
-
-
- {zdate($member_info->limit_date,"Y-m-d H:i")}
-
-
- |
-
-
- {$lang->is_admin} |
- {$member_info->is_admin} |
-
-
- {$lang->group} |
-
-
- {$val}
-
- |
-
-
-
-
- {htmlspecialchars($val->column_title)} ({$lang->public}) |
-
-
- {htmlspecialchars($val->value[0])}
- -
- {htmlspecialchars($val->value[1])}
- -
- {htmlspecialchars($val->value[2])}
-
- {htmlspecialchars($val->value[0])} {htmlspecialchars($val->value[1])}
-
- {htmlspecialchars(implode(", ",$val->value))}
-
- {zdate($val->value, "Y-m-d")}
-
- {nl2br(htmlspecialchars($val->value))}
-
-
- |
-
-
-
-
- {$lang->description} |
- {htmlspecialchars($member_info->description)} |
-
-
- |
- {$lang->cmd_modify}
-
- {$lang->cmd_delete}
-
-
- {$lang->cmd_back}
-
- |
-
-
-
-
+
+ | {$title} * |
+ {$value} |
+
+
+
+ | {$lang->allow_mailing} |
+ {$lang->cmd_yes}{$lang->cmd_no} |
+
+
+ | {$lang->allow_message} |
+ {$lang->allow_message_type[$memberInfo['allow_message']]} |
+
+
+ | {$lang->denied} |
+ {$lang->cmd_no}{$lang->cmd_yes} |
+
+
+ | {$lang->limit_date} |
+ {zdate($memberInfo['limit_date'],"Y-m-d H:i")} |
+
+
+ | {$lang->is_admin} |
+ {$lang->cmd_yes} |
+
+
+ | {$lang->group} |
+ {implode(', ', $memberInfo['group_list'])} |
+
+
+ {$lang->description} |
+ {$memberInfo['description']} |
+
+
+
+
+
diff --git a/modules/member/tpl/member_list.html b/modules/member/tpl/member_list.html
index 3fa4d0f77..764737aa3 100644
--- a/modules/member/tpl/member_list.html
+++ b/modules/member/tpl/member_list.html
@@ -1,132 +1,179 @@
-
-
-
+
+
+
+
{$XE_VALIDATOR_MESSAGE}
+
+
+
+
+
+
+
+
+