/**
  * return content for mass enrolment page.
  */
 public function page_mass_enrol()
 {
     global $CFG, $USER;
     require_once $CFG->libdir . '/csvlib.class.php';
     require_once $CFG->dirroot . '/local/mass_enroll/mass_enroll_form.php';
     require_once $CFG->dirroot . '/local/mass_enroll/lib.php';
     $course = $this->page->course;
     $context = $this->page->context;
     $mform = new mass_enroll_form(new moodle_url($CFG->wwwroot . '/local/mass_enroll/mass_enroll.php'), array('course' => $course, 'context' => $context));
     $currenttab = 'mass_enroll';
     $out = '';
     $strinscriptions = get_string('mass_enroll', 'local_mass_enroll');
     if ($mform->is_cancelled()) {
         redirect(new moodle_url('/course/view.php', array('id' => $course->id)));
     } else {
         if ($data = $mform->get_data(false)) {
             $content = $mform->get_file_content('attachment');
             $iid = csv_import_reader::get_new_iid('uploaduser');
             $cir = new csv_import_reader($iid, 'uploaduser');
             $readcount = $cir->load_csv_content($content, $data->encoding, $data->delimiter_name);
             unset($content);
             $returnurl = $this->page->url;
             if ($readcount === false) {
                 print_error('csvloaderror', '', $returnurl);
             } else {
                 if ($readcount == 0) {
                     print_error('csvemptyfile', 'error', $returnurl);
                 }
             }
             $result = mass_enroll($cir, $course, $context, $data);
             $cir->close();
             $cir->cleanup(false);
             // Only currently uploaded CSV file.
             if ($data->mailreport) {
                 $a = new stdClass();
                 $a->course = $course->fullname;
                 $a->report = $result;
                 email_to_user($USER, $USER, get_string('mail_enrolment_subject', 'local_mass_enroll', $CFG->wwwroot), get_string('mail_enrolment', 'local_mass_enroll', $a));
                 $result .= "\n" . get_string('email_sent', 'local_mass_enroll', $USER->email);
             }
             $out .= $this->header();
             $out .= $this->get_tabs($context, $currenttab, array('id' => $course->id));
             $out .= $this->heading($strinscriptions);
             $out .= $this->box(nl2br($result), 'center');
             $out .= $this->continue_button($this->page->url);
             // Back to this page.
             $out .= $this->footer($course);
             return $out;
         }
     }
     $out .= $this->header();
     $out .= $this->get_tabs($context, $currenttab, array('id' => $course->id));
     $out .= $this->heading_with_help($strinscriptions, 'mass_enroll', 'local_mass_enroll', 'icon', get_string('mass_enroll', 'local_mass_enroll'));
     $out .= $this->box(get_string('mass_enroll_info', 'local_mass_enroll'), 'center');
     $out .= $mform->render();
     $out .= $this->footer($course);
     return $out;
 }
    $iid = csv_import_reader::get_new_iid('uploaduser');
    $cir = new csv_import_reader($iid, 'uploaduser');

    $content = $mform->get_file_content('attachment');

    $readcount = $cir->load_csv_content($content, $data->encoding, $data->delimiter_name);
    unset($content);

    if ($readcount === false) {
        print_error('csvloaderror', '', $returnurl);
    } else if ($readcount == 0) {
        print_error('csvemptyfile', 'error', $returnurl);
    }

    $result = mass_enroll($cir, $course, $context, $data);
    
    $cir->close();
    $cir->cleanup(false); // only currently uploaded CSV file 

    if ($data->mailreport) {
        $a = new StdClass();
        $a->course = $course->fullname;
        $a->report = $result;
        email_to_user($USER, $USER, get_string('mail_enrolment_subject', 'local_mass_enroll', $CFG->wwwroot),
        get_string('mail_enrolment', 'local_mass_enroll', $a));
        $result .= "\n" . get_string('email_sent', 'local_mass_enroll', $USER->email);
    }

    echo $OUTPUT->box(nl2br($result), 'center');