public function onBootstrap(MvcEvent $e) { $eventManager = $e->getApplication()->getEventManager(); $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::setStaticAdapter($e->getApplication()->getServiceManager()->get('Zend\\Db\\Adapter\\Adapter')); // running access check /* $eventManager->attach(MvcEvent::EVENT_ROUTE, function ($e) { $login = $e->getRouter()->assemble(array(), array('name' => 'login')); $match = $e->getRouteMatch(); $name = $match->getMatchedRouteName(); if ('profile' == $name){ $auth = $e->getApplication() ->getServiceManager() ->get('Zend\Authentication\AuthenticationService'); if(false === $auth->hasIdentity()) { $response = $e->getResponse(); $response->getHeaders() ->addHeaderLine('Location', $login); $response->setStatusCode(302); return $response; } } }, - 100); */ }
/** * Get Service configuration */ public function getServiceConfig() { return array('factories' => array('Model' => function ($sm) { $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter'); \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::setStaticAdapter($dbAdapter); return \Emp\Model\Factory::getInstance(); })); }
public function onBootstrap(MvcEvent $e) { $eventManager = $e->getApplication()->getEventManager(); $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); $adapter = $e->getApplication()->getServiceManager()->get('dbBatDongSan'); GlobalAdapterFeature::setStaticAdapter($adapter); }
/** * Setup method -- make sure static adapter is available for testing. * * @return void */ public static function prepareAdapter() { try { DbGlobalAdapter::getStaticAdapter(); } catch (\Zend\Db\TableGateway\Exception\RuntimeException $e) { DbGlobalAdapter::setStaticAdapter(DbAdapterFactory::getAdapter()); } }
public function onBootstrap(MvcEvent $e) { $eventManager = $e->getApplication()->getEventManager(); $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); //config để dùng $adapter mọi nơi $adapter = $e->getApplication()->getServiceManager()->get("db_books"); GlobalAdapterFeature::setStaticAdapter($adapter); }
public function getServiceConfig() { return array('factories' => array('Zend\\Db\\Adapter\\Adapter' => function ($serviceManager) { $adapterFactory = new \Zend\Db\Adapter\AdapterServiceFactory(); $adapter = $adapterFactory->createService($serviceManager); \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::setStaticAdapter($adapter); return $adapter; })); }
public function onBootstrap(MvcEvent $e) { $e->getApplication()->getServiceManager()->get('translator'); $eventManager = $e->getApplication()->getEventManager(); $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); // set static adapter for all module table gateways $serviceManager = $e->getApplication()->getServiceManager(); $dbAdapter = $serviceManager->get('Zend\\Db\\Adapter\\Adapter'); \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::setStaticAdapter($dbAdapter); }
public function onBootstrap(MvcEvent $e) { // You may not need to do this if you're doing it elsewhere in your // application $eventManager = $e->getApplication()->getEventManager(); $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); $sm = $e->getApplication()->getServiceManager(); $adapter = $sm->get('Zend\\Db\\Adapter\\Adapter'); \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::setStaticAdapter($adapter); }
/** * @param ServiceLocatorInterface $serviceLocator * @return \Home\Service\Store */ public function createService(ServiceLocatorInterface $serviceLocator) { $adapterFactory = new \Zend\Db\Adapter\AdapterServiceFactory(); $adapter = $adapterFactory->createService($serviceLocator); $config = $serviceLocator->get('Config'); if (isset($config['db']['profilerEnabled']) && $config['db']['profilerEnabled']) { $adapter->setProfiler(new \Zend\Db\Adapter\Profiler\Profiler()); } \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::setStaticAdapter($adapter); return $adapter; }
public function onBootstrap(MvcEvent $e) { $eventManager = $e->getApplication()->getEventManager(); $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); //thiết lập permission // một số sự kiện mặc định route,dispatch,render.... $eventManager->attach("dispatch", array($this, "permission"), 2); //config để dùng $adapter mọi nơi $adapter = $e->getApplication()->getServiceManager()->get("db_books"); GlobalAdapterFeature::setStaticAdapter($adapter); }
public function onBootstrap(MvcEvent $e) { $eventManager = $e->getApplication()->getEventManager(); $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); //inherit from znZend Module $sm = $e->getApplication()->getServiceManager(); // Set global/static db adapter for feature-enabled TableGateways such as ZnZend\Model\AbstractMapper // For example only - up to application to set it as the service manager key for the db adapter may be different if ($sm->has('Zend\\Db\\Adapter\\Adapter')) { \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::setStaticAdapter($sm->get('Zend\\Db\\Adapter\\Adapter')); } }
public function testCreateServiceWithName() { $tableName = 'foo'; $serviceLocatorMock = $this->getMock('Zend\\ServiceManager\\ServiceLocatorInterface'); $moduleConfigMock = $this->getMockBuilder('T4webBase\\Module\\ModuleConfig')->disableOriginalConstructor()->getMock(); $serviceLocatorMock->expects($this->at(0))->method('get')->with($this->equalTo('ModuleName\\ModuleConfig'))->will($this->returnValue($moduleConfigMock)); $moduleConfigMock->expects($this->once())->method('getDbTableName')->with($this->equalTo('modulename-entity'))->will($this->returnValue($tableName)); $dbAdapterMock = $this->getDbAdapterMock(); GlobalAdapterFeature::setStaticAdapter($dbAdapterMock); $tableGateway = $this->abstractFactory->createServiceWithName($serviceLocatorMock, $name = 'foo', 'ModuleName\\Entity\\TableGateway'); $this->assertInstanceOf('T4webBase\\Db\\TableGateway', $tableGateway); $this->assertAttributeSame($tableName, 'table', $tableGateway); }
public function onBootstrap(MvcEvent $e) { $app = $e->getApplication(); $sm = $app->getServiceManager(); $request = $app->getRequest(); $response = $app->getResponse(); $appConfig = $sm->get('Configuration'); $sessionConfig = new SessionConfig(); $sessionConfig->setOptions($appConfig['session']); $sessionManager = new SessionManager($sessionConfig); $sessionManager->start(); $responseHeaders = $response->getHeaders(); $requestHeaders = $request->getHeaders(); $this->checkCloudFlareHttpHeader(); $requestUriPath = $request->getUri()->getPath(); $requestExtension = pathinfo($requestUriPath, PATHINFO_EXTENSION); if (!in_array($requestExtension, ['js', 'css'])) { $eventManager = $app->getEventManager(); $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); $sharedManager = $eventManager->getSharedManager(); $sharedManager->attach('Zend\\Mvc\\Controller\\AbstractActionController', 'dispatch', function ($e) use($sm) { $controller = $e->getTarget(); $controller->getEventManager()->attachAggregate($sm->get('Visitor')); }, 2); $client = new RemoteAddress(); $queryParams = $request->getQuery(); $setPartnerId = (isset($queryParams['gid']) and is_numeric($queryParams['gid'])) ? ['gid' => (int) $queryParams['gid'], 'url' => $request->getUri()] : FALSE; $setLang = (isset($queryParams['lang']) and is_string($queryParams['lang'])) ? ['lang' => $queryParams['lang'], 'url' => $request->getUri()] : FALSE; $setCurrency = (isset($queryParams['cur']) and is_string($queryParams['cur'])) ? ['cur' => $queryParams['cur'], 'url' => $request->getUri()] : FALSE; if ($requestHeaders->has('Accept-Language')) { $browserLang = $requestHeaders->get('Accept-Language')->getPrioritized(); } else { $browserLang = FALSE; } if ($requestHeaders->has('User-Agent')) { $userAgent = $requestHeaders->get('User-Agent')->getFieldValue(); } else { $userAgent = FALSE; } if ($requestHeaders->has('Referer')) { $referer = $requestHeaders->get('Referer'); } else { $referer = FALSE; } $eventManager->trigger('detectVisitor', $this, array('setLang' => $setLang, 'setCurrency' => $setCurrency, 'browserLang' => $browserLang, 'userAgent' => $userAgent, 'referer' => $referer, 'request' => $request, 'clientIp' => $client->getIpAddress(), 'clientProxy' => $client->getUseProxy(), 'setPartnerId' => $setPartnerId, 'sessionManager' => $sessionManager, 'response' => $response, 'responseHeaders' => $responseHeaders, 'requestHeaders' => $requestHeaders, 'serviceLocator' => $sm)); $eventManager->attach(\Zend\Mvc\MvcEvent::EVENT_ROUTE, array($this, 'onPreDispatch')); } $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter'); GlobalAdapterFeature::setStaticAdapter($dbAdapter); }
public function onBootstrap(MvcEvent $e) { /** * @var Adapter $dbAdapter */ $event = $e->getApplication(); $eventManager = $event->getEventManager(); $this->bootstrapSession($e); $eventManager->attach(\Zend\Mvc\MvcEvent::EVENT_ROUTE, [$this, 'onPreDispatch']); $eventManager->attach(\Zend\Mvc\MvcEvent::EVENT_ROUTE, [$this, 'onViewHelper']); $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); // set static adapter for all module table gateways $serviceManager = $e->getApplication()->getServiceManager(); $dbAdapter = $serviceManager->get('Zend\\Db\\Adapter\\Adapter'); GlobalAdapterFeature::setStaticAdapter($dbAdapter); }
public function onBootstrap(MvcEvent $e) { $eventManager = $e->getApplication()->getEventManager(); $serviceManager = $e->getApplication()->getServiceManager(); $eventManager->attach(MvcEvent::EVENT_ROUTE, array($this, 'setRouteMatch'), -1); $eventManager->attach(MvcEvent::EVENT_ROUTE, array($this, 'setLanguages'), -2); $eventManager->attach(MvcEvent::EVENT_ROUTE, array($this, 'accessControl'), -3); $eventManager->attach(MvcEvent::EVENT_ROUTE, array($this, 'globalLayoutVars'), -4); $eventManager->attach(MvcEvent::EVENT_BOOTSTRAP, array($this, 'bootstrapSession'), 100); //use the error template of the currently used module $eventManager->attach(MvcEvent::EVENT_DISPATCH_ERROR, array($this, 'controllerNotFound'), -200); $eventManager->attach(MvcEvent::EVENT_DISPATCH, array($this, 'actionNotFound'), -201); $eventManager->getSharedManager()->attach('custom', '403', function (MvcEvent $event) use($eventManager) { $viewModel = new ViewModel(); $viewModel->setTemplate('error/403'); $appViewModel = $event->getViewModel(); $appViewModel->setTemplate('layout/layout'); $appViewModel->addChild($viewModel, 'content'); $eventManager->attach(MvcEvent::EVENT_DISPATCH, function (MvcEvent $event) { $event->stopPropagation(true); }, 100); }); $dbAdapter = $serviceManager->get('dbadapter'); GlobalAdapterFeature::setStaticAdapter($dbAdapter); AbstractValidator::setDefaultTranslator(new \Zend\Mvc\I18n\Translator($serviceManager->get('translator'))); $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); $serviceManager->get('ViewHelperManager')->setFactory('langUrl', function () use($e) { $viewHelper = new View\Helper\Url($e->getRouteMatch()); return $viewHelper; }); if ($serviceManager->has('text-cache')) { // This will be used to check if there is already cached page and return it. // The priority must be low in order to be executed after the routing is done $eventManager->attach(MvcEvent::EVENT_ROUTE, array($this, 'getPageCache'), -1000); // And this will be used to save a generated cache page. // The priority must be low in order to be executed after the rendering is done $eventManager->attach(MvcEvent::EVENT_RENDER, array($this, 'savePageCache'), -10000); $eventManager->attach(MvcEvent::EVENT_DISPATCH, array($this, 'getActionCache'), 2); $eventManager->attach(MvcEvent::EVENT_RENDER, array($this, 'saveActionCache'), 0); } }
public function onBootstrap(MvcEvent $event) { $services = $event->getApplication()->getServiceManager(); $dbAdapter = $services->get('database'); \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::setStaticAdapter($dbAdapter); $eventManager = $event->getApplication()->getEventManager(); $eventManager->attach(MvcEvent::EVENT_ROUTE, array($this, 'protectPage'), -100); $sharedEventManager = $event->getApplication()->getEventManager()->getSharedManager(); $sharedEventManager->attach('user', 'log-fail', function ($event) use($services) { $username = $event->getParam('username'); $log = $services->get('log'); $log->warn('Error logging user [' . $username . ']'); }); $sharedEventManager->attach('user', 'register', function ($event) use($services) { $user = $event->getParam('user'); $log = $services->get('log'); $log->warn('Registered user [' . $user->getName() . '/' . $user->getId() . ']'); }); $eventManager->attach('render', array($this, 'injectUserAcl')); }
public function onBootstrap(MvcEvent $e) { $eventManager = $e->getApplication()->getEventManager(); $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); // initialize Global Static Db Adapter if ($e->getApplication()->getServiceManager()->has('Zend\\Db\\Adapter\\Adapter')) { $adapter = $e->getApplication()->getServiceManager()->get('Zend\\Db\\Adapter\\Adapter'); GlobalAdapterFeature::setStaticAdapter($adapter); } // session $session = $e->getApplication()->getServiceManager()->get('Application\\SessionManager'); $session->start(); $container = new Container('initialized'); if (!isset($container->init)) { $session->regenerateId(true); $container->init = 1; } Container::setDefaultManager($session); $this->bootstrapGlobalMvcEventErrorListener($e); $this->bootstrapSetLayouts($e); }
/** * The onBootstrap() method is called for every module on every page request and should only be used for performing lightweight tasks such as registering event listeners. * @link http://framework.zend.com/manual/2.0/en/modules/zend.mvc.examples.html#bootstrapping * @param MvcEvent $e Must be an MvcEvent which is called and provides a handle on the calling source object. * @return mixed Usually, an empty response, but can be an HTML response to redirect and short circuit the application. */ public function onBootstrap(MvcEvent $e) { // Define all the shortcut variables to the various managers in the system. $e->getApplication()->getServiceManager()->get('translator'); $eventManager = $e->getApplication()->getEventManager(); $serviceManager = $e->getApplication()->getServiceManager(); $sm = $e->getApplication()->getServiceManager(); // Bootstrap control of ZFC-RBAC module exception handling. // Decide how a person with no permission or not logged in should be handled. if ($sm->get('config')['system']['debug']) { $zfcrbac_exception = $serviceManager->get('ZfcRbac\\View\\Strategy\\UnauthorizedStrategy'); // This displays the 403 Unauthorized Page Error. } else { $zfcrbac_exception = $serviceManager->get('ZfcRbac\\View\\Strategy\\RedirectStrategy'); // This displays the login page. } $eventManager->attach($zfcrbac_exception); // TODO: Find out what does this do? $moduleRouteListener = new ModuleRouteListener(); $moduleRouteListener->attach($eventManager); // set static adapter for all module table gateways $dbAdapter = $serviceManager->get('Zend\\Db\\Adapter\\Adapter'); \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::setStaticAdapter($dbAdapter); }
/** * Initialize database * * @param array $config Configuration * * @return DbAdapter */ public function initDatabase(array $config) { $dbAdapter = new DbAdapter($config['db']); GlobalAdapterFeature::setStaticAdapter($dbAdapter); return $dbAdapter; }
<?php /** * Global Configuration Override * * You can use this file for overriding configuration values from modules, etc. * You would place values in here that are agnostic to the environment and not * sensitive to security. * * @NOTE: In practice, this file will typically be INCLUDED in your source * control, so do not include passwords or other sensitive information in this * file. */ return array('db' => array('driver' => 'Pdo', 'dsn' => 'mysql:dbname=u100254857_llco;host=mysql.hostinger.es', 'driver_options' => array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''), 'user' => 'u100254857_admin', 'password' => 'conejito'), 'service_manager' => array('factories' => array('Zend\\Db\\Adapter\\Adapter' => function ($serviceManager) { $adapterFactory = new Zend\Db\Adapter\AdapterServiceFactory(); $adapter = $adapterFactory->createService($serviceManager); \Zend\Db\TableGateway\Feature\GlobalAdapterFeature::setStaticAdapter($adapter); return $adapter; })));
protected function createDbAdapter(MvcEvent $e) { $config = $e->getApplication()->getConfig(); $adapter = new Adapter($config['db']); GlobalAdapterFeature::setStaticAdapter($adapter); if (IS_TEST) { $this->loggingQuery($adapter); } }
/** * Complete installation * * @return \Zend\View\Model\JsonModel */ public function completeAction() { ini_set('max_execution_time', 100); $this->checkInstall(6); if ($this->getRequest()->isXmlHttpRequest()) { if ($this->getRequest()->isPost()) { $session = $this->getSession(); $dbAdapter = new DbAdapter($session['install']['db']); $dbAdapter->getDriver()->getConnection()->connect(); GlobalAdapterFeature::setStaticAdapter($dbAdapter); $step = $this->getRequest()->getPost()->get('step'); $sqlType = str_replace('pdo_', '', $session['install']['db']['driver']); try { switch ($step) { //Create database case 'c-db': $this->createDatabase($dbAdapter, $sqlType); break; //Insert data //Insert data case 'i-d': $this->insertData($dbAdapter, $session); break; //Insert data //Insert data case 'i-t': $this->insertTranslations($session['install']['configuration']); break; //Create user and roles //Create user and roles case 'c-uar': $this->createUsersAndRoles($dbAdapter, $session['install']['configuration'], $sqlType); break; //Install template //Install template case 'it': $this->installTemplate($dbAdapter, $session['install']['configuration']['template'], $sqlType); break; //Create configuration file //Create configuration file case 'c-cf': return $this->completeInstallation($session['install']['db']); } } catch (Exception $e) { return $this->returnJson(array('success' => false, 'message' => $e->getMessage())); } return $this->returnJson(array('success' => true)); } } }
protected function createDbAdapter(MvcEvent $e) { $config = $e->getApplication()->getConfig(); $adapter = new Adapter($config['db']); GlobalAdapterFeature::setStaticAdapter($adapter); }
/** * Test * * @return void */ public function testOnBootstrap() { $oldAdapter = GlobalAdapterFeature::getStaticAdapter(); $this->config->setValue('debug_is_active', 1); $this->config->setValue('session_lifetime', 3600); $this->config->setValue('cookie_domain', 'got-cms.com'); $this->config->setValue('session_handler', CoreConfig::SESSION_DATABASE); $this->assertNull($this->object->onBootstrap(Registry::get('Application')->getMvcEvent())); GlobalAdapterFeature::setStaticAdapter($oldAdapter); }
/** * Set up the default database adapter. Do this early since the session handler * may depend on database access. * * @return void */ protected function initDatabase() { DbGlobalAdapter::setStaticAdapter(DbAdapterFactory::getAdapter()); }
/** * Test * * @return void */ public function testCompleteActionConfiguration() { $dbAdapter = GlobalAdapterFeature::getStaticAdapter(); $session = new SessionContainer(); $session->offsetSet('install', array('lang' => 'fr_FR', 'db' => array('driver' => GC_DATABASE_DRIVER, 'username' => GC_DATABASE_USERNAME, 'dbname' => GC_DATABASE_DATABASE, 'hostname' => GC_DATABASE_HOSTNAME, 'password' => GC_DATABASE_PASSWORD), 'configuration' => array('site_name' => 'GotCms', 'site_is_offline' => 0, 'admin_email' => '*****@*****.**', 'admin_firstname' => 'Pierre', 'admin_lastname' => 'Rambaud'))); $this->getRequest()->getHeaders()->addHeaderLine('X_REQUESTED_WITH: XMLHttpRequest'); $this->dispatch('/install/complete', 'POST', array('step' => 'c-cf')); $this->assertResponseStatusCode(200); $this->assertModuleName('GcFrontend'); $this->assertControllerName('InstallController'); $this->assertControllerClass('InstallController'); $this->assertMatchedRouteName('install/complete'); GlobalAdapterFeature::setStaticAdapter($dbAdapter); }
<?php // Composer autoload include "../vendor/autoload.php"; // Dependências use Zend\Db\TableGateway\Feature\GlobalAdapterFeature; use Zend\Db\Adapter\Adapter; // Configuração do banco de dados GlobalAdapterFeature::setStaticAdapter(new Adapter(array('driver' => 'Mysqli', 'hostname' => '192.168.33.13', 'database' => 'silk', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', 'options' => array('buffer_results' => true))));