fix nullsafe warning
This commit is contained in:
parent
a3bb29bd64
commit
78b0c4d577
4 changed files with 67 additions and 18 deletions
|
@ -15,7 +15,6 @@ declare(strict_types=1);
|
|||
namespace Dotclear\Plugin\filesAlias;
|
||||
|
||||
use dcAdmin;
|
||||
use dcAuth;
|
||||
use dcCore;
|
||||
use dcFavorites;
|
||||
use dcNsProcess;
|
||||
|
@ -36,23 +35,32 @@ class Backend extends dcNsProcess
|
|||
return false;
|
||||
}
|
||||
|
||||
// nullsafe
|
||||
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()),
|
||||
dcPage::getPF(My::id() . '/icon.svg'),
|
||||
preg_match('/' . preg_quote(dcCore::app()->adminurl->get('admin.plugin.' . My::id())) . '(&.*)?$/', $_SERVER['REQUEST_URI']),
|
||||
dcCore::app()->auth->check(dcCore::app()->auth->makePermissions([dcAuth::PERMISSION_CONTENT_ADMIN]), dcCore::app()->blog->id)
|
||||
dcCore::app()->auth->check(dcCore::app()->auth->makePermissions([dcCore::app()->auth::PERMISSION_CONTENT_ADMIN]), dcCore::app()->blog->id)
|
||||
);
|
||||
|
||||
dcCore::app()->addBehavior('adminDashboardFavoritesV2', function (dcFavorites $favs): void {
|
||||
// nullsafe
|
||||
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()),
|
||||
'small-icon' => dcPage::getPF(My::id() . '/icon.svg'),
|
||||
'large-icon' => dcPage::getPF(My::id() . '/icon.svg'),
|
||||
'permissions' => dcCore::app()->auth->makePermissions([
|
||||
dcAuth::PERMISSION_USAGE,
|
||||
dcAuth::PERMISSION_CONTENT_ADMIN,
|
||||
dcCore::app()->auth::PERMISSION_USAGE,
|
||||
dcCore::app()->auth::PERMISSION_CONTENT_ADMIN,
|
||||
]),
|
||||
]);
|
||||
});
|
||||
|
|
|
@ -14,7 +14,6 @@ declare(strict_types=1);
|
|||
|
||||
namespace Dotclear\Plugin\filesAlias;
|
||||
|
||||
use dcAuth;
|
||||
use dcCore;
|
||||
use dcMedia;
|
||||
use dcNsProcess;
|
||||
|
@ -37,12 +36,14 @@ class Manage extends dcNsProcess
|
|||
{
|
||||
public static function init(): bool
|
||||
{
|
||||
static::$init = defined('DC_CONTEXT_ADMIN') && dcCore::app()->auth->check(
|
||||
dcCore::app()->auth->makePermissions([
|
||||
dcAuth::PERMISSION_ADMIN,
|
||||
]),
|
||||
dcCore::app()->blog->id
|
||||
);
|
||||
static::$init = defined('DC_CONTEXT_ADMIN')
|
||||
&& !is_null(dcCore::app()->auth) && !is_null(dcCore::app()->blog) // nullsafe
|
||||
&& dcCore::app()->auth->check(
|
||||
dcCore::app()->auth->makePermissions([
|
||||
dcCore::app()->auth::PERMISSION_ADMIN,
|
||||
]),
|
||||
dcCore::app()->blog->id
|
||||
);
|
||||
|
||||
return static::$init;
|
||||
}
|
||||
|
@ -53,11 +54,16 @@ class Manage extends dcNsProcess
|
|||
return false;
|
||||
}
|
||||
|
||||
// nullsafe
|
||||
if (is_null(dcCore::app()->blog) || is_null(dcCore::app()->adminurl)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!(dcCore::app()->media instanceof dcMedia)) {
|
||||
dcCore::app()->media = new dcMedia();
|
||||
}
|
||||
|
||||
# Update aliases
|
||||
// Update aliases
|
||||
if (isset($_POST['a']) && is_array($_POST['a'])) {
|
||||
try {
|
||||
Utils::updateAliases($_POST['a']);
|
||||
|
@ -68,7 +74,7 @@ class Manage extends dcNsProcess
|
|||
}
|
||||
}
|
||||
|
||||
# New alias
|
||||
// New alias
|
||||
if (isset($_POST['filesalias_url'])) {
|
||||
$url = empty($_POST['filesalias_url']) ? PallazzoTools::rand_uniqid() : $_POST['filesalias_url'];
|
||||
|
||||
|
@ -132,6 +138,11 @@ class Manage extends dcNsProcess
|
|||
|
||||
private static function displayAliasForm(): void
|
||||
{
|
||||
// nullsafe
|
||||
if (is_null(dcCore::app()->blog) || is_null(dcCore::app()->adminurl) || is_null(dcCore::app()->media)) {
|
||||
return;
|
||||
}
|
||||
|
||||
echo
|
||||
dcPage::breadcrumb([
|
||||
Html::escapeHTML(dcCore::app()->blog->name) => '',
|
||||
|
@ -175,6 +186,11 @@ class Manage extends dcNsProcess
|
|||
|
||||
private static function displayAliasList(): void
|
||||
{
|
||||
// nullsafe
|
||||
if (is_null(dcCore::app()->blog) || is_null(dcCore::app()->adminurl) || is_null(dcCore::app()->media)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$aliases = Utils::getAliases();
|
||||
|
||||
echo
|
||||
|
|
|
@ -22,6 +22,11 @@ class UrlHandler extends dcUrlHandlers
|
|||
{
|
||||
public static function alias(string $args): void
|
||||
{
|
||||
// nullsafe
|
||||
if (is_null(dcCore::app()->ctx)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$delete = false;
|
||||
|
||||
dcCore::app()->ctx->__set('filealias', Utils::getAlias($args));
|
||||
|
|
|
@ -23,20 +23,26 @@ class Utils
|
|||
{
|
||||
public static function getAliases(): dcRecord
|
||||
{
|
||||
// nullsafe
|
||||
$blog_id = is_null(dcCore::app()->blog) ? '' : dcCore::app()->blog->id;
|
||||
|
||||
return new dcRecord(dcCore::app()->con->select(
|
||||
'SELECT filesalias_url, filesalias_destination, filesalias_password, filesalias_disposable ' .
|
||||
'FROM ' . dcCore::app()->prefix . My::ALIAS_TABLE_NAME . ' ' .
|
||||
"WHERE blog_id = '" . dcCore::app()->con->escapeStr(dcCore::app()->blog->id) . "' " .
|
||||
"WHERE blog_id = '" . dcCore::app()->con->escapeStr($blog_id) . "' " .
|
||||
'ORDER BY filesalias_url ASC '
|
||||
));
|
||||
}
|
||||
|
||||
public static function getAlias(string $url): dcRecord
|
||||
{
|
||||
// nullsafe
|
||||
$blog_id = is_null(dcCore::app()->blog) ? '' : dcCore::app()->blog->id;
|
||||
|
||||
return new dcRecord(dcCore::app()->con->select(
|
||||
'SELECT filesalias_url, filesalias_destination, filesalias_password, filesalias_disposable ' .
|
||||
'FROM ' . dcCore::app()->prefix . My::ALIAS_TABLE_NAME . ' ' .
|
||||
"WHERE blog_id = '" . dcCore::app()->con->escapeStr(dcCore::app()->blog->id) . "' " .
|
||||
"WHERE blog_id = '" . dcCore::app()->con->escapeStr($blog_id) . "' " .
|
||||
"AND filesalias_url = '" . dcCore::app()->con->escapeStr($url) . "' " .
|
||||
'ORDER BY filesalias_url ASC '
|
||||
));
|
||||
|
@ -73,8 +79,11 @@ class Utils
|
|||
throw new Exception(__('File destination is empty.'));
|
||||
}
|
||||
|
||||
// nullsafe
|
||||
$blog_id = is_null(dcCore::app()->blog) ? '' : dcCore::app()->blog->id;
|
||||
|
||||
$cur = dcCore::app()->con->openCursor(dcCore::app()->prefix . My::ALIAS_TABLE_NAME);
|
||||
$cur->setField('blog_id', (string) dcCore::app()->blog->id);
|
||||
$cur->setField('blog_id', $blog_id);
|
||||
$cur->setField('filesalias_url', (string) $url);
|
||||
$cur->setField('filesalias_destination', (string) $destination);
|
||||
$cur->setField('filesalias_password', $password);
|
||||
|
@ -84,23 +93,34 @@ class Utils
|
|||
|
||||
public static function deleteAliases(): void
|
||||
{
|
||||
// nullsafe
|
||||
$blog_id = is_null(dcCore::app()->blog) ? '' : dcCore::app()->blog->id;
|
||||
|
||||
dcCore::app()->con->execute(
|
||||
'DELETE FROM ' . dcCore::app()->prefix . My::ALIAS_TABLE_NAME . ' ' .
|
||||
"WHERE blog_id = '" . dcCore::app()->con->escapeStr(dcCore::app()->blog->id) . "' "
|
||||
"WHERE blog_id = '" . dcCore::app()->con->escapeStr($blog_id) . "' "
|
||||
);
|
||||
}
|
||||
|
||||
public static function deleteAlias(string $url): void
|
||||
{
|
||||
// nullsafe
|
||||
$blog_id = is_null(dcCore::app()->blog) ? '' : dcCore::app()->blog->id;
|
||||
|
||||
dcCore::app()->con->execute(
|
||||
'DELETE FROM ' . dcCore::app()->prefix . My::ALIAS_TABLE_NAME . ' ' .
|
||||
"WHERE blog_id = '" . dcCore::app()->con->escapeStr(dcCore::app()->blog->id) . "' " .
|
||||
"WHERE blog_id = '" . dcCore::app()->con->escapeStr($blog_id) . "' " .
|
||||
"AND filesalias_url = '" . dcCore::app()->con->escapeStr($url) . "' "
|
||||
);
|
||||
}
|
||||
|
||||
public static function getMediaId(string $target): int
|
||||
{
|
||||
// nullsafe
|
||||
if (is_null(dcCore::app()->blog)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
$strReq = 'SELECT media_id ' .
|
||||
'FROM ' . dcCore::app()->prefix . dcMedia::MEDIA_TABLE_NAME . ' ' .
|
||||
"WHERE media_path = '" . dcCore::app()->con->escapeStr((string) dcCore::app()->blog->settings->get('system')->get('public_path')) . "' " .
|
||||
|
|
Loading…
Reference in a new issue