aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
Diffstat (limited to 'admin')
-rw-r--r--admin/include/functions_upgrade.php41
1 files changed, 41 insertions, 0 deletions
diff --git a/admin/include/functions_upgrade.php b/admin/include/functions_upgrade.php
index c8b56740d..4e0bbbb23 100644
--- a/admin/include/functions_upgrade.php
+++ b/admin/include/functions_upgrade.php
@@ -110,6 +110,47 @@ WHERE id IN (\'' . implode('\',\'', $plugins) . '\')
}
}
+// Deactivate all non-standard themes
+function deactivate_non_standard_themes()
+{
+ global $page;
+
+ $standard_themes = array(
+ 'clear',
+ 'Sylvia',
+ 'dark',
+ );
+
+ $query = '
+SELECT
+ id,
+ name
+ FROM '.PREFIX_TABLE.'themes
+ WHERE id NOT IN (\''.implode("','", $standard_themes).'\')
+;';
+ $result = pwg_query($query);
+ $theme_ids = array();
+ $theme_names = array();
+ while ($row = pwg_db_fetch_assoc($result))
+ {
+ array_push($theme_ids, $row['id']);
+ array_push($theme_names, $row['name']);
+ }
+
+ if (!empty($theme_ids))
+ {
+ $query = '
+DELETE
+ FROM '.PREFIX_TABLE.'themes
+ WHERE id IN (\''.implode("','", $theme_ids).'\')
+;';
+ pwg_query($query);
+
+ array_push($page['infos'],
+ l10n('As a precaution, following themes have been deactivated. You must check for themes upgrade before reactiving them:').'<p><i>'.implode(', ', $theme_names).'</i></p>');
+ }
+}
+
// Check access rights
function check_upgrade_access_rights()
{