use named parameters for ActionDescriptor and ValueDescriptor
parent
b033aceed4
commit
20a8544e6a
|
@ -19,35 +19,24 @@ namespace Dotclear\Plugin\Uninstaller;
|
||||||
*/
|
*/
|
||||||
class ActionDescriptor
|
class ActionDescriptor
|
||||||
{
|
{
|
||||||
/** @var string $id The action ID */
|
|
||||||
public readonly string $id;
|
|
||||||
|
|
||||||
/** @var string $ns The namespace (for defined action) */
|
|
||||||
public readonly string $ns;
|
|
||||||
|
|
||||||
/** @var string $query The generic message (used for self::values() management) */
|
|
||||||
public readonly string $select;
|
|
||||||
|
|
||||||
/** @var string $query The query message */
|
|
||||||
public readonly string $query;
|
|
||||||
|
|
||||||
/** @var string $success The succes message */
|
|
||||||
public readonly string $success;
|
|
||||||
|
|
||||||
/** @var string $error The error message */
|
|
||||||
public readonly string $error;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contructor populate descriptor properties.
|
* Contructor populate descriptor properties.
|
||||||
|
*
|
||||||
|
* @param string $id The action ID
|
||||||
|
* @param string $query The query message
|
||||||
|
* @param string $success The succes message
|
||||||
|
* @param string $error The error message
|
||||||
|
* @param string $ns The namespace (for defined action)
|
||||||
|
* @param string $select The generic message (used for self::values() management)
|
||||||
*/
|
*/
|
||||||
public function __construct(array $description)
|
public function __construct(
|
||||||
{
|
public readonly string $id,
|
||||||
$this->id = (string) ($description['id'] ?? 'undefined');
|
public readonly string $query,
|
||||||
$this->ns = (string) ($description['ns'] ?? '');
|
public readonly string $success,
|
||||||
$this->select = (string) ($description['select'] ?? 'undefined');
|
public readonly string $error,
|
||||||
$this->query = (string) ($description['query'] ?? 'undefined');
|
public readonly string $ns = '',
|
||||||
$this->success = (string) ($description['success'] ?? 'undefined');
|
public readonly string $select = ''
|
||||||
$this->error = (string) ($description['error'] ?? 'undefined');
|
) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -24,7 +24,7 @@ use Dotclear\Plugin\Uninstaller\{
|
||||||
/**
|
/**
|
||||||
* Cleaner for Dotclear cache directory used by modules.
|
* Cleaner for Dotclear cache directory used by modules.
|
||||||
*
|
*
|
||||||
* It allows modules to delete an entire sub folder
|
* It allows modules to delete an entire sub folder
|
||||||
* of DC_TPL_CACHE directory path.
|
* of DC_TPL_CACHE directory path.
|
||||||
*/
|
*/
|
||||||
class Caches extends AbstractCleaner
|
class Caches extends AbstractCleaner
|
||||||
|
@ -44,21 +44,21 @@ class Caches extends AbstractCleaner
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
// delete a $ns folder and thier files.
|
// delete a $ns folder and thier files.
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete',
|
id: 'delete',
|
||||||
'select' => __('delete selected cache directories'),
|
select: __('delete selected cache directories'),
|
||||||
'query' => __('delete "%s" cache directory'),
|
query: __('delete "%s" cache directory'),
|
||||||
'success' => __('"%s" cache directory deleted'),
|
success: __('"%s" cache directory deleted'),
|
||||||
'error' => __('Failed to delete "%s" cache directory'),
|
error: __('Failed to delete "%s" cache directory')
|
||||||
]),
|
),
|
||||||
// delete $ns folder files but keep folder
|
// delete $ns folder files but keep folder
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'empty',
|
id: 'empty',
|
||||||
'select' => __('empty selected cache directories'),
|
select: __('empty selected cache directories'),
|
||||||
'query' => __('empty "%s" cache directory'),
|
query: __('empty "%s" cache directory'),
|
||||||
'success' => __('"%s" cache directory emptied'),
|
success: __('"%s" cache directory emptied'),
|
||||||
'error' => __('Failed to empty "%s" cache directory'),
|
error: __('Failed to empty "%s" cache directory')
|
||||||
]),
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ class Caches extends AbstractCleaner
|
||||||
'cbfeed',
|
'cbfeed',
|
||||||
'cbtpl',
|
'cbtpl',
|
||||||
'dcrepo',
|
'dcrepo',
|
||||||
'versions'
|
'versions',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,9 +77,8 @@ class Caches extends AbstractCleaner
|
||||||
$res = [];
|
$res = [];
|
||||||
foreach (self::getDirs(DC_TPL_CACHE) as $dir) {
|
foreach (self::getDirs(DC_TPL_CACHE) as $dir) {
|
||||||
$res[] = new ValueDescriptor(
|
$res[] = new ValueDescriptor(
|
||||||
$dir['key'],
|
ns: $dir['key'],
|
||||||
'',
|
count: (int) $dir['value']
|
||||||
(int) $dir['value']
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,13 +47,13 @@ class Logs extends AbstractCleaner
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
// delete all $ns log_table entries
|
// delete all $ns log_table entries
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete_all',
|
id: 'delete_all',
|
||||||
'select' => __('delete selected logs tables'),
|
select: __('delete selected logs tables'),
|
||||||
'query' => __('delete "%s" logs table'),
|
query: __('delete "%s" logs table'),
|
||||||
'success' => __('"%s" logs table deleted'),
|
success: __('"%s" logs table deleted'),
|
||||||
'error' => __('Failed to delete "%s" logs table'),
|
error: __('Failed to delete "%s" logs table')
|
||||||
]),
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,9 +84,8 @@ class Logs extends AbstractCleaner
|
||||||
$res = [];
|
$res = [];
|
||||||
while ($rs->fetch()) {
|
while ($rs->fetch()) {
|
||||||
$res[] = new ValueDescriptor(
|
$res[] = new ValueDescriptor(
|
||||||
$rs->f('log_table'),
|
ns: (string) $rs->f('log_table'),
|
||||||
'',
|
count: (int) $rs->f('counter')
|
||||||
(int) $rs->f('counter')
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,13 +43,13 @@ class Plugins extends AbstractCleaner
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
// delete $ns plugin folder
|
// delete $ns plugin folder
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete',
|
id: 'delete',
|
||||||
'select' => __('delete selected plugins files and directories'),
|
select: __('delete selected plugins files and directories'),
|
||||||
'query' => __('delete "%s" plugin files and directories'),
|
query: __('delete "%s" plugin files and directories'),
|
||||||
'success' => __('"%s" plugin files and directories deleted'),
|
success: __('"%s" plugin files and directories deleted'),
|
||||||
'error' => __('Failed to delete "%s" plugin files and directories'),
|
error: __('Failed to delete "%s" plugin files and directories')
|
||||||
]),
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,9 +66,8 @@ class Plugins extends AbstractCleaner
|
||||||
$res = [];
|
$res = [];
|
||||||
foreach ($dirs as $dir) {
|
foreach ($dirs as $dir) {
|
||||||
$res[] = new ValueDescriptor(
|
$res[] = new ValueDescriptor(
|
||||||
$dir['key'],
|
ns: $dir['key'],
|
||||||
'',
|
count: (int) $dir['value']
|
||||||
(int) $dir['value']
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,36 +47,36 @@ class Preferences extends AbstractCleaner
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
// delete global $ns preferences workspace
|
// delete global $ns preferences workspace
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete_global',
|
id: 'delete_global',
|
||||||
'select' => __('delete selected global preferences workspaces'),
|
select: __('delete selected global preferences workspaces'),
|
||||||
'query' => __('delete "%s" global preferences workspace'),
|
query: __('delete "%s" global preferences workspace'),
|
||||||
'success' => __('"%s" global preferences workspace deleted'),
|
success: __('"%s" global preferences workspace deleted'),
|
||||||
'error' => __('Failed to delete "%s" global preferences workspace'),
|
error: __('Failed to delete "%s" global preferences workspace')
|
||||||
]),
|
),
|
||||||
// delete users $ns preferences workspace
|
// delete users $ns preferences workspace
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete_local',
|
id: 'delete_local',
|
||||||
'select' => __('delete selected users preferences workspaces'),
|
select: __('delete selected users preferences workspaces'),
|
||||||
'query' => __('delete "%s" users preferences workspace'),
|
query: __('delete "%s" users preferences workspace'),
|
||||||
'success' => __('"%s" users preferences workspace deleted'),
|
success: __('"%s" users preferences workspace deleted'),
|
||||||
'error' => __('Failed to delete "%s" users preferences workspace'),
|
error: __('Failed to delete "%s" users preferences workspace')
|
||||||
]),
|
),
|
||||||
// delete user and global $ns preferences workspace
|
// delete user and global $ns preferences workspace
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete_all',
|
id: 'delete_all',
|
||||||
'select' => __('delete selected preferences workspaces'),
|
select: __('delete selected preferences workspaces'),
|
||||||
'query' => __('delete "%s" preferences workspace'),
|
query: __('delete "%s" preferences workspace'),
|
||||||
'success' => __('"%s" preferences workspace deleted'),
|
success: __('"%s" preferences workspace deleted'),
|
||||||
'error' => __('Failed to delete "%s" preferences workspace'),
|
error: __('Failed to delete "%s" preferences workspace')
|
||||||
]),
|
),
|
||||||
// delete users and globals specific $ws:$id settings using 'pref_ws:pref_id;pref_ws:pref_id;' as $ns
|
// delete users and globals specific $ws:$id settings using 'pref_ws:pref_id;pref_ws:pref_id;' as $ns
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete_related',
|
id: 'delete_related',
|
||||||
'query' => __('delete related preferences'),
|
query: __('delete related preferences'),
|
||||||
'success' => __('related preferences deleted'),
|
success: __('related preferences deleted'),
|
||||||
'error' => __('Failed to delete related preferences'),
|
error: __('Failed to delete related preferences')
|
||||||
]),
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -112,9 +112,8 @@ class Preferences extends AbstractCleaner
|
||||||
$res = [];
|
$res = [];
|
||||||
while ($rs->fetch()) {
|
while ($rs->fetch()) {
|
||||||
$res[] = new ValueDescriptor(
|
$res[] = new ValueDescriptor(
|
||||||
$rs->f('pref_ws'),
|
ns: (string) $rs->f('pref_ws'),
|
||||||
'',
|
count: (int) $rs->f('counter')
|
||||||
(int) $rs->f('counter')
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,9 +140,8 @@ class Preferences extends AbstractCleaner
|
||||||
$res = [];
|
$res = [];
|
||||||
while ($rs->fetch()) {
|
while ($rs->fetch()) {
|
||||||
$res[] = new ValueDescriptor(
|
$res[] = new ValueDescriptor(
|
||||||
$ns,
|
id: (string) $rs->f('pref_id'),
|
||||||
$rs->f('pref_id'),
|
count: (int) $rs->f('counter')
|
||||||
(int) $rs->f('counter')
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,36 +47,36 @@ class Settings extends AbstractCleaner
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
// delete global $ns settings namespace
|
// delete global $ns settings namespace
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete_global',
|
id: 'delete_global',
|
||||||
'select' => __('delete selected global settings namespaces'),
|
select: __('delete selected global settings namespaces'),
|
||||||
'query' => __('delete "%s" global settings namespace'),
|
query: __('delete "%s" global settings namespace'),
|
||||||
'success' => __('"%s" global settings namespace deleted'),
|
success: __('"%s" global settings namespace deleted'),
|
||||||
'error' => __('Failed to delete "%s" global settings namespace'),
|
error: __('Failed to delete "%s" global settings namespace')
|
||||||
]),
|
),
|
||||||
// delete blogs $ns settings namespace
|
// delete blogs $ns settings namespace
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete_local',
|
id: 'delete_local',
|
||||||
'select' => __('delete selected blog settings namespaces'),
|
select: __('delete selected blog settings namespaces'),
|
||||||
'query' => __('delete "%s" blog settings namespace'),
|
query: __('delete "%s" blog settings namespace'),
|
||||||
'success' => __('"%s" blog settings namespace deleted'),
|
success: __('"%s" blog settings namespace deleted'),
|
||||||
'error' => __('Failed to delete "%s" blog settings namespace'),
|
error: __('Failed to delete "%s" blog settings namespace')
|
||||||
]),
|
),
|
||||||
// delete blogs and global settings namespace
|
// delete blogs and global settings namespace
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete_all',
|
id: 'delete_all',
|
||||||
'select' => __('delete selected settings namespaces'),
|
select: __('delete selected settings namespaces'),
|
||||||
'query' => __('delete "%s" settings namespace'),
|
query: __('delete "%s" settings namespace'),
|
||||||
'success' => __('"%s" settings namespace deleted'),
|
success: __('"%s" settings namespace deleted'),
|
||||||
'error' => __('Failed to delete "%s" settings namespace'),
|
error: __('Failed to delete "%s" settings namespace')
|
||||||
]),
|
),
|
||||||
// delete blogs and globals specific $ns:$id settings using 'setting_ns:setting_id;setting_ns:setting_id;' as $ns
|
// delete blogs and globals specific $ns:$id settings using 'setting_ns:setting_id;setting_ns:setting_id;' as $ns
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete_related',
|
id: 'delete_related',
|
||||||
'query' => __('delete related settings'),
|
query: __('delete related settings'),
|
||||||
'success' => __('related settings deleted'),
|
success: __('related settings deleted'),
|
||||||
'error' => __('Failed to delete related settings'),
|
error: __('Failed to delete related settings')
|
||||||
]),
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,9 +116,8 @@ class Settings extends AbstractCleaner
|
||||||
$res = [];
|
$res = [];
|
||||||
while ($rs->fetch()) {
|
while ($rs->fetch()) {
|
||||||
$res[] = new ValueDescriptor(
|
$res[] = new ValueDescriptor(
|
||||||
$rs->f('setting_ns'),
|
ns: (string) $rs->f('setting_ns'),
|
||||||
'',
|
count: (int) $rs->f('counter')
|
||||||
(int) $rs->f('counter')
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,9 +144,8 @@ class Settings extends AbstractCleaner
|
||||||
$res = [];
|
$res = [];
|
||||||
while ($rs->fetch()) {
|
while ($rs->fetch()) {
|
||||||
$res[] = new ValueDescriptor(
|
$res[] = new ValueDescriptor(
|
||||||
$ns,
|
id: (string) $rs->f('setting_id'),
|
||||||
$rs->f('setting_id'),
|
count: (int) $rs->f('counter')
|
||||||
(int) $rs->f('counter')
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,21 +50,21 @@ class Tables extends AbstractCleaner
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
// delete $ns database table
|
// delete $ns database table
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete',
|
id: 'delete',
|
||||||
'select' => __('delete selected tables'),
|
select: __('delete selected tables'),
|
||||||
'query' => __('delete "%s" table'),
|
query: __('delete "%s" table'),
|
||||||
'success' => __('"%s" table deleted'),
|
success: __('"%s" table deleted'),
|
||||||
'error' => __('Failed to delete "%s" table'),
|
error: __('Failed to delete "%s" table')
|
||||||
]),
|
),
|
||||||
// truncate (empty) $ns database table
|
// truncate (empty) $ns database table
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'empty',
|
id: 'empty',
|
||||||
'select' => __('empty selected tables'),
|
select: __('empty selected tables'),
|
||||||
'query' => __('empty "%s" table'),
|
query: __('empty "%s" table'),
|
||||||
'success' => __('"%s" table emptied'),
|
success: __('"%s" table emptied'),
|
||||||
'error' => __('Failed to empty "%s" table'),
|
error: __('Failed to empty "%s" table')
|
||||||
]),
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,9 +109,8 @@ class Tables extends AbstractCleaner
|
||||||
$sql = new SelectStatement();
|
$sql = new SelectStatement();
|
||||||
|
|
||||||
$res[] = new ValueDescriptor(
|
$res[] = new ValueDescriptor(
|
||||||
$v,
|
ns: (string) $v,
|
||||||
'',
|
count: (int) $sql->from($tables[$k])->fields([$sql->count('*')])->select()?->f(0)
|
||||||
(int) $sql->from($tables[$k])->fields([$sql->count('*')])->select()?->f(0)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,13 +44,13 @@ class Themes extends AbstractCleaner
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
// delete $ns theme folder
|
// delete $ns theme folder
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete',
|
id: 'delete',
|
||||||
'select' => __('delete selected themes files and directories'),
|
select: __('delete selected themes files and directories'),
|
||||||
'query' => __('delete "%s" theme files and directories'),
|
query: __('delete "%s" theme files and directories'),
|
||||||
'success' => __('"%s" theme files and directories deleted'),
|
success: __('"%s" theme files and directories deleted'),
|
||||||
'error' => __('Failed to delete "%s" theme files and directories'),
|
error: __('Failed to delete "%s" theme files and directories')
|
||||||
]),
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,9 +71,8 @@ class Themes extends AbstractCleaner
|
||||||
$res = [];
|
$res = [];
|
||||||
foreach ($dirs as $dir) {
|
foreach ($dirs as $dir) {
|
||||||
$res[] = new ValueDescriptor(
|
$res[] = new ValueDescriptor(
|
||||||
$dir['key'],
|
ns: $dir['key'],
|
||||||
'',
|
count: (int) $dir['value']
|
||||||
(int) $dir['value']
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ use Dotclear\Plugin\Uninstaller\{
|
||||||
/**
|
/**
|
||||||
* Cleaner for Dotclear VAR directory used by modules.
|
* Cleaner for Dotclear VAR directory used by modules.
|
||||||
*
|
*
|
||||||
* It allows modules to delete an entire sub folder
|
* It allows modules to delete an entire sub folder
|
||||||
* of DC_VAR directory path.
|
* of DC_VAR directory path.
|
||||||
*/
|
*/
|
||||||
class Vars extends AbstractCleaner
|
class Vars extends AbstractCleaner
|
||||||
|
@ -44,13 +44,13 @@ class Vars extends AbstractCleaner
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
// delete a $ns folder and their files
|
// delete a $ns folder and their files
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete',
|
id: 'delete',
|
||||||
'select' => __('delete selected var directories'),
|
select: __('delete selected var directories'),
|
||||||
'query' => __('delete "%s" var directory'),
|
query: __('delete "%s" var directory'),
|
||||||
'success' => __('"%s" var directory deleted'),
|
success: __('"%s" var directory deleted'),
|
||||||
'error' => __('Failed to delete "%s" var directory'),
|
error: __('Failed to delete "%s" var directory')
|
||||||
]),
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,9 +64,8 @@ class Vars extends AbstractCleaner
|
||||||
$res = [];
|
$res = [];
|
||||||
foreach (self::getDirs(DC_VAR) as $dir) {
|
foreach (self::getDirs(DC_VAR) as $dir) {
|
||||||
$res[] = new ValueDescriptor(
|
$res[] = new ValueDescriptor(
|
||||||
$dir['key'],
|
ns: $dir['key'],
|
||||||
'',
|
count: (int) $dir['value']
|
||||||
(int) $dir['value']
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ use Dotclear\Plugin\Uninstaller\{
|
||||||
/**
|
/**
|
||||||
* Cleaner for Dotclear modules versions.
|
* Cleaner for Dotclear modules versions.
|
||||||
*
|
*
|
||||||
* It allows modules to delete their versions
|
* It allows modules to delete their versions
|
||||||
* from Dotclear dcCore::VERSION_TABLE_NAME database table.
|
* from Dotclear dcCore::VERSION_TABLE_NAME database table.
|
||||||
*/
|
*/
|
||||||
class Versions extends AbstractCleaner
|
class Versions extends AbstractCleaner
|
||||||
|
@ -43,13 +43,13 @@ class Versions extends AbstractCleaner
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
// delete $ns version
|
// delete $ns version
|
||||||
new ActionDescriptor([
|
new ActionDescriptor(
|
||||||
'id' => 'delete',
|
id: 'delete',
|
||||||
'select' => __('delete selected versions numbers'),
|
select: __('delete selected versions numbers'),
|
||||||
'query' => __('delete "%s" version number'),
|
query: __('delete "%s" version number'),
|
||||||
'success' => __('"%s" version number deleted'),
|
success: __('"%s" version number deleted'),
|
||||||
'error' => __('Failed to delete "%s" version number'),
|
error: __('Failed to delete "%s" version number')
|
||||||
]),
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,9 +85,9 @@ class Versions extends AbstractCleaner
|
||||||
$res = [];
|
$res = [];
|
||||||
while ($rs->fetch()) {
|
while ($rs->fetch()) {
|
||||||
$res[] = new ValueDescriptor(
|
$res[] = new ValueDescriptor(
|
||||||
$rs->f('module'),
|
ns: (string) $rs->f('module'),
|
||||||
$rs->f('version'),
|
id: (string) $rs->f('version'),
|
||||||
1
|
count: 1
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -257,13 +257,13 @@ class Uninstaller
|
||||||
}
|
}
|
||||||
|
|
||||||
// fill action properties
|
// fill action properties
|
||||||
$this->actions[$group][$this->module->getId()][$cleaner][] = new ActionDescriptor([
|
$this->actions[$group][$this->module->getId()][$cleaner][] = new ActionDescriptor(
|
||||||
'id' => $action,
|
id: $action,
|
||||||
'ns' => $ns,
|
ns: $ns,
|
||||||
'select' => $this->cleaners->get($cleaner)->actions[$action]->select,
|
select: $this->cleaners->get($cleaner)->actions[$action]->select,
|
||||||
'query' => sprintf($this->cleaners->get($cleaner)->actions[$action]->query, $ns),
|
query: sprintf($this->cleaners->get($cleaner)->actions[$action]->query, $ns),
|
||||||
'success' => sprintf($this->cleaners->get($cleaner)->actions[$action]->success, $ns),
|
success: sprintf($this->cleaners->get($cleaner)->actions[$action]->success, $ns),
|
||||||
'error' => sprintf($this->cleaners->get($cleaner)->actions[$action]->error, $ns),
|
error: sprintf($this->cleaners->get($cleaner)->actions[$action]->error, $ns),
|
||||||
]);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,9 +30,9 @@ class ValueDescriptor
|
||||||
* @param int $count The count of ID on the namespace
|
* @param int $count The count of ID on the namespace
|
||||||
*/
|
*/
|
||||||
public function __construct(
|
public function __construct(
|
||||||
public readonly string $ns,
|
public readonly string $ns = '',
|
||||||
public readonly string $id,
|
public readonly string $id = '',
|
||||||
public readonly int $count,
|
public readonly int $count = 0,
|
||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue