Add PHPStan and other quality checks

Similar to FreshRSS core
Contributes to https://github.com/FreshRSS/Extensions/issues/184
This commit is contained in:
Alexandre Alapetite 2023-11-23 22:41:09 +01:00
parent a86467db48
commit b49596818c
No known key found for this signature in database
GPG key ID: A24378C38E812B23
59 changed files with 1173 additions and 404 deletions

View file

@ -1,14 +1,22 @@
<?php
class FreshExtension_quickCollapse_Controller extends Minz_ActionController {
public function jsVarsAction() {
/** @var QuickCollapse\View */
protected $view;
public function __construct() {
parent::__construct(QuickCollapse\View::class);
}
public function jsVarsAction(): void {
$extension = Minz_ExtensionManager::findExtension('Quick Collapse');
$this->view->icon_url_in = $extension->getFileUrl('in.svg', 'svg');
$this->view->icon_url_out = $extension->getFileUrl('out.svg', 'svg');
if ($extension !== null) {
$this->view->icon_url_in = $extension->getFileUrl('in.svg', 'svg');
$this->view->icon_url_out = $extension->getFileUrl('out.svg', 'svg');
}
$this->view->i18n_toggle_collapse = _t('gen.js.toggle_collapse');
$this->view->_layout(false);
$this->view->_layout(null);
$this->view->_path('quickCollapse/vars.js');
header('Content-Type: application/javascript');
}

View file

@ -0,0 +1,12 @@
<?php
declare(strict_types=1);
namespace QuickCollapse;
class View extends \Minz_View {
public string $icon_url_in = '';
public string $icon_url_out = '';
public string $i18n_toggle_collapse = '';
}

View file

@ -3,13 +3,13 @@
declare(strict_types=1);
class QuickCollapseExtension extends Minz_Extension {
public function init() {
public function init(): void {
$this->registerTranslates();
$this->registerViews();
$this->registerController('quickCollapse');
Minz_View::appendStyle($this->getFileUrl('style.css', 'css'));
Minz_View::appendScript(_url('quickCollapse', 'jsVars'), false, true, false);
Minz_View::appendScript(_url('quickCollapse', 'jsVars') ?: '', false, true, false);
Minz_View::appendScript($this->getFileUrl('script.js', 'js'), false, true, false);
}
}

View file

@ -1,11 +1,11 @@
#toggle-collapse .uncollapse {
display: none;
display: none;
}
#toggle-collapse.collapsed .collapse {
display: none;
display: none;
}
#toggle-collapse.collapsed .uncollapse {
display: inherit;
display: inherit;
}

View file

@ -0,0 +1,11 @@
#toggle-collapse .uncollapse {
display: none;
}
#toggle-collapse.collapsed .collapse {
display: none;
}
#toggle-collapse.collapsed .uncollapse {
display: inherit;
}

View file

@ -1,6 +1,6 @@
/* exported quick_collapse_vars */
// eslint-disable-next-line no-unused-vars
// eslint-disable-next-line no-unused-vars, no-var
var quick_collapse_vars = {
icon_url_in: '<?= $this->icon_url_in ?>',
icon_url_out: '<?= $this->icon_url_out ?>',