aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario Vavti <mario@mariovavti.com>2016-02-29 22:01:13 +0100
committerMario Vavti <mario@mariovavti.com>2016-02-29 22:01:13 +0100
commitd27a627c4f65ca67bcc0f46fb830368c713043cd (patch)
tree7311b1ee2e397e16f3cb1a80ab5a83fbc35474f1
parent55ab5360d984700e3145a5933cd1275cfb54b76c (diff)
downloadvolse-hubzilla-d27a627c4f65ca67bcc0f46fb830368c713043cd.tar.gz
volse-hubzilla-d27a627c4f65ca67bcc0f46fb830368c713043cd.tar.bz2
volse-hubzilla-d27a627c4f65ca67bcc0f46fb830368c713043cd.zip
simplify profile edit button(s) and make it useful for multiple profiles
-rw-r--r--include/identity.php92
-rwxr-xr-xview/tpl/profile_advanced.tpl15
-rwxr-xr-xview/tpl/profile_vcard.tpl18
3 files changed, 72 insertions, 53 deletions
diff --git a/include/identity.php b/include/identity.php
index caf2de710..dc60e661c 100644
--- a/include/identity.php
+++ b/include/identity.php
@@ -900,6 +900,55 @@ function profile_load(&$a, $nickname, $profile = '') {
}
+function profile_edit_menu($uid) {
+
+ $a = get_app();
+ $ret = array();
+
+ $is_owner = (($uid == local_channel()) ? true : false);
+
+ // show edit profile to profile owner
+ if($is_owner) {
+ $ret['menu'] = array(
+ 'chg_photo' => t('Change profile photo'),
+ 'entries' => array(),
+ );
+
+ $multi_profiles = feature_enabled(local_channel(), 'multi_profiles');
+ if($multi_profiles) {
+ $ret['multi'] = 1;
+ $ret['edit'] = array($a->get_baseurl(). '/profiles', t('Edit Profiles'), '', t('Edit'));
+ $ret['menu']['cr_new'] = t('Create New Profile');
+ }
+ else {
+ $ret['edit'] = array($a->get_baseurl() . '/profiles/' . $uid, t('Edit Profile'), '', t('Edit'));
+ }
+
+ $r = q("SELECT * FROM profile WHERE uid = %d",
+ local_channel()
+ );
+
+ if($r) {
+ foreach($r as $rr) {
+ if(!($multi_profiles || $rr['is_default']))
+ continue;
+ $ret['menu']['entries'][] = array(
+ 'photo' => $rr['thumb'],
+ 'id' => $rr['id'],
+ 'alt' => t('Profile Image'),
+ 'profile_name' => $rr['profile_name'],
+ 'isdefault' => $rr['is_default'],
+ 'visible_to_everybody' => t('Visible to everybody'),
+ 'edit_visibility' => t('Edit visibility'),
+ );
+ }
+ }
+ }
+
+ return $ret;
+
+}
+
/**
* @brief Formats a profile for display in the sidebar.
*
@@ -961,42 +1010,6 @@ function profile_sidebar($profile, $block = 0, $show_connect = true, $zcard = fa
$connect_url = z_root() . '/connect/' . $profile['channel_address'];
}
- // show edit profile to yourself
- if($is_owner) {
- $profile['menu'] = array(
- 'chg_photo' => t('Change profile photo'),
- 'entries' => array(),
- );
-
- $multi_profiles = feature_enabled(local_channel(), 'multi_profiles');
- if($multi_profiles) {
- $profile['edit'] = array($a->get_baseurl(). '/profiles', t('Profiles'),"", t('Manage/edit profiles'));
- $profile['menu']['cr_new'] = t('Create New Profile');
- }
- else
- $profile['edit'] = array($a->get_baseurl() . '/profiles/' . $profile['id'], t('Edit Profile'),'',t('Edit Profile'));
-
- $r = q("SELECT * FROM `profile` WHERE `uid` = %d",
- local_channel());
-
- if($r) {
- foreach($r as $rr) {
- if(!($multi_profiles || $rr['is_default']))
- continue;
- $profile['menu']['entries'][] = array(
- 'photo' => $rr['thumb'],
- 'id' => $rr['id'],
- 'alt' => t('Profile Image'),
- 'profile_name' => $rr['profile_name'],
- 'isdefault' => $rr['is_default'],
- 'visible_to_everybody' => t('visible to everybody'),
- 'edit_visibility' => t('Edit visibility'),
- );
- }
- }
- }
-
-
if((x($profile,'address') == 1)
|| (x($profile,'locality') == 1)
|| (x($profile,'region') == 1)
@@ -1075,6 +1088,7 @@ function profile_sidebar($profile, $block = 0, $show_connect = true, $zcard = fa
'$reddress' => $reddress,
'$rating' => $z,
'$contact_block' => $contact_block,
+ '$editmenu' => profile_edit_menu($profile['uid'])
));
$arr = array('profile' => &$profile, 'entry' => &$o);
@@ -1347,10 +1361,6 @@ function advanced_profile(&$a) {
$profile['extra_fields'] = $a->profile['extra_fields'];
}
-
- $is_owner = (($a->profile['profile_uid'] == local_channel()) ? true : false);
- $edit = (($is_owner) ? array('link' => $a->get_baseurl() . '/profiles/' . $a->profile['profile_uid'], 'label' => t('Edit')) : '');
-
$things = get_things($a->profile['profile_guid'],$a->profile['profile_uid']);
// logger('mod_profile: things: ' . print_r($things,true), LOGGER_DATA);
@@ -1360,7 +1370,7 @@ function advanced_profile(&$a) {
'$canlike' => (($profile['canlike'])? true : false),
'$likethis' => t('Like this thing'),
'$profile' => $profile,
- '$edit' => $edit,
+ '$editmenu' => profile_edit_menu($a->profile['profile_uid']),
'$things' => $things
));
}
diff --git a/view/tpl/profile_advanced.tpl b/view/tpl/profile_advanced.tpl
index 780626cf9..3d09b762d 100755
--- a/view/tpl/profile_advanced.tpl
+++ b/view/tpl/profile_advanced.tpl
@@ -12,8 +12,19 @@
<i class="icon-thumbs-up-alt" title="{{$profile.likethis}}"></i>
</button>
{{/if}}
- {{if $edit}}
- <a href="{{$edit.link}}" class="btn btn-primary btn-xs"><i class="icon-pencil"></i>&nbsp;{{$edit.label}}</a>
+ {{if $editmenu.multi}}
+ <a class="btn btn-primary btn-xs dropdown-toggle" data-toggle="dropdown" href="#" ><i class="icon-pencil"></i>&nbsp;{{$editmenu.edit.3}}</a>
+ <ul class="dropdown-menu" role="menu">
+ {{foreach $editmenu.menu.entries as $e}}
+ <li>
+ <a href="profiles/{{$e.id}}"><img class="dropdown-menu-img-xs" src='{{$e.photo}}'>{{$e.profile_name}}<div class='clear'></div></a>
+ </li>
+ {{/foreach}}
+ <li><a href="profile_photo" >{{$editmenu.menu.chg_photo}}</a></li>
+ {{if $editmenu.menu.cr_new}}<li><a href="profiles/new" id="profile-listing-new-link">{{$editmenu.menu.cr_new}}</a></li>{{/if}}
+ </ul>
+ {{else}}
+ <a class="btn btn-primary btn-xs" href="{{$editmenu.edit.0}}" ><i class="icon-pencil"></i>&nbsp;{{$editmenu.edit.3}}</a>
{{/if}}
</div>
<h2>{{$title}}</h2>
diff --git a/view/tpl/profile_vcard.tpl b/view/tpl/profile_vcard.tpl
index 56c262564..3c3bfda5a 100755
--- a/view/tpl/profile_vcard.tpl
+++ b/view/tpl/profile_vcard.tpl
@@ -6,19 +6,21 @@
<div class="connect-btn-wrapper"><a href="{{$connect_url}}" class="btn btn-block btn-success btn-sm"><i class="icon-plus"></i> {{$connect}}</a></div>
{{/if}}
{{if ! $zcard}}
- {{if $profile.edit}}
+ {{if $editmenu.multi}}
<div class="dropdown">
- <a class="profile-edit-side-link dropdown-toggle" data-toggle="dropdown" title="{{$profile.edit.3}}" href="#" ><i class="icon-pencil" title="{{$profile.edit.1}}" ></i></a>
+ <a class="profile-edit-side-link dropdown-toggle" data-toggle="dropdown" href="#" ><i class="icon-pencil" title="{{$editmenu.edit.1}}"></i></a>
<ul class="dropdown-menu" role="menu">
- {{foreach $profile.menu.entries as $e}}
+ {{foreach $editmenu.menu.entries as $e}}
<li>
- <a href="profiles/{{$e.id}}"><img class="dropdown-menu-img-xs" src='{{$e.photo}}'>{{$e.profile_name}}<div class='clear'></div></a>
+ <a href="profiles/{{$e.id}}"><img class="dropdown-menu-img-xs" src='{{$e.photo}}'>{{$e.profile_name}}</a>
</li>
{{/foreach}}
- <li><a href="profile_photo" >{{$profile.menu.chg_photo}}</a></li>
- {{if $profile.menu.cr_new}}<li><a href="profiles/new" id="profile-listing-new-link">{{$profile.menu.cr_new}}</a></li>{{/if}}
+ <li><a href="profile_photo" >{{$editmenu.menu.chg_photo}}</a></li>
+ {{if $editmenu.menu.cr_new}}<li><a href="profiles/new" id="profile-listing-new-link">{{$editmenu.menu.cr_new}}</a></li>{{/if}}
</ul>
</div>
+ {{else}}
+ <a class="profile-edit-side-link" href="{{$editmenu.edit.0}}" ><i class="icon-pencil" title="{{$editmenu.edit.1}}"></i></a>
{{/if}}
{{/if}}
@@ -27,9 +29,6 @@
{{if $reddress}}<div class="reddress" oncopy="return false;">{{$profile.reddress}}</div>{{/if}}
{{/if}}
{{if $pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}}
-
-
-
{{if $location}}
<dl class="location"><dt class="location-label">{{$location}}</dt>
<dd class="adr">
@@ -45,7 +44,6 @@
{{/if}}
{{if $gender}}<dl class="mf"><dt class="gender-label">{{$gender}}</dt> <dd class="x-gender">{{$profile.gender}}</dd></dl>{{/if}}
-
{{if $marital}}<dl class="marital"><dt class="marital-label"><span class="heart">&hearts;</span>{{$marital}}</dt><dd class="marital-text">{{$profile.marital}}</dd></dl>{{/if}}