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');