function filedepotAjaxServer_deleteFile in filedepot 6
Same name and namespace in other branches
- 7 lib-ajaxserver.php \filedepotAjaxServer_deleteFile()
1 call to filedepotAjaxServer_deleteFile()
- filedepot_dispatcher in ./
ajaxserver.php - @file ajaxserver.php Implementation of filedepot_ajax() - main ajax handler for the module
File
- ./
lib-ajaxserver.php, line 845 - lib-ajaxserver.php Library functions for the ajax_server
Code
function filedepotAjaxServer_deleteFile($fid) {
$filedepot = filedepot_filedepot();
$retval = array();
$reportmode = check_plain($_POST['reportmode']);
$listing_folder = intval($_POST['listingcid']);
$filedepot->cid = $listing_folder;
$filedepot->activeview = $reportmode;
$retval['fid'] = $fid;
if ($reportmode == 'approvals') {
$retval['cid'] = db_result(db_query("SELECT cid FROM {filedepot_filesubmissions} WHERE id=%d", $fid));
}
elseif ($reportmode == 'incoming') {
$cckfid = db_result(db_query("SELECT cckfid FROM {filedepot_import_queue} WHERE id=%d", $fid));
}
else {
$retval['cid'] = db_result(db_query("SELECT cid FROM {filedepot_files} WHERE fid=%d", $fid));
}
$message = '';
if ($reportmode == 'approvals' and $filedepot
->checkPermission($retval['cid'], 'approval')) {
if ($filedepot
->deleteSubmission($fid)) {
$retval['retcode'] = 200;
$message = '<div class="pluginInfo aligncenter" style="width:100%;height:60px;padding-top:30px;">';
$message .= t('File was sucessfully deleted. This message will clear in a couple seconds');
$message .= '</div>';
$retval['displayhtml'] = filedepot_displayFolderListing($listing_folder);
}
else {
$retval['retcode'] = 500;
}
}
elseif ($reportmode == 'incoming') {
if ($cckfid > 0) {
$filepath = db_result(db_query("SELECT filepath FROM {files} WHERE fid=%d", $cckfid));
if (!empty($filepath) and file_exists($filepath)) {
@unlink($filepath);
}
db_query("DELETE FROM {files} WHERE fid=%d", $cckfid);
db_query("DELETE FROM {filedepot_import_queue} WHERE id=%d", $fid);
$retval['retcode'] = 200;
$filedepot->activeview = 'incoming';
$retval['displayhtml'] = filedepot_displayFolderListing();
$retval = filedepotAjaxServer_generateLeftSideNavigation($retval);
}
else {
$retval['retcode'] = 500;
}
}
elseif ($filedepot
->deleteFile($fid)) {
/* Includes security tests that user can delete this file */
if (!in_array($reportmode, $filedepot->validReportingModes)) {
$filedepot->ajaxBackgroundMode = TRUE;
}
$retval['retcode'] = 200;
$message = '<div class="pluginInfo aligncenter" style="width:100%;height:60px;padding-top:30px;">';
$message .= t('File was sucessfully deleted. This message will clear in a couple seconds');
$message .= '</div>';
$retval['displayhtml'] = filedepot_displayFolderListing($listing_folder);
if (is_array($filedepot->lastRenderedFiles) and count($filedepot->lastRenderedFiles) > 0) {
$retval['lastrenderedfiles'] = json_encode($filedepot->lastRenderedFiles);
}
}
else {
$retval['retcode'] = 404;
}
$retval['message'] = $message;
$retval['title'] = t('Delete Confirmation');
return $retval;
}