From: <de...@de...> - 2014-06-30 03:19:31
|
Author: PeterThoeny Date: 2014-06-29 22:17:14 -0500 (Sun, 29 Jun 2014) New Revision: 27704 Trac url: http://develop.twiki.org/trac/changeset/27704 Modified: twiki/trunk/WhereIsPlugin/lib/TWiki/Plugins/WhereIsPlugin/Core.pm Log: Item7527: Initial version of WhereIsPlugin - in case GeoLookupPlugin is enabled, figure out location by geolocation lookup Modified: twiki/trunk/WhereIsPlugin/lib/TWiki/Plugins/WhereIsPlugin/Core.pm =================================================================== --- twiki/trunk/WhereIsPlugin/lib/TWiki/Plugins/WhereIsPlugin/Core.pm 2014-06-30 02:14:59 UTC (rev 27703) +++ twiki/trunk/WhereIsPlugin/lib/TWiki/Plugins/WhereIsPlugin/Core.pm 2014-06-30 03:17:14 UTC (rev 27704) @@ -92,7 +92,18 @@ my $ago = ''; my $userData = $this->_readData( 'user', $user ); if( $userData && $userData->{atime} ) { - $location = $this->_addrToLocation( $userData->{addr} ) || 'unknow location'; + $location = $this->_addrToLocation( $userData->{addr} ); + if( !$location && TWiki::Func::getContext()->{'GeoLookupPluginEnabled'} ) { + # GeoLookupPlugin is enabled, figure out location by geolocation lookup + my $geo = '%GEOLOOKUP{' . $userData->{addr} . '}%'; + $geo = TWiki::Func::expandCommonVariables( $geo ); + $geo =~ s/USA$//; # do not show USA, just state in USA + $geo =~ s/,//g; + $geo =~ s/^ *//; + $geo =~ s/ *$//; + $location = "unspecified location in $geo" if( $geo && $geo !~ /GEOLOOKUP/ ); + } + $location ||= 'unknow location'; $ago = _timeDiff( $userData->{atime}, time() ); $text = $lastSeenMsg || $this->{LastSeenMsg}; } else { |