aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/dav/composer/composer/autoload_classmap.php1
-rw-r--r--apps/dav/composer/composer/autoload_static.php1
-rw-r--r--apps/dav/lib/AppInfo/Application.php2
-rw-r--r--apps/dav/lib/SetupChecks/WebdavEndpoint.php93
-rw-r--r--apps/settings/src/admin.js4
-rw-r--r--core/js/setupchecks.js31
-rw-r--r--core/js/tests/specs/setupchecksSpec.js38
-rw-r--r--dist/settings-legacy-admin.js4
-rw-r--r--dist/settings-legacy-admin.js.map2
9 files changed, 101 insertions, 75 deletions
diff --git a/apps/dav/composer/composer/autoload_classmap.php b/apps/dav/composer/composer/autoload_classmap.php
index 0dc2d68e41b..d10cf4af867 100644
--- a/apps/dav/composer/composer/autoload_classmap.php
+++ b/apps/dav/composer/composer/autoload_classmap.php
@@ -334,6 +334,7 @@ return array(
'OCA\\DAV\\Settings\\AvailabilitySettings' => $baseDir . '/../lib/Settings/AvailabilitySettings.php',
'OCA\\DAV\\Settings\\CalDAVSettings' => $baseDir . '/../lib/Settings/CalDAVSettings.php',
'OCA\\DAV\\SetupChecks\\NeedsSystemAddressBookSync' => $baseDir . '/../lib/SetupChecks/NeedsSystemAddressBookSync.php',
+ 'OCA\\DAV\\SetupChecks\\WebdavEndpoint' => $baseDir . '/../lib/SetupChecks/WebdavEndpoint.php',
'OCA\\DAV\\Storage\\PublicOwnerWrapper' => $baseDir . '/../lib/Storage/PublicOwnerWrapper.php',
'OCA\\DAV\\SystemTag\\SystemTagList' => $baseDir . '/../lib/SystemTag/SystemTagList.php',
'OCA\\DAV\\SystemTag\\SystemTagMappingNode' => $baseDir . '/../lib/SystemTag/SystemTagMappingNode.php',
diff --git a/apps/dav/composer/composer/autoload_static.php b/apps/dav/composer/composer/autoload_static.php
index 321dcdbdd1e..c8455965480 100644
--- a/apps/dav/composer/composer/autoload_static.php
+++ b/apps/dav/composer/composer/autoload_static.php
@@ -349,6 +349,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Settings\\AvailabilitySettings' => __DIR__ . '/..' . '/../lib/Settings/AvailabilitySettings.php',
'OCA\\DAV\\Settings\\CalDAVSettings' => __DIR__ . '/..' . '/../lib/Settings/CalDAVSettings.php',
'OCA\\DAV\\SetupChecks\\NeedsSystemAddressBookSync' => __DIR__ . '/..' . '/../lib/SetupChecks/NeedsSystemAddressBookSync.php',
+ 'OCA\\DAV\\SetupChecks\\WebdavEndpoint' => __DIR__ . '/..' . '/../lib/SetupChecks/WebdavEndpoint.php',
'OCA\\DAV\\Storage\\PublicOwnerWrapper' => __DIR__ . '/..' . '/../lib/Storage/PublicOwnerWrapper.php',
'OCA\\DAV\\SystemTag\\SystemTagList' => __DIR__ . '/..' . '/../lib/SystemTag/SystemTagList.php',
'OCA\\DAV\\SystemTag\\SystemTagMappingNode' => __DIR__ . '/..' . '/../lib/SystemTag/SystemTagMappingNode.php',
diff --git a/apps/dav/lib/AppInfo/Application.php b/apps/dav/lib/AppInfo/Application.php
index 1284e7cae75..deb28797952 100644
--- a/apps/dav/lib/AppInfo/Application.php
+++ b/apps/dav/lib/AppInfo/Application.php
@@ -88,6 +88,7 @@ use OCA\DAV\Search\ContactsSearchProvider;
use OCA\DAV\Search\EventsSearchProvider;
use OCA\DAV\Search\TasksSearchProvider;
use OCA\DAV\SetupChecks\NeedsSystemAddressBookSync;
+use OCA\DAV\SetupChecks\WebdavEndpoint;
use OCA\DAV\UserMigration\CalendarMigrator;
use OCA\DAV\UserMigration\ContactsMigrator;
use OCP\Accounts\UserUpdatedEvent;
@@ -211,6 +212,7 @@ class Application extends App implements IBootstrap {
$context->registerUserMigrator(ContactsMigrator::class);
$context->registerSetupCheck(NeedsSystemAddressBookSync::class);
+ $context->registerSetupCheck(WebdavEndpoint::class);
}
public function boot(IBootContext $context): void {
diff --git a/apps/dav/lib/SetupChecks/WebdavEndpoint.php b/apps/dav/lib/SetupChecks/WebdavEndpoint.php
new file mode 100644
index 00000000000..72585e93eeb
--- /dev/null
+++ b/apps/dav/lib/SetupChecks/WebdavEndpoint.php
@@ -0,0 +1,93 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * @copyright Copyright (c) 2024 Côme Chilliet <come.chilliet@nextcloud.com>
+ *
+ * @author Côme Chilliet <come.chilliet@nextcloud.com>
+ * @author Ferdinand Thiessen <opensource@fthiessen.de>
+ *
+ * @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/>.
+ *
+ */
+
+namespace OCA\DAV\SetupChecks;
+
+use OCA\Settings\SetupChecks\CheckServerResponseTrait;
+use OCP\Http\Client\IClientService;
+use OCP\IConfig;
+use OCP\IL10N;
+use OCP\IURLGenerator;
+use OCP\SetupCheck\ISetupCheck;
+use OCP\SetupCheck\SetupResult;
+use Psr\Log\LoggerInterface;
+
+class WebdavEndpoint implements ISetupCheck {
+
+ use CheckServerResponseTrait;
+
+ public function __construct(
+ protected IL10N $l10n,
+ protected IConfig $config,
+ protected IURLGenerator $urlGenerator,
+ protected IClientService $clientService,
+ protected LoggerInterface $logger,
+ ) {
+ }
+
+ public function getCategory(): string {
+ return 'network';
+ }
+
+ public function getName(): string {
+ return $this->l10n->t('WebDAV endpoint');
+ }
+
+ public function run(): SetupResult {
+ $urls = [
+ ['propfind', '/remote.php/webdav', [207, 401]],
+ ];
+
+ foreach ($urls as [$verb,$url,$validStatuses]) {
+ $works = null;
+ foreach ($this->runRequest($verb, $url, ['httpErrors' => false]) as $response) {
+ // Check that the response status matches
+ $works = in_array($response->getStatusCode(), $validStatuses);
+ // Skip the other requests if one works
+ if ($works === true) {
+ break;
+ }
+ }
+ // If 'works' is null then we could not connect to the server
+ if ($works === null) {
+ return SetupResult::info(
+ $this->l10n->t('Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually.') . "\n" . $this->serverConfigHelp(),
+ $this->urlGenerator->linkToDocs('admin-setup-well-known-URL'),
+ );
+ }
+ // Otherwise if we fail we can abort here
+ if ($works === false) {
+ return SetupResult::error(
+ $this->l10n->t('Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken.') . "\n" . $this->serverConfigHelp(),
+ );
+ }
+ }
+ return SetupResult::success(
+ $this->l10n->t('Your web server is properly set up to allow file synchronization over WebDAV.')
+ );
+ }
+}
diff --git a/apps/settings/src/admin.js b/apps/settings/src/admin.js
index 8b5ae1080e3..054dd7ced2e 100644
--- a/apps/settings/src/admin.js
+++ b/apps/settings/src/admin.js
@@ -101,10 +101,8 @@ window.addEventListener('DOMContentLoaded', () => {
const setupChecks = () => {
// run setup checks then gather error messages
$.when(
- OC.SetupChecks.checkWebDAV(),
OC.SetupChecks.checkSetup(),
- ).then((check1, check2) => {
- const messages = [].concat(check1, check2)
+ ).then((messages) => {
const $el = $('#postsetupchecks')
$('#security-warning-state-loading').addClass('hidden')
diff --git a/core/js/setupchecks.js b/core/js/setupchecks.js
index 0c0e673eae7..fd27dbc0791 100644
--- a/core/js/setupchecks.js
+++ b/core/js/setupchecks.js
@@ -15,37 +15,6 @@
MESSAGE_TYPE_INFO:0,
MESSAGE_TYPE_WARNING:1,
MESSAGE_TYPE_ERROR:2,
- /**
- * Check whether the WebDAV connection works.
- *
- * @return $.Deferred object resolved with an array of error messages
- */
- checkWebDAV: function() {
- var deferred = $.Deferred();
- var afterCall = function(xhr) {
- var messages = [];
- if (xhr.status !== 207 && xhr.status !== 401) {
- messages.push({
- msg: t('core', 'Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken.'),
- type: OC.SetupChecks.MESSAGE_TYPE_ERROR
- });
- }
- deferred.resolve(messages);
- };
-
- $.ajax({
- type: 'PROPFIND',
- url: OC.linkToRemoteBase('webdav'),
- data: '<?xml version="1.0"?>' +
- '<d:propfind xmlns:d="DAV:">' +
- '<d:prop><d:resourcetype/></d:prop>' +
- '</d:propfind>',
- contentType: 'application/xml; charset=utf-8',
- complete: afterCall,
- allowAuthErrors: true
- });
- return deferred.promise();
- },
/**
* Runs setup checks on the server side
diff --git a/core/js/tests/specs/setupchecksSpec.js b/core/js/tests/specs/setupchecksSpec.js
index 99f72754ace..dc5db7602ff 100644
--- a/core/js/tests/specs/setupchecksSpec.js
+++ b/core/js/tests/specs/setupchecksSpec.js
@@ -22,44 +22,6 @@ describe('OC.SetupChecks tests', function() {
protocolStub.restore();
});
- describe('checkWebDAV', function() {
- it('should fail with another response status code than 201 or 207', function(done) {
- var async = OC.SetupChecks.checkWebDAV();
-
- suite.server.requests[0].respond(200);
-
- async.done(function( data, s, x ){
- expect(data).toEqual([{
- msg: 'Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken.',
- type: OC.SetupChecks.MESSAGE_TYPE_ERROR
- }]);
- done();
- });
- });
-
- it('should return no error with a response status code of 207', function(done) {
- var async = OC.SetupChecks.checkWebDAV();
-
- suite.server.requests[0].respond(207);
-
- async.done(function( data, s, x ){
- expect(data).toEqual([]);
- done();
- });
- });
-
- it('should return no error with a response status code of 401', function(done) {
- var async = OC.SetupChecks.checkWebDAV();
-
- suite.server.requests[0].respond(401);
-
- async.done(function( data, s, x ){
- expect(data).toEqual([]);
- done();
- });
- });
- });
-
describe('checkSetup', function() {
it('should return an error if server has no internet connection', function(done) {
var async = OC.SetupChecks.checkSetup();
diff --git a/dist/settings-legacy-admin.js b/dist/settings-legacy-admin.js
index ccddfa326bf..5993c660e9f 100644
--- a/dist/settings-legacy-admin.js
+++ b/dist/settings-legacy-admin.js
@@ -1,2 +1,2 @@
-({69129:function(){window.addEventListener("DOMContentLoaded",(()=>{$("#loglevel").change((function(){$.post(OC.generateUrl("/settings/admin/log/level"),{level:$(this).val()},(()=>{OC.Log.reload()}))})),$("#mail_smtpauth").change((function(){this.checked?$("#mail_credentials").removeClass("hidden"):$("#mail_credentials").addClass("hidden")})),$("#mail_smtpmode").change((function(){"smtp"!==$(this).val()?($("#setting_smtpauth").addClass("hidden"),$("#setting_smtphost").addClass("hidden"),$("#mail_smtpsecure_label").addClass("hidden"),$("#mail_smtpsecure").addClass("hidden"),$("#mail_credentials").addClass("hidden"),$("#mail_sendmailmode_label, #mail_sendmailmode").removeClass("hidden")):($("#setting_smtpauth").removeClass("hidden"),$("#setting_smtphost").removeClass("hidden"),$("#mail_smtpsecure_label").removeClass("hidden"),$("#mail_smtpsecure").removeClass("hidden"),$("#mail_smtpauth").is(":checked")&&$("#mail_credentials").removeClass("hidden"),$("#mail_sendmailmode_label, #mail_sendmailmode").addClass("hidden"))}));const e=function(){OC.PasswordConfirmation.requiresPasswordConfirmation()?OC.PasswordConfirmation.requirePasswordConfirmation(e):(OC.msg.startSaving("#mail_settings_msg"),$.ajax({url:OC.generateUrl("/settings/admin/mailsettings"),type:"POST",data:$("#mail_general_settings_form").serialize(),success:()=>{OC.msg.finishedSuccess("#mail_settings_msg",t("settings","Saved"))},error:e=>{OC.msg.finishedError("#mail_settings_msg",e.responseJSON)}}))},s=function(){OC.PasswordConfirmation.requiresPasswordConfirmation()?OC.PasswordConfirmation.requirePasswordConfirmation(s):(OC.msg.startSaving("#mail_settings_msg"),$.ajax({url:OC.generateUrl("/settings/admin/mailsettings/credentials"),type:"POST",data:$("#mail_credentials_settings").serialize(),success:()=>{OC.msg.finishedSuccess("#mail_settings_msg",t("settings","Saved"))},error:e=>{OC.msg.finishedError("#mail_settings_msg",e.responseJSON)}}))};$("#mail_general_settings_form").change(e),$("#mail_credentials_settings_submit").click(s),$("#mail_smtppassword").click((()=>{"text"===this.N&&"********"===this.U&&(this.N="password",this.U="")})),$("#sendtestemail").click((e=>{e.preventDefault(),OC.msg.startAction("#sendtestmail_msg",t("settings","Sending…")),$.ajax({url:OC.generateUrl("/settings/admin/mailtest"),type:"POST",success:()=>{OC.msg.finishedSuccess("#sendtestmail_msg",t("settings","Email sent"))},error:e=>{OC.msg.finishedError("#sendtestmail_msg",e.responseJSON)}})})),null!==document.getElementById("security-warning")&&$.when(OC.SetupChecks.checkWebDAV(),OC.SetupChecks.checkSetup()).then(((e,s)=>{const i=[].concat(e,s),t=$("#postsetupchecks");$("#security-warning-state-loading").addClass("hidden");let n=!1;const a=t.find(".errors"),d=t.find(".warnings"),l=t.find(".info");for(let e=0;e<i.length;e++)switch(i[e].type){case OC.SetupChecks.MESSAGE_TYPE_INFO:l.append("<li>"+i[e].msg+"</li>");break;case OC.SetupChecks.MESSAGE_TYPE_WARNING:d.append("<li>"+i[e].msg+"</li>");break;case OC.SetupChecks.MESSAGE_TYPE_ERROR:default:a.append("<li>"+i[e].msg+"</li>")}a.find("li").length>0&&(a.removeClass("hidden"),n=!0),d.find("li").length>0&&(d.removeClass("hidden"),n=!0),l.find("li").length>0&&(l.removeClass("hidden"),n=!0),n?($("#postsetupchecks-hint").removeClass("hidden"),a.find("li").length>0?$("#security-warning-state-failure").removeClass("hidden"):$("#security-warning-state-warning").removeClass("hidden")):0===$("#security-warning").children("ul").children().length?$("#security-warning-state-ok").removeClass("hidden"):$("#security-warning-state-failure").removeClass("hidden")}))}))}})[69129]();
-//# sourceMappingURL=settings-legacy-admin.js.map?v=9e17c38bdab4c3ea2932 \ No newline at end of file
+({69129:function(){window.addEventListener("DOMContentLoaded",(()=>{$("#loglevel").change((function(){$.post(OC.generateUrl("/settings/admin/log/level"),{level:$(this).val()},(()=>{OC.Log.reload()}))})),$("#mail_smtpauth").change((function(){this.checked?$("#mail_credentials").removeClass("hidden"):$("#mail_credentials").addClass("hidden")})),$("#mail_smtpmode").change((function(){"smtp"!==$(this).val()?($("#setting_smtpauth").addClass("hidden"),$("#setting_smtphost").addClass("hidden"),$("#mail_smtpsecure_label").addClass("hidden"),$("#mail_smtpsecure").addClass("hidden"),$("#mail_credentials").addClass("hidden"),$("#mail_sendmailmode_label, #mail_sendmailmode").removeClass("hidden")):($("#setting_smtpauth").removeClass("hidden"),$("#setting_smtphost").removeClass("hidden"),$("#mail_smtpsecure_label").removeClass("hidden"),$("#mail_smtpsecure").removeClass("hidden"),$("#mail_smtpauth").is(":checked")&&$("#mail_credentials").removeClass("hidden"),$("#mail_sendmailmode_label, #mail_sendmailmode").addClass("hidden"))}));const e=function(){OC.PasswordConfirmation.requiresPasswordConfirmation()?OC.PasswordConfirmation.requirePasswordConfirmation(e):(OC.msg.startSaving("#mail_settings_msg"),$.ajax({url:OC.generateUrl("/settings/admin/mailsettings"),type:"POST",data:$("#mail_general_settings_form").serialize(),success:()=>{OC.msg.finishedSuccess("#mail_settings_msg",t("settings","Saved"))},error:e=>{OC.msg.finishedError("#mail_settings_msg",e.responseJSON)}}))},s=function(){OC.PasswordConfirmation.requiresPasswordConfirmation()?OC.PasswordConfirmation.requirePasswordConfirmation(s):(OC.msg.startSaving("#mail_settings_msg"),$.ajax({url:OC.generateUrl("/settings/admin/mailsettings/credentials"),type:"POST",data:$("#mail_credentials_settings").serialize(),success:()=>{OC.msg.finishedSuccess("#mail_settings_msg",t("settings","Saved"))},error:e=>{OC.msg.finishedError("#mail_settings_msg",e.responseJSON)}}))};$("#mail_general_settings_form").change(e),$("#mail_credentials_settings_submit").click(s),$("#mail_smtppassword").click((()=>{"text"===this.N&&"********"===this.U&&(this.N="password",this.U="")})),$("#sendtestemail").click((e=>{e.preventDefault(),OC.msg.startAction("#sendtestmail_msg",t("settings","Sending…")),$.ajax({url:OC.generateUrl("/settings/admin/mailtest"),type:"POST",success:()=>{OC.msg.finishedSuccess("#sendtestmail_msg",t("settings","Email sent"))},error:e=>{OC.msg.finishedError("#sendtestmail_msg",e.responseJSON)}})})),null!==document.getElementById("security-warning")&&$.when(OC.SetupChecks.checkSetup()).then((e=>{const s=$("#postsetupchecks");$("#security-warning-state-loading").addClass("hidden");let i=!1;const t=s.find(".errors"),n=s.find(".warnings"),a=s.find(".info");for(let s=0;s<e.length;s++)switch(e[s].type){case OC.SetupChecks.MESSAGE_TYPE_INFO:a.append("<li>"+e[s].msg+"</li>");break;case OC.SetupChecks.MESSAGE_TYPE_WARNING:n.append("<li>"+e[s].msg+"</li>");break;case OC.SetupChecks.MESSAGE_TYPE_ERROR:default:t.append("<li>"+e[s].msg+"</li>")}t.find("li").length>0&&(t.removeClass("hidden"),i=!0),n.find("li").length>0&&(n.removeClass("hidden"),i=!0),a.find("li").length>0&&(a.removeClass("hidden"),i=!0),i?($("#postsetupchecks-hint").removeClass("hidden"),t.find("li").length>0?$("#security-warning-state-failure").removeClass("hidden"):$("#security-warning-state-warning").removeClass("hidden")):0===$("#security-warning").children("ul").children().length?$("#security-warning-state-ok").removeClass("hidden"):$("#security-warning-state-failure").removeClass("hidden")}))}))}})[69129]();
+//# sourceMappingURL=settings-legacy-admin.js.map?v=ca105fbc8876df6a7aad \ No newline at end of file
diff --git a/dist/settings-legacy-admin.js.map b/dist/settings-legacy-admin.js.map
index 0aec2e9f790..326a7d2383c 100644
--- a/dist/settings-legacy-admin.js.map
+++ b/dist/settings-legacy-admin.js.map
@@ -1 +1 @@
-{"version":3,"file":"settings-legacy-admin.js?v=9e17c38bdab4c3ea2932","mappings":"mBAAAA,OAAOC,iBAAiB,oBAAoB,KAC3CC,EAAE,aAAaC,QAAO,WACrBD,EAAEE,KAAKC,GAAGC,YAAY,6BAA8B,CAAEC,MAAOL,EAAEM,MAAMC,QAAS,KAC7EJ,GAAGK,IAAIC,QAAQ,GAEjB,IAEAT,EAAE,kBAAkBC,QAAO,WACrBK,KAAKI,QAGTV,EAAE,qBAAqBW,YAAY,UAFnCX,EAAE,qBAAqBY,SAAS,SAIlC,IAEAZ,EAAE,kBAAkBC,QAAO,WACJ,SAAlBD,EAAEM,MAAMC,OACXP,EAAE,qBAAqBY,SAAS,UAChCZ,EAAE,qBAAqBY,SAAS,UAChCZ,EAAE,0BAA0BY,SAAS,UACrCZ,EAAE,oBAAoBY,SAAS,UAC/BZ,EAAE,qBAAqBY,SAAS,UAChCZ,EAAE,gDAAgDW,YAAY,YAE9DX,EAAE,qBAAqBW,YAAY,UACnCX,EAAE,qBAAqBW,YAAY,UACnCX,EAAE,0BAA0BW,YAAY,UACxCX,EAAE,oBAAoBW,YAAY,UAC9BX,EAAE,kBAAkBa,GAAG,aAC1Bb,EAAE,qBAAqBW,YAAY,UAEpCX,EAAE,gDAAgDY,SAAS,UAE7D,IAEA,MAAME,EAAsB,WACvBX,GAAGY,qBAAqBC,+BAC3Bb,GAAGY,qBAAqBE,4BAA4BH,IAIrDX,GAAGe,IAAIC,YAAY,sBACnBnB,EAAEoB,KAAK,CACNC,IAAKlB,GAAGC,YAAY,gCACpBkB,KAAM,OACNC,KAAMvB,EAAE,+BAA+BwB,YACvCC,QAASA,KACRtB,GAAGe,IAAIQ,gBAAgB,qBAAsBC,EAAE,WAAY,SAAS,EAErEC,MAAQC,IACP1B,GAAGe,IAAIY,cAAc,qBAAsBD,EAAIE,aAAa,IAG/D,EAEMC,EAAyB,WAC1B7B,GAAGY,qBAAqBC,+BAC3Bb,GAAGY,qBAAqBE,4BAA4Be,IAIrD7B,GAAGe,IAAIC,YAAY,sBACnBnB,EAAEoB,KAAK,CACNC,IAAKlB,GAAGC,YAAY,4CACpBkB,KAAM,OACNC,KAAMvB,EAAE,8BAA8BwB,YACtCC,QAASA,KACRtB,GAAGe,IAAIQ,gBAAgB,qBAAsBC,EAAE,WAAY,SAAS,EAErEC,MAAQC,IACP1B,GAAGe,IAAIY,cAAc,qBAAsBD,EAAIE,aAAa,IAG/D,EAEA/B,EAAE,+BAA+BC,OAAOa,GACxCd,EAAE,qCAAqCiC,MAAMD,GAC7ChC,EAAE,sBAAsBiC,OAAM,KACX,SAAd3B,KAAK,GAAkC,aAAfA,KAAK,IAChCA,KAAK,EAAO,WACZA,KAAK,EAAQ,GACd,IAGDN,EAAE,kBAAkBiC,OAAOC,IAC1BA,EAAMC,iBACNhC,GAAGe,IAAIkB,YAAY,oBAAqBT,EAAE,WAAY,aAEtD3B,EAAEoB,KAAK,CACNC,IAAKlB,GAAGC,YAAY,4BACpBkB,KAAM,OACNG,QAASA,KACRtB,GAAGe,IAAIQ,gBAAgB,oBAAqBC,EAAE,WAAY,cAAc,EAEzEC,MAAQC,IACP1B,GAAGe,IAAIY,cAAc,oBAAqBD,EAAIE,aAAa,GAE3D,IA+DiD,OAAhDM,SAASC,eAAe,qBA1D3BtC,EAAEuC,KACDpC,GAAGqC,YAAYC,cACftC,GAAGqC,YAAYE,cACdC,MAAK,CAACC,EAAQC,KACf,MAAMC,EAAW,GAAGC,OAAOH,EAAQC,GAC7BG,EAAMhD,EAAE,oBACdA,EAAE,mCAAmCY,SAAS,UAE9C,IAAIqC,GAAc,EAClB,MAAMC,EAAYF,EAAIG,KAAK,WACrBC,EAAcJ,EAAIG,KAAK,aACvBE,EAAUL,EAAIG,KAAK,SAEzB,IAAK,IAAIG,EAAI,EAAGA,EAAIR,EAASS,OAAQD,IACpC,OAAQR,EAASQ,GAAGhC,MACpB,KAAKnB,GAAGqC,YAAYgB,kBACnBH,EAAQI,OAAO,OAASX,EAASQ,GAAGpC,IAAM,SAC1C,MACD,KAAKf,GAAGqC,YAAYkB,qBACnBN,EAAYK,OAAO,OAASX,EAASQ,GAAGpC,IAAM,SAC9C,MACD,KAAKf,GAAGqC,YAAYmB,mBACpB,QACCT,EAAUO,OAAO,OAASX,EAASQ,GAAGpC,IAAM,SAI1CgC,EAAUC,KAAK,MAAMI,OAAS,IACjCL,EAAUvC,YAAY,UACtBsC,GAAc,GAEXG,EAAYD,KAAK,MAAMI,OAAS,IACnCH,EAAYzC,YAAY,UACxBsC,GAAc,GAEXI,EAAQF,KAAK,MAAMI,OAAS,IAC/BF,EAAQ1C,YAAY,UACpBsC,GAAc,GAGXA,GACHjD,EAAE,yBAAyBW,YAAY,UACnCuC,EAAUC,KAAK,MAAMI,OAAS,EACjCvD,EAAE,mCAAmCW,YAAY,UAEjDX,EAAE,mCAAmCW,YAAY,WAIO,IADjCX,EAAE,qBACN4D,SAAS,MAAMA,WAAWL,OAC7CvD,EAAE,8BAA8BW,YAAY,UAE5CX,EAAE,mCAAmCW,YAAY,SAEnD,GAMF,G,IC9JmB","sources":["webpack:///nextcloud/apps/settings/src/admin.js","webpack:///nextcloud/webpack/startup"],"sourcesContent":["window.addEventListener('DOMContentLoaded', () => {\n\t$('#loglevel').change(function() {\n\t\t$.post(OC.generateUrl('/settings/admin/log/level'), { level: $(this).val() }, () => {\n\t\t\tOC.Log.reload()\n\t\t})\n\t})\n\n\t$('#mail_smtpauth').change(function() {\n\t\tif (!this.checked) {\n\t\t\t$('#mail_credentials').addClass('hidden')\n\t\t} else {\n\t\t\t$('#mail_credentials').removeClass('hidden')\n\t\t}\n\t})\n\n\t$('#mail_smtpmode').change(function() {\n\t\tif ($(this).val() !== 'smtp') {\n\t\t\t$('#setting_smtpauth').addClass('hidden')\n\t\t\t$('#setting_smtphost').addClass('hidden')\n\t\t\t$('#mail_smtpsecure_label').addClass('hidden')\n\t\t\t$('#mail_smtpsecure').addClass('hidden')\n\t\t\t$('#mail_credentials').addClass('hidden')\n\t\t\t$('#mail_sendmailmode_label, #mail_sendmailmode').removeClass('hidden')\n\t\t} else {\n\t\t\t$('#setting_smtpauth').removeClass('hidden')\n\t\t\t$('#setting_smtphost').removeClass('hidden')\n\t\t\t$('#mail_smtpsecure_label').removeClass('hidden')\n\t\t\t$('#mail_smtpsecure').removeClass('hidden')\n\t\t\tif ($('#mail_smtpauth').is(':checked')) {\n\t\t\t\t$('#mail_credentials').removeClass('hidden')\n\t\t\t}\n\t\t\t$('#mail_sendmailmode_label, #mail_sendmailmode').addClass('hidden')\n\t\t}\n\t})\n\n\tconst changeEmailSettings = function() {\n\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation(changeEmailSettings)\n\t\t\treturn\n\t\t}\n\n\t\tOC.msg.startSaving('#mail_settings_msg')\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/settings/admin/mailsettings'),\n\t\t\ttype: 'POST',\n\t\t\tdata: $('#mail_general_settings_form').serialize(),\n\t\t\tsuccess: () => {\n\t\t\t\tOC.msg.finishedSuccess('#mail_settings_msg', t('settings', 'Saved'))\n\t\t\t},\n\t\t\terror: (xhr) => {\n\t\t\t\tOC.msg.finishedError('#mail_settings_msg', xhr.responseJSON)\n\t\t\t},\n\t\t})\n\t}\n\n\tconst toggleEmailCredentials = function() {\n\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation(toggleEmailCredentials)\n\t\t\treturn\n\t\t}\n\n\t\tOC.msg.startSaving('#mail_settings_msg')\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/settings/admin/mailsettings/credentials'),\n\t\t\ttype: 'POST',\n\t\t\tdata: $('#mail_credentials_settings').serialize(),\n\t\t\tsuccess: () => {\n\t\t\t\tOC.msg.finishedSuccess('#mail_settings_msg', t('settings', 'Saved'))\n\t\t\t},\n\t\t\terror: (xhr) => {\n\t\t\t\tOC.msg.finishedError('#mail_settings_msg', xhr.responseJSON)\n\t\t\t},\n\t\t})\n\t}\n\n\t$('#mail_general_settings_form').change(changeEmailSettings)\n\t$('#mail_credentials_settings_submit').click(toggleEmailCredentials)\n\t$('#mail_smtppassword').click(() => {\n\t\tif (this.type === 'text' && this.value === '********') {\n\t\t\tthis.type = 'password'\n\t\t\tthis.value = ''\n\t\t}\n\t})\n\n\t$('#sendtestemail').click((event) => {\n\t\tevent.preventDefault()\n\t\tOC.msg.startAction('#sendtestmail_msg', t('settings', 'Sending…'))\n\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/settings/admin/mailtest'),\n\t\t\ttype: 'POST',\n\t\t\tsuccess: () => {\n\t\t\t\tOC.msg.finishedSuccess('#sendtestmail_msg', t('settings', 'Email sent'))\n\t\t\t},\n\t\t\terror: (xhr) => {\n\t\t\t\tOC.msg.finishedError('#sendtestmail_msg', xhr.responseJSON)\n\t\t\t},\n\t\t})\n\t})\n\n\tconst setupChecks = () => {\n\t\t// run setup checks then gather error messages\n\t\t$.when(\n\t\t\tOC.SetupChecks.checkWebDAV(),\n\t\t\tOC.SetupChecks.checkSetup(),\n\t\t).then((check1, check2) => {\n\t\t\tconst messages = [].concat(check1, check2)\n\t\t\tconst $el = $('#postsetupchecks')\n\t\t\t$('#security-warning-state-loading').addClass('hidden')\n\n\t\t\tlet hasMessages = false\n\t\t\tconst $errorsEl = $el.find('.errors')\n\t\t\tconst $warningsEl = $el.find('.warnings')\n\t\t\tconst $infoEl = $el.find('.info')\n\n\t\t\tfor (let i = 0; i < messages.length; i++) {\n\t\t\t\tswitch (messages[i].type) {\n\t\t\t\tcase OC.SetupChecks.MESSAGE_TYPE_INFO:\n\t\t\t\t\t$infoEl.append('<li>' + messages[i].msg + '</li>')\n\t\t\t\t\tbreak\n\t\t\t\tcase OC.SetupChecks.MESSAGE_TYPE_WARNING:\n\t\t\t\t\t$warningsEl.append('<li>' + messages[i].msg + '</li>')\n\t\t\t\t\tbreak\n\t\t\t\tcase OC.SetupChecks.MESSAGE_TYPE_ERROR:\n\t\t\t\tdefault:\n\t\t\t\t\t$errorsEl.append('<li>' + messages[i].msg + '</li>')\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($errorsEl.find('li').length > 0) {\n\t\t\t\t$errorsEl.removeClass('hidden')\n\t\t\t\thasMessages = true\n\t\t\t}\n\t\t\tif ($warningsEl.find('li').length > 0) {\n\t\t\t\t$warningsEl.removeClass('hidden')\n\t\t\t\thasMessages = true\n\t\t\t}\n\t\t\tif ($infoEl.find('li').length > 0) {\n\t\t\t\t$infoEl.removeClass('hidden')\n\t\t\t\thasMessages = true\n\t\t\t}\n\n\t\t\tif (hasMessages) {\n\t\t\t\t$('#postsetupchecks-hint').removeClass('hidden')\n\t\t\t\tif ($errorsEl.find('li').length > 0) {\n\t\t\t\t\t$('#security-warning-state-failure').removeClass('hidden')\n\t\t\t\t} else {\n\t\t\t\t\t$('#security-warning-state-warning').removeClass('hidden')\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst securityWarning = $('#security-warning')\n\t\t\t\tif (securityWarning.children('ul').children().length === 0) {\n\t\t\t\t\t$('#security-warning-state-ok').removeClass('hidden')\n\t\t\t\t} else {\n\t\t\t\t\t$('#security-warning-state-failure').removeClass('hidden')\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tif (document.getElementById('security-warning') !== null) {\n\t\tsetupChecks()\n\t}\n})\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = {};\n__webpack_modules__[69129]();\n"],"names":["window","addEventListener","$","change","post","OC","generateUrl","level","this","val","Log","reload","checked","removeClass","addClass","is","changeEmailSettings","PasswordConfirmation","requiresPasswordConfirmation","requirePasswordConfirmation","msg","startSaving","ajax","url","type","data","serialize","success","finishedSuccess","t","error","xhr","finishedError","responseJSON","toggleEmailCredentials","click","event","preventDefault","startAction","document","getElementById","when","SetupChecks","checkWebDAV","checkSetup","then","check1","check2","messages","concat","$el","hasMessages","$errorsEl","find","$warningsEl","$infoEl","i","length","MESSAGE_TYPE_INFO","append","MESSAGE_TYPE_WARNING","MESSAGE_TYPE_ERROR","children"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"file":"settings-legacy-admin.js?v=ca105fbc8876df6a7aad","mappings":"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","sources":["webpack:///nextcloud/apps/settings/src/admin.js","webpack:///nextcloud/webpack/startup"],"sourcesContent":["window.addEventListener('DOMContentLoaded', () => {\n\t$('#loglevel').change(function() {\n\t\t$.post(OC.generateUrl('/settings/admin/log/level'), { level: $(this).val() }, () => {\n\t\t\tOC.Log.reload()\n\t\t})\n\t})\n\n\t$('#mail_smtpauth').change(function() {\n\t\tif (!this.checked) {\n\t\t\t$('#mail_credentials').addClass('hidden')\n\t\t} else {\n\t\t\t$('#mail_credentials').removeClass('hidden')\n\t\t}\n\t})\n\n\t$('#mail_smtpmode').change(function() {\n\t\tif ($(this).val() !== 'smtp') {\n\t\t\t$('#setting_smtpauth').addClass('hidden')\n\t\t\t$('#setting_smtphost').addClass('hidden')\n\t\t\t$('#mail_smtpsecure_label').addClass('hidden')\n\t\t\t$('#mail_smtpsecure').addClass('hidden')\n\t\t\t$('#mail_credentials').addClass('hidden')\n\t\t\t$('#mail_sendmailmode_label, #mail_sendmailmode').removeClass('hidden')\n\t\t} else {\n\t\t\t$('#setting_smtpauth').removeClass('hidden')\n\t\t\t$('#setting_smtphost').removeClass('hidden')\n\t\t\t$('#mail_smtpsecure_label').removeClass('hidden')\n\t\t\t$('#mail_smtpsecure').removeClass('hidden')\n\t\t\tif ($('#mail_smtpauth').is(':checked')) {\n\t\t\t\t$('#mail_credentials').removeClass('hidden')\n\t\t\t}\n\t\t\t$('#mail_sendmailmode_label, #mail_sendmailmode').addClass('hidden')\n\t\t}\n\t})\n\n\tconst changeEmailSettings = function() {\n\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation(changeEmailSettings)\n\t\t\treturn\n\t\t}\n\n\t\tOC.msg.startSaving('#mail_settings_msg')\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/settings/admin/mailsettings'),\n\t\t\ttype: 'POST',\n\t\t\tdata: $('#mail_general_settings_form').serialize(),\n\t\t\tsuccess: () => {\n\t\t\t\tOC.msg.finishedSuccess('#mail_settings_msg', t('settings', 'Saved'))\n\t\t\t},\n\t\t\terror: (xhr) => {\n\t\t\t\tOC.msg.finishedError('#mail_settings_msg', xhr.responseJSON)\n\t\t\t},\n\t\t})\n\t}\n\n\tconst toggleEmailCredentials = function() {\n\t\tif (OC.PasswordConfirmation.requiresPasswordConfirmation()) {\n\t\t\tOC.PasswordConfirmation.requirePasswordConfirmation(toggleEmailCredentials)\n\t\t\treturn\n\t\t}\n\n\t\tOC.msg.startSaving('#mail_settings_msg')\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/settings/admin/mailsettings/credentials'),\n\t\t\ttype: 'POST',\n\t\t\tdata: $('#mail_credentials_settings').serialize(),\n\t\t\tsuccess: () => {\n\t\t\t\tOC.msg.finishedSuccess('#mail_settings_msg', t('settings', 'Saved'))\n\t\t\t},\n\t\t\terror: (xhr) => {\n\t\t\t\tOC.msg.finishedError('#mail_settings_msg', xhr.responseJSON)\n\t\t\t},\n\t\t})\n\t}\n\n\t$('#mail_general_settings_form').change(changeEmailSettings)\n\t$('#mail_credentials_settings_submit').click(toggleEmailCredentials)\n\t$('#mail_smtppassword').click(() => {\n\t\tif (this.type === 'text' && this.value === '********') {\n\t\t\tthis.type = 'password'\n\t\t\tthis.value = ''\n\t\t}\n\t})\n\n\t$('#sendtestemail').click((event) => {\n\t\tevent.preventDefault()\n\t\tOC.msg.startAction('#sendtestmail_msg', t('settings', 'Sending…'))\n\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/settings/admin/mailtest'),\n\t\t\ttype: 'POST',\n\t\t\tsuccess: () => {\n\t\t\t\tOC.msg.finishedSuccess('#sendtestmail_msg', t('settings', 'Email sent'))\n\t\t\t},\n\t\t\terror: (xhr) => {\n\t\t\t\tOC.msg.finishedError('#sendtestmail_msg', xhr.responseJSON)\n\t\t\t},\n\t\t})\n\t})\n\n\tconst setupChecks = () => {\n\t\t// run setup checks then gather error messages\n\t\t$.when(\n\t\t\tOC.SetupChecks.checkSetup(),\n\t\t).then((messages) => {\n\t\t\tconst $el = $('#postsetupchecks')\n\t\t\t$('#security-warning-state-loading').addClass('hidden')\n\n\t\t\tlet hasMessages = false\n\t\t\tconst $errorsEl = $el.find('.errors')\n\t\t\tconst $warningsEl = $el.find('.warnings')\n\t\t\tconst $infoEl = $el.find('.info')\n\n\t\t\tfor (let i = 0; i < messages.length; i++) {\n\t\t\t\tswitch (messages[i].type) {\n\t\t\t\tcase OC.SetupChecks.MESSAGE_TYPE_INFO:\n\t\t\t\t\t$infoEl.append('<li>' + messages[i].msg + '</li>')\n\t\t\t\t\tbreak\n\t\t\t\tcase OC.SetupChecks.MESSAGE_TYPE_WARNING:\n\t\t\t\t\t$warningsEl.append('<li>' + messages[i].msg + '</li>')\n\t\t\t\t\tbreak\n\t\t\t\tcase OC.SetupChecks.MESSAGE_TYPE_ERROR:\n\t\t\t\tdefault:\n\t\t\t\t\t$errorsEl.append('<li>' + messages[i].msg + '</li>')\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($errorsEl.find('li').length > 0) {\n\t\t\t\t$errorsEl.removeClass('hidden')\n\t\t\t\thasMessages = true\n\t\t\t}\n\t\t\tif ($warningsEl.find('li').length > 0) {\n\t\t\t\t$warningsEl.removeClass('hidden')\n\t\t\t\thasMessages = true\n\t\t\t}\n\t\t\tif ($infoEl.find('li').length > 0) {\n\t\t\t\t$infoEl.removeClass('hidden')\n\t\t\t\thasMessages = true\n\t\t\t}\n\n\t\t\tif (hasMessages) {\n\t\t\t\t$('#postsetupchecks-hint').removeClass('hidden')\n\t\t\t\tif ($errorsEl.find('li').length > 0) {\n\t\t\t\t\t$('#security-warning-state-failure').removeClass('hidden')\n\t\t\t\t} else {\n\t\t\t\t\t$('#security-warning-state-warning').removeClass('hidden')\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst securityWarning = $('#security-warning')\n\t\t\t\tif (securityWarning.children('ul').children().length === 0) {\n\t\t\t\t\t$('#security-warning-state-ok').removeClass('hidden')\n\t\t\t\t} else {\n\t\t\t\t\t$('#security-warning-state-failure').removeClass('hidden')\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tif (document.getElementById('security-warning') !== null) {\n\t\tsetupChecks()\n\t}\n})\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = {};\n__webpack_modules__[69129]();\n"],"names":["window","addEventListener","$","change","post","OC","generateUrl","level","this","val","Log","reload","checked","removeClass","addClass","is","changeEmailSettings","PasswordConfirmation","requiresPasswordConfirmation","requirePasswordConfirmation","msg","startSaving","ajax","url","type","data","serialize","success","finishedSuccess","t","error","xhr","finishedError","responseJSON","toggleEmailCredentials","click","event","preventDefault","startAction","document","getElementById","when","SetupChecks","checkSetup","then","messages","$el","hasMessages","$errorsEl","find","$warningsEl","$infoEl","i","length","MESSAGE_TYPE_INFO","append","MESSAGE_TYPE_WARNING","MESSAGE_TYPE_ERROR","children"],"sourceRoot":""} \ No newline at end of file