2021-01-24 06:10:44 +00:00
|
|
|
<?php
|
|
|
|
namespace OCA\CTAutoMailHooks;
|
|
|
|
use OCP\ILogger;
|
|
|
|
use \OCP\IConfig;
|
|
|
|
class Config {
|
|
|
|
const CONFIG_KEY = 'ct_auto_mail_hooks';
|
2023-09-05 18:11:17 +00:00
|
|
|
const CONFIG_KEY_MAILU_KEYS="mailu_keys";
|
|
|
|
const CONFIG_KEY_MAILU_API="mailu_api";
|
2021-01-24 06:10:44 +00:00
|
|
|
const CONFIG_KEY_EMAIL_ADDR_SUFFIX="email_suffix";
|
2021-01-24 07:40:17 +00:00
|
|
|
const CONFIG_KEY_EMAIL_ADDR_QUOTA_MB="quota";
|
2023-09-05 18:11:17 +00:00
|
|
|
|
2021-01-24 07:40:17 +00:00
|
|
|
const DEFAULT_EMAIL_ADDR_QUOTA_MB="200";
|
2021-01-24 06:10:44 +00:00
|
|
|
private $logger;
|
|
|
|
private $appConfiguration;
|
|
|
|
private $logContext = ['app' => 'ct_auto_mail_hooks'];
|
2021-02-22 03:06:57 +00:00
|
|
|
public function __construct(
|
|
|
|
ILogger $logger, IConfig $nextCloudConfiguration) {
|
2021-01-24 06:10:44 +00:00
|
|
|
$this->logger = $logger;
|
2021-02-22 03:06:57 +00:00
|
|
|
$this->appConfiguration =
|
|
|
|
$nextCloudConfiguration->getSystemValue(self::CONFIG_KEY);
|
2021-01-24 06:10:44 +00:00
|
|
|
}
|
2023-09-05 18:11:17 +00:00
|
|
|
public function getMailUKeys() {
|
|
|
|
return $this->getConfValue(self::CONFIG_KEY_MAILU_KEYS);
|
|
|
|
}
|
|
|
|
public function getMailUAPI() {
|
|
|
|
return $this->getConfValue(self::CONFIG_KEY_MAILU_API);
|
2021-01-24 06:10:44 +00:00
|
|
|
}
|
|
|
|
public function getEmailAddressSuffix() {
|
|
|
|
return $this->getConfValue(self::CONFIG_KEY_EMAIL_ADDR_SUFFIX);
|
|
|
|
}
|
2021-01-24 07:40:17 +00:00
|
|
|
public function getEmailQuotaMB() {
|
|
|
|
$quota = $this->getConfValue(self::CONFIG_KEY_EMAIL_ADDR_QUOTA_MB);
|
|
|
|
return is_null($quota) ? self::DEFAULT_EMAIL_ADDR_QUOTA_MB : $quota;
|
|
|
|
}
|
2021-01-24 06:10:44 +00:00
|
|
|
private function getConfValue($configKey) {
|
2021-01-24 07:40:17 +00:00
|
|
|
if(array_key_exists($configKey, $this->appConfiguration)){
|
|
|
|
return $this->appConfiguration[$configKey];
|
|
|
|
}
|
|
|
|
return NULL;
|
2021-01-24 06:10:44 +00:00
|
|
|
}
|
|
|
|
}
|