[ 'name' => $fileInfo['basename'], 'tmp_name' => $documentPath, 'size' => filesize($documentPath), 'type' => 'audio/wav', 'from_file' => true, ], ]; $output = true; ob_start(); // Strangely the file path changes with a double extension copy($documentPath, $documentPath.'.wav'); $documentData = DocumentManager::upload_document( $file, $wamidir, $fileInfo['basename'], 'wav', 0, 'overwrite', false, $output ); $contents = ob_get_contents(); if (!empty($documentData)) { $newDocId = $documentData['id']; $documentData['comment'] = 'mp3'; $newMp3DocumentId = DocumentManager::addAndConvertWavToMp3( $documentData, $courseInfo, api_get_session_id(), api_get_user_id(), 'overwrite', true ); if ($newMp3DocumentId) { $newDocId = $newMp3DocumentId; } if (isset($_REQUEST['lp_item_id']) && !empty($_REQUEST['lp_item_id'])) { $lpItemId = $_REQUEST['lp_item_id']; /** @var learnpath $lp */ $lp = Session::read('oLP'); if (!empty($lp)) { $lp->set_modified_on(); $lpItem = new learnpathItem($lpItemId); $lpItem->add_audio_from_documents($newDocId); echo Display::return_message(get_lang('Update successful'), 'info'); } } // Strangely the file path changes with a double extension // Remove file with one extension unlink($documentPath); } else { echo $contents; } break; case 'message': $tempFile = api_get_path(SYS_ARCHIVE_PATH).$waminame; file_put_contents($tempFile, $content); Session::write('current_audio_id', $waminame); $file = [ 'name' => basename($tempFile), 'tmp_name' => $tempFile, 'size' => filesize($tempFile), 'type' => 'audio/wav', 'move_file' => true, ]; api_upload_file('audio_message', $file, api_get_user_id()); break; }