diff --git a/.gitignore b/.gitignore index b8c6446f..a42c7aae 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,7 @@ public/assets/images/ public/assets/svg/ public/assets/css/index.css.map public/assets/css/index.css +public/assets/simplemde/ /public/assets/pwstrength-bootstrap/ /public/assets/sweetalert2/ /public/assets/urijs diff --git a/app/Http/Controllers/Api/UserApiController.php b/app/Http/Controllers/Api/UserApiController.php index e47432c2..310e7743 100644 --- a/app/Http/Controllers/Api/UserApiController.php +++ b/app/Http/Controllers/Api/UserApiController.php @@ -193,16 +193,24 @@ final class UserApiController extends APICRUDController protected function curateUpdatePayload(array $payload): array { - return HTMLCleaner::cleanData($payload, [ - 'bio', 'statement_of_interest' - ]); + if(in_array("bio", $payload)){ + $payload["bio"] = strip_tags($payload["bio"]); + } + if(in_array("statement_of_interest", $payload)){ + $payload["statement_of_interest"] = strip_tags($payload["statement_of_interest"]); + } + return $payload; } protected function curateCreatePayload(array $payload): array { - return HTMLCleaner::cleanData($payload, [ - 'bio', 'statement_of_interest' - ]); + if(in_array("bio", $payload)){ + $payload["bio"] = strip_tags($payload["bio"]); + } + if(in_array("statement_of_interest", $payload)){ + $payload["statement_of_interest"] = strip_tags($payload["statement_of_interest"]); + } + return $payload; } /** diff --git a/public/assets/js/admin/edit-user.js b/public/assets/js/admin/edit-user.js index 29db2bb8..ddbe011b 100644 --- a/public/assets/js/admin/edit-user.js +++ b/public/assets/js/admin/edit-user.js @@ -83,8 +83,12 @@ $(document).ready(function() { } }); - $('#bio').summernote(); - $('#statement_of_interest').summernote(); + //$('#bio').summernote(); + //$('#statement_of_interest').summernote(); + + var simplemdeBio = new SimpleMDE({ element: $("#bio")[0] }); + var simplemdeStatement = new SimpleMDE({ element: $("#statement_of_interest")[0] }); + $('#birthday').datepicker(); $('#country_iso_code').chosen({width: '100%', height: '34px'}); @@ -140,6 +144,10 @@ $(document).ready(function() { user.birthday = ''; } + // get values + user.bio = simplemdeBio.value(); + user.statement_of_interest = simplemdeStatement.value(); + var groups = user.groups; delete user.groups; user.groups = []; @@ -175,7 +183,7 @@ $(document).ready(function() { type: "success", text: "User info updated successfully!", }); - location.reload(); + location.reload(true); }, error: function (jqXHR, textStatus, errorThrown) { $('body').ajax_loader('stop'); diff --git a/public/assets/js/profile.js b/public/assets/js/profile.js index dfe35a40..80ec45a8 100644 --- a/public/assets/js/profile.js +++ b/public/assets/js/profile.js @@ -35,8 +35,12 @@ $(document).ready(function() { } }); - $('#bio').summernote(); - $('#statement_of_interest').summernote(); + //$('#bio').summernote(); + //$('#statement_of_interest').summernote(); + + var simplemdeBio = new SimpleMDE({ element: $("#bio")[0] }); + var simplemdeStatement = new SimpleMDE({ element: $("#statement_of_interest")[0] }); + $('#birthday').datepicker(); $('#img-pic',form).data('original-src', $('#img-pic', form).attr('src')); @@ -93,6 +97,10 @@ $(document).ready(function() { user.birthday = ''; } + // get values + user.bio = simplemdeBio.value(); + user.statement_of_interest = simplemdeStatement.value(); + var href = $(this).attr('action'); var data = new FormData(); @@ -123,6 +131,7 @@ $(document).ready(function() { $("#password").val(''); $("#current_password").val(''); $('.change-password-link').show(); + location.reload(true); }, error: function (jqXHR, textStatus, errorThrown) { $('body').ajax_loader('stop'); diff --git a/resources/views/admin/edit-user.blade.php b/resources/views/admin/edit-user.blade.php index 86e1cad9..fe96b6d4 100644 --- a/resources/views/admin/edit-user.blade.php +++ b/resources/views/admin/edit-user.blade.php @@ -237,6 +237,8 @@ @endforeach + {!! HTML::script('assets/simplemde/simplemde.min.js') !!} + {!! HTML::style('assets/simplemde/simplemde.min.css') !!} {!! HTML::script('assets/pwstrength-bootstrap/pwstrength-bootstrap.js') !!} {!! HTML::style('assets/chosen-js/chosen.css') !!} {!! HTML::script('assets/chosen-js/chosen.jquery.js') !!} diff --git a/resources/views/profile.blade.php b/resources/views/profile.blade.php index 86b2d467..3743c91b 100644 --- a/resources/views/profile.blade.php +++ b/resources/views/profile.blade.php @@ -369,7 +369,10 @@ var current_language = '{!!$user->language!!}'; var current_country = '{!!$user->country_iso_code!!}'; var current_gender = '{!! $user->gender !!}'; + + {!! HTML::script('assets/simplemde/simplemde.min.js') !!} + {!! HTML::style('assets/simplemde/simplemde.min.css') !!} {!! HTML::script('assets/pwstrength-bootstrap/pwstrength-bootstrap.js') !!} {!! HTML::style('assets/chosen-js/chosen.css') !!} {!! HTML::script('assets/chosen-js/chosen.jquery.js') !!} diff --git a/webpack.config.js b/webpack.config.js index 4986a561..d8727001 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -42,6 +42,7 @@ var plugins = [ {from: './node_modules/chosen-js', to: 'chosen-js'}, {from: './node_modules/moment', to: 'moment'}, {from: './node_modules/@github/clipboard-copy-element/dist', to: 'clipboard-copy-element'}, + {from: './node_modules/simplemde/dist', to: 'simplemde'}, ], {copyUnmodified: false} ),