Example #1
0
 /**
  * Conexion a la base de datos, si no se ha hecho ya
  * @param string $dsn dsn de conexion a la base de datos
  * @param bool $options FIXME: se usa?
  * @return resource de conexion
  */
 function connect($dsn, $options = false)
 {
     global $alm_connect;
     list($dbtype, $dbname, $host, $username, $pass) = almdata::parseDSN($dsn);
     if (!isset($alm_connect[$dsn])) {
         $db = null;
         switch ($dbtype) {
             case 'pgsql':
                 $host = empty($host) ? '' : "host={$host}";
                 $db = pg_connect("{$host} dbname={$dbname} user={$username} password={$pass}");
                 break;
             case 'sqlite':
                 break;
             case 'mysql':
                 $db = mysql_connect($host, $username, $pass);
                 if ($db) {
                     $db_selected = mysql_select_db($dbname, $db);
                 }
                 break;
             default:
                 almdata::printError("DBTYPE {$dbtype} not supported", true, true);
                 break;
         }
         $alm_connect[$dsn] = $db;
     } else {
         $db = $alm_connect[$dsn];
     }
     if (!isset($this)) {
         return;
     } else {
         almdata::setFunctions($dbtype);
     }
     return $db;
 }