]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/plugin.php
Don't trust local HTML either
[quix0rs-gnu-social.git] / lib / plugin.php
index 80a3e96207e3001d64c652a4fdbf12c993dcf922..28040d3f84f22e1faad9348f7e93faf0c5e7cd6e 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,7 +199,7 @@ class Plugin
 
     static function staticPath($plugin, $relative)
     {
-        $isHTTPS = StatusNet::isHTTPS();
+        $isHTTPS = GNUsocial::isHTTPS();
 
         if ($isHTTPS) {
             $server = common_config('plugins', 'sslserver');