When uninstalling the module, it is deleted in favorites.

This commit is contained in:
Cihan Şentürk 2023-12-08 15:42:12 +03:00 committed by GitHub
parent bd116dcbe9
commit 74c434b0ae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 39 additions and 0 deletions

View File

@ -31,6 +31,7 @@ class FinishUninstallation
$this->deleteWidgets($event->alias);
$this->deleteEmailTemplates($event->alias);
$this->deleteReports($event->alias);
$this->deleteFavorites($event->alias);
}
/**
@ -104,4 +105,42 @@ class FinishUninstallation
}
});
}
/**
* Delete any favorite created by the module.
*
* @param string $alias
* @return void
*/
protected function deleteFavorites($alias)
{
$favorites = setting('favorites.menu', []);
if (empty($favorites)) {
return;
}
try {
foreach ($favorites as $user_id => $user_favorites) {
$user_favorites = json_decode($user_favorites, true);
foreach ($user_favorites as $key => $favorite) {
$route = $favorite['route'];
if (is_array($route)) {
$route = $route[0];
}
if (str_contains($route, $alias)) {
unset($user_favorites[$key]);
}
}
setting()->set('favorites.menu.' . $user_id, json_encode($user_favorites));
setting()->save();
}
} catch (Throwable $e) {
report($e);
}
}
}