Release of v5.0.1-alpha2
Fix permission issue for admin views.
This commit is contained in:
@ -40,6 +40,14 @@ abstract class ActiveRegistry implements Activeregistryinterface
|
||||
**/
|
||||
protected bool $addAsArray = false;
|
||||
|
||||
/**
|
||||
* Base switch to keep array values unique
|
||||
*
|
||||
* @var boolean
|
||||
* @since 3.2.2
|
||||
**/
|
||||
protected bool $uniqueArray = false;
|
||||
|
||||
/**
|
||||
* Check if the registry has any content.
|
||||
*
|
||||
@ -157,7 +165,16 @@ abstract class ActiveRegistry implements Activeregistryinterface
|
||||
// Convert to array if it's not already an array
|
||||
$array = [$array];
|
||||
}
|
||||
$array[] = $value;
|
||||
|
||||
if ($this->uniqueArray && in_array($value, $array))
|
||||
{
|
||||
// we do nothing
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
$array[] = $value;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -23,5 +23,20 @@ use VDM\Joomla\Abstraction\Registry;
|
||||
*/
|
||||
final class DatabaseKeys extends Registry implements Registryinterface
|
||||
{
|
||||
/**
|
||||
* Base switch to add values as string or array
|
||||
*
|
||||
* @var boolean
|
||||
* @since 3.2.0
|
||||
**/
|
||||
protected bool $addAsArray = true;
|
||||
|
||||
/**
|
||||
* Base switch to keep array values unique
|
||||
*
|
||||
* @var boolean
|
||||
* @since 3.2.2
|
||||
**/
|
||||
protected bool $uniqueArray = true;
|
||||
}
|
||||
|
||||
|
@ -460,7 +460,7 @@ final class AccessSections
|
||||
}
|
||||
}
|
||||
|
||||
$this->permission ->set(
|
||||
$this->permission->set(
|
||||
$custom_admin_view, $customAdminCode, $customAdminCode,
|
||||
$menuControllers, 'customAdmin'
|
||||
);
|
||||
@ -661,7 +661,8 @@ final class AccessSections
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->permission ->set(
|
||||
|
||||
$this->permission->set(
|
||||
$view, $nameView, $nameViews, $menuControllers
|
||||
);
|
||||
}
|
||||
|
@ -39,7 +39,18 @@ class Permissions
|
||||
|
||||
if (ArrayHelper::check($item->addpermissions))
|
||||
{
|
||||
$item->permissions = array_values($item->addpermissions);
|
||||
if (isset($item->addpermissions["action"]) && is_array($item->addpermissions["action"])
|
||||
&& isset($item->addpermissions["implementation"]) && is_array($item->addpermissions["implementation"]))
|
||||
{
|
||||
foreach ($item->addpermissions["action"] as $k => $action)
|
||||
{
|
||||
$item->permissions[] = ['action' => $action, 'implementation' => $item->addpermissions["implementation"][$k]];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$item->permissions = array_values($item->addpermissions);
|
||||
}
|
||||
}
|
||||
|
||||
unset($item->addpermissions);
|
||||
|
@ -34,7 +34,7 @@ class Mapping
|
||||
protected $buildcompsql;
|
||||
public $id;
|
||||
public $name_code;
|
||||
public array $addadmin_views;
|
||||
public array $addadmin_views = [];
|
||||
public array $addSql = [];
|
||||
public array $source = [];
|
||||
public array $sql = [];
|
||||
|
Reference in New Issue
Block a user