App\Http\Controllers\ThemeController::update PHP Method

update() public method

public update ( Request $request, ThemeHandler $themeHandler )
$request Xpressengine\Http\Request
$themeHandler Xpressengine\Theme\ThemeHandler
    public function update(Request $request, ThemeHandler $themeHandler)
    {
        $editable = session('theme.editable');
        if (!$editable) {
            return redirect()->back()->with('alert', ['type' => 'danger', 'message' => xe_trans('xe::needAuthForEditingTheme')])->withInput();
        }
        $themeId = $request->get('theme');
        $fileName = $request->get('file');
        $reset = $request->get('reset');
        $content = $request->get('content');
        $theme = $themeHandler->getTheme($themeId);
        $files = $theme->getEditFiles();
        $filePath = realpath($files[$fileName]);
        $cachePath = $themeHandler->getCachePath($filePath);
        $cacheDir = dirname($cachePath);
        File::makeDirectory($cacheDir, 0755, true, true);
        try {
            if ($reset === 'Y') {
                File::delete($cachePath);
            } else {
                file_put_contents($cachePath, $content);
            }
        } catch (\Exception $e) {
            throw new FileAccessDeniedHttpException();
        }
        return redirect()->back()->with('alert', ['type' => 'success', 'message' => '저장되었습니다.']);
    }