diff options
author | zotlabs <mike@macgirvin.com> | 2018-03-04 15:29:10 -0800 |
---|---|---|
committer | Mario Vavti <mario@mariovavti.com> | 2018-03-05 08:57:35 +0100 |
commit | af46c192bf7c217b7348082cbcacd3ea4659fae3 (patch) | |
tree | ff2ce240788fd1c01278c26e466b92492c0f7180 | |
parent | 77a8a2b9ac999eede28169420fb44ada95fa4644 (diff) | |
download | volse-hubzilla-af46c192bf7c217b7348082cbcacd3ea4659fae3.tar.gz volse-hubzilla-af46c192bf7c217b7348082cbcacd3ea4659fae3.tar.bz2 volse-hubzilla-af46c192bf7c217b7348082cbcacd3ea4659fae3.zip |
bugfix: unable to reset profile fields to defaults in admin/profs by emptying the textarea
-rw-r--r-- | Zotlabs/Module/Admin/Profs.php | 39 | ||||
-rw-r--r-- | include/channel.php | 1 |
2 files changed, 31 insertions, 9 deletions
diff --git a/Zotlabs/Module/Admin/Profs.php b/Zotlabs/Module/Admin/Profs.php index b3da09cb7..eb2501d43 100644 --- a/Zotlabs/Module/Admin/Profs.php +++ b/Zotlabs/Module/Admin/Profs.php @@ -9,17 +9,37 @@ class Profs { if(array_key_exists('basic',$_REQUEST)) { $arr = explode(',',$_REQUEST['basic']); - for($x = 0; $x < count($arr); $x ++) - if(trim($arr[$x])) - $arr[$x] = trim($arr[$x]); - set_config('system','profile_fields_basic',$arr); - + array_walk($arr,'array_trim'); + $narr = []; + if(count($arr)) { + foreach($arr as $a) { + if(strlen($a)) { + $narr[] = $a; + } + } + } + if(! $narr) + del_config('system','profile_fields_basic'); + else + set_config('system','profile_fields_basic',$narr); + + if(array_key_exists('advanced',$_REQUEST)) { $arr = explode(',',$_REQUEST['advanced']); - for($x = 0; $x < count($arr); $x ++) - if(trim($arr[$x])) - $arr[$x] = trim($arr[$x]); - set_config('system','profile_fields_advanced',$arr); + array_walk($arr,'array_trim'); + $narr = []; + if(count($arr)) { + foreach($arr as $a) { + if(strlen($a)) { + $narr[] = $a; + } + } + } + if(! $narr) + del_config('system','profile_fields_advanced'); + else + set_config('system','profile_fields_advanced',$narr); + } goaway(z_root() . '/admin/profs'); } @@ -98,6 +118,7 @@ class Profs { $basic = ''; $barr = array(); $fields = get_profile_fields_basic(); + if(! $fields) $fields = get_profile_fields_basic(1); if($fields) { diff --git a/include/channel.php b/include/channel.php index a8ddfa978..204c1e64f 100644 --- a/include/channel.php +++ b/include/channel.php @@ -1897,6 +1897,7 @@ function is_public_profile() { function get_profile_fields_basic($filter = 0) { $profile_fields_basic = (($filter == 0) ? get_config('system','profile_fields_basic') : null); + if(! $profile_fields_basic) $profile_fields_basic = array('fullname','pdesc','chandesc','comms','gender','dob','dob_tz','region','country_name','marital','sexual','homepage','hometown','keywords','about','contact'); |