add a minversion to the theme and fallback to default if requirement is not met. mark incompatible themes in the theme selector

This commit is contained in:
Mario Vavti
2017-02-26 21:01:20 +01:00
parent e819727b09
commit 8a69a5c3c7
6 changed files with 26 additions and 7 deletions

View File

@@ -130,12 +130,19 @@ class Display {
if($allowed_themes) {
foreach($allowed_themes as $th) {
$f = $th;
$min_version = ((file_exists('view/theme/' . $th . '/.MINVERSION')) ? file_get_contents('view/theme/' . $th . '/.MINVERSION') : 0);
if((version_compare($min_version, STD_VERSION, '>=')) || ($min_version == 0)) {
$mobile_themes[$f] = $themes[$f] = sprintf(t('%s - (Incompatible)'), $f);
continue;
}
$is_experimental = file_exists('view/theme/' . $th . '/experimental');
$unsupported = file_exists('view/theme/' . $th . '/unsupported');
$is_mobile = file_exists('view/theme/' . $th . '/mobile');
$is_library = file_exists('view/theme/'. $th . '/library');
$mobile_themes["---"] = t("No special theme for mobile devices");
$mobile_themes['---'] = t("No special theme for mobile devices");
if (!$is_experimental or ($is_experimental && (get_config('experimentals','exp_themes')==1 or get_config('experimentals','exp_themes')===false))){
$theme_name = (($is_experimental) ? sprintf(t('%s - (Experimental)'), $f) : $f);
if (! $is_library) {
@@ -147,7 +154,6 @@ class Display {
}
}
}
}
}