class SettingsHandler

SettingsHandler는 XpressEngine의 관리자 페이지를 관리합니다. 관리자 페이지의 좌측 메뉴와 각 페이지에 대한 접근 권한의 관리를 담당합니다.

Constants

SETTING_CONFIG_NAME

Properties

protected Tree $menuList
protected SettingsMenu $selectedMenu
private Container $container
private Router $router
private ConfigManager $configManager
private Gate $gate

Methods

__construct(Container $container, Router $router, ConfigManager $configManger, Gate $gate)

constructor render 필드가 있을 경우 메뉴를 출력할 때, render에 지정된 closure가 반환하는 문자열을 그대로 출력한다.

array
getPermissionList(bool $groupByTab = true)

관리권한 목록을 반환한다. $sortByTab이 true일 경우 tab 필드별로 group by하여 반환한다.

mixed
getPermission(string $permissionId)

주어진 관리페이지 권한에 해당하는 권한목록을 반환한다.

getSelectedMenu(boolean $isSuper)

현재 request에 해당하는 메뉴를 반환한다. 메뉴목록이 아직 생성되지 않았다면 메뉴 목록을 먼저 만든다.

getSettingsMenus(boolean $isSuper)

관리페이지 메뉴 목록을 반환한다.

void
setConfig(string $configName, array $config)

관리페이지 관련 설정을 저장한다.

getConfig(string $config)

관리페이지 관련 설정을 조회한다.

void
makeMenuList(Router $router, boolean $isSuper)

관리페이지 메뉴 목록을 생성한다. 현재 요청의 user와 route 정보를 이용하여 선택된 메뉴, 감추어야할 메뉴를 설정한다.

void
setSelectedMenu(Route $route)

현재 요청에 해당하는 관리페이지 메뉴를 찾는다.

array
getRegisteredMenus()

getRegisteredMenus

Details

at line 83
__construct(Container $container, Router $router, ConfigManager $configManger, Gate $gate)

constructor render 필드가 있을 경우 메뉴를 출력할 때, render에 지정된 closure가 반환하는 문자열을 그대로 출력한다.

Parameters

Container $container XpressEngine Register 등록된 관리메뉴와 관리권한을 조회할 때 사용한다.
Router $router router
ConfigManager $configManger 관리페이지 관련 설정 정보를 조회/저장할 때 사용한다.
Gate $gate 관리페이지 권한 정보를 조회/저장할 때 사용한다.

at line 103
array getPermissionList(bool $groupByTab = true)

관리권한 목록을 반환한다. $sortByTab이 true일 경우 tab 필드별로 group by하여 반환한다.

Parameters

bool $groupByTab tab별로 group by할지의 여부

Return Value

array

Exceptions

PermissionIDNotFoundException

at line 138
protected mixed getPermission(string $permissionId)

주어진 관리페이지 권한에 해당하는 권한목록을 반환한다.

Parameters

string $permissionId 권한아이디

Return Value

mixed

at line 151
SettingsMenu getSelectedMenu(boolean $isSuper)

현재 request에 해당하는 메뉴를 반환한다. 메뉴목록이 아직 생성되지 않았다면 메뉴 목록을 먼저 만든다.

Parameters

boolean $isSuper 최고관리자 여부

Return Value

SettingsMenu

at line 166
SettingsMenu[] getSettingsMenus(boolean $isSuper)

관리페이지 메뉴 목록을 반환한다.

Parameters

boolean $isSuper 최고관리자 여부

Return Value

SettingsMenu[]

at line 182
void setConfig(string $configName, array $config)

관리페이지 관련 설정을 저장한다.

Parameters

string $configName 설정 키
array $config config 설정 데이터

Return Value

void

at line 194
ConfigEntity getConfig(string $config)

관리페이지 관련 설정을 조회한다.

Parameters

string $config 설정 키

Return Value

ConfigEntity

at line 207
protected void makeMenuList(Router $router, boolean $isSuper)

관리페이지 메뉴 목록을 생성한다. 현재 요청의 user와 route 정보를 이용하여 선택된 메뉴, 감추어야할 메뉴를 설정한다.

Parameters

Router $router router
boolean $isSuper 최고관리자 여부

Return Value

void

at line 265
protected void setSelectedMenu(Route $route)

현재 요청에 해당하는 관리페이지 메뉴를 찾는다.

Parameters

Route $route 현재 요청에 매칭된 route

Return Value

void

at line 290
private array getRegisteredMenus()

getRegisteredMenus

Return Value

array

Exceptions

Exception