/** * Sets jingle of the station. * @use $config['audioFormats'] */ function setJingle($filename, $copy = false) { global $config, $page; $source = $filename; if (!is_file($source)) { raiseError("no such file: {$source}"); } $srcFile = new sotf_AudioFile($source); $target = $this->getMetaDir() . '/jingle_' . $srcFile->getFormatFilename(); debug("jingle file", $target); if ($srcFile->type != 'audio') { raiseError("this is not an audio file"); } if (is_file($target)) { raiseError($page->getlocalized('format_already_present')); } if ($copy) { $success = copy($source, $target); } else { $success = rename($source, $target); } if (!$success) { raiseError("could not copy/move {$source}"); } return true; //TODO? save into database }
function saveFileInfo($filepath, $mainContent = false) { global $db; // convert boolean into pgsql format if ($mainContent) { $mainContent = 'true'; } else { $mainContent = 'false'; } // get audio properties of file $file = new sotf_AudioFile($filepath); // find if this is an existing file if ($file->isAudio()) { $fileInfo = new sotf_NodeObject('sotf_media_files'); } else { $fileInfo = new sotf_NodeObject('sotf_other_files'); } $fileInfo->set("prog_id", $this->id); $fileInfo->set("filename", $file->name); $fileInfo->find(); // save file info into database if ($file->isAudio()) { $fileInfo->set('play_length', round($file->duration)); $fileInfo->set('type', $file->type); if (is_numeric($file->bitrate)) { // constant bitrate $fileInfo->set('kbps', round($file->bitrate)); $fileInfo->set('vbr', 'f'); } else { // variable bitrate $fileInfo->set('kbps', round($file->average_bitrate)); $fileInfo->set('vbr', 't'); } $fileInfo->set('format', $file->getFormatFilename()); $fileInfo->set('main_content', $mainContent); } $fstat = stat($filepath); $fileInfo->set('filesize', $fstat['size']); $fileInfo->set('last_modified', $db->getTimestampTz($fstat['mtime'])); $fileInfo->set('mime_type', $file->mimetype); $success = $fileInfo->save(); //if(!$success) // raiseError("could not write into database"); // change id3 tags in file $this->saveID3($file); return $fileInfo->id; }
function setAudio($filename, $copy = false) { global $user; $filename = sotf_Utils::getFileFromPath($filename); $source = $user->getUserDir() . '/' . $filename; if (!is_file($source)) { raiseError("no such file: {$source}"); } $srcFile = new sotf_AudioFile($source); $target = $this->getAudioDir() . '/' . 'prg_' . $srcFile->getFormatFilename(); if ($srcFile->type == audio) { if ($copy) { $success = copy($source, $target); } else { $success = rename($source, $target); } if (!$success) { raiseError("could not copy/move {$source}"); } return true; } return false; //$this->audioFiles->add($target); }