/** * This function deletes a dropbox category * * @todo give the user the possibility what needs to be done with the files in this category: move them to the root, download them as a zip, delete them * * @author Patrick Cool <*****@*****.**>, Ghent University * @version march 2006 */ function delete_category($action, $id, $user_id = null) { $course_id = api_get_course_int_id(); $is_courseAdmin = api_is_course_admin(); $is_courseTutor = api_is_course_tutor(); $dropbox_cnf = getDropboxConf(); if (empty($user_id)) { $user_id = api_get_user_id(); } $cat = get_dropbox_category($id); if (count($cat) == 0) { return false; } if ($cat['user_id'] != $user_id && !api_is_platform_admin($user_id)) { return false; } // an additional check that might not be necessary if ($action == 'deletereceivedcategory') { $sentreceived = 'received'; $entries_table = $dropbox_cnf['tbl_post']; $id_field = 'file_id'; $return_message = get_lang('ReceivedCatgoryDeleted'); } elseif ($action == 'deletesentcategory') { $sentreceived = 'sent'; $entries_table = $dropbox_cnf['tbl_file']; $id_field = 'id'; $return_message = get_lang('SentCatgoryDeleted'); } else { return get_lang('Error'); } // step 1: delete the category $sql = "DELETE FROM " . $dropbox_cnf['tbl_category'] . " WHERE c_id = {$course_id} AND cat_id='" . intval($id) . "' AND {$sentreceived}='1'"; Database::query($sql); // step 2: delete all the documents in this category $sql = "SELECT * FROM " . $entries_table . " WHERE c_id = {$course_id} AND cat_id='" . intval($id) . "'"; $result = Database::query($sql); while ($row = Database::fetch_array($result)) { $dropboxfile = new Dropbox_Person($user_id, $is_courseAdmin, $is_courseTutor); if ($action == 'deletereceivedcategory') { $dropboxfile->deleteReceivedWork($row[$id_field]); } if ($action == 'deletesentcategory') { $dropboxfile->deleteSentWork($row[$id_field]); } } return $return_message; }
if (api_get_session_id() != 0 && !api_is_allowed_to_session_edit(false, true)) { api_not_allowed(); } display_move_form(str_replace('move', '', $action), $_GET['move_id'], get_dropbox_categories(str_replace('move', '', $action)), $sort_params, $viewReceivedCategory, $viewSentCategory, $view); } if (isset($_POST['do_move'])) { Display::display_confirmation_message(store_move($_POST['id'], $_POST['move_target'], $_POST['part'])); } // Delete a file if (($action == 'deletereceivedfile' or $action == 'deletesentfile') and isset($_GET['id']) and is_numeric($_GET['id'])) { if (api_get_session_id() != 0 && !api_is_allowed_to_session_edit(false, true)) { api_not_allowed(); } $dropboxfile = new Dropbox_Person(api_get_user_id(), $is_courseAdmin, $is_courseTutor); if ($action == 'deletereceivedfile') { $dropboxfile->deleteReceivedWork($_GET['id']); $message = get_lang('ReceivedFileDeleted'); } if ($action == 'deletesentfile') { $dropboxfile->deleteSentWork($_GET['id']); $message = get_lang('SentFileDeleted'); } Display::display_confirmation_message($message); } // Delete a category if (($action == 'deletereceivedcategory' or $action == 'deletesentcategory') and isset($_GET['id']) and is_numeric($_GET['id'])) { if (api_get_session_id() != 0 && !api_is_allowed_to_session_edit(false, true)) { api_not_allowed(); } $message = delete_category($action, $_GET['id']); Display::display_confirmation_message($message);
} if (isset($_SESSION['sentOrder'])) { $dropbox_person->orderSentWork($_SESSION['sentOrder']); } if (isset($_SESSION['receivedOrder'])) { $dropbox_person->orderReceivedWork($_SESSION['receivedOrder']); } /*if (!$dropbox_person->isCourseAdmin || ! $dropbox_person->isCourseTutor) { die(get_lang('GeneralError').' (code 408)'); }*/ $tellUser = get_lang('FileDeleted'); if (isset($_GET['deleteReceived'])) { if ($_GET['deleteReceived'] == 'all') { $dropbox_person->deleteAllReceivedWork(); } elseif (is_numeric($_GET['deleteReceived'])) { $dropbox_person->deleteReceivedWork($_GET['deleteReceived']); } else { die(get_lang('GeneralError') . ' (code 409)'); } } elseif (isset($_GET['deleteSent'])) { if ($_GET['deleteSent'] == 'all') { $dropbox_person->deleteAllSentWork(); } elseif (is_numeric($_GET['deleteSent'])) { $dropbox_person->deleteSentWork($_GET['deleteSent']); } else { die(get_lang('GeneralError') . ' (code 410)'); } } elseif (isset($_GET['showFeedback'])) { $w = new Dropbox_SentWork($id = $_GET['showFeedback']); if ($w->uploader_id != $_user['user_id']) { getUserOwningThisMailing($w->uploader_id, $_user['user_id'], '411');