if ($instance->enrol == 'manual') {
                                     $updateinstance['status'] = 1;
                                 }
                             }
                         }
                         $DB->update_record('enrol', $updateinstance);
                     }
                 }
             }
         }
     }
     // Associate the company with the course.
     $company = new company($companyid);
     // Check if we are a company manager.
     if ($data->selfenrol != 2 && $DB->get_record('company_users', array('companyid' => $companyid, 'userid' => $USER->id, 'managertype' => 1))) {
         $company->add_course($course, 0, true);
     } else {
         if ($data->selfenrol == 2) {
             $company->add_course($course, 0, false, true);
         } else {
             $company->add_course($course);
         }
     }
     if (isset($data->submitandviewbutton)) {
         // We are going to the course instead.
         redirect(new moodle_url('/course/view.php', array('id' => $course->id)));
     } else {
         redirect($returnurl);
     }
 } else {
     $blockpage->display_header();
 public function process()
 {
     global $DB;
     $context = context_system::instance();
     // Get process ok to unenroll confirmation.
     $oktounenroll = optional_param('oktounenroll', false, PARAM_BOOL);
     // Process incoming assignments.
     if (optional_param('add', false, PARAM_BOOL) && confirm_sesskey()) {
         $coursestoassign = $this->potentialcourses->get_selected_courses();
         if (!empty($coursestoassign)) {
             $company = new company($this->selectedcompany);
             foreach ($coursestoassign as $addcourse) {
                 // Check if its a shared course.
                 if ($DB->get_record_sql("SELECT id FROM {iomad_courses}\n                                             WHERE courseid={$addcourse->id}\n                                             AND shared != 0")) {
                     if ($companycourserecord = $DB->get_record('company_course', array('companyid' => $this->selectedcompany, 'courseid' => $addcourse->id))) {
                         // Already assigned to the company so we are just moving it within it.
                         $companycourserecord->departmentid = $this->departmentid;
                         $DB->update_record('company_course', $companycourserecord);
                     } else {
                         $sharingrecord = new object();
                         $sharingrecord->courseid = $addcourse->id;
                         $sharingrecord->companyid = $company->id;
                         $DB->insert_record('company_shared_courses', $sharingrecord);
                         if ($this->departmentid != $this->companydepartment) {
                             $company->add_course($addcourse, $this->departmentid);
                         } else {
                             $company->add_course($addcourse, $this->companydepartment);
                         }
                     }
                 } else {
                     // If company has enrollment then we must have BOTH
                     // oktounenroll true and the company_course_unenrol capability.
                     if (!empty($addcourse->has_enrollments)) {
                         if (iomad::has_capability('block/iomad_company_admin:company_course_unenrol', $context) and $oktounenroll) {
                             $this->unenroll_all($addcourse->id);
                             $company->add_course($addcourse);
                         }
                     } else {
                         if ($companycourserecord = $DB->get_record('company_course', array('companyid' => $this->selectedcompany, 'courseid' => $addcourse->id))) {
                             $companycourserecord->departmentid = $this->departmentid;
                             $DB->update_record('company_course', $companycourserecord);
                         } else {
                             if ($this->departmentid != $this->companydepartment) {
                                 $company->add_course($addcourse, $this->departmentid);
                             } else {
                                 $company->add_course($addcourse, $this->companydepartment);
                             }
                         }
                     }
                 }
             }
             $this->potentialcourses->invalidate_selected_courses();
             $this->currentcourses->invalidate_selected_courses();
         }
     }
     // Process incoming unassignments.
     if (optional_param('remove', false, PARAM_BOOL) && confirm_sesskey()) {
         $coursestounassign = $this->currentcourses->get_selected_courses();
         if (!empty($coursestounassign)) {
             $company = new company($this->selectedcompany);
             foreach ($coursestounassign as $removecourse) {
                 // Check if its a shared course.
                 if ($DB->get_record_sql("SELECT id FROM {iomad_courses}\n                                             WHERE courseid=:removecourse\n                                             AND shared != 0", array('removecourse' => $removecourse->id))) {
                     $DB->delete_records('company_shared_courses', array('companyid' => $company->id, 'courseid' => $removecourse->id));
                     company::delete_company_course_group($company->id, $removecourse, $oktounenroll);
                 } else {
                     // If company has enrollment then we must have BOTH
                     // oktounenroll true and the company_course_unenrol capability.
                     if (!empty($removecourse->has_enrollments)) {
                         if (iomad::has_capability('block/iomad_company_admin:company_course_unenrol', $context) and $oktounenroll) {
                             $this->unenroll_all($removecourse->id);
                             if ($this->departmentid != $this->companydepartment) {
                                 // Dump it into the default company department.
                                 $company->remove_course($removecourse, $company->id, $this->companydepartment);
                             } else {
                                 // Remove it from the company.
                                 $company->remove_course($removecourse, $company->id);
                             }
                         }
                     } else {
                         if ($this->departmentid != $this->companydepartment) {
                             // Move the course to the company default department.
                             $company->remove_course($removecourse, $company->id, $this->companydepartment);
                         } else {
                             $company->remove_course($removecourse, $company->id);
                         }
                     }
                 }
             }
             $this->potentialcourses->invalidate_selected_courses();
             $this->currentcourses->invalidate_selected_courses();
         }
     }
 }