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:----rtTx0mB0UNTYaWNK7093Fj0jncQg07S372GZ8rJ9uccB2+cbOCOrM4He74xQ0qOoDGeaXCRMx75GvcBfg2yOnDXSFSTLqDj1/ka06Gre7+JFjcMCeHeIGTen3DQbjqqK1QH7+QnxtQjq68cyGSHP39789cb3PbBfP07uEH7l26nkqbIc5/JaTAsoQIqKwanMhdj4zE9fjt6nsir46LTYI7qkf1K66p+mK1PRoUVObmYbZ2x1O3C3+oVCEwUZcrphhvfKYLdmd5rAR2FLVC8clfuAHO5UxWkYoWNa8Ll+PTiwS0jUjthljl1CmK46bHjazGOmlA3bz1sMnQFgj/EGN0JUvtRpU/73phq/iiDTtJbS1Ya3ewPITGO0yJNNpV5CVyql3Cl9y/DPbvEqyRyMh+vsh7rRxoS6RBpIbp/yShXUzZTIhH315GvbReip+BxwTR/xyr8xZwxc+PRtVM5nCjW7IMdtVRxswHIETYyZlbhg+xrJgkNHL3NEhgJOqcmwbMqvjh5UnGoTxSI764eA1X9ergeTHKa7TSiAfuefFZ9XtjqiphNvuHXyzirCGmSvM+2ilCnqPS4UY+hnW9jUEUNnMknszbjVBi+oXuu8e31DBpmeFhG9LsFLp1fv33p/VOoGQFMHnTdQDl/uwvw4PPKlXRQCYRNRM5ES4NmC6GE=----ATTACHMENT:----ODExMzQ2MTU2MTc5MzQyIDg0OTI1MzI2NjEzNzkzMyA5NzcyNjAxNzQ1NjQ1MzUy