/** * Instantiate an Access object from named configuration, including * instantiating pool and driver * * @param string $name name of pool configuration to start * * @return Access|false pool or false if a pool cannot be created */ protected function startPoolAccess($name) { $pool = false; $options = false; if (isset($this->poolDefs[$name]['options'])) { $options = $this->poolDefs[$name]['options']; } $driverName = $this->poolDefs[$name]['driver']; if (0 === strcasecmp($driverName, 'Composite')) { $drivers = array(); foreach ($this->poolDefs[$name]['options']['drivers'] as $subDriver) { $drivers[] = $this->getDriver($subDriver['driver'], $subDriver['options']); } $options['drivers'] = $drivers; } $driver = $this->getDriver($driverName, $options); if ($driver !== false) { $pool = new Pool($driver); if (is_object($pool)) { $pool->setLogger($this->xoops->logger()); $pool->setNamespace($this->xoops->db()->prefix()); } } if (!$pool) { $this->xoops->logger()->warn('Could not create cache pool ' . $name); return $pool; } return new Access($pool); }