Viewing file: PrivilegesController.php (1.99 KB) -rwxr-x--- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /** * Controller for table privileges */
declare(strict_types=1);
namespace PhpMyAdmin\Controllers\Table;
use PhpMyAdmin\DatabaseInterface; use PhpMyAdmin\ResponseRenderer; use PhpMyAdmin\Server\Privileges; use PhpMyAdmin\Template; use PhpMyAdmin\Util;
use function mb_strtolower;
/** * Controller for table privileges */ class PrivilegesController extends AbstractController { /** @var Privileges */ private $privileges;
/** @var DatabaseInterface */ private $dbi;
public function __construct( ResponseRenderer $response, Template $template, string $db, string $table, Privileges $privileges, DatabaseInterface $dbi ) { parent::__construct($response, $template, $db, $table); $this->privileges = $privileges; $this->dbi = $dbi; }
/** * @param string[] $params Request parameters * @psalm-param array{checkprivsdb: string, checkprivstable: string} $params */ public function __invoke(array $params): string { global $cfg, $text_dir;
$scriptName = Util::getScriptNameForOption($cfg['DefaultTabTable'], 'table');
$db = $params['checkprivsdb']; $table = $params['checkprivstable']; if ($this->dbi->getLowerCaseNames() === '1') { $db = mb_strtolower($params['checkprivsdb']); $table = mb_strtolower($params['checkprivstable']); }
$privileges = []; if ($this->dbi->isSuperUser()) { $privileges = $this->privileges->getAllPrivileges($db, $table); }
return $this->template->render('table/privileges/index', [ 'db' => $db, 'table' => $table, 'is_superuser' => $this->dbi->isSuperUser(), 'table_url' => $scriptName, 'text_dir' => $text_dir, 'is_createuser' => $this->dbi->isCreateUser(), 'is_grantuser' => $this->dbi->isGrantUser(), 'privileges' => $privileges, ]); } }
|