mirror of
https://github.com/nextcloud/mail.git
synced 2026-01-31 08:07:30 +00:00
* Expose managesieve port * Add sieve client factory * Add support for sieve to provisioning * Refactor test connectivity logic and add sieve. * Add support for sieve to provisioning * Add sieve to account form * Add debug logger for ManageSieve * Add api to get and update active script * Add error for managesieve exception * Add text editor to update existing script Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de> Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
85 lines
2.3 KiB
PHP
85 lines
2.3 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* @copyright 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
*
|
|
* @author 2019 Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
*
|
|
* @license GNU AGPL version 3 or any later version
|
|
*
|
|
* 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\Mail\Controller;
|
|
|
|
use OCA\Mail\AppInfo\Application;
|
|
use OCA\Mail\Service\Provisioning\Manager as ProvisioningManager;
|
|
use OCP\AppFramework\Controller;
|
|
use OCP\AppFramework\Http\JSONResponse;
|
|
use OCP\IRequest;
|
|
|
|
class SettingsController extends Controller {
|
|
|
|
/** @var ProvisioningManager */
|
|
private $provisioningManager;
|
|
|
|
public function __construct(IRequest $request,
|
|
ProvisioningManager $provisioningManager) {
|
|
parent::__construct(Application::APP_ID, $request);
|
|
$this->provisioningManager = $provisioningManager;
|
|
}
|
|
|
|
public function provisioning(string $emailTemplate,
|
|
string $imapUser,
|
|
string $imapHost,
|
|
int $imapPort,
|
|
string $imapSslMode,
|
|
string $smtpUser,
|
|
string $smtpHost,
|
|
int $smtpPort,
|
|
string $smtpSslMode,
|
|
bool $sieveEnabled,
|
|
string $sieveUser,
|
|
string $sieveHost,
|
|
int $sievePort,
|
|
string $sieveSslMode): JSONResponse {
|
|
$this->provisioningManager->newProvisioning(
|
|
$emailTemplate,
|
|
$imapUser,
|
|
$imapHost,
|
|
$imapPort,
|
|
$imapSslMode,
|
|
$smtpUser,
|
|
$smtpHost,
|
|
$smtpPort,
|
|
$smtpSslMode,
|
|
$sieveEnabled,
|
|
$sieveUser,
|
|
$sieveHost,
|
|
$sievePort,
|
|
$sieveSslMode
|
|
);
|
|
|
|
return new JSONResponse([]);
|
|
}
|
|
|
|
public function deprovision(): JSONResponse {
|
|
$this->provisioningManager->deprovision();
|
|
|
|
return new JSONResponse([]);
|
|
}
|
|
}
|