Classes List

Webfan\App\ShieldServiceProvider

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
 30 
 31 
 32 
 33 
 34 
 35 
 36 
 37 
 38 
 39 
 40 
 41 
 42 
 43 
 44 
 45 
 46 
 47 
 48 
 49 
 50 
 51 
 52 
 53 
 54 
 55 
 56 
 57 
 58 
 59 
 60 
 61 
 62 
 63 
 64 
 65 
 66 
 67 
 68 
 69 
 70 
 71 
 72 
 73 
 74 
 75 
 76 
 77 
 78 
 79 
 80 
 81 
 82 
 83 
 84 
 85 
 86 
 87 
 88 
 89 
 90 
 91 
 92 
 93 
 94 
 95 
 96 
 97 
 98 
 99 
 100 
 101 
 102 
 103 
 104 
 105 
 106 
 107 
 108 
 109 
 110 
 111 
 112 
<?php

namespace Webfan\App;

class ShieldServiceProvider extends \frdl\ServiceProvider
{
protected $AppAhield;
public function __construct(Shield $AppAhield){
$this->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::classstatic 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 $cuse($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'690);
   });


  }



}