cosmetic nullsafe fix
parent
8813763d73
commit
1e7544e585
|
@ -26,6 +26,7 @@ class Backend extends dcNsProcess
|
|||
{
|
||||
static::$init = defined('DC_CONTEXT_ADMIN')
|
||||
&& My::phpCompliant()
|
||||
&& !is_null(dcCore::app()->auth) && !is_null(dcCore::app()->blog) // nullsafe PHP < 8.0
|
||||
&& dcCore::app()->auth->check(dcCore::app()->auth->makePermissions([
|
||||
dcCore::app()->auth::PERMISSION_CONTENT_ADMIN,
|
||||
]), dcCore::app()->blog->id);
|
||||
|
@ -39,6 +40,11 @@ class Backend extends dcNsProcess
|
|||
return false;
|
||||
}
|
||||
|
||||
// nullsafe PHP < 8.0
|
||||
if (is_null(dcCore::app()->auth) || is_null(dcCore::app()->blog) || is_null(dcCore::app()->adminurl)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
dcCore::app()->menu[dcAdmin::MENU_BLOG]->addItem(
|
||||
My::name(),
|
||||
dcCore::app()->adminurl->get('admin.plugin.' . My::id()),
|
||||
|
@ -54,6 +60,11 @@ class Backend extends dcNsProcess
|
|||
|
||||
dcCore::app()->addBehaviors([
|
||||
'adminDashboardFavoritesV2' => function (dcFavorites $favs): void {
|
||||
// nullsafe PHP < 8.0
|
||||
if (is_null(dcCore::app()->auth) || is_null(dcCore::app()->adminurl)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$favs->register(My::id(), [
|
||||
'title' => My::name(),
|
||||
'url' => dcCore::app()->adminurl->get('admin.plugin.' . My::id()),
|
||||
|
|
|
@ -43,8 +43,7 @@ class Frontend extends dcNsProcess
|
|||
|
||||
# Redirect if needed
|
||||
if (isset($_GET['theme'])) {
|
||||
$p = '/(\?|&)theme(=.*)?$/';
|
||||
Http::redirect(preg_replace($p, '', Http::getSelfURI()));
|
||||
Http::redirect((string) preg_replace('/(\?|&)theme(=.*)?$/', '', Http::getSelfURI()));
|
||||
}
|
||||
|
||||
# Switch theme
|
||||
|
@ -63,6 +62,11 @@ class Frontend extends dcNsProcess
|
|||
|
||||
protected static function cookieSuffix(): string
|
||||
{
|
||||
// nullsafe PHP < 8.0
|
||||
if (is_null(dcCore::app()->blog)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return base_convert(dcCore::app()->blog->uid, 16, 36);
|
||||
}
|
||||
|
||||
|
@ -75,6 +79,11 @@ class Frontend extends dcNsProcess
|
|||
|
||||
public static function switchTheme(string $theme): void
|
||||
{
|
||||
// nullsafe PHP < 8.0
|
||||
if (is_null(dcCore::app()->blog)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (dcCore::app()->blog->settings->get(My::id())->get('mt_exclude')) {
|
||||
if (in_array($theme, explode('/', dcCore::app()->blog->settings->get(My::id())->get('mt_exclude')))) {
|
||||
return;
|
||||
|
|
|
@ -38,6 +38,7 @@ class Manage extends dcNsProcess
|
|||
{
|
||||
static::$init = defined('DC_CONTEXT_ADMIN')
|
||||
&& My::phpCompliant()
|
||||
&& !is_null(dcCore::app()->auth) && !is_null(dcCore::app()->blog) // nullsafe PHP < 8.0
|
||||
&& dcCore::app()->auth->check(dcCore::app()->auth->makePermissions([
|
||||
dcCore::app()->auth::PERMISSION_CONTENT_ADMIN,
|
||||
]), dcCore::app()->blog->id);
|
||||
|
@ -51,6 +52,11 @@ class Manage extends dcNsProcess
|
|||
return false;
|
||||
}
|
||||
|
||||
// nullsafe PHP < 8.0
|
||||
if (is_null(dcCore::app()->auth) || is_null(dcCore::app()->blog) || is_null(dcCore::app()->adminurl)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
try {
|
||||
$s = dcCore::app()->blog->settings->get(My::id());
|
||||
|
||||
|
@ -108,6 +114,11 @@ class Manage extends dcNsProcess
|
|||
return;
|
||||
}
|
||||
|
||||
// nullsafe PHP < 8.0
|
||||
if (is_null(dcCore::app()->blog) || is_null(dcCore::app()->adminurl)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$models = new ArrayObject(My::distributedModels());
|
||||
|
||||
dcCore::app()->callBehavior('arlequinAddModels', $models);
|
||||
|
|
|
@ -45,9 +45,15 @@ class Widgets
|
|||
return '';
|
||||
}
|
||||
|
||||
// nullsafe PHP < 8.0
|
||||
if (is_null(dcCore::app()->blog)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
$model = json_decode((string) dcCore::app()->blog->settings->get(My::id())->get('model'), true);
|
||||
$names = self::getNames();
|
||||
if (!is_array($model) || empty($names)) {
|
||||
$exclude = explode(';', (string) dcCore::app()->blog->settings->get(My::id())->get('exclude'));
|
||||
$modules = array_diff_key(dcCore::app()->themes->getDefines(['state' => dcModuleDefine::STATE_ENABLED], true), array_flip($exclude));
|
||||
if (!is_array($model) || empty($modules)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
|
@ -68,8 +74,8 @@ class Widgets
|
|||
}
|
||||
|
||||
$res = '';
|
||||
foreach ($names as $k => $v) {
|
||||
if ($k == dcCore::app()->public->theme) {
|
||||
foreach ($modules as $id => $module) {
|
||||
if ($id == dcCore::app()->public->theme) {
|
||||
$format = $model['a_html'];
|
||||
} else {
|
||||
$format = $model['e_html'];
|
||||
|
@ -78,21 +84,21 @@ class Widgets
|
|||
if ($replace) {
|
||||
$e_url = preg_replace(
|
||||
'/(\\?|&)(theme\\=)([^&]*)/',
|
||||
'$1${2}' . addcslashes($k, '$\\'),
|
||||
$e_url
|
||||
'$1${2}' . addcslashes($id, '$\\'),
|
||||
(string) $e_url
|
||||
);
|
||||
$val = '';
|
||||
} else {
|
||||
$val = Html::escapeHTML(rawurlencode($k));
|
||||
$val = Html::escapeHTML(rawurlencode($id));
|
||||
}
|
||||
$res .= sprintf(
|
||||
$format,
|
||||
$e_url,
|
||||
$ext,
|
||||
$val,
|
||||
Html::escapeHTML($v['name']),
|
||||
Html::escapeHTML($v['desc']),
|
||||
Html::escapeHTML($k)
|
||||
Html::escapeHTML($module['name']),
|
||||
Html::escapeHTML($module['desc']),
|
||||
Html::escapeHTML($id)
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -108,11 +114,4 @@ class Widgets
|
|||
($w->title ? $w->renderTitle(Html::escapeHTML($w->title)) : '') . sprintf($model['s_html'], $s_url, $res)
|
||||
);
|
||||
}
|
||||
|
||||
public static function getNames(): array
|
||||
{
|
||||
$exclude = explode(';', (string) dcCore::app()->blog->settings->get(My::id())->get('exclude'));
|
||||
|
||||
return array_diff_key(dcCore::app()->themes->getDefines(['state' => dcModuleDefine::STATE_ENABLED], true), array_flip($exclude));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue