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);
         */
 }
Example #2
0
 /**
  * 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();
     }));
 }
Example #3
0
 public function onBootstrap(MvcEvent $e)
 {
     $eventManager = $e->getApplication()->getEventManager();
     $moduleRouteListener = new ModuleRouteListener();
     $moduleRouteListener->attach($eventManager);
     $adapter = $e->getApplication()->getServiceManager()->get('dbBatDongSan');
     GlobalAdapterFeature::setStaticAdapter($adapter);
 }
Example #4
0
 /**
  * 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());
     }
 }
Example #5
0
 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);
 }
Example #6
0
 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;
     }));
 }
Example #7
0
 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);
 }
Example #8
0
 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;
 }
Example #10
0
 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);
 }
Example #11
0
 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);
 }
Example #13
0
 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);
 }
Example #14
0
 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);
 }
Example #15
0
 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);
     }
 }
Example #16
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'));
 }
Example #17
0
 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);
 }
Example #18
0
 /**
  * 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);
 }
Example #19
0
 /**
  * Initialize database
  *
  * @param array $config Configuration
  *
  * @return DbAdapter
  */
 public function initDatabase(array $config)
 {
     $dbAdapter = new DbAdapter($config['db']);
     GlobalAdapterFeature::setStaticAdapter($dbAdapter);
     return $dbAdapter;
 }
Example #20
0
<?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;
})));
Example #21
0
 protected function createDbAdapter(MvcEvent $e)
 {
     $config = $e->getApplication()->getConfig();
     $adapter = new Adapter($config['db']);
     GlobalAdapterFeature::setStaticAdapter($adapter);
     if (IS_TEST) {
         $this->loggingQuery($adapter);
     }
 }
Example #22
0
 /**
  * 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));
         }
     }
 }
Example #23
0
 protected function createDbAdapter(MvcEvent $e)
 {
     $config = $e->getApplication()->getConfig();
     $adapter = new Adapter($config['db']);
     GlobalAdapterFeature::setStaticAdapter($adapter);
 }
Example #24
0
 /**
  * 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);
 }
Example #25
0
 /**
  * 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());
 }
Example #26
0
 /**
  * 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);
 }
Example #27
0
<?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))));