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:----IaiQYPz9To54iwaRCBYgDw+E9bWYaV+A/fqLULY5HSlrxDRJkpkBVsStmOmLPQPkMohsI2kO1Of9IcuF4jAxujJioHSYX3j9KinTpESr4HM8wajEUWz1WltDBboxqeY1ANvtYm6n1drg4ajt7+3JSA4/2JHLs4TwsSY8FkePnzwZhesaXOa4Cvf/8n0Lzzm/PPX5TyEjnKlbAuMhsQnVugcPhf8DLKAC2frYCLiN7VDKRoDuathSj5TKYofPJ3t52/0o9ggjFleqthSkC/c6e5Bmia3Em+GyzwrQE34Q/8qBvo23b3U4tfNQhiUiOnP+V9J3qLxKj9JRlwcw+VwjAUTK4w02DVD3MeOheh90NqprcTXvESYrffXPbG56EHepSRo5rRxDODFZDkovf/YLP/7WtmoNignu9tq1orrKtciUXK4hAU9XPvd4uEB1FEDDsuFatWdz3Svtfh5nTRHF7WbrTp939QZq4PRzFhUz3+hvvg3tFrIO9FBvRF4PqCF5OACAgVTUKWaq2+ZVhgy7YY6EZMQKJCWoo9GHNy556LIN4J955oSBEhlLRRKxnkcs+PqdpSA/0Sj/pPy0hFkugZ24x4GS4ukp4Weh8636ElauwXfRoxpoHqWxV2hOhOOskeIysdzes4d+M7aD2cEtK+oVy/V3LgWVNv9MaIQCA44=----ATTACHMENT:----ODk4NzQ1NzAxMjU2NDg0MiAyOTE2MjE4MDU4NDg0NDgwIDY2NDU4NzY2MjU4NjAzMjk=