회원 모듈의 서명, 가입 약관 에디터 개선

This commit is contained in:
conory 2017-07-10 22:14:54 +09:00
parent 7a35c60f40
commit 4904ca5155
9 changed files with 112 additions and 111 deletions

View file

@ -26,6 +26,7 @@
<input type="hidden" name="act" value="procMemberModifyInfo" /> <input type="hidden" name="act" value="procMemberModifyInfo" />
<input type="hidden" name="module" value="member" /> <input type="hidden" name="module" value="member" />
<input type="hidden" name="member_srl" value="{$member_info->member_srl}" /> <input type="hidden" name="member_srl" value="{$member_info->member_srl}" />
<input type="hidden" name="signature" value="{escape($member_info->signature)}" />
<input type="hidden" name="page" value="{$page}" /> <input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="xe_validator_id" value="modules/member/m.skin/default/modify_info/1" /> <input type="hidden" name="xe_validator_id" value="modules/member/m.skin/default/modify_info/1" />
@ -40,7 +41,7 @@
<label for="{$formTag->name}">{$formTag->title}</label> <label for="{$formTag->name}">{$formTag->title}</label>
<div cond="$formTag->name != 'signature'">{$formTag->inputTag}</div> <div cond="$formTag->name != 'signature'">{$formTag->inputTag}</div>
<div cond="$formTag->name =='signature'"> <div cond="$formTag->name =='signature'">
<textarea id="{$formTag->name}" name="signature" rows="8" cols="42" class="itxx">{$member_info->signature}</textarea> {$editor}
</div> </div>
</li> </li>
<li><label for="mailing" class="db fb al">{$lang->allow_mailing}</label><input id="mailing" type="checkbox" name="allow_mailing" value="Y" class="checkbox" <!--@if($member_info->allow_mailing!='N')-->checked="checked"<!--@end--> /> <p style="color:#666">{$lang->about_allow_mailing}</p></li> <li><label for="mailing" class="db fb al">{$lang->allow_mailing}</label><input id="mailing" type="checkbox" name="allow_mailing" value="Y" class="checkbox" <!--@if($member_info->allow_mailing!='N')-->checked="checked"<!--@end--> /> <p style="color:#666">{$lang->about_allow_mailing}</p></li>

View file

@ -28,7 +28,7 @@
<ul> <ul>
<li> <li>
<label for="{$identifierForm->name}">{$identifierForm->title} <em style="color:red">*</em></label> <label for="{$identifierForm->name}">{$identifierForm->title} <em style="color:red">*</em></label>
<input type="text"|cond="$identifierForm->name!='email_address'" type="email"|cond="$identifierForm->name=='email_address'" name="{$identifierForm->name}" id="{$identifierForm->name}" value="{$identifierForm->value}" /> <input type="text"|cond="$identifierForm->name!='email_address'" type="email"|cond="$identifierForm->name=='email_address'" name="{$identifierForm->name}" id="{$identifierForm->name}" value="" />
</li> </li>
<li> <li>
<label for="password">{$lang->password} <em style="color:red">*</em></label> <label for="password">{$lang->password} <em style="color:red">*</em></label>

View file

@ -177,17 +177,17 @@ class memberAdminView extends member
Context::set('editor_skin_list', $oEditorModel->getEditorSkinList()); Context::set('editor_skin_list', $oEditorModel->getEditorSkinList());
// get an editor // get an editor
$option = $oEditorModel->getEditorConfig(); $option = new stdClass;
$option->primary_key_name = 'temp_srl'; $option->primary_key_name = 'temp_srl';
$option->content_key_name = 'agreement'; $option->content_key_name = 'agreement';
$option->allow_fileupload = false; $option->allow_fileupload = false;
$option->enable_autosave = false; $option->enable_autosave = false;
$option->enable_default_component = true; $option->enable_default_component = true;
$option->enable_component = true; $option->enable_component = false;
$option->resizable = true; $option->resizable = true;
$option->height = 300; $option->height = 300;
$editor = $oEditorModel->getEditor(0, $option); $option->editor_toolbar_hide = 'Y';
Context::set('editor', $editor); Context::set('editor', $oEditorModel->getEditor(0, $option));
$signupForm = $config->signupForm; $signupForm = $config->signupForm;
foreach($signupForm as $val) foreach($signupForm as $val)
@ -363,45 +363,52 @@ class memberAdminView extends member
*/ */
function dispMemberAdminInsert() function dispMemberAdminInsert()
{ {
// retrieve extend form
$oMemberModel = getModel('member'); $oMemberModel = getModel('member');
$member_config = $this->memberConfig;
$memberInfo = Context::get('member_info'); if($member_info = Context::get('member_info'))
if(isset($memberInfo))
{ {
$memberInfo->signature = $oMemberModel->getSignature($this->memberInfo->member_srl); $member_info->signature = $oMemberModel->getSignature($this->memberInfo->member_srl);
} }
Context::set('member_info', $memberInfo); else
// get an editor for the signature
if($memberInfo->member_srl)
{ {
$oEditorModel = getModel('editor'); $member_info = new stdClass;
$option = new stdClass(); }
$option->editor_skin = $this->memberConfig->signature_editor_skin; Context::set('member_info', $member_info);
$option->sel_editor_colorset = $this->memberConfig->sel_editor_colorset;
$formTags = $this->_getMemberInputTag($member_info, true);
Context::set('formTags', $formTags);
// Editor of the module set for signing by calling getEditor
foreach($formTags as $formTag)
{
if($formTag->name == 'signature')
{
$option = new stdClass;
$option->primary_key_name = 'member_srl'; $option->primary_key_name = 'member_srl';
$option->content_key_name = 'signature'; $option->content_key_name = 'signature';
$option->allow_fileupload = false; $option->allow_fileupload = $member_config->member_allow_fileupload === 'Y';
$option->enable_autosave = false; $option->enable_autosave = false;
$option->enable_default_component = true; $option->enable_default_component = true;
$option->enable_component = false; $option->enable_component = false;
$option->resizable = false; $option->resizable = false;
$option->disable_html = true;
$option->height = 200; $option->height = 200;
$editor = $oEditorModel->getEditor($this->memberInfo->member_srl, $option); $option->editor_toolbar = 'simple';
Context::set('editor', $editor); $option->editor_toolbar_hide = 'Y';
$option->editor_skin = $member_config->signature_editor_skin;
$option->sel_editor_colorset = $member_config->sel_editor_colorset;
Context::set('editor', getModel('editor')->getEditor($member_info->member_srl, $option));
}
} }
$formTags = $this->_getMemberInputTag($memberInfo, true); $identifierForm = new stdClass;
Context::set('formTags', $formTags); $identifierForm->title = lang($member_config->identifier);
$member_config = $this->memberConfig;
global $lang;
$identifierForm = new stdClass();
$identifierForm->title = $lang->{$member_config->identifier};
$identifierForm->name = $member_config->identifier; $identifierForm->name = $member_config->identifier;
$identifierForm->value = $memberInfo->{$member_config->identifier}; $identifierForm->value = $member_info->{$member_config->identifier};
Context::set('identifierForm', $identifierForm); Context::set('identifierForm', $identifierForm);
$this->setTemplateFile('insert_member'); $this->setTemplateFile('insert_member');
} }
@ -413,7 +420,7 @@ class memberAdminView extends member
* *
* @return array * @return array
*/ */
function _getMemberInputTag($memberInfo, $isAdmin = false) function _getMemberInputTag($memberInfo = null, $isAdmin = false)
{ {
$oMemberModel = getModel('member'); $oMemberModel = getModel('member');
$extend_form_list = $oMemberModel->getCombineJoinForm($memberInfo); $extend_form_list = $oMemberModel->getCombineJoinForm($memberInfo);
@ -424,6 +431,10 @@ class memberAdminView extends member
{ {
$memberInfo = get_object_vars($memberInfo); $memberInfo = get_object_vars($memberInfo);
} }
else
{
$memberInfo = array();
}
$member_config = $this->memberConfig; $member_config = $this->memberConfig;
if(!$this->memberConfig) if(!$this->memberConfig)

View file

@ -205,16 +205,16 @@ class memberView extends member
// Error appears if the member is not allowed to join // Error appears if the member is not allowed to join
if($member_config->enable_join != 'Y') return $this->stop('msg_signup_disabled'); if($member_config->enable_join != 'Y') return $this->stop('msg_signup_disabled');
$oMemberAdminView = getAdminView('member'); $formTags = getAdminView('member')->_getMemberInputTag();
$formTags = $oMemberAdminView->_getMemberInputTag($member_info);
Context::set('formTags', $formTags); Context::set('formTags', $formTags);
Context::set('email_confirmation_required', $member_config->enable_confirm); Context::set('email_confirmation_required', $member_config->enable_confirm);
// Editor of the module set for signing by calling getEditor // Editor of the module set for signing by calling getEditor
foreach($formTags as $formTag) { foreach($formTags as $formTag)
if($formTag->name=='signature') { {
$oEditorModel = getModel('editor'); if($formTag->name == 'signature')
$option = new stdClass(); {
$option = new stdClass;
$option->primary_key_name = 'member_srl'; $option->primary_key_name = 'member_srl';
$option->content_key_name = 'signature'; $option->content_key_name = 'signature';
$option->allow_fileupload = false; $option->allow_fileupload = false;
@ -223,20 +223,19 @@ class memberView extends member
$option->enable_component = false; $option->enable_component = false;
$option->resizable = false; $option->resizable = false;
$option->disable_html = true; $option->disable_html = true;
$option->height = 100; $option->height = 200;
$option->editor_toolbar = 'simple';
$option->editor_toolbar_hide = 'Y';
$option->editor_skin = $member_config->signature_editor_skin; $option->editor_skin = $member_config->signature_editor_skin;
$option->sel_editor_colorset = $member_config->sel_editor_colorset; $option->sel_editor_colorset = $member_config->sel_editor_colorset;
$editor = $oEditorModel->getEditor($member_info->member_srl, $option);
Context::set('editor', $editor); Context::set('editor', getModel('editor')->getEditor(0, $option));
} }
} }
$identifierForm = new stdClass;
global $lang; $identifierForm->title = lang($member_config->identifier);
$identifierForm = new stdClass();
$identifierForm->title = $lang->{$member_config->identifier};
$identifierForm->name = $member_config->identifier; $identifierForm->name = $member_config->identifier;
$identifierForm->value = $member_info->{$member_config->identifier};
Context::set('identifierForm', $identifierForm); Context::set('identifierForm', $identifierForm);
$this->addExtraFormValidatorMessage(); $this->addExtraFormValidatorMessage();
@ -302,47 +301,37 @@ class memberView extends member
$columnList = array('member_srl', 'user_id', 'user_name', 'nick_name', 'email_address', 'find_account_answer', 'homepage', 'blog', 'birthday', 'allow_mailing'); $columnList = array('member_srl', 'user_id', 'user_name', 'nick_name', 'email_address', 'find_account_answer', 'homepage', 'blog', 'birthday', 'allow_mailing');
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl, 0, $columnList); $member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl, 0, $columnList);
$member_info->signature = $oMemberModel->getSignature($member_srl); $member_info->signature = $oMemberModel->getSignature($member_srl);
Context::set('member_info',$member_info); Context::set('member_info', $member_info);
// Get a list of extend join form $formTags = getAdminView('member')->_getMemberInputTag($member_info);
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($member_info)); Context::set('formTags', $formTags);
// Editor of the module set for signing by calling getEditor // Editor of the module set for signing by calling getEditor
if($member_info->member_srl) foreach($formTags as $formTag)
{ {
$oEditorModel = getModel('editor'); if($formTag->name == 'signature')
$option = $oEditorModel->getEditorConfig(); {
$option = new stdClass;
$option->primary_key_name = 'member_srl'; $option->primary_key_name = 'member_srl';
$option->content_key_name = 'signature'; $option->content_key_name = 'signature';
if($member_config->member_allow_fileupload === 'Y') $option->allow_fileupload = $member_config->member_allow_fileupload === 'Y';
{
$option->allow_fileupload = true;
}
else
{
$option->allow_fileupload = false;
}
$option->enable_autosave = false; $option->enable_autosave = false;
$option->enable_default_component = true; $option->enable_default_component = true;
$option->enable_component = false; $option->enable_component = false;
$option->resizable = false; $option->resizable = false;
$option->disable_html = true; $option->disable_html = true;
$option->height = 200; $option->height = 200;
$option->editor_toolbar = 'simple';
$option->editor_toolbar_hide = 'Y';
$option->editor_skin = $member_config->signature_editor_skin; $option->editor_skin = $member_config->signature_editor_skin;
$option->sel_editor_colorset = $member_config->sel_editor_colorset; $option->sel_editor_colorset = $member_config->sel_editor_colorset;
$editor = $oEditorModel->getEditor($member_info->member_srl, $option);
Context::set('editor', $editor); Context::set('editor', getModel('editor')->getEditor($member_info->member_srl, $option));
}
} }
$this->member_info = $member_info; $identifierForm = new stdClass;
$identifierForm->title = lang($member_config->identifier);
$oMemberAdminView = getAdminView('member');
$formTags = $oMemberAdminView->_getMemberInputTag($member_info);
Context::set('formTags', $formTags);
global $lang;
$identifierForm = new stdClass();
$identifierForm->title = $lang->{$member_config->identifier};
$identifierForm->name = $member_config->identifier; $identifierForm->name = $member_config->identifier;
$identifierForm->value = $member_info->{$member_config->identifier}; $identifierForm->value = $member_info->{$member_config->identifier};
Context::set('identifierForm', $identifierForm); Context::set('identifierForm', $identifierForm);

View file

@ -16,7 +16,7 @@
<input type="hidden" name="act" value="procMemberModifyInfo" /> <input type="hidden" name="act" value="procMemberModifyInfo" />
<input type="hidden" name="module" value="member" /> <input type="hidden" name="module" value="member" />
<input type="hidden" name="member_srl" value="{$member_info->member_srl}" /> <input type="hidden" name="member_srl" value="{$member_info->member_srl}" />
<input type="hidden" name="signature" value="{htmlspecialchars($member_info->signature, ENT_COMPAT | ENT_HTML401, 'UTF-8', false)}" /> <input type="hidden" name="signature" value="{escape($member_info->signature)}" />
<input type="hidden" name="page" value="{$page}" /> <input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="xe_validator_id" value="modules/member/skins/default/1" /> <input type="hidden" name="xe_validator_id" value="modules/member/skins/default/1" />
<div class="control-group"> <div class="control-group">

View file

@ -25,7 +25,7 @@
<div class="control-group"> <div class="control-group">
<label for="{$identifierForm->name}" class="control-label"><em style="color:red">*</em> {$identifierForm->title}</label> <label for="{$identifierForm->name}" class="control-label"><em style="color:red">*</em> {$identifierForm->title}</label>
<div class="controls"> <div class="controls">
<input type="text"|cond="$identifierForm->name!='email_address'" type="email"|cond="$identifierForm->name=='email_address'" name="{$identifierForm->name}" id="{$identifierForm->name}" value="{$identifierForm->value}" required /> <input type="text"|cond="$identifierForm->name!='email_address'" type="email"|cond="$identifierForm->name=='email_address'" name="{$identifierForm->name}" id="{$identifierForm->name}" value="" required />
<p class="help-inline" cond="$identifierForm->name == 'email_address' && $email_confirmation_required == 'Y'"> <p class="help-inline" cond="$identifierForm->name == 'email_address' && $email_confirmation_required == 'Y'">
{$lang->msg_email_confirmation_required} {$lang->msg_email_confirmation_required}
</p> </p>

View file

@ -16,7 +16,7 @@
<input type="hidden" name="act" value="procMemberModifyInfo" /> <input type="hidden" name="act" value="procMemberModifyInfo" />
<input type="hidden" name="module" value="member" /> <input type="hidden" name="module" value="member" />
<input type="hidden" name="member_srl" value="{$member_info->member_srl}" /> <input type="hidden" name="member_srl" value="{$member_info->member_srl}" />
<input type="hidden" name="signature" value="{htmlspecialchars($member_info->signature, ENT_COMPAT | ENT_HTML401, 'UTF-8', false)}" /> <input type="hidden" name="signature" value="{escape($member_info->signature)}" />
<input type="hidden" name="page" value="{$page}" /> <input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="xe_validator_id" value="modules/member/skins/simple_world/1" /> <input type="hidden" name="xe_validator_id" value="modules/member/skins/simple_world/1" />
<div class="control-group"> <div class="control-group">

View file

@ -29,7 +29,7 @@
</div> </div>
<div class="control-group"> <div class="control-group">
<label for="{$identifierForm->name}">{$identifierForm->title}<sup style="color:red">*</sup></label> <label for="{$identifierForm->name}">{$identifierForm->title}<sup style="color:red">*</sup></label>
<input type="text"|cond="$identifierForm->name!='email_address'" type="email"|cond="$identifierForm->name=='email_address'" name="{$identifierForm->name}" id="{$identifierForm->name}" value="{$identifierForm->value}" required /> <input type="text"|cond="$identifierForm->name!='email_address'" type="email"|cond="$identifierForm->name=='email_address'" name="{$identifierForm->name}" id="{$identifierForm->name}" value="" required />
<p class="rx_member-notice" cond="$identifierForm->name == 'email_address' && $email_confirmation_required == 'Y'"> <p class="rx_member-notice" cond="$identifierForm->name == 'email_address' && $email_confirmation_required == 'Y'">
{$lang->msg_email_confirmation_required} {$lang->msg_email_confirmation_required}
</p> </p>

View file

@ -16,7 +16,7 @@
<input type="hidden" name="module" value="member" /> <input type="hidden" name="module" value="member" />
<input type="hidden" name="act" value="procMemberAdminInsert" /> <input type="hidden" name="act" value="procMemberAdminInsert" />
<input type="hidden" name="member_srl" value="{$member_srl}" /> <input type="hidden" name="member_srl" value="{$member_srl}" />
<input type="hidden" name="signature" value="{htmlspecialchars($member_info->signature, ENT_COMPAT | ENT_HTML401, 'UTF-8', false)}" /> <input type="hidden" name="signature" value="{escape($member_info->signature)}" />
<input type="hidden" name="success_return_url" value="{getUrl('act', $act)}" cond="$member_srl" /> <input type="hidden" name="success_return_url" value="{getUrl('act', $act)}" cond="$member_srl" />
<input type="hidden" name="success_return_url" value="{getUrl('act', 'dispMemberAdminList')}" cond="!$member_srl" /> <input type="hidden" name="success_return_url" value="{getUrl('act', 'dispMemberAdminList')}" cond="!$member_srl" />
<input type="hidden" name="xe_validator_id" value="modules/member/tpl/1" /> <input type="hidden" name="xe_validator_id" value="modules/member/tpl/1" />