]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/Autocomplete/AutocompletePlugin.php
Merge commit 'refs/merge-requests/157' of git://gitorious.org/statusnet/mainline...
[quix0rs-gnu-social.git] / plugins / Autocomplete / AutocompletePlugin.php
index a28c65a2947841545193931fcd822d3f91179466..39b933afd95cedd6bba1696fb7b9138e4bedd90d 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,24 +39,36 @@ 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(common_path('plugins/Autocomplete/jquery-autocomplete/jquery.autocomplete.pack.js'));
-            $action->script(common_path('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'));
         }
     }
 
@@ -68,9 +79,8 @@ class AutocompletePlugin extends Plugin
                             'author' => 'Craig Andrews',
                             'homepage' => 'http://status.net/wiki/Plugin:Autocomplete',
                             'rawdescription' =>
-                            _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.'));
+                            // TRANS: Plugin description.
+                            _m('The autocomplete plugin adds autocompletion for @ replies.'));
         return true;
     }
-
 }
-?>