Trigger an autoaction with a button on the user profile

3 months 2 weeks ago #334095 by activha

I follow on this post which generates a token for a user at its registration.

Triggers that I use are onAfterNewUser and onAfterUserRegistration.

I'd like to set up a button to allow old users to get the token generated or even newly registered users to change the token.

How can I do knowing that there is no link to access the autoaction because it's controlled by the triggers ?


Please Log in to join the conversation.

3 months 2 weeks ago #334100 by krileon
Create an code auto action that's accessible to users and point a button to it. In that code auto action add the necessary PHP to generate their token and store it. Then in the output of the auto action set it to redirect them back to their profile. Example as follows.

Triggers: None
Type: Code
User: Self
Access: All Registered Users
Field: cb_token_api
Operator: Is Empty
Method: PHP
Code: (from your other topic)
global $_CB_framework;
$encryptedValue = new \Joomla\CMS\Encrypt\Aes( $_CB_framework->getCfg( 'secret' ) . ':a2xdt7zx' ) )->encryptString( (string) \CBLib\Application\Application::MyUser()->getUserId();
$token = rtrim( strtr( $encryptedValue, '+/', '-_' ), '=' );
$user->set( 'cb_token_api', ( $token ) );
Display: Redirect
URL: [cb:url location="profile_view" /]

Now just point a button to that auto actions URL. If they don't have a token it will generate one.

Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
Please note I am available Monday - Friday from 8:00 AM CST to 4:00 PM CST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
The following user(s) said Thank You: activha

Please Log in to join the conversation.

Moderators: beatnantkrileon
Time to create page: 2.707 seconds

Facebook Twitter LinkedIn