diff options
Diffstat (limited to 'core/js')
26 files changed, 263 insertions, 558 deletions
diff --git a/core/js/backgroundjobs.js b/core/js/backgroundjobs.js deleted file mode 100644 index f5061357f5c..00000000000 --- a/core/js/backgroundjobs.js +++ /dev/null @@ -1,29 +0,0 @@ -/** -* ownCloud -* -* @author Jakob Sack -* @copyright 2012 Jakob Sack owncloud@jakobsack.de -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public -* License along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ - -// start worker once page has loaded -window.addEventListener('DOMContentLoaded', function(){ - $.get( OC.getRootPath()+'/cron.php' ); - - $('.section .icon-info').tooltip({ - placement: 'right' - }); -}); diff --git a/core/js/core.json b/core/js/core.json index 40bb35dde9f..457656fdd08 100644 --- a/core/js/core.json +++ b/core/js/core.json @@ -3,7 +3,6 @@ "core-common.js" ], "modules": [ - "../core/js/public/publicpage.js", "../core/js/setupchecks.js", "../core/js/mimetype.js", "../core/js/mimetypelist.js" diff --git a/core/js/login/authpicker.js b/core/js/login/authpicker.js index 1a94b02d72f..10b5d716d6a 100644 --- a/core/js/login/authpicker.js +++ b/core/js/login/authpicker.js @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ jQuery(document).ready(function() { $('#app-token-login').click(function (e) { e.preventDefault(); diff --git a/core/js/login/grant.js b/core/js/login/grant.js index c4d49505059..c6134504421 100644 --- a/core/js/login/grant.js +++ b/core/js/login/grant.js @@ -1,8 +1,29 @@ -document.querySelector('form').addEventListener('submit', function(e) { +/** + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +const form = document.querySelector('form') +form.addEventListener('submit', function(event) { const wrapper = document.getElementById('submit-wrapper') if (wrapper === null) { return } + + if (OC.PasswordConfirmation.requiresPasswordConfirmation()) { + // stop the event + event.preventDefault() + event.stopPropagation() + + // handle password confirmation + OC.PasswordConfirmation.requirePasswordConfirmation(function () { + // when password is confirmed we submit the form + form.submit() + }) + + return false + } + Array.from(wrapper.getElementsByClassName('icon-confirm-white')).forEach(function(el) { el.classList.remove('icon-confirm-white') el.classList.add(OCA.Theming && OCA.Theming.inverted ? 'icon-loading-small' : 'icon-loading-small-dark') diff --git a/core/js/mimetype.js b/core/js/mimetype.js index 13a7ba6f6e5..058d90ba509 100644 --- a/core/js/mimetype.js +++ b/core/js/mimetype.js @@ -1,21 +1,7 @@ /** - * @author Roeland Jago Douma <roeland@famdouma.nl> - * - * @copyright Copyright (c) 2015, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2015 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-only */ /** @@ -77,6 +63,7 @@ OC.MimeType = { while (mimeType in OC.MimeTypeList.aliases) { mimeType = OC.MimeTypeList.aliases[mimeType]; } + if (mimeType in OC.MimeType._mimeTypeIcons) { return OC.MimeType._mimeTypeIcons[mimeType]; } diff --git a/core/js/mimetypelist.js b/core/js/mimetypelist.js index 7caeaa72f90..eb937c440cc 100644 --- a/core/js/mimetypelist.js +++ b/core/js/mimetypelist.js @@ -15,8 +15,10 @@ OC.MimeTypeList={ "application/gpx+xml": "location", "application/gzip": "package/x-generic", "application/illustrator": "image", + "application/internet-shortcut": "link", "application/javascript": "text/code", "application/json": "text/code", + "application/km": "mindmap", "application/msaccess": "file", "application/msexcel": "x-office/spreadsheet", "application/msonenote": "x-office/document", @@ -26,21 +28,22 @@ OC.MimeTypeList={ "application/postscript": "image", "application/rss+xml": "application/xml", "application/vnd.android.package-archive": "package/x-generic", - "application/vnd.lotus-wordpro": "x-office/document", + "application/vnd.excalidraw+json": "whiteboard", "application/vnd.garmin.tcx+xml": "location", "application/vnd.google-earth.kml+xml": "location", "application/vnd.google-earth.kmz": "location", - "application/vnd.ms-excel": "x-office/spreadsheet", + "application/vnd.lotus-wordpro": "x-office/document", "application/vnd.ms-excel.addin.macroEnabled.12": "x-office/spreadsheet", "application/vnd.ms-excel.sheet.binary.macroEnabled.12": "x-office/spreadsheet", "application/vnd.ms-excel.sheet.macroEnabled.12": "x-office/spreadsheet", "application/vnd.ms-excel.template.macroEnabled.12": "x-office/spreadsheet", + "application/vnd.ms-excel": "x-office/spreadsheet", "application/vnd.ms-fontobject": "font", - "application/vnd.ms-powerpoint": "x-office/presentation", "application/vnd.ms-powerpoint.addin.macroEnabled.12": "x-office/presentation", "application/vnd.ms-powerpoint.presentation.macroEnabled.12": "x-office/presentation", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12": "x-office/presentation", "application/vnd.ms-powerpoint.template.macroEnabled.12": "x-office/presentation", + "application/vnd.ms-powerpoint": "x-office/presentation", "application/vnd.ms-visio.drawing.macroEnabled.12": "application/vnd.visio", "application/vnd.ms-visio.drawing": "application/vnd.visio", "application/vnd.ms-visio.stencil.macroEnabled.12": "application/vnd.visio", @@ -49,37 +52,40 @@ OC.MimeTypeList={ "application/vnd.ms-visio.template": "application/vnd.visio", "application/vnd.ms-word.document.macroEnabled.12": "x-office/document", "application/vnd.ms-word.template.macroEnabled.12": "x-office/document", - "application/vnd.oasis.opendocument.presentation": "x-office/presentation", + "application/vnd.oasis.opendocument.graphics-flat-xml": "x-office/drawing", + "application/vnd.oasis.opendocument.graphics-template": "x-office/drawing", + "application/vnd.oasis.opendocument.graphics": "x-office/drawing", + "application/vnd.oasis.opendocument.presentation-flat-xml": "x-office/presentation", "application/vnd.oasis.opendocument.presentation-template": "x-office/presentation", - "application/vnd.oasis.opendocument.spreadsheet": "x-office/spreadsheet", + "application/vnd.oasis.opendocument.presentation": "x-office/presentation", + "application/vnd.oasis.opendocument.spreadsheet-flat-xml": "x-office/spreadsheet", "application/vnd.oasis.opendocument.spreadsheet-template": "x-office/spreadsheet", - "application/vnd.oasis.opendocument.text": "x-office/document", + "application/vnd.oasis.opendocument.spreadsheet": "x-office/spreadsheet", + "application/vnd.oasis.opendocument.text-flat-xml": "x-office/document", "application/vnd.oasis.opendocument.text-master": "x-office/document", "application/vnd.oasis.opendocument.text-template": "x-office/document", - "application/vnd.oasis.opendocument.graphics": "x-office/drawing", - "application/vnd.oasis.opendocument.graphics-template": "x-office/drawing", "application/vnd.oasis.opendocument.text-web": "x-office/document", - "application/vnd.oasis.opendocument.text-flat-xml": "x-office/document", - "application/vnd.oasis.opendocument.spreadsheet-flat-xml": "x-office/spreadsheet", - "application/vnd.oasis.opendocument.graphics-flat-xml": "x-office/drawing", - "application/vnd.oasis.opendocument.presentation-flat-xml": "x-office/presentation", + "application/vnd.oasis.opendocument.text": "x-office/document", "application/vnd.openxmlformats-officedocument.presentationml.presentation": "x-office/presentation", "application/vnd.openxmlformats-officedocument.presentationml.slideshow": "x-office/presentation", "application/vnd.openxmlformats-officedocument.presentationml.template": "x-office/presentation", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "x-office/spreadsheet", "application/vnd.openxmlformats-officedocument.spreadsheetml.template": "x-office/spreadsheet", + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.docxf": "x-office/form-template", + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.oform": "x-office/form", "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "x-office/document", "application/vnd.openxmlformats-officedocument.wordprocessingml.template": "x-office/document", "application/vnd.visio": "x-office/document", "application/vnd.wordperfect": "x-office/document", + "application/vnd.xmind.workbook": "mindmap", "application/x-7z-compressed": "package/x-generic", "application/x-bzip2": "package/x-generic", "application/x-cbr": "text", - "application/x-compressed": "package/x-generic", "application/x-dcraw": "image", "application/x-deb": "package/x-generic", "application/x-fictionbook+xml": "text", "application/x-font": "font", + "application/x-freemind": "mindmap", "application/x-gimp": "image", "application/x-gzip": "application/gzip", "application/x-iwork-keynote-sffkey": "x-office/presentation", @@ -95,8 +101,11 @@ OC.MimeTypeList={ "application/xml": "text/html", "application/yaml": "text/code", "application/zip": "package/x-generic", + "application/zstd": "package/x-generic", "database": "file", "httpd/unix-directory": "dir", + "image/targa": "image/tga", + "image/x-emf": "image/emf", "text/css": "text/code", "text/csv": "x-office/spreadsheet", "text/html": "text/code", @@ -105,18 +114,11 @@ OC.MimeTypeList={ "text/x-h": "text/code", "text/x-java-source": "text/code", "text/x-ldif": "text/code", + "text/x-nfo": "text/code", "text/x-python": "text/code", "text/x-rst": "text", "text/x-shellscript": "text/code", - "web": "text/code", - "application/internet-shortcut": "link", - "application/km": "mindmap", - "application/x-freemind": "mindmap", - "application/vnd.xmind.workbook": "mindmap", - "image/targa": "image/tga", - "application/vnd.openxmlformats-officedocument.wordprocessingml.document.oform": "x-office/form", - "application/vnd.openxmlformats-officedocument.wordprocessingml.document.docxf": "x-office/form-template", - "image/x-emf": "image/emf" + "web": "text/code" }, files: [ "application", @@ -141,6 +143,7 @@ OC.MimeTypeList={ "text-code", "text-vcard", "video", + "whiteboard", "x-office-document", "x-office-drawing", "x-office-form", @@ -148,5 +151,130 @@ OC.MimeTypeList={ "x-office-presentation", "x-office-spreadsheet" ], - themes: [] + themes: [], + names: {'application/cmd': t('core', "Windows Command Script"), +'application/epub+zip': t('core', "Electronic book document"), +'application/font-sfnt': t('core', "TrueType Font Collection"), +'application/font-woff': t('core', "Web Open Font Format"), +'application/gpx+xml': t('core', "GPX geographic data"), +'application/gzip': t('core', "Gzip archive"), +'application/illustrator': t('core', "Adobe Illustrator document"), +'application/java': t('core', "Java source code"), +'application/javascript': t('core', "JavaScript source code"), +'application/json': t('core', "JSON document"), +'application/msaccess': t('core', "Microsoft Access database"), +'application/msonenote': t('core', "Microsoft OneNote document"), +'application/msword': t('core', "Microsoft Word document"), +'application/octet-stream': t('core', "Unknown"), +'application/pdf': t('core', "PDF document"), +'application/postscript': t('core', "PostScript document"), +'application/rss+xml': t('core', "RSS summary"), +'application/vnd.android.package-archive': t('core', "Android package"), +'application/vnd.google-earth.kml+xml': t('core', "KML geographic data"), +'application/vnd.google-earth.kmz': t('core', "KML geographic compressed data"), +'application/vnd.lotus-wordpro': t('core', "Lotus Word Pro document"), +'application/vnd.ms-excel': t('core', "Excel spreadsheet"), +'application/vnd.ms-excel.addin.macroEnabled.12': t('core', "Excel add-in"), +'application/vnd.ms-excel.sheet.binary.macroEnabled.12': t('core', "Excel 2007 binary spreadsheet"), +'application/vnd.ms-excel.sheet.macroEnabled.12': t('core', "Excel spreadsheet"), +'application/vnd.ms-excel.template.macroEnabled.12': t('core', "Excel spreadsheet template"), +'application/vnd.ms-outlook': t('core', "Outlook Message"), +'application/vnd.ms-powerpoint': t('core', "PowerPoint presentation"), +'application/vnd.ms-powerpoint.addin.macroEnabled.12': t('core', "PowerPoint add-in"), +'application/vnd.ms-powerpoint.presentation.macroEnabled.12': t('core', "PowerPoint presentation"), +'application/vnd.ms-powerpoint.slideshow.macroEnabled.12': t('core', "PowerPoint presentation"), +'application/vnd.ms-powerpoint.template.macroEnabled.12': t('core', "PowerPoint presentation template"), +'application/vnd.ms-word.document.macroEnabled.12': t('core', "Word document"), +'application/vnd.oasis.opendocument.formula': t('core', "ODF formula"), +'application/vnd.oasis.opendocument.graphics': t('core', "ODG drawing"), +'application/vnd.oasis.opendocument.graphics-flat-xml': t('core', "ODG drawing (Flat XML)"), +'application/vnd.oasis.opendocument.graphics-template': t('core', "ODG template"), +'application/vnd.oasis.opendocument.presentation': t('core', "ODP presentation"), +'application/vnd.oasis.opendocument.presentation-flat-xml': t('core', "ODP presentation (Flat XML)"), +'application/vnd.oasis.opendocument.presentation-template': t('core', "ODP template"), +'application/vnd.oasis.opendocument.spreadsheet': t('core', "ODS spreadsheet"), +'application/vnd.oasis.opendocument.spreadsheet-flat-xml': t('core', "ODS spreadsheet (Flat XML)"), +'application/vnd.oasis.opendocument.spreadsheet-template': t('core', "ODS template"), +'application/vnd.oasis.opendocument.text': t('core', "ODT document"), +'application/vnd.oasis.opendocument.text-flat-xml': t('core', "ODT document (Flat XML)"), +'application/vnd.oasis.opendocument.text-template': t('core', "ODT template"), +'application/vnd.openxmlformats-officedocument.presentationml.presentation': t('core', "PowerPoint 2007 presentation"), +'application/vnd.openxmlformats-officedocument.presentationml.slideshow': t('core', "PowerPoint 2007 show"), +'application/vnd.openxmlformats-officedocument.presentationml.template': t('core', "PowerPoint 2007 presentation template"), +'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': t('core', "Excel 2007 spreadsheet"), +'application/vnd.openxmlformats-officedocument.spreadsheetml.template': t('core', "Excel 2007 spreadsheet template"), +'application/vnd.openxmlformats-officedocument.wordprocessingml.document': t('core', "Word 2007 document"), +'application/vnd.openxmlformats-officedocument.wordprocessingml.template': t('core', "Word 2007 document template"), +'application/vnd.visio': t('core', "Microsoft Visio document"), +'application/vnd.wordperfect': t('core', "WordPerfect document"), +'application/x-7z-compressed': t('core', "7-zip archive"), +'application/x-blender': t('core', "Blender scene"), +'application/x-bzip2': t('core', "Bzip2 archive"), +'application/x-deb': t('core', "Debian package"), +'application/x-fictionbook+xml': t('core', "FictionBook document"), +'application/x-font': t('core', "Unknown font"), +'application/x-krita': t('core', "Krita document"), +'application/x-mobipocket-ebook': t('core', "Mobipocket e-book"), +'application/x-msi': t('core', "Windows Installer package"), +'application/x-perl': t('core', "Perl script"), +'application/x-php': t('core', "PHP script"), +'application/x-tar': t('core', "Tar archive"), +'application/xml': t('core', "XML document"), +'application/yaml': t('core', "YAML document"), +'application/zip': t('core', "Zip archive"), +'application/zstd': t('core', "Zstandard archive"), +'audio/aac': t('core', "AAC audio"), +'audio/flac': t('core', "FLAC audio"), +'audio/mp4': t('core', "MPEG-4 audio"), +'audio/mpeg': t('core', "MP3 audio"), +'audio/ogg': t('core', "Ogg audio"), +'audio/wav': t('core', "RIFF\/WAVe standard Audio"), +'audio/webm': t('core', "WebM audio"), +'audio/x-scpls': t('core', "MP3 ShoutCast playlist"), +'image/bmp': t('core', "Windows BMP image"), +'image/bpg': t('core', "Better Portable Graphics image"), +'image/emf': t('core', "EMF image"), +'image/gif': t('core', "GIF image"), +'image/heic': t('core', "HEIC image"), +'image/heif': t('core', "HEIF image"), +'image/jp2': t('core', "JPEG-2000 JP2 image"), +'image/jpeg': t('core', "JPEG image"), +'image/png': t('core', "PNG image"), +'image/svg+xml': t('core', "SVG image"), +'image/tga': t('core', "Truevision Targa image"), +'image/tiff': t('core', "TIFF image"), +'image/webp': t('core', "WebP image"), +'image/x-dcraw': t('core', "Digital raw image"), +'image/x-icon': t('core', "Windows Icon"), +'message/rfc822': t('core', "Email message"), +'text/calendar': t('core', "VCS\/ICS calendar"), +'text/css': t('core', "CSS stylesheet"), +'text/csv': t('core', "CSV document"), +'text/html': t('core', "HTML document"), +'text/markdown': t('core', "Markdown document"), +'text/org': t('core', "Org-mode file"), +'text/plain': t('core', "Plain text document"), +'text/rtf': t('core', "Rich Text document"), +'text/vcard': t('core', "Electronic business card"), +'text/x-c++src': t('core', "C++ source code"), +'text/x-java-source': t('core', "Java source code"), +'text/x-ldif': t('core', "LDIF address book"), +'text/x-nfo': t('core', "NFO document"), +'text/x-php': t('core', "PHP source"), +'text/x-python': t('core', "Python script"), +'text/x-rst': t('core', "ReStructuredText document"), +'video/3gpp': t('core', "3GPP multimedia file"), +'video/MP2T': t('core', "MPEG video"), +'video/dv': t('core', "DV video"), +'video/mp2t': t('core', "MPEG-2 transport stream"), +'video/mp4': t('core', "MPEG-4 video"), +'video/mpeg': t('core', "MPEG video"), +'video/ogg': t('core', "Ogg video"), +'video/quicktime': t('core', "QuickTime video"), +'video/webm': t('core', "WebM video"), +'video/x-flv': t('core', "Flash video"), +'video/x-matroska': t('core', "Matroska video"), +'video/x-ms-wmv': t('core', "Windows Media video"), +'video/x-msvideo': t('core', "AVI video"), +}, }; diff --git a/core/js/public/publicpage.js b/core/js/public/publicpage.js deleted file mode 100644 index adb1c4dd2fc..00000000000 --- a/core/js/public/publicpage.js +++ /dev/null @@ -1,47 +0,0 @@ -/* - * @copyright Copyright (c) 2018 Julius Härtl <jus@bitgrid.net> - * - * @author Julius Härtl <jus@bitgrid.net> - * - * @license AGPL-3.0-or-later - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -window.addEventListener('DOMContentLoaded', function () { - - $('#body-public').find('.header-right .menutoggle').click(function() { - $(this).next('.popovermenu').toggleClass('open'); - }); - - $('#save-external-share').click(function () { - $('#external-share-menu-item').toggleClass('hidden') - $('#remote_address').focus(); - }); - - - $(document).mouseup(function(e) { - var toggle = $('#body-public').find('.header-right .menutoggle'); - var container = toggle.next('.popovermenu'); - - // if the target of the click isn't the menu toggle, nor a descendant of the - // menu toggle, nor the container nor a descendant of the container - if (!toggle.is(e.target) && toggle.has(e.target).length === 0 && - !container.is(e.target) && container.has(e.target).length === 0) { - container.removeClass('open'); - } - }); - -}); diff --git a/core/js/publicshareauth.js b/core/js/publicshareauth.js index 3d694c7bfd6..3408e6d7560 100644 --- a/core/js/publicshareauth.js +++ b/core/js/publicshareauth.js @@ -1,3 +1,7 @@ +/** + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ function showEmailAddressPromptForm() { // Shows email prompt var emailInput = document.getElementById('email-input-form'); diff --git a/core/js/select2-toggleselect.js b/core/js/select2-toggleselect.js index 4fada592a3b..286a57cae45 100644 --- a/core/js/select2-toggleselect.js +++ b/core/js/select2-toggleselect.js @@ -1,11 +1,6 @@ -/* - * Copyright (c) 2015 - * - * This file is licensed under the Affero General Public License version 3 - * or later. - * - * See the COPYING-README file. - * +/** + * SPDX-FileCopyrightText: 2016 ownCloud Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later */ /* global Select2 */ diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js index fd27dbc0791..fc4d4ff6969 100644 --- a/core/js/setupchecks.js +++ b/core/js/setupchecks.js @@ -1,11 +1,7 @@ -/* - * Copyright (c) 2014 - * - * This file is licensed under the Affero General Public License version 3 - * or later. - * - * See the COPYING-README file. - * +/** + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2014-2016 ownCloud Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later */ (function() { diff --git a/core/js/tests/html-domparser.js b/core/js/tests/html-domparser.js index ea22f9b8752..945d4b1f441 100644 --- a/core/js/tests/html-domparser.js +++ b/core/js/tests/html-domparser.js @@ -1,10 +1,13 @@ -/* +/** * DOMParser HTML extension * 2012-09-04 * * By Eli Grey, http://eligrey.com * Public domain. * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. + * + * SPDX-FileCopyrightText: 2012 Eli Grey, http://eligrey.com + * SPDX-License-Identifier: CC0-1.0 */ /*! @source https://gist.github.com/1129031 */ @@ -13,10 +16,8 @@ (function(DOMParser) { "use strict"; - var - DOMParser_proto = DOMParser.prototype - , real_parseFromString = DOMParser_proto.parseFromString - ; + var DOMParser_proto = DOMParser.prototype; + var real_parseFromString = DOMParser_proto.parseFromString; // Firefox/Opera/IE throw errors on unsupported types try { @@ -29,15 +30,12 @@ DOMParser_proto.parseFromString = function(markup, type) { if (/^\s*text\/html\s*(?:;|$)/i.test(type)) { - var - doc = document.implementation.createHTMLDocument("") - ; - if (markup.toLowerCase().indexOf('<!doctype') > -1) { - doc.documentElement.innerHTML = markup; - } - else { - doc.body.innerHTML = markup; - } + var doc = document.implementation.createHTMLDocument(""); + if (markup.toLowerCase().indexOf('<!doctype') > -1) { + doc.documentElement.innerHTML = markup; + } else { + doc.body.innerHTML = markup; + } return doc; } else { return real_parseFromString.apply(this, arguments); diff --git a/core/js/tests/specHelper.js b/core/js/tests/specHelper.js index d2afe2b67cf..77958488df7 100644 --- a/core/js/tests/specHelper.js +++ b/core/js/tests/specHelper.js @@ -1,23 +1,8 @@ /** -* ownCloud -* -* @author Vincent Petry -* @copyright 2014 Vincent Petry <pvince81@owncloud.com> -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public -* License along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2014 ownCloud Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */ /** * Simulate the variables that are normally set by PHP code @@ -100,6 +85,9 @@ window._oc_appswebroots = { "files": window.webroot + '/apps/files/', "files_sharing": window.webroot + '/apps/files_sharing/' }; + +window.OC ??= {}; + OC.config = { session_lifetime: 600 * 1000, session_keepalive: false, @@ -126,6 +114,10 @@ window.Snap.prototype = { window.isPhantom = /phantom/i.test(navigator.userAgent); document.documentElement.lang = navigator.language; +const el = document.createElement('input'); +el.id = 'initial-state-core-config'; +el.value = btoa(JSON.stringify(window.OC.config)) +document.body.append(el); // global setup for all tests (function setupTests() { diff --git a/core/js/tests/specs/coreSpec.js b/core/js/tests/specs/coreSpec.js index 8b689fbcecf..3cbd7623a47 100644 --- a/core/js/tests/specs/coreSpec.js +++ b/core/js/tests/specs/coreSpec.js @@ -1,23 +1,8 @@ /** -* ownCloud -* -* @author Vincent Petry -* @copyright 2014 Vincent Petry <pvince81@owncloud.com> -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public -* License along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2014 ownCloud Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */ describe('Core base tests', function() { var debounceStub @@ -134,93 +119,6 @@ describe('Core base tests', function() { })).toEqual('number=123'); }); }); - describe('Session heartbeat', function() { - var clock, - oldConfig, - counter; - - beforeEach(function() { - clock = sinon.useFakeTimers(); - oldConfig = OC.config; - counter = 0; - - fakeServer.autoRespond = true; - fakeServer.autoRespondAfter = 0; - fakeServer.respondWith(/\/csrftoken/, function(xhr) { - counter++; - xhr.respond(200, {'Content-Type': 'application/json'}, '{"token": "pgBEsb3MzTb1ZPd2mfDZbQ6/0j3OrXHMEZrghHcOkg8=:3khw5PSa+wKQVo4f26exFD3nplud9ECjJ8/Y5zk5/k4="}'); - }); - $(document).off('ajaxComplete'); // ignore previously registered heartbeats - }); - afterEach(function() { - clock.restore(); - /* jshint camelcase: false */ - OC.config = oldConfig; - $(document).off('ajaxError'); - $(document).off('ajaxComplete'); - }); - it('sends heartbeat half the session lifetime when heartbeat enabled', function() { - /* jshint camelcase: false */ - OC.config = { - session_keepalive: true, - session_lifetime: 300 - }; - window.initCore(); - - expect(counter).toEqual(0); - - // less than half, still nothing - clock.tick(100 * 1000); - expect(counter).toEqual(0); - - // reach past half (160), one call - clock.tick(55 * 1000); - expect(counter).toEqual(1); - - // almost there to the next, still one - clock.tick(140 * 1000); - expect(counter).toEqual(1); - - // past it, second call - clock.tick(20 * 1000); - expect(counter).toEqual(2); - }); - it('does not send heartbeat when heartbeat disabled', function() { - /* jshint camelcase: false */ - OC.config = { - session_keepalive: false, - session_lifetime: 300 - }; - window.initCore(); - - expect(counter).toEqual(0); - - clock.tick(1000000); - - // still nothing - expect(counter).toEqual(0); - }); - it('limits the heartbeat between one minute and one day', function() { - /* jshint camelcase: false */ - var setIntervalStub = sinon.stub(window, 'setInterval'); - OC.config = { - session_keepalive: true, - session_lifetime: 5 - }; - window.initCore(); - expect(setIntervalStub.getCall(0).args[1]).toEqual(60 * 1000); - setIntervalStub.reset(); - - OC.config = { - session_keepalive: true, - session_lifetime: 48 * 3600 - }; - window.initCore(); - expect(setIntervalStub.getCall(0).args[1]).toEqual(24 * 3600 * 1000); - - setIntervalStub.restore(); - }); - }); describe('Parse query string', function() { it('Parses query string from full URL', function() { var query = OC.parseQueryString('http://localhost/stuff.php?q=a&b=x'); @@ -374,7 +272,7 @@ describe('Core base tests', function() { // to make sure they run. var cit = window.isPhantom?xit:it; - // must provide the same results as \OC_Util::naturalSortCompare + // must provide the same results as \OCP\Util::naturalSortCompare it('sorts alphabetically', function() { var a = [ 'def', @@ -780,6 +678,7 @@ describe('Core base tests', function() { OC.currentUser = 'dummy'; clock = sinon.useFakeTimers(); reloadStub = sinon.stub(OC, 'reload'); + document.head.dataset.user = 'dummy' notificationStub = sinon.stub(OC.Notification, 'show'); // unstub the error processing method ajaxErrorStub = OC._processAjaxError; @@ -793,47 +692,6 @@ describe('Core base tests', function() { clock.restore(); }); - it('reloads current page in case of auth error', function() { - var dataProvider = [ - [200, false], - [400, false], - [0, false], - [401, true], - [302, true], - [303, true], - [307, true] - ]; - - for (var i = 0; i < dataProvider.length; i++) { - var xhr = { status: dataProvider[i][0] }; - var expectedCall = dataProvider[i][1]; - - reloadStub.reset(); - OC._reloadCalled = false; - - $(document).trigger(new $.Event('ajaxError'), xhr); - - // trigger timers - clock.tick(waitTimeMs); - - if (expectedCall) { - expect(reloadStub.calledOnce).toEqual(true); - } else { - expect(reloadStub.notCalled).toEqual(true); - } - } - }); - it('reload only called once in case of auth error', function() { - var xhr = { status: 401 }; - - $(document).trigger(new $.Event('ajaxError'), xhr); - $(document).trigger(new $.Event('ajaxError'), xhr); - - // trigger timers - clock.tick(waitTimeMs); - - expect(reloadStub.calledOnce).toEqual(true); - }); it('does not reload the page if the user was navigating away', function() { var xhr = { status: 0 }; OC._userIsNavigatingAway = true; @@ -844,16 +702,7 @@ describe('Core base tests', function() { clock.tick(waitTimeMs); expect(reloadStub.notCalled).toEqual(true); }); - it('displays notification', function() { - var xhr = { status: 401 }; - - notificationUpdateStub = sinon.stub(OC.Notification, 'showUpdate'); - - $(document).trigger(new $.Event('ajaxError'), xhr); - clock.tick(waitTimeMs); - expect(notificationUpdateStub.notCalled).toEqual(false); - }); it('shows a temporary notification if the connection is lost', function() { var xhr = { status: 0 }; spyOn(OC, '_ajaxConnectionLostHandler'); diff --git a/core/js/tests/specs/files/clientSpec.js b/core/js/tests/specs/files/clientSpec.js index 94d52bebacf..105af079ced 100644 --- a/core/js/tests/specs/files/clientSpec.js +++ b/core/js/tests/specs/files/clientSpec.js @@ -1,23 +1,8 @@ /** -* ownCloud -* -* @author Vincent Petry -* @copyright 2015 Vincent Petry <pvince81@owncloud.com> -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public -* License along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2015 ownCloud Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */ /* global dav */ diff --git a/core/js/tests/specs/jquery.avatarSpec.js b/core/js/tests/specs/jquery.avatarSpec.js index 420c72d2e9b..c01cd9b9603 100644 --- a/core/js/tests/specs/jquery.avatarSpec.js +++ b/core/js/tests/specs/jquery.avatarSpec.js @@ -1,11 +1,7 @@ /** - * Copyright (c) 2015 Roeland Jago Douma <roeland@famdouma.nl> - * - * This file is licensed under the Affero General Public License version 3 - * or later. - * - * See the COPYING-README file. - * + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2015 ownCloud Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later */ describe('jquery.avatar tests', function() { diff --git a/core/js/tests/specs/jquery.contactsmenuSpec.js b/core/js/tests/specs/jquery.contactsmenuSpec.js index fb2514eb0de..62aaef89edc 100644 --- a/core/js/tests/specs/jquery.contactsmenuSpec.js +++ b/core/js/tests/specs/jquery.contactsmenuSpec.js @@ -1,11 +1,6 @@ /** - * Copyright (c) 2017 Georg Ehrke <oc.list@georgehrke.com> - * - * This file is licensed under the Affero General Public License version 3 - * or later. - * - * See the COPYING-README file. - * + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ describe('jquery.contactsMenu tests', function() { diff --git a/core/js/tests/specs/jquery.placeholderSpec.js b/core/js/tests/specs/jquery.placeholderSpec.js index 4937b99625f..436defdd703 100644 --- a/core/js/tests/specs/jquery.placeholderSpec.js +++ b/core/js/tests/specs/jquery.placeholderSpec.js @@ -1,11 +1,6 @@ /** - * Copyright (c) 2019 Serhii Shliakhov <shlyakhov.up@gmail.com> - * - * This file is licensed under the Affero General Public License version 3 - * or later. - * - * See the COPYING-README file. - * + * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ describe('jquery.placeholder tests', function() { diff --git a/core/js/tests/specs/l10nSpec.js b/core/js/tests/specs/l10nSpec.js index c1d596badf6..bd93a13fe74 100644 --- a/core/js/tests/specs/l10nSpec.js +++ b/core/js/tests/specs/l10nSpec.js @@ -1,11 +1,7 @@ /** - * Copyright (c) 2014 Vincent Petry <pvince81@owncloud.com> - * - * This file is licensed under the Affero General Public License version 3 - * or later. - * - * See the COPYING-README file. - * + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2014 ownCloud Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later */ describe('OC.L10N tests', function() { @@ -114,67 +110,4 @@ describe('OC.L10N tests', function() { checkPlurals(); }); }); - describe('async loading of translations', function() { - afterEach(() => { - document.documentElement.removeAttribute('data-locale') - }) - it('loads bundle for given app and calls callback', function(done) { - document.documentElement.setAttribute('data-locale', 'zh_CN') - var callbackStub = sinon.stub(); - var promiseStub = sinon.stub(); - var loading = OC.L10N.load(TEST_APP, callbackStub); - expect(callbackStub.notCalled).toEqual(true); - var req = fakeServer.requests[0]; - - console.warn('fff-', window.OC.appswebroots) - loading - .then(promiseStub) - .then(function() { - expect(fakeServer.requests.length).toEqual(1); - expect(req.url).toEqual( - OC.getRootPath() + '/apps3/' + TEST_APP + '/l10n/zh_CN.json' - ); - - expect(callbackStub.calledOnce).toEqual(true); - expect(promiseStub.calledOnce).toEqual(true); - expect(t(TEST_APP, 'Hello world!')).toEqual('你好世界!'); - }) - .then(done) - .catch(e => expect(e).toBe('No error expected!')); - - expect(promiseStub.notCalled).toEqual(true); - req.respond( - 200, - { 'Content-Type': 'application/json' }, - JSON.stringify({ - translations: {'Hello world!': '你好世界!'}, - pluralForm: 'nplurals=2; plural=(n != 1);' - }) - ); - }); - it('calls callback if translation already available', function(done) { - var callbackStub = sinon.stub(); - spyOn(console, 'warn'); - OC.L10N.register(TEST_APP, { - 'Hello world!': 'Hallo Welt!' - }); - OC.L10N.load(TEST_APP, callbackStub) - .then(function() { - expect(callbackStub.calledOnce).toEqual(true); - expect(fakeServer.requests.length).toEqual(0); - }) - .then(done); - - }); - it('calls callback if locale is en', function(done) { - var callbackStub = sinon.stub(); - OC.L10N.load(TEST_APP, callbackStub) - .then(function() { - expect(callbackStub.calledOnce).toEqual(true); - expect(fakeServer.requests.length).toEqual(0); - }) - .then(done) - .catch(done); - }); - }); }); diff --git a/core/js/tests/specs/mimeTypeSpec.js b/core/js/tests/specs/mimeTypeSpec.js index c9497a7c574..4fe5481541d 100644 --- a/core/js/tests/specs/mimeTypeSpec.js +++ b/core/js/tests/specs/mimeTypeSpec.js @@ -1,21 +1,7 @@ /** - * @author Roeland Jago Douma <roeland@famdouma.nl> - * - * @copyright Copyright (c) 2015, ownCloud, Inc. - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * + * SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2015 ownCloud Inc. + * SPDX-License-Identifier: AGPL-3.0-only */ describe('MimeType tests', function() { diff --git a/core/js/tests/specs/oc-backbone-webdavSpec.js b/core/js/tests/specs/oc-backbone-webdavSpec.js index 6f48d0c92d2..bf4d6eef6ca 100644 --- a/core/js/tests/specs/oc-backbone-webdavSpec.js +++ b/core/js/tests/specs/oc-backbone-webdavSpec.js @@ -1,23 +1,8 @@ /** -* ownCloud -* -* @author Vincent Petry -* @copyright 2014 Vincent Petry <pvince81@owncloud.com> -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public -* License along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ + * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2014 ownCloud Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */ /* global dav */ diff --git a/core/js/tests/specs/public/commentsSpec.js b/core/js/tests/specs/public/commentsSpec.js index e77947bea9d..6e15ddca6a7 100644 --- a/core/js/tests/specs/public/commentsSpec.js +++ b/core/js/tests/specs/public/commentsSpec.js @@ -1,20 +1,7 @@ /** -* @copyright 2018 Joas Schilling <nickvergessen@owncloud.com> -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public -* License along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ + * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ describe('OCP.Comments tests', function() { function dataProvider() { diff --git a/core/js/tests/specs/setupchecksSpec.js b/core/js/tests/specs/setupchecksSpec.js index dc5db7602ff..9f75ad501d1 100644 --- a/core/js/tests/specs/setupchecksSpec.js +++ b/core/js/tests/specs/setupchecksSpec.js @@ -1,11 +1,7 @@ /** - * Copyright (c) 2015 Lukas Reschke <lukas@owncloud.com> - * - * This file is licensed under the Affero General Public License version 3 - * or later. - * - * See the COPYING-README file. - * + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2015 ownCloud Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later */ describe('OC.SetupChecks tests', function() { diff --git a/core/js/tests/specs/systemtags/systemtagsSpec.js b/core/js/tests/specs/systemtags/systemtagsSpec.js index 376a25c7d83..52fe954f454 100644 --- a/core/js/tests/specs/systemtags/systemtagsSpec.js +++ b/core/js/tests/specs/systemtags/systemtagsSpec.js @@ -1,23 +1,8 @@ /** -* ownCloud -* -* @author Joas Schilling -* @copyright 2016 Joas Schilling <nickvergessen@owncloud.com> -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public -* License along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ + * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */ describe('OC.SystemTags tests', function() { it('describes non existing tag', function() { diff --git a/core/js/tests/specs/systemtags/systemtagscollectionSpec.js b/core/js/tests/specs/systemtags/systemtagscollectionSpec.js index 6f2d8361754..f2a3bd067a5 100644 --- a/core/js/tests/specs/systemtags/systemtagscollectionSpec.js +++ b/core/js/tests/specs/systemtags/systemtagscollectionSpec.js @@ -1,23 +1,7 @@ /** -* ownCloud -* -* @author Vincent Petry -* @copyright 2016 Vincent Petry <pvince81@owncloud.com> -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public -* License along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ + * SPDX-FileCopyrightText: 2016 ownCloud Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */ describe('OC.SystemTags.SystemTagsCollection tests', function() { var collection; diff --git a/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js b/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js index b69054e647e..988bcfc8c24 100644 --- a/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js +++ b/core/js/tests/specs/systemtags/systemtagsinputfieldSpec.js @@ -1,23 +1,8 @@ /** -* ownCloud -* -* @author Vincent Petry -* @copyright 2016 Vincent Petry <pvince81@owncloud.com> -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public -* License along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later + */ describe('OC.SystemTags.SystemTagsInputField tests', function() { var view, select2Stub, clock; diff --git a/core/js/update.js b/core/js/update.js index 2132dc9c578..419ab65449f 100644 --- a/core/js/update.js +++ b/core/js/update.js @@ -1,11 +1,7 @@ -/* - * Copyright (c) 2014 - * - * This file is licensed under the Affero General Public License version 3 - * or later. - * - * See the COPYING-README file. - * +/** + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2014 ownCloud Inc. + * SPDX-License-Identifier: AGPL-3.0-or-later */ (function() { |