diff --git a/modules/member/conf/module.xml b/modules/member/conf/module.xml index 7b934abd7..b87a41aa9 100644 --- a/modules/member/conf/module.xml +++ b/modules/member/conf/module.xml @@ -45,7 +45,7 @@ - + diff --git a/modules/member/lang/lang.xml b/modules/member/lang/lang.xml index 2bd521d7b..b09576e71 100644 --- a/modules/member/lang/lang.xml +++ b/modules/member/lang/lang.xml @@ -859,6 +859,9 @@ + + + diff --git a/modules/member/member.admin.controller.php b/modules/member/member.admin.controller.php index 134bd005f..262b607bc 100644 --- a/modules/member/member.admin.controller.php +++ b/modules/member/member.admin.controller.php @@ -19,7 +19,7 @@ function procMemberAdminInsert() { // if(Context::getRequestMethod() == "GET") return new Object(-1, "msg_invalid_request"); // Extract the necessary information in advance - $args = Context::gets('member_srl','email_address','allow_mailing','allow_message','denied','is_admin','description','group_srl_list','limit_date'); + $args = Context::gets('member_srl','email_address','find_account_answer', 'allow_mailing','allow_message','denied','is_admin','description','group_srl_list','limit_date'); $oMemberModel = &getModel ('member'); $config = $oMemberModel->getMemberConfig (); $getVars = array(); @@ -623,7 +623,7 @@ } /** - * @brief Insert a group + * @brief find_account_answerInsert a group **/ function insertGroup($args) { if(!$args->site_srl) $args->site_srl = 0; diff --git a/modules/member/member.admin.view.php b/modules/member/member.admin.view.php index 76333ec28..5a89e5809 100644 --- a/modules/member/member.admin.view.php +++ b/modules/member/member.admin.view.php @@ -132,6 +132,9 @@ $memberInfo = get_object_vars(Context::get('member_info')); Context::set('memberInfo', $memberInfo); + + $disableColumns = array('password', 'find_account_question'); + Context::set('disableColumns', $disableColumns); $this->setTemplateFile('member_info'); } @@ -169,9 +172,9 @@ function _getMemberInputTag($memberInfo){ $oMemberModel = &getModel('member'); + $extend_form_list = $oMemberModel->getCombineJoinForm($memberInfo); $memberInfo = get_object_vars($memberInfo); $member_config = $oMemberModel->getMemberConfig(); - $extend_form_list = $oMemberModel->getCombineJoinForm($this->memberInfo); $formTags = array(); global $lang; @@ -183,6 +186,7 @@ $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'){ @@ -238,56 +242,44 @@ }//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); + $replace = array('column_name' => $extendForm->column_name, + 'value' => $extendForm->value); + $extentionReplace = array(); + if($extendForm->column_type == 'text' || $extendForm->column_type == 'homepage' || $extendForm->column_type == 'email_address'){ + $template = ''; + }elseif($extendForm->column_type == 'tel'){ + $extentionReplace = array('tel_0' => $extendForm->value[0], + 'tel_1' => $extendForm->value[1], + 'tel_2' => $extendForm->value[2]); + $template = '--'; + }elseif($extendForm->column_type == 'textarea'){ + $template = ''; }elseif($extendForm->column_type == 'checkbox'){ + $template = ''; if($extendForm->default_value){ $__i = 0; foreach($extendForm->default_value as $v){ $checked = ''; if(is_array($extendForm->value) && in_array($v, $extendForm->value))$checked = 'checked="checked"'; - $inputTag .= sprintf('' - ,$extendForm->column_name.$__i - ,$extendForm->column_name - ,htmlspecialchars($v) - ,$checked - ,$extendForm->column_name.$__i - ,$v); + $template .= ''; $__i++; } } }elseif($extendForm->column_type == 'radio'){ + $template = ''; if($extendForm->default_value){ - $inputTag = '
    %s
'; + $template = '
    %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); + $optionTag[] = '
  • '.$v.'
  • '; } - $inputTag = sprintf($inputTag, implode('', $optionTag)); + $template = sprintf($template, implode('', $optionTag)); } }elseif($extendForm->column_type == 'select'){ - $inputTag = ''; + $template = ''; $optionTag = array(); if($extendForm->default_value){ foreach($extendForm->default_value as $v){ @@ -299,54 +291,46 @@ ,$v); } } - $inputTag = sprintf($inputTag, implode('', $optionTag)); + $template = sprintf($template, implode('', $optionTag)); }elseif($extendForm->column_type == 'kr_zip'){ Context::loadFile(array('./modules/member/tpl/js/krzip_search.js', 'body')); - $content = << $lang->msg_kr_address, + 'msg_kr_address_etc' => $lang->msg_kr_address_etc, + 'cmd_search' => $lang->cmd_search, + 'cmd_search_again' => $lang->cmd_search_again, + 'addr_0' => $extendForm->value[0], + 'addr_1' => $extendForm->value[1],); + $replace = array_merge($extentionReplace, $replace); + $template = << -
    -
    - - +
    +
    + +
    - - + EOD; - $hiddenDisabled = $extendForm->value[0]?'':'disabled="disabled"'; - $inputTag = sprintf($content - ,$extendForm->column_name, '' - ,$extendForm->column_name, $lang->msg_kr_address - ,$extendForm->column_name, $extendForm->value[0] - ,$lang->cmd_search - ,$extendForm->column_name - ,$extendForm->column_name, $extendForm->value[0], $hiddenDisabled - ,$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); + $template = ''; }elseif($extendForm->column_type == 'date'){ - $inputTag = sprintf('' - ,$extendForm->column_name - ,$extendForm->column_name - ,$extendForm->value - ,zdate($extendForm->value, 'Y-m-d') - ,$lang->cmd_delete); + $extentionReplace = array('date' => zdate($extendForm->value, 'Y-m-d'), + 'cmd_delete' => $lang->cmd_delete); + $template = ''; } + $replace = array_merge($extentionReplace, $replace); + $inputTag = preg_replace('@%(\w+)%@e', '$replace[$1]', $template); + if($extendForm->description) $inputTag .= '

    '.htmlspecialchars($extendForm->description).'

    '; } diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index a4ff4c13e..059fd174d 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -560,7 +560,19 @@ function procMemberModifyInfo() { if(!Context::get('is_logged')) return $this->stop('msg_not_logged'); // Extract the necessary information in advance - $args = Context::gets('user_name','nick_name','homepage','blog','birthday','email_address','allow_mailing','find_account_question','find_account_answer'); + $oMemberModel = &getModel ('member'); + $config = $oMemberModel->getMemberConfig (); + $getVars = array('find_account_answer','allow_mailing','allow_message'); + if ($config->signupForm){ + foreach($config->signupForm as $formInfo){ + if($formInfo->isDefaultForm && $formInfo->isUse || $formInfo->required || $formInfo->mustRequired){ + $getVars[] = $formInfo->name; + } + } + } + foreach($getVars as $val){ + $args->{$val} = Context::get($val); + } // Login Information $logged_info = Context::get('logged_info'); $args->member_srl = $logged_info->member_srl; @@ -575,6 +587,9 @@ unset($all_args->accept_agreement); unset($all_args->signature); unset($all_args->_filter); + unset($all_args->mid); + unset($all_args->error_return_url); + unset($all_args->ruleset); // Add extra vars after excluding necessary information from all the requested arguments $extra_vars = delObjectVars($all_args, $args); @@ -1682,26 +1697,29 @@ $oDB->rollback(); return $output; } - if(is_array($args->group_srl_list)) $group_srl_list = $args->group_srl_list; - else $group_srl_list = explode('|@|', $args->group_srl_list); - // If the group information, group information changes - if(count($group_srl_list) > 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 - for($i=0;$iaddMemberToGroup($args->member_srl,$group_srl_list[$i]); - if(!$output->toBool()) { - $oDB->rollback(); - return $output; - } - } - } + + if ($args->group_srl_list){ + if(is_array($args->group_srl_list)) $group_srl_list = $args->group_srl_list; + else $group_srl_list = explode('|@|', $args->group_srl_list); + // If the group information, group information changes + if(count($group_srl_list) > 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 + for($i=0;$iaddMemberToGroup($args->member_srl,$group_srl_list[$i]); + if(!$output->toBool()) { + $oDB->rollback(); + return $output; + } + } + } + } // Call a trigger (after) if($output->toBool()) { $trigger_output = ModuleHandler::triggerCall('member.updateMember', 'after', $args); diff --git a/modules/member/member.view.php b/modules/member/member.view.php index 05dce46bd..9f58c957d 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -133,6 +133,13 @@ $editor = $oEditorModel->getEditor($member_info->member_srl, $option); Context::set('editor', $editor); } + + $oMemberAdminView = &getAdminView('member'); + $formTags = $oMemberAdminView->_getMemberInputTag($member_info); + Context::set('formTags', $formTags); + + $member_config = $oMemberModel->getMemberConfig(); + Context::set('member_config', $member_config); // Set a template file $this->setTemplateFile('modify_info'); } diff --git a/modules/member/skins/default/member_info.html b/modules/member/skins/default/member_info.html index a77f7eefe..e098fc8d8 100644 --- a/modules/member/skins/default/member_info.html +++ b/modules/member/skins/default/member_info.html @@ -4,8 +4,8 @@
    - - + + {@$title = $formInfo->title} {@$value = $memberInfo[$formInfo->name]} @@ -38,169 +38,41 @@ - - + + - - - - - - - - - - - - - - - - - - - - + - - - + + + + + + + + + + + + -
    {$title} *
    {$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']} 
    {$lang->signup_date}
    {zdate($memberInfo[regdate],"Y-m-d H:i")}
    {$lang->last_login}
    {zdate($memberInfo[last_login],"Y-m-d H:i")}
    + + {$lang->cmd_modify_member_info} + + {$lang->cmd_leave} + + {$lang->cmd_modify_member_password} + {$lang->cmd_leave} + + + {$lang->cmd_back}
    -
    -

    {$lang->cmd_view_member_info}

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {@ $dummy_chk = 0 } - - class="first-child" {@ $dummy_chk = 1; }> - - - - - - - -
    {$lang->member_default_info}
    {$lang->user_name}
    {htmlspecialchars($member_info->user_name)}
    {$lang->nick_name}
    {htmlspecialchars($member_info->nick_name)}
    {$lang->profile_image}
    profile_image
    {$lang->image_name}
    image_name
    {$lang->image_mark}
    image_mark
    {$lang->homepage}
    {htmlspecialchars($member_info->homepage)} 
    {$lang->blog}
    {htmlspecialchars($member_info->blog)} 
    {$lang->birthday}
    {zdate($member_info->birthday,"Y-m-d")} 
    {$lang->signature}
    {$member_info->signature}
    {$lang->group}
    {$val}
    {$lang->signup_date}
    {zdate($member_info->regdate,"Y-m-d H:i")}
    {$lang->last_login}
    {zdate($member_info->last_login,"Y-m-d H:i")}
    {$lang->openid}
    {$lang->openid}
    {$openid->openid}
    {$lang->member_extend_info}
    -
    - {htmlspecialchars($val->column_title)} -
    -
    - - {$lang->private} - - - {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->cmd_modify_member_info} - - {$lang->cmd_leave} - - {$lang->cmd_modify_member_password} - {$lang->cmd_leave} - - - {$lang->cmd_back} -
    +
    + diff --git a/modules/member/skins/default/modify_info.html b/modules/member/skins/default/modify_info.html index 1f71de33e..829b14cc7 100644 --- a/modules/member/skins/default/modify_info.html +++ b/modules/member/skins/default/modify_info.html @@ -27,240 +27,42 @@

    {$XE_VALIDATOR_MESSAGE}

    -
    profile_image == 'Y' || $member_config->image_name=='Y' || $member_config->image_mark=='Y')-->enctype="multipart/form-data"> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {@ $dummy_chk = 0 } - - class="first-child" {@ $dummy_chk = 1; }> - - - - - +
      +
    • +

      {$lang->email_address} *

      +

      + + +

      +
    • +
    • +

      {$formTag->title}

      +
      {$formTag->inputTag}
      +
      {$editor}
      +
    • +
    • +

      {$lang->allow_mailing}

      +

      + + +

      +
    • +
    • +

      {$lang->allow_message}

      +

      + + + +

      +
    • +
    {$lang->member_default_info}
    {$lang->user_id}
    {htmlspecialchars($member_info->user_id)}
    {$lang->user_name} *

    {$lang->about_user_name}

    {$lang->nick_name} *

    {$lang->about_nick_name}

    {$lang->email_address} *

    {$lang->about_email_address}

    {$lang->find_account_question} *
    - -
    - -
    {$lang->profile_image}
    - - - - -
    -
    - -
    -

    {$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->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->image_mark_max_width} : {$member_config->image_mark_max_width}px, {$lang->image_mark_max_height} : {$member_config->image_mark_max_height}px

    -
    {$lang->homepage}

    {$lang->about_homepage}

    {$lang->blog}

    {$lang->about_blog_url}

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

    {$lang->about_birthday}

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

    {$lang->about_allow_mailing}

    {$lang->signature}
    {$editor}
    {$lang->member_extend_info}
    - {htmlspecialchars($val->column_title)} - * - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - -
    • value)&&in_array($v, $val->value))-->checked="checked"/>{$v}
    • - -
    - - - - - -
      - -
    • value == $v)-->checked="checked"/>{$v}
    • - -
    - - - - - - - - -
    - - -
    - - -
    -
    - - - - - - - - - - - - - - - - - -

    {$val->description}

    -
    - is_opened)-->checked="checked" value="Y" id="open_{$val->column_name}" /> - -
    -
    {$lang->openid}