/** * Conexão padrão * @return \Zend\Db\Adapter\Adapter */ public function getAdapter($adapterName = null) { self::$resultSetPrototype = new ResultSet(); $config = ZendConfigFile::fromFile(GLOBAL_CONFIG_PATH . 'global.php'); if (empty($adapterName)) { foreach ($config['db']['adapters'] as $keyAdapter => $valueAdapter) { if ($valueAdapter['default']) { $adapterName = $keyAdapter; } } } if (isset($this->connAdapter[$adapterName]) and !empty($this->connAdapter[$adapterName]) and $this->connAdapter[$adapterName]->getDriver()->getConnection()->isConnected()) { return $this->connAdapter[$adapterName]; } else { /* Verifica se tem multiplos adaptadores de conexão e instancia os mesmos */ if (isset($config['db']['adapters']) and !empty($config['db']['adapters'])) { foreach ($config['db']['adapters'] as $key => $value) { ${$key} = new \Zend\Db\Adapter\Adapter($value); ${$key}->getDriver()->getConnection()->connect(); $this->connAdapter[$key] = ${$key}; } } else { throw new \Exception('Dados de configuração não encontrados!'); } return $this->connAdapter[$adapterName]; } }
private function loadDbConfig() { $dbConfigLocal = \Zend\Config\Factory::fromFile(__DIR__ . '/../../../../../config/autoload/local.php')['db']; $dbConfigGlobal = \Zend\Config\Factory::fromFile(__DIR__ . '/../../../../../config/autoload/global.php')['db']; $dbConfig = array_merge($dbConfigLocal, $dbConfigGlobal); return $dbConfig; }
public function __construct() { /* Acesso o arquivo de configuração global */ $this->globalConfig = \Zend\Config\Factory::fromFile(GLOBAL_CONFIG_PATH . 'global.php'); $this->getViewModel(); $this->globalRoute = $this->getSessionAdapter('globalRoute'); $this->module = $this->sessionAdapter->moduleName; $this->controller = $this->sessionAdapter->controllerName; $this->action = $this->sessionAdapter->actionName; //$this->image = $this->globalConfig['image']; $this->assign('linkDefault', LINK_DEFAULT); $this->assign('linkModule', LINK_DEFAULT . $this->module . '/'); $this->assign('linkController', LINK_DEFAULT . $this->module . '/' . strtolower($this->controller)); $this->assign('linkAction', LINK_DEFAULT . $this->module . '/' . strtolower($this->controller) . '/' . strtolower($this->action)); $this->assign('urlDefault', URL_DEFAULT); $this->assign('urlUpload', URL_UPLOAD); $this->assign('urlStatic', URL_STATIC); $this->assign('publicPath', PUBLIC_PATH); $this->assign('baseModule', $this->module); $this->assign('baseController', $this->controller); $this->assign('baseAction', $this->action); $this->assign('langDefault', $this->sessionAdapter->language); /* Tratamento das variáveis padrões de modulo, controlador e action */ $eventManager = $this->getEventManager(); $eventManager->attach(\Zend\Mvc\MvcEvent::EVENT_DISPATCH, function (\Zend\Mvc\MvcEvent $e) { $this->processHelpers($e); }); }
/** * Prepares the environment before running a test * */ protected function setUp() { $cwd = __DIR__; // read navigation config $this->_files = $cwd . '/_files'; $config = ConfigFactory::fromFile($this->_files . '/navigation.xml', true); // setup containers from config $this->_nav1 = new Navigation($config->get('nav_test1')); $this->_nav2 = new Navigation($config->get('nav_test2')); // setup view $view = new PhpRenderer(); $view->resolver()->addPath($cwd . '/_files/mvc/views'); // create helper $this->_helper = new $this->_helperName(); $this->_helper->setView($view); // set nav1 in helper as default $this->_helper->setContainer($this->_nav1); // setup service manager $smConfig = array('modules' => array(), 'module_listener_options' => array('config_cache_enabled' => false, 'cache_dir' => 'data/cache', 'module_paths' => array(), 'extra_config' => array('service_manager' => array('factories' => array('Config' => function () use($config) { return array('navigation' => array('default' => $config->get('nav_test1'))); }))))); $sm = $this->serviceManager = new ServiceManager(new ServiceManagerConfig()); $sm->setService('ApplicationConfig', $smConfig); $sm->get('ModuleManager')->loadModules(); $sm->get('Application')->bootstrap(); $sm->setFactory('Navigation', 'Zend\\Navigation\\Service\\DefaultNavigationFactory'); $sm->setService('nav1', $this->_nav1); $sm->setService('nav2', $this->_nav2); $app = $this->serviceManager->get('Application'); $app->getMvcEvent()->setRouteMatch(new RouteMatch(array('controller' => 'post', 'action' => 'view', 'id' => '1337'))); }
public function testGetAdapterWithConfig() { $httptest = new HttpClientTest(); // Nirvanix adapter $nirvanixConfig = ConfigFactory::fromFile(realpath(dirname(__FILE__) . '/_files/config/nirvanix.ini'), true); $nirvanixConfig = $nirvanixConfig->toArray(); $nirvanixConfig[Nirvanix::HTTP_ADAPTER] = $httptest; $doc = new \DOMDocument('1.0', 'utf-8'); $root = $doc->createElement('Response'); $responseCode = $doc->createElement('ResponseCode', 0); $sessionTok = $doc->createElement('SessionToken', '54592180-7060-4D4B-BC74-2566F4B2F943'); $root->appendChild($responseCode); $root->appendChild($sessionTok); $doc->appendChild($root); $body = $doc->saveXML(); $resp = HttpResponse::fromString("HTTP/1.1 200 OK\nContent-type: text/xml;charset=UTF-8\nDate: 0\n\n" . $body); $httptest->setResponse($resp); $nirvanixAdapter = Factory::getAdapter($nirvanixConfig); $this->assertEquals('Zend\\Cloud\\StorageService\\Adapter\\Nirvanix', get_class($nirvanixAdapter)); // S3 adapter $s3Config = ConfigFactory::fromFile(realpath(dirname(__FILE__) . '/_files/config/s3.ini'), true); $s3Adapter = Factory::getAdapter($s3Config); $this->assertEquals('Zend\\Cloud\\StorageService\\Adapter\\S3', get_class($s3Adapter)); // file system adapter $fileSystemConfig = ConfigFactory::fromFile(realpath(dirname(__FILE__) . '/_files/config/filesystem.ini'), true); $fileSystemAdapter = Factory::getAdapter($fileSystemConfig); $this->assertEquals('Zend\\Cloud\\StorageService\\Adapter\\FileSystem', get_class($fileSystemAdapter)); // Azure adapter /* $azureConfig = ConfigFactory::fromFile(realpath(dirname(__FILE__) . '/_files/config/windowsazure.ini'), true); $azureConfig = $azureConfig->toArray(); $azureContainer = $azureConfig[WindowsAzure::CONTAINER]; $azureConfig[WindowsAzure::HTTP_ADAPTER] = $httptest; $q = "?"; $doc = new \DOMDocument('1.0', 'utf-8'); $root = $doc->createElement('EnumerationResults'); $acctName = $doc->createAttribute('AccountName'); $acctName->value = 'http://myaccount.blob.core.windows.net'; $root->appendChild($acctName); $maxResults = $doc->createElement('MaxResults', 1); $containers = $doc->createElement('Containers'); $container = $doc->createElement('Container'); $containerName = $doc->createElement('Name', $azureContainer); $container->appendChild($containerName); $containers->appendChild($container); $root->appendChild($maxResults); $root->appendChild($containers); $doc->appendChild($root); $body = $doc->saveXML(); $resp = HttpResponse::fromString("HTTP/1.1 200 OK\nContent-type: text/xml;charset=UTF-8\nx-ms-request-id: 0\n\n".$body); $httptest->setResponse($resp); $azureAdapter = Factory::getAdapter($azureConfig); $this->assertEquals('Zend\Cloud\StorageService\Adapter\WindowsAzure', get_class($azureAdapter)); * */ }
public function __construct($moduleName, $controllerName = null, $actionName = null) { $this->moduleName = $moduleName; $this->controllerName = $controllerName; $this->actionName = $actionName; $themeConfigPath = MODULES_PATH . ucfirst($moduleName) . DS . 'config' . DS . 'theme.config.ini'; $this->loadConfig = \Zend\Config\Factory::fromFile($themeConfigPath); }
/** * Обновить запись. * Метод PUT для RESTfull. */ public function update($id, $data) { $result = new JsonModel(); $lincutConfigPath = $_SERVER["DOCUMENT_ROOT"] . "/lincut.config.php"; // Создаем в памяти новый конфигурационный файл с новыми настройками $lincutConfigNew = new Config(array(), true); $lincutConfigNew->lincut = array(); $lincutConfigNew->lincut->wkhtmltopdf = array(); $lincutConfigNew->lincut->restriction = array(); if (array_key_exists("wkhtmltopdf_path", $data)) { $lincutConfigNew->lincut->wkhtmltopdf->path = $data["wkhtmltopdf_path"]; } if (array_key_exists("restriction_mode", $data)) { $lincutConfigNew->lincut->restriction->mode = $data["restriction_mode"]; } if (array_key_exists("restriction_up_time", $data)) { $lincutConfigNew->lincut->restriction->uptime = $data["restriction_up_time"]; } if (array_key_exists("restriction_up_count", $data)) { $lincutConfigNew->lincut->restriction->upcount = $data["restriction_up_count"]; } if (array_key_exists("saw", $data)) { $lincutConfigNew->lincut->saw = $data["saw"]; } if (array_key_exists("waste", $data)) { $lincutConfigNew->lincut->waste = $data["waste"]; } $dbwcad = "db/wcad"; $lincutConfigNew->db = array(); $lincutConfigNew->db->adapters = array(); $lincutConfigNew->db->adapters->{$dbwcad} = array(); if (array_key_exists("db_wcad_servername", $data)) { $lincutConfigNew->db->adapters->{$dbwcad}->servername = $data["db_wcad_servername"]; } if (array_key_exists("db_wcad_database", $data)) { $lincutConfigNew->db->adapters->{$dbwcad}->database = $data["db_wcad_database"]; } if (array_key_exists("db_wcad_username", $data)) { $lincutConfigNew->db->adapters->{$dbwcad}->username = $data["db_wcad_username"]; } if (array_key_exists("db_wcad_password", $data)) { $lincutConfigNew->db->adapters->{$dbwcad}->password = $data["db_wcad_password"]; } // Открываем существующий файл настроек, если он имеется в наличии $lincutConfig = array(); if (is_file($lincutConfigPath)) { $lincutConfig = \Zend\Config\Factory::fromFile($lincutConfigPath); } $lincutConfig = new Config($lincutConfig, true); $lincutConfig->merge($lincutConfigNew); // Сохраняем настройки $writer = new \Zend\Config\Writer\PhpArray(); $writer->toFile($lincutConfigPath, $lincutConfig); // Возвращаем результат операции $result->success = true; return $result; }
public function __construct() { $config = Factory::fromFile('config/config.php', true); $db_info = $config->get($config->get('ACTIVE_DB')); $this->dbhost = $db_info->get('host'); $this->dbuser = $db_info->get('user'); $this->dbpass = $db_info->get('password'); $this->dbname = $db_info->get('name'); }
/** * @return array */ private function loadDefinitions() { $xmlTransferDefinitions = $this->finder->getXmlTransferDefinitionFiles(); foreach ($xmlTransferDefinitions as $xmlTransferDefinition) { $bundle = $this->getBundleFromPathName($xmlTransferDefinition->getFilename()); $containingBundle = $this->getContainingBundleFromPathName($xmlTransferDefinition->getPathname()); $definition = Factory::fromFile($xmlTransferDefinition->getPathname(), true)->toArray(); $this->addDefinition($definition, $bundle, $containingBundle); } }
/** * * @param string $filename * @return array */ public static function load($filename) { $config = new ZendConfig(Factory::fromFile($filename), true); $variables = isset($config[self::VARIABLES_KEY]) ? $config[self::VARIABLES_KEY]->toArray() : array(); $processorChain = new ProcessorChain(); $processorChain->add(new Constant(false, 'const(', ')')); $processorChain->add(new Env('env(', ')')); $processorChain->add(new CallableProperty($variables)); $processorChain->add(new Interpolator($variables)); return $processorChain->process($config)->toArray(); }
/** * Creates service. * * @param ServiceLocatorInterface $serviceLocator * @return \Zend\ModuleManager\ModuleManager */ public function createService(ServiceLocatorInterface $serviceLocator) { $applicationConfig = $serviceLocator->get('ApplicationConfig'); $moduleManager = parent::createService($serviceLocator); if (empty($applicationConfig['tayo_module_file']) === false) { $extraModules = Factory::fromFile($applicationConfig['tayo_module_file']); $modules = $moduleManager->getModules(); $moduleManager->setModules(array_merge($modules, $extraModules)); } return $moduleManager; }
protected function setUp() { $this->select = new Sql\Select(); $this->select->from('test'); $this->testCollection = range(1, 101); $this->paginator = new Paginator\Paginator(new Paginator\Adapter\ArrayAdapter($this->testCollection)); $this->config = Config\Factory::fromFile(__DIR__ . '/_files/config.xml', true); $this->cache = CacheFactory::adapterFactory('memory', array('memory_limit' => 0)); Paginator\Paginator::setCache($this->cache); $this->_restorePaginatorDefaults(); }
public function testGetAdapterWithConfig() { // SQS adapter $sqsConfig = ConfigFactory::fromFile(realpath(dirname(__FILE__) . '/_files/config/sqs.ini'), true); $sqsAdapter = Factory::getAdapter($sqsConfig); $this->assertEquals('Zend\\Cloud\\QueueService\\Adapter\\Sqs', get_class($sqsAdapter)); // Zend queue adapter $zqConfig = ConfigFactory::fromFile(realpath(dirname(__FILE__) . '/_files/config/zendqueue.ini'), true); $zq = Factory::getAdapter($zqConfig); $this->assertEquals('Zend\\Cloud\\QueueService\\Adapter\\ZendQueue', get_class($zq)); // Azure adapter //$azureConfig = ConfigFactory::fromFile(realpath(dirname(__FILE__) . '/_files/config/windowsazure.ini'), true); //$azureAdapter = Factory::getAdapter($azureConfig); //$this->assertEquals('Zend\Cloud\QueueService\Adapter\WindowsAzure', get_class($azureAdapter)); }
private static function _validateJWT($jwt) { try { $config = Factory::fromFile('config/config.php', true); $secretKey = base64_decode($config->get('JWT')->get('key')); $signingAlgorithm = $config->get('JWT')->get('algorithm'); $token = JWT::decode($jwt, $secretKey, array($signingAlgorithm)); /* perhaps checks required to see if token->data even exists*/ self::$uid = $token->data->uid; self::$tid = $token->data->tid; return $token->data->scope; } catch (Exception $e) { throw $e; } }
/** * @param array $options * * @return bool */ public function validate(array $options) { $files = $this->finder->getXmlTransferDefinitionFiles(); $result = true; foreach ($files as $key => $file) { if ($options['bundle'] && strpos($file, '/Shared/' . $options['bundle'] . '/Transfer/') === false) { continue; } $definition = Factory::fromFile($file->getPathname(), true)->toArray(); $definition = $this->normalize($definition); $bundle = $this->getBundleFromPathName($file->getFilename()); $result = $result & $this->validateDefinition($bundle, $definition, $options); } return (bool) $result; }
public function testConfigurationCanConfigureCompiledDefinition() { $config = ConfigFactory::fromFile(__DIR__ . '/_files/sample.php', true); $config = new Configuration($config->di); $di = new Di(); $di->configure($config); $definition = $di->definitions()->getDefinitionByType('Zend\\Di\\Definition\\ArrayDefinition'); $this->assertInstanceOf('Zend\\Di\\Definition\\ArrayDefinition', $definition); $this->assertTrue($di->definitions()->hasClass('My\\DbAdapter')); $this->assertTrue($di->definitions()->hasClass('My\\EntityA')); $this->assertTrue($di->definitions()->hasClass('My\\Mapper')); $this->assertTrue($di->definitions()->hasClass('My\\RepositoryA')); $this->assertTrue($di->definitions()->hasClass('My\\RepositoryB')); $this->assertFalse($di->definitions()->hasClass('My\\Foo')); }
protected function setUp() { if (!extension_loaded('pdo_sqlite')) { $this->markTestSkipped('Pdo_Sqlite extension is not loaded'); } $this->_adapter = new \Zend\Db\Adapter\Pdo\Sqlite(array('dbname' => __DIR__ . '/_files/test.sqlite')); $this->_query = $this->_adapter->select()->from('test'); $this->_testCollection = range(1, 101); $this->_paginator = Paginator\Paginator::factory($this->_testCollection); $this->_config = Config\Factory::fromFile(__DIR__ . '/_files/config.xml', true); $this->_cache = CacheFactory::adapterFactory('memory', array('memory_limit' => 0)); $this->_cache->clear(CacheAdapter::MATCH_ALL); Paginator\Paginator::setCache($this->_cache); $this->_restorePaginatorDefaults(); }
protected function setUp() { if (!extension_loaded('pdo_sqlite')) { $this->markTestSkipped('Pdo_Sqlite extension is not loaded'); } $this->_adapter = new DbAdapter\Adapter(array('driver' => 'Pdo_Sqlite', 'database' => __DIR__ . '/_files/test.sqlite')); $this->_query = new Sql\Select(); $this->_query->from('test'); $this->_testCollection = range(1, 101); $this->_paginator = Paginator\Paginator::factory($this->_testCollection); $this->_config = Config\Factory::fromFile(__DIR__ . '/_files/config.xml', true); $this->_cache = CacheFactory::adapterFactory('memory', array('memory_limit' => 0)); Paginator\Paginator::setCache($this->_cache); $this->_restorePaginatorDefaults(); }
protected function setUp() { if (!extension_loaded('pdo_sqlite')) { $this->markTestSkipped('Pdo_Sqlite extension is not loaded'); } $this->_adapter = new \Zend\Db\Adapter\Pdo\Sqlite(array('dbname' => __DIR__ . '/_files/test.sqlite')); $this->_query = $this->_adapter->select()->from('test'); $this->_testCollection = range(1, 101); $this->_paginator = Paginator\Paginator::factory($this->_testCollection); $this->_config = Config\Factory::fromFile(__DIR__ . '/_files/config.xml', true); $this->_cache = CacheFactory::factory(array('adapter' => array('name' => 'filesystem', 'options' => array('ttl' => 3600, 'cache_dir' => $this->_getTmpDir())), 'plugins' => array(array('name' => 'serializer', 'options' => array('serializer' => 'php_serialize'))))); $this->_cache->clear(CacheAdapter::MATCH_ALL); Paginator\Paginator::setCache($this->_cache); $this->_restorePaginatorDefaults(); }
/** * @param string|\Zend\Config\Config|array $config * @return array|null|\Zend\Config\Config * @throws \Zend\Navigation\Exception\InvalidArgumentException */ protected function getPagesFromConfig($config = null) { if (is_string($config)) { if (file_exists($config)) { $config = Config\Factory::fromFile($config); } else { throw new Exception\InvalidArgumentException(sprintf('Config was a string but file "%s" does not exist', $config)); } } elseif ($config instanceof Config\Config) { $config = $config->toArray(); } elseif (!is_array($config)) { throw new Exception\InvalidArgumentException(' Invalid input, expected array, filename, or Zend\\Config object'); } return $config; }
private function _validateJWT($jwt, $endpoint) { try { $config = Factory::fromFile('config/config.php', true); $secretKey = base64_decode($config->get('JWT')->get('key')); $signingAlgorithm = base64_decode($config->get('JWT')->get('algorithm')); $token = JWT::decode($jwt, $secretKey, array('HS512')); /* Only available scope is Stomper. Expand from this point to create other Scopes */ /* Create scope class that handles checks of token as well as possible scopes */ $this->uid = $token->data->uid; $this->tid = $token->data->tid; return $token->data->scope == "Stomper"; } catch (Exception $e) { return false; } }
/** * @throws \ErrorException * * @return array */ public function getNavigation() { try { $navigationDefinition = Factory::fromFile($this->rootNavigationFile, true); } catch (\Exception $e) { $navigationDefinition = new Config([]); } foreach ($this->navigationSchemaFinder->getSchemaFiles() as $moduleNavigationFile) { if (!file_exists($moduleNavigationFile->getPathname())) { throw new ErrorException('Navigation-File does not exist: ' . $moduleNavigationFile); } $configFromFile = Factory::fromFile($moduleNavigationFile->getPathname(), true); $navigationDefinition->merge($configFromFile); } return $navigationDefinition->toArray(); }
public function testConfigurationCanConfigureBuilderDefinitionFromIni() { $this->markTestIncomplete('Builder not updated to new DI yet'); $ini = ConfigFactory::fromFile(__DIR__ . '/_files/sample.ini', true)->get('section-b'); $config = new Configuration($ini->di); $di = new Di($config); $definition = $di->getDefinition(); $this->assertTrue($definition->hasClass('My\\DbAdapter')); $this->assertEquals('__construct', $definition->getInstantiator('My\\DbAdapter')); $this->assertEquals(array('username' => null, 'password' => null), $definition->getInjectionMethodParameters('My\\DbAdapter', '__construct')); $this->assertTrue($definition->hasClass('My\\Mapper')); $this->assertEquals('__construct', $definition->getInstantiator('My\\Mapper')); $this->assertEquals(array('dbAdapter' => 'My\\DbAdapter'), $definition->getInjectionMethodParameters('My\\Mapper', '__construct')); $this->assertTrue($definition->hasClass('My\\Repository')); $this->assertEquals('__construct', $definition->getInstantiator('My\\Repository')); $this->assertEquals(array('mapper' => 'My\\Mapper'), $definition->getInjectionMethodParameters('My\\Repository', '__construct')); }
/** * Prepares the environment before running a test * */ protected function setUp() { $cwd = __DIR__; // read navigation config $this->_files = $cwd . '/_files'; $config = ConfigFactory::fromFile($this->_files . '/navigation.xml', true); // setup containers from config $this->_nav1 = new Navigation($config->get('nav_test1')); $this->_nav2 = new Navigation($config->get('nav_test2')); // setup view $view = new PhpRenderer(); $view->resolver()->addPath($cwd . '/_files/mvc/views'); // create helper $this->_helper = new $this->_helperName(); $this->_helper->setView($view); // set nav1 in helper as default $this->_helper->setContainer($this->_nav1); }
public function testBuilderCanBuildFromArray() { $ini = ConfigFactory::fromFile(__DIR__ . '/../_files/sample.ini'); $iniAsArray = $ini['section-b']; $definitionArray = $iniAsArray['di']['definitions'][1]; unset($definitionArray['class']); $definition = new BuilderDefinition(); $definition->createClassesFromArray($definitionArray); $this->assertTrue($definition->hasClass('My\\DbAdapter')); $this->assertEquals('__construct', $definition->getInstantiator('My\\DbAdapter')); $this->assertEquals(array('My\\DbAdapter::__construct:0' => array('username', null, true, null), 'My\\DbAdapter::__construct:1' => array('password', null, true, null)), $definition->getMethodParameters('My\\DbAdapter', '__construct')); $this->assertTrue($definition->hasClass('My\\Mapper')); $this->assertEquals('__construct', $definition->getInstantiator('My\\Mapper')); $this->assertEquals(array('My\\Mapper::__construct:0' => array('dbAdapter', 'My\\DbAdapter', true, null)), $definition->getMethodParameters('My\\Mapper', '__construct')); $this->assertTrue($definition->hasClass('My\\Repository')); $this->assertEquals('__construct', $definition->getInstantiator('My\\Repository')); $this->assertEquals(array('My\\Repository::__construct:0' => array('mapper', 'My\\Mapper', true, null)), $definition->getMethodParameters('My\\Repository', '__construct')); }
/** * @inheritDoc */ public function collect($handle, $area = null) { $globPaths = $this->getGlobPaths($handle, $area); $tempStructure = new Config([], true); foreach ($globPaths as $globPath) { try { $configFiles = Glob::glob($globPath, Glob::GLOB_BRACE); } catch (RuntimeException $e) { // @codeCoverageIgnoreStart continue; // @codeCoverageIgnoreEnd } foreach ($configFiles as $configFile) { $config = ConfigFactory::fromFile($configFile, true); $tempStructure->merge($config); } } return $tempStructure; }
/** * Retrieve the config of sphinxsearch node * * @param string|null $file * @return Config */ protected function getConfig($file = null) { // Config $appConfig = $this->getServiceLocator()->get('Config'); if (!isset($appConfig['sphinxsearch'])) { throw new \InvalidArgumentException('Config not found with name: "sphinxsearch"'); } else { $config = new Config($appConfig['sphinxsearch'], true); // defaults if (!is_null($file)) { $fileConfig = Factory::fromFile($file, true); if (!isset($fileConfig['sphinxsearch'])) { throw new \InvalidArgumentException('Config not found with name: "sphinxsearch"'); } $config->merge($fileConfig['sphinxsearch']); } } return $config; }
/** * @param array|null|\Traversable $filename * @param bool $useRealPath */ public function __construct($filename, $useRealPath = false) { $useRealPath = (bool) $useRealPath; $pathInfo = pathinfo($filename); if (!isset($pathInfo['extension'])) { $filename .= '.' . $this->extension; } if ($useRealPath) { $configFileName = $filename; } else { $pathsArray = array(self::getRootPath(), $this->modelPath, $filename); $configFileName = implode(DIRECTORY_SEPARATOR, $pathsArray); } try { $config = Config\Factory::fromFile($configFileName); $this->data = new Config\Config($config, true); } catch (Config\Exception\RuntimeException $e) { throw new Exception\BadModelCallException(sprintf('Could not create an instance of "%s"', __CLASS__), $e->getCode(), $e); } }
/** * Given a path (glob or static), fetch the config and add it to the array * of configs to merge. * * @param string $path * @param string $type * @return ConfigListener */ protected function addConfigByPath($path, $type) { switch ($type) { case self::STATIC_PATH: $this->addConfig($path, ConfigFactory::fromFile($path)); break; case self::GLOB_PATH: // We want to keep track of where each value came from so we don't // use ConfigFactory::fromFiles() since it does merging internally. foreach (Glob::glob($path, Glob::GLOB_BRACE) as $file) { $this->addConfig($file, ConfigFactory::fromFile($file)); } break; } return $this; }
* Get all headers from the HTTP request */ $request = new Request(); if ($request->isGet()) { $authHeader = $request->getHeader('authorization'); /* * Look for the 'authorization' header */ if ($authHeader) { /* * Extract the jwt from the Bearer */ list($jwt) = sscanf($authHeader->toString(), 'Authorization: Bearer %s'); if ($jwt) { try { $config = Factory::fromFile('config/config.php', true); /* * decode the jwt using the key from config */ $secretKey = base64_decode($config->get('jwt')->get('key')); $token = JWT::decode($jwt, $secretKey, [$config->get('jwt')->get('algorithm')]); $asset = base64_encode(file_get_contents('http://lorempixel.com/200/300/cats/')); /* * return protected asset */ header('Content-type: application/json'); echo json_encode(['img' => $asset]); } catch (Exception $e) { /* * the token was not able to be decoded. * this is likely because the signature was not able to be verified (tampered token)