Fix warnings in PHP 8.x if skin XML file doesn't contain much information

This commit is contained in:
Kijin Sung 2023-10-05 15:31:15 +09:00
parent 0be8f6a441
commit 82b8785c14

View file

@ -1102,27 +1102,30 @@ class ModuleModel extends Module
{
// skin format v0.1
$date_obj = (object)array('y' => 0, 'm' => 0, 'd' => 0);
sscanf($xml_obj->maker->attrs->date, '%d-%d-%d', $date_obj->y, $date_obj->m, $date_obj->d);
if (isset($xml_obj->maker->attrs->date))
{
sscanf($xml_obj->maker->attrs->date, '%d-%d-%d', $date_obj->y, $date_obj->m, $date_obj->d);
}
$skin_info->version = $xml_obj->version->body;
$skin_info->version = $xml_obj->version->body ?? null;
$skin_info->date = sprintf('%04d%02d%02d', $date_obj->y, $date_obj->m, $date_obj->d);
$skin_info->homepage = $xml_obj->link->body;
$skin_info->license = $xml_obj->license->body;
$skin_info->license_link = $xml_obj->license->attrs->link;
$skin_info->description = $xml_obj->maker->description->body;
$skin_info->homepage = $xml_obj->link->body ?? null;
$skin_info->license = $xml_obj->license->body ?? null;
$skin_info->license_link = $xml_obj->license->attrs->link ?? null;
$skin_info->description = $xml_obj->maker->description->body ?? null;
$skin_info->author[0] = new stdClass();
$skin_info->author[0]->name = $xml_obj->maker->name->body;
$skin_info->author[0]->email_address = $xml_obj->maker->attrs->email_address;
$skin_info->author[0]->homepage = $xml_obj->maker->attrs->link;
$skin_info->author[0]->name = $xml_obj->maker->name->body ?? null;
$skin_info->author[0]->email_address = $xml_obj->maker->attrs->email_address ?? null;
$skin_info->author[0]->homepage = $xml_obj->maker->attrs->link ?? null;
// Variables used in the skin
$extra_var_groups = $xml_obj->extra_vars->group;
if(!$extra_var_groups) $extra_var_groups = $xml_obj->extra_vars;
$extra_var_groups = $xml_obj->extra_vars->group ?? null;
if(!$extra_var_groups) $extra_var_groups = $xml_obj->extra_vars ?? null;
if(!is_array($extra_var_groups)) $extra_var_groups = array($extra_var_groups);
foreach($extra_var_groups as $group)
{
$extra_vars = $group->var;
$extra_vars = $group->var ?? null;
if($extra_vars)
{