Updates to access system conf and user conf

This commit is contained in:
Alexandre Alapetite 2024-02-29 21:48:44 +01:00
parent b9643c250b
commit b61ee5bf3a
No known key found for this signature in database
GPG key ID: A24378C38E812B23
2 changed files with 41 additions and 41 deletions

View file

@ -12,7 +12,7 @@ final class ImageProxyExtension extends Minz_Extension {
private const URL_ENCODE = '1';
public function init(): void {
if (FreshRSS_Context::$system_conf === null) {
if (FreshRSS_Context::systemConf() === null) {
throw new FreshRSS_Context_Exception('System configuration not initialised!');
}
$this->registerHook(
@ -21,37 +21,37 @@ final class ImageProxyExtension extends Minz_Extension {
);
// Defaults
$save = false;
if (is_null(FreshRSS_Context::$user_conf->image_proxy_url)) {
FreshRSS_Context::$user_conf->image_proxy_url = self::PROXY_URL;
if (is_null(FreshRSS_Context::userConf()->image_proxy_url)) {
FreshRSS_Context::userConf()->image_proxy_url = self::PROXY_URL;
$save = true;
}
if (is_null(FreshRSS_Context::$user_conf->image_proxy_scheme_http)) {
FreshRSS_Context::$user_conf->image_proxy_scheme_http = self::SCHEME_HTTP;
if (is_null(FreshRSS_Context::userConf()->image_proxy_scheme_http)) {
FreshRSS_Context::userConf()->image_proxy_scheme_http = self::SCHEME_HTTP;
$save = true;
}
if (is_null(FreshRSS_Context::$user_conf->image_proxy_scheme_https)) {
FreshRSS_Context::$user_conf->image_proxy_scheme_https = self::SCHEME_HTTPS;
if (is_null(FreshRSS_Context::userConf()->image_proxy_scheme_https)) {
FreshRSS_Context::userConf()->image_proxy_scheme_https = self::SCHEME_HTTPS;
// Legacy
if (!is_null(FreshRSS_Context::$user_conf->image_proxy_force)) {
FreshRSS_Context::$user_conf->image_proxy_scheme_https = FreshRSS_Context::$user_conf->image_proxy_force;
FreshRSS_Context::$user_conf->image_proxy_force = null; // Minz -> unset
if (!is_null(FreshRSS_Context::userConf()->image_proxy_force)) {
FreshRSS_Context::userConf()->image_proxy_scheme_https = FreshRSS_Context::userConf()->image_proxy_force;
FreshRSS_Context::userConf()->image_proxy_force = null; // Minz -> unset
}
$save = true;
}
if (is_null(FreshRSS_Context::$user_conf->image_proxy_scheme_default)) {
FreshRSS_Context::$user_conf->image_proxy_scheme_default = self::SCHEME_DEFAULT;
if (is_null(FreshRSS_Context::userConf()->image_proxy_scheme_default)) {
FreshRSS_Context::userConf()->image_proxy_scheme_default = self::SCHEME_DEFAULT;
$save = true;
}
if (is_null(FreshRSS_Context::$user_conf->image_proxy_scheme_include)) {
FreshRSS_Context::$user_conf->image_proxy_scheme_include = self::SCHEME_INCLUDE;
if (is_null(FreshRSS_Context::userConf()->image_proxy_scheme_include)) {
FreshRSS_Context::userConf()->image_proxy_scheme_include = self::SCHEME_INCLUDE;
$save = true;
}
if (is_null(FreshRSS_Context::$user_conf->image_proxy_url_encode)) {
FreshRSS_Context::$user_conf->image_proxy_url_encode = self::URL_ENCODE;
if (is_null(FreshRSS_Context::userConf()->image_proxy_url_encode)) {
FreshRSS_Context::userConf()->image_proxy_url_encode = self::URL_ENCODE;
$save = true;
}
if ($save) {
FreshRSS_Context::$user_conf->save();
FreshRSS_Context::userConf()->save();
}
}
@ -59,13 +59,13 @@ final class ImageProxyExtension extends Minz_Extension {
$this->registerTranslates();
if (Minz_Request::isPost()) {
FreshRSS_Context::$user_conf->image_proxy_url = Minz_Request::paramString('image_proxy_url', true) ?: self::PROXY_URL;
FreshRSS_Context::$user_conf->image_proxy_scheme_http = Minz_Request::paramString('image_proxy_scheme_http');
FreshRSS_Context::$user_conf->image_proxy_scheme_https = Minz_Request::paramString('image_proxy_scheme_https');
FreshRSS_Context::$user_conf->image_proxy_scheme_default = Minz_Request::paramString('image_proxy_scheme_default') ?: self::SCHEME_DEFAULT;
FreshRSS_Context::$user_conf->image_proxy_scheme_include = Minz_Request::paramString('image_proxy_scheme_include');
FreshRSS_Context::$user_conf->image_proxy_url_encode = Minz_Request::paramString('image_proxy_url_encode');
FreshRSS_Context::$user_conf->save();
FreshRSS_Context::userConf()->image_proxy_url = Minz_Request::paramString('image_proxy_url', true) ?: self::PROXY_URL;
FreshRSS_Context::userConf()->image_proxy_scheme_http = Minz_Request::paramString('image_proxy_scheme_http');
FreshRSS_Context::userConf()->image_proxy_scheme_https = Minz_Request::paramString('image_proxy_scheme_https');
FreshRSS_Context::userConf()->image_proxy_scheme_default = Minz_Request::paramString('image_proxy_scheme_default') ?: self::SCHEME_DEFAULT;
FreshRSS_Context::userConf()->image_proxy_scheme_include = Minz_Request::paramString('image_proxy_scheme_include');
FreshRSS_Context::userConf()->image_proxy_url_encode = Minz_Request::paramString('image_proxy_url_encode');
FreshRSS_Context::userConf()->save();
}
}
@ -73,27 +73,27 @@ final class ImageProxyExtension extends Minz_Extension {
$parsed_url = parse_url($url);
$scheme = isset($parsed_url['scheme']) ? $parsed_url['scheme'] : null;
if ($scheme === 'http') {
if (!FreshRSS_Context::$user_conf->image_proxy_scheme_http) {
if (!FreshRSS_Context::userConf()->image_proxy_scheme_http) {
return $url;
}
if (!FreshRSS_Context::$user_conf->image_proxy_scheme_include) {
if (!FreshRSS_Context::userConf()->image_proxy_scheme_include) {
$url = substr($url, 7); // http://
}
} elseif ($scheme === 'https') {
if (!FreshRSS_Context::$user_conf->image_proxy_scheme_https) {
if (!FreshRSS_Context::userConf()->image_proxy_scheme_https) {
return $url;
}
if (!FreshRSS_Context::$user_conf->image_proxy_scheme_include) {
if (!FreshRSS_Context::userConf()->image_proxy_scheme_include) {
$url = substr($url, 8); // https://
}
} elseif (empty($scheme)) {
if (FreshRSS_Context::$user_conf->image_proxy_scheme_default === 'auto') {
if (FreshRSS_Context::$user_conf->image_proxy_scheme_include) {
if (FreshRSS_Context::userConf()->image_proxy_scheme_default === 'auto') {
if (FreshRSS_Context::userConf()->image_proxy_scheme_include) {
$url = ((!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') ? 'https:' : 'http:') . $url;
}
} elseif (substr(FreshRSS_Context::$user_conf->image_proxy_scheme_default, 0, 4) === 'http') {
if (FreshRSS_Context::$user_conf->image_proxy_scheme_include) {
$url = FreshRSS_Context::$user_conf->image_proxy_scheme_default . ':' . $url;
} elseif (substr(FreshRSS_Context::userConf()->image_proxy_scheme_default, 0, 4) === 'http') {
if (FreshRSS_Context::userConf()->image_proxy_scheme_include) {
$url = FreshRSS_Context::userConf()->image_proxy_scheme_default . ':' . $url;
}
} else { // do not proxy unschemed ("//path/...") URLs
return $url;
@ -101,10 +101,10 @@ final class ImageProxyExtension extends Minz_Extension {
} else { // unknown/unsupported (non-http) scheme
return $url;
}
if (FreshRSS_Context::$user_conf->image_proxy_url_encode) {
if (FreshRSS_Context::userConf()->image_proxy_url_encode) {
$url = rawurlencode($url);
}
return FreshRSS_Context::$user_conf->image_proxy_url . $url;
return FreshRSS_Context::userConf()->image_proxy_url . $url;
}
/**