diff --git a/lib/calcms/audio_recordings.pm b/lib/calcms/audio_recordings.pm
index 12328f2..033cbd1 100644
--- a/lib/calcms/audio_recordings.pm
+++ b/lib/calcms/audio_recordings.pm
@@ -31,7 +31,6 @@ sub get($$) {
if ( defined $condition->{date_range_include} ) && ( $condition->{date_range_include} == 1 );
my $dbh = db::connect($config);
-
my $conditions = [];
my $bind_values = [];
@@ -93,12 +92,45 @@ sub get($$) {
return $entries;
}
+sub update_active($$) {
+ my ($config, $entry) = @_;
+
+ return undef unless defined $entry->{project_id};
+ return undef unless defined $entry->{studio_id};
+ return undef unless defined $entry->{event_id};
+
+ my $dbh = db::connect($config);
+ my $bind_values = [ $entry->{project_id}, $entry->{studio_id}, $entry->{event_id} ];
+ my $query = qq{
+ update calcms_audio_recordings
+ set active=0
+ where project_id=? and studio_id=? and event_id=? and active=1
+ };
+ db::put( $dbh, $query, $bind_values );
+
+ $query = qq{
+ select max(id) id from calcms_audio_recordings
+ where project_id=? and studio_id=? and event_id=?
+ };
+ my $entries = db::get( $dbh, $query, $bind_values );
+ my $max = $entries->[0];
+ return undef unless defined $max->{id};
+
+ $query = qq{
+ update calcms_audio_recordings
+ set active=1
+ where id=?
+ };
+ return db::put( $dbh, $query, [$max->{id}] );
+}
+
# update playout entry if differs to old values
-sub update($$$) {
- my ($config, $dbh, $entry) = @_;
+sub update($$) {
+ my ($config, $entry) = @_;
my $day_start = $config->{date}->{day_starting_hour};
+ my $dbh = db::connect($config);
my $bind_values = [
$entry->{path}, $entry->{size},
$entry->{created_by}, $entry->{created_at},
@@ -124,19 +156,20 @@ sub update($$$) {
push @$bind_values, $entry->{id};
}
my $result = db::put( $dbh, $query, $bind_values );
- update_active($config, $dbh, $entry);
+ update_active($config, $entry);
return $result;
}
# insert playout entry
-sub insert ($$$) {
- my ($config, $dbh, $entry) = @_;
+sub insert ($$) {
+ my ($config, $entry) = @_;
return undef unless defined $entry->{project_id};
return undef unless defined $entry->{studio_id};
return undef unless defined $entry->{event_id};
return undef unless defined $entry->{path};
+ my $dbh = db::connect($config);
$entry = {
project_id => $entry->{project_id},
studio_id => $entry->{studio_id},
@@ -153,19 +186,20 @@ sub insert ($$$) {
};
my $result = db::insert( $dbh, 'calcms_audio_recordings', $entry );
- update_active($config, $dbh, $entry);
+ update_active($config, $entry);
return $result;
}
# delete playout entry
-sub delete ($$$) {
- my ($config, $dbh, $entry) = @_;
+sub delete ($$) {
+ my ($config, $entry) = @_;
return undef unless defined $entry->{project_id};
return undef unless defined $entry->{studio_id};
return undef unless defined $entry->{event_id};
return undef unless defined $entry->{path};
+ my $dbh = db::connect($config);
my $query = qq{
delete
from calcms_audio_recordings
@@ -174,41 +208,10 @@ sub delete ($$$) {
my $bind_values = [ $entry->{project_id}, $entry->{studio_id}, $entry->{event_id}, $entry->{path} ];
my $result = db::put( $dbh, $query, $bind_values );
- update_active($config, $dbh, $entry);
+ update_active($config, $entry);
return $result;
}
-sub update_active($$$) {
- my ($config, $dbh, $entry) = @_;
-
- return undef unless defined $entry->{project_id};
- return undef unless defined $entry->{studio_id};
- return undef unless defined $entry->{event_id};
-
- my $bind_values = [ $entry->{project_id}, $entry->{studio_id}, $entry->{event_id} ];
- my $query = qq{
- update calcms_audio_recordings
- set active=0
- where project_id=? and studio_id=? and event_id=? and active=1
- };
- db::put( $dbh, $query, $bind_values );
-
- $query = qq{
- select max(id) id from calcms_audio_recordings
- where project_id=? and studio_id=? and event_id=?
- };
- my $entries = db::get( $dbh, $query, $bind_values );
- my $max = $entries->[0];
- return undef unless defined $max->{id};
-
- $query = qq{
- update calcms_audio_recordings
- set active=1
- where id=?
- };
- return db::put( $dbh, $query, [$max->{id}] );
-}
-
sub error($) {
my $msg = shift;
print "ERROR: $msg
\n";
diff --git a/website/agenda/planung/audio-recordings.cgi b/website/agenda/planung/audio-recordings.cgi
index bf31989..3b0c7e5 100755
--- a/website/agenda/planung/audio-recordings.cgi
+++ b/website/agenda/planung/audio-recordings.cgi
@@ -209,7 +209,6 @@ sub deleteRecording {
}
}
- my $dbh = db::connect($config);
$config->{access}->{write} = 0;
my $audioRecordings = audio_recordings::get(
@@ -245,7 +244,7 @@ sub deleteRecording {
$config->{access}->{write} = 1;
$audioRecordings = audio_recordings::delete(
- $config, $dbh,
+ $config,
{
project_id => $params->{project_id},
studio_id => $params->{studio_id},
@@ -410,8 +409,6 @@ sub updateDatabase {
};
#connect
- my $dbh = db::connect($config);
-
my $entries = audio_recordings::get(
$config,
{
@@ -424,7 +421,7 @@ sub updateDatabase {
if ( ( defined $entries ) && ( scalar @$entries > 0 ) ) {
print STDERR "update\n";
- audio_recordings::update( $config, $dbh, $entry );
+ audio_recordings::update( $config, $entry );
my $entry = $entries->[0];
$params->{id} = $entry->{id};
} else {
@@ -436,7 +433,7 @@ sub updateDatabase {
$entry->{rmsRight} = 0.0;
$entry->{audioDuration} = 0.0;
$entry->{modified_at} = time();
- $entry->{id} = audio_recordings::insert( $config, $dbh, $entry );
+ $entry->{id} = audio_recordings::insert( $config, $entry );
$params->{id} = $entry->{id};
}
call_hooks($config, $entry, $params);
@@ -448,7 +445,6 @@ sub updateDatabase {
sub call_hooks {
my ($config, $entry, $params) = @_;
print STDERR Dumper($config->{"audio-upload-hooks"});
- my $dbh = db::connect($config);
$entry = audio_recordings::get(
$config, {
@@ -468,7 +464,7 @@ sub call_hooks {
$entry->{$key} = $value;
die "invalid column $key for table calcms_audio_recordings"
unless exists audio_recordings::get_columns($config)->{$key};
- audio_recordings::update( $config, $dbh, $entry );
+ audio_recordings::update( $config, $entry );
} elsif ($line =~ m/^calcms_events\.([a-zA-Z0-9_-]+)\s*=\s*(\S+)/) {
my ($key, $value) = ($1, $2);
die "invalid column $key for calcms_events\n"
diff --git a/website/agenda/planung/event.cgi b/website/agenda/planung/broadcast.cgi
similarity index 98%
rename from website/agenda/planung/event.cgi
rename to website/agenda/planung/broadcast.cgi
index e06d651..cd75717 100755
--- a/website/agenda/planung/event.cgi
+++ b/website/agenda/planung/broadcast.cgi
@@ -767,14 +767,14 @@ sub download {
if ( $datetime =~ /(\d\d\d\d\-\d\d\-\d\d)[ T](\d\d)\:(\d\d)/ ) {
$datetime = $1 . '\ ' . $2 . '_' . $3;
} else {
- print STDERR "event.cgi::download no valid datetime found $datetime\n";
+ print STDERR "broadcast.cgi::download no valid datetime found $datetime\n";
return;
}
my $archive_dir = $config->{locations}->{local_archive_dir};
my $archive_url = $config->{locations}->{local_archive_url};
print STDERR "archive_dir: " . $archive_dir . "\n";
print STDERR "archive_url: " . $archive_url . "\n";
- print STDERR "event.cgi::download look for : $archive_dir/$datetime*.mp3\n";
+ print STDERR "broadcast.cgi::download look for : $archive_dir/$datetime*.mp3\n";
my @files = glob( $archive_dir . '/' . $datetime . '*.mp3' );
if ( @files > 0 ) {
@@ -814,12 +814,12 @@ sub download_audio {
if ( $datetime =~ /(\d\d\d\d\-\d\d\-\d\d)[ T](\d\d)\:(\d\d)/ ) {
$datetime = $1 . '\ ' . $2 . '_' . $3;
} else {
- print STDERR "event.cgi::download no valid datetime found $datetime\n";
+ print STDERR "broadcast.cgi::download no valid datetime found $datetime\n";
return;
}
my $archive_dir = $config->{locations}->{local_archive_dir};
print STDERR "archive_dir: " . $archive_dir . "\n";
- print STDERR "event.cgi::download look for : $archive_dir/$datetime*.mp3\n";
+ print STDERR "broadcast.cgi::download look for : $archive_dir/$datetime*.mp3\n";
my @files = glob( $archive_dir . '/' . $datetime . '*.mp3' );
if ( @files > 0 ) {
my $file = $files[0];
diff --git a/website/agenda/planung/js/calendar.js b/website/agenda/planung/js/calendar.js
index 9688718..106a76b 100644
--- a/website/agenda/planung/js/calendar.js
+++ b/website/agenda/planung/js/calendar.js
@@ -800,7 +800,7 @@ function handleEvent(id, event){
if (series_id <0) return;
if (event_id <0) return;
- var url="event.cgi?action=edit&project_id="+project_id+"&studio_id="+studio_id+"&series_id="+series_id+"&event_id="+event_id;
+ var url="broadcast.cgi?action=edit&project_id="+project_id+"&studio_id="+studio_id+"&series_id="+series_id+"&event_id="+event_id;
if(event.which==1){
load(url);
}
@@ -840,7 +840,7 @@ function handleSchedule(id, start_date, event){
if(event.which==1){
//left click: create event from schedule
- var url="event.cgi?action=show_new_event_from_schedule&project_id="+project_id+"&studio_id="+studio_id+"&series_id="+series_id+"&start_date="+start_date;
+ var url="broadcast.cgi?action=show_new_event_from_schedule&project_id="+project_id+"&studio_id="+studio_id+"&series_id="+series_id+"&start_date="+start_date;
load(url);
}
if(event.which==3){
diff --git a/website/agenda/planung/js/edit-event.js b/website/agenda/planung/js/edit-event.js
index d642195..d014b2e 100644
--- a/website/agenda/planung/js/edit-event.js
+++ b/website/agenda/planung/js/edit-event.js
@@ -101,7 +101,7 @@ function copyFromEvent(resultSelector){
function loadEvent(projectId,studioId,seriesId,eventId, callback){
- var url="event.cgi";
+ var url="broadcast.cgi";
url+="?project_id="+projectId;
url+="&studio_id="+studioId;
url+="&series_id="+seriesId;
@@ -192,7 +192,7 @@ function changeSeries(seriesId){
$.post(
url,
function(data){
- var url='event.cgi?';
+ var url='broadcast.cgi?';
url += '&project_id='+projectId;
url += '&studio_id='+studioId;
url += '&series_id='+newSeriesId;
diff --git a/website/agenda/planung/js/event.js b/website/agenda/planung/js/event.js
index 523a07c..5abee8d 100644
--- a/website/agenda/planung/js/event.js
+++ b/website/agenda/planung/js/event.js
@@ -10,7 +10,7 @@ function edit_event(event_id, series_id, studio_id, project_id, hide_series){
);
}else{
elem.addClass('active');
- var url="event.cgi?project_id="+project_id+"&studio_id="+studio_id+"&series_id="+series_id+"&event_id="+event_id+"&action=edit";
+ var url="broadcast.cgi?project_id="+project_id+"&studio_id="+studio_id+"&series_id="+series_id+"&event_id="+event_id+"&action=edit";
if ((hide_series!=null) && (hide_series!=''))url+='&hide_series=1';
load(url);
}
diff --git a/website/agenda/planung/series.cgi b/website/agenda/planung/series.cgi
index 538cc89..7cbdc16 100755
--- a/website/agenda/planung/series.cgi
+++ b/website/agenda/planung/series.cgi
@@ -842,7 +842,7 @@ sub reassign_event {
}
my $url =
- 'event.cgi?project_id='
+ 'broadcast.cgi?project_id='
. $project_id
. '&studio_id='
. $studio_id
@@ -1378,7 +1378,7 @@ sub rebuild_episodes {
for my $event (@$events) {
print qq{