Files
jongryangje/app/Controllers/Admin/WorkMovedToBag.php

42 lines
1.1 KiB
PHP
Raw Normal View History

<?php
declare(strict_types=1);
namespace App\Controllers\Admin;
use App\Controllers\BaseController;
/**
* 관리자 업무 URL(admin/) 메인 사이트 업무 URL(bag/) 영구 이전.
* POST 폼은 307 메서드·본문 유지를 시도하고, GET 301.
*/
class WorkMovedToBag extends BaseController
{
public function toBag(string $prefix, string $rest = ''): \CodeIgniter\HTTP\RedirectResponse
{
$rest = trim($rest, '/');
if ($prefix === 'packaging-units') {
$path = 'packaging-units/manage';
if ($rest !== '') {
$path .= '/' . $rest;
}
} else {
$path = $prefix;
if ($rest !== '') {
$path .= '/' . $rest;
}
}
$target = site_url('bag/' . $path);
$query = $this->request->getUri()->getQuery();
if ($query !== '') {
$target .= '?' . $query;
}
$code = $this->request->getMethod() === 'post' ? 307 : 301;
return redirect()->to($target)->setStatusCode($code);
}
}