use FS::Record qw(qsearchs);
use FS::cust_main;
use Carp qw(cluck);
+use FS::DBI;
$me = '[FS::TicketSystem::RT_External]';
$DEBUG = 0;
$dbh = dbh;
if ($conf->config('ticket_system') eq 'RT_External') {
my ($datasrc, $user, $pass) = $conf->config('ticket_system-rt_external_datasrc');
- $dbh = DBI->connect($datasrc, $user, $pass, { 'ChopBlanks' => 1 })
- or die "RT_External DBI->connect error: $DBI::errstr\n";
+ $dbh = FS::DBI->connect($datasrc, $user, $pass, { 'ChopBlanks' => 1 })
+ or die "RT_External FS::DBI->connect error: $FS::DBI::errstr\n";
$external_url = $conf->config('ticket_system-rt_external_url');
}
use FS::queue;
use FS::upgrade_journal;
use FS::Setup qw( enable_banned_pay_pad );
+use FS::DBI;
use FS::svc_domain;
$FS::svc_domain::whois_hack = 1;
my $errmsg = 'Error adding FreesideStatus to '.
$part_export->option('datasrc'). ': ';
- my $dbh = DBI->connect(
+ my $dbh = FS::DBI->connect(
( map $part_export->option($_), qw ( datasrc username password ) ),
{ PrintError => 0, PrintWarn => 0 }
) or do {
- warn $errmsg.$DBI::errstr;
+ warn $errmsg.$FS::DBI::errstr;
next;
};
use Date::Format 'time2str';
use FS::UID qw(adminsuidsetup dbh);
use FS::cdr;
-use DBI;
+use FS::DBI;
use Getopt::Std;
use vars qw( $DEBUG );
my $dsn = 'dbi:'. $dbd_type . $queries->{connect_type};
$dsn .= ";database=$database" if $database;
- my $dbi = DBI->connect($dsn, $opt{U}, $opt{P})
- or die $DBI::errstr;
+ my $dbi = FS::DBI->connect($dsn, $opt{U}, $opt{P})
+ or die $FS::DBI::errstr;
adminsuidsetup $user;
use FS::contact;
use FS::reason;
use FS::Misc::Savepoint;
+use FS::DBI;
# 1 is mostly method/subroutine entry and options
# 2 traces progress of some operations
$ticket_dbh = $dbh;
} elsif ($conf->config('ticket_system') eq 'RT_External') {
my ($datasrc, $user, $pass) = $conf->config('ticket_system-rt_external_datasrc');
- $ticket_dbh = DBI->connect($datasrc, $user, $pass, { 'ChopBlanks' => 1 });
+ $ticket_dbh = FS::DBI->connect($datasrc, $user, $pass, { 'ChopBlanks' => 1 });
#or die "RT_External DBI->connect error: $DBI::errstr\n";
}
use strict;
use vars qw( $conf );
use FS::UID qw( dbh );
+use FS::DBI;
use FS::Record qw( qsearch qsearchs );
use FS::agent;
use FS::access_user;
$ticket_dbh = $dbh;
} elsif ($conf->config('ticket_system') eq 'RT_External') {
my ($datasrc, $user, $pass) = $conf->config('ticket_system-rt_external_datasrc');
- $ticket_dbh = DBI->connect($datasrc, $user, $pass, { 'ChopBlanks' => 1 });
- #or die "RT_External DBI->connect error: $DBI::errstr\n";
+ $ticket_dbh = FS::DBI->connect($datasrc, $user, $pass, { 'ChopBlanks' => 1 });
+ #or die "RT_External FS::DBI->connect error: $DBI::errstr\n";
}
if ( $ticket_dbh ) {
use FS::cdr;
use FS::UI::Web;
use FS::export_cust_svc;
+use FS::DBI;
#most FS::svc_ classes are autoloaded in svc_x emthod
use FS::svc_acct; #this one is used in the cache stuff
warn "$mes connecting to sqlradius database\n"
if $DEBUG;
- my $dbh = DBI->connect( map { $part_export->option($_) }
+ my $dbh = FS::DBI->connect( map { $part_export->option($_) }
qw(datasrc username password) )
- or die "can't connect to sqlradius database: ". $DBI::errstr;
+ or die "can't connect to sqlradius database: ". $FS::DBI::errstr;
warn "$mes connected to sqlradius database\n"
if $DEBUG;
warn "$mes connecting to sqlradius database\n"
if $DEBUG;
- my $dbh = DBI->connect( map { $part_export->option($_) }
+ my $dbh = FS::DBI->connect( map { $part_export->option($_) }
qw(datasrc username password) )
- or die "can't connect to sqlradius database: ". $DBI::errstr;
+ or die "can't connect to sqlradius database: ". $FS::DBI::errstr;
warn "$mes connected to sqlradius database\n"
if $DEBUG;
warn "$mes connecting to sqlradius database\n"
if $DEBUG;
- my $dbh = DBI->connect( map { $part_export->option($_) }
+ my $dbh = FS::DBI->connect( map { $part_export->option($_) }
qw(datasrc username password) )
- or die "can't connect to sqlradius database: ". $DBI::errstr;
+ or die "can't connect to sqlradius database: ". $FS::DBI::errstr;
warn "$mes connected to sqlradius database\n"
if $DEBUG;
use Locale::Country qw(country_code2code);
use Date::Format qw(time2str);
use Carp qw( cluck );
+use FS::DBI;
@ISA = qw(FS::part_export);
sub dbh {
my $self = shift;
- $self->{dbh} ||= DBI->connect(
+ $self->{dbh} ||= FS::DBI->connect(
$self->option('datasrc'),
$self->option('username'),
$self->option('password')
- ) or die $DBI::errstr;
+ ) or die $FS::DBI::errstr;
$self->{dbh}->trace(1, '%%%FREESIDE_LOG%%%/a2b_exportlog.'.$self->exportnum)
if $DEBUG;
use warnings;
use vars qw( %info );
use Tie::IxHash;
+use FS::DBI;
tie my %options, 'Tie::IxHash', %{__PACKAGE__->sql_options};
delete $options{$_} for qw( table schema static primary_key );
sub export_getstatus {
my($self, $svc_acct, $htmlref, $hashref) = @_;
- my $dbh = DBI->connect( map $self->option($_), qw(datasrc username password) )
- or return "can't connect: ". $DBI::errstr;
+ my $dbh = FS::DBI->connect( map $self->option($_), qw(datasrc username password) )
+ or return "can't connect: ". $FS::DBI::errstr;
###
#vacation settings
use vars qw( %info ); # $DEBUG );
use Tie::IxHash;
-use DBI;
+use FS::DBI;
#use FS::Record qw( qsearch ); #qsearchs );
#use FS::svc_phone;
#use FS::Schema qw( dbdef );
sub nibblebill_insert {
my($datasrc, $username, $password, $phonenum, $amount) = @_;
- my $dbh = DBI->connect($datasrc, $username, $password) or die $DBI::errstr;
+ my $dbh = FS::DBI->connect($datasrc, $username, $password)
+ or die $FS::DBI::errstr;
#check for existing account
$dbh->{FetchHashKeyName} = 'NAME_lc';
sub nibblebill_adjust_cash {
my($datasrc, $username, $password, $phonenum, $amount) = @_;
- my $dbh = DBI->connect($datasrc, $username, $password) or die $DBI::errstr;
+ my $dbh = FS::DBI->connect($datasrc, $username, $password)
+ or die $FS::DBI::errstr;
my $sth = $dbh->prepare('UPDATE accounts SET cash = cash + ? WHERE id = ?')
or die $dbh->errsrr;
sub export_getstatus {
my( $self, $svc_phone, $htmlref, $hashref ) = @_;
- my $dbh = DBI->connect( map $self->option($_), qw( datasrc username password ) )
- or return $DBI::errstr;
+ my $dbh = FS::DBI->connect( map $self->option($_), qw( datasrc username password ) )
+ or return $FS::DBI::errstr;
my $sth = $dbh->prepare('SELECT cash FROM accounts WHERE id = ?')
or return $dbh->errstr;
use FS::svc_phone;
use FS::export_svc;
use LWP::UserAgent;
+use FS::DBI;
@ISA = qw(FS::part_export);
sub opensips_connect {
my $self = shift;
- DBI->connect($self->option('datasrc'),$self->option('username'),
- $self->option('password')) or die $DBI::errstr;
+ FS::DBI->connect($self->option('datasrc'),$self->option('username'),
+ $self->option('password')) or die $FS::DBI::errstr;
}
sub _export_replace {
use vars qw(@ISA %info $radusers);
use Tie::IxHash;
use FS::part_export::sqlradius;
+use FS::DBI;
tie my %options, 'Tie::IxHash', %FS::part_export::sqlradius::options;
sub radiator_connect {
#my($datasrc, $username, $password) = @_;
#DBI->connect($datasrc, $username, $password) or die $DBI::errstr;
- DBI->connect(@_) or die $DBI::errstr;
+ FS::DBI->connect(@_) or die $FS::DBI::errstr;
}
1;
use strict;
use Tie::IxHash;
+use FS::DBI;
tie my %options, 'Tie::IxHash',
'datasrc' => { label => 'DBI data source' },
sub sql_Common_connect {
#my($datasrc, $username, $password) = @_;
#DBI->connect($datasrc, $username, $password) or die $DBI::errstr;
- DBI->connect(@_) or die $DBI::errstr;
+ FS::DBI->connect(@_) or die $FS::DBI::errstr;
}
1;
use FS::Record qw(qsearchs);
use FS::part_export;
use FS::svc_domain;
+use FS::DBI;
@ISA = qw(FS::part_export);
}
sub sqlmail_connect {
- DBI->connect(@_) or die $DBI::errstr;
+ FS::DBI->connect(@_) or die $FS::DBI::errstr;
}
sub update_values {
use Carp qw( carp cluck );
use NEXT;
use Net::OpenSSH;
+use FS::DBI;
@ISA = qw(FS::part_export);
@EXPORT_OK = qw( sqlradius_connect );
sub sqlradius_connect {
#my($datasrc, $username, $password) = @_;
#DBI->connect($datasrc, $username, $password) or die $DBI::errstr;
- DBI->connect(@_) or die $DBI::errstr;
+ FS::DBI->connect(@_) or die $FS::DBI::errstr;
}
# on success, returns '' in scalar context, ('',$jobnum) in list context
sub import_attrs {
my $self = shift;
- my $dbh = DBI->connect( map $self->option($_),
+ my $dbh = FS::DBI->connect( map $self->option($_),
qw( datasrc username password ) );
unless ( $dbh ) {
- warn "Error connecting to RADIUS server: $DBI::errstr\n";
+ warn "Error connecting to RADIUS server: $FS::DBI::errstr\n";
return;
}
use strict;
use vars qw( %info );
-use DBI;
+use FS::DBI;
#use FS::Record qw(qsearch qsearchs);
tie our %query_style, 'Tie::IxHash', (
my $price = 0;
my $quantity; # can be overridden; if not we use the default
- my $dbh = DBI->connect( map { $self->option($_) }
+ my $dbh = FS::DBI->connect( map { $self->option($_) }
qw( datasrc db_username db_password )
)
- or die $DBI::errstr;
+ or die $FS::DBI::errstr;
my $sth = $dbh->prepare( $self->option('query') )
or die $dbh->errstr;
use strict;
use vars qw(@ISA %info);
-use DBI;
+use FS::DBI;
#use FS::Record qw(qsearch qsearchs);
use FS::part_pkg::flat;
sub calc_recur {
my($self, $cust_pkg ) = @_;
- my $dbh = DBI->connect( map { $self->option($_) }
+ my $dbh = FS::DBI->connect( map { $self->option($_) }
qw( datasrc db_username db_password )
)
- or die $DBI::errstr;
+ or die $FS::DBI::errstr;
my $sth = $dbh->prepare( $self->option('query') )
or die $dbh->errstr;
use Date::Format;
use Text::CSV_XS;
use DBI qw( :sql_types );
+use FS::DBI;
use Net::SFTP::Foreign;
#use FS::UID qw( adminsuidsetup datasrc );
my $servername = shift or die &usage;
my( $datasrc, $db_user, $db_pass ) = ( shift, shift, shift );
-my $dbh = DBI->connect( $datasrc, $db_user, $db_pass)
- or die "can't connect: $DBI::errstr\n";
+my $dbh = FS::DBI->connect( $datasrc, $db_user, $db_pass)
+ or die "can't connect: $FS::DBI::errstr\n";
my $csv = Text::CSV_XS->new;
use FS::UID qw(adminsuidsetup dbh);
use FS::Log;
use FS::cdr;
-use DBI;
+use FS::DBI;
use Getopt::Std;
$DEBUG = 0;
my $log = FS::Log->new( 'freeside-cdr-asterisk_sql' );
-my $dbi = DBI->connect($dsn, $opt{U}, $opt{P}) ;
+my $dbi = FS::DBI->connect($dsn, $opt{U}, $opt{P}) ;
if ( $dbi ) {
log_msg( info => "Established connection to CDR database at dsn($dsn)" );
log_and_die( error =>
sprintf 'Fatal error connecting to CDR database at dsn(%s): %s',
$dsn,
- $DBI::errstr
+ $FS::DBI::errstr
);
}
use strict;
-use DBI;
+use FS::DBI;
use Date::Format 'time2str';
use Date::Parse 'str2time';
use Getopt::Long;
}
$enddate ||= time2str("%Y-%m-%d %H:%M:%S",$now);
-my $cdbh = DBI->connect("dbi:Pg:database=$db;host=$host", $username, $password)
- or die $DBI::errstr;
+my $cdbh = FS::DBI->connect("dbi:Pg:database=$db;host=$host", $username, $password)
+ or die $FS::DBI::errstr;
# selecting by end_time rather than start_time
# so we don't lose records between batches
use strict;
use vars qw( %seen @dups );
use Getopt::Std;
+use FS::DBI;
use FS::UID qw(adminsuidsetup);
use FS::Record qw(qsearch qsearchs);
use FS::part_export;
or die "No sqlradius exports specified.";
foreach my $part_export ( @part_export ) {
- my $dbh = DBI->connect( map $part_export->option($_),
+ my $dbh = FS::DBI->connect( map $part_export->option($_),
qw ( datasrc username password ) );
my $sth = $dbh->prepare("SELECT id,username,groupname
use strict;
use vars qw( $opt_n );
use Getopt::Std;
+use FS::DBI;
use FS::UID qw(adminsuidsetup);
use FS::Record qw(qsearch qsearchs);
use FS::part_export;
unless ( $opt_n ) {
foreach my $export ( @exports ) {
- my $icradius_dbh = DBI->connect(
+ my $icradius_dbh = FS::DBI->connect(
map { $export->option($_) } qw( datasrc username password )
- ) or die $DBI::errstr;
+ ) or die $FS::DBI::errstr;
my $usergroup = $export->option('usergroup') || 'usergroup';
my @attr_tables;
@attr_tables = qw( radgroupcheck radgroupreply )
use strict;
use Getopt::Std;
+use FS::DBI;
use FS::UID qw(adminsuidsetup);
use FS::Record qw(qsearch qsearchs str2time_sql);
use FS::Conf;
foreach my $part_export ( @part_export ) {
- my $dbh = DBI->connect( map $part_export->option($_),
+ my $dbh = FS::DBI->connect( map $part_export->option($_),
qw ( datasrc username password ) );
my $str2time = str2time_sql( $dbh->{Driver}->{Name} );
use Date::Format;
use Text::CSV_XS;
use DBI qw( :sql_types );
+use FS::DBI;
use Net::SFTP::Foreign;
#use FS::UID qw( adminsuidsetup datasrc );
my $servername = shift or die &usage;
my( $datasrc, $db_user, $db_pass ) = ( shift, shift, shift );
-my $dbh = DBI->connect( $datasrc, $db_user, $db_pass)
- or die "can't connect: $DBI::errstr\n";
+my $dbh = FS::DBI->connect( $datasrc, $db_user, $db_pass)
+ or die "can't connect: $FS::DBI::errstr\n";
my $csv = Text::CSV_XS->new;
use strict;
use vars qw( $sdbh );
-use DBI;
+use FS::DBI;
use FS::UID qw( adminsuidsetup dbh );
use FS::Schema qw( dbdef );
use FS::Record qw( qsearchs );
# source(remote) setup
-$sdbh = DBI->connect($source_datasrc, $source_user, $source_pw)
- or die $DBI::errstr;
+$sdbh = FS::DBI->connect($source_datasrc, $source_user, $source_pw)
+ or die $FS::DBI::errstr;
$sdbh->{ChopBlanks} = 1;
#!/usr/bin/perl -w
use strict;
-use DBI;
+use FS::DBI;
my $s_datasrc = 'DBI:mysql:host=ns1.enetonline.net;port=3307;user=ivan;dbname=freeside';
my $s_dbuser = 'ivan';
type_pkgs
);
-my $s_dbh = DBI->connect($s_datasrc, $s_dbuser, $s_dbpass) or die $DBI::errstr;
-my $d_dbh = DBI->connect($d_datasrc, $d_dbuser, $d_dbpass) or die $DBI::errstr;
+my $s_dbh = FS::DBI->connect($s_datasrc, $s_dbuser, $s_dbpass)
+ or die $FS::DBI::errstr;
+my $d_dbh = FS::DBI->connect($d_datasrc, $d_dbuser, $d_dbpass)
+ or die $FS::DBI::errstr;
foreach my $table ( @tables ) {
$d_dbh->do("delete from $table");
#!/usr/bin/perl -Tw
use strict;
-use DBI;
+use FS::DBI;
use HTML::TableParser;
use Date::Parse;
use Text::CSV_XS;
);
-$s_dbh = DBI->connect($s_dbname, $s_dbuser, $s_dbpass,
+$s_dbh = FS::DBI->connect($s_dbname, $s_dbuser, $s_dbpass,
{ 'AutoCommit' => 0,
'ChopBlanks' => 1,
'ShowErrorStatement' => 1
use strict;
use vars qw( $sdbh );
-use DBI;
+use FS::DBI;
use FS::UID qw( adminsuidsetup dbh );
use FS::Schema qw( dbdef );
use FS::Record qw( qsearchs );
# source(remote) setup
-$sdbh = DBI->connect($source_datasrc, $source_user, $source_pw)
- or die $DBI::errstr;
+$sdbh = FS::DBI->connect($source_datasrc, $source_user, $source_pw)
+ or die $FS::DBI::errstr;
$sdbh->{ChopBlanks} = 1;
use strict;
use vars qw( $sdbh );
-use DBI;
+use FS::DBI;
use FS::UID qw( adminsuidsetup dbh );
use FS::Schema qw( dbdef );
use DBI;
# source(remote) setup
-$sdbh = DBI->connect($source_datasrc, $source_user, $source_pw)
- or die $DBI::errstr;
+$sdbh = FS::DBI->connect($source_datasrc, $source_user, $source_pw)
+ or die $FS::DBI::errstr;
$sdbh->{ChopBlanks} = 1;
use strict;
use vars qw(%part_svc %domain_part_svc);
#use Date::Parse;
-use DBI;
+use FS::DBI;
use Term::Query qw(query);
use FS::UID qw(adminsuidsetup); #datasrc
use FS::Record qw(qsearch qsearchs);
###
-my $dbh = DBI->connect( $datasrc, $db_user, $db_pass )
- or die $DBI::errstr;
+my $dbh = FS::DBI->connect( $datasrc, $db_user, $db_pass )
+ or die $FS::DBI::errstr;
my $sth = $dbh->prepare('SELECT username, password, crypt, name, domain FROM mailbox')
or die $dbh->errstr;
#!/usr/bin/perl -w
use strict;
-use DBI;
+use FS::DBI;
use FS::UID qw(adminsuidsetup); #datasrc
use FS::Record qw(qsearch qsearchs dbh);
use FS::nas;
$part_export->isa('FS::part_export::sqlradius')
or die "export $exportnum is not an sqlradius export.\n";
-my $raddbh = DBI->connect(
+my $raddbh = FS::DBI->connect(
$part_export->option('datasrc'),
$part_export->option('username'),
$part_export->option('password')
use strict;
use vars qw(%part_svc);
#use Date::Parse;
-use DBI;
+use FS::DBI;
use Term::Query qw(query);
use FS::UID qw(adminsuidsetup); #datasrc
use FS::Record qw(qsearch qsearchs);
###
-my $dbh = DBI->connect( $datasrc, $db_user, $db_pass )
- or die $DBI::errstr;
+my $dbh = FS::DBI->connect( $datasrc, $db_user, $db_pass )
+ or die $FS::DBI::errstr;
my $sth = $dbh->prepare('SELECT DISTINCT UserName FROM radcheck')
or die $dbh->errstr;
use strict;
use vars qw(%part_svc %domain_part_svc);
#use Date::Parse;
-use DBI;
+use FS::DBI;
use Term::Query qw(query);
use FS::UID qw(adminsuidsetup); #datasrc
use FS::Record qw(qsearch qsearchs);
###
-my $dbh = DBI->connect( $datasrc, $db_user, $db_pass )
- or die $DBI::errstr;
+my $dbh = FS::DBI->connect( $datasrc, $db_user, $db_pass )
+ or die $FS::DBI::errstr;
my $sth = $dbh->prepare('SELECT DISTINCT UserName, Realm FROM radcheck')
or die $dbh->errstr;
use strict;
use vars qw(%part_svc %domain_part_svc);
#use Date::Parse;
-use DBI;
+use FS::DBI;
use Term::Query qw(query);
use FS::UID qw(adminsuidsetup); #datasrc
use FS::Record qw(qsearch qsearchs);
###
-my $dbh = DBI->connect( $datasrc, $db_user, $db_pass )
- or die $DBI::errstr;
+my $dbh = FS::DBI->connect( $datasrc, $db_user, $db_pass )
+ or die $FS::DBI::errstr;
my $sth = $dbh->prepare('SELECT DISTINCT UserName, Realm FROM radcheck')
or die $dbh->errstr;
if( not defined( $dbh ) )
{
- $dbh = DBI->connect( $attrs->{'dsn'},
- $attrs->{'username'},
- $attrs->{'password'},
- { 'PrintError' => 0,
- 'AutoCommit' => 0 } );
+ $dbh = FS::DBI->connect(
+ $attrs->{'dsn'},
+ $attrs->{'username'},
+ $attrs->{'password'},
+ {
+ 'PrintError' => 0,
+ 'AutoCommit' => 0,
+ }
+ );
if( not defined( $dbh ) )
{
Error('Error connecting to DBI source ' . $attrs->{'dsn'} . ': ' .
- $DBI::errstr);
+ $FS::DBI::errstr);
}
else
{