/**
* 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;
}
Example #2
0
    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');