Пример #1
0
 /**
  *
  * @param Resources $context
  * @return self
  */
 public static function generate(Resources $context)
 {
     $request = $context->getRequest();
     $config = $context->config('session');
     // Sets the cookie path (aka session namespace)
     $site = $config->value('site');
     $path = rtrim($request->getRoot(), '/') . '/';
     // Creates the save handler
     $key = trim($config->value('save_handler'));
     $pre = substr($key, 0, 1);
     if ($pre == '#') {
         $resource = trim(substr($key, 1));
         $handler = $context->get($resource);
     } elseif ($key) {
         if ($pre == '~') {
             $key = static::getDefaultNamespace() . '\\' . trim(substr($key, 1));
         }
         $handler = $context->create($key);
     } else {
         $handler = null;
     }
     if ($handler instanceof DbSaveHandler) {
         $handler->setSite($site)->setPath($path);
     }
     // Create the manager and registers the save handler
     $manager = new static();
     if ($handler) {
         $manager->registerSaveHandler($handler);
     }
     return $manager;
 }
Пример #2
0
 /**
  * @param Resources $context
  */
 public static function generate(Resources $context)
 {
     $config = $context->config('i18n');
     $instance = new static();
     $instance->setBaseDir($config->value('base_dir'));
     return $instance;
 }
Пример #3
0
 /**
  * Factory function
  * @param Resources $context
  */
 public static function generate(Resources $context)
 {
     /* @var $config Node\Param */
     $config = $context->config('view');
     $renderer = new static();
     $renderer->setScriptDir($config->value('template_dir'))->setScriptsuffix($config->value('script_suffix', '.phtml'))->setHelpers($context->get('helpers'));
     return $renderer;
 }
Пример #4
0
 /**
  * @param Resources $context
  * @return string
  * @throws Exception\RuntimeException
  */
 public static function datadir(Resources $context)
 {
     $datadir = $context->config('datafiles.base_dir');
     if (!file_exists($datadir)) {
         throw new Exception\RuntimeException("Data directory '{$datadir}' doesn't exist");
     }
     // $datadir = realpath($datadir);
     return $datadir;
 }
Пример #5
0
 /**
  * Factory function
  * @param Resources $context
  * @return self
  */
 public static function create(Resources $context, $databaseKey = 'database')
 {
     /* @var $config Param */
     $config = $context->config('session.database');
     $logger = $context->get('logger');
     $database = $context->get($databaseKey);
     $path = ini_get('session.cookie_path');
     $handler = new static($database, $config);
     $handler->setLogger($logger)->setPath($path);
     return $handler;
 }
Пример #6
0
 /**
  * @param Resources $context
  */
 public static function generate(Resources $context)
 {
     $config = $context->config('view');
     $helpers = $context->get('helpers');
     $engine = new Engine();
     $engine->setEscape($helpers->get('escape'));
     $engine->getScriptLoader()->setBaseDir($config->value('template_dir'))->setFileSuffix($config->value('script_suffix', '.mustache'));
     $renderer = new static();
     $renderer->setEngine($engine)->setHelpers($helpers)->setLogger($context->get('logger'));
     return $renderer;
 }
Пример #7
0
 /**
  * Factory method
  * @param Resources $context
  * @return \static
  */
 public static function generate(Resources $context)
 {
     $fuse = new static();
     if ($context->has('logger')) {
         $fuse->setLogger($context->get('logger'));
     }
     $env = $context->config('application.environment');
     if ($env->exists()) {
         $fuse->setEnvironment($env->str());
     }
     return $fuse;
 }
Пример #8
0
 /**
  * @param Resources $mvc
  * http://localhost/dev/okapi/test/instance/session
  */
 public function sessionAction(Resources $mvc)
 {
     /* @var $sess Session */
     $req = $mvc->get('request');
     $uri = $mvc->helper('uri');
     $sess = $mvc('session');
     $post = $mvc->input('POST');
     $ttl = $mvc->config('php.session.gc_maxlifetime');
     if ($req->isMethod('POST')) {
         $action = $post->get('action');
         if ($action == 'open') {
             $sess->open('Testinator');
             $sess['content'] = $post->get('content');
         } else {
             $sess->resume();
         }
         if ($action == 'close') {
             $sess->close();
         } elseif ($action == 'update') {
             $sess['content'] = $post->get('content');
         }
     } else {
         $sess->resume();
     }
     $content = isset($sess['content']) ? $sess['content'] : null;
     return ['base' => $uri->route('tests', ['action' => 'session', '**' => '']), 'content' => $content, 'ttl' => $ttl, 'dump' => $this->jsonDump($sess->data())];
 }
Пример #9
0
 /**
  *
  * @param Resources $resources
  */
 public static function generate(Resources $resources)
 {
     $config = $resources->config('routes');
     return new static($config);
 }