In the ext db auth, in the password setting, these values are available:
- plain text
that "internal" setting is used by the is_internal() method to return true/false.
And, in moodlelib, if one auth method is internal, then update_user_record() is 100% prevented, so nothing is refreshed from ext db.
Just guessing if that "internal" value in the db auth plugin has another hidden sense. I cannot find it. Everything gets refreshed properly without it and the ext db, by definition, seems to be a not internal auth plugin.
I would propose to kill such "internal" option, unless somebody have any explanation for current behaviour (I've take a look to the ldap auth - really similar in concep) and it haven't such "internal" posibility at all.
- IMO the db auth plugin should return always false.
- The plugin should be able to run together with the "cron.php" passwords and "auth_db_sync_users.php " for new users and so on but not using the "internal" concept for that.
Just one opinion. Ciao