Subversion Repositories ALCASAR

Rev

Go to most recent revision | Blame | Last modification | View Log

<?php
function da_sql_limit($limit,$point,$config)
{
        switch($point){
                case 0:
                        return '';
                case 1:
                        return '';
                case 2:
                        return "LIMIT $limit";
        }
}

function da_sql_host_connect($server,$config)
{
        if ($config[sql_use_http_credentials] == 'yes'){
                global $HTTP_SERVER_VARS;
                $SQL_user = $HTTP_SERVER_VARS["PHP_AUTH_USER"];
                $SQL_passwd = $HTTP_SERVER_VARS["PHP_AUTH_PW"];
        }
        else{
                $SQL_user = $config[sql_username];
                $SQL_passwd = $config[sql_password];
        }
        // FIXME: This function is still Postgres specific. Needs to be configurable.
        return @dbx_connect(DBX_PGSQL, "$server", "$config[sql_database]",
                        "$SQL_user", "$SQL_passwd", DBX_PERSISTENT);
}

function da_sql_connect($config)
{
        if ($config[sql_use_http_credentials] == 'yes'){
                global $HTTP_SERVER_VARS;
                $SQL_user = $HTTP_SERVER_VARS["PHP_AUTH_USER"];
                $SQL_passwd = $HTTP_SERVER_VARS["PHP_AUTH_PW"];
        }
        else{
                $SQL_user = $config[sql_username];
                $SQL_passwd = $config[sql_password];
        }
        // FIXME: This function is still Postgres specific. Needs to be configurable.
        return @dbx_connect(DBX_PGSQL, "$server", "$config[sql_database]",
                        "$SQL_user", "$SQL_passwd");
}

function da_sql_pconnect($config)
{
        if ($config[sql_use_http_credentials] == 'yes'){
                global $HTTP_SERVER_VARS;
                $SQL_user = $HTTP_SERVER_VARS["PHP_AUTH_USER"];
                $SQL_passwd = $HTTP_SERVER_VARS["PHP_AUTH_PW"];
        }
        else{
                $SQL_user = $config[sql_username];
                $SQL_passwd = $config[sql_password];
        }
        // FIXME: This function is still Postgres specific. Needs to be configurable.
        return @dbx_connect(DBX_PGSQL, "$server", "$config[sql_database]",
                        "$SQL_user", "$SQL_passwd", DBX_PERSISTENT);
}

function da_sql_close($link,$config)
{
        @dbx_close($link);
}

function da_sql_escape_string($string)
{
        return addslashes($string);
}

function da_sql_query($link,$config,$query)
{
        if ($config[sql_debug] == 'true') {
                print "<b>DEBUG(SQL,PG DRIVER): Query: <i>$query</i></b><br>\n";
        }
        return @dbx_query($link,$query);
}

function da_sql_num_rows($result,$config)
{
        if ($config[sql_debug] == 'true')
                print "<b>DEBUG(SQL,PG DRIVER): Query Result: Num rows:: " . $result->rows . "</b><br>\n";
        return $result->rows;
}

$dbx_global_record_counter = array() ;
function da_sql_fetch_array($result,$config)
{

        global $dbx_global_record_counter;
        if (!$dbx_global_record_counter[$result->handle]){
                $dbx_global_record_counter[$result->handle] = 0;
        }

        if ($dbx_global_record_counter[$result->handle] <= $result->rows - 1 ){
                return $result->data[$dbx_global_record_counter[$result->handle]++];
        } elseif ($dbx_global_record_counter[$result->handle] > $result->rows - 1 ) {
                $dbx_global_record_counter[$result->handle]++;
                return NULL;
        } else {
                $dbx_global_record_counter[$result->handle]++;
                return FALSE;
        }
}

function da_sql_affected_rows($link,$result,$config)
{
        // FIXME: This function is still Postgres specific.
        if ($config[sql_debug] == 'true')
                print "<b>DEBUG(SQL,PG DRIVER): Query Result: Affected rows:: " . @pg_cmdtuples($result->handle) . "</b><br>\n";
        return @pg_cmdtuples($result->handle);
}

function da_sql_list_fields($table,$link,$config)
{
        $res = @dbx_query($link,"SELECT * FROM ".$table." LIMIT 1 ;");
        if ($res){
                $fields[num] = $res->cols;
        }
        $res = @dbx_query($link,"SELECT * FROM ".$table." LIMIT 1 ;");
        if ($res)
                $fields[res] = $res->info[name];
        else
                return NULL;

        return $fields;
}

function da_sql_num_fields($fields,$config)
{
        if ($fields)
                return $fields[num];
}

function da_sql_field_name($fields,$num,$config)
{
        if ($fields)
                return $fields[res][$num];
}

function da_sql_error($link,$config)
{
        return dbx_error($link);
}
?>