fix nullsafe warnings and remove magic

This commit is contained in:
Jean-Christian Paul Denis 2023-04-23 21:07:22 +02:00
parent 0b45344ae0
commit 60e5abd9f4
Signed by: JcDenis
GPG Key ID: 1B5B8C5B90B6C951
2 changed files with 15 additions and 10 deletions

View File

@ -10,7 +10,7 @@
* @copyright Jean-Christian Denis
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
*/
if (!defined('DC_RC_PATH')) {
if (!defined('DC_RC_PATH') || is_null(dcCore::app()->auth)) {
return null;
}
@ -22,7 +22,7 @@ $this->registerModule(
[
'requires' => [['core', '2.26']],
'permissions' => dcCore::app()->auth->makePermissions([
dcAuth::PERMISSION_ADMIN,
dcCore::app()->auth::PERMISSION_ADMIN,
]),
'type' => 'plugin',
'support' => 'http://forum.dotclear.org/viewtopic.php?pid=321044#p321044',

View File

@ -43,7 +43,12 @@ class Widgets
public static function parseWidget(WidgetsElement $w): string
{
if ($w->offline || !$w->checkHomeOnly(dcCore::app()->url->type)) {
// nullsafe
if (is_null(dcCore::app()->blog)) {
return '';
}
if ($w->__get('offline') || !$w->checkHomeOnly(dcCore::app()->url->type)) {
return '';
}
@ -60,7 +65,7 @@ class Widgets
$posts = [];
while ($rs->fetch()) {
$posts[Date::dt2str(__('%Y'), $rs->f('dt'))][] = [
'url' => $rs->url(),
'url' => $rs->__call('url', []),
'date' => Html::escapeHTML(Date::dt2str(__('%B'), $rs->f('dt'))),
'nbpost' => $rs->f('nb_post'),
];
@ -77,23 +82,23 @@ class Widgets
$res .= '<span>' . $annee . '</span><ul class="arch-months">';
for ($i = 0; $i < sizeof($post); $i++) {
$res .= '<li><a href="' . $post[$i]['url'] . '">' . $post[$i]['date'] . '</a>' .
($w->postcount ? ' (' . $post[$i]['nbpost'] . ')' : '') .
($w->__get('postcount') ? ' (' . $post[$i]['nbpost'] . ')' : '') .
'</li>';
}
$res .= '</ul></li>';
}
$res .= '</ul>';
if (dcCore::app()->url->getBase('archive') && !is_null($w->allarchivesslinktitle) && $w->allarchivesslinktitle !== '') {
if (dcCore::app()->url->getBase('archive') && !is_null($w->__get('allarchivesslinktitle')) && $w->__get('allarchivesslinktitle') !== '') {
$res .= '<p><strong><a href="' . dcCore::app()->blog->url . dcCore::app()->url->getURLFor('archive') . '">' .
Html::escapeHTML($w->allarchivesslinktitle) . '</a></strong></p>';
Html::escapeHTML($w->__get('allarchivesslinktitle')) . '</a></strong></p>';
}
return $w->renderDiv(
(bool) $w->content_only,
My::id() . ' ' . $w->class,
(bool) $w->__get('content_only'),
My::id() . ' ' . $w->__get('class'),
'',
($w->title ? $w->renderTitle(Html::escapeHTML($w->title)) : '') . $res
($w->__get('title') ? $w->renderTitle(Html::escapeHTML($w->__get('title'))) : '') . $res
);
}
}