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

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="module" value="member" />
<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="xe_validator_id" value="modules/member/m.skin/default/modify_info/1" />
@ -40,7 +41,7 @@
<label for="{$formTag->name}">{$formTag->title}</label>
<div cond="$formTag->name != 'signature'">{$formTag->inputTag}</div>
<div cond="$formTag->name =='signature'">
<textarea id="{$formTag->name}" name="signature" rows="8" cols="42" class="itxx">{$member_info->signature}</textarea>
{$editor}
</div>
</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>
<li>
<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>
<label for="password">{$lang->password} <em style="color:red">*</em></label>

View file

@ -177,18 +177,18 @@ class memberAdminView extends member
Context::set('editor_skin_list', $oEditorModel->getEditorSkinList());
// get an editor
$option = $oEditorModel->getEditorConfig();
$option = new stdClass;
$option->primary_key_name = 'temp_srl';
$option->content_key_name = 'agreement';
$option->allow_fileupload = false;
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = true;
$option->enable_component = false;
$option->resizable = true;
$option->height = 300;
$editor = $oEditorModel->getEditor(0, $option);
Context::set('editor', $editor);
$option->editor_toolbar_hide = 'Y';
Context::set('editor', $oEditorModel->getEditor(0, $option));
$signupForm = $config->signupForm;
foreach($signupForm as $val)
{
@ -363,45 +363,52 @@ class memberAdminView extends member
*/
function dispMemberAdminInsert()
{
// retrieve extend form
$oMemberModel = getModel('member');
$memberInfo = Context::get('member_info');
if(isset($memberInfo))
{
$memberInfo->signature = $oMemberModel->getSignature($this->memberInfo->member_srl);
}
Context::set('member_info', $memberInfo);
// get an editor for the signature
if($memberInfo->member_srl)
{
$oEditorModel = getModel('editor');
$option = new stdClass();
$option->editor_skin = $this->memberConfig->signature_editor_skin;
$option->sel_editor_colorset = $this->memberConfig->sel_editor_colorset;
$option->primary_key_name = 'member_srl';
$option->content_key_name = 'signature';
$option->allow_fileupload = false;
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = false;
$option->resizable = false;
$option->height = 200;
$editor = $oEditorModel->getEditor($this->memberInfo->member_srl, $option);
Context::set('editor', $editor);
}
$formTags = $this->_getMemberInputTag($memberInfo, true);
Context::set('formTags', $formTags);
$member_config = $this->memberConfig;
global $lang;
$identifierForm = new stdClass();
$identifierForm->title = $lang->{$member_config->identifier};
if($member_info = Context::get('member_info'))
{
$member_info->signature = $oMemberModel->getSignature($this->memberInfo->member_srl);
}
else
{
$member_info = new stdClass;
}
Context::set('member_info', $member_info);
$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->content_key_name = 'signature';
$option->allow_fileupload = $member_config->member_allow_fileupload === 'Y';
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = false;
$option->resizable = false;
$option->disable_html = true;
$option->height = 200;
$option->editor_toolbar = 'simple';
$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));
}
}
$identifierForm = new stdClass;
$identifierForm->title = lang($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);
$this->setTemplateFile('insert_member');
}
@ -413,17 +420,21 @@ class memberAdminView extends member
*
* @return array
*/
function _getMemberInputTag($memberInfo, $isAdmin = false)
function _getMemberInputTag($memberInfo = null, $isAdmin = false)
{
$oMemberModel = getModel('member');
$extend_form_list = $oMemberModel->getCombineJoinForm($memberInfo);
$security = new Security($extend_form_list);
$security->encodeHTML('..column_title', '..description', '..default_value.');
if ($memberInfo)
{
$memberInfo = get_object_vars($memberInfo);
}
else
{
$memberInfo = array();
}
$member_config = $this->memberConfig;
if(!$this->memberConfig)

View file

@ -204,17 +204,17 @@ class memberView extends member
if(!$trigger_output->toBool()) return $trigger_output;
// Error appears if the member is not allowed to join
if($member_config->enable_join != 'Y') return $this->stop('msg_signup_disabled');
$oMemberAdminView = getAdminView('member');
$formTags = $oMemberAdminView->_getMemberInputTag($member_info);
$formTags = getAdminView('member')->_getMemberInputTag();
Context::set('formTags', $formTags);
Context::set('email_confirmation_required', $member_config->enable_confirm);
// Editor of the module set for signing by calling getEditor
foreach($formTags as $formTag) {
if($formTag->name=='signature') {
$oEditorModel = getModel('editor');
$option = new stdClass();
foreach($formTags as $formTag)
{
if($formTag->name == 'signature')
{
$option = new stdClass;
$option->primary_key_name = 'member_srl';
$option->content_key_name = 'signature';
$option->allow_fileupload = false;
@ -223,24 +223,23 @@ class memberView extends member
$option->enable_component = false;
$option->resizable = false;
$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->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));
}
}
global $lang;
$identifierForm = new stdClass();
$identifierForm->title = $lang->{$member_config->identifier};
$identifierForm = new stdClass;
$identifierForm->title = lang($member_config->identifier);
$identifierForm->name = $member_config->identifier;
$identifierForm->value = $member_info->{$member_config->identifier};
Context::set('identifierForm', $identifierForm);
$this->addExtraFormValidatorMessage();
// Set a template file
$this->setTemplateFile('signup_form');
}
@ -302,53 +301,43 @@ class memberView extends member
$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->signature = $oMemberModel->getSignature($member_srl);
Context::set('member_info',$member_info);
// Get a list of extend join form
Context::set('extend_form_list', $oMemberModel->getCombineJoinForm($member_info));
// Editor of the module set for signing by calling getEditor
if($member_info->member_srl)
{
$oEditorModel = getModel('editor');
$option = $oEditorModel->getEditorConfig();
$option->primary_key_name = 'member_srl';
$option->content_key_name = 'signature';
if($member_config->member_allow_fileupload === 'Y')
{
$option->allow_fileupload = true;
}
else
{
$option->allow_fileupload = false;
}
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = false;
$option->resizable = false;
$option->disable_html = true;
$option->height = 200;
$option->editor_skin = $member_config->signature_editor_skin;
$option->sel_editor_colorset = $member_config->sel_editor_colorset;
$editor = $oEditorModel->getEditor($member_info->member_srl, $option);
Context::set('editor', $editor);
}
$this->member_info = $member_info;
$oMemberAdminView = getAdminView('member');
$formTags = $oMemberAdminView->_getMemberInputTag($member_info);
Context::set('member_info', $member_info);
$formTags = getAdminView('member')->_getMemberInputTag($member_info);
Context::set('formTags', $formTags);
global $lang;
$identifierForm = new stdClass();
$identifierForm->title = $lang->{$member_config->identifier};
// 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->content_key_name = 'signature';
$option->allow_fileupload = $member_config->member_allow_fileupload === 'Y';
$option->enable_autosave = false;
$option->enable_default_component = true;
$option->enable_component = false;
$option->resizable = false;
$option->disable_html = true;
$option->height = 200;
$option->editor_toolbar = 'simple';
$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));
}
}
$identifierForm = new stdClass;
$identifierForm->title = lang($member_config->identifier);
$identifierForm->name = $member_config->identifier;
$identifierForm->value = $member_info->{$member_config->identifier};
Context::set('identifierForm', $identifierForm);
$this->addExtraFormValidatorMessage();
// Set a template file
$this->setTemplateFile('modify_info');
}

View file

@ -16,7 +16,7 @@
<input type="hidden" name="act" value="procMemberModifyInfo" />
<input type="hidden" name="module" value="member" />
<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="xe_validator_id" value="modules/member/skins/default/1" />
<div class="control-group">

View file

@ -25,7 +25,7 @@
<div class="control-group">
<label for="{$identifierForm->name}" class="control-label"><em style="color:red">*</em> {$identifierForm->title}</label>
<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'">
{$lang->msg_email_confirmation_required}
</p>
@ -53,7 +53,7 @@
</p>
</div>
<div class="controls" cond="$formTag->name == 'signature'">
<input type="hidden" name="signature" value="" />
<input type="hidden" name="signature" value="" />
{$editor}
<style scoped>
.xpress-editor>#smart_content,

View file

@ -16,7 +16,7 @@
<input type="hidden" name="act" value="procMemberModifyInfo" />
<input type="hidden" name="module" value="member" />
<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="xe_validator_id" value="modules/member/skins/simple_world/1" />
<div class="control-group">

View file

@ -29,7 +29,7 @@
</div>
<div class="control-group">
<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'">
{$lang->msg_email_confirmation_required}
</p>

View file

@ -16,7 +16,7 @@
<input type="hidden" name="module" value="member" />
<input type="hidden" name="act" value="procMemberAdminInsert" />
<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', 'dispMemberAdminList')}" cond="!$member_srl" />
<input type="hidden" name="xe_validator_id" value="modules/member/tpl/1" />