OneBot: Leantime 改造版源码(BOM/Univer 表格/AI 接管/品牌替换等)
This commit is contained in:
52
app/Domain/Projects/Controllers/ChangeCurrentProject.php
Normal file
52
app/Domain/Projects/Controllers/ChangeCurrentProject.php
Normal file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
namespace Leantime\Domain\Projects\Controllers;
|
||||
|
||||
use Leantime\Core\Controller\Controller;
|
||||
use Leantime\Core\Controller\Frontcontroller;
|
||||
use Leantime\Domain\Projects\Services\Projects as ProjectService;
|
||||
|
||||
class ChangeCurrentProject extends Controller
|
||||
{
|
||||
private ProjectService $projectService;
|
||||
|
||||
public function init(ProjectService $projectService): void
|
||||
{
|
||||
$this->projectService = $projectService;
|
||||
}
|
||||
|
||||
/**
|
||||
* get - handle get requests
|
||||
*/
|
||||
public function get($params)
|
||||
{
|
||||
$id = (int) ($params['id'] ?? 0);
|
||||
|
||||
if (
|
||||
! isset($params['id']) ||
|
||||
! $this->projectService->isUserAssignedToProject(session('userdata.id'), $id) ||
|
||||
! $project = $this->projectService->getProject($id)
|
||||
) {
|
||||
return Frontcontroller::redirect(BASE_URL.'/errors/error404');
|
||||
}
|
||||
|
||||
$this->projectService->changeCurrentSessionProject($id);
|
||||
|
||||
$defaultURL = '/dashboard/show';
|
||||
$redirectFilter = self::dispatch_filter('defaultProjectUrl', $defaultURL, $project);
|
||||
|
||||
return Frontcontroller::redirect(BASE_URL.$redirectFilter);
|
||||
}
|
||||
|
||||
/**
|
||||
* post - handle post requests (via login for example) and redirects to get
|
||||
*/
|
||||
public function post($params)
|
||||
{
|
||||
if (isset($_GET['id'])) {
|
||||
$id = filter_var($_GET['id'], FILTER_SANITIZE_NUMBER_INT);
|
||||
|
||||
return Frontcontroller::redirect(BASE_URL.'/projects/changeCurrentProject/'.$id);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user