You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							139 lines
						
					
					
						
							6.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							139 lines
						
					
					
						
							6.7 KiB
						
					
					
				| <?php | |
| // This file is part of Moodle - http://moodle.org/ | |
| // | |
| // Moodle is free software: you can redistribute it and/or modify | |
| // it under the terms of the GNU General Public License as published by | |
| // the Free Software Foundation, either version 3 of the License, or | |
| // (at your option) any later version. | |
| // | |
| // Moodle is distributed in the hope that it will be useful, | |
| // but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | |
| // GNU General Public License for more details. | |
| // | |
| // You should have received a copy of the GNU General Public License | |
| // along with Moodle.  If not, see <http://www.gnu.org/licenses/>. | |
|  | |
| /** | |
|  * | |
|  * @package    enrol_apply | |
|  * @copyright  2016 sudile GbR (http://www.sudile.com) | |
|  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | |
|  * @author     Johannes Burk <johannes.burk@sudile.com> | |
|  */ | |
| 
 | |
| defined('MOODLE_INTERNAL') || die(); | |
| 
 | |
| class enrol_apply_renderer extends plugin_renderer_base { | |
|     public function manage_page($table, $manageurl) { | |
|         echo $this->header(); | |
|         echo $this->heading(get_string('confirmusers', 'enrol_apply')); | |
|         echo get_string('confirmusers_desc', 'enrol_apply'); | |
|         $this->manage_form($table, $manageurl); | |
|         echo $this->footer(); | |
|     } | |
| 
 | |
|     public function edit_page($mform) { | |
|         echo $this->header(); | |
|         echo $this->heading(get_string('pluginname', 'enrol_apply')); | |
|         $mform->display(); | |
|         echo $this->footer(); | |
|     } | |
| 
 | |
|     public function manage_form($table, $manageurl) { | |
|         echo html_writer::start_tag('form', array( | |
|             'id' => 'enrol_apply_manage_form', | |
|             'method' => 'post', | |
|             'action' => $manageurl->out())); | |
| 
 | |
|         $this->manage_table($table); | |
| 
 | |
|         if ($table->totalrows > 0) { | |
|             echo html_writer::empty_tag('br'); | |
|             echo html_writer::start_tag('div', array('class' => 'formaction')); | |
| 
 | |
|             $formactions = array( | |
|                 'confirm' => get_string('btnconfirm', 'enrol_apply'), | |
|                 'wait' => get_string('btnwait', 'enrol_apply'), | |
|                 'cancel' => get_string('btncancel', 'enrol_apply')); | |
|             echo html_writer::tag('label', get_string('withselectedusers'), array('for' => 'formaction')); | |
|             echo html_writer::select($formactions, 'formaction', '', array('' => 'choosedots'), array('id' => 'formaction')); | |
|             echo html_writer::tag('noscript', | |
|                 html_writer::empty_tag('input', array('type' => 'submit', get_string('submit'))), | |
|                 array('style' => 'display: inline;')); | |
| 
 | |
|             echo html_writer::end_tag('div'); | |
| 
 | |
|             $this->page->requires->js_call_amd('enrol_apply/manage', 'init'); | |
|         } | |
|         echo html_writer::end_tag('form'); | |
|     } | |
| 
 | |
|     public function manage_table($table) { | |
|         $columns = array( | |
|             'checkboxcolumn', | |
|             'course', | |
|             'fullname', // Magic happens here: The column heading will automatically be set. | |
|             'email', | |
|             'applydate', | |
|             'applycomment'); | |
|         $headers = array( | |
|             html_writer::checkbox('toggleall', 'toggleall', false, '', array('id' => 'toggleall')), | |
|             get_string('course'), | |
|             'fullname', // Magic happens here: The column heading will automatically be set due to column name 'fullname'. | |
|             get_string('email'), | |
|             get_string('applydate', 'enrol_apply'), | |
|             get_string('comment', 'enrol_apply')); | |
|         $table->define_columns($columns); | |
|         $table->define_headers($headers); | |
| 
 | |
|         $table->sortable(true, 'id'); | |
| 
 | |
|         $table->out(50, true); | |
|     } | |
| 
 | |
|     public function application_notification_mail_body( | |
|         $course, $user, $manageurl, $applydescription, $standarduserfields = null, $extrauserfields = null) { | |
| 
 | |
|         $body = '<p>'. get_string('coursename', 'enrol_apply') .': '.format_string($course->fullname).'</p>'; | |
|         $body .= '<p>'. get_string('applyuser', 'enrol_apply') .': '.$user->firstname.' '.$user->lastname.'</p>'; | |
|         $body .= '<p>'. get_string('comment', 'enrol_apply') .': '.$applydescription.'</p>'; | |
|         if ($standarduserfields) { | |
|             $body .= '<p><strong>'. get_string('user_profile', 'enrol_apply').'</strong></p>'; | |
|             $body .= '<p>'. get_string('firstname') .': '.$standarduserfields->firstname.'</p>'; | |
|             $body .= '<p>'. get_string('lastname') .': '.$standarduserfields->lastname.'</p>'; | |
|             $body .= '<p>'. get_string('email') .': '.$standarduserfields->email.'</p>'; | |
|             $body .= '<p>'. get_string('city') .': '.$standarduserfields->city.'</p>'; | |
|             $body .= '<p>'. get_string('country') .': '.$standarduserfields->country.'</p>'; | |
|             $body .= '<p>'. get_string('preferredlanguage') .': '.$standarduserfields->lang.'</p>'; | |
|             $body .= '<p>'. get_string('description') .': '.$standarduserfields->description_editor['text'].'</p>'; | |
| 
 | |
|             $body .= '<p>'. get_string('firstnamephonetic') .': '.$standarduserfields->firstnamephonetic.'</p>'; | |
|             $body .= '<p>'. get_string('lastnamephonetic') .': '.$standarduserfields->lastnamephonetic.'</p>'; | |
|             $body .= '<p>'. get_string('middlename') .': '.$standarduserfields->middlename.'</p>'; | |
|             $body .= '<p>'. get_string('alternatename') .': '.$standarduserfields->alternatename.'</p>'; | |
|             $body .= '<p>'. get_string('url') .': '.$standarduserfields->url.'</p>'; | |
|             $body .= '<p>'. get_string('icqnumber') .': '.$standarduserfields->icq.'</p>'; | |
|             $body .= '<p>'. get_string('skypeid') .': '.$standarduserfields->skype.'</p>'; | |
|             $body .= '<p>'. get_string('aimid') .': '.$standarduserfields->aim.'</p>'; | |
|             $body .= '<p>'. get_string('yahooid') .': '.$standarduserfields->yahoo.'</p>'; | |
|             $body .= '<p>'. get_string('msnid') .': '.$standarduserfields->msn.'</p>'; | |
|             $body .= '<p>'. get_string('idnumber') .': '.$standarduserfields->idnumber.'</p>'; | |
|             $body .= '<p>'. get_string('institution') .': '.$standarduserfields->institution.'</p>'; | |
|             $body .= '<p>'. get_string('department') .': '.$standarduserfields->department.'</p>'; | |
|             $body .= '<p>'. get_string('phone') .': '.$standarduserfields->phone1.'</p>'; | |
|             $body .= '<p>'. get_string('phone2') .': '.$standarduserfields->phone2.'</p>'; | |
|             $body .= '<p>'. get_string('address') .': '.$standarduserfields->address.'</p>'; | |
|         } | |
| 
 | |
|         if ($extrauserfields) { | |
|             foreach ($extrauserfields as $key => $value) { | |
|                 $body .= '<p>'. $key .': '.$value.'</p>'; | |
|             } | |
|         } | |
| 
 | |
|         $body .= '<p>'. html_writer::link($manageurl, get_string('applymanage', 'enrol_apply')).'</p>'; | |
| 
 | |
|         return $body; | |
|     } | |
| }
 | |
| 
 |