mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-01-29 23:51:04 -05:00
* Copy CustomCSS and CustomJS Original: FreshRSS/Extensions@9f21984 * Rename CustomCSS -> UserCSS * Rename CustomJS -> UserJS * Change metadata The name is used for the directory where the configuration is stored and should not contain spaces. Since the name was changed, I reset the version number and changed to semantic versioning. * Change data directory Changed the location of the configuration file to the user data directory, because it is not `static`. That way, the user's configurations are gathered in the user directory, which makes it easier to backup them. * Edit documentations Remove procedures to install the extension because it is no longer necessary. * Fix wrong variables in the configuration page Remove permission error indication because the storage location is now in the user data directory managed by the application. * Remove the `xExtension-` prefix for core extensions * Set version to 1.0.0 for UserCSS, UserJS * Refactoring * Remove unused variables * Remove version 0.0.1 in Changelog Version 0.0.1 will not be merged, so only version 1.0.0 will remain. * public getFileUrl * Revert more protected * Use entrypoint for extension user path instead of name * Add space to extension name * Add `#[\Override]` * Add explains of User CSS and User JS to docs * Remove README of User CSS and User JS * Add migration code for extension user path --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
35 lines
794 B
PHP
35 lines
794 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
final class UserJSExtension extends Minz_Extension {
|
|
public string $js_rules = '';
|
|
private const FILENAME = 'script.js';
|
|
|
|
#[\Override]
|
|
public function init(): void {
|
|
parent::init();
|
|
|
|
$this->registerTranslates();
|
|
if ($this->hasFile(self::FILENAME)) {
|
|
Minz_View::appendScript($this->getFileUrl(self::FILENAME, 'js', false));
|
|
}
|
|
}
|
|
|
|
#[\Override]
|
|
public function handleConfigureAction(): void {
|
|
parent::init();
|
|
|
|
$this->registerTranslates();
|
|
|
|
if (Minz_Request::isPost()) {
|
|
$js_rules = html_entity_decode(Minz_Request::paramString('js-rules'));
|
|
$this->saveFile(self::FILENAME, $js_rules);
|
|
}
|
|
|
|
$this->js_rules = '';
|
|
if ($this->hasFile(self::FILENAME)) {
|
|
$this->js_rules = htmlentities($this->getFile(self::FILENAME) ?? '');
|
|
}
|
|
}
|
|
}
|