summaryrefslogtreecommitdiff
path: root/lib/RHRD/rddb.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/RHRD/rddb.pm')
-rwxr-xr-xlib/RHRD/rddb.pm248
1 files changed, 134 insertions, 114 deletions
diff --git a/lib/RHRD/rddb.pm b/lib/RHRD/rddb.pm
index 894c03e..9155d8e 100755
--- a/lib/RHRD/rddb.pm
+++ b/lib/RHRD/rddb.pm
@@ -31,12 +31,12 @@ use DBI;
use constant {
DB_VERSION => 245,
RD_CONFIG_FILE => '/etc/rd.conf',
- DROPBOX_PSEUDO_STATION_NAME => 'import-dropbox',
RD_MIN_CART => 1,
RD_MAX_CART => 999999,
RD_MIN_CUT => 1,
RD_MAX_CUT => 999,
+ RHRD_DROPBOX_PSEUDO_STATION_NAME => 'import-dropbox',
RHRD_SYSTEM_MACROS_GROUP => 'SYSTEM',
RHRD_SHOW_MACROS_GROUP => 'SHOWS',
RHRD_ALLSHOWS_GROUP => 'ALL_SHOWS',
@@ -44,7 +44,27 @@ use constant {
RHRD_ALLJINGLES_GROUP => 'ALL_JINGLE',
};
-########################### connection handling ###########################
+########################### context handling ###########################
+
+sub init
+{
+ my %ctx;
+
+ my ($dbh, $status, $errorstring) = opendb();
+ unless(defined $dbh) {
+ return ($dbh, $status, $errorstring);
+ }
+ $ctx{'dbh'} = $dbh;
+
+ return \%ctx;
+}
+
+sub destroy
+{
+ my ($ctx) = @_;
+
+ closedb($ctx->{'dbh'});
+}
sub opendb
{
@@ -91,11 +111,11 @@ sub closedb
sub get_cart_range
{
- my ($dbh, $groupname) = @_;
+ my ($ctx, $groupname) = @_;
my $sql = qq{select DEFAULT_LOW_CART, DEFAULT_HIGH_CART, DEFAULT_TITLE from GROUPS where NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($groupname)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -110,13 +130,13 @@ sub get_cart_range
sub get_next_free_slot
{
- my ($dbh, $groupname) = @_;
+ my ($ctx, $groupname) = @_;
- my ($group_low_cart, $group_high_cart, $group_chunksize) = get_cart_range($dbh, $groupname);
+ my ($group_low_cart, $group_high_cart, $group_chunksize) = get_cart_range($ctx, $groupname);
my $sql = qq{select NAME, DEFAULT_LOW_CART, DEFAULT_HIGH_CART from GROUPS where NAME != ? and DEFAULT_LOW_CART >= ? and DEFAULT_HIGH_CART <= ? order by DEFAULT_LOW_CART;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($groupname, $group_low_cart, $group_high_cart)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -144,11 +164,11 @@ sub get_next_free_slot
sub get_token
{
- my ($dbh, $username) = @_;
+ my ($ctx, $username) = @_;
my $sql = qq{select PASSWORD from USERS where LOGIN_NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($username)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -164,14 +184,14 @@ sub get_token
sub set_token
{
- my ($dbh, $username, $token) = @_;
+ my ($ctx, $username, $token) = @_;
if(!defined $token || $token eq '') {
return (undef, 'ERROR', "empty token is not allowed")
}
my $sql = qq{update USERS set PASSWORD = ? where LOGIN_NAME = ?;};
- my $rows = $dbh->do($sql, undef, $token, $username)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $rows = $ctx->{'dbh'}->do($sql, undef, $token, $username)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
unless($rows == 1) {
return (undef, 'ERROR', "user '" . $username . "' not known by rivendell")
@@ -181,14 +201,14 @@ sub set_token
sub check_token
{
- my ($dbh, $username, $token) = @_;
+ my ($ctx, $username, $token) = @_;
if(!defined $token || $token eq '') {
return (undef, 'ERROR', "empty token is not allowed")
}
my $sql = qq{select PASSWORD from USERS where LOGIN_NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($username)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -210,7 +230,7 @@ sub check_token
sub add_user
{
- my ($dbh, $username, $token, $fullname) = @_;
+ my ($ctx, $username, $token, $fullname) = @_;
if(!defined $token || $token eq '') {
return (undef, 'ERROR', "empty token is not allowed")
}
@@ -219,8 +239,8 @@ sub add_user
}
my $sql = qq{insert into USERS (LOGIN_NAME, FULL_NAME, PHONE_NUMBER, DESCRIPTION, PASSWORD, ENABLE_WEB, ADMIN_USERS_PRIV, ADMIN_CONFIG_PRIV, CREATE_CARTS_PRIV, DELETE_CARTS_PRIV, MODIFY_CARTS_PRIV, EDIT_AUDIO_PRIV, ASSIGN_CART_PRIV, CREATE_LOG_PRIV, DELETE_LOG_PRIV, DELETE_REC_PRIV, PLAYOUT_LOG_PRIV, ARRANGE_LOG_PRIV, MODIFY_TEMPLATE_PRIV, ADDTO_LOG_PRIV, REMOVEFROM_LOG_PRIV, CONFIG_PANELS_PRIV, VOICETRACK_LOG_PRIV, EDIT_CATCHES_PRIV, ADD_PODCAST_PRIV, EDIT_PODCAST_PRIV, DELETE_PODCAST_PRIV) values ( ?, ?, "", "", ? , "N", "N", "N", "Y", "Y", "Y", "Y", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N");};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
my $cnt = $sth->execute($username, $fullname, $token)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -231,7 +251,7 @@ sub add_user
sub remove_user
{
- my ($dbh, $username) = @_;
+ my ($ctx, $username) = @_;
my @actions = ({
# Delete RSS Feed Perms
@@ -256,8 +276,8 @@ sub remove_user
});
for my $href (@actions) {
- my $sth = $dbh->prepare($href->{sql})
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($href->{sql})
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
delete($href->{sql});
$href->{cnt} = $sth->execute($username)
@@ -271,11 +291,11 @@ sub remove_user
sub check_user
{
- my ($dbh, $username) = @_;
+ my ($ctx, $username) = @_;
my $sql = qq{select count(*) from USERS where LOGIN_NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($username)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -285,8 +305,8 @@ sub check_user
if ($cnt != 0) {
$sql = qq{select count(*) from STATIONS where DEFAULT_NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($username)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -303,11 +323,11 @@ sub check_user
sub get_fullname
{
- my ($dbh, $username) = @_;
+ my ($ctx, $username) = @_;
my $sql = qq{select FULL_NAME from USERS where LOGIN_NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($username)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -323,11 +343,11 @@ sub get_fullname
sub list_users
{
- my ($dbh) = @_;
+ my ($ctx) = @_;
my $sql = qq{select LOGIN_NAME from USERS order by LOGIN_NAME;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute()
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -345,14 +365,14 @@ sub list_users
sub add_group
{
- my ($dbh, $groupname, $description) = @_;
+ my ($ctx, $groupname, $description) = @_;
if(!defined $description) {
$description = '';
}
my $sql = qq{insert into GROUPS (NAME, DESCRIPTION) values (?, ?);};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
my $cnt = $sth->execute($groupname, $description)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -363,7 +383,7 @@ sub add_group
sub remove_group
{
- my ($dbh, $groupname) = @_;
+ my ($ctx, $groupname) = @_;
my @actions = ({
# Delete Member Carts
@@ -398,8 +418,8 @@ sub remove_group
});
for my $href (@actions) {
- my $sth = $dbh->prepare($href->{sql})
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($href->{sql})
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
delete($href->{sql});
$href->{cnt} = $sth->execute($groupname)
@@ -413,11 +433,11 @@ sub remove_group
sub check_group
{
- my ($dbh, $groupname) = @_;
+ my ($ctx, $groupname) = @_;
my $sql = qq{select count(*) from GROUPS where NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($groupname)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -427,8 +447,8 @@ sub check_group
if ($cnt != 0) {
$sql = qq{select count(*) from CART where GROUP_NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($groupname)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -445,11 +465,11 @@ sub check_group
sub get_group_carts
{
- my ($dbh, $groupname) = @_;
+ my ($ctx, $groupname) = @_;
my $sql = qq{select DEFAULT_LOW_CART, DEFAULT_HIGH_CART, DEFAULT_CART_TYPE, ENFORCE_CART_RANGE from GROUPS where NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($groupname)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -464,7 +484,7 @@ sub get_group_carts
sub set_group_carts
{
- my ($dbh, $groupname, $low_cart, $high_cart, $cart_type, $enforce_cart_range) = @_;
+ my ($ctx, $groupname, $low_cart, $high_cart, $cart_type, $enforce_cart_range) = @_;
if(!defined $low_cart) {
$low_cart = 0;
}
@@ -479,8 +499,8 @@ sub set_group_carts
}
my $sql = qq{update GROUPS set DEFAULT_LOW_CART = ?, DEFAULT_HIGH_CART = ?, DEFAULT_CART_TYPE = ? , ENFORCE_CART_RANGE = ? where NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
my $cnt = $sth->execute($low_cart, $high_cart, $cart_type, $enforce_cart_range, $groupname)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -492,11 +512,11 @@ sub set_group_carts
sub get_group_reports
{
- my ($dbh, $groupname) = @_;
+ my ($ctx, $groupname) = @_;
my $sql = qq{select ENABLE_NOW_NEXT, REPORT_TFC, REPORT_MUS from GROUPS where NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($groupname)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -511,7 +531,7 @@ sub get_group_reports
sub set_group_reports
{
- my ($dbh, $groupname, $now_next, $traffic, $music) = @_;
+ my ($ctx, $groupname, $now_next, $traffic, $music) = @_;
if(!defined $now_next) {
$now_next = 'N';
}
@@ -523,8 +543,8 @@ sub set_group_reports
}
my $sql = qq{update GROUPS set ENABLE_NOW_NEXT = ?, REPORT_TFC = ?, REPORT_MUS = ? where NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
my $cnt = $sth->execute($now_next, $traffic, $music, $groupname)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -536,11 +556,11 @@ sub set_group_reports
sub get_group_members
{
- my ($dbh, $groupname) = @_;
+ my ($ctx, $groupname) = @_;
my $sql = qq{select USER_NAME from USER_PERMS where GROUP_NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($groupname)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -556,11 +576,11 @@ sub get_group_members
sub is_group_member
{
- my ($dbh, $groupname, $username) = @_;
+ my ($ctx, $groupname, $username) = @_;
my $sql = qq{select count(*) from USER_PERMS where GROUP_NAME = ? and USER_NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($groupname, $username)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -573,11 +593,11 @@ sub is_group_member
sub add_group_member
{
- my ($dbh, $groupname, $username) = @_;
+ my ($ctx, $groupname, $username) = @_;
my $sql = qq{select count(*) from USERS where LOGIN_NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($username)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -588,14 +608,14 @@ sub add_group_member
return (undef, 'ERROR', "user '" . $username . "' does not exist");
}
- ($cnt, my $result, my $errostring) = is_group_member($dbh, $groupname, $username);
+ ($cnt, my $result, my $errostring) = is_group_member($ctx, $groupname, $username);
if($cnt > 0) {
return (undef, 'ERROR', "already a member");
}
$sql = qq{insert into USER_PERMS (GROUP_NAME, USER_NAME) values (?, ?);};
- $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$cnt = $sth->execute($groupname, $username)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -606,11 +626,11 @@ sub add_group_member
sub remove_group_member
{
- my ($dbh, $groupname, $username) = @_;
+ my ($ctx, $groupname, $username) = @_;
my $sql = qq{delete from USER_PERMS where GROUP_NAME = ? and USER_NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
my $cnt = $sth->execute($groupname, $username)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -621,11 +641,11 @@ sub remove_group_member
sub list_groups
{
- my ($dbh) = @_;
+ my ($ctx) = @_;
my $sql = qq{select NAME from GROUPS order by DEFAULT_LOW_CART;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute()
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -643,21 +663,21 @@ sub list_groups
sub get_dropboxes
{
- my ($dbh, $username, $groupname, $type) = @_;
+ my ($ctx, $username, $groupname, $type) = @_;
my $sql = qq{select USER_PERMS.GROUP_NAME,DROPBOXES.TO_CART,DROPBOXES.NORMALIZATION_LEVEL,DROPBOXES.AUTOTRIM_LEVEL,DROPBOXES.SET_USER_DEFINED,GROUPS.DEFAULT_LOW_CART,GROUPS.DEFAULT_HIGH_CART,GROUPS.DESCRIPTION from USER_PERMS, DROPBOXES, GROUPS where USER_PERMS.USER_NAME = ? and DROPBOXES.GROUP_NAME=USER_PERMS.GROUP_NAME and DROPBOXES.GROUP_NAME=GROUPS.NAME and DROPBOXES.STATION_NAME = ?;};
if(defined $groupname) {
$sql = qq{select USER_PERMS.GROUP_NAME,DROPBOXES.TO_CART,DROPBOXES.NORMALIZATION_LEVEL,DROPBOXES.AUTOTRIM_LEVEL,DROPBOXES.SET_USER_DEFINED,GROUPS.DEFAULT_LOW_CART,GROUPS.DEFAULT_HIGH_CART,GROUPS.DESCRIPTION from USER_PERMS, DROPBOXES, GROUPS where USER_PERMS.USER_NAME = ? and DROPBOXES.GROUP_NAME=USER_PERMS.GROUP_NAME and DROPBOXES.GROUP_NAME=GROUPS.NAME and DROPBOXES.STATION_NAME=? and GROUPS.NAME = ?;};
}
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
if(defined $groupname) {
- $sth->execute($username, DROPBOX_PSEUDO_STATION_NAME, $groupname)
+ $sth->execute($username, RHRD_DROPBOX_PSEUDO_STATION_NAME, $groupname)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
} else {
- $sth->execute($username, DROPBOX_PSEUDO_STATION_NAME)
+ $sth->execute($username, RHRD_DROPBOX_PSEUDO_STATION_NAME)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
}
@@ -678,7 +698,7 @@ sub get_dropboxes
$entry->{'TYPE'} = 'show';
$entry->{'SHOWID'} = $to_cart;
- my ($title, $log, $status, $errorstring) = get_show_title_and_log($dbh, $to_cart);
+ my ($title, $log, $status, $errorstring) = get_show_title_and_log($ctx, $to_cart);
unless (defined $title && defined $log) {
return (undef, $status, $errorstring);
}
@@ -710,26 +730,26 @@ sub get_dropboxes
sub get_shows_cart_range
{
- my ($dbh) = @_;
- return get_cart_range($dbh, RHRD_ALLSHOWS_GROUP)
+ my ($ctx) = @_;
+ return get_cart_range($ctx, RHRD_ALLSHOWS_GROUP)
}
sub get_shows_next_free_slot
{
- my ($dbh) = @_;
- return get_next_free_slot($dbh, RHRD_ALLSHOWS_GROUP)
+ my ($ctx) = @_;
+ return get_next_free_slot($ctx, RHRD_ALLSHOWS_GROUP)
}
sub list_shows
{
- my ($dbh) = @_;
+ my ($ctx) = @_;
my $sql = qq{select TO_CART,SET_USER_DEFINED from DROPBOXES where STATION_NAME=?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
- $sth->execute(DROPBOX_PSEUDO_STATION_NAME)
+ $sth->execute(RHRD_DROPBOX_PSEUDO_STATION_NAME)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
my @show_dbs;
@@ -739,7 +759,7 @@ sub list_shows
my $entry = {};
$entry->{'ID'} = $to_cart;
- my ($title, $log, $status, $errorstring) = get_show_title_and_log($dbh, $to_cart);
+ my ($title, $log, $status, $errorstring) = get_show_title_and_log($ctx, $to_cart);
unless (defined $title && defined $log) {
return (undef, $status, $errorstring);
}
@@ -761,13 +781,13 @@ sub list_shows
sub get_show_group_carts
{
- my ($dbh, $showid) = @_;
+ my ($ctx, $showid) = @_;
my $sql = qq{select GROUPS.DEFAULT_LOW_CART,GROUPS.DEFAULT_HIGH_CART from DROPBOXES, GROUPS where DROPBOXES.TO_CART = ? and DROPBOXES.GROUP_NAME=GROUPS.NAME and DROPBOXES.STATION_NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
- $sth->execute($showid, DROPBOX_PSEUDO_STATION_NAME)
+ $sth->execute($showid, RHRD_DROPBOX_PSEUDO_STATION_NAME)
or return (undef, undef, 'ERROR', "Database Error: " . $sth->errstr);
my ($group_low_cart, $group_high_cart) = $sth->fetchrow_array();
@@ -779,11 +799,11 @@ sub get_show_group_carts
sub get_show_title_and_log
{
- my ($dbh, $showid) = @_;
+ my ($ctx, $showid) = @_;
my $sql = qq{select TITLE,MACROS from CART where NUMBER = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($showid)
or return (undef, undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -808,21 +828,21 @@ sub get_show_title_and_log
sub get_show_carts
{
- my ($dbh, $showid) = @_;
+ my ($ctx, $showid) = @_;
- my ($group_low_cart, $group_high_cart, $status, $errorstring) = get_show_group_carts($dbh, $showid);
+ my ($group_low_cart, $group_high_cart, $status, $errorstring) = get_show_group_carts($ctx, $showid);
unless (defined $group_low_cart && defined $group_high_cart) {
return (undef, $status, $errorstring);
}
- (undef, my $log, $status, $errorstring) = get_show_title_and_log($dbh, $showid);
+ (undef, my $log, $status, $errorstring) = get_show_title_and_log($ctx, $showid);
unless (defined $log) {
return (undef, $status, $errorstring);
}
my $sql = qq{select LOG_EXISTS from LOGS where NAME = ?;};
- my $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ my $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute($log)
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -835,11 +855,11 @@ sub get_show_carts
}
$log=~s/ /_/g;
- $log = $dbh->quote_identifier($log . '_LOG');
+ $log = $ctx->{'dbh'}->quote_identifier($log . '_LOG');
$sql = qq{select COUNT,CART_NUMBER from $log order by COUNT;};
- $sth = $dbh->prepare($sql)
- or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+ $sth = $ctx->{'dbh'}->prepare($sql)
+ or return (undef, 'ERROR', "Database Error: " . $ctx->{'dbh'}->errstr);
$sth->execute()
or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
@@ -859,28 +879,28 @@ sub get_show_carts
sub get_musicpools_cart_range
{
- my ($dbh) = @_;
- return get_cart_range($dbh, RHRD_ALLMUSICPOOLS_GROUP)
+ my ($ctx) = @_;
+ return get_cart_range($ctx, RHRD_ALLMUSICPOOLS_GROUP)
}
sub get_musicpools_next_free_slot
{
- my ($dbh) = @_;
- return get_next_free_slot($dbh, RHRD_ALLMUSICPOOLS_GROUP)
+ my ($ctx) = @_;
+ return get_next_free_slot($ctx, RHRD_ALLMUSICPOOLS_GROUP)
}
########################### JINGLES handling ###########################
sub get_jingles_cart_range
{
- my ($dbh) = @_;
- return get_cart_range($dbh, RHRD_ALLJINGLES_GROUP)
+ my ($ctx) = @_;
+ return get_cart_range($ctx, RHRD_ALLJINGLES_GROUP)
}
sub get_jingles_next_free_slot
{
- my ($dbh) = @_;
- return get_next_free_slot($dbh, RHRD_ALLJINGLES_GROUP)
+ my ($ctx) = @_;
+ return get_next_free_slot($ctx, RHRD_ALLJINGLES_GROUP)
}
################################# END ####################################