/** * * @param PWECore $PWE * @param bool $forceNewConnection * @param string $alias * @return Connection * @throws DBALException */ public static function getConnection(PWECore $PWE, $forceNewConnection = false, $alias = null) { if (!$forceNewConnection && self::$connection[$alias]) { PWELogger::debug('Used cached connection'); return self::$connection[$alias]; } $settings = $PWE->getModulesManager()->getModuleSettings(self::getClass()); $connections = $settings['!c']['connection']; $ix = PWEXMLFunctions::findNodeWithAttributeValue($connections, 'alias', $alias); if ($ix < 0) { throw new \InvalidArgumentException("Alias {$alias} not found in database configs"); } $params = $connections[$ix]['!a']; $config = new Configuration(); $config->setSQLLogger(new PWEDoctrineLogger($alias ? $alias : '')); PWELogger::debug("Getting connection: %s", $params); self::$connection[$alias] = DriverManager::getConnection($params, $config); return self::$connection[$alias]; }
public function run() { $this->setRegistryFile($this->PWE->getModulesManager()->getRegistryFile()); PWELogger::debug("Dumping config"); $this->loadRegistry(); $this->xml_as_options($this->registryArray); }
public function getModulesManager() { try { return parent::getModulesManager(); } catch (BadFunctionCallException $e) { return null; } }