]> 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 58b6a84cabe20b5a855f8956b9705568ed6cc709..9a015dd7048868b3a4e7eee6cb7f42abb526155d 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * Laconica, the distributed open-source microblogging tool
+ * StatusNet, the distributed open-source microblogging tool
  *
  * Plugin to enable nickname completion in the enter status box
  *
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @category  Plugin
- * @package   Laconica
+ * @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://laconi.ca/
+ * @link      http://status.net/
  */
 
-if (!defined('LACONICA')) {
+if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
@@ -38,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()) {
-            $current_user = common_current_user();
-            $js_string = <<<EOT
-<script type="text/javascript">
-var current_user = { id: '$current_user->id' };
-</script>
-EOT;
-            $action->raw($js_string);
-            $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 onEndShowLaconicaStyles($action)
+    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('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;
+    }
 }
-?>