Files
breadcrumb-the-shire/pages/admin/permissions/create().php

45 lines
1.3 KiB
PHP
Raw Normal View History

2026-02-04 23:31:53 +01:00
<?php
use MintyPHP\Buffer;
use MintyPHP\Support\Flash;
use MintyPHP\Support\Guard;
use MintyPHP\Router;
2026-02-11 19:28:12 +01:00
use MintyPHP\Service\Access\PermissionService;
2026-02-04 23:31:53 +01:00
Guard::requireLogin();
Guard::requirePermission(PermissionService::PERMISSIONS_CREATE);
$errors = [];
$form = [
'key' => '',
'description' => '',
2026-02-11 19:28:12 +01:00
'active' => 1,
'is_system' => 0,
2026-02-04 23:31:53 +01:00
];
if (isset($_POST['key'])) {
2026-02-23 12:58:19 +01:00
$result = permissionGateway()->createFromAdmin($_POST);
2026-02-04 23:31:53 +01:00
$form = $result['form'] ?? $form;
$errors = $result['errors'] ?? [];
if ($result['ok'] ?? false) {
$action = (string) ($_POST['action'] ?? 'create');
if ($action === 'create_close') {
Flash::success('Permission created', 'admin/permissions', 'permission_created');
Router::redirect('admin/permissions');
} else {
$id = (int) ($result['id'] ?? 0);
if ($id > 0) {
$target = "admin/permissions/edit/{$id}";
Flash::success('Permission created', $target, 'permission_created');
Router::redirect($target);
} else {
Flash::success('Permission created', 'admin/permissions', 'permission_created');
Router::redirect('admin/permissions');
}
}
}
}
Buffer::set('title', t('Create permission'));