diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ed448a..24d5413 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ ## [Unreleased] +## 2.0.1 +### Fixed +- fix #78: Top menu is broken - invisible apps are shown +- fix #77: Update personal settings - HTTP error 412 (Precondition Failed) +- fix js error on the personal settings page (undefined sortable) + ## 2.0.0 ### Fixed - fix #66: removing usage of setInterval diff --git a/appinfo/info.xml b/appinfo/info.xml index dec246d..d48d084 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -26,7 +26,7 @@ If you like this application and if you want to support the development: * [Donate with liberapay](https://liberapay.com/deblan) * [Leave a comment](https://apps.nextcloud.com/apps/side_menu#comments) ]]> - 2.0.0 + 2.0.1 agpl Simon Vieille SideMenu diff --git a/lib/Controller/PersonalSettingController.php b/lib/Controller/PersonalSettingController.php index 99bc65a..90fb758 100644 --- a/lib/Controller/PersonalSettingController.php +++ b/lib/Controller/PersonalSettingController.php @@ -54,6 +54,7 @@ class PersonalSettingController extends Controller /** * @NoAdminRequired + * @NoCSRFRequired * * @param mixed $name * @param mixed $value diff --git a/src/admin.js b/src/admin.js index 3058e24..2d63eca 100644 --- a/src/admin.js +++ b/src/admin.js @@ -21,16 +21,17 @@ const selector = '#side-menu-message' const userConfig = (name, value, callbacks) => { const url = OC.generateUrl('/apps/side_menu/personalSetting/valueSet') - const formData = new FormData() - formData.append('name', name) - formData.append('value', value) + const formData = [] + + formData.push('name=' + encodeURIComponent(name)) + formData.push('value=' + encodeURIComponent(value)) fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, - body: formData + body: formData.join('&') }) .then(callbacks.success) .catch(callbacks.error) @@ -190,13 +191,16 @@ document.addEventListener('DOMContentLoaded', () => { placeholderClass: 'side-menu-setting-list-drop' }) - sortable('#categories-list .side-menu-setting-list')[0].addEventListener('sortstop', (e) => { - let value = [] + try { + sortable('#categories-list .side-menu-setting-list')[0].addEventListener('sortstop', (e) => { + let value = [] - for (let item of document.querySelectorAll('#categories-list .side-menu-setting-list-item')) { - value.push(item.getAttribute('data-id')) - } + for (let item of document.querySelectorAll('#categories-list .side-menu-setting-list-item')) { + value.push(item.getAttribute('data-id')) + } - document.querySelector('input[name="categories-order"]').value = JSON.stringify(value) - }) + document.querySelector('input[name="categories-order"]').value = JSON.stringify(value) + }) + } catch (e) { + } }) diff --git a/templates/js/_topMenuApps.js b/templates/js/_topMenuApps.js index dee32c8..043eb58 100644 --- a/templates/js/_topMenuApps.js +++ b/templates/js/_topMenuApps.js @@ -103,7 +103,6 @@ const updateTopMenu = function() { let k = 0 let notInHeader = 0 - for (let app of appShown) { const name = app.getAttribute('data-id') const li = querySelector('#apps li[data-id=' + name + '].app-external-site') @@ -199,8 +198,8 @@ const updateTopMenu = function() { menuCache = menu.innerHTML + menu.nextSibling.innerHTML } -for (let timeout of [300, 500, 700, 900, 1100]) { - setTimeout(updateTopMenu, timeout) +for (let i = 0; i < 3000; i+= 100) { + setTimeout(updateTopMenu, i) } let resizeTimeout = null; diff --git a/templates/settings/admin-form.php b/templates/settings/admin-form.php index 2aa15fb..9b53d7d 100644 --- a/templates/settings/admin-form.php +++ b/templates/settings/admin-form.php @@ -40,7 +40,6 @@ $choicesSizes = [ ]; ?> -

diff --git a/templates/settings/personal-form.php b/templates/settings/personal-form.php index 7337a01..69cd7dd 100644 --- a/templates/settings/personal-form.php +++ b/templates/settings/personal-form.php @@ -16,6 +16,7 @@ * along with this program. If not, see . */ +vendor_script('side_menu', 'html5sortable.min'); script('side_menu', 'admin'); style('side_menu', 'admin'); @@ -25,8 +26,6 @@ $choicesYesNo = [ ]; ?> - -