diff options
author | zotlabs <mike@macgirvin.com> | 2018-02-24 13:20:59 -0800 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2018-02-24 13:20:59 -0800 |
commit | 3153129e2eb968a189a8a7050d06892cbc13c651 (patch) | |
tree | 0c5b10085e686cb104616a48577a25ecaee0d579 | |
parent | e6f9f284bf04f0dc0471fa08d7dac118effe4ccb (diff) | |
download | volse-hubzilla-3153129e2eb968a189a8a7050d06892cbc13c651.tar.gz volse-hubzilla-3153129e2eb968a189a8a7050d06892cbc13c651.tar.bz2 volse-hubzilla-3153129e2eb968a189a8a7050d06892cbc13c651.zip |
make the profile photo image picker work correctly with multiple profiles.
-rw-r--r-- | Zotlabs/Module/Profile_photo.php | 19 | ||||
-rw-r--r-- | view/js/mod_profile_photo.js | 4 | ||||
-rwxr-xr-x | view/tpl/profile_photo.tpl | 2 |
3 files changed, 20 insertions, 5 deletions
diff --git a/Zotlabs/Module/Profile_photo.php b/Zotlabs/Module/Profile_photo.php index c772f0ed3..44b7c18c6 100644 --- a/Zotlabs/Module/Profile_photo.php +++ b/Zotlabs/Module/Profile_photo.php @@ -304,7 +304,7 @@ class Profile_photo extends \Zotlabs\Web\Controller { } $channel = \App::get_channel(); - + $pf = 0; $newuser = false; if(argc() == 2 && argv(1) === 'new') @@ -318,8 +318,8 @@ class Profile_photo extends \Zotlabs\Web\Controller { $resource_id = argv(2); - // When using an existing photo, we don't have a dialogue to offer a choice of profiles, - // so it gets attached to the default + + $pf = (($_REQUEST['pf']) ? intval($_REQUEST['pf']) : 0); $c = q("select id, is_default from profile where uid = %d", intval(local_channel()) @@ -331,6 +331,9 @@ class Profile_photo extends \Zotlabs\Web\Controller { $_REQUEST['profile'] = $c[0]['id']; $multi_profiles = false; } + else { + $_REQUEST['profile'] = $pf; + } $r = q("SELECT id, album, imgscale FROM photo WHERE uid = %d AND resource_id = '%s' ORDER BY imgscale ASC", intval(local_channel()), @@ -430,6 +433,16 @@ class Profile_photo extends \Zotlabs\Web\Controller { intval(local_channel()) ); + if($profiles) { + for($x = 0; $x < count($profiles); $x ++) { + $profiles[$x]['selected'] = false; + if($pf && $profiles[$x]['id'] == $pf) + $profiles[$x]['selected'] = true; + if((! $pf) && $profiles[$x]['is_default']) + $profiles[$x]['selected'] = true; + } + } + $importing = ((array_key_exists('importfile',\App::$data)) ? true : false); if(! x(\App::$data,'imagecrop')) { diff --git a/view/js/mod_profile_photo.js b/view/js/mod_profile_photo.js index 76b120684..832da764b 100644 --- a/view/js/mod_profile_photo.js +++ b/view/js/mod_profile_photo.js @@ -37,7 +37,9 @@ $.post("embedphotos/photolink", {href: href}, function(ddata) { if (ddata['status']) { - window.location.href = 'profile_photo/use/' + ddata['resource_id']; + var pf = $('#profile-photo-profiles').val(); + var prof = ((typeof pf !== 'undefined') ? '?f=&pf=' + pf : ''); + window.location.href = 'profile_photo/use/' + ddata['resource_id'] + prof; } else { window.console.log("{{$modalerrorlink}}" + ':' + ddata['errormsg']); } diff --git a/view/tpl/profile_photo.tpl b/view/tpl/profile_photo.tpl index 1f468c2e5..832f135f3 100755 --- a/view/tpl/profile_photo.tpl +++ b/view/tpl/profile_photo.tpl @@ -27,7 +27,7 @@ <label id="profile-photo-profiles-label" class="form-label" for="profile-photo-profiles">{{$lbl_profiles}}</label> <select name="profile" id="profile-photo-profiles" class="form-control" > {{foreach $profiles as $p}} - <option value="{{$p.id}}" {{if $p.is_default}}selected="selected"{{/if}}>{{$p.name}}</option> + <option value="{{$p.id}}" {{if $p.selected}}selected="selected"{{/if}}>{{$p.name}}</option> {{/foreach}} </select> <div class="clear"></div> |