diff --git a/lib/calcms/audio_recordings.pm b/lib/calcms/audio_recordings.pm index a7b0195..ff93c96 100644 --- a/lib/calcms/audio_recordings.pm +++ b/lib/calcms/audio_recordings.pm @@ -21,9 +21,8 @@ sub debug; sub get_columns($) { my $config = shift; - my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_audio_recordings' ); - return { map { $_ => undef } @$cols }; + my $dbh = db::connect($config); + return db::get_columns_hash( $dbh, 'calcms_audio_recordings' ); } # get playout entries diff --git a/lib/calcms/db.pm b/lib/calcms/db.pm index 97dfb99..00a0f47 100644 --- a/lib/calcms/db.pm +++ b/lib/calcms/db.pm @@ -115,8 +115,7 @@ sub get_columns($$) { my $table = shift; my $columns = db::get( $dbh, 'select column_name from information_schema.columns where table_name=?', [$table] ); - my @result = map { $_->{column_name} } (@$columns); - return \@result; + return [ map { $_->{column_name} } @$columns ]; } # get hash with table columns as keys @@ -124,8 +123,8 @@ sub get_columns_hash($$) { my $dbh = shift; my $table = shift; - my $columns = db::get_columns( $dbh, $table ); - return { map { $_ => 1 } @$columns }; + my $columns = db::get( $dbh, 'select column_name from information_schema.columns where table_name=?', [$table] ); + return { map { $_->{column_name} => 1 } @$columns }; } #returns last inserted id diff --git a/lib/calcms/event_history.pm b/lib/calcms/event_history.pm index 7f9c836..ac0ccbb 100644 --- a/lib/calcms/event_history.pm +++ b/lib/calcms/event_history.pm @@ -14,9 +14,8 @@ sub debug; sub get_columns ($){ my $config = shift; - my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_event_history' ); - return { map { $_ => undef } @$cols }; + my $dbh = db::connect($config); + return db::get_columns_hash( $dbh, 'calcms_event_history' ); } sub get ($$){ diff --git a/lib/calcms/password_requests.pm b/lib/calcms/password_requests.pm index 7d1ba89..3a4897d 100644 --- a/lib/calcms/password_requests.pm +++ b/lib/calcms/password_requests.pm @@ -22,8 +22,7 @@ sub get_columns ($) { my $config = shift; my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_password_requests' ); - return { map { $_ => undef } @$cols }; + return db::get_columns_hash( $dbh, 'calcms_password_requests' ); } sub get ($$) { diff --git a/lib/calcms/playout.pm b/lib/calcms/playout.pm index 3645bea..aba9b83 100644 --- a/lib/calcms/playout.pm +++ b/lib/calcms/playout.pm @@ -18,9 +18,8 @@ sub debug; sub get_columns ($) { my $config = shift; - my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_playout' ); - return { map { $_ => undef } @$cols }; + my $dbh = db::connect($config); + return db::get_columns_hash( $dbh, 'calcms_playout' ); } diff --git a/lib/calcms/project.pm b/lib/calcms/project.pm index 3e89d21..cba7be9 100644 --- a/lib/calcms/project.pm +++ b/lib/calcms/project.pm @@ -28,9 +28,8 @@ sub debug; sub get_columns ($) { my $config = shift; - my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_projects' ); - return { map { $_ => undef } @$cols }; + my $dbh = db::connect($config); + return db::get_columns_hash( $dbh, 'calcms_projects' ); } # get projects diff --git a/lib/calcms/series.pm b/lib/calcms/series.pm index 6840810..c17e53a 100644 --- a/lib/calcms/series.pm +++ b/lib/calcms/series.pm @@ -32,9 +32,8 @@ sub debug; sub get_columns ($) { my $config = shift; - my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_series' ); - return { map { $_ => undef } @$cols }; + my $dbh = db::connect($config); + return db::get_columns_hash( $dbh, 'calcms_series' ); } # get series content diff --git a/lib/calcms/series_dates.pm b/lib/calcms/series_dates.pm index 47087d7..15e5941 100644 --- a/lib/calcms/series_dates.pm +++ b/lib/calcms/series_dates.pm @@ -24,9 +24,8 @@ sub debug; sub get_columns ($) { my $config = shift; - my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_series_dates' ); - return { map { $_ => undef } @$cols }; + my $dbh = db::connect($config); + return db::get_columns_hash( $dbh, 'calcms_series_dates' ); } # get all series_dates for studio_id and series_id within given time range diff --git a/lib/calcms/series_schedule.pm b/lib/calcms/series_schedule.pm index 53539f8..59ccc31 100644 --- a/lib/calcms/series_schedule.pm +++ b/lib/calcms/series_schedule.pm @@ -27,9 +27,7 @@ sub get_columns ($) { my $config = shift; my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_series_schedule' ); - return { map { $_ => undef } @$cols }; - + return db::get_columns_hash( $dbh, 'calcms_series_schedule' ); } #map schedule id to id diff --git a/lib/calcms/studio_timeslot_dates.pm b/lib/calcms/studio_timeslot_dates.pm index e14ff0b..0ed9ae9 100644 --- a/lib/calcms/studio_timeslot_dates.pm +++ b/lib/calcms/studio_timeslot_dates.pm @@ -20,9 +20,8 @@ sub debug; sub get_columns ($){ my $config = shift; - my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_studio_timeslot_dates' ); - return { map { $_ => undef } @$cols }; + my $dbh = db::connect($config); + return db::get_columns_hash( $dbh, 'calcms_studio_timeslot_dates' ); } # get all studio_timeslot_dates for studio_id within given time range diff --git a/lib/calcms/studio_timeslot_schedule.pm b/lib/calcms/studio_timeslot_schedule.pm index 47c1340..649b107 100644 --- a/lib/calcms/studio_timeslot_schedule.pm +++ b/lib/calcms/studio_timeslot_schedule.pm @@ -18,9 +18,8 @@ sub debug; sub get_columns($) { my $config = shift; - my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_studio_timeslot_schedule' ); - return { map { $_ => undef } @$cols }; + my $dbh = db::connect($config); + return db::get_columns_hash( $dbh, 'calcms_studio_timeslot_schedule' ); } #map schedule id to id diff --git a/lib/calcms/studios.pm b/lib/calcms/studios.pm index 77f05ac..e5cc691 100644 --- a/lib/calcms/studios.pm +++ b/lib/calcms/studios.pm @@ -15,9 +15,8 @@ sub debug; sub get_columns($) { my $config = shift; - my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_studios' ); - return { map { $_ => undef } @$cols }; + my $dbh = db::connect($config); + return db::get_columns_hash( $dbh, 'calcms_studios' ); } sub get($;$) { my $config = shift; diff --git a/lib/calcms/user_default_studios.pm b/lib/calcms/user_default_studios.pm index 58d0090..64816e4 100644 --- a/lib/calcms/user_default_studios.pm +++ b/lib/calcms/user_default_studios.pm @@ -8,8 +8,6 @@ use Data::Dumper; # table: calcms_user_default_studios # columns: user, project_id, studio_id -#use base 'Exporter'; -#our @EXPORT_OK = qw(get insert update delete get_columns); sub debug; @@ -17,8 +15,7 @@ sub get_columns($) { my $config = shift; my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_user_default_studios' ); - return { map { $_ => undef } @$cols }; + return db::get_columns_hash( $dbh, 'calcms_user_default_studios' ); } sub get ($$) { diff --git a/lib/calcms/user_sessions.pm b/lib/calcms/user_sessions.pm index 97566f3..8ec069e 100644 --- a/lib/calcms/user_sessions.pm +++ b/lib/calcms/user_sessions.pm @@ -26,9 +26,8 @@ sub debug; sub get_columns($) { my $config = shift; - my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_user_sessions' ); - return { map { $_ => undef } @$cols }; + my $dbh = db::connect($config); + return db::get_columns_hash( $dbh, 'calcms_user_sessions' ); } #map schedule id to id diff --git a/lib/calcms/user_settings.pm b/lib/calcms/user_settings.pm index 2a85de7..1e80718 100644 --- a/lib/calcms/user_settings.pm +++ b/lib/calcms/user_settings.pm @@ -136,9 +136,8 @@ sub getColorCss ($$) { sub get_columns($) { my $config = shift; - my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_user_settings' ); - return { map { $_ => undef } @$cols }; + my $dbh = db::connect($config); + return db::get_columns_hash( $dbh, 'calcms_user_settings' ); } sub get ($$) { diff --git a/lib/calcms/user_stats.pm b/lib/calcms/user_stats.pm index 54aad9e..5320635 100644 --- a/lib/calcms/user_stats.pm +++ b/lib/calcms/user_stats.pm @@ -13,9 +13,8 @@ sub debug; sub get_columns($) { my $config = shift; - my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_user_stats' ); - return { map { $_ => undef } @$cols }; + my $dbh = db::connect($config); + return db::get_columns_hash( $dbh, 'calcms_user_stats' ); } sub get ($$) { diff --git a/lib/calcms/work_dates.pm b/lib/calcms/work_dates.pm index c46ca2b..6a1cd4d 100644 --- a/lib/calcms/work_dates.pm +++ b/lib/calcms/work_dates.pm @@ -24,9 +24,8 @@ sub debug; sub get_columns($) { my $config = shift; - my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_work_dates' ); - return { map { $_ => undef } @$cols }; + my $dbh = db::connect($config); + return db::get_columns_hash( $dbh, 'calcms_work_dates' ); } # get all work_dates for studio_id and schedule_id within given time range diff --git a/lib/calcms/work_schedule.pm b/lib/calcms/work_schedule.pm index 3aefb32..a543730 100644 --- a/lib/calcms/work_schedule.pm +++ b/lib/calcms/work_schedule.pm @@ -25,9 +25,8 @@ sub debug; sub get_columns($) { my $config = shift; - my $dbh = db::connect($config); - my $cols = db::get_columns( $dbh, 'calcms_work_schedule' ); - return { map { $_ => undef } @$cols }; + my $dbh = db::connect($config); + return db::get_columns_hash( $dbh, 'calcms_work_schedule' ); } #map schedule id to id diff --git a/website/agenda/planung/projects.cgi b/website/agenda/planung/projects.cgi index 2978435..18794d0 100755 --- a/website/agenda/planung/projects.cgi +++ b/website/agenda/planung/projects.cgi @@ -86,7 +86,7 @@ sub delete_project { my $entry = {}; for my $param ( keys %$params ) { - if ( defined $columns->{$param} ) { + if ( exists $columns->{$param} ) { $entry->{$param} = $params->{$param} || ''; } } @@ -113,7 +113,7 @@ sub save_project { my $columns = project::get_columns($config); my $entry = {}; for my $param ( keys %$params ) { - if ( defined $columns->{$param} ) { + if ( exists $columns->{$param} ) { $entry->{$param} = $params->{$param} || ''; } } diff --git a/website/agenda/planung/studios.cgi b/website/agenda/planung/studios.cgi index e933fc2..18e26ed 100755 --- a/website/agenda/planung/studios.cgi +++ b/website/agenda/planung/studios.cgi @@ -82,7 +82,7 @@ sub delete_studio { my $entry = {}; for my $param ( keys %$params ) { - if ( defined $columns->{$param} ) { + if ( exists $columns->{$param} ) { $entry->{$param} = $params->{$param} || ''; } } @@ -131,7 +131,7 @@ sub save_studio { my $columns = studios::get_columns($config); my $entry = {}; for my $param ( keys %$params ) { - if ( defined $columns->{$param} ) { + if ( exists $columns->{$param} ) { $entry->{$param} = $params->{$param} || ''; } }