Description du projet :
JOOMLA/COMMUNITY BUILDER PLUGIN "UPDATE USER"
This new plugin will be a bit similar to the one I already ordered to you and who allow to "Add a user from front end". You must normally be able to retrieve some piece of code and logic of this plugin for build the new plugin.
The goal of this plugin is to make a specific REST Post API request to a remote server BEFORE to really update CB profile. In practice the API must return a OK message (that mean the remote server is well reachable) then to update CB profile as usual. I need to make this check first because is absolutely necessary to well sync data between my Joomla and remote server. If the remote server is not reachable (because short downtime or any other problem), the remote server return an error or nothing and in this case CB profile must not be updated.
I asked some info to CB team to how make this plugin and here their answer:
You'd need to develop a new plugin that can properly handle basically pausing/interrupting the profile update process. That mean this CB plugin must acts on the before profile update trigger (onBeforeUserUpdate) and perform your PHP code there and if your PHP code meets a condition where it should fail you'd need to set an error in the user object, which would stop the profile update and show profile update with your error.
$_PLUGINS->_setErrorMSG( 'This is my error message' );
$_PLUGINS->raiseError( 1 );
CB team told me also is normally not necessary to hack CB core file for build this plugin.
The backend configuration of this plugin must contain 3 params:
- Multi-select drop down field with all Joomla access level for let me select on which level access the plugin must be fired
- Text field where I will insert API Url remote server
- CB Wait for api response time. This param is the time where CB must wait API response before acting (you made already this param in the other plugin Add User from front end).
In addition I must receive an email message (Joomla super-admin) to the result of each update (success/fail) with the content/info about who updated his profile, the content of Post request and more. You made already this "message logic" in the plugin "Add User from front end" so you should be able to implement the same kind of code.
The error message (who must be displayed in CB profile in case remote server is not reachable or return another response than OK) must be set in CB language file with appropriate string for allow me to customize the message.
I can of course provide to you a test site with CB installed where you can install/test this new plugin.
I'm waiting your reply and your best quote. This project is a bit urgent and ideally I would like to be ready to use in less than one weeks (after fully tested and debug if any).