[DBTech] DragonByte Member Map

[DBTech] DragonByte Member Map 2.5.0

No permission to download
I don't mean to be a pain over a free add-on, but I do not see anything in preferences, privacy or even when clicking the pin itself. Is it mixed in with another function? I can move pins, I can goto a profile via pin, but I have no option to not show the map via the pin or within the above.

Maybe I'm missing it...? I even checked user group permissions to ensure I was not missing a setting to allow for it to be hidden.
You need the "Can opt out" user group permission.


Fillip
 
DragonByte Tech updated [DBTech] DragonByte Member Map with a new update entry:

2.1.0 Gold

Update highlights

After a lengthy Beta period, this mod is now considered stable enough to be flagged as Gold! 🎉

For those upgrading from v2.0.x, this version has also received back-end updates to improve the stability & reliability of the GeoIP lookups. You will need to wait for the cron job to run through all users again, though, or run it manually.

For those upgrading from an earlier v2.1.0 beta / RC build, this version adds a new clustering feature for pins, as well as...

Read the rest of this update entry...
 
Last edited:
@DragonByte Tech , in times of anonymous proxies, VPNs, TOR etc I am missing a basic function: locate users by IP-address on registration and (!) lock this field.

Whats the background? With Xenforo 2 many great developers created addons, to give us webmasters the abilty, to automaticly identify all kind of spammer signals on registration. Like disposable email-adresses, VPNs, TOR, proxies, lookups on DNSBL-entries and a whole bunch of excellent validator services.

It´s nowadyas easy to setup a forum that way, that all users have to "be naked" while registration - and after registration, they can turn on their VPNs, TOR or whatever and we, as responsible webmasters, respect their needs of data privacy and make them feel comfortable, that they can use the web with a small or obfuscated footprint thats harder to track. At the same time we have valid data gained from the registration process, to go after users violating the TOS of your site or in worst cases, can be used by police and others to track them down and drag them to court.
Of course, all of us are well aware, that there will be small portion of registrated users, which despite of all those security functions will have succeeded in going in under the radar. But that portion is really neglectable and was, is and will be there, without a doubt, as even the best antispam service is only as good as his database is.

I hope you get what I am referring to and would be happy, you´ld be able to implement a function like that which - as I am absoluty convinced - should be a basic (but optional) one.

What do you think?
Regards,
Chris.
 
IIRC if a member has been geolocated they won't be again, so this is a moot point for this add-on.

Nope, the description says it differently:
Also supports the ability to show all users or only those that are currently logged in.
Locations are calculated in batches to ensure smooth performance, or updated by each person using drag & drop.

That makes it necsessary, that the addon reads the actual ip-address and fetches and processes them while visiting the website. Even the table is not locked, when users can drag and drop a random location and store that into the field. So, no - it´s not a moot point. It´s quite actual ;)
 
But is it, though?
As I haven´t bought the addon yet, I was unaware of that setting ;) Damn, it´s free?! Heck.. But could you check for me, wether the IP on registration is stored and doesn´t becomes updated? And yes, that´s a pre-sale ...erm...hu....erm..pre-download question :LOL:

Chris.
 
Last edited:
Not sure if this related to this or not

Code:
Uncaught TypeError: Cannot read property 'maxZoom' of undefined
    at Pg.<anonymous> (markerclusterer.min.js?_v=4c366e41:16)
    at Object.trigger (js?key=AIzaSyCyBxlO4_wVg6al-WggwoyhdTjxZq0NRFA&callback=initMap:151)
    at Dd (js?key=AIzaSyCyBxlO4_wVg6al-WggwoyhdTjxZq0NRFA&callback=initMap:63)
    at Pg._.n.set (js?key=AIzaSyCyBxlO4_wVg6al-WggwoyhdTjxZq0NRFA&callback=initMap:153)
    at Pg.setZoom (js?key=AIzaSyCyBxlO4_wVg6al-WggwoyhdTjxZq0NRFA&callback=initMap:66)
    at core.min.js?_v=4c366e41:2
 
And Lastly...

I gave membermap its own tab in the public navigation but when I click on it (it works as expected) it highlights the members tab instead of its own membermap tab.
 
But could you check for me, wether the IP on registration is stored and doesn´t becomes updated?
I've had a look and it looks like I was incorrect, it turns out the IPs are updated once per day and it takes the latest IP the user has logged (so if they have posted, their post IP will be the one used) - unless the user has manually set their location, in which case it doesn't change. Sorry :(

Is it possible to remove the "error" message about not being able to change locations?
Unfortunately not, sorry.

Not sure if this related to this or not
Can you please post the step-by-step instructions for how to replicate this?

I gave membermap its own tab in the public navigation but when I click on it (it works as expected) it highlights the members tab instead of its own membermap tab.
Working as intended, you can't get it to highlight its own tab.


Fillip
 
I've had a look and it looks like I was incorrect, it turns out the IPs are updated once per day and it takes the latest IP the user has logged (so if they have posted, their post IP will be the one used) - unless the user has manually set their location, in which case it doesn't change. Sorry :(
Would you be able to modify that? Talking about paid customizing.
 
There's the fix, you need to read that documentation and make the appropriate changes in your API account :)
Fixed.
But still no map displayed, with the following error in console :

SyntaxError: unexpected token: identifier[En savoir plus] core.min.js:1:8

Code:
function initMap(){jQuery.extend(!0,DBTech.MemberMap.mapOptions,{zoom:2,mapTypeId:google.maps.MapTypeId[DBTech.MemberMap.config.mapTypeId]});null!==DBTech.MemberMap.config.lat&&jQuery.extend(!0,DBTech.MemberMap.mapOptions,{center:new google.maps.LatLng(DBTech.MemberMap.config.lat,DBTech.MemberMap.config["long"])});var e=new google.maps.Map(document.getElementById("dbtech_membermap_map"),DBTech.MemberMap.mapOptions),f=[],a=null;navigator.geolocation&&navigator.geolocation.getCurrentPosition(function(b){var a=
new google.maps.LatLng(b.coords.latitude,b.coords.longitude);e.setCenter(a);e.setZoom(5);DBTech.MemberMap.config.canChangeLocation||XF.ajax("POST",XF.canonicalizeUrl("index.php?dbtech-membermap/location"),{lat:b.coords.latitude,lng:b.coords.longitude})});$("#markers > div").each(function(){var b=$(this),c=new google.maps.InfoWindow({content:b.html()}),d=new google.maps.Marker({title:b.attr("title"),shadow:new google.maps.MarkerImage("https://chart.apis.google.com/chart?chst=d_map_pin_shadow",new google.maps.Size(40,
37),new google.maps.Point(0,0),new google.maps.Point(12,35)),position:new google.maps.LatLng(b.data("latitude"),b.data("longitude")),animation:google.maps.Animation.DROP,draggable:"1"==b.data("move"),icon:DBTech.MemberMap.config.basePath+b.data("icon")+".png"});google.maps.event.addListener(d,"mouseover",function(){a!=c&&(a&&a.close(),c.open(e,d),a=c)});google.maps.event.addListener(d,"click",function(){a!=c&&(a&&a.close(),c.open(e,d),a=c)});google.maps.event.addListener(c,"closeclick",function(){a=
null});DBTech.MemberMap.config.canChangeLocation&&google.maps.event.addListener(d,"dragend",function(a){XF.ajax("POST",XF.canonicalizeUrl("index.php?dbtech-membermap/location"),{lat:a.latLng.lat(),lng:a.latLng.lng()})});f.push(d)});new MarkerClusterer(e,f,{imagePath:DBTech.MemberMap.config.basePath+"m"});if(DBTech.MemberMap.config.canOptOut)$("#dbtech_membermap_map").on("change",'input:checkbox[name="dbtech_membermap_out"]',function(){XF.ajax("POST",XF.canonicalizeUrl("index.php?dbtech-membermap/opt-out"),
{optOut:$(this).is(":checked")?1:0})})};
 
Top Bottom