/** * Render coupon generator page 5 (including header / footer). * * @return string */ public function page_coupon_generator_step5() { // Make sure sessions are still alive. generatoroptions::validate_session(); // Load options. $generatoroptions = generatoroptions::from_session(); // Create form. $mform = new \block_coupon\forms\coupon\generator\extra($this->page->url); if ($mform->is_cancelled()) { generatoroptions::clean_session(); redirect(new moodle_url('/course/view.php', array('id' => $this->page->course->id))); } else { if ($data = $mform->get_data()) { // Get recipients. $generatoroptions->recipients = helper::get_recipients_from_csv($data->coupon_recipients); // Now that we've got all information we'll create the coupon objects. $generator = new generator(); $result = $generator->generate_coupons($generatoroptions); if ($result !== true) { // Means we've got an error. // Don't know yet what we're gonne do in this situation. Maybe mail to supportuser? echo "<p>An error occured while trying to generate the coupons. Please contact support.</p>"; echo "<pre>" . implode("\n", $result) . "</pre>"; die; } // Finish. generatoroptions::clean_session(); redirect(new moodle_url('/my'), get_string('coupons_ready_to_send', 'block_coupon')); } } $out = ''; $out .= $this->get_coupon_form_page($mform); return $out; }