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; }