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 @@ + + - + User List 회원 목록 User List @@ -108,5 +111,18 @@ User Setting User Setting + + Group + 그룹관리 + Group + Group + Group + Group + Group + Group + Group + Group + Group + 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('

%s

' + ,$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 = '
    %s
'; + $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->column_type}
    - -

    {$lang->about_column_type}

    - -
    - -
    - -
    - - -
    -
    {$lang->column_name}
    - -

    {$lang->about_column_name}

    -
    {$lang->column_title}
    - -

    {$lang->about_column_title}

    -
    {$lang->is_active}
    - is_active=='Y')-->checked="checked"/> -

    {$lang->about_active}

    -
    {$lang->is_required}
    - required=='Y')-->checked="checked"/> -

    {$lang->about_required}

    -
    {$lang->description}
    - -

    {$lang->about_form_description}

    -
    - -
    - - + +

    {$lang->cmd_input_extend_form}

    +
      +
    • +

      +

      +
    • +
    • +

      +

      +
    • +
    • +

      {$lang->column_type} *

      +

      + +

      +

      {$lang->about_multi_type}

      +

      +
    • + +
    • +

      +

      +
    • +
    • +

      + + +

      +
    • +
    +
    + +
    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 @@ - - - - + + - -

    {$XE_VALIDATOR_MESSAGE}

    -
    - - - - - - - - - -

    {$lang->member_default_info}

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    {$lang->user_id}
    - - {htmlspecialchars($member_info->user_id)} - - - -

    {$lang->about_user_id}

    - -
    {$lang->password}
    - -
    {$lang->user_name}
    - -

    {$lang->about_user_name}

    -
    {$lang->nick_name}
    - -

    {$lang->about_nick_name}

    -
    {$lang->email_address}
    - -
    {$lang->homepage}
    - -

    {$lang->about_homepage}

    -
    {$lang->blog}
    - -
    {$lang->birthday}
    - - - -

    {$lang->about_birthday}

    -
    {$lang->allow_mailing}
    - allow_mailing!='N')-->checked="checked"/> - {$lang->about_allow_mailing} -
    {$lang->allow_message}
    - -

    {$lang->about_allow_message}

    -
    {$lang->signature}
    {$editor}
    {$lang->denied}
    - denied=='Y')-->checked="checked"/> -

    {$lang->about_denied}

    -
    {$lang->limit_date}
    - - - - -

    {$lang->about_limit_date}

    -
    {$lang->is_admin}
    - is_admin=='Y')-->checked="checked"/> -

    {$lang->about_is_admin}

    -
    {$lang->description}
    - -

    {$lang->about_member_description}

    -
    {$lang->group}
    - - group_list[$key])-->checked="checked" class="checkbox" /> - - -

    {$lang->about_group}

    -
    - - - -

    {$lang->member_extend_info}

    - - - - - - - - - -
    - {htmlspecialchars($val->column_title)} - * -
    - is_opened)-->checked="checked" value="Y" id="open_{$val->column_name}" /> - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - value)&&in_array($v, $val->value))-->checked="checked"/> {$v} - - - - - -
      - -
    • value == $v)-->checked="checked"/>{$v}
    • - -
    - - - - - - - - - -
    - - -
    - - -
    -
    - - - - - - - - - - - - - -

    {htmlspecialchars($val->description)}

    -
    - - - - - - - -
    - - - {$lang->cmd_cancel} - - {$lang->cmd_cancel} - - -
    -
    - +
    +
    + + + +

    {$lang->member_default_info}

    +
      +
    • +

      +

      {$formTag->inputTag}

      +

      {$editor}

      +
    • +
    • +

      {$lang->allow_mailing}

      +

      + + +

      +
    • +
    • +

      {$lang->allow_message}

      +

      + +

      +
    • +
    • +

      {$lang->denied}

      +

      + + +

      {$lang->about_denied}

      +

      +
    • +
    • +

      {$lang->limit_date}

      +

      + + + +

      {$lang->about_limit_date}

      +

      +
    • +
    • +

      {$lang->is_admin}

      +

      + + +

      {$lang->about_is_admin}

      +

      +
    • +
    • +

      {$lang->description}

      +

      + +

      {$lang->about_member_description}

      +

      +
    • +
    • +

      +

      + + group_list[$key])-->checked="checked" class="checkbox" /> + + +

      +
    • +
    +
    + +
    + +
    +

    {$XE_VALIDATOR_MESSAGE}

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    {$lang->webmaster_name}
    - -

    {$lang->about_webmaster_name}

    -
    {$lang->webmaster_email}
    - -

    {$lang->about_webmaster_email}

    -
    {$lang->enable_openid}
    - enable_openid=='Y')-->checked="checked" class="checkbox" /> - {$lang->about_enable_openid} -
    {$lang->enable_join}
    - enable_join=='Y')-->checked="checked" class="checkbox" /> - {$lang->about_enable_join} -
    {$lang->enable_confirm}
    - enable_confirm=='Y')-->checked="checked" class="checkbox" /> - {$lang->about_enable_confirm} -
    {$lang->change_password_date}
    - {$lang->unit_day} -

    {$lang->about_change_password_date}

    -
    {$lang->limit_day}
    - {$lang->unit_day} -

    {$lang->about_limit_day}

    -
    {$lang->profile_image}
    -

    - profile_image=='Y')-->checked="checked" class="checkbox" /> - {$lang->about_profile_image} -

    - {$lang->profile_image_max_width} : px
    - {$lang->profile_image_max_height} : px
    -
    {$lang->image_name}
    -

    - image_name=='Y')-->checked="checked" class="checkbox" /> - {$lang->about_image_name} -

    - {$lang->image_name_max_width} : px
    - {$lang->image_name_max_height} : px
    -
    {$lang->image_mark}
    -

    - image_mark=='Y')-->checked="checked" class="checkbox"/> - {$lang->about_image_mark} -

    - {$lang->image_mark_max_width} : px
    - {$lang->image_mark_max_height} : px
    -
    {$lang->group_image_mark}
    -

    - group_image_mark=='Y')-->checked="checked" class="checkbox"/> - {$lang->about_group_image_mark} -

    -
    {$lang->signature}
    -

    - signature=='Y')-->checked="checked" class="checkbox"/> -

    -
    {$lang->signature_max_height}
    - px -

    {$lang->about_signature_max_height}

    -
    {$lang->editor_skin}
    - - - -
    {$lang->after_login_url}
    - -

    {$lang->about_after_login_url}

    -
    {$lang->after_logout_url}
    - -

    {$lang->about_after_logout_url}

    -
    {$lang->redirect_url}
    - -

    {$lang->about_redirect_url}

    -
    {$lang->agreement}
    - {$editor} -

    {$lang->about_agreement}

    -
    {$lang->skin}
    - -
    {$lang->colorset}
    - - - {$lang->cmd_back} - -
    - -
    - - +
    +
    + + + +

    Setting

    +
    +

    Sign Up Setting

    +
      +
    • +

      {$lang->enable_join}

      +

      + + +

      +
    • +
    • +

      {$lang->enable_confirm}

      +

      + + +

      +
    • +
    • +

      +

      + +

      {$lang->about_webmaster_name}

      +

      +
    • +
    • +

      +

      + +

      {$lang->about_webmaster_email}

      +

      +
    • +
    • +

      +

      {$lang->unit_day}({$lang->about_limit_day})

      +
    • +
    • +

      +

      {$lang->unit_day}({$lang->about_change_password_date})

      +
    • +
    • +

      +

      {$editor}

      +
    • +
    • +

      +

      + +

      {$lang->about_after_login_url}

      +

      +
    • +
    • +

      +

      + +

      {$lang->about_after_logout_url}

      +

      +
    • +
    • +

      +

      + +

      {$lang->about_redirect_url}

      +

      +
    • +
    • +

      +

      + +

      +
    • + +
    • +

      +

      + + {$lang->about_manage_id} {sprintf($lang->count_manage_id, count($deniedIDs))}

      +
    • +
    +
    +
    +

    {$lang->cmd_manage_form}

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {$lang->target}{$lang->use}{$lang->cmd_required_option}{$lang->description}{$lang->cmd_edit}
    +
    + + {$item->title} +
    +
    + + +
    + px + / + px +
    +
      
    +
    + + {$item->title} +
    +
    + + + {$item->description}{$lang->cmd_edit} | 삭제
    +
    +

    + 사용자 정의 항목 추가... + Preview +

    +
    +
    + +
    +
    + + +
    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}
    - - 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}
    - - 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}
    - - 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}

    +
    +
    +
    +

    {$lang->user_list}

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {@ $member_info->group_list = implode(', ', $member_info->group_list)} + + + + + + +{@ $lang_denied = ($member_info->denied == 'N')?$lang->use:$lang->denied} + + + + + +
    + All(789) + {$lang->cmd_selected_user_manage}... +
    {$lang->user_id}{$lang->user_name}{$lang->nick_name}{$lang->signup_date}{$lang->last_login}{$lang->group}{$lang->status}{$lang->cmd_modify} + +
    {$lang->user_id}{$lang->user_name}{$lang->nick_name}{$lang->signup_date}{$lang->last_login}{$lang->group}{$lang->status}{$lang->cmd_modify} + +
    {$member_info->user_id}{$member_info->user_name}{$member_info->nick_name}{zdate($member_info->regdate, 'Y-m-d')}{zdate($member_info->last_login, 'Y-m-d')}{$member_info->group_list} {$lang_denied}{$lang->cmd_modify}user_id."\t".$member_info->user_name."\t".$member_info->nick_name."\t".$member_info->group_list."\t".$lang_denied}" disabled="disabled"|cond="$member_info->is_admin == 'Y'"/>
    +
    + +
    + + +
    +