Beispiel #1
0
 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];
 }
Beispiel #2
0
 function class_for_url($string)
 {
     if (is_object($string)) {
         $string = get_class($string);
     }
     return computerize(class_name($string));
 }