static function getDBDefinition($name = 'default') { if (!self::checkSelf()) { return false; } if (!array_key_exists($name, self::$DB)) { return false; } if (empty(self::$DB[$name]['connection']) || !self::$DB[$name]['connection'] instanceof PDO) { try { //TODO This might be problematic if there shouldn't be a username/password? self::$DB[$name]['connection'] = new PDO(self::$DB[$name]['dsn'], self::$DB[$name]['username'], self::$DB[$name]['password']); if (self::getConfig('backend.dsn_header', false)) { header('X-DB-' . computerize($name) . '-DSN: ' . self::$DB[$name]['dsn']); } //Default to UTF8 encoding if none is set $encoding = array_key_exists('encoding', self::$DB[$name]) ? self::$DB[$name]['encoding'] : 'utf8'; self::$DB[$name]['connection']->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES '{$encoding}'"); } catch (Exception $e) { if (array_key_exists('debug', $_REQUEST)) { throw new ConnectToDBException($e->getMessage()); } else { throw new ConnectToDBException('Could not connect to Database ' . $name); } } } return self::$DB[$name]; }
function class_for_url($string) { if (is_object($string)) { $string = get_class($string); } return computerize(class_name($string)); }