Ejemplo n.º 1
0
$error_message = '';
if (isset($_POST['formSent']) && $_POST['formSent'] and $_FILES['import_file']['size'] !== 0) {
    $file_type = 'csv';
    Security::clear_token();
    $tok = Security::get_token();
    $allowed_file_mimetype = array('csv', 'xml');
    $error_kind_file = false;
    $uploadInfo = pathinfo($_FILES['import_file']['name']);
    $ext_import_file = $uploadInfo['extension'];
    if (in_array($ext_import_file, $allowed_file_mimetype)) {
        if (strcmp($file_type, 'csv') === 0 && $ext_import_file == $allowed_file_mimetype[0]) {
            $users = parse_csv_data($_FILES['import_file']['tmp_name']);
            $errors = validate_data($users);
            $error_kind_file = false;
        } elseif (strcmp($file_type, 'xml') === 0 && $ext_import_file == $allowed_file_mimetype[1]) {
            $users = parse_xml_data($_FILES['import_file']['tmp_name']);
            $errors = validate_data($users);
            $error_kind_file = false;
        } else {
            $error_kind_file = true;
        }
    } else {
        $error_kind_file = true;
    }
    // List user id with error.
    $users_to_insert = $user_id_error = array();
    if (is_array($errors)) {
        foreach ($errors as $my_errors) {
            $user_id_error[] = $my_errors['UserName'];
        }
    }
Ejemplo n.º 2
0
if (isset($_GET['import'])) {
    $interbreadcrumb[] = array('url' => 'gradebook_view_result.php?selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&' . api_get_cidreq(), 'name' => get_lang('ViewResult'));
    $import_result_form = new DataForm(DataForm::TYPE_IMPORT, 'import_result_form', null, api_get_self() . '?import=&selecteval=' . Security::remove_XSS($_GET['selecteval']), '_blank', '');
    if (!$import_result_form->validate()) {
        Display::display_header(get_lang('Import'));
    }
    $eval[0]->check_lock_permissions();
    if ($_POST['formSent']) {
        if (!empty($_FILES['import_file']['name'])) {
            $values = $import_result_form->exportValues();
            $file_type = $_POST['file_type'];
            $file_name = $_FILES['import_file']['tmp_name'];
            if ($file_type == 'csv') {
                $results = Import::csvToArray($file_name);
            } else {
                $results = parse_xml_data($file_name);
            }
            $nr_results_added = 0;
            foreach ($results as $index => $importedresult) {
                //check username & score
                $importedresult['user_id'] = UserManager::get_user_id_from_username($importedresult['username']);
                $added = '0';
                foreach ($allresults as $allresult) {
                    if ($importedresult['user_id'] == $allresult->get_user_id()) {
                        if ($importedresult['score'] != $allresult->get_score()) {
                            if (!isset($values['overwrite'])) {
                                header('Location: gradebook_view_result.php?selecteval=' . Security::remove_XSS($_GET['selecteval']) . '&import_score_error=' . $importedresult['user_id']);
                                exit;
                                break;
                            } else {
                                GradebookUtils::overwritescore($allresult->get_id(), $importedresult['score'], $eval[0]->get_max());