User map [Deleted]

How do I not get emails that there is a conversation going on?? :( Sorry folks!

Ok, it seems some are having problems encoding the location. I cannot for the life of me recreate the problems (I've been working with Michael on this)

Some questions to try help:
  1. Do you have it enable on registration?
  2. Do you have Map Location or normal built-in location set?
  3. Does it happen with all users or some?
  4. Does it happen with only registration or are there other instances?
  5. Are there any errors in ACP relating to this?

If it's a google denial thing then there should be errors in ACP. if not, I am stumped while I cannot recreate it.


I'm putting in an addition now to log it. This should help diagnose things a bit better.

So, I'm pretty sure I didn't change any settings when upgrading from 3.6 to 4.0 to 4.0 patched.

I've just gone through the list of recently joined members, they all have properly filled out locations in the default location field from registration, but they're all appearing in the ocean and the map icon isn't appearing in their user postbit on threads.

It seems that it may have happened on 24th April when you sent me the 4.0 patch

Replace the DataWriter/Usermap.php with this file please.

Could that have anything to do with it?

I have since upgraded to 4.0.1, but no difference.

These are my settings:


  1. Do you have it enable on registration?
I have the location default field required on registration
  1. Do you have Map Location or normal built-in location set?
Built in
  1. Does it happen with all users or some?
All since 4.0 patch I believe
  1. Does it happen with only registration or are there other instances?
Weirdly, if I update my personal location, it seems to work. But it doesn't work for a user I just registered.
  1. Are there any errors in ACP relating to this?
No

y5U1ip0.png
 
ah man this is frustrating. I cannot for the life of me recreate the problem.
The version you have is exactly what I am using on my test server. I've copied your ACP options exactly and cannot get it to not work.


For one of the users with a dud location, what did they put in their location field?
 
I had already figured out why it's not showing their correct location on the map when they register. For what ever reason the below box must also be checked. If you check that box it will fix it, but it shouldn't have to be checked if the option below it is checked, but that's what this add-on is doing. The problem though is after they or other current members go into their profile and make changes and save it again it goes back to that ocean location near Africa.


Untitled.webp

Anyway that's just one of several bugs this add-on currently has. I just didn't have time to mess with it when I uninstalled it. I just wanted to get it off of my board because of the problems. No further updates or changes were being made to correct them even though I kept hearing update is coming soon check your email, but nothing...
.
 
Yeah, that might be it.

I have this in the ACP:

upload_2017-5-11_17-0-30.webp

But this is the preferences for a newly registered user:

upload_2017-5-11_17-0-46.webp



Do you have a query I can use to enable the 'Show me on the map' for all the users that have registered with this unchecked?

Also, what's best for this? If I use 'Any option available', will it default to the location field and only use the other two as fallbacks?

upload_2017-5-11_17-2-7.webp
 
What makes it work is checking that box. Then as long as a person leaves the box checked when registering, their default location on the map will be correct unless they or any other members go into their profile and make changes. Once they make changes even if correct it puts their place on the map back to that darn middle of the ocean location again regardless of what you have the default map coordinates set to so it only works temporally.

That box in the ACP should not have to be check to save their location on the map anyway. Everything with that was working with v3.6, but there was no way to make it show their map location by default. When he added that new option with v4.0 something got screwed up.

Don’t feel bad though because I also tried Xen Factory’s Members Map add-on and it had the same problem, but it was even more screwed up and had several limitations compared to this one.
.
 
Yeah, seems like an ACP logic bug.

I don't want to check the 'Include in registration' box, as I don't want the member to be able to opt out at registration.

I want it to be opt in by default, they can opt out later.

The location is required and plenty of people just put more general locations if they're worried about privacy.

I would rather they have a general location, than no location at all so I can still send them invites to events nearby or at least in their country.
 
and I can finally recreate it. :) thanks for the help above. Hopefully fix it today or tomorrow and drop an update.

Do you have a query I can use to enable the 'Show me on the map' for all the users that have registered with this unchecked?
No, pester me again after the update and I'll write one for the FAQ.

Also, what's best for this? If I use 'Any option available', will it default to the location field and only use the other two as fallbacks?
Yes, it falls down the list and tries them all.

The location is required and plenty of people just put more general locations if they're worried about privacy.
I wonder - if location is not found and you have "Any option"... should it continue trying?
 
Yay! Nice one Crispin :)

I wonder - if location is not found and you have "Any option"... should it continue trying?

I think so? Because the 'Show me on map' checkbox is still checked.


Although thinking about it now, that scenario wouldn't come up on my site as the location box is a required field and will always have a value.
 
I think so? Because the 'Show me on map' checkbox is still checked.
That covers. If people put in a fake location and it shows them on the map because of their IP address they cannot be upset - they can deselect the Show Me On Map.
If you don't allow them to deselect that then that is your T&Cs and they can leave if they want :)
 
That covers. If people put in a fake location and it shows them on the map because of their IP address they cannot be upset - they can deselect the Show Me On Map.
If you don't allow them to deselect that then that is your T&Cs and they can leave if they want :)

I agree with RobinHood...

"I don't want to check the 'Include in registration' box, as I don't want the member to be able to opt out at registration."

"I want it to be opt in by default, they can opt out later."

We both want the checkbox left off of the registration page, but the box to still be checked in the database when they register.
.
 
That is what does / should happen.

As it happens I just updated the narrative for the option a few minutes ago as it was a bit ambiguous. It now reads: Ask the user at time of registration if they want to be viewed on the map. NOTE:Disabling this will have the same effect as the user selecting "Show me on the map"
 
Right folks, It's fixed (I think and hope :cry:)

So as to not create a sh1t storm are there any takers to try the updated version? Looking towards @RSI and @RobinHood . It's in no way a beta test but rather than unleashing it on everyone and there is another logic error I'd appreciate some feedback from yourselves.


C
 
Started getting errors today:


Code:
Started getting errors today:


Error Info
XenForo_Exception: Response from API call was HTTP:500. - library/Crispin/UserMap/Model/UserMaps.php:554
Generated By: someusername, Yesterday at 7:05 PM
Stack Trace
#0 /home//public_html/library/Crispin/UserMap/DataWriter/User.php(76): Crispin_UserMap_Model_UserMaps->getGeoLocationFromLocation(842, 'Palo Alto, CA 9...')
#1 /home//public_html/library/Crispin/UserMap/DataWriter/User.php(57): Crispin_UserMap_DataWriter_User->getGeoLocation(Object(Crispin_UserMap_Model_UserMaps), Array)
#2 /home//public_html/library/Siropu/Chat/DataWriter/Extend/User.php(36): Crispin_UserMap_DataWriter_User->_postSave()
#3 /home//public_html/library/DigitalPointBetterAnalytics/DataWriter/User.php(12): Siropu_Chat_DataWriter_Extend_User->_postSave()
#4 /home//public_html/library/XenPushover/DataWriter/User.php(19): DigitalPointBetterAnalytics_DataWriter_User->_postSave()
#5 /home//public_html/library/XenForo/DataWriter.php(1423): XenPushover_DataWriter_User->_postSave()
#6 /home//public_html/library/DigitalPointBetterAnalytics/Listener/ControllerPreDispatch.php(43): XenForo_DataWriter->save()
#7 /home//public_html/library/XenForo/CodeEvent.php(58): DigitalPointBetterAnalytics_Listener_ControllerPreDispatch::loadControllerListener(Object(LiveUpdate_ControllerPublic_Update), 'Index', 'LiveUpdate_Cont...')
#8 /home//public_html/library/XenForo/Controller.php(313): XenForo_CodeEvent::fire('controller_pre_...', Array, 'LiveUpdate_Cont...')
#9 /home//public_html/library/XenForo/FrontController.php(350): XenForo_Controller->preDispatch('Index', 'LiveUpdate_Cont...')
#10 /home//public_html/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#11 /home//public_html/index.php(13): XenForo_FrontController->run()
#12 {main}
Request State
array(3) {
  ["url"] => string(45) "https://forums.com/index.php?liveupdate"
  ["_GET"] => array(1) {
   ["liveupdate"] => string(0) ""
  }
  ["_POST"] => array(4) {
   ["_xfRequestUri"] => string(46) "/threads/"
   ["_xfNoRedirect"] => string(1) "1"
   ["_xfToken"] => string(8) "********"
   ["_xfResponseType"] => string(4) "json"
  }
}

Code:
Error Info
XenForo_Exception: https://maps.googleapis.com/maps/api/geocode/json?sensor=true&address=Palo+Alto%2C+CA+94301%2C+United+States&key=keykeykey&region=USA - library/Crispin/UserMap/Model/UserMaps.php:553
Generated By: someusername, Yesterday at 7:05 PM
Stack Trace
#0 /home//public_html/library/Crispin/UserMap/DataWriter/User.php(76): Crispin_UserMap_Model_UserMaps->getGeoLocationFromLocation(842, 'Palo Alto, CA 9...')
#1 /home//public_html/library/Crispin/UserMap/DataWriter/User.php(57): Crispin_UserMap_DataWriter_User->getGeoLocation(Object(Crispin_UserMap_Model_UserMaps), Array)
#2 /home//public_html/library/Siropu/Chat/DataWriter/Extend/User.php(36): Crispin_UserMap_DataWriter_User->_postSave()
#3 /home//public_html/library/DigitalPointBetterAnalytics/DataWriter/User.php(12): Siropu_Chat_DataWriter_Extend_User->_postSave()
#4 /home//public_html/library/XenPushover/DataWriter/User.php(19): DigitalPointBetterAnalytics_DataWriter_User->_postSave()
#5 /home//public_html/library/XenForo/DataWriter.php(1423): XenPushover_DataWriter_User->_postSave()
#6 /home//public_html/library/DigitalPointBetterAnalytics/Listener/ControllerPreDispatch.php(43): XenForo_DataWriter->save()
#7 /home//public_html/library/XenForo/CodeEvent.php(58): DigitalPointBetterAnalytics_Listener_ControllerPreDispatch::loadControllerListener(Object(LiveUpdate_ControllerPublic_Update), 'Index', 'LiveUpdate_Cont...')
#8 /home//public_html/library/XenForo/Controller.php(313): XenForo_CodeEvent::fire('controller_pre_...', Array, 'LiveUpdate_Cont...')
#9 /home//public_html/library/XenForo/FrontController.php(350): XenForo_Controller->preDispatch('Index', 'LiveUpdate_Cont...')
#10 /home//public_html/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#11 /home//public_html/index.php(13): XenForo_FrontController->run()
#12 {main}
Request State
array(3) {
  ["url"] => string(45) "https://forums.com/index.php?liveupdate"
  ["_GET"] => array(1) {
    ["liveupdate"] => string(0) ""
  }
  ["_POST"] => array(4) {
    ["_xfRequestUri"] => string(46) "/threads//"
    ["_xfNoRedirect"] => string(1) "1"
    ["_xfToken"] => string(8) "********"
    ["_xfResponseType"] => string(4) "json"
  }
}
 
Hello, as per my conversation message I cannot install the new version (4.0.2). There is a field or fields leftover in my database from the last time. Tell me where it or they are so I can manually drop them or send me a new update.
Code:
An exception occurred: Call to undefined method Crispin_UserMap_Install_Base::fieldExists() in /home/me/public_html/library/Crispin/UserMap/Install/Base.php on line 39

    Crispin_UserMap_Install_Base::install() in XenForo/Model/AddOn.php at line 214
    XenForo_Model_AddOn->installAddOnXml() in XenForo/Model/AddOn.php at line 169
    XenForo_Model_AddOn->installAddOnXmlFromFile() in XenForo/ControllerAdmin/AddOn.php at line 188
    XenForo_ControllerAdmin_AddOn->actionInstall() in XenForo/FrontController.php at line 351
    XenForo_FrontController->dispatch() in XenForo/FrontController.php at line 134
    XenForo_FrontController->run() in /home/me/public_html/admin.php at line 13
.
 
Started getting errors today:
The error 500 you're getting from google is odd. Another user has the same issues. All I can think is that google is chucking errors because you're "abusing" the service somehow. i.e. too chatty towards it.
I'm putting in a bit of logging to log the calls and try and see what's happening. Hopefully in the next release.



Hello, as per my conversation message I cannot install the new version (4.0.2). There is a field or fields leftover in my database from the last time. Tell me where it or they are so I can manually drop them or send me a new update.
Looking into the problem now. I've installed and uninstalled it a number of times and cannot recreate it :(
Will send a patched version shortly.
 
Looking into the problem now. I've installed and uninstalled it a number of times and cannot recreate it :(
Will send a patched version shortly.

I first installed v3.6 then you sent me version 4.0, then after that 2 or more patched files. Then when I went to uninstall it and I couldn't. Then you sent me that modified Base.php file then I was able to uninstall it. Something was left in the data base after uninstall and I've looked and already manually removed some of the leftover junk, but some of it must still be there so it wont left me install the new version.
.
 
Top Bottom