From d31130405996569dddbe77646a70fe2dce703eae Mon Sep 17 00:00:00 2001 From: Flottertotte Date: Tue, 12 May 2015 15:33:52 +0800 Subject: [PATCH] Further adjustments --- edit_form.php | 1 - lang/en/enrol_apply.php | 3 + lib.php | 139 ++++++++++++++++++++++++---------------- locallib.php | 13 +++- settings.php | 10 +++ 5 files changed, 107 insertions(+), 59 deletions(-) diff --git a/edit_form.php b/edit_form.php index b0a8162..71db478 100644 --- a/edit_form.php +++ b/edit_form.php @@ -41,7 +41,6 @@ class enrol_self_edit_form extends moodleform { $mform->setDefault('roleid', $plugin->get_config('roleid')); $mform->addElement('textarea', 'customtext1', get_string('editdescription', 'enrol_apply')); - $mform->addElement('hidden', 'id'); $mform->setType('id', PARAM_INT); diff --git a/lang/en/enrol_apply.php b/lang/en/enrol_apply.php index 8d280cb..b76d535 100644 --- a/lang/en/enrol_apply.php +++ b/lang/en/enrol_apply.php @@ -52,4 +52,7 @@ $string['applymanage'] = 'Manage enrolment applications'; $string['status_desc'] = 'Allow course access of internally enrolled users.'; $string['user_profile'] = 'User Profile'; + +$string['show_standard_user_profile'] = 'Show standard user profile fields on enrolment screen'; +$string['show_extra_user_profile'] = 'Show extra user profile fields on enrolment screen'; ?> \ No newline at end of file diff --git a/lib.php b/lib.php index 59eb4ff..9a63765 100644 --- a/lib.php +++ b/lib.php @@ -82,9 +82,15 @@ class enrol_apply_plugin extends enrol_plugin { $applydescription = $userInfo->applydescription; unset($userInfo->applydescription); $userInfo->id = $USER->id; - $res = $DB->update_record('user',$userInfo); - //echo "
";print_r($userInfo);exit;
-				//var_dump($res);exit;
+
+				$apply_setting = $DB->get_records_sql("select name,value from ".$CFG->prefix."config_plugins where plugin='enrol_apply'");
+				if($apply_setting['show_standard_user_profile']->value == 1 && $apply_setting['show_extra_user_profile']->value == 0){
+					profile_save_data($userInfo);
+					//$res = $DB->update_record('user',$userInfoProfile);
+				}else{
+					profile_save_data($userInfo);
+					$res = $DB->update_record('user',$userInfo);
+				}
 				$enrol = enrol_get_plugin('self');
 				$timestart = time();
 				if ($instance->enrolperiod) {
@@ -286,34 +292,45 @@ function sendConfirmMailToTeachers($courseid,$instanceid,$info,$applydescription
 		foreach($teachers as $teacher){
 			$editTeacher = $DB->get_record('user',array('id'=>$teacher->userid));
 			$body = '

'. get_string('coursename', 'enrol_apply') .': '.format_string($course->fullname).'

'; - $body .= '

'. get_string('applyuser', 'enrol_apply') .': '.$info->firstname.' '.$info->lastname.'

'; + $body .= '

'. get_string('applyuser', 'enrol_apply') .': '.$USER->firstname.' '.$USER->lastname.'

'; $body .= '

'. get_string('comment', 'enrol_apply') .': '.$applydescription.'

'; - $body .= '

'. get_string('user_profile', 'enrol_apply').'

'; - $body .= '

'. get_string('firstname') .': '.$info->firstname.'

'; - $body .= '

'. get_string('lastname') .': '.$info->lastname.'

'; - $body .= '

'. get_string('email') .': '.$info->email.'

'; - $body .= '

'. get_string('city') .': '.$info->city.'

'; - $body .= '

'. get_string('country') .': '.$info->country.'

'; - $body .= '

'. get_string('preferredlanguage') .': '.$info->lang.'

'; - $body .= '

'. get_string('description') .': '.$info->description_editor['text'].'

'; - - $body .= '

'. get_string('firstnamephonetic') .': '.$info->firstnamephonetic.'

'; - $body .= '

'. get_string('lastnamephonetic') .': '.$info->lastnamephonetic.'

'; - $body .= '

'. get_string('middlename') .': '.$info->middlename.'

'; - $body .= '

'. get_string('alternatename') .': '.$info->alternatename.'

'; - $body .= '

'. get_string('url') .': '.$info->url.'

'; - $body .= '

'. get_string('icqnumber') .': '.$info->icq.'

'; - $body .= '

'. get_string('skypeid') .': '.$info->skype.'

'; - $body .= '

'. get_string('aimid') .': '.$info->aim.'

'; - $body .= '

'. get_string('yahooid') .': '.$info->yahoo.'

'; - $body .= '

'. get_string('msnid') .': '.$info->msn.'

'; - $body .= '

'. get_string('idnumber') .': '.$info->idnumber.'

'; - $body .= '

'. get_string('institution') .': '.$info->institution.'

'; - $body .= '

'. get_string('department') .': '.$info->department.'

'; - $body .= '

'. get_string('phone') .': '.$info->phone1.'

'; - $body .= '

'. get_string('phone2') .': '.$info->phone2.'

'; - $body .= '

'. get_string('address') .': '.$info->address.'

'; + if($apply_setting['show_standard_user_profile']->value == 0){ + $body .= '

'. get_string('user_profile', 'enrol_apply').'

'; + $body .= '

'. get_string('firstname') .': '.$info->firstname.'

'; + $body .= '

'. get_string('lastname') .': '.$info->lastname.'

'; + $body .= '

'. get_string('email') .': '.$info->email.'

'; + $body .= '

'. get_string('city') .': '.$info->city.'

'; + $body .= '

'. get_string('country') .': '.$info->country.'

'; + $body .= '

'. get_string('preferredlanguage') .': '.$info->lang.'

'; + $body .= '

'. get_string('description') .': '.$info->description_editor['text'].'

'; + + $body .= '

'. get_string('firstnamephonetic') .': '.$info->firstnamephonetic.'

'; + $body .= '

'. get_string('lastnamephonetic') .': '.$info->lastnamephonetic.'

'; + $body .= '

'. get_string('middlename') .': '.$info->middlename.'

'; + $body .= '

'. get_string('alternatename') .': '.$info->alternatename.'

'; + $body .= '

'. get_string('url') .': '.$info->url.'

'; + $body .= '

'. get_string('icqnumber') .': '.$info->icq.'

'; + $body .= '

'. get_string('skypeid') .': '.$info->skype.'

'; + $body .= '

'. get_string('aimid') .': '.$info->aim.'

'; + $body .= '

'. get_string('yahooid') .': '.$info->yahoo.'

'; + $body .= '

'. get_string('msnid') .': '.$info->msn.'

'; + $body .= '

'. get_string('idnumber') .': '.$info->idnumber.'

'; + $body .= '

'. get_string('institution') .': '.$info->institution.'

'; + $body .= '

'. get_string('department') .': '.$info->department.'

'; + $body .= '

'. get_string('phone') .': '.$info->phone1.'

'; + $body .= '

'. get_string('phone2') .': '.$info->phone2.'

'; + $body .= '

'. get_string('address') .': '.$info->address.'

'; + } + + if($apply_setting['show_extra_user_profile']->value == 0){ + require_once($CFG->dirroot.'/user/profile/lib.php'); + $user = $DB->get_record('user',array('id'=>$USER->id)); + profile_load_custom_fields($user); + foreach ($user->profile as $key => $value) { + $body .= '

'. $key .': '.$value.'

'; + } + } $body .= '

'. html_writer::link(new moodle_url("/enrol/apply/apply.php", array('id'=>$courseid,'enrolid'=>$instanceid)), get_string('applymanage', 'enrol_apply')).'

'; $contact = core_user::get_support_user(); @@ -338,33 +355,45 @@ function sendConfirmMailToManagers($courseid,$info,$applydescription){ foreach($managers as $manager){ $userWithManagerRole = $DB->get_record('user',array('id'=>$manager->userid)); $body = '

'. get_string('coursename', 'enrol_apply') .': '.format_string($course->fullname).'

'; - $body .= '

'. get_string('applyuser', 'enrol_apply') .': '.$info->firstname.' '.$info->lastname.'

'; + $body .= '

'. get_string('applyuser', 'enrol_apply') .': '.$USER->firstname.' '.$USER->lastname.'

'; $body .= '

'. get_string('comment', 'enrol_apply') .': '.$applydescription.'

'; - $body .= '

'. get_string('user_profile', 'enrol_apply').'

'; - $body .= '

'. get_string('firstname') .': '.$info->firstname.'

'; - $body .= '

'. get_string('lastname') .': '.$info->lastname.'

'; - $body .= '

'. get_string('email') .': '.$info->email.'

'; - $body .= '

'. get_string('city') .': '.$info->city.'

'; - $body .= '

'. get_string('country') .': '.$info->country.'

'; - $body .= '

'. get_string('preferredlanguage') .': '.$info->lang.'

'; - $body .= '

'. get_string('description') .': '.$info->description_editor['text'].'

'; - - $body .= '

'. get_string('firstnamephonetic') .': '.$info->firstnamephonetic.'

'; - $body .= '

'. get_string('lastnamephonetic') .': '.$info->lastnamephonetic.'

'; - $body .= '

'. get_string('middlename') .': '.$info->middlename.'

'; - $body .= '

'. get_string('alternatename') .': '.$info->alternatename.'

'; - $body .= '

'. get_string('url') .': '.$info->url.'

'; - $body .= '

'. get_string('icqnumber') .': '.$info->icq.'

'; - $body .= '

'. get_string('skypeid') .': '.$info->skype.'

'; - $body .= '

'. get_string('aimid') .': '.$info->aim.'

'; - $body .= '

'. get_string('yahooid') .': '.$info->yahoo.'

'; - $body .= '

'. get_string('msnid') .': '.$info->msn.'

'; - $body .= '

'. get_string('idnumber') .': '.$info->idnumber.'

'; - $body .= '

'. get_string('institution') .': '.$info->institution.'

'; - $body .= '

'. get_string('department') .': '.$info->department.'

'; - $body .= '

'. get_string('phone') .': '.$info->phone1.'

'; - $body .= '

'. get_string('phone2') .': '.$info->phone2.'

'; - $body .= '

'. get_string('address') .': '.$info->address.'

'; + if($apply_setting['show_standard_user_profile']->value == 0){ + $body .= '

'. get_string('user_profile', 'enrol_apply').'

'; + $body .= '

'. get_string('firstname') .': '.$info->firstname.'

'; + $body .= '

'. get_string('lastname') .': '.$info->lastname.'

'; + $body .= '

'. get_string('email') .': '.$info->email.'

'; + $body .= '

'. get_string('city') .': '.$info->city.'

'; + $body .= '

'. get_string('country') .': '.$info->country.'

'; + $body .= '

'. get_string('preferredlanguage') .': '.$info->lang.'

'; + $body .= '

'. get_string('description') .': '.$info->description_editor['text'].'

'; + + $body .= '

'. get_string('firstnamephonetic') .': '.$info->firstnamephonetic.'

'; + $body .= '

'. get_string('lastnamephonetic') .': '.$info->lastnamephonetic.'

'; + $body .= '

'. get_string('middlename') .': '.$info->middlename.'

'; + $body .= '

'. get_string('alternatename') .': '.$info->alternatename.'

'; + $body .= '

'. get_string('url') .': '.$info->url.'

'; + $body .= '

'. get_string('icqnumber') .': '.$info->icq.'

'; + $body .= '

'. get_string('skypeid') .': '.$info->skype.'

'; + $body .= '

'. get_string('aimid') .': '.$info->aim.'

'; + $body .= '

'. get_string('yahooid') .': '.$info->yahoo.'

'; + $body .= '

'. get_string('msnid') .': '.$info->msn.'

'; + $body .= '

'. get_string('idnumber') .': '.$info->idnumber.'

'; + $body .= '

'. get_string('institution') .': '.$info->institution.'

'; + $body .= '

'. get_string('department') .': '.$info->department.'

'; + $body .= '

'. get_string('phone') .': '.$info->phone1.'

'; + $body .= '

'. get_string('phone2') .': '.$info->phone2.'

'; + $body .= '

'. get_string('address') .': '.$info->address.'

'; + } + + if($apply_setting['show_extra_user_profile']->value == 0){ + require_once($CFG->dirroot.'/user/profile/lib.php'); + $user = $DB->get_record('user',array('id'=>$USER->id)); + profile_load_custom_fields($user); + foreach ($user->profile as $key => $value) { + $body .= '

'. $key .': '.$value.'

'; + } + } + $body .= '

'. html_writer::link(new moodle_url('/enrol/apply/manage.php'), get_string('applymanage', 'enrol_apply')).'

'; $contact = core_user::get_support_user(); $info = $userWithManagerRole; diff --git a/locallib.php b/locallib.php index 578be5f..439dc98 100644 --- a/locallib.php +++ b/locallib.php @@ -60,7 +60,7 @@ class enrol_apply_enrol_form extends moodleform { $mform->addElement('textarea', 'applydescription', get_string('comment', 'enrol_apply'),'cols="80"'); //user profile - global $USER,$CFG; + global $USER,$CFG,$DB; require_once($CFG->libdir.'/gdlib.php'); require_once($CFG->dirroot.'/user/edit_form.php'); require_once($CFG->dirroot.'/user/editlib.php'); @@ -70,8 +70,15 @@ class enrol_apply_enrol_form extends moodleform { $user = $DB->get_record('user',array('id'=>$USER->id)); $editoroptions = $filemanageroptions = null; - useredit_shared_definition($mform, $editoroptions, $filemanageroptions); - profile_definition($mform, $user->id); + $apply_setting = $DB->get_records_sql("select name,value from ".$CFG->prefix."config_plugins where plugin='enrol_apply'"); + + if($apply_setting['show_standard_user_profile']->value == 0){ + useredit_shared_definition($mform, $editoroptions, $filemanageroptions); + } + + if($apply_setting['show_extra_user_profile']->value == 0){ + profile_definition($mform, $user->id); + } $profile_default_values = $user; if (is_object($profile_default_values)) { diff --git a/settings.php b/settings.php index c7df7e0..c672475 100644 --- a/settings.php +++ b/settings.php @@ -41,6 +41,16 @@ if ($ADMIN->fulltree) { $settings->add(new admin_setting_configselect('enrol_apply/status', get_string('status', 'enrol_apply'), get_string('status_desc', 'enrol_apply'), ENROL_INSTANCE_ENABLED, $options)); + $options = array(ENROL_INSTANCE_ENABLED => get_string('yes'), + ENROL_INSTANCE_DISABLED => get_string('no')); + $settings->add(new admin_setting_configselect('enrol_apply/show_standard_user_profile', + get_string('show_standard_user_profile', 'enrol_apply'), '', ENROL_INSTANCE_ENABLED, $options)); + + $options = array(ENROL_INSTANCE_ENABLED => get_string('yes'), + ENROL_INSTANCE_DISABLED => get_string('no')); + $settings->add(new admin_setting_configselect('enrol_apply/show_extra_user_profile', + get_string('show_extra_user_profile', 'enrol_apply'), '', ENROL_INSTANCE_ENABLED, $options)); + if (!during_initial_install()) { $options = get_default_enrol_roles(context_system::instance()); $student = get_archetype_roles('student');