function filedepotAjaxServer_deleteFile in filedepot 7
Same name and namespace in other branches
- 6 lib-ajaxserver.php \filedepotAjaxServer_deleteFile()
1 call to filedepotAjaxServer_deleteFile()
File
- ./
lib-ajaxserver.php, line 1111 - 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_query("SELECT cid FROM {filedepot_filesubmissions} WHERE id=:fid", array(
':fid' => $fid,
))
->fetchField();
}
elseif ($reportmode == 'incoming') {
$drupal_fid = db_query("SELECT drupal_fid FROM {filedepot_import_queue} WHERE id=:fid", array(
':fid' => $fid,
))
->fetchField();
}
else {
$retval['cid'] = db_query("SELECT cid FROM {filedepot_files} WHERE fid=:fid", array(
':fid' => $fid,
))
->fetchField();
}
$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 ($drupal_fid > 0) {
$filepath = db_query("SELECT filepath FROM {files} WHERE fid=:fid", array(
':fid' => $drupal_fid,
))
->fetchField();
if (!empty($filepath) and file_exists($filepath)) {
@unlink($filepath);
}
db_query("DELETE FROM {files} WHERE fid=:fid", array(
':fid' => $drupal_fid,
));
db_query("DELETE FROM {filedepot_import_queue} WHERE id=:fid", array(
':fid' => $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;
}