public function get_audio() { if (!is_null($this->audioid)) { return Audio::get_by_id($this->audioid); } }
<?php if (Session::is_group_user("Music Admin")) { $track_id = (int) $_REQUEST["id"]; $track = Audio::get_by_id($track_id); $md5 = $track->get_md5(); $archive = $track->get_archive(); $dir = $archive->get_localpath(); $folder = $md5[0]; $files = array(0 => ".flac", 1 => ".xml"); $tables = array(0 => 'audioartists', 1 => 'audiocomments', 2 => 'audiodir', 3 => 'audiogroups', 4 => 'audiojinglepkgs', 5 => 'audiokeywords', 6 => 'audioplaylists', 7 => 'audiousers'); $wherepre = "audioid = " . $track_id; $where = pg_escape_string($wherepre); $track_id_escaped = pg_escape_string($track_id); DigiplayDB::delete('audio', "id = " . $track_id_escaped); foreach ($tables as $table) { DigiplayDB::delete($table, $where); } foreach ($files as $file) { $path = $dir . "/" . $folder . "/" . $md5 . $file; $cmd = "rm " . $path; shell_exec($cmd); } if (Errors::occured()) { http_response_code(400); exit(json_encode(array("error" => "Something went wrong. You may have discovered a bug!", "detail" => Errors::report("array")))); Errors::clear(); } else { exit(json_encode(array('response' => 'success', 'id' => 1))); } } else {
public function get_audio() { return Audio::get_by_id($this->audio_id); }
public function get_audio() { return Audio::get_by_id($audioid); }
$current = true; } } $return .= "<div class=\"showplan-audio panel " . ($current ? "panel-primary" : "panel-default") . "\" data-item-id=\"" . $item->get_id() . "\">\r\n\t\t\t\t\t<div class=\"panel-heading\" data-toggle=\"collapse\">\r\n\t\t\t\t\t\t<h4 class=\"panel-title\">\r\n\t\t\t\t\t\t\t<div class=\"pull-right\">\r\n\t\t\t\t\t\t\t\t<div class=\"controls\">" . Bootstrap::glyphicon("remove") . "</div>\r\n\t\t\t\t\t\t\t\t<div class=\"duration\">" . Time::format_succinct($audio->get_length()) . "</div></div>\r\n\t\t\t\t\t\t\t" . Bootstrap::glyphicon($type) . ($audio->get_artists() ? $audio->get_artists_str() . " - " : "") . $audio->get_title() . "\r\n\t\t\t\t\t\t</h4>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>"; } if ($script = $item->get_script()) { $return .= "<div class=\"showplan-script panel panel-default\" data-item-id=\"" . $item->get_id() . "\">\r\n\t\t\t\t\t<div class=\"panel-heading\" data-toggle=\"collapse\" href=\"#item-" . $item->get_id() . "-toggle\">\r\n\t\t\t\t\t\t<h4 class=\"panel-title\">\r\n\t\t\t\t\t\t\t<div class=\"pull-right\">\r\n\t\t\t\t\t\t\t\t<div class=\"controls\">" . Bootstrap::glyphicon("remove") . "</div>\r\n\t\t\t\t\t\t\t\t<div class=\"duration\">" . ($script->get_length() > 0 ? Time::format_succinct($script->get_length()) : "") . "</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t" . Bootstrap::glyphicon("file") . $script->get_name() . "\r\n\t\t\t\t\t\t</h4>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div id=\"item-" . $item->get_id() . "-toggle\" class=\"panel-collapse collapse\">\r\n\t\t\t\t\t\t<div class=\"panel-body\">\r\n\t\t\t\t\t\t\t" . $script->get_contents() . "\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>"; } } $return .= "</div>"; echo $return; break; case "showplan-append": $showplan = Showplans::get_by_id($location->get_config("default_showplan")->get_val()); $item = new ShowplanItem(); $audio = Audio::get_by_id($_REQUEST["id"]); if (!$audio) { exit(json_encode(array("response" => "invalid"))); } $item->set_title($audio->get_title()); $item->set_audio($audio); $item->set_position($showplan->get_end_position()); $item->set_length(round($audio->get_length())); $item->set_showplan($showplan); $item->save(); echo json_encode(array("response" => "success")); break; case "showplan-append-script": $showplan = Showplans::get_by_id($location->get_config("default_showplan")->get_val()); $item = new ShowplanItem(); $script = Scripts::get_by_id($_REQUEST["id"]);
<?php Output::set_template(); if (is_numeric($_GET["id"])) { $audio = Audio::get_by_id($_GET["id"]); } else { $audio = Audio::get_by_md5($_GET["id"]); } $filetypes = array("mp3" => "audio/mpeg", "flac" => "audio/flac", "wav" => "audio/wav"); if (array_key_exists($_GET["filetype"], $filetypes)) { $filetype = $_GET["filetype"]; $mimetype = $filetypes[$_GET["filetype"]]; } else { exit(http_response_code(400)); } if (!Session::is_group_user("Music Admin")) { if (!isset($_GET["key"]) || is_null(Locations::get_by_key($_GET["key"]))) { exit(http_response_code(401)); } } $md5 = $audio->get_md5(); $fl = substr($md5, 0, 1); header("Content-type: " . $filetype); header("accept-ranges: bytes"); if ($filetype == "flac") { header("Content-Length: " . filesize($audio->get_archive()->get_localpath() . "/" . $fl . "/" . $md5 . ".flac")); } if ($filetype == "mp3") { header("Content-Length: " . 32000 * $audio->get_length()); } if ($filetype == "wav") {
<?php if (Session::is_group_user('Sustainer Admin')) { $slots = SustainerSlots::get_all(); foreach ($slots as $slot) { $compareValue = "slot-" . $slot->get_day() . "-" . $slot->get_time(); if ($compareValue == $_REQUEST["updateid"]) { if ((int) $_REQUEST["prerecordid"] == 0) { $slot->set_audio_id((int) $_REQUEST["prerecordid"]); $slot->save(); $returnID = 0; break; } if (!($audioid = Audio::get_by_id((int) $_REQUEST["prerecordid"]))) { exit(json_encode(array('error' => 'Invalid audio ID.'))); } if ((int) $_REQUEST["prerecordid"] != $slot->get_audio_id()) { $slot->set_audio_id((int) $_REQUEST["prerecordid"]); $slot->save(); } $returnID = $audioid->get_id(); break; } } if (Errors::occured()) { http_response_code(400); exit(json_encode(array("error" => "Something went wrong. You may have discovered a bug!", "detail" => Errors::report("array")))); Errors::clear(); } else { exit(json_encode(array('response' => 'success', 'id' => $returnID))); }