diff --git a/nur_src/authz.php b/nur_src/authz.php index 5399548..14136c7 100644 --- a/nur_src/authz.php +++ b/nur_src/authz.php @@ -58,6 +58,6 @@ class authz { static final function get_auth(): string { return self::manager()->getAuth(); } static final function get(): IAuthzUser { return self::manager()->getUser(); } - static final function is_root(): bool { return self::get()->isRole("root"); } - static final function is_admin(): bool { return self::get()->isRole("admin"); } + static final function is_root(): bool { return self::get()->isPerm("*"); } + static final function is_admin(): bool { return self::get()->isPerm("admin"); } } diff --git a/nur_src/cli/Application.php b/nur_src/cli/Application.php index 7638eaa..67069cd 100644 --- a/nur_src/cli/Application.php +++ b/nur_src/cli/Application.php @@ -165,7 +165,7 @@ abstract class Application { static::_app_configure($app); static::_app_main($app); } catch (ExitException $e) { - msg::error($e); + if ($e->haveMessage()) msg::error($e); exit($e->getCode()); } catch (Exception $e) { msg::error($e); diff --git a/src/db/CapacitorChannel.php b/src/db/CapacitorChannel.php index 4a6fe4c..f8f55cd 100644 --- a/src/db/CapacitorChannel.php +++ b/src/db/CapacitorChannel.php @@ -177,8 +177,8 @@ class CapacitorChannel { * Avant d'utiliser un id pour rechercher dans la base de donnée, corriger sa * valeur le cas échéant. * - * Cette fonction assume que l'unique clé primaire est "id_". Elle n'est pas - * utilisée si une clé primaire multiple est définie. + * Cette fonction assume que la clé primaire n'est pas multiple. Elle n'est + * pas utilisée si une clé primaire multiple est définie. */ function verifixId(string &$id): void { } diff --git a/src/db/CapacitorStorage.php b/src/db/CapacitorStorage.php index 42b2742..41786d6 100644 --- a/src/db/CapacitorStorage.php +++ b/src/db/CapacitorStorage.php @@ -204,6 +204,7 @@ EOT; $this->_create($channel); $tableName = $channel->getTableName(); $db = $this->db(); + $args ??= []; $initFunc = [$channel, "getItemValues"]; $initArgs = $args; @@ -359,9 +360,10 @@ EOT; protected function verifixFilter(CapacitorChannel $channel, &$filter): void { if ($filter !== null && !is_array($filter)) { + $primaryKeys = $this->getPrimaryKeys($channel); $id = $filter; $channel->verifixId($id); - $filter = ["id_" => $id]; + $filter = [$primaryKeys[0] => $id]; } $cols = $this->ColumnDefinitions($channel); if ($filter !== null) {