From: Vincent Vanwaelscappel Date: Thu, 7 Mar 2024 17:59:15 +0000 (+0100) Subject: wait #6775 @1.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=c1d26dcff362a699059782ee8ec465c8a563911c;p=fluidbook-toolbox.git wait #6775 @1.5 --- diff --git a/app/Http/Controllers/Admin/Operations/Tools/DockerWebContainer.php b/app/Http/Controllers/Admin/Operations/Tools/DockerWebContainer.php index cfcc6ebba..4077b8857 100644 --- a/app/Http/Controllers/Admin/Operations/Tools/DockerWebContainer.php +++ b/app/Http/Controllers/Admin/Operations/Tools/DockerWebContainer.php @@ -73,7 +73,9 @@ trait DockerWebContainer continue; } `mv $dir/www/.docker/$env $firstDir/www/.docker/`; - rename($dir . '/www/.env.' . $env, $firstDir . '/www/.env.' . $env); + if (file_exists($dir . '/www/.env.' . $env)) { + rename($dir . '/www/.env.' . $env, $firstDir . '/www/.env.' . $env); + } $fdir = Files::mkdir($fdir); `cp -r $firstDir/www $fdir`; copy($dir . '/update', $fdir . 'update'); diff --git a/app/Http/Controllers/Admin/Operations/Tools/StaticSiteUploader.php b/app/Http/Controllers/Admin/Operations/Tools/StaticSiteUploader.php new file mode 100644 index 000000000..8e7a6d37e --- /dev/null +++ b/app/Http/Controllers/Admin/Operations/Tools/StaticSiteUploader.php @@ -0,0 +1,61 @@ + ['label' => __('Cubedesigners V8'), 'server' => 'godzilla.cubedesigners.com'] + ]; + } + + public function staticsiteuploader() + { + if (!can('staticsite:manage')) { + abort(404); + } + $form = new Form(backpack_url('tools/staticsiteupload')); + $form->setTitle(__('Remplacer les contenus d\'un site statique')); + $form->setEnctype('multipart/form-data'); + $form->setSubmitLabel(__('Charger')); + $form->setSubmitIcon('lab la-js-square'); + $form->addField('file', StandardFile::class, __('Fichier zip'), ['accept' => '.zip', 'hint' => __('La racine du zip doit correspondre à la racine du site')]); + $s = $this->_getSites(); + $sites = []; + foreach ($s as $k => $item) { + $sites[$k] = $item['label']; + } + $form->addField('website', SelectFromArray::class, __('Site'), ['options' => $sites]); + return view('tools.form', ['form' => $form]); + } + + public function staticsiteupload() + { + if (!can('staticsite:manage')) { + abort(404); + } + + $siteId = request('website'); + $site = $this->_getSites()[$siteId]; + + $zip = Files::tempnam() . '.zip'; + $file = request()->file('file'); + rename($file->getPathname(), $zip); + $tmp = Files::tmpdir(); + Zip::extract($zip, $tmp); + $dest='staticupload@' . $site['server'] . ':/home/staticupload/' . $siteId; + $rsync = new Rsync($tmp, $dest); + $rsync->execute(); + $rsync->dd(); + } +} diff --git a/app/Http/Controllers/Admin/ToolsController.php b/app/Http/Controllers/Admin/ToolsController.php index f5e1bd40b..d297b584c 100644 --- a/app/Http/Controllers/Admin/ToolsController.php +++ b/app/Http/Controllers/Admin/ToolsController.php @@ -19,6 +19,7 @@ use App\Http\Controllers\Admin\Operations\Tools\ImportFluidbookSettings; use App\Http\Controllers\Admin\Operations\Tools\JSON2Excel; use App\Http\Controllers\Admin\Operations\Tools\PDF2SVGOperation; use App\Http\Controllers\Admin\Operations\Tools\SASSCompiler; +use App\Http\Controllers\Admin\Operations\Tools\StaticSiteUploader; use App\Http\Controllers\Admin\Operations\Tools\SVGCleaner; use App\Http\Controllers\Admin\Operations\Tools\TextToSpeech; use App\Http\Controllers\Controller; @@ -43,6 +44,7 @@ class ToolsController extends Controller use SASSCompiler; use PDF2SVGOperation; use ImportFluidbookSettings; + use StaticSiteUploader; protected function index($tool, $args = '') { diff --git a/resources/views/tools/sidebar.blade.php b/resources/views/tools/sidebar.blade.php index 920565ce6..04018364e 100644 --- a/resources/views/tools/sidebar.blade.php +++ b/resources/views/tools/sidebar.blade.php @@ -1,59 +1,62 @@ {{-- __('!! Outils') --}}