aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <DeepDiver1975@users.noreply.github.com>2016-04-20 20:38:38 +0200
committerThomas Müller <DeepDiver1975@users.noreply.github.com>2016-04-20 20:38:38 +0200
commit1ab27ddd4aba5cc74a7264b053378f057bacb8b6 (patch)
treed11c2dc58a8e4d8e3926789130f01984d473d8e9
parent1ef92621ab02d94af776a0fa4cd2cffec48589ef (diff)
parente4a8456d0176555e2f27f21b64ac9cbab9ec940a (diff)
downloadnextcloud-server-1ab27ddd4aba5cc74a7264b053378f057bacb8b6.tar.gz
nextcloud-server-1ab27ddd4aba5cc74a7264b053378f057bacb8b6.zip
Merge pull request #24081 from owncloud/migrate-deprecated-jquery-v1-functions
migrate deprecated jQuery 1.x functions
-rw-r--r--apps/files/controller/viewcontroller.php1
-rw-r--r--apps/files/js/file-upload.js2
-rw-r--r--apps/files/js/filelist.js4
-rw-r--r--apps/files/js/jquery.iframe-transport.js205
-rw-r--r--apps/files_sharing/templates/public.php1
-rw-r--r--apps/user_ldap/js/wizard/wizardTabGeneric.js2
-rw-r--r--core/js/js.js15
-rw-r--r--core/js/lostpassword.js4
-rw-r--r--core/js/multiselect.js6
-rw-r--r--core/js/sharedialogshareelistview.js4
-rw-r--r--settings/admin.php1
-rw-r--r--settings/js/admin.js4
-rw-r--r--settings/js/apps.js8
-rw-r--r--settings/js/certificates.js4
-rw-r--r--settings/js/personal.js6
-rw-r--r--settings/personal.php1
16 files changed, 30 insertions, 238 deletions
diff --git a/apps/files/controller/viewcontroller.php b/apps/files/controller/viewcontroller.php
index 9fe34521332..ded6fd555df 100644
--- a/apps/files/controller/viewcontroller.php
+++ b/apps/files/controller/viewcontroller.php
@@ -137,7 +137,6 @@ class ViewController extends Controller {
\OCP\Util::addscript('files', 'app');
\OCP\Util::addscript('files', 'file-upload');
\OCP\Util::addscript('files', 'newfilemenu');
- \OCP\Util::addscript('files', 'jquery.iframe-transport');
\OCP\Util::addscript('files', 'jquery.fileupload');
\OCP\Util::addscript('files', 'jquery-visibility');
\OCP\Util::addscript('files', 'fileinfomodel');
diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js
index fca69064cde..b88a7031dba 100644
--- a/apps/files/js/file-upload.js
+++ b/apps/files/js/file-upload.js
@@ -504,7 +504,7 @@ OC.Upload = {
//fetch response from iframe
response = data.result[0].body.innerText;
}
- var result = $.parseJSON(response);
+ var result = JSON.parse(response);
delete data.jqXHR;
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 79dc42da8f1..ea0f0666b4a 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -2593,7 +2593,7 @@
// fetch response from iframe
response = data.result[0].body.innerText;
}
- var result=$.parseJSON(response);
+ var result = JSON.parse(response);
if (typeof result[0] !== 'undefined' && result[0].status === 'success') {
var file = result[0];
@@ -2906,7 +2906,7 @@ $(document).ready(function() {
OCA.Files.FileList.lastAction();
}
});
- $(window).unload(function () {
+ $(window).on('unload', function () {
$(window).trigger('beforeunload');
});
diff --git a/apps/files/js/jquery.iframe-transport.js b/apps/files/js/jquery.iframe-transport.js
deleted file mode 100644
index 5c9df77976b..00000000000
--- a/apps/files/js/jquery.iframe-transport.js
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * jQuery Iframe Transport Plugin 1.7
- * https://github.com/blueimp/jQuery-File-Upload
- *
- * Copyright 2011, Sebastian Tschan
- * https://blueimp.net
- *
- * Licensed under the MIT license:
- * http://www.opensource.org/licenses/MIT
- */
-
-/*jslint unparam: true, nomen: true */
-/*global define, window, document */
-
-(function (factory) {
- 'use strict';
- if (typeof define === 'function' && define.amd) {
- // Register as an anonymous AMD module:
- define(['jquery'], factory);
- } else {
- // Browser globals:
- factory(window.jQuery);
- }
-}(function ($) {
- 'use strict';
-
- // Helper variable to create unique names for the transport iframes:
- var counter = 0;
-
- // The iframe transport accepts three additional options:
- // options.fileInput: a jQuery collection of file input fields
- // options.paramName: the parameter name for the file form data,
- // overrides the name property of the file input field(s),
- // can be a string or an array of strings.
- // options.formData: an array of objects with name and value properties,
- // equivalent to the return data of .serializeArray(), e.g.:
- // [{name: 'a', value: 1}, {name: 'b', value: 2}]
- $.ajaxTransport('iframe', function (options) {
- if (options.async) {
- var form,
- iframe,
- addParamChar;
- return {
- send: function (_, completeCallback) {
- form = $('<form style="display:none;"></form>');
- form.attr('accept-charset', options.formAcceptCharset);
- addParamChar = /\?/.test(options.url) ? '&' : '?';
- // XDomainRequest only supports GET and POST:
- if (options.type === 'DELETE') {
- options.url = options.url + addParamChar + '_method=DELETE';
- options.type = 'POST';
- } else if (options.type === 'PUT') {
- options.url = options.url + addParamChar + '_method=PUT';
- options.type = 'POST';
- } else if (options.type === 'PATCH') {
- options.url = options.url + addParamChar + '_method=PATCH';
- options.type = 'POST';
- }
- // javascript:false as initial iframe src
- // prevents warning popups on HTTPS in IE6.
- // IE versions below IE8 cannot set the name property of
- // elements that have already been added to the DOM,
- // so we set the name along with the iframe HTML markup:
- counter += 1;
- iframe = $(
- '<iframe src="javascript:false;" name="iframe-transport-' +
- counter + '"></iframe>'
- ).bind('load', function () {
- var fileInputClones,
- paramNames = $.isArray(options.paramName) ?
- options.paramName : [options.paramName];
- iframe
- .unbind('load')
- .bind('load', function () {
- var response;
- // Wrap in a try/catch block to catch exceptions thrown
- // when trying to access cross-domain iframe contents:
- try {
- response = iframe.contents();
- // Google Chrome and Firefox do not throw an
- // exception when calling iframe.contents() on
- // cross-domain requests, so we unify the response:
- if (!response.length || !response[0].firstChild) {
- throw new Error();
- }
- } catch (e) {
- response = undefined;
- }
- // The complete callback returns the
- // iframe content document as response object:
- completeCallback(
- 200,
- 'success',
- {'iframe': response}
- );
- // Fix for IE endless progress bar activity bug
- // (happens on form submits to iframe targets):
- $('<iframe src="javascript:false;"></iframe>')
- .appendTo(form);
- window.setTimeout(function () {
- // Removing the form in a setTimeout call
- // allows Chrome's developer tools to display
- // the response result
- form.remove();
- }, 0);
- });
- form
- .prop('target', iframe.prop('name'))
- .prop('action', options.url)
- .prop('method', options.type);
- if (options.formData) {
- $.each(options.formData, function (index, field) {
- $('<input type="hidden"/>')
- .prop('name', field.name)
- .val(field.value)
- .appendTo(form);
- });
- }
- if (options.fileInput && options.fileInput.length &&
- options.type === 'POST') {
- fileInputClones = options.fileInput.clone();
- // Insert a clone for each file input field:
- options.fileInput.after(function (index) {
- return fileInputClones[index];
- });
- if (options.paramName) {
- options.fileInput.each(function (index) {
- $(this).prop(
- 'name',
- paramNames[index] || options.paramName
- );
- });
- }
- // Appending the file input fields to the hidden form
- // removes them from their original location:
- form
- .append(options.fileInput)
- .prop('enctype', 'multipart/form-data')
- // enctype must be set as encoding for IE:
- .prop('encoding', 'multipart/form-data');
- }
- form.submit();
- // Insert the file input fields at their original location
- // by replacing the clones with the originals:
- if (fileInputClones && fileInputClones.length) {
- options.fileInput.each(function (index, input) {
- var clone = $(fileInputClones[index]);
- $(input).prop('name', clone.prop('name'));
- clone.replaceWith(input);
- });
- }
- });
- form.append(iframe).appendTo(document.body);
- },
- abort: function () {
- if (iframe) {
- // javascript:false as iframe src aborts the request
- // and prevents warning popups on HTTPS in IE6.
- // concat is used to avoid the "Script URL" JSLint error:
- iframe
- .unbind('load')
- .prop('src', 'javascript'.concat(':false;'));
- }
- if (form) {
- form.remove();
- }
- }
- };
- }
- });
-
- // The iframe transport returns the iframe content document as response.
- // The following adds converters from iframe to text, json, html, xml
- // and script.
- // Please note that the Content-Type for JSON responses has to be text/plain
- // or text/html, if the browser doesn't include application/json in the
- // Accept header, else IE will show a download dialog.
- // The Content-Type for XML responses on the other hand has to be always
- // application/xml or text/xml, so IE properly parses the XML response.
- // See also
- // https://github.com/blueimp/jQuery-File-Upload/wiki/Setup#content-type-negotiation
- $.ajaxSetup({
- converters: {
- 'iframe text': function (iframe) {
- return iframe && $(iframe[0].body).text();
- },
- 'iframe json': function (iframe) {
- return iframe && $.parseJSON($(iframe[0].body).text());
- },
- 'iframe html': function (iframe) {
- return iframe && $(iframe[0].body).html();
- },
- 'iframe xml': function (iframe) {
- var xmlDoc = iframe && iframe[0];
- return xmlDoc && $.isXMLDoc(xmlDoc) ? xmlDoc :
- $.parseXML((xmlDoc.XMLDocument && xmlDoc.XMLDocument.xml) ||
- $(xmlDoc.body).html());
- },
- 'iframe script': function (iframe) {
- return iframe && $.globalEval($(iframe[0].body).text());
- }
- }
- });
-
-})); \ No newline at end of file
diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php
index ae00b01dca2..cb7fe1103b5 100644
--- a/apps/files_sharing/templates/public.php
+++ b/apps/files_sharing/templates/public.php
@@ -8,7 +8,6 @@ OCP\Util::addStyle('files_sharing', 'mobile');
OCP\Util::addScript('files_sharing', 'public');
OCP\Util::addScript('files', 'fileactions');
OCP\Util::addScript('files', 'fileactionsmenu');
-OCP\Util::addScript('files', 'jquery.iframe-transport');
OCP\Util::addScript('files', 'jquery.fileupload');
// JS required for folders
diff --git a/apps/user_ldap/js/wizard/wizardTabGeneric.js b/apps/user_ldap/js/wizard/wizardTabGeneric.js
index 21085e3a584..4415172a18c 100644
--- a/apps/user_ldap/js/wizard/wizardTabGeneric.js
+++ b/apps/user_ldap/js/wizard/wizardTabGeneric.js
@@ -391,7 +391,7 @@ OCA = OCA || {};
*/
_setCheckBox: function($element, value) {
if(parseInt(value, 10) === 1) {
- $element.attr('checked', 'checked');
+ $element.prop('checked', 'checked');
} else {
$element.removeAttr('checked');
}
diff --git a/core/js/js.js b/core/js/js.js
index 188c15c5db5..ac1d582a9f8 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -1337,9 +1337,6 @@ if(typeof localStorage !=='undefined' && localStorage !== null){
var item = localStorage.getItem(OC.localStorage.namespace+name);
if(item === null) {
return null;
- } else if (typeof JSON === 'undefined') {
- //fallback to jquery for IE6/7/8
- return $.parseJSON(item);
} else {
return JSON.parse(item);
}
@@ -1439,11 +1436,15 @@ function initCore() {
*/
moment.locale(OC.getLocale());
- if ($.browser.msie || !!navigator.userAgent.match(/Trident\/7\./)) {
- // for IE10+ that don't have conditional comments
- // and IE11 doesn't identify as MSIE any more...
+ var userAgent = window.navigator.userAgent;
+ var msie = userAgent.indexOf('MSIE ');
+ var trident = userAgent.indexOf('Trident/');
+ var edge = userAgent.indexOf('Edge/');
+
+ if (msie > 0 || trident > 0) {
+ // (IE 10 or older) || IE 11
$('html').addClass('ie');
- } else if (!!navigator.userAgent.match(/Edge\/12/)) {
+ } else if (edge > 0) {
// for edge
$('html').addClass('edge');
}
diff --git a/core/js/lostpassword.js b/core/js/lostpassword.js
index df28c2308cb..30d7b98f4e8 100644
--- a/core/js/lostpassword.js
+++ b/core/js/lostpassword.js
@@ -81,12 +81,12 @@ OC.Lostpassword = {
$('#password').parents('form').attr('action'),
{
password : $('#password').val(),
- proceed: $('#encrypted-continue').attr('checked') ? 'true' : 'false'
+ proceed: $('#encrypted-continue').is(':checked') ? 'true' : 'false'
},
OC.Lostpassword.resetDone
);
}
- if($('#encrypted-continue').attr('checked')) {
+ if($('#encrypted-continue').is(':checked')) {
$('#reset-password #submit').hide();
$('#reset-password #float-spinner').removeClass('hidden');
}
diff --git a/core/js/multiselect.js b/core/js/multiselect.js
index 6d5c54ac0f5..71cf3e10a69 100644
--- a/core/js/multiselect.js
+++ b/core/js/multiselect.js
@@ -120,7 +120,7 @@
label.text(element.text() || item);
label.attr('title', element.text() || item);
if(settings.checked.indexOf(item) !== -1 || checked) {
- input.attr('checked', true);
+ input.prop('checked', true);
}
if(checked){
if(settings.singleSelect) {
@@ -145,7 +145,7 @@
element.attr('selected','selected');
if(typeof settings.oncheck === 'function') {
if(settings.oncheck(value)===false) {
- $(this).attr('checked', false);
+ $(this).prop('checked', false);
return;
}
}
@@ -157,7 +157,7 @@
element.attr('selected',null);
if(typeof settings.onuncheck === 'function') {
if(settings.onuncheck(value)===false) {
- $(this).attr('checked',true);
+ $(this).prop('checked',true);
return;
}
}
diff --git a/core/js/sharedialogshareelistview.js b/core/js/sharedialogshareelistview.js
index e4edbf24c08..fd0b6d9d1bd 100644
--- a/core/js/sharedialogshareelistview.js
+++ b/core/js/sharedialogshareelistview.js
@@ -268,11 +268,11 @@
if ($element.attr('name') === 'edit') {
checked = $element.is(':checked');
// Check/uncheck Create, Update, and Delete checkboxes if Edit is checked/unck
- $($checkboxes).attr('checked', checked);
+ $($checkboxes).prop('checked', checked);
} else {
var numberChecked = $checkboxes.filter(':checked').length;
checked = numberChecked > 0;
- $('input[name="edit"]', $li).attr('checked', checked);
+ $('input[name="edit"]', $li).prop('checked', checked);
}
var permissions = OC.PERMISSION_READ;
diff --git a/settings/admin.php b/settings/admin.php
index cfb7eb5c541..b67331b22eb 100644
--- a/settings/admin.php
+++ b/settings/admin.php
@@ -38,7 +38,6 @@ $template = new OC_Template('settings', 'admin', 'user');
$l = \OC::$server->getL10N('settings');
OC_Util::addScript('settings', 'certificates');
-OC_Util::addScript('files', 'jquery.iframe-transport');
OC_Util::addScript('files', 'jquery.fileupload');
\OC::$server->getEventDispatcher()->dispatch('OC\Settings\Admin::loadAdditionalScripts');
diff --git a/settings/js/admin.js b/settings/js/admin.js
index 1bbb20efa00..34e258065ce 100644
--- a/settings/js/admin.js
+++ b/settings/js/admin.js
@@ -38,7 +38,7 @@ $(document).ready(function(){
$('#backgroundjobs span.crondate').tipsy({gravity: 's', live: true});
$('#backgroundjobs input').change(function(){
- if($(this).attr('checked')){
+ if($(this).is(':checked')){
var mode = $(this).val();
if (mode === 'ajax' || mode === 'webcron' || mode === 'cron') {
OC.AppConfig.setValue('core', 'backgroundjobs_mode', mode);
@@ -131,7 +131,7 @@ $(document).ready(function(){
$('#setting_smtphost').removeClass('hidden');
$('#mail_smtpsecure_label').removeClass('hidden');
$('#mail_smtpsecure').removeClass('hidden');
- if ($('#mail_smtpauth').attr('checked')) {
+ if ($('#mail_smtpauth').is(':checked')) {
$('#mail_credentials').removeClass('hidden');
}
}
diff --git a/settings/js/apps.js b/settings/js/apps.js
index 1b687012815..015236f957d 100644
--- a/settings/js/apps.js
+++ b/settings/js/apps.js
@@ -193,15 +193,15 @@ OC.Settings.Apps = OC.Settings.Apps || {
OC.Settings.Apps.isType(app, 'authentication') || OC.Settings.Apps.isType(app, 'logging') ||
OC.Settings.Apps.isType(app, 'prevent_group_restriction')) {
page.find(".groups-enable").hide();
- page.find(".groups-enable__checkbox").attr('checked', null);
+ page.find(".groups-enable__checkbox").prop('checked', false);
} else {
page.find('#group_select').val((app.groups || []).join('|'));
if (app.active) {
if (app.groups.length) {
OC.Settings.Apps.setupGroupsSelect(page.find('#group_select'));
- page.find(".groups-enable__checkbox").attr('checked','checked');
+ page.find(".groups-enable__checkbox").prop('checked', true);
} else {
- page.find(".groups-enable__checkbox").attr('checked', null);
+ page.find(".groups-enable__checkbox").prop('checked', false);
}
page.find(".groups-enable").show();
} else {
@@ -289,7 +289,7 @@ OC.Settings.Apps = OC.Settings.Apps || {
if (OC.Settings.Apps.isType(app, 'filesystem') || OC.Settings.Apps.isType(app, 'prelogin') ||
OC.Settings.Apps.isType(app, 'authentication') || OC.Settings.Apps.isType(app, 'logging')) {
- element.parent().find(".groups-enable").attr('checked', null);
+ element.parent().find(".groups-enable").prop('checked', true);
element.parent().find(".groups-enable").hide();
element.parent().find('#group_select').hide().val(null);
} else {
diff --git a/settings/js/certificates.js b/settings/js/certificates.js
index f2a8e6b0afb..7e62a4f5157 100644
--- a/settings/js/certificates.js
+++ b/settings/js/certificates.js
@@ -24,10 +24,10 @@ $(document).ready(function () {
},
success: function (data) {
if (typeof data === 'string') {
- data = $.parseJSON(data);
+ data = JSON.parse(data);
} else if (data && data.length) {
// fetch response from iframe
- data = $.parseJSON(data[0].body.innerText);
+ data = JSON.parse(data[0].body.innerText);
}
if (!data || typeof(data) === 'string') {
// IE8 iframe workaround comes here instead of fail()
diff --git a/settings/js/personal.js b/settings/js/personal.js
index bd13b7fd251..b6e8e2ff508 100644
--- a/settings/js/personal.js
+++ b/settings/js/personal.js
@@ -166,7 +166,7 @@ function cleanCropper () {
function avatarResponseHandler (data) {
if (typeof data === 'string') {
- data = $.parseJSON(data);
+ data = JSON.parse(data);
}
var $warning = $('#avatar .warning');
$warning.hide();
@@ -248,10 +248,10 @@ $(document).ready(function () {
done: function (e, data) {
var response = data;
if (typeof data.result === 'string') {
- response = $.parseJSON(data.result);
+ response = JSON.parse(data.result);
} else if (data.result && data.result.length) {
// fetch response from iframe
- response = $.parseJSON(data.result[0].body.innerText);
+ response = JSON.parse(data.result[0].body.innerText);
} else {
response = data.result;
}
diff --git a/settings/personal.php b/settings/personal.php
index 90b8bb2fbbb..6c2fccbec9b 100644
--- a/settings/personal.php
+++ b/settings/personal.php
@@ -47,7 +47,6 @@ OC_Util::addScript('settings', 'certificates');
OC_Util::addStyle( 'settings', 'settings' );
\OC_Util::addVendorScript('strengthify/jquery.strengthify');
\OC_Util::addVendorStyle('strengthify/strengthify');
-\OC_Util::addScript('files', 'jquery.iframe-transport');
\OC_Util::addScript('files', 'jquery.fileupload');
if ($config->getSystemValue('enable_avatars', true) === true) {
\OC_Util::addVendorScript('jcrop/js/jquery.Jcrop');