]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/plugin.php
Merge remote-tracking branch 'upstream/nightly' into nightly
[quix0rs-gnu-social.git] / lib / plugin.php
index 80a3e96207e3001d64c652a4fdbf12c993dcf922..04df51f824206a843e12257d168a249bbe3e6222 100644 (file)
@@ -99,7 +99,11 @@ class Plugin
      */
     public function onAutoload($cls) {
         $cls = basename($cls);
-        $basedir = INSTALLDIR . '/plugins/' . mb_substr(get_called_class(), 0, -6);
+        $basedir = INSTALLDIR . '/local/plugins/' . mb_substr(get_called_class(), 0, -6);
+        if (!file_exists($basedir)) {
+            $basedir = INSTALLDIR . '/plugins/' . mb_substr(get_called_class(), 0, -6);
+        }
+
         $file = null;
 
         if (preg_match('/^(\w+)(Action|Form)$/', $cls, $type)) {
@@ -140,6 +144,9 @@ class Plugin
                 // @fixme this will fail for things installed in local/plugins
                 // ... but then so will web links so far.
                 $path = INSTALLDIR . "/plugins/$name/locale";
+                if (!file_exists($path)) {
+                    $path = INSTALLDIR . "/local/plugins/$name/locale";
+                }
             }
             if (file_exists($path) && is_dir($path)) {
                 bindtextdomain($name, $path);
@@ -158,13 +165,23 @@ class Plugin
         $this->log(LOG_DEBUG, $msg);
     }
     
-    function name()
+    public function name()
     {
         $cls = get_class($this);
         return mb_substr($cls, 0, -6);
     }
 
-    function onPluginVersion(&$versions)
+    public function version()
+    {
+        return GNUSOCIAL_VERSION;
+    }
+
+    protected function userAgent() {
+        return HTTPClient::userAgent()
+                . ' (' . get_class($this) . ' v' . $this->version() . ')';
+    }
+
+    function onPluginVersion(array &$versions)
     {
         $name = $this->name();
 
@@ -182,16 +199,14 @@ class Plugin
 
     static function staticPath($plugin, $relative)
     {
-        $isHTTPS = StatusNet::isHTTPS();
-
-        if ($isHTTPS) {
+        if (GNUsocial::useHTTPS()) {
             $server = common_config('plugins', 'sslserver');
         } else {
             $server = common_config('plugins', 'server');
         }
 
         if (empty($server)) {
-            if ($isHTTPS) {
+            if (GNUsocial::useHTTPS()) {
                 $server = common_config('site', 'sslserver');
             }
             if (empty($server)) {
@@ -199,7 +214,7 @@ class Plugin
             }
         }
 
-        if ($isHTTPS) {
+        if (GNUsocial::useHTTPS()) {
             $path = common_config('plugins', 'sslpath');
         } else {
             $path = common_config('plugins', 'path');
@@ -222,7 +237,7 @@ class Plugin
             $path = '/'.$path;
         }
 
-        $protocol = ($isHTTPS) ? 'https' : 'http';
+        $protocol = GNUsocial::useHTTPS() ? 'https' : 'http';
 
         return $protocol.'://'.$server.$path.$plugin.'/'.$relative;
     }