code review phpstan level 8
parent
6087c628bf
commit
305d4d8bbd
|
@ -43,12 +43,12 @@ class Backend extends dcNsProcess
|
||||||
return empty(Uninstaller::instance()->loadModules([$define])->getUserActions($define->getId())) ? '' :
|
return empty(Uninstaller::instance()->loadModules([$define])->getUserActions($define->getId())) ? '' :
|
||||||
sprintf(
|
sprintf(
|
||||||
' <a href="%s" class="button delete">' . __('Uninstall') . '</a>',
|
' <a href="%s" class="button delete">' . __('Uninstall') . '</a>',
|
||||||
dcCore::app()->adminurl->get('admin.plugin.' . My::id(), ['type' => $define->get('type'), 'id' => $define->getId()])
|
dcCore::app()->adminurl?->get('admin.plugin.' . My::id(), ['type' => $define->get('type'), 'id' => $define->getId()])
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
// perform direct action on module deletion
|
// perform direct action on module deletion
|
||||||
'pluginBeforeDeleteV2' => function (dcModuleDefine $define): void {
|
'pluginBeforeDeleteV2' => function (dcModuleDefine $define): void {
|
||||||
if (dcCore::app()->blog->settings->get('system')->get('no_uninstall_direct')) {
|
if (dcCore::app()->blog?->settings->get('system')->get('no_uninstall_direct')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,9 +71,9 @@ class Backend extends dcNsProcess
|
||||||
array_unshift($done, __('Plugin has been successfully uninstalled.'));
|
array_unshift($done, __('Plugin has been successfully uninstalled.'));
|
||||||
dcPage::addSuccessNotice(implode('<br />', $done));
|
dcPage::addSuccessNotice(implode('<br />', $done));
|
||||||
if ($define->get('type') == 'theme') {
|
if ($define->get('type') == 'theme') {
|
||||||
dcCore::app()->adminurl->redirect('blog.themes', [], '#themes');
|
dcCore::app()->adminurl?->redirect('admin.blog.theme', [], '#themes');
|
||||||
} else {
|
} else {
|
||||||
dcCore::app()->adminurl->redirect('admin.plugins', [], '#plugins');
|
dcCore::app()->adminurl?->redirect('admin.plugins', [], '#plugins');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
|
|
|
@ -113,7 +113,7 @@ class Settings extends AbstractCleaner
|
||||||
if ($action == 'delete_local') {
|
if ($action == 'delete_local') {
|
||||||
dcCore::app()->con->execute(
|
dcCore::app()->con->execute(
|
||||||
'DELETE FROM ' . dcCore::app()->prefix . dcNamespace::NS_TABLE_NAME . ' ' .
|
'DELETE FROM ' . dcCore::app()->prefix . dcNamespace::NS_TABLE_NAME . ' ' .
|
||||||
"WHERE blog_id = '" . dcCore::app()->con->escapeStr((string) dcCore::app()->blog->id) . "' " .
|
"WHERE blog_id = '" . dcCore::app()->con->escapeStr((string) dcCore::app()->blog?->id) . "' " .
|
||||||
"AND setting_ns = '" . dcCore::app()->con->escapeStr((string) $ns) . "' "
|
"AND setting_ns = '" . dcCore::app()->con->escapeStr((string) $ns) . "' "
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,11 @@ class Themes extends AbstractCleaner
|
||||||
|
|
||||||
public function values(): array
|
public function values(): array
|
||||||
{
|
{
|
||||||
$res = self::getDirs(dcCore::app()->blog->themes_path);
|
if (($path = dcCore::app()->blog?->themes_path) === null) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
$res = self::getDirs($path);
|
||||||
sort($res);
|
sort($res);
|
||||||
|
|
||||||
return $res;
|
return $res;
|
||||||
|
@ -61,12 +65,12 @@ class Themes extends AbstractCleaner
|
||||||
|
|
||||||
public function execute(string $action, string $ns): bool
|
public function execute(string $action, string $ns): bool
|
||||||
{
|
{
|
||||||
if ($action == 'delete') {
|
if ($action != 'delete' || ($path = dcCore::app()->blog?->themes_path) === null) {
|
||||||
self::delDir(dcCore::app()->blog->themes_path, $ns, true);
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
self::delDir($path, $ns, true);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ class Install extends dcNsProcess
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
dcCore::app()->blog->settings->get('system')->put(
|
dcCore::app()->blog?->settings->get('system')->put(
|
||||||
'no_direct_uninstall',
|
'no_direct_uninstall',
|
||||||
false,
|
false,
|
||||||
'boolean',
|
'boolean',
|
||||||
|
|
|
@ -48,28 +48,28 @@ class Manage extends dcNsProcess
|
||||||
}
|
}
|
||||||
|
|
||||||
$type = ($_REQUEST['type'] ?? 'theme') == 'theme' ? 'themes' : 'plugins';
|
$type = ($_REQUEST['type'] ?? 'theme') == 'theme' ? 'themes' : 'plugins';
|
||||||
$redir = $type == 'themes' ? ['blog.themes', [], '#themes'] : ['admin.plugins', [], '#plugins'];
|
$redir = $type == 'themes' ? ['admin.blog.theme', [], '#themes'] : ['admin.plugins', [], '#plugins'];
|
||||||
|
|
||||||
if (empty($_REQUEST['id'])) {
|
if (empty($_REQUEST['id'])) {
|
||||||
dcCore::app()->adminurl->redirect($redir[0], $redir[1], $redir[2]);
|
dcCore::app()->adminurl?->redirect($redir[0], $redir[1], $redir[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($type == 'themes' && !is_a(dcCore::app()->themes, 'dcThemes')) {
|
if ($type == 'themes' && !is_a(dcCore::app()->themes, 'dcThemes')) {
|
||||||
dcCore::app()->themes = new dcThemes();
|
dcCore::app()->themes = new dcThemes();
|
||||||
dcCore::app()->themes->loadModules(dcCore::app()->blog->themes_path, null);
|
dcCore::app()->themes->loadModules((string) dcCore::app()->blog?->themes_path, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
$define = dcCore::app()->{$type}->getDefine($_REQUEST['id']);
|
$define = dcCore::app()->{$type}->getDefine($_REQUEST['id']);
|
||||||
if (!$define->isDefined()) {
|
if (!$define->isDefined()) {
|
||||||
dcCore::app()->error->add(__('Unknown module id to uninstall'));
|
dcCore::app()->error->add(__('Unknown module id to uninstall'));
|
||||||
dcCore::app()->adminurl->redirect($redir[0], $redir[1], $redir[2]);
|
dcCore::app()->adminurl?->redirect($redir[0], $redir[1], $redir[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$uninstaller = Uninstaller::instance()->loadModules([$define]);
|
$uninstaller = Uninstaller::instance()->loadModules([$define]);
|
||||||
$actions = $uninstaller->getUserActions($define->getId());
|
$actions = $uninstaller->getUserActions($define->getId());
|
||||||
if (empty($actions)) {
|
if (empty($actions)) {
|
||||||
dcCore::app()->error->add(__('There are no uninstall actions for this module'));
|
dcCore::app()->error->add(__('There are no uninstall actions for this module'));
|
||||||
dcCore::app()->adminurl->redirect($redir[0], $redir[1], $redir[2]);
|
dcCore::app()->adminurl?->redirect($redir[0], $redir[1], $redir[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($_POST)) {
|
if (empty($_POST)) {
|
||||||
|
@ -95,7 +95,7 @@ class Manage extends dcNsProcess
|
||||||
} else {
|
} else {
|
||||||
dcPage::addWarningNotice(__('No uninstall action done'));
|
dcPage::addWarningNotice(__('No uninstall action done'));
|
||||||
}
|
}
|
||||||
dcCore::app()->adminurl->redirect($redir[0], $redir[1], $redir[2]);
|
dcCore::app()->adminurl?->redirect($redir[0], $redir[1], $redir[2]);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
dcCore::app()->error->add($e->getMessage());
|
dcCore::app()->error->add($e->getMessage());
|
||||||
}
|
}
|
||||||
|
@ -152,14 +152,14 @@ class Manage extends dcNsProcess
|
||||||
(new Hidden(['type'], $type)),
|
(new Hidden(['type'], $type)),
|
||||||
(new Hidden(['id'], $define->getId())),
|
(new Hidden(['id'], $define->getId())),
|
||||||
(new Submit(['do']))->value(__('Perform selected actions'))->class('delete'),
|
(new Submit(['do']))->value(__('Perform selected actions'))->class('delete'),
|
||||||
(new Text('', ' <a class="button" href="' . dcCore::app()->adminurl->get($redir[0], $redir[1]) . $redir[2] . '">' . __('Cancel') . '</a>')),
|
(new Text('', ' <a class="button" href="' . dcCore::app()->adminurl?->get($redir[0], $redir[1]) . $redir[2] . '">' . __('Cancel') . '</a>')),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// display form
|
// display form
|
||||||
echo (new Div())->items([
|
echo (new Div())->items([
|
||||||
(new Text('h3', sprintf(($type == 'themes' ? __('Uninstall theme "%s"') : __('Uninstall plugin "%s"')), __($define->get('name'))))),
|
(new Text('h3', sprintf(($type == 'themes' ? __('Uninstall theme "%s"') : __('Uninstall plugin "%s"')), __($define->get('name'))))),
|
||||||
(new Text('p', sprintf(__('The module "%s %s" offers advanced unsintall process:'), $define->getId(), $define->get('version')))),
|
(new Text('p', sprintf(__('The module "%s %s" offers advanced unsintall process:'), $define->getId(), $define->get('version')))),
|
||||||
(new Form('uninstall-form'))->method('post')->action(dcCore::app()->adminurl->get('admin.plugin.' . My::id()))->fields($fields),
|
(new Form('uninstall-form'))->method('post')->action(dcCore::app()->adminurl?->get('admin.plugin.' . My::id()))->fields($fields),
|
||||||
])->render();
|
])->render();
|
||||||
|
|
||||||
dcPage::closeModule();
|
dcPage::closeModule();
|
||||||
|
|
|
@ -23,7 +23,7 @@ class Prepend extends dcNsProcess
|
||||||
{
|
{
|
||||||
static::$init = defined('DC_CONTEXT_ADMIN')
|
static::$init = defined('DC_CONTEXT_ADMIN')
|
||||||
&& My::phpCompliant()
|
&& My::phpCompliant()
|
||||||
&& dcCore::app()->auth->isSuperAdmin();
|
&& dcCore::app()->auth?->isSuperAdmin();
|
||||||
|
|
||||||
return static::$init;
|
return static::$init;
|
||||||
}
|
}
|
||||||
|
|
|
@ -224,7 +224,7 @@ class Uninstaller
|
||||||
{
|
{
|
||||||
$output = '';
|
$output = '';
|
||||||
if ($this->hasRender($id)) {
|
if ($this->hasRender($id)) {
|
||||||
$class = $this->getModule($id)->get('namespace') . '\\Uninstall';
|
$class = $this->getModule($id)?->get('namespace') . '\\Uninstall';
|
||||||
|
|
||||||
ob_start();
|
ob_start();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue