]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Autocomplete/AutocompletePlugin.php
Update translator documentation.
[quix0rs-gnu-social.git] / plugins / Autocomplete / AutocompletePlugin.php
index baaec73c1672f770e83798946456af1788d3a52d..9a015dd7048868b3a4e7eee6cb7f42abb526155d 100644 (file)
@@ -22,7 +22,8 @@
  * @category  Plugin
  * @package   StatusNet
  * @author    Craig Andrews <candrews@integralblue.com>
- * @copyright 2009 Craig Andrews http://candrews.integralblue.com
+ * @copyright 2010 Free Software Foundation http://fsf.org
+ * @copyright 2009 Free Software Foundation, Inc http://www.fsf.org
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link      http://status.net/
  */
@@ -31,8 +32,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
-require_once(INSTALLDIR.'/plugins/Autocomplete/autocomplete.php');
-
 class AutocompletePlugin extends Plugin
 {
     function __construct()
@@ -40,26 +39,48 @@ class AutocompletePlugin extends Plugin
         parent::__construct();
     }
 
+    function onAutoload($cls)
+    {
+        switch ($cls)
+        {
+         case 'AutocompleteAction':
+            require_once(INSTALLDIR.'/plugins/Autocomplete/autocomplete.php');
+            return false;
+        }
+    }
+
     function onEndShowScripts($action){
         if (common_logged_in()) {
-            $action->script('plugins/Autocomplete/jquery-autocomplete/jquery.autocomplete.pack.js');
-            $action->script('plugins/Autocomplete/Autocomplete.js');
+            $action->element('span', array('id' => 'autocomplete-api',
+                                           'data-url' => common_local_url('autocomplete')));
+            $action->script($this->path('jquery-autocomplete/jquery.autocomplete.pack.js'));
+            $action->script($this->path('Autocomplete.js'));
         }
     }
 
     function onEndShowStatusNetStyles($action)
     {
         if (common_logged_in()) {
-            $action->cssLink('plugins/Autocomplete/jquery-autocomplete/jquery.autocomplete.css');
+            $action->cssLink($this->path('jquery-autocomplete/jquery.autocomplete.css'));
         }
     }
 
     function onRouterInitialized($m)
     {
         if (common_logged_in()) {
-            $m->connect('plugins/Autocomplete/autocomplete.json', array('action'=>'autocomplete'));
+            $m->connect('main/autocomplete/suggest', array('action'=>'autocomplete'));
         }
     }
 
+    function onPluginVersion(&$versions)
+    {
+        $versions[] = array('name' => 'Autocomplete',
+                            'version' => STATUSNET_VERSION,
+                            'author' => 'Craig Andrews',
+                            'homepage' => 'http://status.net/wiki/Plugin:Autocomplete',
+                            'rawdescription' =>
+                            // TRANS: Plugin description.
+                            _m('The autocomplete plugin allows users to autocomplete screen names in @ replies. When an "@" is typed into the notice text area, an autocomplete box is displayed populated with the user\'s friend\' screen names.'));
+        return true;
+    }
 }
-?>