]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Updated bookmarklet. Created its own action
authorSarven Capadisli <csarven@status.net>
Thu, 29 Oct 2009 12:18:51 +0000 (13:18 +0100)
committerSarven Capadisli <csarven@status.net>
Thu, 29 Oct 2009 12:18:51 +0000 (13:18 +0100)
actions/bookmarklet.php [new file with mode: 0644]
doc-src/bookmarklet
js/util.js
lib/router.php

diff --git a/actions/bookmarklet.php b/actions/bookmarklet.php
new file mode 100644 (file)
index 0000000..f253399
--- /dev/null
@@ -0,0 +1,75 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Handler for posting new notices
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category  Bookmarklet
+ * @package   StatusNet
+ * @author    Sarven Capadisli <csarven@status.net>
+ * @copyright 2008-2009 StatusNet, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link      http://status.net/
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) {
+    exit(1);
+}
+
+require_once INSTALLDIR . '/actions/newnotice.php';
+
+/**
+ * Action for posting a notice 
+ *
+ * @category Bookmarklet
+ * @package  StatusNet
+ * @author   Sarven Capadisli <csarven@status.net>
+ * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link     http://status.net/
+ */
+
+class BookmarkletAction extends NewnoticeAction
+{
+    function showTitle()
+    {
+        $this->element('title', null, _('Post to '.common_config('site', 'name')));
+    }
+
+    function showHeader()
+    {
+        $this->elementStart('div', array('id' => 'header'));
+        $this->elementStart('address');
+        $this->element('a', array('class' => 'url',
+                                  'href' => common_local_url('public')),
+                         '');
+        $this->elementEnd('address');
+        if (common_logged_in()) {
+            $this->showNoticeForm();
+        }
+        $this->elementEnd('div');
+    }
+
+    function showCore()
+    {
+    }
+
+    function showFooter()
+    {
+    }
+}
+
index e5ded770234bbbfcc3b2494375ef1622b1d10cb5..0aa9e1e490f0353d97285e2bcd6b885a62e78705 100644 (file)
@@ -2,4 +2,4 @@ A bookmarklet is a small piece of javascript code used as a bookmark. This one w
 
 Drag-and-drop the following link to your bookmarks bar or right-click it and add it to your browser favorites to keep it handy.
 
-<a href="javascript:var%20d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='http://%%site.server%%/%%site.path%%/index.php?action=newnotice',l=d.location,e=encodeURIComponent,g=f+'&amp;status_textarea=%22'+((e(s))?e(s):e(document.title))+'%22 from '+l.href;function%20a(){if(!w.open(g,'t','toolbar=0,resizable=0,scrollbars=1,status=1,width=800,height=570')){l.href=g;}}a();void(0);">Post to %%site.name%%</a>
+<a href="javascript:(function(){var%20d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='http://localhost/dev/index.php?action=bookmarklet',l=d.location,e=encodeURIComponent,g=f+'&status_textarea=%22'+((e(s))?e(s):e(document.title))+'%22%20%E2%80%94%20'+l.href;function%20a(){if(!w.open(g,'t','toolbar=0,resizable=0,scrollbars=1,status=1,width=650,height=200')){l.href=g;}}a();})()">Post to %%site.name%%</a>
index 0a943512f2a33c4bd7c551a43c6f71d07e47c278..b079388e4772645de14fcfa76f42642ce86b8832 100644 (file)
@@ -241,6 +241,9 @@ $(document).ready(function(){
                                                                                                        alert(result);
                                                                                                }
                                                                                                else {
+                                                                                                   if($('body')[0].id == 'bookmarklet') {
+                                                                                                       self.close();
+                                                                                                   }
                                                                                                    if ($("#command_result", xml).length > 0) {
                                                                                                            var result = document._importNode($("p", xml).get(0), true);
                                                                                                            result = result.textContent || result.innerHTML;
index dedf73c865732822789a7692d5da243763c28a9a..2fd255fe6ff6161ad0f486f09f58410cd180adaa 100644 (file)
@@ -179,6 +179,8 @@ class Router
                         array('action' => 'deletenotice'),
                         array('notice' => '[0-9]+'));
 
+            $m->connect('bookmarklet/new', array('action' => 'bookmarklet'));
+
             // conversation
 
             $m->connect('conversation/:id',