$action->script($this->path('js/bookmark.js'));
return true;
}
- /**
- * Load related modules when needed
- *
- * @param string $cls Name of the class to be loaded
- *
- * @return boolean hook value; true means continue processing, false means stop.
- */
- function onAutoload($cls)
- {
- $dir = dirname(__FILE__);
-
- switch ($cls)
- {
- case 'ShowbookmarkAction':
- case 'NewbookmarkAction':
- case 'BookmarkpopupAction':
- case 'NoticebyurlAction':
- case 'BookmarkforurlAction':
- case 'ImportdeliciousAction':
- include_once $dir . '/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
- return false;
- case 'Bookmark':
- include_once $dir.'/'.$cls.'.php';
- return false;
- case 'BookmarkListItem':
- case 'BookmarkForm':
- case 'InitialBookmarkForm':
- case 'DeliciousBackupImporter':
- case 'DeliciousBookmarkImporter':
- include_once $dir.'/'.strtolower($cls).'.php';
- return false;
- default:
- return true;
- }
- }
/**
* Map URLs to actions
*/
function onRouterInitialized($m)
{
+ if (common_config('singleuser', 'enabled')) {
+ $nickname = User::singleUserNickname();
+ $m->connect('bookmarks',
+ array('action' => 'bookmarks', 'nickname' => $nickname));
+ $m->connect('bookmarks/rss',
+ array('action' => 'bookmarksrss', 'nickname' => $nickname));
+ } else {
+ $m->connect(':nickname/bookmarks',
+ array('action' => 'bookmarks'),
+ array('nickname' => Nickname::DISPLAY_FMT));
+ $m->connect(':nickname/bookmarks/rss',
+ array('action' => 'bookmarksrss'),
+ array('nickname' => Nickname::DISPLAY_FMT));
+ }
+
+ $m->connect('api/bookmarks/:id.:format',
+ array('action' => 'ApiTimelineBookmarks',
+ 'id' => Nickname::INPUT_FMT,
+ 'format' => '(xml|json|rss|atom|as)'));
+
$m->connect('main/bookmark/new',
array('action' => 'newbookmark'),
array('id' => '[0-9]+'));
{
$versions[] = array('name' => 'Bookmark',
'version' => self::VERSION,
- 'author' => 'Evan Prodromou',
+ 'author' => 'Evan Prodromou, Stephane Berube, Jean Baptiste Favre',
'homepage' => 'http://status.net/wiki/Plugin:Bookmark',
'description' =>
// TRANS: Plugin description.
- _m('Simple extension for supporting bookmarks.'));
+ _m('Simple extension for supporting bookmarks. ') .
+ 'BookmarkList feature has been developped by Stephane Berube. ' .
+ 'Integration has been done by Jean Baptiste Favre.');
return true;
}
return false;
}
+ /**
+ * Modify the default menu to link to our custom action
+ *
+ * Using event handlers, it's possible to modify the default UI for pages
+ * almost without limit. In this method, we add a menu item to the default
+ * primary menu for the interface to link to our action.
+ *
+ * The Action class provides a rich set of events to hook, as well as output
+ * methods.
+ *
+ * @param Action $action The current action handler. Use this to
+ * do any output.
+ *
+ * @return boolean hook value; true means continue processing, false means stop.
+ *
+ * @see Action
+ */
+ function onEndPersonalGroupNav($action)
+ {
+ $this->user = common_current_user();
+
+ if (!$this->user) {
+ // TRANS: Client error displayed when trying to display bookmarks for a non-existing user.
+ $this->clientError(_('No such user.'));
+ return false;
+ }
+
+ $action->menuItem(common_local_url('bookmarks', array('nickname' => $this->user->nickname)),
+ // TRANS: Menu item in sample plugin.
+ _m('Bookmarks'),
+ // TRANS: Menu item title in sample plugin.
+ _m('A list of your bookmarks'), false, 'nav_timeline_bookmarks');
+ return true;
+ }
+
/**
* Save a remote bookmark (from Salmon or PuSH)
*
if (!empty($other)) {
$options['replies'][] = $replyURI;
} else {
- $group = User_group::staticGet('uri', $replyURI);
+ $group = User_group::getKV('uri', $replyURI);
if (!empty($group)) {
$options['groups'][] = $replyURI;
}
// @fixme what about conversation ID?
if (!empty($activity->context->replyToID)) {
- $orig = Notice::staticGet('uri',
+ $orig = Notice::getKV('uri',
$activity->context->replyToID);
if (!empty($orig)) {
$options['reply_to'] = $orig->id;
{
assert($obj->type == ActivityObject::BOOKMARK);
- $bm = Bookmark::staticGet('uri', $obj->id);
+ $bm = Bookmark::getKV('uri', $obj->id);
if (empty($bm)) {
throw new ServerException("Unknown bookmark: " . $obj->id);