turn multiple profiles into a feature, implement connection flags (block,hide,archive,etc.)

This commit is contained in:
friendica 2012-11-07 18:48:31 -08:00
parent cc8a11eee2
commit 3d56ab227d
9 changed files with 77 additions and 21 deletions

View File

@ -189,6 +189,7 @@ define ( 'PERMS_SPECIFIC' , 0x0080 );
define ( 'ABOOK_FLAG_BLOCKED' , 0x0001);
define ( 'ABOOK_FLAG_IGNORED' , 0x0002);
define ( 'ABOOK_FLAG_HIDDEN' , 0x0004);
define ( 'ABOOK_FLAG_ARCHIVED' , 0x0008);
define ( 'ABOOK_FLAG_SELF' , 0x0080);

View File

@ -27,6 +27,7 @@ array('savedsearch', t('Saved Searches'), t('Save search terms for re-use')
array('preview', t('Post Preview'), t('Preview posts and comments before publishing them')),
array('edit_posts', t('Edit Sent Posts'), t('Edit and correct posts and comments after sending')),
array('richtext', t('Richtext Editor'), t('Use richtext/visual editor where applicable')),
array('multi_profiles', t('Multiple Profiles'), t('Show different profiles to different connections/collections')),
);
call_hooks('get_features',$arr);

View File

@ -152,7 +152,9 @@ EOT;
$nav['manage'] = array('manage', t('Channel Select'), "", t('Manage Your Channels'));
$nav['settings'] = array('settings', t('Settings'),"", t('Account/Channel Settings'));
if(feature_enabled(local_user(),'multi_profiles'))
$nav['profiles'] = array('profiles', t('Profiles'),"", t('Manage/Edit Profiles'));
$nav['contacts'] = array('connections', t('Connections'),"", t('Manage/Edit Friends and Connections'));
}

View File

@ -307,9 +307,56 @@ EOT;
$contact_id = $a->data['abook']['abook_id'];
$contact = $a->data['abook'];
$editselect = 'none';
if(feature_enabled(local_user(),'richtext'))
$editselect = 'exact';
$tabs = array(
array(
'label' => t('View Profile'),
'url' => $a->get_baseurl(true) . '/connections/' . $contact['abook_id'] . '/profile',
'sel' => '',
'title' => sprintf( t('View %s\'s profile'), $contact['xchan_name']),
),
array(
'label' => (($contact['abook_flags'] & ABOOK_FLAG_BLOCKED) ? t('Unblock') : t('Block')),
'url' => $a->get_baseurl(true) . '/connections/' . $contact['abook_id'] . '/block',
'sel' => (($contact['abook_flags'] & ABOOK_FLAG_BLOCKED) ? 'active' : ''),
'title' => t('Block or Unblock this connection'),
),
array(
'label' => (($contact['abook_flags'] & ABOOK_FLAG_IGNORED) ? t('Unignore') : t('Ignore')),
'url' => $a->get_baseurl(true) . '/connections/' . $contact['abook_id'] . '/ignore',
'sel' => (($contact['abook_flags'] & ABOOK_FLAG_IGNORED) ? 'active' : ''),
'title' => t('Ignore or Unignore this connection'),
),
array(
'label' => (($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? t('Unarchive') : t('Archive')),
'url' => $a->get_baseurl(true) . '/connections/' . $contact['abook_id'] . '/archive',
'sel' => (($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? 'active' : ''),
'title' => t('Archive or Unarchive this connection'),
),
array(
'label' => (($contact['abook_flags'] & ABOOK_FLAG_HIDDEN) ? t('Unhide') : t('Hide')),
'url' => $a->get_baseurl(true) . '/connections/' . $contact['abook_id'] . '/hide',
'sel' => (($contact['abook_flags'] & ABOOK_FLAG_HIDDEN) ? 'active' : ''),
'title' => t('Hide or Unhide this connection'),
),
array(
'label' => t('Delete'),
'url' => $a->get_baseurl(true) . '/connections/' . $contact['abook_id'] . '/drop',
'sel' => '',
'title' => t('Delete this connection'),
),
);
$tab_tpl = get_markup_template('common_tabs.tpl');
$t = replace_macros($tab_tpl, array('$tabs'=>$tabs));
$a->page['htmlhead'] .= replace_macros(get_markup_template('contact_head.tpl'), array(
'$baseurl' => $a->get_baseurl(true),
@ -326,7 +373,6 @@ EOT;
'$val' => $contact['abook_closeness'],
'$intimate' => t('Best Friends'),
'$friends' => t('Friends'),
'$coworkers' => t('Co-workers'),
'$oldfriends' => t('Former Friends'),
'$acquaintances' => t('Acquaintances'),
'$world' => t('Unknown')
@ -337,6 +383,7 @@ EOT;
'$header' => t('Contact Settings') . ' for ' . $contact['xchan_name'],
'$viewprof' => t('View Profile'),
'$slide' => $slide,
'$tabs' => $t,
'$tab_str' => $tab_str,
'$submit' => t('Submit'),
'$lbl_vis1' => t('Profile Visibility'),

View File

@ -1 +1 @@
2012-11-06.130
2012-11-07.131

View File

@ -3709,3 +3709,4 @@ ul.menu-popup {
.notify-seen {
background: #DDDDDD;
}

View File

@ -1,8 +1,10 @@
<h2>$header</h2>
<br />
<a href="connections/$contact_id/profile">$viewprof</a>
<div id="connection-flag-tabs">
$tabs
</div>
<div id="contact-edit-wrapper">
<br />
@ -10,6 +12,8 @@
$slide
<h3>Permissions</h3>
<form action="abook/$contact_id" method="post" >

View File

@ -1,4 +1,4 @@
<div id="contact-slider" class="slider" style="height: 32px; position: relative; left: 5%; width: 90%;"><input id="contact-range" type="text" name="fake-closeness" value="$val" /></div>
<script>
$("#contact-range").slider({ from: 0, to: 99, step: 1, scale: ['$me', '$intimate', '|', '$friends', '|', '$coworkers', '|', '$oldfriends', '|', '$acquaintances', '|', '$world' ], onstatechange: function(v) { $("#contact-closeness-mirror").val(v); } });
$("#contact-range").slider({ from: 0, to: 99, step: 1, scale: ['$me', '|', '$intimate', '|', '$friends', '|', '$oldfriends', '|', '$acquaintances', '|', '$world' ], onstatechange: function(v) { $("#contact-closeness-mirror").val(v); } });
</script>

View File

@ -1,6 +1,6 @@
<div id="main-slider" class="slider" ><input id="main-range" type="text" name="cminmax" value="$val" /></div>
<script>
$("#main-range").slider({ from: 0, to: 99, step: 1, scale: ['$me', '$intimate', '|', '$friends', '|', '$coworkers', '|', '$oldfriends', '|', '$acquaintances', '|', '$world' ], onstatechange: function(v) {
$("#main-range").slider({ from: 0, to: 99, step: 1, scale: ['$me', '|', '$intimate', '|', '$friends', '|', '$oldfriends', '|', '$acquaintances', '|', '$world' ], onstatechange: function(v) {
var carr = v.split(";");
network_cmin = carr[0];
network_cmax = carr[1];