forked from GNUsocial/gnu-social
Bookmarklet for new bookmarks
Override the bookmarklet help page to add a new popup.
This commit is contained in:
parent
6670dd8450
commit
0665beec58
@ -127,7 +127,8 @@ class BookmarkPlugin extends Plugin
|
||||
switch ($cls)
|
||||
{
|
||||
case 'NewbookmarkAction':
|
||||
include_once $dir.'/newbookmark.php';
|
||||
case 'BookmarkpopupAction':
|
||||
include_once $dir . '/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
|
||||
return false;
|
||||
case 'Notice_bookmark':
|
||||
include_once $dir.'/'.$cls.'.php';
|
||||
@ -156,6 +157,8 @@ class BookmarkPlugin extends Plugin
|
||||
array('action' => 'newbookmark'),
|
||||
array('id' => '[0-9]+'));
|
||||
|
||||
$m->connect('main/bookmark/popup', array('action' => 'bookmarkpopup'));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -312,5 +315,27 @@ class BookmarkPlugin extends Plugin
|
||||
_m('Simple extension for supporting bookmarks.'));
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load our document if requested
|
||||
*
|
||||
* @param string &$title Title to fetch
|
||||
* @param string &$output HTML to output
|
||||
*
|
||||
* @return boolean hook value
|
||||
*/
|
||||
|
||||
function onStartLoadDoc(&$title, &$output)
|
||||
{
|
||||
if ($title == 'bookmarklet') {
|
||||
$filename = INSTALLDIR.'/plugins/Bookmark/bookmarklet';
|
||||
|
||||
$c = file_get_contents($filename);
|
||||
$output = common_markup_to_html($c);
|
||||
return false; // success!
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
9
plugins/Bookmark/bookmarklet
Normal file
9
plugins/Bookmark/bookmarklet
Normal file
@ -0,0 +1,9 @@
|
||||
<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
|
||||
<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
|
||||
<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
|
||||
|
||||
A bookmarklet is a small piece of javascript code used as a bookmark. This one will let you post to %%site.name%% simply by selecting some text on a page and pressing the bookmarklet.
|
||||
|
||||
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:(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://%%site.server%%/%%site.path%%/index.php?action=bookmarkpopup',l=d.location,e=encodeURIComponent,g=f+'&title='+((e(s))?e(s):e(document.title))+'&url='+e(l.href);function%20a(){if(!w.open(g,'t','toolbar=0,resizable=0,scrollbars=1,status=1,width=650,height=470')){l.href=g;}}a();})()">Bookmark on %%site.name%%</a>
|
87
plugins/Bookmark/bookmarkpopup.php
Normal file
87
plugins/Bookmark/bookmarkpopup.php
Normal file
@ -0,0 +1,87 @@
|
||||
<?php
|
||||
/**
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Post a new bookmark in a popup window
|
||||
*
|
||||
* 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 Bookmark
|
||||
* @package StatusNet
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @copyright 2008-2010 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Action for posting a new bookmark
|
||||
*
|
||||
* @category Bookmark
|
||||
* @package StatusNet
|
||||
* @author Sarven Capadisli <csarven@status.net>
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class BookmarkpopupAction extends NewbookmarkAction
|
||||
{
|
||||
function prepare($args)
|
||||
{
|
||||
$result = parent::prepare($args);
|
||||
common_debug('Values: ' . $this->_title . ' ' . $this->_url);
|
||||
return $result;
|
||||
}
|
||||
|
||||
function showTitle()
|
||||
{
|
||||
// TRANS: Title for mini-posting window loaded from bookmarklet.
|
||||
// TRANS: %s is the StatusNet site name.
|
||||
$this->element('title',
|
||||
null, sprintf(_('Bookmark on %s'),
|
||||
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()) {
|
||||
$form = new BookmarkForm($this,
|
||||
$this->_title,
|
||||
$this->_url);
|
||||
$form->show();
|
||||
}
|
||||
$this->elementEnd('div');
|
||||
}
|
||||
|
||||
function showCore()
|
||||
{
|
||||
}
|
||||
|
||||
function showFooter()
|
||||
{
|
||||
}
|
||||
}
|
@ -47,13 +47,13 @@ if (!defined('STATUSNET')) {
|
||||
|
||||
class NewbookmarkAction extends Action
|
||||
{
|
||||
private $_user = null;
|
||||
private $_error = null;
|
||||
private $_complete = null;
|
||||
private $_title = null;
|
||||
private $_url = null;
|
||||
private $_tags = null;
|
||||
private $_description = null;
|
||||
protected $_user = null;
|
||||
protected $_error = null;
|
||||
protected $_complete = null;
|
||||
protected $_title = null;
|
||||
protected $_url = null;
|
||||
protected $_tags = null;
|
||||
protected $_description = null;
|
||||
|
||||
/**
|
||||
* Returns the title of the action
|
||||
|
Loading…
Reference in New Issue
Block a user