X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/d17eb0f54cd1e12fae9a1d015f4ad4b6b6f764c6..refs/pull/768/head:/app/Http/Controllers/HomeController.php diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 164becd4d..bbe1a8679 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -2,6 +2,7 @@ use Activity; use BookStack\Repos\EntityRepo; +use Illuminate\Http\Request; use Illuminate\Http\Response; use Views; @@ -56,7 +57,8 @@ class HomeController extends Controller * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response * @throws \Exception */ - public function getTranslations() { + public function getTranslations() + { $locale = app()->getLocale(); $cacheKey = 'GLOBAL_TRANSLATIONS_' . $locale; if (cache()->has($cacheKey) && config('app.env') !== 'development') { @@ -87,6 +89,27 @@ class HomeController extends Controller ]); } + /** + * Get an icon via image request. + * Can provide a 'color' parameter with hex value to color the icon. + * @param $iconName + * @param Request $request + * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response + */ + public function getIcon($iconName, Request $request) + { + $attrs = []; + if ($request->filled('color')) { + $attrs['fill'] = '#' . $request->get('color'); + } + + $icon = icon($iconName, $attrs); + return response($icon, 200, [ + 'Content-Type' => 'image/svg+xml', + 'Cache-Control' => 'max-age=3600', + ]); + } + /** * Get custom head HTML, Used in ajax calls to show in editor. * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View @@ -96,4 +119,19 @@ class HomeController extends Controller return view('partials/custom-head-content'); } + /** + * Show the view for /robots.txt + * @return $this + */ + public function getRobots() + { + $sitePublic = setting('app-public', false); + $allowRobots = config('app.allow_robots'); + if ($allowRobots === null) { + $allowRobots = $sitePublic; + } + return response() + ->view('robots', ['allowRobots' => $allowRobots]) + ->header('Content-Type', 'text/plain'); + } }