X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FMapstraction%2FMapstractionPlugin.php;h=fcc9d88e5661852d505ad5f678223dec7a6c5d8c;hb=871912a00a3e627569ac65111d55b47f5d8ccedf;hp=e7240a64497adbe749b48c35cb0c99f2dc6bd923;hpb=762731d8ee2ff2b8a8aa0c6f92335dd802baf536;p=quix0rs-gnu-social.git
diff --git a/plugins/Mapstraction/MapstractionPlugin.php b/plugins/Mapstraction/MapstractionPlugin.php
index e7240a6449..fcc9d88e56 100644
--- a/plugins/Mapstraction/MapstractionPlugin.php
+++ b/plugins/Mapstraction/MapstractionPlugin.php
@@ -44,10 +44,9 @@ if (!defined('STATUSNET')) {
*
* @seeAlso Location
*/
-
class MapstractionPlugin extends Plugin
{
- const VERSION = STATUSNET_VERSION;
+ const VERSION = GNUSOCIAL_VERSION;
/** provider name, one of:
'cloudmade', 'google', 'microsoft', 'openlayers', 'yahoo' */
@@ -64,42 +63,17 @@ class MapstractionPlugin extends Plugin
*
* @return boolean event handler return
*/
-
function onRouterInitialized($m)
{
$m->connect(':nickname/all/map',
array('action' => 'allmap'),
- array('nickname' => '['.NICKNAME_FMT.']{1,64}'));
+ array('nickname' => Nickname::DISPLAY_FMT));
$m->connect(':nickname/map',
array('action' => 'usermap'),
- array('nickname' => '['.NICKNAME_FMT.']{1,64}'));
+ array('nickname' => Nickname::DISPLAY_FMT));
return true;
}
- /**
- * Hook for autoloading classes
- *
- * This makes sure our classes get autoloaded from our directory
- *
- * @param string $cls name of class being used
- *
- * @return boolean event handler return
- */
-
- function onAutoload($cls)
- {
- switch ($cls)
- {
- case 'AllmapAction':
- case 'UsermapAction':
- case 'MapAction':
- include_once INSTALLDIR.'/plugins/Mapstraction/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
- return false;
- default:
- return true;
- }
- }
-
/**
* Hook for adding extra JavaScript
*
@@ -109,7 +83,6 @@ class MapstractionPlugin extends Plugin
*
* @return boolean event handler return
*/
-
function onEndShowScripts($action)
{
$actionName = $action->trimmed('action');
@@ -129,11 +102,11 @@ class MapstractionPlugin extends Plugin
urlencode($this->apikey)));
break;
case 'microsoft':
- $action->script('http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6');
+ $action->script((GNUsocial::isHTTPS()?'https':'http') + '://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6');
break;
case 'openlayers':
- // XXX: is this not nice...?
- $action->script('http://openlayers.org/api/OpenLayers.js');
+ // Use our included stripped & minified OpenLayers.
+ $action->script($this->path('OpenLayers/OpenLayers.js'));
break;
case 'yahoo':
$action->script(sprintf('http://api.maps.yahoo.com/ajaxymap?v=3.8&appid=%s',
@@ -143,12 +116,10 @@ class MapstractionPlugin extends Plugin
default:
return true;
}
-
$action->script(sprintf('%s?(%s)',
- common_path('plugins/Mapstraction/js/mxn.js'),
+ $this->path('js/mxn.js'),
$this->provider));
-
- $action->script(common_path('plugins/Mapstraction/usermap.js'));
+ $action->script($this->path('usermap.js'));
$action->inlineScript(sprintf('var _provider = "%s";', $this->provider));
@@ -160,14 +131,15 @@ class MapstractionPlugin extends Plugin
' var user = null; '.
(($actionName == 'showstream') ? ' user = scrapeUser(); ' : '') .
' var notices = scrapeNotices(user); ' .
- ' showMapstraction($("#map_canvas"), notices); '.
+ ' var canvas = $("#map_canvas")[0]; ' .
+ ' if (typeof(canvas) != "undefined") { showMapstraction(canvas, notices); } '.
'});');
}
return true;
}
- function onEndShowSections($action)
+ function onEndShowSections(Action $action)
{
$actionName = $action->trimmed('action');
// These are the ones that have maps on 'em
@@ -179,6 +151,7 @@ class MapstractionPlugin extends Plugin
$action->elementStart('div', array('id' => 'entity_map',
'class' => 'section'));
+ // TRANS: Header for Map widget that displays a map with geodata for notices.
$action->element('h2', null, _m('Map'));
$action->element('div', array('id' => 'map_canvas',
@@ -190,21 +163,22 @@ class MapstractionPlugin extends Plugin
array('nickname' => $action->trimmed('nickname')));
$action->element('a', array('href' => $mapUrl),
- _m("Full size"));
+ // TRANS: Clickable item to allow opening the map in full size.
+ _m('Full size'));
$action->elementEnd('div');
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'Mapstraction',
'version' => self::VERSION,
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:Mapstraction',
'rawdescription' =>
+ // TRANS: Plugin description.
_m('Show maps of users\' and friends\' notices '.
- 'with Mapstraction '.
- 'JavaScript library.'));
+ 'with Mapstraction.'));
return true;
}
}