Universal Auto Action to store user location

4 weeks 1 day ago #305344 by MarlonFungai
I want to create an auto action that saves the uri that the user is on, on every page for all registered users. I have tried various combinations and I can't get it to work.

I have created a code auto action triggered by the joomla_onContentPrepare action that keeps the required code and places it in a variable cb_sitelocation as follows:

$user->set( 'cb_sitelocation', "" );

$pageURL = (isset( $_SERVER ) && $_SERVER == 'on') ? "https://" : "http://";
$pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
$trim_query_string = false;
if( ! $trim_query_string ) {
$user->set( 'cb_sitelocation', "$pageURL" );

} else {
$url = explode( '?', $pageURL );
$user->set( 'cb_sitelocation', "$url[0]" );

}

I have a CB content module that displays the username on every page to initialize CB and I can see the action executes but the data is either never stored or my data is stored not the users.
4 weeks 7 hours ago #305352 by krileon
CB Auto Actions can't act on Joomla events unless you've CB Auto Actions Bot installed and published. With that said content prepare could easily fire 20+ times on a single page and do not recommend using that event. Additionally you are never calling a ->store in your code so it's not going to save anything to begin with. You may also need to set User to Self since that event doesn't have a user object. As for what Joomla event to use you'll probably need to use something early in the rendering process like joomla_onAfterRespond as that fires after the renderer and router and should only do so once.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Templates - CBSubs - Hosting - Forge - Incubator - GroupJive
--
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 EST to 4:00 PM EST. 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: mikerotec
Moderators: beatnantkrileon
Time to create page: 0.149 seconds
Facebook Twitter Google LinkedIn