hrimhari / moodle-auth_emailadmin Goto Github PK
View Code? Open in Web Editor NEWMoodle plugin to provide email self-registration with admin confirmation
License: GNU General Public License v3.0
Moodle plugin to provide email self-registration with admin confirmation
License: GNU General Public License v3.0
Enabling the plugin and after setting the authentication with self-admin, It doesn't appear the Create new account" in login page. For which reason? I use moodle 3.1 version
Hello,
The 1.4.4 version of the plugin is not compatible with moodle 3.9.
The functions upgrade_fix_config_auth_plugin_names() and upgrade_fix_config_auth_plugin_defaults() called in the file db/upgrade.php have been removed in version 3.9 of moodle (see https://github.com/moodle/moodle/blob/master/auth/upgrade.txt).
Thank you for your work!
Good day!
When viewing the plugin settings in /admin/auth_config.php?auth=emailadmin , the following error message appears with debug set to Developer Mode:
The function 'print_auth_lock_options' has been deprecated, Please migrate your code to use the admin settings API and use the function 'display_auth_lock_options' instead.
line 112 of /admin/auth_config.php: call to debugging()
line 52 of /auth/emailadmin/config.html: call to print_auth_lock_options()
line 227 of /auth/emailadmin/auth.php: call to include()
line 78 of /admin/auth_config.php: call to auth_plugin_emailadmin->config_form()
I am using EmailAdmin 1.4.1 (2017072000) on Moodle 3.4.2+ (Build: 20180421) but I see that the print_auth_lock_options() function was deprecated as of Moodle 3.3.
Let me know if you have any questions.
Best regards,
Michael
When a new user registers, it seems to get confirmed without Admin intervention. I suspect that mobile phones are trying the confirmation link out to identify it as a link and that the confirmation page is not checking for a valid session.
Hello,
I am probably going to have to make this change, so I can make a PR if you like it. Currently, only the site admins appear in the "Notification strategy" option. But the admins are not the only ones that can confirm a user, any user with the "moodle/user:update" capability can. In a default Moodle instance, for example, Managers have that capability. So I believe it makes more sense to have anyone with that capability appearing in the "Notification strategy" and with the possibility to choose more than one user, kinda like in the /admin/settings.php?section=courserequest page.
Thanks!
I am using Moodle 3.4 (currently Localhost)..When a new user want to sign up it is giving the above error..after googling i found that i need to setup LDAP server where as it is not mentioned anywhere during installation that you need to setup LDAP for it...how to overcome this problem
Hi, I added custom fields to the user profile, one is the birth date.
But in the mail, the date is displayed in unix time (example: 702792000), which is not very useful ;)
Would it be possible to validate the type and convert the date value to something readable...
Thanking you in advance!
Hello,
For some reason the custom fields that I have added are not coming through in the email. I am on a 4.1 installation.
Thanks for any help!
The unit test for privacy provider is failing.
provider_testcase::test_all_providers_compliant with data set "auth_emailadmin" ('auth_emailadmin', 'auth_emailadmin\privacy\provider') Failed asserting that false is true.
The registration emails sent by the plugin to the administrator, are in the language of the new registrant. As long as an admin is a little bit multilingual, there is no problem. But it cannot be that the messages are puzzles where he has to deduct if he has to read from right to left, or from left to right. These messages should be sent in the (poor) language the administrator masters.
Tried to send you an email but failed!.
in error message
The error message 'Tried to send you an email but failed!' is most likely due to an incorrect SMTP server configuration.
Hi,
the default value of 'maildisplay' for the users you can state here:
Users > User default preferences > Email display
If you create a new user this value usually written in the database.
But this value is ignored by 'auth_emailadmin'.
Moodle 4.0.4
auth_emailadmin 1.4.6
May or may not be a bug, but which permission on Moodle results in the 'admins' list for auth_emailadmin | notif_strategy? For some reason my site has every student listed in there. Appreciate your help.
A new user get access to the system during the admin approval pending once they click on forget password button and reset password
Improvement request: It would be nice to have the confirmation email subject be a little more customizable. I have Outlook to group emails by subject, as this is the best way to do most all my other work. If the confirmation emails from this plugin all have the same subject, they get grouped together and that makes it easy to overlook one and hard to find one when searching. Allow for adding the requester's name to the email subject prevents these requests from getting automatically grouped together by an email program. I have a patch already worked out and will submit it.
I'm attempting to use this plugin on a moodle test site. whenever I attempt to sign up with a dummy account, the page errors with 'internal server error 500'. this corresponds to a an error in the logs stating:
'Failed to send an email from the user with id '5' to the user with id '2' due to the following error: "SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting'
I've gone into the Messaging outputs and added some SMTP info in, and updata the php.ini file on the host server as well, but no combination of things that I try will work.
As requested "As for Unicode characters, I'll have to try it out. Please open an issue in Github."
I would like to point out a small problem that I experienced with this wonderful plugin.
I have translated mail messages into Italian and I use characters with accents, but in reality I am not able to see those characters, which are replaced with symbols.
Thank you for help.
David
it's not working
I'm wondering what would stop the confirmation (ie "welcome") email from sending.
I followed the INSTALL file. When I tried to register as a new user, from another computer, it all worked, but no email came through once I confirmed the account (as an admin on the site).
I decided to install the original lang/en/auth_emailadmin.php file. When I did so, it worked. So, went back to my "edited version" that put my info in. I did notice that I forgot to escape one of the single quotes - so I did that. Tested again and no email came through. I tried a different email account. Still no "welcome" email.
I decided to try reinstalling original lang/en/auth_emailadmin.php again. This time it didn't work. Nothing. I should add that I was following the instruction to purge caches after uploading the auth_emailadmin.php file each time. I'm completely stuck now. Any ideas?
After the account is confirmed, there is no associated event.
There is an event after account is created, but it's necessary to do the same action after account is confirmed.
Possible solution:
Add
\core\event\user_updated::create_from_userid($user->id)->trigger();
at line 189 in auth.php
Hello!
We are using moodle 3.7 (Moodle 3.7.2+ (Build: 20190920)) and Email-based self-registration with admin confirmation plugin version 1.4.4. We are facing strange behaviour when the admin wants to click the confirmation link on the arrived confirmation email -> The confirmation works ok and the right user is informed with confirmation email BUT the admin ends up to confirmation page in Moodle where the congratulation message includes wrong user name. If we understand right the message should always say congratulations to the admin (his/her user name) ? Now it is randomly named by the admin user name, the name of the confirmed user or some random user who is not yet confirmed.
What could be the cause of this bahaviour?
The function profile_get_user_fields_with_data() only showed up with moodle 3.4, from what I able to gather, thus version 1.4.4 does not work properly with Moodle 3.3, unfortunately the version I'm currently stuck with. Upon registration the user is greated with a blank screen, changing the function list_custom_fields to the previous version seems to solve the issue.
Hi Felipe,
Hope all is well.
Do you know if this plugin will work with Moodle 2.9 as I'm looking to upgrade my instance.
If not, is there any plan on upgrading the plugin? and if no would this best easy to do?
Many thanks,
Alex
Hi hrimhari, will a version compatible with Moodle 4.1 be released in the future?
Hello,
its great script i was looking for, every thing worked like a charm except that on confirmation by the admin, the user does not get any mail...what can be the issue? i have checked every step according to the documentation.
please guide
Sanjib Nanda
With this admin approval plug in , two issues are there
The admin approval link need to be generated after the user email validated.
Thank you for making this useful plugin available to the global Moodle community.
At the top of the https://moodle.org/plugins/auth_emailadmin page, it still says that the plugin is only compatible with Moodle 2.9 and 3.0 even through, on the version page, it says that it is compatible with Moodle 3.1, 3.2, 3.3 and 3.4. Any chance that you could correct this small confusion Moodle.org? :-)
Best regards,
Michael Milette
HI!
The Moodle Version in use is 4.1.1
I use your plugin moodle-auth_emailadmin
When a new user signs up I receive emails like this:
Dear Moodle Admin,
TI has been submitted a request to open an account from the site '{$a->sitename}' with the following data:
User specific field example:
user -> lastname: {$a->lastname}
All custom fields: {$a->customfields}
All user fields + custom fields: {$a->userdata}
To confirm your new account, go to this web address: {$a->link}
In most email programs, this should appear as a blue link that you can simply click.
If that doesn't work, cut and paste into the address line in your web browser.
You can also confirm accounts from Moodle by going to Site Administration -> Users
If the values associated with variables such as "user -> surname: {$a->lastname}" appear in the emails actually received, this does not happen with the variable "To confirm the new account, go to this web address: {$ a-> link} " as the link is not inserted in the text of the email but only "{$a-> link}" and in fact there is no clickable url.
I would like to understand how to solve the problem by getting the url in the body of the email, any suggestions?
Thanks for the support!
We just updated to moodle 3.5.1+ The auth_emailadmin works.
BUT: It does not work with (extra) profilfields as we used for ages to specify the class/group, where new users are to registrate. The selfregistration shows the categorie for the (in our case dropdown) additional user-profilfield. The field is not there... And: Because it was a needed field, the registration failed without a visible error...
Henry
Hi
I just disable self registration used admin approval option due to some security investigation.
But now the user cannot log in those who create the account using this self registration used admin approval option
is this a bug or its programmed such way?
I saw this code mentioned at https://tracker.moodle.org/browse/CONTRIB-1444 and it seems like there might be some interest in sharing this code with the Moodle community. Would you be willing to go through the process of adding it to Moodle Plugins and also maintaining it? If you would prefer not to maintain it, I could add a note in the Moodle Tracker that someone else could use your code if they are are willing to maintain it. Let me know what best suits your desires. If I can be of help in any way just let me know. Peace - Anthony
Hi!
There is a issue in the master branch conecerning the lang file. On line 34 and line 77 the word he'll needs to be espacped (He'll) otherwise installation will fail with error.
Thanks for fixing!
The Moodle plugin directory lists this plugin as being version 2030110100, but here it is 2030105080
Config reference was not well migrated in is_captcha_enabled().
reCAPTCHA is not working, even if you enable it. This happens because in the source code of login/login_form.php this code is found:
return !empty($CFG->recaptchapublickey) && !empty($CFG->recaptchaprivatekey) && get_config('auth/email', 'recaptcha');
So reCAPTCHA will only work if you enable it in the auth/email settings. The reCAPTCHA settings of auth/emailadmin are completely ignored.
Dear hrimhari,
thanks very much for contributing with this plugin. It is very useful for my Mooodle as we have experienced some problems with the self-based registration.
We are going to upgrade our Moodle from 2.7 to 3.0
It is running on Apache Amazon server.
When we upgraded the acceptance environment we have seen that the registration page has some issues in not refreshing after the new user has clicked on "Create new account".
The error message in the logs says:
Tue Mar 22 13:52:31.121478 2016] [:error] [pid 21366] [client 80.112.244.206:20031] 39, referer: http://acceptance.MYWEBSITE.com/login/signup.php [Tue Mar 22 13:52:31.121509 2016] [:error] [pid 21366] [client 80.112.244.206:20031] 39:39, referer: http://acceptance.MYWEBSITE.com/login/signup.php [Tue Mar 22 13:52:32.946640 2016] [:error] [pid 21366] [client 80.112.244.206:20031] Could not send registration notification to: admin2 , referer: http://acceptance.MYWEBSITE.com/login/signup.php
We have 4 admins users, plus a default user with the admin2 account.
I hope it is clear, please let me know if you need more information from my side.
As well if you can pick up this issue easily.
Thanks!
Federica
And now I can't login with my admin account. How do I reenable auth_emailadmin in the DB? in moodledata? or...? thanks
Hi,
The issue is about a newly registered user who attempts to login before being confirmed by admin.
When user enters his credentials given during the registration into the moodle standard login form then 'Re-send confirmation' button appears to him.
He clicks on the button to re-send confirmation link and he now receives email with confirmation link.
By copy/paste, his registration is now confirmed and he is logged in automatically.
This whole process is carried out without admins intervention.
Please find below steps to reproduce the issue:
*Email-based self-registration is disabled
Plugin version: 1.4.5 (2030061000)
Moodle version: 3.9.2
I hope I have not doubled this issue already...
Kind regards,
Archie
The old class constructor is deprecated in PHP7 and uses Events 1 API deprecated handlers
Possible changes:
public function __construct() {
$this->authtype = 'emailadmin';
$this->config = get_config('auth/emailadmin');
}
public function auth_plugin_email() {
debugging('Use of class name as constructor is deprecated', DEBUG_DEVELOPER);
self::__construct();
}
\core\event\user_created::create_from_userid($user->id)->trigger();
I had trouble trying to get the original login page instructions to appear. The:
"For full access to courses you'll need to take a minute to create a new account for yourself on this web site. Each of the individual courses may also self-enrolment. Here are the steps:
Fill out the New Account form with your details." etc. etc. etc.
I managed to solve it...
If you go to moodle/login/index_form.html...
Search for "loginsteps" and change the line underneath from: ($CFG->registerauth == 'email') to ($CFG->registerauth == 'emailadmin')
Hope this helps,
Alex
Hello dear developer,
will there be a version available compatible with Moodle 4.0 ?
Thank you very much!
When an admin approves a user signup request and the user receives the email "auth_emailadminuserconfirmation", then the username is url-encoded and the dot is replaced with %2E.
https://github.com/hrimhari/moodle-auth_emailadmin/blob/master/classes/message.class.php#L69
That seems to be wrong when the placeholder {$a->username} is not used as part of a URL and is used to include the actual username in that email as information for the user.
In the admin email (with the approval link included)
https://github.com/hrimhari/moodle-auth_emailadmin/blob/master/auth.php#L289
where it is used as part of the link, it seems to be more reasonable.
Could you please take a look and advise further?
Hello, there is no uninstall option on the plugins overview.
Have you got a solution ?
Thks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.