aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2018-02-24 13:20:59 -0800
committerzotlabs <mike@macgirvin.com>2018-02-24 13:20:59 -0800
commit3153129e2eb968a189a8a7050d06892cbc13c651 (patch)
tree0c5b10085e686cb104616a48577a25ecaee0d579
parente6f9f284bf04f0dc0471fa08d7dac118effe4ccb (diff)
downloadvolse-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.php19
-rw-r--r--view/js/mod_profile_photo.js4
-rwxr-xr-xview/tpl/profile_photo.tpl2
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>