Skip to content

Commit

Permalink
Deleting wav file if mp3 conversion succeded see BT#6613
Browse files Browse the repository at this point in the history
  • Loading branch information
jmontoyaa committed Nov 3, 2014
1 parent 51a76ee commit e344aae
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 16 deletions.
47 changes: 37 additions & 10 deletions main/inc/lib/document.lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -1241,7 +1241,6 @@ public static function delete_document(
}
}
}

// Checking inconsistency
//error_log('Doc status: (1 del db :'.($file_deleted_from_db?'yes':'no').') - (2 del disk: '.($file_deleted_from_disk?'yes':'no').') - (3 ren disk: '.($file_renamed_from_disk?'yes':'no').')');
if ($file_deleted_from_db && $file_deleted_from_disk ||
Expand Down Expand Up @@ -1363,6 +1362,7 @@ public static function get_document_data_by_id(
$id = intval($id);
$sql = "SELECT * FROM $TABLE_DOCUMENT
WHERE c_id = $course_id AND session_id = $session_id AND id = $id";

$result = Database::query($sql);
if ($result && Database::num_rows($result) == 1) {
$row = Database::fetch_array($result, 'ASSOC');
Expand Down Expand Up @@ -4203,18 +4203,20 @@ public static function readNanogongFile($file)
/**
* @param string $filePath
* @param string $path
* @param $courseInfo
* @param array $courseInfo
* @param int $sessionId
* @param string $whatIfFileExists overwrite|rename
* @param null $userId
* @param null $groupId
* @param null $toUserId
* @param int $userId
* @param int $groupId
* @param int $toUserId
* @param string $comment
* @return bool|path
*/
public static function addFileToDocumentTool(
$filePath,
$path,
$courseInfo,
$sessionId,
$userId,
$whatIfFileExists = 'overwrite',
$groupId = null,
Expand Down Expand Up @@ -4249,11 +4251,16 @@ public static function addFileToDocumentTool(
$whatIfFileExists,
false,
false,
$comment
$comment,
$sessionId
);

if ($filePath) {
return DocumentManager::get_document_id($courseInfo, $filePath);
return DocumentManager::get_document_id(
$courseInfo,
$filePath,
$sessionId
);
}
return false;
}
Expand Down Expand Up @@ -4292,16 +4299,21 @@ public static function convertWavToMp3($wavFile, $removeWavFileIfSuccess = false
}

/**
* @param string $documentData
* @param string $documentData wav document information
* @param array $courseInfo
* @param int $sessionId
* @param int $userId user that adds the document
* @param string $whatIfFileExists
* @param bool $deleteWavFile
* @return bool|path
*/
public static function addAndConvertWavToMp3(
$documentData,
$courseInfo,
$sessionId,
$userId,
$whatIfFileExists = 'overwrite'
$whatIfFileExists = 'overwrite',
$deleteWavFile = false
) {
if (empty($documentData)) {
return false;
Expand All @@ -4311,12 +4323,14 @@ public static function addAndConvertWavToMp3(
file_exists($documentData['absolute_path'])
) {
$mp3FilePath = self::convertWavToMp3($documentData['absolute_path']);
if (!empty($mp3FilePath)) {

if (!empty($mp3FilePath) && file_exists($mp3FilePath)) {

$documentId = self::addFileToDocumentTool(
$mp3FilePath,
dirname($documentData['path']),
$courseInfo,
$sessionId,
$userId,
$whatIfFileExists,
null,
Expand All @@ -4325,6 +4339,19 @@ public static function addAndConvertWavToMp3(
);

if (!empty($documentId)) {

if ($deleteWavFile) {
$coursePath = $courseInfo['directory'].'/document';
$documentPath = api_get_path(SYS_COURSE_PATH).$coursePath;
self::delete_document(
$courseInfo,
null,
$documentPath,
$sessionId,
$documentData['id']
);
}

return $documentId;
}
}
Expand Down
11 changes: 8 additions & 3 deletions main/inc/lib/fileUpload.lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -195,17 +195,22 @@ function handle_uploaded_document(
$what_if_file_exists = '',
$output = true,
$onlyUploadFile = false,
$comment = null
$comment = null,
$sessionId = null
) {
if (!$user_id) {
return false;
}

// Strip slashes
$uploaded_file['name'] = stripslashes($uploaded_file['name']);
// Add extension to files without one (if possible)
$uploaded_file['name'] = add_ext_on_mime($uploaded_file['name'], $uploaded_file['type']);
$current_session_id = api_get_session_id();

if (empty($sessionId)) {
$current_session_id = api_get_session_id();
} else {
$current_session_id = intval($sessionId);
}

// Just in case process_uploaded_file is not called
$max_filled_space = DocumentManager::get_course_quota();
Expand Down
12 changes: 10 additions & 2 deletions main/inc/lib/nanogong/upload_nanogong_file.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,15 @@

if (!empty($documentData)) {
$newDocId = $documentData['id'];
$newMp3DocumentId = DocumentManager::addAndConvertWavToMp3($documentData, $courseInfo, api_get_user_id());
$newMp3DocumentId = DocumentManager::addAndConvertWavToMp3(
$documentData,
$courseInfo,
api_get_session_id(),
api_get_user_id(),
'overwrite',
true
);

if ($newMp3DocumentId) {
$newDocId = $newMp3DocumentId;
}
Expand All @@ -53,4 +61,4 @@
$lpItem->add_audio_from_documents($newDocId);
}
}
}
}
5 changes: 4 additions & 1 deletion main/inc/lib/wami-recorder/record_document.php
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,10 @@
$newMp3DocumentId = DocumentManager::addAndConvertWavToMp3(
$documentData,
$courseInfo,
api_get_user_id()
api_get_session_id(),
api_get_user_id(),
'overwrite',
true
);

if ($newMp3DocumentId) {
Expand Down

0 comments on commit e344aae

Please sign in to comment.