<?php namespace nur\v; use nur\str; use nur\v\base\Alerter; /** * Class al: gestion globale des alertes */ class al { static final function new(?Alerter &$alerter=null, ?array $params=null): Alerter { if ($alerter === null) $alerter = new Alerter($params); return $alerter; } /** @var Alerter */ private static $alerter; static final function get(): Alerter { return self::new(self::$alerter, [ "auto_session" => true, ]); } static final function __callStatic($name, $args) { $name = str::us2camel($name); return call_user_func_array([self::get(), $name], $args); } ############################################################################# # Types de messages const ERROR = Alerter::TYPE_ERROR; const WARNING = Alerter::TYPE_WARNING; const FAILURE = Alerter::TYPE_FAILURE; const SUCCESS = Alerter::TYPE_SUCCESS; const NOTE = Alerter::TYPE_NOTE; const INFO = Alerter::TYPE_INFO; const DEBUG = Alerter::TYPE_DEBUG; static final function reset(?bool $autoSession=null): void { self::get()->reset($autoSession); } static final function set_redirect($redirect=false, ?bool $dismissible=null): Alerter { return self::get()->setRedirect($redirect, $dismissible); } static final function add($message, int $type): Alerter { $al = self::get(); $al->add($message, $type); return $al; } static final function print(): void { self::get()->print(); } static final function error($message): Alerter { return self::get()->error($message); } static final function warning($message): Alerter { return self::get()->warning($message); } static final function note($message): Alerter { return self::get()->note($message); } static final function success($message): Alerter { return self::get()->success($message); } static final function failure($message): Alerter { return self::get()->failure($message); } static final function info($message): Alerter { return self::get()->info($message); } static final function debug($message): Alerter { return self::get()->debug($message); } static final function perror($message): void { self::get()->perror($message); } static final function pwarning($message): void { self::get()->pwarning($message); } static final function pnote($message): void { self::get()->pnote($message); } static final function psuccess($message): void { self::get()->psuccess($message); } static final function pfailure($message): void { self::get()->pfailure($message); } static final function pinfo($message): void { self::get()->pinfo($message); } static final function pdebug($message): void { self::get()->pdebug($message); } }