Exemple #1
0
/**
 * This function empties all classes,
 * remove link between classes and users
 * delete related users from related courses
 */
function empty_all_class()
{
    $tbl = claro_sql_get_main_tbl();
    $sql = "\n        SELECT id FROM `" . $tbl['class'] . "`";
    $searchResultList = claro_sql_query_fetch_all($sql);
    foreach ($searchResultList as $thisClass) {
        $classId = $thisClass['id'];
        // find all the students enrolled in that class
        $sql2 = "\n            SELECT user_id from `" . $tbl['rel_class_user'] . "`\n            WHERE class_id = '" . claro_sql_escape($classId) . "'";
        $thisClassUser = claro_sql_query_fetch_all($sql2);
        // Find all the courses to whom the class is enrolled
        $sql2 = "\n            SELECT courseId\n            FROM `" . $tbl['rel_course_class'] . "`\n            WHERE classId = '" . claro_sql_escape($classId) . "'";
        $searchResultList2 = claro_sql_query_fetch_all($sql2);
        foreach ($searchResultList2 as $thisCourse) {
            $courseCode = $thisCourse['courseId'];
            foreach ($thisClassUser as $thisUser) {
                $user_id = $thisUser['user_id'];
                if (!user_remove_from_course($user_id, $courseCode, false, false, $classId)) {
                    return claro_failure::set_failure('PROBLEM_WITH_COURSE_UNSUSCRIBTION ' . $user_id . ' ' . $courseCode);
                    //TODO : ameliorer la detection d'erreur
                }
            }
        }
        class_remove_all_users($classId);
    }
    return true;
}
Exemple #2
0
$class_id = isset($_REQUEST['class_id']) ? (int) $_REQUEST['class_id'] : 0;
$search = isset($_REQUEST['search']) ? trim($_REQUEST['search']) : null;
// find info about the class
if (($classinfo = class_get_properties($class_id)) === false) {
    $class_id = 0;
}
$dialogBox = new DialogBox();
if (!empty($class_id)) {
    switch ($cmd) {
        case 'unsubscribe':
            if (user_remove_to_class($user_id, $class_id)) {
                $dialogBox->success(get_lang('User has been sucessfully unregistered from the class'));
            }
            break;
        case 'unsubscribe_all':
            if (class_remove_all_users($class_id)) {
                $dialogBox->success(get_lang('All users have been sucessfully unregistered from the class'));
            }
            break;
        case 'export':
            if ($cmd == 'export' && claro_is_platform_admin()) {
                require_once dirname(__FILE__) . '/../user/lib/export.lib.php';
                $csv = export_user_list_for_class($class_id);
                if (!empty($csv)) {
                    claro_send_stream($csv, $classinfo['name'] . '.csv');
                    exit;
                }
            }
            break;
        default:
            // No command