diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index 04c9e7841..dc4776ee5 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -19,6 +19,7 @@ require_once __DIR__."/configs/constants.php"; require_once 'Preference.php'; require_once "DateHelper.php"; require_once "OsPath.php"; +require_once "Database.php"; require_once __DIR__.'/controllers/plugins/RabbitMqPlugin.php'; diff --git a/airtime_mvc/application/common/Database.php b/airtime_mvc/application/common/Database.php new file mode 100644 index 000000000..96e6e6770 --- /dev/null +++ b/airtime_mvc/application/common/Database.php @@ -0,0 +1,24 @@ +prepare($sql); + foreach ($paramValueMap as $param => $v) { + $stmt->bindValue($param, $v); + } + $rows = array(); + if ($stmt->execute()) { + if ($type == 'single') { + $rows = $stmt->fetch(PDO::FETCH_ASSOC); + } else if ($type == 'column'){ + $rows = $stmt->fetchColumn(); + } else { + $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); + } + } else { + $msg = implode(',', $stmt->errorInfo()); + throw new Exception("Error: $msg"); + } + return $rows; + } +} \ No newline at end of file diff --git a/airtime_mvc/application/controllers/AudiopreviewController.php b/airtime_mvc/application/controllers/AudiopreviewController.php index f827bbf08..4a55d8576 100644 --- a/airtime_mvc/application/controllers/AudiopreviewController.php +++ b/airtime_mvc/application/controllers/AudiopreviewController.php @@ -278,7 +278,7 @@ class AudiopreviewController extends Zend_Controller_Action $elementMap = array( 'element_title' => isset($track['track_title']) ? $track['track_title'] : "", - 'element_artist' => isset($track['artist_name']) ? $track['artist_name'] : "", + 'element_artist' => isset($track['creator']) ? $track['creator'] : "", 'element_position' => $position, 'element_id' => ++$position, ); diff --git a/airtime_mvc/application/models/Show.php b/airtime_mvc/application/models/Show.php index 9fcaee13e..dd3a1e520 100644 --- a/airtime_mvc/application/models/Show.php +++ b/airtime_mvc/application/models/Show.php @@ -1832,7 +1832,7 @@ SELECT si.starts AS start_timestamp, s.url, starts, ends -FROM cc_show_instances si, +FROM cc_show_instances si LEFT JOIN cc_show s ON si.instance_id = s.id WHERE si.show_id = s.id @@ -1875,7 +1875,7 @@ SELECT si.starts AS start_timestamp, s.url, starts, ends -FROM cc_show_instances si, +FROM cc_show_instances si LEFT JOIN cc_show s ON si.instance_id = s.id WHERE si.show_id = s.id diff --git a/airtime_mvc/application/models/ShowInstance.php b/airtime_mvc/application/models/ShowInstance.php index 2d2b18894..b90051c7f 100644 --- a/airtime_mvc/application/models/ShowInstance.php +++ b/airtime_mvc/application/models/ShowInstance.php @@ -655,6 +655,9 @@ FROM ( 0::INTEGER as type , f.id AS item_id, f.track_title, + f.album_title AS album, + f.genre AS genre, + f.length AS length, f.artist_name AS creator, f.file_exists AS EXISTS, f.filepath AS filepath @@ -668,6 +671,9 @@ FROM ( 1::INTEGER as type, ws.id AS item_id, (ws.name || ': ' || ws.url) AS title, + null AS album, + null AS genre, + ws.length AS length, sub.login AS creator, 't'::boolean AS EXISTS, ws.url AS filepath @@ -688,8 +694,10 @@ SQL; $dt->setTimezone(new DateTimeZone(date_default_timezone_get())); $row["starts"] = $dt->format("Y-m-d H:i:s"); - $formatter = new LengthFormatter($row["clip_length"]); - $row["clip_length"] = $formatter->format(); + if (isset($row['length'])) { + $formatter = new LengthFormatter($row["length"]); + $row["length"] = $formatter->format(); + } } diff --git a/airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml b/airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml index 103796adc..a935f3f99 100644 --- a/airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml +++ b/airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml @@ -11,12 +11,12 @@ showContent as $row): ?> - " class=""> + " class=""> - - - + + + diff --git a/airtime_mvc/public/js/airtime/library/library.js b/airtime_mvc/public/js/airtime/library/library.js index c2d5f8e70..c37522d87 100644 --- a/airtime_mvc/public/js/airtime/library/library.js +++ b/airtime_mvc/public/js/airtime/library/library.js @@ -21,6 +21,7 @@ var AIRTIME = (function(AIRTIME) { "mtime" : "n", "lptime" : "n", "disc_number" : "n", + "encoded_by" : "s", "genre" : "s", "isrc_number" : "s", "label" : "s", @@ -406,7 +407,7 @@ var AIRTIME = (function(AIRTIME) { /* Bit Rate */ { "sTitle" : "Bit Rate" , "mDataProp" : "bit_rate" , "bVisible" : false , "sClass" : "library_bitrate" , "sWidth" : "80px" } , /* Sample Rate */ { "sTitle" : "Sample" , "mDataProp" : "sample_rate" , "bVisible" : false , "sClass" : "library_sr" , "sWidth" : "80px" } , /* ISRC Number */ { "sTitle" : "ISRC" , "mDataProp" : "isrc_number" , "bVisible" : false , "sClass" : "library_isrc" , "sWidth" : "150px" } , - /* Encoded */ { "sTitle" : "Encoded" , "mDataProp" : "encoded_by" , "bVisible" : false , "sClass" : "library_encoded" , "sWidth" : "150px" } , + /* Encoded */ { "sTitle" : "Encoded By" , "mDataProp" : "encoded_by" , "bVisible" : false , "sClass" : "library_encoded" , "sWidth" : "150px" } , /* Label */ { "sTitle" : "Label" , "mDataProp" : "label" , "bVisible" : false , "sClass" : "library_label" , "sWidth" : "125px" } , /* Copyright */ { "sTitle" : "Copyright" , "mDataProp" : "copyright" , "bVisible" : false , "sClass" : "library_copyright" , "sWidth" : "125px" } , /* Mime */ { "sTitle" : "Mime" , "mDataProp" : "mime" , "bVisible" : false , "sClass" : "library_mime" , "sWidth" : "80px" } ,