diff --git a/app/Http/Controllers/PublicController.php b/app/Http/Controllers/PublicController.php
index f26e72f..abf6138 100644
--- a/app/Http/Controllers/PublicController.php
+++ b/app/Http/Controllers/PublicController.php
@@ -37,14 +37,14 @@ class PublicController extends BaseController
$gallery->html = $parser->parse($gallery->description);
}
- $theme = "kuvia-blog";
+ $theme = $tenant->template;
if($request->input("theme", false) && $tenant->owner == Auth::id()) {
$theme = $request->input("theme");
}
return view("themes.tenant.".$theme.".list", ["galleries" => $galleries, "tenant" => $tenant]);
}
- public function listGalleryImagesView($tenant, $gallery) {
+ public function listGalleryImagesView($tenant, $gallery, Request $request) {
$tenant = Tenant::query()->where("url", "=", $tenant)->firstOrFail();
$gallery = Gallery::getByTenantAndUrl($tenant->id, $gallery);
if($gallery->status == "online" || (Auth::check() && $gallery->status == "preview" && Auth::user()->id == $tenant->owner)) {
@@ -61,7 +61,12 @@ class PublicController extends BaseController
$parser = new \Parsedown();
$gallery->html = $parser->parse($gallery->description);
- return view("themes.gallery.kuvia-gallery.list", ["gallery" => $gallery, "tenant" => $tenant, "images" => $images]);
+ $theme = $tenant->gallery_default_theme;
+ if($request->input("theme", false) && $tenant->owner == Auth::id()) {
+ $theme = $request->input("theme");
+ }
+
+ return view("themes.gallery.".$theme.".list", ["gallery" => $gallery, "tenant" => $tenant, "images" => $images]);
}
public function returnWatermakeFile(\App\Helper\Image $imageHelper, \App\Helper\Access $accessHelper) {
diff --git a/app/Http/Controllers/TenantController.php b/app/Http/Controllers/TenantController.php
index bd71edd..f5c3c58 100644
--- a/app/Http/Controllers/TenantController.php
+++ b/app/Http/Controllers/TenantController.php
@@ -2,6 +2,7 @@
namespace App\Http\Controllers;
+use App\Models\Gallery;
use App\Models\Image;
use App\Models\Tenant;
use App\Models\Theme;
@@ -121,6 +122,46 @@ class TenantController extends BaseController
->where("status", "=", "public")
->where("typ", "=", "tenant")
->get();
- return view("tenant.theme", ["themes" => $themes]);
+
+ $gallery_themes = Theme::query()
+ ->where("status", "=", "public")
+ ->where("typ", "=", "gallery")
+ ->get();
+
+ $gallery = Gallery::query()
+ ->where("tenant", "=", session("current_tenant_id"))
+ ->orderByDesc("id")
+ ->first();
+ return view("tenant.theme", ["themes" => $themes, "gallery_themes" => $gallery_themes, "gallery" => $gallery]);
+ }
+
+ public function tenantThemeSet(Request $request) {
+ $tenant = Tenant::query()->where("id", "=", session("current_tenant_id"))->firstOrFail();
+ $theme = Theme::query()
+ ->where("name", "=", $request->input("name"))
+ ->where("typ", "=", "tenant")
+ ->firstOrFail();
+ if($theme->status != "public") {
+ abort(400);
+ }
+
+ $tenant->template = $theme->name;
+ $tenant->saveOrFail();
+ return Redirect::back();
+ }
+
+ public function tenantGalleryDefaultTemplateSet(Request $request) {
+ $tenant = Tenant::query()->where("id", "=", session("current_tenant_id"))->firstOrFail();
+ $theme = Theme::query()
+ ->where("name", "=", $request->input("name"))
+ ->where("typ", "=", "gallery")
+ ->firstOrFail();
+ if($theme->status != "public") {
+ abort(400);
+ }
+
+ $tenant->gallery_default_theme = $theme->name;
+ $tenant->saveOrFail();
+ return Redirect::back();
}
}
diff --git a/resources/views/tenant/theme.blade.php b/resources/views/tenant/theme.blade.php
index 132c099..e46dcf6 100644
--- a/resources/views/tenant/theme.blade.php
+++ b/resources/views/tenant/theme.blade.php
@@ -1,7 +1,7 @@
@extends('layout/template')
@section('content')
-
Themes
+ Themes Tenant
Name |
@@ -12,7 +12,26 @@
{{ $theme->name }} |
Vorschau |
- Auswählen |
+ Auswählen |
+
+ @endforeach
+
+ Themes Gallery
+
+
+ Name |
+ Vorschau |
+ Action |
+
+ @foreach($gallery_themes as $theme)
+
+ {{ $theme->name }} |
+
+ @if(!is_null($gallery))
+ Vorschau
+ @endif
+ |
+ Auswählen |
@endforeach
diff --git a/routes/web.php b/routes/web.php
index 1053f4c..9b6771e 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -34,6 +34,8 @@ Route::middleware([\App\Http\Middleware\TenanMiddleware::class])->group(function
Route::post("/t/new", [\App\Http\Controllers\TenantController::class, 'newTenant']);
Route::get("/t/select/{name}", [\App\Http\Controllers\TenantController::class, 'switchTenant']);
Route::get("/s/theme", [\App\Http\Controllers\TenantController::class, 'tenantThemeView']);
+ Route::get("/s/theme/set", [\App\Http\Controllers\TenantController::class, 'tenantThemeSet']);
+ Route::get("/s/theme/set-gallery", [\App\Http\Controllers\TenantController::class, 'tenantGalleryDefaultTemplateSet']);
Route::get("/g", [\App\Http\Controllers\GalleryController::class, 'listView']);
Route::get("/g/new", [\App\Http\Controllers\GalleryController::class, 'newView']);