mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-04 09:32:15 +09:00
Add not_member option to grant selection #2499
This commit is contained in:
parent
c89af17410
commit
8e151d7cfa
7 changed files with 38 additions and 23 deletions
|
|
@ -680,6 +680,7 @@
|
||||||
<select id="auth${PermId}">
|
<select id="auth${PermId}">
|
||||||
<option class="_group_all" value="0">{$lang->grant_to_all}</option>
|
<option class="_group_all" value="0">{$lang->grant_to_all}</option>
|
||||||
<option class="_group_loggedin" value="-1">{$lang->grant_to_login_user}</option>
|
<option class="_group_loggedin" value="-1">{$lang->grant_to_login_user}</option>
|
||||||
|
<option class="_group_not_loggedin" value="-4">{$lang->grant_to_non_login_user}</option>
|
||||||
<option class="_group_manager" value="-3">{$lang->grant_to_admin}</option>
|
<option class="_group_manager" value="-3">{$lang->grant_to_admin}</option>
|
||||||
<option class="_group_selected" value="-10">{$lang->grant_to_group}</option>
|
<option class="_group_selected" value="-10">{$lang->grant_to_group}</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
@ -2328,7 +2329,8 @@ jQuery(function($){
|
||||||
var htGrantStrToSelectValMap = {
|
var htGrantStrToSelectValMap = {
|
||||||
'all': '0',
|
'all': '0',
|
||||||
'member': '-1',
|
'member': '-1',
|
||||||
'site': '-2',
|
'site': '-1',
|
||||||
|
'not_member': '-4',
|
||||||
'manager': '-3',
|
'manager': '-3',
|
||||||
'group': '-10'
|
'group': '-10'
|
||||||
};
|
};
|
||||||
|
|
@ -2366,7 +2368,7 @@ jQuery(function($){
|
||||||
/*
|
/*
|
||||||
guest : 모든 옵션 사용 가능, 항상 권한 있음.
|
guest : 모든 옵션 사용 가능, 항상 권한 있음.
|
||||||
member : '모든 사용자' 제외하고 사용 가능, 로그인 정보가 있을 경우 true
|
member : '모든 사용자' 제외하고 사용 가능, 로그인 정보가 있을 경우 true
|
||||||
site : '모든 사용자' 제외하고 사용 가능, 가상 사이트일 경우에는 가입된 그룹 정보가 있어야 하며, 가상 사이트가 아닐 경우에는 'member'와 동일.
|
not_member : 비로그인 사용자, 로그인 정보가 *없을* 경우 true
|
||||||
manager : '관리자만','선택그룹 사용자' 옵션만 사용가능, 관리자일 경우에만 true
|
manager : '관리자만','선택그룹 사용자' 옵션만 사용가능, 관리자일 경우에만 true
|
||||||
root : manager와 동일.
|
root : manager와 동일.
|
||||||
*/
|
*/
|
||||||
|
|
@ -2377,6 +2379,9 @@ jQuery(function($){
|
||||||
case 'member':
|
case 'member':
|
||||||
$node.find('._group_all').remove();
|
$node.find('._group_all').remove();
|
||||||
break;
|
break;
|
||||||
|
case 'not_member':
|
||||||
|
$node.find('._group_all').remove();
|
||||||
|
break;
|
||||||
case 'site':
|
case 'site':
|
||||||
$node.find('._group_all').remove();
|
$node.find('._group_all').remove();
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -46,11 +46,12 @@ $lang->header_script = 'Header Script';
|
||||||
$lang->about_header_script = 'You can input the html script between <header> and </header> by yourself. You can use <script>, <style> or <meta> tags.';
|
$lang->about_header_script = 'You can input the html script between <header> and </header> by yourself. You can use <script>, <style> or <meta> tags.';
|
||||||
$lang->grant_access = 'Access';
|
$lang->grant_access = 'Access';
|
||||||
$lang->grant_manager = 'Management';
|
$lang->grant_manager = 'Management';
|
||||||
$lang->grant_to_all = 'All users';
|
$lang->grant_to_all = 'Everyone';
|
||||||
$lang->grant_to_login_user = 'Login users';
|
$lang->grant_to_login_user = 'Logged in users';
|
||||||
|
$lang->grant_to_non_login_user = 'Logged out users';
|
||||||
$lang->grant_to_site_user = 'Registered users';
|
$lang->grant_to_site_user = 'Registered users';
|
||||||
$lang->grant_to_admin = 'Administrator only';
|
$lang->grant_to_admin = 'Administrator only';
|
||||||
$lang->grant_to_group = 'Selected group users';
|
$lang->grant_to_group = 'Selected group members';
|
||||||
$lang->cmd_add_shortcut = 'Add Shortcut';
|
$lang->cmd_add_shortcut = 'Add Shortcut';
|
||||||
$lang->cmd_install = 'Install';
|
$lang->cmd_install = 'Install';
|
||||||
$lang->cmd_create_db_table = 'Create DB Table';
|
$lang->cmd_create_db_table = 'Create DB Table';
|
||||||
|
|
|
||||||
|
|
@ -46,11 +46,12 @@ $lang->header_script = '헤더 스크립트';
|
||||||
$lang->about_header_script = 'HTML <head>...</head> 사이에 들어가는 코드를 직접 입력할 수 있습니다. 예) <script>, <style>, <meta> ';
|
$lang->about_header_script = 'HTML <head>...</head> 사이에 들어가는 코드를 직접 입력할 수 있습니다. 예) <script>, <style>, <meta> ';
|
||||||
$lang->grant_access = '접근 권한';
|
$lang->grant_access = '접근 권한';
|
||||||
$lang->grant_manager = '관리 권한';
|
$lang->grant_manager = '관리 권한';
|
||||||
$lang->grant_to_all = '모든 사용자';
|
$lang->grant_to_all = '모든 방문자';
|
||||||
$lang->grant_to_login_user = '로그인 사용자';
|
$lang->grant_to_login_user = '로그인 사용자';
|
||||||
|
$lang->grant_to_non_login_user = '비로그인 사용자';
|
||||||
$lang->grant_to_site_user = '가입한 사용자';
|
$lang->grant_to_site_user = '가입한 사용자';
|
||||||
$lang->grant_to_admin = '관리자만';
|
$lang->grant_to_admin = '관리자만';
|
||||||
$lang->grant_to_group = '선택 그룹 사용자';
|
$lang->grant_to_group = '선택 그룹 소속 회원';
|
||||||
$lang->cmd_add_shortcut = '바로가기 추가';
|
$lang->cmd_add_shortcut = '바로가기 추가';
|
||||||
$lang->cmd_install = '설치';
|
$lang->cmd_install = '설치';
|
||||||
$lang->cmd_create_db_table = 'DB Table 생성하기';
|
$lang->cmd_create_db_table = 'DB Table 생성하기';
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ class Permission
|
||||||
$member_groups = !empty($member_info->group_list) ? array_keys($member_info->group_list) : [];
|
$member_groups = !empty($member_info->group_list) ? array_keys($member_info->group_list) : [];
|
||||||
|
|
||||||
// Generate the list of default permissions.
|
// Generate the list of default permissions.
|
||||||
$defaults = [
|
$this->_spec = [
|
||||||
'access' => '',
|
'access' => '',
|
||||||
'root' => 'root',
|
'root' => 'root',
|
||||||
'manager' => 'manager',
|
'manager' => 'manager',
|
||||||
|
|
@ -46,11 +46,10 @@ class Permission
|
||||||
];
|
];
|
||||||
foreach ($xml_grant_list as $key => $val)
|
foreach ($xml_grant_list as $key => $val)
|
||||||
{
|
{
|
||||||
$defaults[$key] = $val->default ?? '';
|
$this->_spec[$key] = $val->default ?? '';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate the combined spec for this module.
|
// Override the defaults with user settings.
|
||||||
$this->_spec = $defaults;
|
|
||||||
foreach ($module_grants as $row)
|
foreach ($module_grants as $row)
|
||||||
{
|
{
|
||||||
$key = $row->name;
|
$key = $row->name;
|
||||||
|
|
@ -64,6 +63,11 @@ class Permission
|
||||||
$this->_spec[$key] = 'member';
|
$this->_spec[$key] = 'member';
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if ($row->group_srl == -4)
|
||||||
|
{
|
||||||
|
$this->_spec[$key] = 'not_member';
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if ($row->group_srl == -3)
|
if ($row->group_srl == -3)
|
||||||
{
|
{
|
||||||
$this->_spec[$key] = 'manager';
|
$this->_spec[$key] = 'manager';
|
||||||
|
|
@ -90,19 +94,15 @@ class Permission
|
||||||
if ($member_info && $member_info->is_admin === 'Y')
|
if ($member_info && $member_info->is_admin === 'Y')
|
||||||
{
|
{
|
||||||
$this->_scopes = true;
|
$this->_scopes = true;
|
||||||
foreach ($defaults as $key => $default)
|
foreach ($this->_spec as $key => $requirement)
|
||||||
{
|
{
|
||||||
$this->{$key} = true;
|
$this->{$key} = true;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
elseif ($is_module_admin)
|
if ($is_module_admin)
|
||||||
{
|
{
|
||||||
$this->_scopes = $is_module_admin;
|
$this->_scopes = $is_module_admin;
|
||||||
foreach ($defaults as $key => $default)
|
|
||||||
{
|
|
||||||
$this->{$key} = ($default !== 'root');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if each permission is granted to the current user.
|
// Check if each permission is granted to the current user.
|
||||||
|
|
@ -116,6 +116,10 @@ class Permission
|
||||||
{
|
{
|
||||||
$this->{$key} = ($member_info && $member_info->member_srl);
|
$this->{$key} = ($member_info && $member_info->member_srl);
|
||||||
}
|
}
|
||||||
|
elseif ($requirement === 'not_member')
|
||||||
|
{
|
||||||
|
$this->{$key} = !($member_info && $member_info->member_srl);
|
||||||
|
}
|
||||||
elseif ($requirement === 'manager')
|
elseif ($requirement === 'manager')
|
||||||
{
|
{
|
||||||
$this->{$key} = $this->manager ? true : false;
|
$this->{$key} = $this->manager ? true : false;
|
||||||
|
|
|
||||||
|
|
@ -182,7 +182,8 @@ class ModuleAdminModel extends Module
|
||||||
{
|
{
|
||||||
if($val->group_srl == 0) $default_grant[$val->name] = 'all';
|
if($val->group_srl == 0) $default_grant[$val->name] = 'all';
|
||||||
else if($val->group_srl == -1) $default_grant[$val->name] = 'member';
|
else if($val->group_srl == -1) $default_grant[$val->name] = 'member';
|
||||||
else if($val->group_srl == -2) $default_grant[$val->name] = 'site';
|
else if($val->group_srl == -2) $default_grant[$val->name] = 'member';
|
||||||
|
else if($val->group_srl == -4) $default_grant[$val->name] = 'not_member';
|
||||||
else if($val->group_srl == -3) $default_grant[$val->name] = 'manager';
|
else if($val->group_srl == -3) $default_grant[$val->name] = 'manager';
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -260,7 +261,8 @@ class ModuleAdminModel extends Module
|
||||||
{
|
{
|
||||||
if($val->group_srl == 0) $defaultGrant->{$val->name} = 'all';
|
if($val->group_srl == 0) $defaultGrant->{$val->name} = 'all';
|
||||||
else if($val->group_srl == -1) $defaultGrant->{$val->name} = 'member';
|
else if($val->group_srl == -1) $defaultGrant->{$val->name} = 'member';
|
||||||
else if($val->group_srl == -2) $defaultGrant->{$val->name} = 'site';
|
else if($val->group_srl == -2) $defaultGrant->{$val->name} = 'member';
|
||||||
|
else if($val->group_srl == -4) $defaultGrant->{$val->name} = 'not_member';
|
||||||
else if($val->group_srl == -3) $defaultGrant->{$val->name} = 'manager';
|
else if($val->group_srl == -3) $defaultGrant->{$val->name} = 'manager';
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -13,8 +13,9 @@
|
||||||
<label class="x_control-label" for="{$grant_name}_default">{$grant_item->title}</label>
|
<label class="x_control-label" for="{$grant_name}_default">{$grant_item->title}</label>
|
||||||
<div class="x_controls">
|
<div class="x_controls">
|
||||||
<select name="{$grant_name}_default" id="{$grant_name}_default" class="grant_default">
|
<select name="{$grant_name}_default" id="{$grant_name}_default" class="grant_default">
|
||||||
<option value="0" cond="$grant_item->default == 'guest'">{$lang->grant_to_all}</option>
|
<option value="0">{$lang->grant_to_all}</option>
|
||||||
<option value="-1" cond="$grant_item->default != 'manager'">{$lang->grant_to_login_user}</option>
|
<option value="-1">{$lang->grant_to_login_user}</option>
|
||||||
|
<option value="-4">{$lang->grant_to_non_login_user}</option>
|
||||||
<option value="-3">{$lang->grant_to_admin}</option>
|
<option value="-3">{$lang->grant_to_admin}</option>
|
||||||
<option value="">{$lang->grant_to_group}</option>
|
<option value="">{$lang->grant_to_group}</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
||||||
|
|
@ -58,8 +58,9 @@
|
||||||
<label for="{$grant_name}_default" class="x_control-label">{$grant_item->title}</label>
|
<label for="{$grant_name}_default" class="x_control-label">{$grant_item->title}</label>
|
||||||
<div class="x_controls">
|
<div class="x_controls">
|
||||||
<select name="{$grant_name}_default" id="{$grant_name}_default" class="grant_default">
|
<select name="{$grant_name}_default" id="{$grant_name}_default" class="grant_default">
|
||||||
<!--@if($grant_item->default == 'guest')--><option value="0" <!--@if($default_grant[$grant_name]=='all')-->selected="selected"<!--@end-->>{$lang->grant_to_all}</option><!--@end-->
|
<option value="0" <!--@if($default_grant[$grant_name]=='all')-->selected="selected"<!--@end-->>{$lang->grant_to_all}</option>
|
||||||
<!--@if($grant_item->default != 'manager')--><option value="-1" <!--@if($default_grant[$grant_name]=='member' || $default_grant[$grant_name]=='site')-->selected="selected"<!--@end-->>{$lang->grant_to_login_user}</option><!--@end-->
|
<option value="-1" <!--@if($default_grant[$grant_name]=='member' || $default_grant[$grant_name]=='site')-->selected="selected"<!--@end-->>{$lang->grant_to_login_user}</option>
|
||||||
|
<option value="-4" <!--@if($default_grant[$grant_name]=='not_member')-->selected="selected"<!--@end-->>{$lang->grant_to_non_login_user}</option>
|
||||||
<option value="-3" <!--@if($default_grant[$grant_name]=='manager')-->selected="selected"<!--@end-->>{$lang->grant_to_admin}</option>
|
<option value="-3" <!--@if($default_grant[$grant_name]=='manager')-->selected="selected"<!--@end-->>{$lang->grant_to_admin}</option>
|
||||||
<option value="" <!--@if($default_grant[$grant_name]=='group')-->selected="selected"<!--@end-->>{$lang->grant_to_group}</option>
|
<option value="" <!--@if($default_grant[$grant_name]=='group')-->selected="selected"<!--@end-->>{$lang->grant_to_group}</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue