App\Http\Controllers\EditorController::getDetailSetting PHP Method

getDetailSetting() public method

public getDetailSetting ( EditorHandler $handler, ConfigManager $configs, $instanceId )
$handler Xpressengine\Editor\EditorHandler
$configs Xpressengine\Config\ConfigManager
    public function getDetailSetting(EditorHandler $handler, ConfigManager $configs, $instanceId)
    {
        $config = $configs->getOrNew($handler->getConfigKey($instanceId));
        $tools = $handler->getToolAll();
        $toolIds = $config->get('tools', []);
        $activated = array_intersect_key($tools, array_flip($toolIds));
        $activated = array_merge(array_flip($toolIds), $activated);
        $deactivated = array_diff_key($tools, array_flip($toolIds));
        $items = [];
        foreach ($activated as $key => $item) {
            $items[$key] = ['class' => $item, 'activated' => true];
        }
        foreach ($deactivated as $key => $item) {
            $items[$key] = ['class' => $item, 'activated' => false];
        }
        return XePresenter::make('editor.detail', ['instanceId' => $instanceId, 'config' => $config, 'permArgs' => $this->getPermArguments($handler->getPermKey($instanceId), ['html', 'tool', 'upload', 'download']), 'items' => $items]);
    }