Example #1
0
 public static function connect($app, $instance = null, $login = null, $flags = null)
 {
     $record = dbauth::find_and_parse_auth($app, $instance);
     if (!isset($record)) {
         return null;
     }
     $dbspecs = $record->{'database'};
     if (!isset($dbspecs)) {
         return null;
     }
     foreach ($dbspecs as $dbspec) {
         switch ($dbspec->{'DBType'}) {
             case 'postgresql':
                 $connstr = "";
                 if (isset($dbspec->{'DBHost'})) {
                     $connstr .= " host=" . $dbspec->{'DBHost'};
                 }
                 if (isset($dbspec->{'DBPort'})) {
                     $connstr .= " port=" . $dbspec->{'DBPort'};
                 }
                 if (isset($dbspec->{'DBName'})) {
                     $connstr .= " dbname=" . $dbspec->{'DBName'};
                 }
                 if (isset($dbspec->{'Service'})) {
                     $connstr .= " service=" . $dbspec->{'Service'};
                 }
                 if (isset($dbspec->{'SSLMode'})) {
                     $connstr .= " sslmode=" . $dbspec->{'sslmode'};
                 }
                 if (isset($dbspec->{'Options'})) {
                     $connstr .= " sslmode=" . $dbspec->{'Options'};
                 }
                 if (isset($dbspec->{'Username'})) {
                     $connstr .= " user="******" password="******"unset dbtype");
                     // XXX -- set an error and return null
                 } else {
                     die("Unknown database " . $dbspec->{'DBType'});
                 }
         }
     }
 }