diff --git a/integrations/nextcloud/snappymail/lib/Controller/FetchController.php b/integrations/nextcloud/snappymail/lib/Controller/FetchController.php index 1b7b9fe76..fd19366c6 100644 --- a/integrations/nextcloud/snappymail/lib/Controller/FetchController.php +++ b/integrations/nextcloud/snappymail/lib/Controller/FetchController.php @@ -59,6 +59,14 @@ class FetchController extends Controller { ]); } + \OCA\SnappyMail\Util\SnappyMailHelper::startApp(); + $debug = !empty($_POST['snappymail-debug']); + $oConfig = \RainLoop\Api::Config(); + if ($debug != $oConfig->Get('debug', 'enable', false)) { + $oConfig->Set('debug', 'enable', $debug); + $oConfig->Save(); + } + return new JSONResponse([ 'status' => 'success', 'Message' => $this->l->t('Saved successfully') diff --git a/integrations/nextcloud/snappymail/lib/Settings/AdminSettings.php b/integrations/nextcloud/snappymail/lib/Settings/AdminSettings.php index 9003a30b4..ffb4ef6ba 100644 --- a/integrations/nextcloud/snappymail/lib/Settings/AdminSettings.php +++ b/integrations/nextcloud/snappymail/lib/Settings/AdminSettings.php @@ -31,6 +31,28 @@ class AdminSettings implements ISettings if (\OC_User::isAdminUser($uid)) { $parameters['snappymail-admin-panel-link'] = SnappyMailHelper::getAppUrl().'?admin'; } + + \OCA\SnappyMail\Util\SnappyMailHelper::startApp(); + $oConfig = \RainLoop\Api::Config(); + $passfile = APP_PRIVATE_DATA . 'admin_password.txt'; + $sPassword = $oConfig->Get('security', 'admin_password', ''); + if (!$sPassword) { + $sPassword = \substr(\base64_encode(\random_bytes(16)), 0, 12); + \RainLoop\Utils::saveFile($passfile, $sPassword . "\n"); + $oConfig->SetPassword($sPassword); + $oConfig->Save(); + } else if (\is_file($passfile)) { + $sPassword = \file_get_contents($passfile); + } else { + $sPassword = ''; + } + if ($sPassword) { + $parameters['snappymail-admin-panel-link'] .= SnappyMailHelper::getAppUrl().'?admin#/security'; + } + $parameters['snappymail-admin-password'] = $sPassword; + + $parameters['snappymail-debug'] = $oConfig->Get('debug', 'enable', false); + \OCP\Util::addScript('snappymail', 'snappymail'); return new TemplateResponse('snappymail', 'admin-local', $parameters); } diff --git a/integrations/nextcloud/snappymail/templates/admin-local.php b/integrations/nextcloud/snappymail/templates/admin-local.php index b33f1987c..ea92cecc7 100755 --- a/integrations/nextcloud/snappymail/templates/admin-local.php +++ b/integrations/nextcloud/snappymail/templates/admin-local.php @@ -9,6 +9,11 @@ t('Go to SnappyMail Webmail admin panel')); ?> + +
+ Username: admin
+ Temporary password: +


@@ -33,12 +38,15 @@


-

>


+

+ > + +