diff options
author | ArthurHoaro <arthur@hoa.ro> | 2017-01-03 12:01:25 +0100 |
---|---|---|
committer | ArthurHoaro <arthur@hoa.ro> | 2017-01-05 16:16:27 +0100 |
commit | 04a0e8ea34c241fdf6bd30b11f5242656f9cd1c2 (patch) | |
tree | 20c99e86f3fc862f90d3d7475f4a49b89557a7d4 /application/Updater.php | |
parent | a0df06517bada0f811b464017ce385290e02c2bf (diff) | |
download | Shaarli-04a0e8ea34c241fdf6bd30b11f5242656f9cd1c2.tar.gz Shaarli-04a0e8ea34c241fdf6bd30b11f5242656f9cd1c2.tar.zst Shaarli-04a0e8ea34c241fdf6bd30b11f5242656f9cd1c2.zip |
Updater: keep custom theme preference with the new theme setting
Diffstat (limited to 'application/Updater.php')
-rw-r--r-- | application/Updater.php | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/application/Updater.php b/application/Updater.php index 38de3350..621c7238 100644 --- a/application/Updater.php +++ b/application/Updater.php | |||
@@ -279,6 +279,35 @@ class Updater | |||
279 | $this->conf->write($this->isLoggedIn); | 279 | $this->conf->write($this->isLoggedIn); |
280 | return true; | 280 | return true; |
281 | } | 281 | } |
282 | |||
283 | /** | ||
284 | * New setting: theme name. If the default theme is used, nothing to do. | ||
285 | * | ||
286 | * If the user uses a custom theme, raintpl_tpl dir is updated to the parent directory, | ||
287 | * and the current theme is set as default in the theme setting. | ||
288 | * | ||
289 | * @return bool true if the update is successful, false otherwise. | ||
290 | */ | ||
291 | public function updateMethodDefaultTheme() | ||
292 | { | ||
293 | // raintpl_tpl isn't the root template directory anymore. | ||
294 | // We run the update only if this folder still contains the template files. | ||
295 | $tplDir = $this->conf->get('resource.raintpl_tpl'); | ||
296 | $tplFile = $tplDir . '/linklist.html'; | ||
297 | if (! file_exists($tplFile)) { | ||
298 | return true; | ||
299 | } | ||
300 | |||
301 | $parent = dirname($tplDir); | ||
302 | $this->conf->set('resource.raintpl_tpl', $parent); | ||
303 | $this->conf->set('resource.theme', trim(str_replace($parent, '', $tplDir), '/')); | ||
304 | $this->conf->write($this->isLoggedIn); | ||
305 | |||
306 | // Dependency injection gore | ||
307 | RainTPL::$tpl_dir = $tplDir; | ||
308 | |||
309 | return true; | ||
310 | } | ||
282 | } | 311 | } |
283 | 312 | ||
284 | /** | 313 | /** |