upload files

This commit is contained in:
2024-09-10 12:55:41 +03:00
parent 09d8427293
commit fa8fb69f19
7 changed files with 84 additions and 30 deletions

View File

@ -33,20 +33,22 @@ class MenuController extends AdminController
#[NoReturn] public function actionAdd(): void
{
$menuForm = new CreateMenuForm();
$menuForm->load($_REQUEST);
if (isset($_FILES['icon_file']) && $_FILES['icon_file']['error'] === UPLOAD_ERR_OK) {
$file = new FileUpload($_FILES['icon_file'], ['jpg', 'jpeg', 'png']);
$file->upload();
$menuForm->setItem('icon_file', $file->getUploadFile());
}
$menuForm = new CreateMenuForm();
$menuForm->load($_REQUEST);
if ($menuForm->validate()){
$menuItem = $this->menuService->create($menuForm);
if ($menuItem){
$this->redirect("/admin/settings/menu/" . $menuItem->id);
$this->redirect("/admin/settings/menu/" . $menuItem->id, code: 302);
}
}
$this->redirect("/admin/settings/menu/create");
$this->redirect("/admin/settings/menu/create", code: 302);
}
/**
@ -96,19 +98,23 @@ class MenuController extends AdminController
if (!$menuItem){
throw new Exception(message: "The menu item not found");
}
$menuForm = new CreateMenuForm();
$menuForm->load($_REQUEST);
if (isset($_FILES['icon_file']) && $_FILES['icon_file']['error'] === UPLOAD_ERR_OK) {
$file = new FileUpload($_FILES['icon_file'], ['jpg', 'jpeg', 'png']);
$file->upload();
$menuForm->setItem('icon_file', $file->getUploadFile());
}
$menuForm = new CreateMenuForm();
$menuForm->load($_REQUEST);
if ($menuForm->validate()){
$menuItem = $this->menuService->update($menuForm, $menuItem);
if ($menuItem){
$this->redirect("/admin/settings/menu/" . $menuItem->id);
$this->redirect("/admin/settings/menu/" . $menuItem->id, code: 302);
}
}
$this->redirect("/admin/settings/menu/update/" . $id);
$this->redirect("/admin/settings/menu/update/" . $id, code: 302);
}
#[NoReturn] public function actionDelete($id): void

View File

@ -17,6 +17,7 @@ class PostController extends AdminController
protected function init(): void
{
parent::init();
$this->cgView->viewPath = KERNEL_MODULES_DIR . "/post/views/";
$this->postService = new PostService();
}

View File

@ -0,0 +1,20 @@
<?php
use app\controllers\MainController;
use kernel\App;
use kernel\modules\admin_themes\controllers\AdminThemeController;
use Phroute\Phroute\RouteCollector;
App::$collector->group(["prefix" => "admin"], function (RouteCollector $router){
App::$collector->group(["prefix" => "user"], callback: function (RouteCollector $router){
App::$collector->get('/', [\kernel\modules\user\controllers\UserController::class, 'actionIndex']);
App::$collector->get('/page/{page_number}', [\kernel\modules\user\controllers\UserController::class, 'actionIndex']);
App::$collector->get('/create', [\kernel\modules\user\controllers\UserController::class, 'actionCreate']);
App::$collector->post("/", [\kernel\modules\user\controllers\UserController::class, 'actionAdd']);
App::$collector->get('/{id}', [\kernel\modules\user\controllers\UserController::class, 'actionView']);
App::$collector->any('/update/{id}', [\kernel\modules\user\controllers\UserController::class, 'actionUpdate']);
App::$collector->any("/edit/{id}", [\kernel\modules\user\controllers\UserController::class, 'actionEdit']);
App::$collector->get('/delete/{id}', [\kernel\modules\user\controllers\UserController::class, 'actionDelete']);
});
});