mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-01 08:12:17 +09:00
Add multiple member agreements
- 가입 약관, 개인정보처리방침 등을 5개까지 추가할 수 있음 - 약관마다 각각 필수 또는 선택을 지정할 수 있음 - 모든 필수 약관에 동의해야 가입 가능 - 기본 스킨은 수정함. 서드파티 스킨에는 여전히 약관 1개만 표시됨 - 서드파티 스킨 사용시 동의 하나만 선택해도 전체 동의로 간주
This commit is contained in:
parent
20f924678a
commit
11c04c5a26
19 changed files with 251 additions and 72 deletions
|
|
@ -244,6 +244,41 @@ class memberAdminController extends member
|
|||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMemberAdminFeaturesConfig');
|
||||
$this->setRedirectUrl($returnUrl);
|
||||
}
|
||||
|
||||
public function procMemberAdminInsertAgreementsConfig()
|
||||
{
|
||||
$config = new stdClass;
|
||||
$config->agreements = array();
|
||||
|
||||
$args = Context::getRequestVars();
|
||||
for ($i = 1; $i < 20; $i++)
|
||||
{
|
||||
if (isset($args->{'agreement_' . $i . '_type'}))
|
||||
{
|
||||
$agreement = new stdClass;
|
||||
$agreement->title = escape(utf8_trim($args->{'agreement_' . $i . '_title'}));
|
||||
$agreement->content = $args->{'agreement_' . $i . '_content'};
|
||||
$agreement->type = $args->{'agreement_' . $i . '_type'};
|
||||
if (!in_array($agreement->type, array('required', 'optional', 'disabled')))
|
||||
{
|
||||
$agreement->type = 'disabled';
|
||||
}
|
||||
$config->agreements[$i] = $agreement;
|
||||
}
|
||||
}
|
||||
|
||||
// for compatibility with older versions
|
||||
$config->agreement = $config->agreements[1]->content;
|
||||
|
||||
$oModuleController = getController('module');
|
||||
$output = $oModuleController->updateModuleConfig('member', $config);
|
||||
|
||||
// default setting end
|
||||
$this->setMessage('success_updated');
|
||||
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMemberAdminAgreementsConfig');
|
||||
$this->setRedirectUrl($returnUrl);
|
||||
}
|
||||
|
||||
public function procMemberAdminInsertSignupConfig()
|
||||
{
|
||||
|
|
@ -254,7 +289,6 @@ class memberAdminController extends member
|
|||
'limit_day',
|
||||
'limit_day_description',
|
||||
'emailhost_check',
|
||||
'agreement',
|
||||
'redirect_url',
|
||||
'profile_image', 'profile_image_max_width', 'profile_image_max_height',
|
||||
'image_name', 'image_name_max_width', 'image_name_max_height',
|
||||
|
|
@ -268,12 +302,6 @@ class memberAdminController extends member
|
|||
|
||||
$args->limit_day = (int)$args->limit_day;
|
||||
if($args->emailhost_check != 'allowed' && $args->emailhost_check != 'prohibited') $args->emailhost_check == 'allowed';
|
||||
if(!trim(strip_tags($args->agreement)))
|
||||
{
|
||||
$agreement_file = _XE_PATH_.'files/member_extra_info/agreement_' . Context::get('lang_type') . '.txt';
|
||||
FileHandler::removeFile($agreement_file);
|
||||
$args->agreement = NULL;
|
||||
}
|
||||
|
||||
if($args->redirect_url)
|
||||
{
|
||||
|
|
@ -353,18 +381,9 @@ class memberAdminController extends member
|
|||
$args->signupForm = $signupForm;
|
||||
|
||||
// create Ruleset
|
||||
$this->_createSignupRuleset($signupForm, $args->agreement);
|
||||
$this->_createSignupRuleset($signupForm);
|
||||
$this->_createLoginRuleset($args->identifier);
|
||||
|
||||
// check agreement value exist
|
||||
if($args->agreement)
|
||||
{
|
||||
$agreement_file = _XE_PATH_.'files/member_extra_info/agreement_' . Context::get('lang_type') . '.txt';
|
||||
$output = FileHandler::writeFile($agreement_file, $args->agreement);
|
||||
|
||||
unset($args->agreement);
|
||||
}
|
||||
|
||||
$output = $oModuleController->updateModuleConfig('member', $args);
|
||||
|
||||
// default setting end
|
||||
|
|
@ -517,10 +536,9 @@ class memberAdminController extends member
|
|||
/**
|
||||
* Create ruleset file of signup
|
||||
* @param object $signupForm (user define signup form)
|
||||
* @param string $agreement
|
||||
* @return void
|
||||
*/
|
||||
function _createSignupRuleset($signupForm, $agreement = null){
|
||||
function _createSignupRuleset($signupForm){
|
||||
$xml_file = './files/ruleset/insertMember.xml';
|
||||
$buff = '<?xml version="1.0" encoding="utf-8"?>' . PHP_EOL.
|
||||
'<ruleset version="1.5.0">' . PHP_EOL.
|
||||
|
|
@ -531,10 +549,6 @@ class memberAdminController extends member
|
|||
|
||||
$fields = array();
|
||||
|
||||
if ($agreement)
|
||||
{
|
||||
$fields[] = '<field name="accept_agreement"><if test="$act == \'procMemberInsert\'" attr="required" value="true" /></field>';
|
||||
}
|
||||
foreach($signupForm as $formInfo)
|
||||
{
|
||||
if($formInfo->required || $formInfo->mustRequired)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue