AppAhield=$AppAhield; } public function __invoke(\Psr\Container\ContainerInterface $container) : void{ $container->set( 'webfan.app.shield.$::class', get_class($this->AppAhield)); $container->factory(\frdl\webfan\App::class, static function(\UMA\DIC\Container $c) { return \frdl\webfan\App::God(false); }); $container->factory('global',static function(\UMA\DIC\Container $c) { return $c->get(\frdl\webfan\App::class); }); $stub = $this->AppAhield->getStub(); $container->factory('webfan.app.shield',static function(\UMA\DIC\Container $c) use($stub) { $class = $c->get( 'webfan.app.shield.$::class'); return call_user_func_array($class.'::getInstance', [$stub, $c]); // return Shield::getInstance($stub, $c); }); /* $this->container->set( 'webfan.app.shield', (isset($_SESSION[self::SESSIONKEY]['webfan.app.shield'])) //? unserialize($_SESSION[self::SESSIONKEY]['webfan.app.shield']) ? Shield::getInstance() : Shield::getInstance()); */ $container->factory( __CLASS__,static function(\UMA\DIC\Container $c) { return $c->get( 'webfan.app.shield'); }); // $mutex = new \malkusch\lock\mutex\FlockMutex(fopen($this->getLockFile($this), "r")); $container->factory('webfan.app.mutex.lock.stub',static function(\UMA\DIC\Container $c) { return new \malkusch\lock\mutex\FlockMutex(fopen($c->get( 'webfan.app.shield')->getLockFile($c->get( 'webfan.app.shield')), "r")); }); $container->set('csrf-token-service',static function(\UMA\DIC\Container $c) { return $c->get(\frdl\security\csrf\CsrfToken::class); }); $container->set(\frdl\security\csrf\CsrfToken::class,static function(\UMA\DIC\Container $c) { // if(!$c->get(__CLASS__)->session_started()){ // session_start(); // } return new \frdl\security\csrf\CsrfToken($_POST, $_SESSION, $_SERVER); }); $container->set( 'webfan.app.fsm',static function(\UMA\DIC\Container $c) { return new \Finite\StateMachine\StateMachine($c->get(__CLASS__)); }); $container->set( 'webfan.app.fsm.user',static function(\UMA\DIC\Container $c) { return new \Finite\StateMachine\StateMachine($c->get(__CLASS__)); }); $container->set( 'webfan.app.shield.user',static function(\UMA\DIC\Container $c) { $class = get_class($c->get( 'webfan.app.shield')); return (new $class( $c->get( 'webfan.app.shield')->getContainer(), $c->get( 'webfan.app.shield')->getStub(), false)) ->setConfig($c->get( 'webfan.app.shield')->getConfig(), false) ; // return unserialize(serialize($c->get( 'webfan.app.shield'))); }); $container->factory('.rand.str',static function(\UMA\DIC\Container $c){ $class = $c->get( 'webfan.app.shield.$::class'); return call_user_func_array($class.'::mxGetARandomString', [32, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789']); }); $container->factory( 'emitter',static function(\UMA\DIC\Container $c) { return $c->get( \frdl\Flow\EventEmitter::class ); }); $container->set( \frdl\Flow\EventEmitter::class,static function(\UMA\DIC\Container $c) { return new \frdl\Flow\EventEmitter(); }); $container->factory( 'finder',static function(\UMA\DIC\Container $c) { return new \Symfony\Component\Finder\Finder(); }); $container->factory( 'json-rpc.encoder',static function(\UMA\DIC\Container $c) { return new \Datto\JsonRpc\Client(); }); $container->set( 'floodprotection.login.admin',static function(\UMA\DIC\Container $c) { return new \frdl\security\floodprotection\FloodProtection('isAdmin::POST', 6, 90); }); } }__halt_compiler();----SIGNATURE:----b0H9JQY02sPkHUODKt3ffIfMT0U/s9ncTsXg+RJTPuzIoV22a5LMy0mqvDpzjyOYq72d1HaColX7U/f9/LvHxT9WMhf5IRcNDmEESs5p/pXKwl0/5Wimch+egd57fmpPmyQEIiAz1nUBcnsB87wwUcI8lg1oLAplsotnV6uZgXFTpbrvhfPIr/bJR+MZm4vnlHa2uY/yXl2HoaGaxMYSuwVYCO8GW3qMNjkVtvThilbx7UpCIy9y7CuiXbd1Yw+bY9SprTJa/W66pvTJ4bzAwlO0H5mnzceE4gurKgOKkLeF3phfmRcRK+MHo8UdjP/TLcQfPM9ipML/kKrcjpioFL3cwE1vTRoh5moi6SWDAiFJ8WLF3T0Bssu0f2hVNNm5h9ERssEBanlJlBrFTkyT2HoVg9n3N8RCvH4/jnDdqq2ZZiQ9HUd4Jv2OcPN12Qt5nKrCA4B7SShJC9O1loE4oejUYRMiAiZ0YfAM2XYda3h+49UWjCi0rp0sycqdZna9s+vvLR+IYlpkINAAb5ZIgQ3kgbQ+V1DRfmaL4/3BUKg4z7NjDyoafTy9Fmc/QZ06n4n2h19B4u4IHPJuALsKV8tBXbYxjFLqCUHSYKoF2mrAtV4Ws8AO+XxAbA+gdUhr0zuo/nsdBbCjb5/oT3BcX0gXXuYwbcAxWfEQ5Y0YMrY=----ATTACHMENT:----OTk3MDYzMjQ4NTA0NzU4NyA0MDMzNTExNzQ0NDQzNjQ2IDc1MTgwOTkzODMzMTE4NjY=