]> _ Git - fluidbook-toolbox.git/commitdiff
wip #5509 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 6 Oct 2022 07:34:18 +0000 (09:34 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 6 Oct 2022 07:34:18 +0000 (09:34 +0200)
app/Http/Controllers/Admin/FluidbookStatsController.php [new file with mode: 0644]
app/Http/Controllers/Admin/FluidbookThemePreviewController.php [new file with mode: 0644]
app/Http/Controllers/Admin/MaintenanceController.php [new file with mode: 0644]
app/Http/Controllers/Admin/OpenMaintenanceController.php [new file with mode: 0644]
app/Http/Controllers/Admin/OpenToolsController.php [new file with mode: 0644]
app/Http/Controllers/Admin/ToolboxSettingsController.php [new file with mode: 0644]
app/Http/Controllers/Admin/ToolsController.php [new file with mode: 0644]

diff --git a/app/Http/Controllers/Admin/FluidbookStatsController.php b/app/Http/Controllers/Admin/FluidbookStatsController.php
new file mode 100644 (file)
index 0000000..52a4f9f
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+use App\Http\Controllers\Controller;
+use App\Models\FluidbookPublication;
+use Backpack\CRUD\app\Library\Widget;
+use Carbon\Carbon;
+use Chartisan\PHP\Chartisan;
+use Cubist\Matomo\Reporting;
+
+class FluidbookStatsController extends Controller
+{
+    // @see App\Http\Controllers\Admin\Operations\FluidbookPublication\StatsOperation
+}
diff --git a/app/Http/Controllers/Admin/FluidbookThemePreviewController.php b/app/Http/Controllers/Admin/FluidbookThemePreviewController.php
new file mode 100644 (file)
index 0000000..0c736d4
--- /dev/null
@@ -0,0 +1,38 @@
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+use App\Jobs\GenerateThemePreview;
+use App\Models\FluidbookTheme;
+use Cubist\Backpack\Http\Controllers\Base\XSendFileController;
+
+class FluidbookThemePreviewController extends XSendFileController
+{
+    public function preview($id, $variant = '')
+    {
+        /** @var FluidbookTheme $theme */
+        $theme = FluidbookTheme::find($id);
+        if (null === $theme) {
+            return response()->setStatusCode(404);
+        }
+        if (!$theme->canList(backpack_user())) {
+            return response()->setStatusCode(403);
+        }
+        return $this->xSendFile(GenerateThemePreview::getPreviewPath($theme->id, $variant));
+    }
+
+    public function previewMenu($id)
+    {
+        return $this->preview($id, 'menu');
+    }
+
+    public function previewBurger($id)
+    {
+        return $this->preview($id, 'burger');
+    }
+
+    public function previewLoader($id)
+    {
+        return $this->preview($id, 'loader');
+    }
+}
diff --git a/app/Http/Controllers/Admin/MaintenanceController.php b/app/Http/Controllers/Admin/MaintenanceController.php
new file mode 100644 (file)
index 0000000..e7d9b52
--- /dev/null
@@ -0,0 +1,34 @@
+<?php
+
+
+namespace App\Http\Controllers\Admin;
+
+
+use App\Http\Controllers\Admin\Operations\Tools\DockerWebContainer;
+use App\Http\Controllers\Admin\Operations\Tools\Excel2JSON;
+use App\Http\Controllers\Admin\Operations\Tools\FluidbookAssetsDownloader;
+use App\Http\Controllers\Admin\Operations\Tools\FluidbookBranchCreate;
+use App\Http\Controllers\Admin\Operations\Tools\FluidbookBranchRemove;
+use App\Http\Controllers\Admin\Operations\Tools\GitReposCreate;
+use App\Http\Controllers\Admin\Operations\Tools\JSON2Excel;
+use App\Http\Controllers\Admin\Operations\Tools\PDF2SVGOperation;
+use App\Http\Controllers\Admin\Operations\Tools\TextToSpeech;
+use App\Http\Controllers\Controller;
+
+class MaintenanceController extends Controller
+{
+    protected function index($function, $args = '')
+    {
+        if (!$args) {
+            $args = [];
+        } else {
+            $args = explode('/', $args);
+        }
+
+        if (!method_exists($this, $function)) {
+            return view('maintenance.' . $function, ['args' => $args]);
+        } else {
+            return $this->$function($args);
+        }
+    }
+}
diff --git a/app/Http/Controllers/Admin/OpenMaintenanceController.php b/app/Http/Controllers/Admin/OpenMaintenanceController.php
new file mode 100644 (file)
index 0000000..d066768
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+
+
+namespace App\Http\Controllers\Admin;
+
+
+use App\Http\Controllers\Admin\Operations\Maintenance\UpdateSourcesOperation;
+use App\Http\Controllers\Controller;
+
+class OpenMaintenanceController extends Controller
+{
+    use UpdateSourcesOperation;
+
+    protected function index($function, $args = '')
+    {
+
+        if (!$args) {
+            $args = [];
+        } else {
+            $args = explode('/', $args);
+        }
+
+        if (!method_exists($this, $function)) {
+            return view('openmaintenance.' . $function, ['args' => $args]);
+        } else {
+            return $this->$function($args);
+        }
+
+    }
+
+
+}
diff --git a/app/Http/Controllers/Admin/OpenToolsController.php b/app/Http/Controllers/Admin/OpenToolsController.php
new file mode 100644 (file)
index 0000000..4e23fff
--- /dev/null
@@ -0,0 +1,31 @@
+<?php
+
+
+namespace App\Http\Controllers\Admin;
+
+
+use App\Http\Controllers\Admin\Operations\Tools\Excel2JSON;
+use App\Http\Controllers\Controller;
+
+class OpenToolsController extends Controller
+{
+    use Excel2JSON;
+
+    protected function index($tool, $args = '')
+    {
+        if (!$args) {
+            $args = [];
+        } else {
+            $args = explode('/', $args);
+        }
+
+        if (!method_exists($this, $tool)) {
+            return view('opentools.' . $tool, ['args' => $args]);
+        } else {
+            return $this->$tool($args);
+        }
+
+    }
+
+
+}
diff --git a/app/Http/Controllers/Admin/ToolboxSettingsController.php b/app/Http/Controllers/Admin/ToolboxSettingsController.php
new file mode 100644 (file)
index 0000000..d5f34ea
--- /dev/null
@@ -0,0 +1,13 @@
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+class ToolboxSettingsController
+{
+    public function set()
+    {
+        $user = backpack_user();
+        $user->setToolboxSetting(request()->get('key'), request()->get('value'));
+        $user->saveWithoutFlushingCache();
+    }
+}
diff --git a/app/Http/Controllers/Admin/ToolsController.php b/app/Http/Controllers/Admin/ToolsController.php
new file mode 100644 (file)
index 0000000..eedb333
--- /dev/null
@@ -0,0 +1,50 @@
+<?php
+
+
+namespace App\Http\Controllers\Admin;
+
+
+use App\Http\Controllers\Admin\Operations\Tools\DockerWebContainer;
+use App\Http\Controllers\Admin\Operations\Tools\Excel2JSON;
+use App\Http\Controllers\Admin\Operations\Tools\Favicon;
+use App\Http\Controllers\Admin\Operations\Tools\FluidbookAssetsDownloader;
+use App\Http\Controllers\Admin\Operations\Tools\FluidbookBranchCreate;
+use App\Http\Controllers\Admin\Operations\Tools\FluidbookBranchRemove;
+use App\Http\Controllers\Admin\Operations\Tools\GitReposCreate;
+use App\Http\Controllers\Admin\Operations\Tools\JSON2Excel;
+use App\Http\Controllers\Admin\Operations\Tools\PDF2SVGOperation;
+use App\Http\Controllers\Admin\Operations\Tools\TextToSpeech;
+use App\Http\Controllers\Controller;
+
+class ToolsController extends Controller
+{
+    use PDF2SVGOperation;
+    use FluidbookAssetsDownloader;
+    use GitReposCreate;
+    use TextToSpeech;
+    use DockerWebContainer;
+    use JSON2Excel;
+    use Excel2JSON;
+    use FluidbookBranchCreate;
+    use FluidbookBranchRemove;
+    use Favicon;
+
+    protected function index($tool, $args = '')
+    {
+
+        if (!$args) {
+            $args = [];
+        } else {
+            $args = explode('/', $args);
+        }
+
+        if (!method_exists($this, $tool)) {
+            return view('tools.' . $tool, ['args' => $args]);
+        } else {
+            return $this->$tool($args);
+        }
+
+    }
+
+
+}