]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Mapstraction/MapstractionPlugin.php
Merge branch 'master' of git.gnu.io:gnu/gnu-social into mmn_fixes
[quix0rs-gnu-social.git] / plugins / Mapstraction / MapstractionPlugin.php
index d5b4e5052bb44df472280239dd19e4b3953fd8a6..ddc54bcc15339b5c8f48a21199dc594a5af37b70 100644 (file)
@@ -46,12 +46,12 @@ if (!defined('STATUSNET')) {
  */
 class MapstractionPlugin extends Plugin
 {
-    const VERSION = STATUSNET_VERSION;
+    const VERSION = GNUSOCIAL_VERSION;
 
     /** provider name, one of:
-     'cloudmade', 'google', 'microsoft', 'openlayers', 'yahoo' */
+     'cloudmade', 'microsoft', 'openlayers', 'yahoo' */
     public $provider = 'openlayers';
-    /** provider API key (or 'appid'), if required ('google' and 'yahoo' only) */
+    /** provider API key (or 'appid'), if required ('yahoo' only) */
     public $apikey = null;
 
     /**
@@ -74,29 +74,6 @@ class MapstractionPlugin extends Plugin
         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
      *
@@ -120,16 +97,12 @@ class MapstractionPlugin extends Plugin
         case 'cloudmade':
             $action->script('http://tile.cloudmade.com/wml/0.2/web-maps-lite.js');
             break;
-        case 'google':
-            $action->script(sprintf('http://maps.google.com/maps?file=api&v=2&sensor=false&key=%s',
-                                    urlencode($this->apikey)));
-            break;
         case 'microsoft':
-            $action->script((StatusNet::isHTTPS()?'https':'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':
             // Use our included stripped & minified OpenLayers.
-            $action->script(common_path('plugins/Mapstraction/OpenLayers/OpenLayers.js'));
+            $action->script($this->path('OpenLayers/OpenLayers.js'));
             break;
         case 'yahoo':
             $action->script(sprintf('http://api.maps.yahoo.com/ajaxymap?v=3.8&appid=%s',
@@ -139,20 +112,10 @@ class MapstractionPlugin extends Plugin
         default:
             return true;
         }
-
-        if ($this->provider == 'openlayers') {
-            // We have an optimized path for our default case.
-            //
-            // Note that OpenLayers.js needs to be separate, or it won't
-            // be able to find its UI images and styles.
-            $action->script(common_path('plugins/Mapstraction/usermap-mxn-openlayers.min.js'));
-        } else {
-            $action->script(sprintf('%s?(%s)',
-                                    common_path('plugins/Mapstraction/js/mxn.js'),
-                                    $this->provider));
-
-            $action->script(common_path('plugins/Mapstraction/usermap.js'));
-        }
+        $action->script(sprintf('%s?(%s)',
+                                $this->path('js/mxn.js'),
+                                $this->provider));
+        $action->script($this->path('usermap.js'));
 
         $action->inlineScript(sprintf('var _provider = "%s";', $this->provider));
 
@@ -164,7 +127,7 @@ class MapstractionPlugin extends Plugin
                                   ' var user = null; '.
                                   (($actionName == 'showstream') ? ' user = scrapeUser(); ' : '') .
                                   ' var notices = scrapeNotices(user); ' .
-                                 ' var canvas = $("#map_canvas")[0]; ' .
+                                  ' var canvas = $("#map_canvas")[0]; ' .
                                   ' if (typeof(canvas) != "undefined") { showMapstraction(canvas, notices); } '.
                                   '});');
         }
@@ -172,7 +135,7 @@ class MapstractionPlugin extends Plugin
         return true;
     }
 
-    function onEndShowSections($action)
+    function onEndShowSections(Action $action)
     {
         $actionName = $action->trimmed('action');
         // These are the ones that have maps on 'em
@@ -184,6 +147,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',
@@ -196,18 +160,19 @@ class MapstractionPlugin extends Plugin
 
         $action->element('a', array('href' => $mapUrl),
                          // TRANS: Clickable item to allow opening the map in full size.
-                         _m("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',
+                            'homepage' => 'https://git.gnu.io/gnu/gnu-social/tree/master/plugins/Mapstraction',
                             'rawdescription' =>
+                            // TRANS: Plugin description.
                             _m('Show maps of users\' and friends\' notices '.
                                'with <a href="http://www.mapstraction.com/">Mapstraction</a>.'));
         return true;