bookmarks - mop up and go home

This commit is contained in:
friendica 2014-02-04 17:12:13 -08:00
parent 3665bc38ef
commit aede006970
9 changed files with 66 additions and 5 deletions

View File

@ -171,6 +171,15 @@ class Item extends BaseObject {
); );
} }
$has_bookmarks = false;
if(is_array($item['term'])) {
foreach($item['term'] as $t) {
if($t['type'] == TERM_BOOKMARK)
$has_bookmarks = true;
}
}
if($this->is_commentable()) { if($this->is_commentable()) {
$like = array( t("I like this \x28toggle\x29"), t("like")); $like = array( t("I like this \x28toggle\x29"), t("like"));
$dislike = array( t("I don't like this \x28toggle\x29"), t("dislike")); $dislike = array( t("I don't like this \x28toggle\x29"), t("dislike"));
@ -237,6 +246,7 @@ class Item extends BaseObject {
'star' => ((feature_enabled($conv->get_profile_owner(),'star_posts')) ? $star : ''), 'star' => ((feature_enabled($conv->get_profile_owner(),'star_posts')) ? $star : ''),
'tagger' => ((feature_enabled($conv->get_profile_owner(),'commtag')) ? $tagger : ''), 'tagger' => ((feature_enabled($conv->get_profile_owner(),'commtag')) ? $tagger : ''),
'filer' => ((feature_enabled($conv->get_profile_owner(),'filing')) ? $filer : ''), 'filer' => ((feature_enabled($conv->get_profile_owner(),'filing')) ? $filer : ''),
'bookmark' => (($conv->get_profile_owner() == local_user() && $has_bookmarks) ? t('Bookmark Links') : ''),
'drop' => $drop, 'drop' => $drop,
'multidrop' => ((feature_enabled($conv->get_profile_owner(),'multi_delete')) ? $multidrop : ''), 'multidrop' => ((feature_enabled($conv->get_profile_owner(),'multi_delete')) ? $multidrop : ''),
// end toolbar buttons // end toolbar buttons

View File

@ -29,7 +29,7 @@ function bookmark_add($channel,$sender,$taxonomy,$private) {
$arr = array(); $arr = array();
$arr['menu_name'] = substr($sender['xchan_hash'],0,16) . ' ' . $sender['xchan_name']; $arr['menu_name'] = substr($sender['xchan_hash'],0,16) . ' ' . $sender['xchan_name'];
$arr['menu_desc'] = sprintf( t('%1$s\'s bookmarks'), $sender['xchan_name']); $arr['menu_desc'] = sprintf( t('%1$s\'s bookmarks'), $sender['xchan_name']);
$arr['menu_flags'] = MENU_SYSTEM|MENU_BOOKMARK; $arr['menu_flags'] = (($sender['xchan_hash'] === $channel['channel_hash']) ? MENU_BOOKMARK : MENU_SYSTEM|MENU_BOOKMARK);
$arr['menu_channel_id'] = $channel_id; $arr['menu_channel_id'] = $channel_id;
$x = menu_list($arr['menu_channel_id'],$arr['menu_name'],$arr['menu_flags']); $x = menu_list($arr['menu_channel_id'],$arr['menu_name'],$arr['menu_flags']);

View File

@ -1496,6 +1496,14 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
'title' => t('Events and Calendar'), 'title' => t('Events and Calendar'),
'id' => 'events-tab', 'id' => 'events-tab',
); );
$tabs[] = array(
'label' => t('Bookmarks'),
'url' => $a->get_baseurl() . '/bookmarks',
'sel' => ((argv(0) == 'bookmarks') ? 'active' : ''),
'title' => t('Saved Bookmarks'),
'id' => 'bookmarks-tab',
);
} }
if($is_owner && feature_enabled($a->profile['profile_uid'],'webpages')) { if($is_owner && feature_enabled($a->profile['profile_uid'],'webpages')) {

View File

@ -110,7 +110,7 @@ function menu_create($arr) {
function menu_list($channel_id, $name = '', $flags = 0) { function menu_list($channel_id, $name = '', $flags = 0) {
$sel_options = ''; $sel_options = '';
$sel_options .= (($name) ? " and name = '" . protect_sprintf(dbesc($name)) . "' " : ''); $sel_options .= (($name) ? " and menu_name = '" . protect_sprintf(dbesc($name)) . "' " : '');
$sel_options .= (($flags) ? " and menu_flags = " . intval($flags) . " " : ''); $sel_options .= (($flags) ? " and menu_flags = " . intval($flags) . " " : '');
$r = q("select * from menu where menu_channel_id = %d $sel_options order by menu_name", $r = q("select * from menu where menu_channel_id = %d $sel_options order by menu_name",

View File

@ -1,5 +1,39 @@
<?php <?php
function bookmarks_init(&$a) {
if(! local_user())
return;
$item_id = intval($_REQUEST['item']);
if(! $item_id)
return;
$u = $a->get_channel();
$i = q("select * from item where id = %d and uid = %d limit 1",
intval($item_id),
intval(local_user())
);
if(! $i)
return;
$i = fetch_post_tags($i);
$item = $i[0];
$terms = get_terms_oftype($item['term'],TERM_BOOKMARK);
if($terms && (! $i[0]['item_restrict'])) {
require_once('include/bookmarks.php');
require_once('include/Contact.php');
$s = channelx_by_hash($i[0]['author_xchan']);
foreach($terms as $t) {
bookmark_add($u,$s[0],$t,$i[0]['item_private']);
notice( t('Bookmark(s) added') . EOL);
}
}
killme();
}
function bookmarks_content(&$a) { function bookmarks_content(&$a) {
if(! local_user()) { if(! local_user()) {
notice( t('Permission denied.') . EOL); notice( t('Permission denied.') . EOL);

View File

@ -17,7 +17,7 @@ function connectFullShare() {
$('#me_id_perms_chat').attr('checked','checked'); $('#me_id_perms_chat').attr('checked','checked');
$('#me_id_perms_view_storage').attr('checked','checked'); $('#me_id_perms_view_storage').attr('checked','checked');
$('#me_id_perms_republish').attr('checked','checked'); $('#me_id_perms_republish').attr('checked','checked');
$('#me_id_perms_bookmark').attr('checked','checked');
} }
function connectCautiousShare() { function connectCautiousShare() {

View File

@ -66,7 +66,7 @@ function channel_privacy_macro(n) {
$('#id_write_pages option').eq(1).attr('selected','selected'); $('#id_write_pages option').eq(1).attr('selected','selected');
$('#id_delegate option').eq(0).attr('selected','selected'); $('#id_delegate option').eq(0).attr('selected','selected');
$('#id_republish option').eq(0).attr('selected','selected'); $('#id_republish option').eq(0).attr('selected','selected');
$('#id_bookmark option').eq(0).attr('selected','selected'); $('#id_bookmark option').eq(1).attr('selected','selected');
$('#id_profile_in_directory_onoff .off').removeClass('hidden'); $('#id_profile_in_directory_onoff .off').removeClass('hidden');
$('#id_profile_in_directory_onoff .on').addClass('hidden'); $('#id_profile_in_directory_onoff .on').addClass('hidden');
$('#id_profile_in_directory').val(0); $('#id_profile_in_directory').val(0);

View File

@ -85,6 +85,9 @@
{{/if}} {{/if}}
{{if $item.filer}} {{if $item.filer}}
<i id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item icon-folder-open item-tool" title="{{$item.filer}}"></i> <i id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item icon-folder-open item-tool" title="{{$item.filer}}"></i>
{{/if}}
{{if $item.bookmark}}
<i id="bookmarker-{{$item.id}}" onclick="itemBookmark({{$item.id}}); return false;" class="bookmark-item icon-bookmark item-tool" title="{{$item.bookmark}}"></i>
{{/if}} {{/if}}
<div id="like-rotator-{{$item.id}}" class="like-rotator"></div> <div id="like-rotator-{{$item.id}}" class="like-rotator"></div>

View File

@ -185,7 +185,6 @@ function enableOnUser(){
} }
} }
function jotGetLocation() { function jotGetLocation() {
reply = prompt("{{$whereareu}}", $('#jot-location').val()); reply = prompt("{{$whereareu}}", $('#jot-location').val());
if(reply && reply.length) { if(reply && reply.length) {
@ -295,6 +294,13 @@ function enableOnUser(){
} }
function itemBookmark(id) {
$.get('{{$baseurl}}/bookmarks?f=&item=' + id);
if(timer) clearTimeout(timer);
timer = setTimeout(NavUpdate,1000);
}
function jotClearLocation() { function jotClearLocation() {
$('#jot-coord').val(''); $('#jot-coord').val('');
$('#profile-nolocation-wrapper').hide(); $('#profile-nolocation-wrapper').hide();