don't show SU link for yourself

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann 2022-02-25 10:10:47 +01:00
parent c2ec309a01
commit 5b675c25a3
No known key found for this signature in database
GPG Key ID: 08A83830520FCECB

View File

@ -1,4 +1,5 @@
<?php
namespace Froxlor\UI\Callbacks;
use Froxlor\UI\Panel\UI;
@ -21,38 +22,41 @@ use Froxlor\UI\Panel\UI;
class Impersonate
{
public static function admin(string $data, array $attributes): array
{
$linker = UI::getLinker();
return [
'type' => 'link',
'data' => [
'text' => $data,
'href' => $linker->getLink([
'section' => 'admins',
'page' => 'admins',
'action' => 'su',
'id' => $attributes['adminid'],
]),
]
];
}
public static function admin(string $data, array $attributes): mixed
{
if (UI::getCurrentUser()['adminid'] != $attributes['adminid']) {
$linker = UI::getLinker();
return [
'type' => 'link',
'data' => [
'text' => $data,
'href' => $linker->getLink([
'section' => 'admins',
'page' => 'admins',
'action' => 'su',
'id' => $attributes['adminid'],
]),
]
];
}
return $data;
}
public static function customer(string $data, array $attributes): array
{
$linker = UI::getLinker();
return [
'type' => 'link',
'data' => [
'text' => $data,
'href' => $linker->getLink([
'section' => 'customers',
'page' => 'customers',
'action' => 'su',
'sort' => $attributes['loginname'],
'id' => $attributes['customerid'],
]),
]
];
}
public static function customer(string $data, array $attributes): array
{
$linker = UI::getLinker();
return [
'type' => 'link',
'data' => [
'text' => $data,
'href' => $linker->getLink([
'section' => 'customers',
'page' => 'customers',
'action' => 'su',
'sort' => $attributes['loginname'],
'id' => $attributes['customerid'],
]),
]
];
}
}