mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-07-05 17:32:25 +02:00
feature 1514: make the "deactivate" action inactive if there is no active
theme left. bug fixed: when setting the default theme, make sure at least one user will be updated. git-svn-id: http://piwigo.org/svn/trunk@5382 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
@@ -117,6 +117,16 @@ INSERT INTO ".THEMES_TABLE."
|
||||
break;
|
||||
}
|
||||
|
||||
// you can't deactivate the last theme
|
||||
if (count($this->db_themes_by_id) <= 1)
|
||||
{
|
||||
array_push(
|
||||
$errors,
|
||||
l10n('Impossible to deactivate this theme, you need at least one theme.')
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
if ($theme_id == get_default_theme())
|
||||
{
|
||||
// find a random theme to replace
|
||||
@@ -227,6 +237,8 @@ DELETE
|
||||
|
||||
function set_default_theme($theme_id)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
// first we need to know which users are using the current default theme
|
||||
$default_theme = get_default_theme();
|
||||
|
||||
@@ -236,7 +248,12 @@ SELECT
|
||||
FROM '.USER_INFOS_TABLE.'
|
||||
WHERE theme = "'.$default_theme.'"
|
||||
;';
|
||||
$user_ids = array_from_query($query, 'user_id');
|
||||
$user_ids = array_unique(
|
||||
array_merge(
|
||||
array_from_query($query, 'user_id'),
|
||||
array($conf['guest_id'], $conf['default_user_id'])
|
||||
)
|
||||
);
|
||||
|
||||
// $user_ids can't be empty, at least the default user has the default
|
||||
// theme
|
||||
|
||||
Reference in New Issue
Block a user